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
2 years ago
|
"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
|