You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
975 lines
49 KiB
975 lines
49 KiB
"Asm.fif" include |
|
"Asm.fif" include |
|
// automatically generated from `contracts/dns-auto-code.fc` incl:`contracts/imports/stdlib.fc` |
|
PROGRAM{ |
|
DECLPROC load_data |
|
DECLPROC load_prices |
|
DECLPROC store_data |
|
DECLPROC send_message |
|
DECLPROC send_error |
|
DECLPROC send_ok |
|
DECLPROC housekeeping |
|
DECLPROC calcprice_internal |
|
DECLPROC check_owner |
|
DECLPROC perform_ctl_op |
|
DECLPROC recv_internal |
|
DECLPROC recv_external |
|
DECLPROC dnsdictlookup |
|
123660 DECLMETHOD dnsresolve |
|
87450 DECLMETHOD getexpirationx |
|
110574 DECLMETHOD getexpiration |
|
67418 DECLMETHOD getstdperiod |
|
109522 DECLMETHOD getppr |
|
108994 DECLMETHOD getppc |
|
113123 DECLMETHOD getppb |
|
113304 DECLMETHOD calcprice |
|
85700 DECLMETHOD calcregprice |
|
DECLGLOBVAR query_info |
|
load_data PROCREF:<{ |
|
// |
|
c4 PUSH // _1 |
|
CTOS // cs |
|
LDREF // _3 cs |
|
LDDICT // _3 _5 cs |
|
LDDICT // _3 _5 _7 cs |
|
30 LDU // _3 _5 _7 _10 cs |
|
LDGRAMS // _3 _5 _7 _10 _13 cs |
|
LDGRAMS // _3 _5 _7 _10 _13 _15 cs |
|
LDGRAMS // _3 _5 _7 _10 _13 _15 _17 cs |
|
4 -ROLL // _3 _5 _7 cs _10 _13 _15 _17 |
|
4 TUPLE // _3 _5 _7 cs _9 |
|
SWAP // _3 _5 _7 _9 cs |
|
32 LDU // _3 _5 _7 _9 _19 cs |
|
32 LDU // _3 _5 _7 _9 _19 _42 _41 |
|
DROP // _3 _5 _7 _9 _19 _22 |
|
}> |
|
load_prices PROCREF:<{ |
|
// |
|
c4 PUSH // _1 |
|
CTOS // cs |
|
LDREF // _19 _18 |
|
NIP // cs |
|
LDDICT // _21 _20 |
|
NIP // cs |
|
LDDICT // _23 _22 |
|
NIP // cs |
|
30 LDU // _9 cs |
|
LDGRAMS // _9 _12 cs |
|
LDGRAMS // _9 _12 _14 cs |
|
LDGRAMS // _9 _12 _14 _31 _30 |
|
DROP // _9 _12 _14 _16 |
|
}> |
|
store_data PROC:<{ |
|
// ctl dd gc prices nhk lhk |
|
s0 s2 XCHG // ctl dd gc lhk nhk prices |
|
4 UNTUPLE // ctl dd gc lhk nhk sp ppr ppc ppb |
|
s0 s8 XCHG |
|
NEWC // ppb dd gc lhk nhk sp ppr ppc ctl _11 |
|
STREF // ppb dd gc lhk nhk sp ppr ppc _12 |
|
s1 s7 XCHG // ppb ppc gc lhk nhk sp ppr dd _12 |
|
STDICT // ppb ppc gc lhk nhk sp ppr _13 |
|
s1 s5 XCHG // ppb ppc ppr lhk nhk sp gc _13 |
|
STDICT // ppb ppc ppr lhk nhk sp _14 |
|
30 STU // ppb ppc ppr lhk nhk _16 |
|
s0 s3 XCHG2 // ppb ppc nhk lhk _16 ppr |
|
STGRAMS // ppb ppc nhk lhk _17 |
|
s0 s3 XCHG2 // ppb lhk nhk _17 ppc |
|
STGRAMS // ppb lhk nhk _18 |
|
s0 s3 XCHG2 // nhk lhk _18 ppb |
|
STGRAMS // nhk lhk _19 |
|
s1 s2 XCHG // lhk nhk _19 |
|
32 STU // lhk _21 |
|
32 STU // _23 |
|
ENDC // _24 |
|
c4 POP |
|
}> |
|
send_message PROC:<{ |
|
// addr tag query_id body grams mode |
|
0 PUSHINT // addr tag query_id body grams mode _7=0 |
|
24 PUSHINT // addr tag query_id body grams mode _7=0 _8=24 |
|
NEWC // addr tag query_id body grams mode _7=0 _8=24 _9 |
|
6 STU // addr tag query_id body grams mode _7=0 _11 |
|
s0 s7 XCHG2 // _7=0 tag query_id body grams mode _11 addr |
|
STSLICER // _7=0 tag query_id body grams mode _12 |
|
ROT // _7=0 tag query_id body mode _12 grams |
|
STGRAMS // _7=0 tag query_id body mode _13 |
|
s1 s5 XCHG // mode tag query_id body _7=0 _13 |
|
107 STU // mode tag query_id body _27 |
|
s1 s3 XCHG // mode body query_id tag _27 |
|
32 STU // mode body query_id _29 |
|
64 STU // mode body msg |
|
OVER // mode body msg body |
|
-1 GTINT // mode body msg _33 |
|
IF:<{ // mode body msg |
|
32 STU // mode msg |
|
}>ELSE<{ |
|
NIP // mode msg |
|
}> |
|
ENDC // mode _37 |
|
SWAP // _37 mode |
|
SENDRAWMSG |
|
}> |
|
send_error PROC:<{ |
|
// error_code |
|
query_info GETGLOB |
|
UNTRIPLE // error_code addr query_id op |
|
s2 s3 XCHG |
|
0 PUSHINT |
|
64 PUSHINT // addr error_code query_id op _5=0 _6=64 |
|
send_message CALLDICT |
|
}> |
|
send_ok PROC:<{ |
|
// price |
|
4 PUSHINT // price _1=4 |
|
RAWRESERVE |
|
query_info GETGLOB |
|
UNTRIPLE // addr query_id op |
|
4016791929 PUSHINT // addr query_id op _7=4016791929 |
|
-ROT |
|
0 PUSHINT |
|
7 PUSHPOW2 // addr _7=4016791929 query_id op _8=0 _9=128 |
|
send_message CALLDICT |
|
}> |
|
housekeeping PROC:<{ |
|
// ctl dd gc prices nhk lhk max_steps |
|
NOW // ctl dd gc prices nhk lhk max_steps n |
|
s2 PUSH // ctl dd gc prices nhk lhk max_steps n lhk |
|
60 ADDCONST // ctl dd gc prices nhk lhk max_steps n _10 |
|
s4 s(-1) PUXC // ctl dd gc prices nhk lhk max_steps n nhk _10 |
|
MAX // ctl dd gc prices nhk lhk max_steps n _11 |
|
s1 s(-1) PUXC // ctl dd gc prices nhk lhk max_steps n n _11 |
|
LESS // ctl dd gc prices nhk lhk max_steps n _12 |
|
IFJMP:<{ // ctl dd gc prices nhk lhk max_steps n |
|
2DROP // ctl dd gc prices nhk lhk |
|
store_data CALLDICT |
|
}> // ctl dd gc prices nhk lhk max_steps n |
|
s2 POP // ctl dd gc prices nhk n max_steps |
|
s4 PUSH |
|
8 PUSHPOW2 // ctl dd gc prices nhk n max_steps gc _17=256 |
|
DICTUMIN |
|
NULLSWAPIFNOT2 // ctl dd gc prices nhk n max_steps _63 _62 _64 |
|
s2 POP // ctl dd gc prices nhk n max_steps found? mkey |
|
WHILE:<{ |
|
s1 s2 XCPU // ctl dd gc prices nhk n max_steps mkey found? max_steps |
|
AND // ctl dd gc prices nhk n max_steps mkey _19 |
|
}>DO<{ // ctl dd gc prices nhk n max_steps mkey |
|
s3 POP // ctl dd gc prices mkey n max_steps |
|
s2 PUSH // ctl dd gc prices mkey n max_steps mkey |
|
224 RSHIFT# // ctl dd gc prices mkey n max_steps nhk |
|
s0 s2 PUSH2 // ctl dd gc prices mkey n max_steps nhk nhk n |
|
LESS // ctl dd gc prices mkey n max_steps nhk _24 |
|
IF:<{ // ctl dd gc prices mkey n max_steps nhk |
|
DROP // ctl dd gc prices mkey n max_steps |
|
s2 PUSH // ctl dd gc prices mkey n max_steps mkey |
|
224 MODPOW2# // ctl dd gc prices mkey n max_steps key |
|
s0 s6 PUSH2 |
|
224 PUSHINT // ctl dd gc prices mkey n max_steps key key dd _35 |
|
DICTUGET |
|
NULLSWAPIFNOT // ctl dd gc prices mkey n max_steps key val found? |
|
IF:<{ // ctl dd gc prices mkey n max_steps key val |
|
32 PLDU // ctl dd gc prices mkey n max_steps key exp |
|
s3 PUSH // ctl dd gc prices mkey n max_steps key exp n |
|
LEQ // ctl dd gc prices mkey n max_steps key _40 |
|
IF:<{ // ctl dd gc prices mkey n max_steps key |
|
s0 s6 XCHG2 |
|
224 PUSHINT // ctl max_steps gc prices mkey n key dd _44 |
|
DICTUDEL // ctl max_steps gc prices mkey n _67 _68 |
|
DROP // ctl max_steps gc prices mkey n dd |
|
s0 s5 XCHG // ctl dd gc prices mkey n max_steps |
|
}>ELSE<{ |
|
DROP // ctl dd gc prices mkey n max_steps |
|
}> |
|
}>ELSE<{ |
|
2DROP // ctl dd gc prices mkey n max_steps |
|
}> |
|
s2 s4 XCHG2 |
|
8 PUSHPOW2 // ctl dd max_steps prices n mkey gc _47=256 |
|
DICTUDEL // ctl dd max_steps prices n _69 _70 |
|
DROP // ctl dd max_steps prices n gc |
|
DUP |
|
8 PUSHPOW2 // ctl dd max_steps prices n gc gc _50=256 |
|
DICTUMIN |
|
NULLSWAPIFNOT2 // ctl dd max_steps prices n gc _72 _71 _73 |
|
s2 POP // ctl dd max_steps prices n gc found? mkey |
|
OVER // ctl dd max_steps prices n gc found? mkey found? |
|
IF:<{ // ctl dd max_steps prices n gc found? mkey |
|
DUP // ctl dd max_steps prices n gc found? mkey mkey |
|
224 RSHIFT# // ctl dd max_steps prices n gc found? mkey _52 |
|
}>ELSE<{ // ctl dd max_steps prices n gc found? mkey |
|
32 PUSHPOW2DEC // ctl dd max_steps prices n gc found? mkey _52=4294967295 |
|
}> // ctl dd max_steps prices n gc found? mkey nhk |
|
s0 s6 XCHG // ctl dd nhk prices n gc found? mkey max_steps |
|
DEC // ctl dd nhk prices n gc found? mkey max_steps |
|
}>ELSE<{ // ctl dd gc prices mkey n max_steps nhk |
|
s5 s1 s5 XCHG3 |
|
s0 s3 XCHG |
|
FALSE |
|
s0 s2 XCHG // ctl dd nhk prices n gc found? mkey max_steps |
|
}> |
|
s3 s6 XCHG |
|
s3 s4 XCHG |
|
-ROT // ctl dd gc prices nhk n max_steps found? mkey |
|
}> // ctl dd gc prices nhk n max_steps mkey |
|
2DROP // ctl dd gc prices nhk n |
|
store_data CALLDICT |
|
}> |
|
calcprice_internal PROCREF:<{ |
|
// domain data ppc ppb |
|
s0 s2 XCHG |
|
100 PUSHINT // domain ppb ppc data _7=100 |
|
CDATASIZE // domain ppb ppc _24 _25 _26 |
|
s2 POP // domain ppb ppc refs bits |
|
s0 s4 XCHG // bits ppb ppc refs domain |
|
SBITS // bits ppb ppc refs _9 |
|
1 LSHIFT# // bits ppb ppc refs _11 |
|
192 PUSHINT // bits ppb ppc refs _11 _16 |
|
ADD // bits ppb ppc refs _17 |
|
s1 s4 XCHG // refs ppb ppc bits _17 |
|
ADD // refs ppb ppc bits |
|
s0 s3 XCHG // bits ppb ppc refs |
|
2 ADDCONST // bits ppb ppc _20 |
|
MUL // bits ppb _21 |
|
s0 s2 XCHG // _21 ppb bits |
|
MUL // _21 _22 |
|
ADD // _23 |
|
}> |
|
check_owner PROCREF:<{ |
|
// cat_table owner_info src_wc src_addr strict |
|
s0 s4 XCHG // strict owner_info src_wc src_addr cat_table |
|
ISNULL // strict owner_info src_wc src_addr _5 |
|
s4 s(-1) PUXC // strict owner_info src_wc src_addr strict _5 |
|
AND // strict owner_info src_wc src_addr _6 |
|
IFJMP:<{ // strict owner_info src_wc src_addr |
|
4 BLKDROP // |
|
4000281702 PUSHINT // _7=4000281702 |
|
}> // strict owner_info src_wc src_addr |
|
s2 PUSH // strict owner_info src_wc src_addr owner_info |
|
ISNULL // strict owner_info src_wc src_addr _8 |
|
IFJMP:<{ // strict owner_info src_wc src_addr |
|
3 BLKDROP // strict |
|
4000263474 PUSHINT // strict _9=4000263474 |
|
AND // _10 |
|
}> // strict owner_info src_wc src_addr |
|
s3 POP // src_addr owner_info src_wc |
|
3798033458 PUSHINT // src_addr owner_info src_wc ERR_BAD2=3798033458 |
|
s0 s2 XCHG // src_addr ERR_BAD2=3798033458 src_wc owner_info |
|
CTOS // src_addr ERR_BAD2=3798033458 src_wc sown |
|
DUP // src_addr ERR_BAD2=3798033458 src_wc sown sown |
|
SBITS // src_addr ERR_BAD2=3798033458 src_wc sown _15 |
|
283 PUSHINT // src_addr ERR_BAD2=3798033458 src_wc sown _15 _22 |
|
LESS // src_addr ERR_BAD2=3798033458 src_wc sown _23 |
|
IFJMP:<{ // src_addr ERR_BAD2=3798033458 src_wc sown |
|
s2 s3 XCHG |
|
3 BLKDROP // ERR_BAD2=3798033458 |
|
}> // src_addr ERR_BAD2=3798033458 src_wc sown |
|
19 LDU // src_addr ERR_BAD2=3798033458 src_wc _24 sown |
|
SWAP |
|
327324 PUSHINT // src_addr ERR_BAD2=3798033458 src_wc sown _24 _33 |
|
NEQ // src_addr ERR_BAD2=3798033458 src_wc sown _34 |
|
IFJMP:<{ // src_addr ERR_BAD2=3798033458 src_wc sown |
|
s2 s3 XCHG |
|
3 BLKDROP // ERR_BAD2=3798033458 |
|
}> // src_addr ERR_BAD2=3798033458 src_wc sown |
|
1 2 BLKDROP2 // src_addr src_wc sown |
|
8 LDI // src_addr src_wc _37 sown |
|
256 PLDU // src_addr src_wc owner_wc owner_addr |
|
s0 s2 XCHG // src_addr owner_addr owner_wc src_wc |
|
NEQ // src_addr owner_addr _42 |
|
s0 s2 XCHG // _42 owner_addr src_addr |
|
NEQ // _42 _43 |
|
OR // _44 |
|
IFJMP:<{ // |
|
4000282478 PUSHINT // _45=4000282478 |
|
}> // |
|
0 PUSHINT // _46=0 |
|
}> |
|
perform_ctl_op PROCREF:<{ |
|
// op src_wc src_addr in_msg |
|
load_data INLINECALLDICT // op src_wc src_addr in_msg ctl domdata gc prices nhk lhk |
|
s5 PUSH // op src_wc src_addr in_msg ctl domdata gc prices nhk lhk ctl |
|
CTOS // op src_wc src_addr in_msg ctl domdata gc prices nhk lhk cs |
|
8 LDI // op src_wc src_addr in_msg ctl domdata gc prices nhk lhk _13 cs |
|
s0 s10 XCHG // op cs src_addr in_msg ctl domdata gc prices nhk lhk _13 src_wc |
|
NEQ // op cs src_addr in_msg ctl domdata gc prices nhk lhk _16 |
|
s0 s9 XCHG // op _16 src_addr in_msg ctl domdata gc prices nhk lhk cs |
|
256 LDU // op _16 src_addr in_msg ctl domdata gc prices nhk lhk _83 _82 |
|
DROP // op _16 src_addr in_msg ctl domdata gc prices nhk lhk _17 |
|
s0 s8 XCHG2 // op _16 lhk in_msg ctl domdata gc prices nhk _17 src_addr |
|
NEQ // op _16 lhk in_msg ctl domdata gc prices nhk _20 |
|
s1 s8 XCHG // op nhk lhk in_msg ctl domdata gc prices _16 _20 |
|
OR // op nhk lhk in_msg ctl domdata gc prices _21 |
|
IFJMP:<{ // op nhk lhk in_msg ctl domdata gc prices |
|
8 BLKDROP // |
|
4000282478 PUSHINT // _22=4000282478 |
|
send_error CALLDICT |
|
}> // op nhk lhk in_msg ctl domdata gc prices |
|
s0 s7 XCHG |
|
1130909810 PUSHINT // prices nhk lhk in_msg ctl domdata gc op _24=1130909810 |
|
EQUAL // prices nhk lhk in_msg ctl domdata gc _25 |
|
IFJMP:<{ // prices nhk lhk in_msg ctl domdata gc |
|
s6 POP // gc nhk lhk in_msg ctl domdata |
|
s0 s2 XCHG // gc nhk lhk domdata ctl in_msg |
|
32 LDU // gc nhk lhk domdata ctl _30 in_msg |
|
LDGRAMS // gc nhk lhk domdata ctl _30 _33 in_msg |
|
LDGRAMS // gc nhk lhk domdata ctl _30 _33 _35 in_msg |
|
LDGRAMS // gc nhk lhk domdata ctl stdper ppr ppc ppb in_msg |
|
ENDS |
|
4 TUPLE // gc nhk lhk domdata ctl _40 |
|
s0 s4 s4 XCHG3 |
|
s0 s5 XCHG |
|
s0 s3 XCHG // ctl domdata gc _40 nhk lhk |
|
store_data CALLDICT |
|
0 PUSHINT // _42=0 |
|
send_ok CALLDICT |
|
}> // prices nhk lhk in_msg ctl domdata gc |
|
s4 POP // prices nhk gc in_msg ctl domdata |
|
query_info GETGLOB |
|
UNTRIPLE // prices nhk gc in_msg ctl domdata addr query_id op |
|
DUP |
|
1128555884 PUSHINT // prices nhk gc in_msg ctl domdata addr query_id op op _48=1128555884 |
|
EQUAL // prices nhk gc in_msg ctl domdata addr query_id op _49 |
|
IFJMP:<{ // prices nhk gc in_msg ctl domdata addr query_id op |
|
s5 POP // prices nhk gc op ctl domdata addr query_id |
|
s2 PUSH // prices nhk gc op ctl domdata addr query_id domdata |
|
ISNULL // prices nhk gc op ctl domdata addr query_id _50 |
|
IFNOT:<{ // prices nhk gc op ctl domdata addr query_id |
|
s3 s4 XCHG |
|
s2 s3 XCHG |
|
s5 s7 s6 XCHG3 |
|
1 PUSHINT |
|
-1 PUSHINT // addr query_id op ctl domdata gc prices nhk _51=1 _52=-1 |
|
housekeeping CALLDICT |
|
-ROT // op addr query_id |
|
}>ELSE<{ |
|
s4 s7 XCHG |
|
5 2 BLKDROP2 // op addr query_id |
|
}> |
|
load_data INLINECALLDICT // op addr query_id _95 _96 _97 _98 _99 _100 |
|
s4 s5 XCHG |
|
5 BLKDROP // op addr query_id domdata |
|
ISNULL // op addr query_id _55 |
|
IFNOTJMP:<{ // op addr query_id |
|
3 BLKDROP // |
|
4000605549 PUSHINT // _56=4000605549 |
|
send_error CALLDICT |
|
}> // op addr query_id |
|
4016791929 PUSHINT // op addr query_id _58=4016791929 |
|
s0 s1 s3 XCHG3 |
|
0 PUSHINT |
|
160 PUSHINT // addr _58=4016791929 query_id op _59=0 _62 |
|
send_message CALLDICT |
|
}> // prices nhk gc in_msg ctl domdata addr query_id op |
|
s3 POP |
|
s3 POP |
|
s4 POP |
|
s4 POP |
|
s4 POP // query_id op addr in_msg |
|
s2 PUSH |
|
1415670629 PUSHINT // query_id op addr in_msg op _64=1415670629 |
|
EQUAL // query_id op addr in_msg _65 |
|
IFJMP:<{ // query_id op addr in_msg |
|
LDGRAMS // query_id op addr _102 _101 |
|
DROP // query_id op addr amount |
|
s1 s3 XCHG |
|
4016791929 PUSHINT |
|
s3 s3 XCHG2 |
|
64 PUSHINT // addr _69=4016791929 query_id op amount _70=64 |
|
send_message CALLDICT |
|
}> // query_id op addr in_msg |
|
4 BLKDROP // |
|
32 PUSHPOW2DEC // _72=4294967295 |
|
send_error CALLDICT |
|
}> |
|
recv_internal PROC:<{ |
|
// msg_value in_msg_cell in_msg |
|
DUP // msg_value in_msg_cell in_msg in_msg |
|
SBITS // msg_value in_msg_cell in_msg _3 |
|
32 LESSINT // msg_value in_msg_cell in_msg _5 |
|
IFJMP:<{ // msg_value in_msg_cell in_msg |
|
3 BLKDROP // |
|
}> // msg_value in_msg_cell in_msg |
|
SWAP // msg_value in_msg in_msg_cell |
|
CTOS // msg_value in_msg cs |
|
4 LDU // msg_value in_msg flags cs |
|
SWAP |
|
1 PUSHINT // msg_value in_msg cs flags _12=1 |
|
AND // msg_value in_msg cs _13 |
|
IFJMP:<{ // msg_value in_msg cs |
|
3 BLKDROP // |
|
}> // msg_value in_msg cs |
|
LDMSGADDR // msg_value in_msg _327 _326 |
|
DROP // msg_value in_msg s_addr |
|
DUP // msg_value in_msg s_addr s_addr |
|
REWRITESTDADDR // msg_value in_msg s_addr src_wc src_addr |
|
s0 s3 XCHG // msg_value src_addr s_addr src_wc in_msg |
|
32 LDU // msg_value src_addr s_addr src_wc op in_msg |
|
OVER // msg_value src_addr s_addr src_wc op in_msg op |
|
IFNOTJMP:<{ // msg_value src_addr s_addr src_wc op in_msg |
|
6 BLKDROP // |
|
}> // msg_value src_addr s_addr src_wc op in_msg |
|
0 PUSHINT // msg_value src_addr s_addr src_wc op in_msg query_id=0 |
|
OVER // msg_value src_addr s_addr src_wc op in_msg query_id=0 in_msg |
|
SBITS // msg_value src_addr s_addr src_wc op in_msg query_id=0 _26 |
|
63 GTINT // msg_value src_addr s_addr src_wc op in_msg query_id=0 _28 |
|
IF:<{ // msg_value src_addr s_addr src_wc op in_msg query_id=0 |
|
DROP // msg_value src_addr s_addr src_wc op in_msg |
|
64 LDU // msg_value src_addr s_addr src_wc op query_id in_msg |
|
SWAP // msg_value src_addr s_addr src_wc op in_msg query_id |
|
}> // msg_value src_addr s_addr src_wc op in_msg query_id |
|
s4 s0 s2 XC2PU // msg_value src_addr in_msg src_wc op s_addr query_id op |
|
TRIPLE |
|
query_info SETGLOB |
|
DUP |
|
31 PUSHPOW2 // msg_value src_addr in_msg src_wc op op _34 |
|
AND // msg_value src_addr in_msg src_wc op _35 |
|
IFJMP:<{ // msg_value src_addr in_msg src_wc op |
|
5 BLKDROP // |
|
}> // msg_value src_addr in_msg src_wc op |
|
DUP // msg_value src_addr in_msg src_wc op op |
|
24 RSHIFT# // msg_value src_addr in_msg src_wc op _37 |
|
67 EQINT // msg_value src_addr in_msg src_wc op _39 |
|
IFJMP:<{ // msg_value src_addr in_msg src_wc op |
|
s4 POP // op src_addr in_msg src_wc |
|
-ROT // op src_wc src_addr in_msg |
|
perform_ctl_op INLINECALLDICT |
|
}> // msg_value src_addr in_msg src_wc op |
|
DUP |
|
1919248228 PUSHINT // msg_value src_addr in_msg src_wc op op _42=1919248228 |
|
EQUAL // msg_value src_addr in_msg src_wc op _45 |
|
OVER |
|
1886547820 PUSHINT // msg_value src_addr in_msg src_wc op _45 op _46=1886547820 |
|
EQUAL // msg_value src_addr in_msg src_wc op _45 _47 |
|
1 LSHIFT# // msg_value src_addr in_msg src_wc op _45 _49 |
|
ADD // msg_value src_addr in_msg src_wc op _50 |
|
OVER |
|
1970300004 PUSHINT // msg_value src_addr in_msg src_wc op _50 op _51=1970300004 |
|
EQUAL // msg_value src_addr in_msg src_wc op _50 _52 |
|
2 LSHIFT# // msg_value src_addr in_msg src_wc op _50 _54 |
|
ADD // msg_value src_addr in_msg src_wc op _55 |
|
SWAP |
|
1735354211 PUSHINT // msg_value src_addr in_msg src_wc _55 op _56=1735354211 |
|
EQUAL // msg_value src_addr in_msg src_wc _55 _57 |
|
3 LSHIFT# // msg_value src_addr in_msg src_wc _55 _59 |
|
ADD // msg_value src_addr in_msg src_wc qt |
|
DUP // msg_value src_addr in_msg src_wc qt qt |
|
IFNOTJMP:<{ // msg_value src_addr in_msg src_wc qt |
|
5 BLKDROP // |
|
32 PUSHPOW2DEC // _61=4294967295 |
|
send_error CALLDICT |
|
}> // msg_value src_addr in_msg src_wc qt |
|
NEGATE // msg_value src_addr in_msg src_wc qt |
|
load_data INLINECALLDICT // msg_value src_addr in_msg src_wc qt ctl domdata gc prices nhk lhk |
|
s6 PUSH // msg_value src_addr in_msg src_wc qt ctl domdata gc prices nhk lhk qt |
|
8 EQINT // msg_value src_addr in_msg src_wc qt ctl domdata gc prices nhk lhk _72 |
|
IFJMP:<{ // msg_value src_addr in_msg src_wc qt ctl domdata gc prices nhk lhk |
|
DROP |
|
s5 POP |
|
s5 POP |
|
s6 POP |
|
s6 POP // domdata gc in_msg prices nhk ctl |
|
s0 s3 XCHG // domdata gc ctl prices nhk in_msg |
|
32 LDI // domdata gc ctl prices nhk _341 _340 |
|
DROP // domdata gc ctl prices nhk max_steps |
|
s3 s5 XCHG |
|
s3 s4 XCHG |
|
1 PUSHINT |
|
SWAP // ctl domdata gc prices nhk _77=1 max_steps |
|
housekeeping CALLDICT |
|
4016791929 PUSHINT // _79=4016791929 |
|
send_error CALLDICT |
|
}> // msg_value src_addr in_msg src_wc qt ctl domdata gc prices nhk lhk |
|
s0 s8 XCHG // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg |
|
LDOPTREF // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk domain_cell in_msg |
|
OVER // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk domain_cell in_msg domain_cell |
|
ISNULL // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk domain_cell in_msg _88 |
|
IF:<{ // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk domain_cell in_msg |
|
NIP // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg |
|
6 LDU // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk bytes in_msg |
|
OVER // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk bytes in_msg bytes |
|
0 EQINT // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk bytes in_msg fail |
|
s0 s2 XCHG // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk fail in_msg bytes |
|
3 LSHIFT# // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk fail in_msg _97 |
|
LDSLICEX // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk fail domain in_msg |
|
}>ELSE<{ // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk domain_cell in_msg |
|
SWAP // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain_cell |
|
CTOS // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain |
|
DUP // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain domain |
|
SBITREFS // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain bits refs |
|
SWAP // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain refs bits |
|
-8 ADDCONST // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain refs _104 |
|
-121 PUSHINT // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain refs _104 _107 |
|
AND // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain refs _108 |
|
OR // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain fail |
|
s0 s2 XCHG // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk fail domain in_msg |
|
}> |
|
s2 PUSH // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk fail domain in_msg fail |
|
IFNOT:<{ // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk fail domain in_msg |
|
s2 POP // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain |
|
DUP |
|
8 PUSHINT // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain domain _110=8 |
|
SDCUTLAST // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain _111 |
|
8 PLDU // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain fail |
|
s0 s2 XCHG // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk fail domain in_msg |
|
}> // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk fail domain in_msg |
|
s0 s2 XCHG // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain fail |
|
IFJMP:<{ // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain |
|
12 BLKDROP // |
|
4000275504 PUSHINT // _114=4000275504 |
|
send_error CALLDICT |
|
}> // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain |
|
NOW // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n |
|
PUSHNULL // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n _120 |
|
DUP // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info |
|
0 PUSHINT // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info _124=0 |
|
s0 s0 s4 PUSH3 // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info key=0 zeros=0 exp=0 tail |
|
DUP // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info key=0 zeros=0 exp=0 tail tail |
|
SBITS // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info key=0 zeros=0 exp=0 tail _126 |
|
3 RSHIFTC# // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info key=0 zeros=0 exp=0 tail _128 |
|
REPEAT:<{ // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info key zeros exp tail |
|
PUSHNULL |
|
s6 POP // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info key zeros exp tail |
|
8 LDU // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info key zeros exp _131 tail |
|
SWAP // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info key zeros exp tail _131 |
|
0 EQINT // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info key zeros exp tail z |
|
s3 s3 XCPU // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info key z exp tail zeros z |
|
SUB // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info key z exp tail zeros |
|
s0 s3 XCHG // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info key zeros exp tail z |
|
IF:<{ // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info key zeros exp tail |
|
s3 POP // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros exp |
|
s2 PUSH // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros exp tail |
|
SBITS // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros exp _137 |
|
s7 s(-1) PUXC // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros exp domain _137 |
|
SDSKIPLAST // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros exp _138 |
|
SHA256U // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros exp _139 |
|
32 RSHIFT# // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros exp key |
|
s0 s12 PUSH2 |
|
224 PUSHINT // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros exp key key domdata _146 |
|
DICTUGET |
|
NULLSWAPIFNOT // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros exp key val found? |
|
IF:<{ // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros exp key val |
|
1 2 BLKDROP2 // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros key val |
|
32 LDU // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros key exp val |
|
s1 s7 PUSH2 // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros key exp val exp n |
|
GEQ // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros key exp val _151 |
|
IF:<{ // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros key exp val |
|
LDREF // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros key exp cat_table val |
|
ENDS |
|
0 PUSHINT // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros key exp cat_table _158=0 |
|
SWAP |
|
8 PUSHPOW2 // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros key exp _158=0 cat_table _159=256 |
|
DICTUGETREF // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros key exp cown ok |
|
IF:<{ // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros key exp cown |
|
s5 POP // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros key exp |
|
}>ELSE<{ |
|
DROP // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros key exp |
|
}> |
|
}>ELSE<{ |
|
DROP // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros key exp |
|
}> |
|
SWAP // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros exp key |
|
}>ELSE<{ |
|
DROP // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info tail zeros exp key |
|
}> |
|
s0 s3 XCHG // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info key zeros exp tail |
|
}> // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info key zeros exp tail |
|
}> |
|
DROP // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info key zeros exp |
|
SWAP // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info key exp zeros |
|
4 GTINT // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info key exp _162 |
|
IFJMP:<{ // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info key exp |
|
15 BLKDROP |
|
2DROP // |
|
4017511472 PUSHINT // _163=4017511472 |
|
send_error CALLDICT |
|
}> // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info key exp |
|
s12 PUSH // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info key exp qt |
|
1 NEQINT // msg_value src_addr lhk src_wc qt ctl domdata gc prices nhk in_msg domain n cat_table owner_info key exp _167 |
|
s4 PUSH |
|
s0 s4 XCHG |
|
s15 s1 s3 XCHG3 |
|
s0 17 s() XCHG |
|
SWAP // msg_value key lhk exp qt ctl domdata gc prices nhk in_msg domain n cat_table cat_table owner_info src_wc src_addr _167 |
|
check_owner INLINECALLDICT // msg_value key lhk exp qt ctl domdata gc prices nhk in_msg domain n cat_table err |
|
DUP // msg_value key lhk exp qt ctl domdata gc prices nhk in_msg domain n cat_table err err |
|
IFJMP:<{ // msg_value key lhk exp qt ctl domdata gc prices nhk in_msg domain n cat_table err |
|
14 1 BLKDROP2 // err |
|
send_error CALLDICT |
|
}> // msg_value key lhk exp qt ctl domdata gc prices nhk in_msg domain n cat_table err |
|
DROP // msg_value key lhk exp qt ctl domdata gc prices nhk in_msg domain n cat_table |
|
s9 PUSH // msg_value key lhk exp qt ctl domdata gc prices nhk in_msg domain n cat_table qt |
|
2 NEQINT // msg_value key lhk exp qt ctl domdata gc prices nhk in_msg domain n cat_table _173 |
|
IF:<{ // msg_value key lhk exp qt ctl domdata gc prices nhk in_msg domain n cat_table |
|
s0 s3 XCHG // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n in_msg |
|
LDREF // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n _361 _360 |
|
DROP // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data |
|
DUP // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data data |
|
DICTEMPTY // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data _176 |
|
IFNOT:<{ // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data |
|
0 PUSHINT // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data _179=0 |
|
OVER |
|
8 PUSHPOW2 // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data _179=0 data _180=256 |
|
DICTUGETREF // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data oinfo ok |
|
IF:<{ // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data oinfo |
|
CTOS // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data cs |
|
DUP // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data cs cs |
|
SBITS // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data cs _185 |
|
283 PUSHINT // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data cs _185 _192 |
|
GEQ // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data cs _193 |
|
31 THROWIFNOT |
|
19 PLDU // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data _197 |
|
327324 PUSHINT // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data _197 _202 |
|
EQUAL // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data _203 |
|
31 THROWIFNOT |
|
}>ELSE<{ |
|
DROP // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data |
|
}> |
|
DUP |
|
8 PUSHPOW2 // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data data _208=256 |
|
DICTUMIN |
|
NULLSWAPIFNOT2 // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data _365 _364 _366 |
|
2 1 BLKDROP2 // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data minok |
|
OVER |
|
8 PUSHPOW2 // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data minok data _213=256 |
|
DICTUMAX |
|
NULLSWAPIFNOT2 // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data minok _368 _367 _369 |
|
2 1 BLKDROP2 // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data minok maxok |
|
AND // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data _216 |
|
31 THROWIFNOT |
|
}> // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data |
|
}>ELSE<{ // msg_value key lhk exp qt ctl domdata gc prices nhk in_msg domain n cat_table |
|
s3 POP // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n |
|
s2 PUSH // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data |
|
}> |
|
s5 PUSH // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data prices |
|
4 UNTUPLE // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data stdper ppr ppc ppb |
|
s3 PUSH // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data stdper ppr ppc ppb stdper |
|
IFNOTJMP:<{ // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data stdper ppr ppc ppb |
|
15 BLKDROP |
|
3 BLKDROP // |
|
3545187910 PUSHINT // _223=3545187910 |
|
send_error CALLDICT |
|
}> // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table domain n data stdper ppr ppc ppb |
|
s4 PUSH |
|
s3 s7 XCHG |
|
-ROT // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table ppr n data stdper domain data ppc ppb |
|
calcprice_internal INLINECALLDICT // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table ppr n data stdper _226 |
|
s11 PUSH // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table ppr n data stdper _226 qt |
|
4 NEQINT // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table ppr n data stdper _226 _228 |
|
s1 s5 XCHG // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table _226 n data stdper ppr _228 |
|
AND // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table _226 n data stdper _229 |
|
s1 s4 XCHG // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table stdper n data _226 _229 |
|
ADD // msg_value key lhk exp qt ctl domdata gc prices nhk cat_table stdper n data price |
|
s0 s14 XCHG |
|
30 PUSHPOW2 // price key lhk exp qt ctl domdata gc prices nhk cat_table stdper n data msg_value _233 |
|
SUB // price key lhk exp qt ctl domdata gc prices nhk cat_table stdper n data _234 |
|
s14 PUSH // price key lhk exp qt ctl domdata gc prices nhk cat_table stdper n data _234 price |
|
LESS // price key lhk exp qt ctl domdata gc prices nhk cat_table stdper n data _235 |
|
IFJMP:<{ // price key lhk exp qt ctl domdata gc prices nhk cat_table stdper n data |
|
14 BLKDROP // |
|
3883023472 PUSHINT // _236=3883023472 |
|
send_error CALLDICT |
|
}> // price key lhk exp qt ctl domdata gc prices nhk cat_table stdper n data |
|
s9 PUSH // price key lhk exp qt ctl domdata gc prices nhk cat_table stdper n data qt |
|
2 EQINT // price key lhk exp qt ctl domdata gc prices nhk cat_table stdper n data _243 |
|
IFJMP:<{ // price key lhk exp qt ctl domdata gc prices nhk cat_table stdper n data |
|
s3 POP |
|
s8 POP // price key lhk exp n ctl domdata gc prices nhk data stdper |
|
s7 s7 XCPU // price key lhk exp stdper ctl domdata gc prices nhk data n stdper |
|
ADD // price key lhk exp stdper ctl domdata gc prices nhk data _244 |
|
s8 s(-1) PUXC // price key lhk exp stdper ctl domdata gc prices nhk data exp _244 |
|
GREATER // price key lhk exp stdper ctl domdata gc prices nhk data _245 |
|
IFJMP:<{ // price key lhk exp stdper ctl domdata gc prices nhk data |
|
11 BLKDROP // |
|
4083511919 PUSHINT // _246=4083511919 |
|
send_error CALLDICT |
|
}> // price key lhk exp stdper ctl domdata gc prices nhk data |
|
s7 s6 PUSH2 // price key lhk exp stdper ctl domdata gc prices nhk data exp stdper |
|
ADD // price key lhk exp stdper ctl domdata gc prices nhk data _249 |
|
NEWC // price key lhk exp stdper ctl domdata gc prices nhk data _249 _250 |
|
32 STU // price key lhk exp stdper ctl domdata gc prices nhk data _252 |
|
STREF // price key lhk exp stdper ctl domdata gc prices nhk _253 |
|
s0 s9 s4 XCPUXC |
|
224 PUSHINT // price key lhk exp stdper ctl nhk gc prices _253 key domdata _256 |
|
DICTUSETB // price key lhk exp stdper ctl nhk gc prices domdata |
|
s0 s6 XCHG // price key lhk domdata stdper ctl nhk gc prices exp |
|
224 LSHIFT# // price key lhk domdata stdper ctl nhk gc prices _262 |
|
s0 s8 XCHG2 // price prices lhk domdata stdper ctl nhk gc _262 key |
|
ADD // price prices lhk domdata stdper ctl nhk gc gckeyO |
|
s0 s4 XCHG // price prices lhk domdata gckeyO ctl nhk gc stdper |
|
224 LSHIFT# // price prices lhk domdata gckeyO ctl nhk gc _268 |
|
s4 s(-1) PUXC // price prices lhk domdata gckeyO ctl nhk gc gckeyO _268 |
|
ADD // price prices lhk domdata gckeyO ctl nhk gc gckeyN |
|
s4 s4 XCHG2 |
|
8 PUSHPOW2 // price prices lhk domdata gckeyN ctl nhk gckeyO gc _271=256 |
|
DICTUDEL // price prices lhk domdata gckeyN ctl nhk _376 _377 |
|
DROP // price prices lhk domdata gckeyN ctl nhk gc |
|
NEWC // price prices lhk domdata gckeyN ctl nhk gc _274 |
|
s0 s4 s4 XCHG3 |
|
8 PUSHPOW2 // price prices lhk domdata nhk ctl _274 gckeyN gc _275=256 |
|
DICTUSETB // price prices lhk domdata nhk ctl gc |
|
s0 s3 XCHG |
|
s5 s5 s4 XCHG3 |
|
1 PUSHINT // price ctl domdata gc prices nhk lhk _277=1 |
|
housekeeping CALLDICT |
|
send_ok CALLDICT |
|
}> // price key lhk exp qt ctl domdata gc prices nhk cat_table stdper n data |
|
s9 PUSH // price key lhk exp qt ctl domdata gc prices nhk cat_table stdper n data qt |
|
1 EQINT // price key lhk exp qt ctl domdata gc prices nhk cat_table stdper n data _281 |
|
IFJMP:<{ // price key lhk exp qt ctl domdata gc prices nhk cat_table stdper n data |
|
s9 POP |
|
s9 POP // price key lhk n data ctl domdata gc prices nhk cat_table stdper |
|
SWAP // price key lhk n data ctl domdata gc prices nhk stdper cat_table |
|
ISNULL // price key lhk n data ctl domdata gc prices nhk stdper _282 |
|
IFNOTJMP:<{ // price key lhk n data ctl domdata gc prices nhk stdper |
|
11 BLKDROP // |
|
3781980773 PUSHINT // _283=3781980773 |
|
send_error CALLDICT |
|
}> // price key lhk n data ctl domdata gc prices nhk stdper |
|
s1 s7 XCHG // price key lhk nhk data ctl domdata gc prices n stdper |
|
ADD // price key lhk nhk data ctl domdata gc prices expires_at |
|
DUP |
|
NEWC // price key lhk nhk data ctl domdata gc prices expires_at expires_at _288 |
|
32 STU // price key lhk nhk data ctl domdata gc prices expires_at _290 |
|
s1 s6 XCHG // price key lhk nhk expires_at ctl domdata gc prices data _290 |
|
STREF // price key lhk nhk expires_at ctl domdata gc prices _291 |
|
s0 s8 s3 XCPUXC |
|
224 PUSHINT // price key lhk nhk expires_at ctl prices gc _291 key domdata _294 |
|
DICTUSETB // price key lhk nhk expires_at ctl prices gc domdata |
|
s4 PUSH // price key lhk nhk expires_at ctl prices gc domdata expires_at |
|
224 LSHIFT# // price key lhk nhk expires_at ctl prices gc domdata _300 |
|
s0 s8 XCHG2 // price domdata lhk nhk expires_at ctl prices gc _300 key |
|
OR // price domdata lhk nhk expires_at ctl prices gc gckey |
|
NEWC // price domdata lhk nhk expires_at ctl prices gc gckey _303 |
|
s0 s2 XCHG |
|
8 PUSHPOW2 // price domdata lhk nhk expires_at ctl prices _303 gckey gc _304=256 |
|
DICTUSETB // price domdata lhk nhk expires_at ctl prices gc |
|
s4 s3 XCHG2 // price domdata lhk prices gc ctl nhk expires_at |
|
MIN // price domdata lhk prices gc ctl _306 |
|
s1 s5 XCHG |
|
s3 s0 s4 XCHG3 |
|
1 PUSHINT // price ctl domdata gc prices _306 lhk _307=1 |
|
housekeeping CALLDICT |
|
send_ok CALLDICT |
|
}> // price key lhk exp qt ctl domdata gc prices nhk cat_table stdper n data |
|
3 1 BLKDROP2 // price key lhk exp qt ctl domdata gc prices nhk data |
|
s0 s6 XCHG // price key lhk exp data ctl domdata gc prices nhk qt |
|
4 EQINT // price key lhk exp data ctl domdata gc prices nhk _311 |
|
IFJMP:<{ // price key lhk exp data ctl domdata gc prices nhk |
|
s0 s6 XCHG |
|
NEWC // price key lhk nhk data ctl domdata gc prices exp _313 |
|
32 STU // price key lhk nhk data ctl domdata gc prices _315 |
|
s1 s5 XCHG // price key lhk nhk prices ctl domdata gc data _315 |
|
STREF // price key lhk nhk prices ctl domdata gc _316 |
|
s7 s2 XCHG2 |
|
224 PUSHINT // price gc lhk nhk prices ctl _316 key domdata _319 |
|
DICTUSETB // price gc lhk nhk prices ctl domdata |
|
s5 s4 XCHG2 |
|
s1 s3 XCHG |
|
1 PUSHINT // price ctl domdata gc prices nhk lhk _321=1 |
|
housekeeping CALLDICT |
|
send_ok CALLDICT |
|
}> // price key lhk exp data ctl domdata gc prices nhk |
|
10 BLKDROP // |
|
}> |
|
recv_external PROC:<{ |
|
// in_msg |
|
DROP // |
|
load_data INLINECALLDICT // _12 _13 _14 _15 _16 _17 |
|
NIP // ctl dd gc prices lhk |
|
IFNOTJMP:<{ // ctl dd gc prices |
|
ACCEPT |
|
32 PUSHPOW2DEC // ctl dd gc prices _9=4294967295 |
|
NOW // ctl dd gc prices _9=4294967295 _10 |
|
store_data CALLDICT |
|
}> // ctl dd gc prices |
|
4 BLKDROP // |
|
}> |
|
dnsdictlookup PROCREF:<{ |
|
// domain nowtime |
|
OVER // domain nowtime domain |
|
SBITREFS // domain nowtime bits refs |
|
OVER |
|
7 PUSHINT // domain nowtime bits refs bits _6=7 |
|
AND // domain nowtime bits refs _7 |
|
OR // domain nowtime bits _8 |
|
30 THROWIF |
|
DUP // domain nowtime bits bits |
|
IFNOT:<{ // domain nowtime bits |
|
30 THROW |
|
}> // domain nowtime bits |
|
s2 PUSH |
|
8 PUSHINT // domain nowtime bits domain _13=8 |
|
SDCUTLAST // domain nowtime bits _14 |
|
8 PLDU // domain nowtime bits domain_last_byte |
|
IF:<{ // domain nowtime bits |
|
0 PUSHINT // domain nowtime bits _17=0 |
|
NEWC // domain nowtime bits _17=0 _18 |
|
s0 s4 XCHG2 // _17=0 nowtime bits _18 domain |
|
STSLICER // _17=0 nowtime bits _19 |
|
s1 s3 XCHG // bits nowtime _17=0 _19 |
|
8 STU // bits nowtime _21 |
|
ENDC // bits nowtime _22 |
|
CTOS // bits nowtime domain |
|
s0 s2 XCHG // domain nowtime bits |
|
8 ADDCONST // domain nowtime bits |
|
}> // domain nowtime bits |
|
DUP // domain nowtime bits bits |
|
8 EQINT // domain nowtime bits _27 |
|
IFJMP:<{ // domain nowtime bits |
|
3 BLKDROP // |
|
0 PUSHINT // _28=0 |
|
PUSHNULL // _28=0 _29 |
|
8 PUSHINT // _28=0 _29 _30=8 |
|
PUSHNULL // _28=0 _29 _30=8 _31 |
|
}> // domain nowtime bits |
|
s2 PUSH // domain nowtime bits domain |
|
8 PLDU // domain nowtime bits domain_first_byte |
|
0 EQINT // domain nowtime bits _36 |
|
IF:<{ // domain nowtime bits |
|
s0 s2 XCHG // bits nowtime domain |
|
8 LDU // bits nowtime _95 _94 |
|
NIP // bits nowtime domain |
|
s0 s2 XCHG // domain nowtime bits |
|
-8 ADDCONST // domain nowtime bits |
|
}> // domain nowtime bits |
|
c4 PUSH // domain nowtime bits _43 |
|
CTOS // domain nowtime bits ds |
|
LDREF // domain nowtime bits _97 _96 |
|
NIP // domain nowtime bits ds |
|
LDDICT // domain nowtime bits _99 _98 |
|
DROP // domain nowtime bits root |
|
PUSHNULL // domain nowtime bits root val |
|
-1 PUSHINT // domain nowtime bits root val tail_bits=-1 |
|
s5 PUSH // domain nowtime bits root val tail_bits=-1 tail |
|
s0 s4 XCHG // domain nowtime tail root val tail_bits=-1 bits |
|
3 RSHIFT# // domain nowtime tail root val tail_bits=-1 _57 |
|
REPEAT:<{ // domain nowtime tail root val tail_bits |
|
s0 s3 XCHG // domain nowtime tail_bits root val tail |
|
8 LDU // domain nowtime tail_bits root val _58 tail |
|
SWAP // domain nowtime tail_bits root val tail _58 |
|
0 EQINT // domain nowtime tail_bits root val tail _62 |
|
IF:<{ // domain nowtime tail_bits root val tail |
|
DUP // domain nowtime tail_bits root val tail tail |
|
SBITS // domain nowtime tail_bits root val tail _64 |
|
s6 s(-1) PUXC // domain nowtime tail_bits root val tail domain _64 |
|
SDSKIPLAST // domain nowtime tail_bits root val tail _65 |
|
SHA256U // domain nowtime tail_bits root val tail _66 |
|
32 RSHIFT# // domain nowtime tail_bits root val tail key |
|
s3 PUSH |
|
224 PUSHINT // domain nowtime tail_bits root val tail key root _73 |
|
DICTUGET |
|
NULLSWAPIFNOT // domain nowtime tail_bits root val tail v found? |
|
IF:<{ // domain nowtime tail_bits root val tail v |
|
DUP // domain nowtime tail_bits root val tail v v |
|
32 PLDU // domain nowtime tail_bits root val tail v _76 |
|
s6 PUSH // domain nowtime tail_bits root val tail v _76 nowtime |
|
GEQ // domain nowtime tail_bits root val tail v _77 |
|
IF:<{ // domain nowtime tail_bits root val tail v |
|
s2 POP |
|
s3 POP // domain nowtime tail root val |
|
s2 PUSH // domain nowtime tail root val tail |
|
SBITS // domain nowtime tail root val tail_bits |
|
s0 s3 XCHG // domain nowtime tail_bits root val tail |
|
}>ELSE<{ |
|
DROP // domain nowtime tail_bits root val tail |
|
}> |
|
}>ELSE<{ |
|
DROP // domain nowtime tail_bits root val tail |
|
}> |
|
}> // domain nowtime tail_bits root val tail |
|
s0 s3 XCHG // domain nowtime tail root val tail_bits |
|
}> |
|
2 2 BLKDROP2 |
|
s2 POP // domain tail_bits val |
|
DUP // domain tail_bits val val |
|
ISNULL // domain tail_bits val _79 |
|
IFJMP:<{ // domain tail_bits val |
|
3 BLKDROP // |
|
0 PUSHINT // _80=0 |
|
PUSHNULL // _80=0 _81 |
|
OVER // _80=0 _81 _82=0 |
|
PUSHNULL // _80=0 _81 _82=0 _83 |
|
}> // domain tail_bits val |
|
32 LDU // domain tail_bits _84 val |
|
LDREF // domain tail_bits _84 _107 _106 |
|
DROP // domain tail_bits _84 _87 |
|
s2 PUSH // domain tail_bits _84 _87 tail_bits |
|
0 EQINT // domain tail_bits _84 _87 _90 |
|
s4 s3 XCHG2 // _87 _90 _84 domain tail_bits |
|
SDSKIPLAST // _87 _90 _84 _91 |
|
s3 s3 s0 XCHG3 // _84 _87 _90 _91 |
|
}> |
|
dnsresolve PROC:<{ |
|
// domain category |
|
SWAP |
|
NOW // category domain _6 |
|
dnsdictlookup INLINECALLDICT // category exp cat_table exact? pfx |
|
s0 s3 XCHG // category pfx cat_table exact? exp |
|
IFNOTJMP:<{ // category pfx cat_table exact? |
|
3 1 BLKDROP2 // exact? |
|
PUSHNULL // exact? _8 |
|
}> // category pfx cat_table exact? |
|
IFNOT:<{ // category pfx cat_table |
|
11732114750494247458678882651681748623800183221773167493832867265755123357695 PUSHINT |
|
s3 POP // category=11732114750494247458678882651681748623800183221773167493832867265755123357695 pfx cat_table |
|
}> // category pfx cat_table |
|
SWAP // category cat_table pfx |
|
SBITS // category cat_table pfx_bits |
|
s2 PUSH // category cat_table pfx_bits category |
|
IFJMP:<{ // category cat_table pfx_bits |
|
-ROT |
|
8 PUSHPOW2 // pfx_bits category cat_table _13=256 |
|
DICTUGETOPTREF // pfx_bits cat_found |
|
}> // category cat_table pfx_bits |
|
s2 POP // pfx_bits cat_table |
|
}> |
|
getexpirationx PROCINLINE:<{ |
|
// domain nowtime |
|
dnsdictlookup INLINECALLDICT // _7 _8 _9 _10 |
|
3 BLKDROP // exp |
|
}> |
|
getexpiration PROC:<{ |
|
// domain |
|
NOW // domain _1 |
|
getexpirationx INLINECALLDICT // _2 |
|
}> |
|
getstdperiod PROC:<{ |
|
// |
|
load_prices INLINECALLDICT // _5 _6 _7 _8 |
|
3 BLKDROP // stdper |
|
}> |
|
getppr PROC:<{ |
|
// |
|
load_prices INLINECALLDICT // _5 _6 _7 _8 |
|
s2 s3 XCHG |
|
3 BLKDROP // ppr |
|
}> |
|
getppc PROC:<{ |
|
// |
|
load_prices INLINECALLDICT // _5 _6 _7 _8 |
|
s1 s3 XCHG |
|
3 BLKDROP // ppc |
|
}> |
|
getppb PROC:<{ |
|
// |
|
load_prices INLINECALLDICT // _5 _6 _7 _8 |
|
3 1 BLKDROP2 // ppb |
|
}> |
|
calcprice PROC:<{ |
|
// domain val |
|
load_prices INLINECALLDICT // domain val _8 _9 _10 _11 |
|
2 2 BLKDROP2 // domain val ppc ppb |
|
calcprice_internal INLINECALLDICT // _7 |
|
}> |
|
calcregprice PROC:<{ |
|
// domain val |
|
load_prices INLINECALLDICT // domain val _9 _10 _11 _12 |
|
s3 POP // domain val ppb ppr ppc |
|
s3 s4 XCHG |
|
s4 s0 s4 XCHG3 // ppr domain val ppc ppb |
|
calcprice_internal INLINECALLDICT // ppr _7 |
|
ADD // _8 |
|
}> |
|
}END>c |
|
|
|
boc>B "build/dns-auto-code.cell" B>file |