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 @@ - -
- - - -- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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