"Asm.fif" include // automatically generated from `contracts/main.fc` incl:`contracts/imports/stdlib.fc` incl:`contracts/imports/constants.fc` incl:`contracts/imports/utils.fc` incl:`contracts/imports/dns-utils.fc` incl:`contracts/imports/op-codes.fc` incl:`contracts/imports/params.fc` PROGRAM{ DECLPROC send_grams DECLPROC zero_address DECLPROC get_top_domain_bits DECLPROC read_comment DECLPROC read_domain_from_comment DECLPROC check_domain_string DECLPROC split_by_semicolon DECLPROC decode_asciicode DECLPROC get_min_price_config DECLPROC price_function DECLPROC get_min_price DECLPROC force_chain DECLPROC unpack_auction DECLPROC pack_auction 78748 DECLMETHOD get_public_key DECLPROC load_data DECLPROC calculate_nft_item_state_init DECLPROC calculate_nft_item_address DECLPROC pack_state DECLPROC store_data DECLPROC send_msg DECLPROC transfer_ownership DECLPROC deploy_nft_item DECLPROC pack_nft_item_state DECLPROC deploy_bought_item DECLPROC recv_internal 102351 DECLMETHOD get_nft_data 90228 DECLMETHOD get_editor 119378 DECLMETHOD get_domain 91481 DECLMETHOD get_last_fill_up_time 102491 DECLMETHOD get_collection_data 92067 DECLMETHOD get_nft_address_by_index 68445 DECLMETHOD get_nft_content 123660 DECLMETHOD dnsresolve send_grams PROC:<{ // address amount 0 PUSHINT // address amount _3=0 24 PUSHINT // address amount _3=0 _4=24 NEWC // address amount _3=0 _4=24 _5 6 STU // address amount _3=0 _7 s0 s3 XCHG2 // _3=0 amount _7 address STSLICER // _3=0 amount _8 SWAP // _3=0 _8 amount STGRAMS // _3=0 _9 107 STU // _11 ENDC // msg 3 PUSHINT // msg _13=3 SENDRAWMSG }> zero_address PROC:<{ // 0 PUSHINT // _0=0 NEWC // _0=0 _1 2 STU // _3 ENDC // _4 CTOS // _5 }> get_top_domain_bits PROC:<{ // domain 0 PUSHINT // domain i=0 UNTIL:<{ SWAP // i domain 8 LDU // i char domain SWAP // i domain char 0 EQINT // i domain need_break DUP // i domain need_break need_break NOT // i domain need_break _11 IF:<{ // i domain need_break s0 s2 XCHG // need_break domain i 8 ADDCONST // need_break domain i s0 s2 XCHG // i domain need_break }> // i domain need_break s1 s2 XCHG // domain i need_break }> // domain i NIP // i DUP // i i 0 EQINT // i _16 201 THROWIF }> read_comment PROC:<{ // in_msg_body NEWC // in_msg_body result UNTIL:<{ OVER // in_msg_body result in_msg_body SBITS // in_msg_body result _6 s1 s2 XCHG // result in_msg_body _6 LDSLICEX // result _5 in_msg_body -ROT // in_msg_body result _5 STSLICER // in_msg_body result OVER // in_msg_body result in_msg_body SREFS // in_msg_body result refs_len DUP // in_msg_body result refs_len refs_len 0 EQINT // in_msg_body result refs_len need_break DUP // in_msg_body result refs_len need_break need_break NOT // in_msg_body result refs_len need_break _13 IF:<{ // in_msg_body result refs_len need_break SWAP // in_msg_body result need_break refs_len 1 EQINT // in_msg_body result need_break _16 202 THROWIFNOT s0 s2 XCHG // need_break result in_msg_body LDREF // need_break result _26 _25 DROP // need_break result _18 CTOS // need_break result in_msg_body s0 s2 XCHG // in_msg_body result need_break }>ELSE<{ NIP // in_msg_body result need_break }> }> // in_msg_body result NIP // result ENDC // _21 CTOS // _22 }> read_domain_from_comment PROC:<{ // in_msg_body read_comment CALLDICT // _1 }> check_domain_string PROC:<{ // domain 0 PUSHINT // domain i=0 OVER // domain i=0 domain SBITS // domain i=0 len UNTIL:<{ 2DUP // domain i len i len EQUAL // domain i len need_break DUP // domain i len need_break need_break NOT // domain i len need_break _8 IF:<{ // domain i len need_break DROP // domain i len s0 s2 XCHG // len i domain 8 LDU // len i char domain OVER // len i char domain char 45 EQINT // len i char domain is_hyphen s3 PUSH // len i char domain is_hyphen i 0 GTINT // len i char domain is_hyphen _18 AND // len i char domain _19 s4 PUSH // len i char domain _19 len -8 ADDCONST // len i char domain _19 _21 s4 s(-1) PUXC // len i char domain _19 i _21 LESS // len i char domain _19 _22 AND // len i char domain _23 s2 PUSH // len i char domain _23 char 47 GTINT // len i char domain _23 _25 s3 PUSH // len i char domain _23 _25 char 58 LESSINT // len i char domain _23 _25 _27 AND // len i char domain _23 _28 OR // len i char domain _29 s2 PUSH // len i char domain _29 char 96 GTINT // len i char domain _29 _31 s0 s3 XCHG // len i _31 domain _29 char 123 LESSINT // len i _31 domain _29 _33 s1 s3 XCHG // len i _29 domain _31 _33 AND // len i _29 domain _34 s1 s2 XCHG // len i domain _29 _34 OR // len i domain valid_char NOT // len i domain need_break DUP // len i domain need_break need_break NOT // len i domain need_break _37 IF:<{ // len i domain need_break s0 s2 XCHG // len need_break domain i 8 ADDCONST // len need_break domain i s0 s2 XCHG // len i domain need_break }> // len i domain need_break s1 s3 XCHG // domain i len need_break }> // domain i len need_break }> // domain i len 1 2 BLKDROP2 // i len EQUAL // _40 }> split_by_semicolon PROC:<{ // str 0 PUSHINT // str i=0 OVER // str i=0 str SBITS // str i=0 len NEWC // str i=0 len result1 UNTIL:<{ s2 s1 PUSH2 // str i len result1 i len EQUAL // str i len result1 need_break DUP // str i len result1 need_break need_break NOT // str i len result1 need_break _10 IF:<{ // str i len result1 need_break DROP // str i len result1 s0 s3 XCHG // result1 i len str 8 LDU // result1 i len char str OVER // result1 i len char str char 59 EQINT // result1 i len char str need_break s0 s4 XCHG // result1 need_break len char str i 8 ADDCONST // result1 need_break len char str i s4 PUSH // result1 need_break len char str i need_break NOT // result1 need_break len char str i _19 IF:<{ // result1 need_break len char str i s2 s5 XCHG2 // i need_break len str char result1 8 STU // i need_break len str result1 s4 s4 XCHG2 // result1 need_break len i str }>ELSE<{ s2 POP // result1 need_break len i str }> s3 PUSH // result1 need_break len i str need_break NOT // result1 need_break len i str _23 s2 s3 PUSH2 // result1 need_break len i str _23 i len GEQ // result1 need_break len i str _23 _24 AND // result1 need_break len i str _25 IF:<{ // result1 need_break len i str 259 THROW }> // result1 need_break len i str s4 s4 XCHG2 s0 s3 XCHG // str i len result1 need_break }> // str i len result1 need_break }> // str i len result1 ENDC // str i len _28 CTOS // str i len _29 s0 s2 XCHG // str _29 len i SUB // str _29 _31 s1 s2 XCHG // _29 str _31 LDSLICEX // _29 _36 _35 DROP // _29 _30 }> decode_asciicode PROC:<{ // str DUP // str str SBITS // str len 0 PUSHINT // str len need_break=0 NEWC // str len need_break=0 result OVER // str len need_break=0 result res_len=0 WHILE:<{ s0 s2 XCHG // str len res_len result need_break NOT // str len res_len result _9 }>DO<{ // str len res_len result s2 PUSH // str len res_len result len 0 EQINT // str len res_len result need_break DUP // str len res_len result need_break need_break NOT // str len res_len result need_break _12 IF:<{ // str len res_len result need_break s0 s4 XCHG // need_break len res_len result str 8 LDU // need_break len res_len result char str 0 PUSHINT // need_break len res_len result char str byte=0 s2 PUSH // need_break len res_len result char str byte=0 char 64 GTINT // need_break len res_len result char str byte=0 _20 s3 PUSH // need_break len res_len result char str byte=0 _20 char 91 LESSINT // need_break len res_len result char str byte=0 _20 _22 AND // need_break len res_len result char str byte=0 _23 IF:<{ // need_break len res_len result char str byte=0 DROP // need_break len res_len result char str SWAP // need_break len res_len result str char -65 ADDCONST // need_break len res_len result str byte }>ELSE<{ // need_break len res_len result char str byte=0 s2 PUSH // need_break len res_len result char str byte=0 char 96 GTINT // need_break len res_len result char str byte=0 _27 s3 PUSH // need_break len res_len result char str byte=0 _27 char 123 LESSINT // need_break len res_len result char str byte=0 _27 _29 AND // need_break len res_len result char str byte=0 _30 IF:<{ // need_break len res_len result char str byte=0 DROP // need_break len res_len result char str SWAP // need_break len res_len result str char -71 ADDCONST // need_break len res_len result str byte }>ELSE<{ // need_break len res_len result char str byte=0 s2 PUSH // need_break len res_len result char str byte=0 char 47 GTINT // need_break len res_len result char str byte=0 _34 s3 PUSH // need_break len res_len result char str byte=0 _34 char 58 LESSINT // need_break len res_len result char str byte=0 _34 _36 AND // need_break len res_len result char str byte=0 _37 IF:<{ // need_break len res_len result char str byte=0 DROP // need_break len res_len result char str SWAP // need_break len res_len result str char 4 ADDCONST // need_break len res_len result str byte }>ELSE<{ // need_break len res_len result char str byte=0 s2 PUSH // need_break len res_len result char str byte=0 char 45 EQINT // need_break len res_len result char str byte=0 _41 IF:<{ // need_break len res_len result char str byte=0 DROP NIP // need_break len res_len result str 62 PUSHINT // need_break len res_len result str byte=62 }>ELSE<{ // need_break len res_len result char str byte=0 s0 s2 XCHG // need_break len res_len result byte=0 str char 95 EQINT // need_break len res_len result byte=0 str _44 IF:<{ // need_break len res_len result byte=0 str NIP // need_break len res_len result str 63 PUSHINT // need_break len res_len result str byte=63 }>ELSE<{ // need_break len res_len result byte=0 str 260 THROW SWAP // need_break len res_len result str byte }> }> }> }> }> s0 s4 XCHG // need_break byte res_len result str len -8 ADDCONST // need_break byte res_len result str len DUP // need_break byte res_len result str len len 0 GTINT // need_break byte res_len result str len _51 IF:<{ // need_break byte res_len result str len s4 s2 XCHG2 // need_break str res_len len byte result 6 STU // need_break str res_len len result }>ELSE<{ // need_break byte res_len result str len 8 PUSHINT // need_break byte res_len result str len _56=8 s4 s0 PUSH2 // need_break byte res_len result str len _56=8 res_len _57=8 MOD // need_break byte res_len result str len _56=8 _58 SUB // need_break byte res_len result str len _59 s5 s3 s0 XCHG3 // need_break str res_len len byte result _59 STUX // need_break str res_len len result }> s0 s2 XCHG // need_break str result len res_len 6 ADDCONST // need_break str result len res_len s0 s0 s3 XCHG3 s0 s4 XCHG // str len res_len result need_break }> // str len res_len result need_break s0 s2 XCHG // str len need_break result res_len }> // str len res_len result 3 1 BLKDROP2 // result ENDC // _63 CTOS // _64 }> get_min_price_config PROC:<{ // domain_char_count DUP // domain_char_count domain_char_count 4 EQINT // domain_char_count _2 IFJMP:<{ // domain_char_count DROP // 1000 PUSHINT // _3=1000 100 PUSHINT // _3=1000 _4=100 }> // domain_char_count DUP // domain_char_count domain_char_count 5 EQINT // domain_char_count _6 IFJMP:<{ // domain_char_count DROP // 500 PUSHINT // _7=500 50 PUSHINT // _7=500 _8=50 }> // domain_char_count DUP // domain_char_count domain_char_count 6 EQINT // domain_char_count _10 IFJMP:<{ // domain_char_count DROP // 400 PUSHINT // _11=400 40 PUSHINT // _11=400 _12=40 }> // domain_char_count DUP // domain_char_count domain_char_count 7 EQINT // domain_char_count _14 IFJMP:<{ // domain_char_count DROP // 300 PUSHINT // _15=300 30 PUSHINT // _15=300 _16=30 }> // domain_char_count DUP // domain_char_count domain_char_count 8 EQINT // domain_char_count _18 IFJMP:<{ // domain_char_count DROP // 200 PUSHINT // _19=200 20 PUSHINT // _19=200 _20=20 }> // domain_char_count DUP // domain_char_count domain_char_count 9 EQINT // domain_char_count _22 IFJMP:<{ // domain_char_count DROP // 100 PUSHINT // _23=100 10 PUSHINT // _23=100 _24=10 }> // domain_char_count 10 EQINT // _26 IFJMP:<{ // 50 PUSHINT // _27=50 5 PUSHINT // _27=50 _28=5 }> // 10 PUSHINT // _29=10 1 PUSHINT // _29=10 _30=1 }> price_function PROC:<{ // length multiplierx50 steepness 25 PUSHINT // length multiplierx50 steepness price=25 s3 PUSH // length multiplierx50 steepness price=25 length 3 EQINT // length multiplierx50 steepness price=25 _6 IF:<{ // length multiplierx50 steepness price=25 DROP // length multiplierx50 steepness 100 PUSHINT // length multiplierx50 steepness price=100 }> // length multiplierx50 steepness price s3 PUSH // length multiplierx50 steepness price length 4 EQINT // length multiplierx50 steepness price _9 IF:<{ // length multiplierx50 steepness price DROP // length multiplierx50 steepness 50 PUSHINT // length multiplierx50 steepness price=50 }> // length multiplierx50 steepness price s3 PUSH // length multiplierx50 steepness price length 5 EQINT // length multiplierx50 steepness price _12 IF:<{ // length multiplierx50 steepness price DROP // length multiplierx50 steepness 25 PUSHINT // length multiplierx50 steepness price=25 }> // length multiplierx50 steepness price s3 PUSH // length multiplierx50 steepness price length 6 EQINT // length multiplierx50 steepness price _15 IF:<{ // length multiplierx50 steepness price DROP // length multiplierx50 steepness 20 PUSHINT // length multiplierx50 steepness price=20 }> // length multiplierx50 steepness price s3 PUSH // length multiplierx50 steepness price length 7 EQINT // length multiplierx50 steepness price _18 IF:<{ // length multiplierx50 steepness price DROP // length multiplierx50 steepness 15 PUSHINT // length multiplierx50 steepness price=15 }> // length multiplierx50 steepness price s3 PUSH // length multiplierx50 steepness price length 8 EQINT // length multiplierx50 steepness price _21 IF:<{ // length multiplierx50 steepness price DROP // length multiplierx50 steepness 10 PUSHINT // length multiplierx50 steepness price=10 }> // length multiplierx50 steepness price s0 s3 XCHG // price multiplierx50 steepness length 8 GTINT // price multiplierx50 steepness _24 IF:<{ // price multiplierx50 steepness 5 PUSHINT s3 POP // price=5 multiplierx50 steepness }> // price multiplierx50 steepness s0 s2 PUXC // steepness multiplierx50 steepness price MUL // steepness multiplierx50 _26 10 PUSHINT // steepness multiplierx50 _26 _27=10 s0 s3 XCHG2 // _26 multiplierx50 _27=10 steepness SUB // _26 multiplierx50 _28 25 MULCONST // _26 multiplierx50 _30 s1 s2 XCHG // multiplierx50 _26 _30 ADD // multiplierx50 _31 10 PUSHINT // multiplierx50 _31 _32=10 DIV // multiplierx50 price 1000000000 PUSHINT // multiplierx50 price _34=1000000000 MUL // multiplierx50 _35 SWAP // _35 multiplierx50 MUL // _36 50 PUSHINT // _36 _37=50 DIV // _38 }> get_min_price PROC:<{ // domain_bits_length now_time SWAP // now_time domain_bits_length 3 RSHIFT# // now_time _5 get_min_price_config CALLDICT // now_time start_min_price end_min_price SWAP 1000000000 PUSHINT // now_time end_min_price start_min_price _7=1000000000 MUL // now_time end_min_price start_min_price SWAP 1000000000 PUSHINT // now_time start_min_price end_min_price _9=1000000000 MUL // now_time start_min_price end_min_price s0 s2 XCHG 1659171600 PUSHINT // end_min_price start_min_price now_time _12=1659171600 SUB // end_min_price start_min_price seconds 2592000 PUSHINT // end_min_price start_min_price seconds _15=2592000 DIV // end_min_price start_min_price months DUP // end_min_price start_min_price months months 21 GTINT // end_min_price start_min_price months _18 IFJMP:<{ // end_min_price start_min_price months 2DROP // end_min_price }> // end_min_price start_min_price months 1 2 BLKDROP2 // start_min_price months REPEAT:<{ // start_min_price 90 MULCONST // _20 100 PUSHINT // _20 _21=100 DIV // start_min_price }> }> force_chain PROC:<{ // addr REWRITESTDADDR // _8 _9 DROP // wc 0 PUSHINT // wc _5 EQUAL // _6 333 THROWIFNOT }> unpack_auction PROC:<{ // auction DUP // auction auction ISNULL // auction _1 IFJMP:<{ // auction DROP // PUSHNULL // _2 0 PUSHINT // _2 _3=0 DUP // _2 _3=0 _4=0 }> // auction CTOS // ds LDMSGADDR // _7 ds LDVARUINT16 // _7 _9 ds 64 LDU // _7 _9 _19 _18 DROP // _7 _9 _11 }> pack_auction PROC:<{ // max_bid_address max_bid_amount auction_end_time NEWC // max_bid_address max_bid_amount auction_end_time _3 s0 s3 XCHG2 // auction_end_time max_bid_amount _3 max_bid_address STSLICER // auction_end_time max_bid_amount _4 SWAP // auction_end_time _4 max_bid_amount STVARUINT16 // auction_end_time _5 64 STU // _7 ENDC // _8 }> get_public_key PROC:<{ // c4 PUSH // _1 CTOS // cs LDREF // _8 _7 NIP // cs 256 PLDU // _6 }> load_data PROC:<{ // c4 PUSH // _1 CTOS // root_cell LDREF // _41 _40 DROP // _4 CTOS // ds LDREF // code ds 256 LDU // code _12 ds LDMSGADDR // code index collection_address ds DUP // code index collection_address ds ds SBITS // code index collection_address ds _17 0 GTINT // code index collection_address ds _19 IFJMP:<{ // code index collection_address ds LDMSGADDR // code index collection_address owner ds LDREF // code index collection_address owner content ds -1 PUSHINT // code index collection_address owner content ds _26=-1 SWAP // code index collection_address owner content _26=-1 ds LDREF // code index collection_address owner content _26=-1 _27 ds LDDICT // code index collection_address owner content _26=-1 _27 _29 ds 64 LDU // code index collection_address owner content _26=-1 _27 _29 _57 _56 DROP // code index collection_address owner content _26=-1 _27 _29 _31 s4 s8 XCHG s4 s7 XCHG 4 3 REVERSE s3 s4 XCHG // content code _26=-1 index collection_address owner _27 _29 _31 }> // code index collection_address ds DROP // code index collection_address PUSHNULL // code index collection_address _34 0 PUSHINT // code index collection_address _34 _35=0 PUSHNULL // code index collection_address _34 _35=0 _36 PUSHNULL // code index collection_address _34 _35=0 _36 _37 PUSHNULL // code index collection_address _34 _35=0 _36 _37 _38 s3 PUSH // code index collection_address _34 _35=0 _36 _37 _38 _39=0 s5 s8 XCHG s5 s7 XCHG s4 s6 XCHG // _34 code _35=0 index collection_address _36 _37 _38 _39=0 }> calculate_nft_item_state_init PROC:<{ // item_index nft_item_code DUP NEWC // item_index nft_item_code nft_item_code _3 STREF // item_index nft_item_code _4 s1 s2 XCHG // nft_item_code item_index _4 256 STU // nft_item_code _6 MYADDR // nft_item_code _6 _7 STSLICER // nft_item_code _8 ENDC // nft_item_code data 0 PUSHINT // nft_item_code data _10=0 DUP // nft_item_code data _10=0 _11=0 NEWC // nft_item_code data _10=0 _11=0 _12 2 STU // nft_item_code data _10=0 _14 s1 s3 XCHG // _10=0 data nft_item_code _14 STDICT // _10=0 data _15 STDICT // _10=0 _16 1 STU // _18 ENDC // _19 }> calculate_nft_item_address PROC:<{ // wc state_init HASHCU // wc _2 4 PUSHINT // wc _2 _3=4 NEWC // wc _2 _3=4 _4 3 STU // wc _2 _6 s1 s2 XCHG // _2 wc _6 8 STI // _2 _8 256 STU // _10 ENDC // _11 CTOS // _12 }> pack_state PROC:<{ // content nft_item_code index collection_address owner_address domain auction last_fill_up_time s0 s6 XCHG NEWC // content last_fill_up_time index collection_address owner_address domain auction nft_item_code _8 STREF // content last_fill_up_time index collection_address owner_address domain auction _9 s1 s5 XCHG // content last_fill_up_time auction collection_address owner_address domain index _9 256 STU // content last_fill_up_time auction collection_address owner_address domain _11 s0 s3 XCHG2 // content last_fill_up_time auction domain owner_address _11 collection_address STSLICER // content last_fill_up_time auction domain owner_address _12 SWAP // content last_fill_up_time auction domain _12 owner_address STSLICER // content last_fill_up_time auction domain _13 s1 s4 XCHG // domain last_fill_up_time auction content _13 STREF // domain last_fill_up_time auction _14 s1 s3 XCHG // auction last_fill_up_time domain _14 STREF // auction last_fill_up_time _15 s1 s2 XCHG // last_fill_up_time auction _15 STDICT // last_fill_up_time _16 64 STU // _18 ENDC // _19 }> store_data PROC:<{ // content nft_item_code index collection_address owner_address domain auction last_fill_up_time pack_state CALLDICT // data get_public_key CALLDICT // data public_key SWAP NEWC // public_key data _12 STREF // public_key _13 256 STU // _15 ENDC // _16 c4 POP }> send_msg PROCINLINE:<{ // to_address amount op query_id payload send_mode 0 PUSHINT // to_address amount op query_id payload send_mode _7=0 16 PUSHINT // to_address amount op query_id payload send_mode _7=0 _8=16 NEWC // to_address amount op query_id payload send_mode _7=0 _8=16 _9 6 STU // to_address amount op query_id payload send_mode _7=0 _11 s0 s7 XCHG2 // _7=0 amount op query_id payload send_mode _11 to_address STSLICER // _7=0 amount op query_id payload send_mode _12 s0 s5 XCHG2 // _7=0 send_mode op query_id payload _12 amount STVARUINT16 // _7=0 send_mode op query_id payload _13 s1 s5 XCHG // payload send_mode op query_id _7=0 _13 107 STU // payload send_mode op query_id _27 s1 s2 XCHG // payload send_mode query_id op _27 32 STU // payload send_mode query_id _29 64 STU // payload send_mode msg s2 PUSH // payload send_mode msg payload ISNULL // payload send_mode msg _32 NOT // payload send_mode msg _33 IF:<{ // payload send_mode msg ROT // send_mode msg payload STBR // send_mode msg SWAP // msg send_mode }>ELSE<{ s2 POP // msg send_mode }> SWAP // send_mode msg ENDC // send_mode _35 SWAP // _35 send_mode SENDRAWMSG }> transfer_ownership PROCINLINE:<{ // my_balance collection_content nft_item_code index collection_address owner_address sender_address query_id in_msg_body fwd_fees domain auction s5 POP // my_balance collection_content nft_item_code index collection_address owner_address auction query_id in_msg_body fwd_fees domain s0 s2 XCHG // my_balance collection_content nft_item_code index collection_address owner_address auction query_id domain fwd_fees in_msg_body LDMSGADDR // my_balance collection_content nft_item_code index collection_address owner_address auction query_id domain fwd_fees new_owner_address in_msg_body OVER // my_balance collection_content nft_item_code index collection_address owner_address auction query_id domain fwd_fees new_owner_address in_msg_body new_owner_address force_chain CALLDICT LDMSGADDR // my_balance collection_content nft_item_code index collection_address owner_address auction query_id domain fwd_fees new_owner_address response_destination in_msg_body 1 LDI // my_balance collection_content nft_item_code index collection_address owner_address auction query_id domain fwd_fees new_owner_address response_destination _58 _57 NIP // my_balance collection_content nft_item_code index collection_address owner_address auction query_id domain fwd_fees new_owner_address response_destination in_msg_body LDVARUINT16 // my_balance collection_content nft_item_code index collection_address owner_address auction query_id domain fwd_fees new_owner_address response_destination forward_amount in_msg_body 1000000000 PUSHINT // my_balance collection_content nft_item_code index collection_address owner_address auction query_id domain fwd_fees new_owner_address response_destination forward_amount in_msg_body _26 s1 s14 XCHG // in_msg_body collection_content nft_item_code index collection_address owner_address auction query_id domain fwd_fees new_owner_address response_destination forward_amount my_balance _26 SUB // in_msg_body collection_content nft_item_code index collection_address owner_address auction query_id domain fwd_fees new_owner_address response_destination forward_amount rest_amount OVER // in_msg_body collection_content nft_item_code index collection_address owner_address auction query_id domain fwd_fees new_owner_address response_destination forward_amount rest_amount forward_amount IF:<{ // in_msg_body collection_content nft_item_code index collection_address owner_address auction query_id domain fwd_fees new_owner_address response_destination forward_amount rest_amount s1 s4 PUSH2 // in_msg_body collection_content nft_item_code index collection_address owner_address auction query_id domain fwd_fees new_owner_address response_destination forward_amount rest_amount forward_amount fwd_fees ADD // in_msg_body collection_content nft_item_code index collection_address owner_address auction query_id domain fwd_fees new_owner_address response_destination forward_amount rest_amount _28 SUB // in_msg_body collection_content nft_item_code index collection_address owner_address auction query_id domain fwd_fees new_owner_address response_destination forward_amount rest_amount }> // in_msg_body collection_content nft_item_code index collection_address owner_address auction query_id domain fwd_fees new_owner_address response_destination forward_amount rest_amount s2 PUSH // in_msg_body collection_content nft_item_code index collection_address owner_address auction query_id domain fwd_fees new_owner_address response_destination forward_amount rest_amount response_destination 2 PLDU // in_msg_body collection_content nft_item_code index collection_address owner_address auction query_id domain fwd_fees new_owner_address response_destination forward_amount rest_amount _32 0 NEQINT // in_msg_body collection_content nft_item_code index collection_address owner_address auction query_id domain fwd_fees new_owner_address response_destination forward_amount rest_amount need_response DUP // in_msg_body collection_content nft_item_code index collection_address owner_address auction query_id domain fwd_fees new_owner_address response_destination forward_amount rest_amount need_response need_response IF:<{ // in_msg_body collection_content nft_item_code index collection_address owner_address auction query_id domain fwd_fees new_owner_address response_destination forward_amount rest_amount need_response s0 s5 XCHG // in_msg_body collection_content nft_item_code index collection_address owner_address auction query_id domain need_response new_owner_address response_destination forward_amount rest_amount fwd_fees SUB // in_msg_body collection_content nft_item_code index collection_address owner_address auction query_id domain need_response new_owner_address response_destination forward_amount rest_amount }>ELSE<{ s5 POP // in_msg_body collection_content nft_item_code index collection_address owner_address auction query_id domain need_response new_owner_address response_destination forward_amount rest_amount }> DUP // in_msg_body collection_content nft_item_code index collection_address owner_address auction query_id domain need_response new_owner_address response_destination forward_amount rest_amount rest_amount -1 GTINT // in_msg_body collection_content nft_item_code index collection_address owner_address auction query_id domain need_response new_owner_address response_destination forward_amount rest_amount _38 402 THROWIFNOT OVER // in_msg_body collection_content nft_item_code index collection_address owner_address auction query_id domain need_response new_owner_address response_destination forward_amount rest_amount forward_amount IF:<{ // in_msg_body collection_content nft_item_code index collection_address owner_address auction query_id domain need_response new_owner_address response_destination forward_amount rest_amount 0x05138d91 PUSHINT // in_msg_body collection_content nft_item_code index collection_address owner_address auction query_id domain need_response new_owner_address response_destination forward_amount rest_amount _40 NEWC // in_msg_body collection_content nft_item_code index collection_address owner_address auction query_id domain need_response new_owner_address response_destination forward_amount rest_amount _40 _41 s0 s10 XCHG2 // in_msg_body collection_content nft_item_code index collection_address _40 auction query_id domain need_response new_owner_address response_destination forward_amount rest_amount _41 owner_address STSLICER // in_msg_body collection_content nft_item_code index collection_address _40 auction query_id domain need_response new_owner_address response_destination forward_amount rest_amount _42 s0 s14 XCHG2 // rest_amount collection_content nft_item_code index collection_address _40 auction query_id domain need_response new_owner_address response_destination forward_amount _42 in_msg_body STSLICER // rest_amount collection_content nft_item_code index collection_address _40 auction query_id domain need_response new_owner_address response_destination forward_amount _43 1 PUSHINT // rest_amount collection_content nft_item_code index collection_address _40 auction query_id domain need_response new_owner_address response_destination forward_amount _43 _44=1 s4 PUSH s10 s1 s4 XCHG3 s8 s10 s(-1) PUXC2 // rest_amount collection_content nft_item_code index collection_address response_destination auction query_id domain need_response new_owner_address new_owner_address forward_amount _40 query_id _43 _44=1 send_msg INLINECALLDICT s5 s10 XCHG // response_destination collection_content nft_item_code index collection_address rest_amount auction query_id domain need_response new_owner_address }>ELSE<{ s2 s13 XCHG s8 POP 2DROP // response_destination collection_content nft_item_code index collection_address rest_amount auction query_id domain need_response new_owner_address }> SWAP // response_destination collection_content nft_item_code index collection_address rest_amount auction query_id domain new_owner_address need_response IF:<{ // response_destination collection_content nft_item_code index collection_address rest_amount auction query_id domain new_owner_address s9 PUSH // response_destination collection_content nft_item_code index collection_address rest_amount auction query_id domain new_owner_address response_destination force_chain CALLDICT 0xd53276db PUSHINT // response_destination collection_content nft_item_code index collection_address rest_amount auction query_id domain new_owner_address _47 s3 s10 XCHG s5 s0 s10 XCHG3 PUSHNULL 1 PUSHINT // new_owner_address collection_content nft_item_code index collection_address domain auction response_destination rest_amount _47 query_id _48 _49=1 send_msg INLINECALLDICT }>ELSE<{ s9 POP s3 POP DROP // new_owner_address collection_content nft_item_code index collection_address domain auction }> s5 s6 XCHG s4 s5 XCHG s3 s4 XCHG s2 s3 XCHG NOW // collection_content nft_item_code index collection_address new_owner_address domain auction _51 store_data CALLDICT }> deploy_nft_item PROC:<{ // item_index nft_item_code nft_content -ROT // nft_content item_index nft_item_code calculate_nft_item_state_init CALLDICT // nft_content state_init 0 PUSHINT // nft_content state_init _6 OVER // nft_content state_init _6 state_init calculate_nft_item_address CALLDICT // nft_content state_init nft_address 7 PUSHINT // nft_content state_init nft_address _13 24 PUSHINT // nft_content state_init nft_address _13 _14=24 NEWC // nft_content state_init nft_address _13 _14=24 _15 6 STU // nft_content state_init nft_address _13 _17 ROT // nft_content state_init _13 _17 nft_address STSLICER // nft_content state_init _13 _18 0 PUSHINT // nft_content state_init _13 _18 _19=0 STVARUINT16 // nft_content state_init _13 _20 108 STU // nft_content state_init _36 STREF // nft_content _37 STREF // msg ENDC // _39 64 PUSHINT // _39 _40=64 SENDRAWMSG }> pack_nft_item_state PROC:<{ // nft_item_code data 0 PUSHINT // nft_item_code data _2=0 DUP // nft_item_code data _2=0 _3=0 NEWC // nft_item_code data _2=0 _3=0 _4 2 STU // nft_item_code data _2=0 _6 s1 s3 XCHG // _2=0 data nft_item_code _6 STDICT // _2=0 data _7 STDICT // _2=0 _8 1 STU // _10 ENDC // _11 }> deploy_bought_item PROC:<{ // item_index code owner_address domain 0 PUSHINT // item_index code owner_address domain _5=0 PUSHNULL // item_index code owner_address domain _5=0 _6 PUSHNULL // item_index code owner_address domain _5=0 _6 _7 s5 PUSH NEWC // item_index code owner_address domain _5=0 _6 _7 code _8 STREF // item_index code owner_address domain _5=0 _6 _7 _9 s1 s7 XCHG // _7 code owner_address domain _5=0 _6 item_index _9 256 STU // _7 code owner_address domain _5=0 _6 _11 MYADDR // _7 code owner_address domain _5=0 _6 _11 _12 STSLICER // _7 code owner_address domain _5=0 _6 _13 s0 s4 XCHG2 // _7 code _6 domain _5=0 _13 owner_address STSLICER // _7 code _6 domain _5=0 _14 s1 s5 XCHG // _5=0 code _6 domain _7 _14 STDICT // _5=0 code _6 domain _15 STREF // _5=0 code _6 _16 STDICT // _5=0 code _17 s1 s2 XCHG // code _5=0 _17 64 STU // code _19 ENDC // code init_data pack_nft_item_state CALLDICT // state_init 0 PUSHINT // state_init _24 OVER // state_init _24 state_init calculate_nft_item_address CALLDICT // state_init nft_address 1132315656 PUSHINT // state_init nft_address _27=1132315656 NEWC // state_init nft_address _27=1132315656 _28 32 STU // state_init nft_address _30 ENDC // state_init nft_address _31 1 PUSHINT // state_init nft_address _31 _32=1 7 PUSHINT // state_init nft_address _31 _32=1 _37 24 PUSHINT // state_init nft_address _31 _32=1 _37 _38=24 NEWC // state_init nft_address _31 _32=1 _37 _38=24 _39 6 STU // state_init nft_address _31 _32=1 _37 _41 s0 s4 XCHG2 // state_init _37 _31 _32=1 _41 nft_address STSLICER // state_init _37 _31 _32=1 _42 0 PUSHINT // state_init _37 _31 _32=1 _42 _43=0 STVARUINT16 // state_init _37 _31 _32=1 _44 s1 s3 XCHG // state_init _32=1 _31 _37 _44 108 STU // state_init _32=1 _31 _60 s1 s3 XCHG // _31 _32=1 state_init _60 STREF // _31 _32=1 _61 1 STU // _31 _63 STREF // msg ENDC // _65 64 PUSHINT // _65 _66=64 SENDRAWMSG }> recv_internal PROC:<{ // msg_value in_msg_full in_msg_body DUP // msg_value in_msg_full in_msg_body in_msg_body SEMPTY // msg_value in_msg_full in_msg_body _3 IF:<{ // msg_value in_msg_full in_msg_body 16 PUSHPOW2DEC // msg_value in_msg_full in_msg_body _4=65535 THROWANY }> // msg_value in_msg_full in_msg_body BALANCE // msg_value in_msg_full in_msg_body _7 FIRST // msg_value in_msg_full in_msg_body my_balance OVER // msg_value in_msg_full in_msg_body my_balance in_msg_body SEMPTY // msg_value in_msg_full in_msg_body my_balance _10 IF:<{ // msg_value in_msg_full in_msg_body my_balance 0 PUSHINT // msg_value in_msg_full in_msg_body my_balance _11=0 }>ELSE<{ // msg_value in_msg_full in_msg_body my_balance SWAP // msg_value in_msg_full my_balance in_msg_body 32 LDU // msg_value in_msg_full my_balance _11 in_msg_body -ROT // msg_value in_msg_full in_msg_body my_balance _11 }> // msg_value in_msg_full in_msg_body my_balance op s0 s3 XCHG // msg_value op in_msg_body my_balance in_msg_full CTOS // msg_value op in_msg_body my_balance cs 4 LDU // msg_value op in_msg_body my_balance flags cs SWAP 1 PUSHINT // msg_value op in_msg_body my_balance cs flags _22=1 AND // msg_value op in_msg_body my_balance cs _23 IFJMP:<{ // msg_value op in_msg_body my_balance cs 5 BLKDROP // }> // msg_value op in_msg_body my_balance cs LDMSGADDR // msg_value op in_msg_body my_balance sender_address cs LDMSGADDR // msg_value op in_msg_body my_balance sender_address _217 _216 NIP // msg_value op in_msg_body my_balance sender_address cs LDVARUINT16 // msg_value op in_msg_body my_balance sender_address _219 _218 NIP // msg_value op in_msg_body my_balance sender_address cs 1 PUSHINT // msg_value op in_msg_body my_balance sender_address cs _32=1 SDSKIPFIRST // msg_value op in_msg_body my_balance sender_address cs LDVARUINT16 // msg_value op in_msg_body my_balance sender_address _221 _220 NIP // msg_value op in_msg_body my_balance sender_address cs LDVARUINT16 // msg_value op in_msg_body my_balance sender_address _223 _222 DROP // msg_value op in_msg_body my_balance sender_address fwd_fee load_data CALLDICT // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code init? index collection_address owner_address domain auction last_fill_up_time s6 PUSH // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code init? index collection_address owner_address domain auction last_fill_up_time init? NOT // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code init? index collection_address owner_address domain auction last_fill_up_time _49 IFJMP:<{ // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code init? index collection_address owner_address domain auction last_fill_up_time 4 BLKDROP s2 POP s3 POP s3 POP s4 POP s5 POP // msg_value index in_msg_body item_code sender_address collection_address s0 s1 PUXC // msg_value index in_msg_body item_code collection_address collection_address sender_address SDEQ // msg_value index in_msg_body item_code collection_address _51 405 THROWIFNOT s0 s2 XCHG // msg_value index collection_address item_code in_msg_body LDMSGADDR // msg_value index collection_address item_code from_address in_msg_body LDREF // msg_value index collection_address item_code from_address _236 _235 DROP // msg_value index collection_address item_code from_address domain NEWDICT // msg_value index collection_address item_code from_address domain _60 0 PUSHINT // msg_value index collection_address item_code from_address domain _60 _61=0 NEWC // msg_value index collection_address item_code from_address domain _60 _61=0 _62 8 STU // msg_value index collection_address item_code from_address domain _60 _64 STDICT // msg_value index collection_address item_code from_address domain _65 ENDC // msg_value index collection_address item_code from_address domain content NOW // msg_value index collection_address item_code from_address domain content _68 1659171600 PUSHINT // msg_value index collection_address item_code from_address domain content _68 _69=1659171600 SUB // msg_value index collection_address item_code from_address domain content seconds 2592000 PUSHINT // msg_value index collection_address item_code from_address domain content seconds _72=2592000 DIV // msg_value index collection_address item_code from_address domain content months DUP // msg_value index collection_address item_code from_address domain content months months 12 GTINT // msg_value index collection_address item_code from_address domain content months _75 IF:<{ // msg_value index collection_address item_code from_address domain content months DROP // msg_value index collection_address item_code from_address domain content 12 PUSHINT // msg_value index collection_address item_code from_address domain content months=12 }> // msg_value index collection_address item_code from_address domain content months 604800 PUSHINT // msg_value index collection_address item_code from_address domain content months _78=604800 601200 PUSHINT ROT // msg_value index collection_address item_code from_address domain content _78=604800 _81 months MUL // msg_value index collection_address item_code from_address domain content _78=604800 _82 12 PUSHINT // msg_value index collection_address item_code from_address domain content _78=604800 _82 _83=12 DIV // msg_value index collection_address item_code from_address domain content _78=604800 _84 SUB // msg_value index collection_address item_code from_address domain content duration NOW // msg_value index collection_address item_code from_address domain content duration _87 SWAP // msg_value index collection_address item_code from_address domain content _87 duration ADD // msg_value index collection_address item_code from_address domain content auction_end_time zero_address CALLDICT // msg_value index collection_address item_code from_address domain content auction_end_time _89 s4 s8 s8 XCHG3 // _89 index collection_address item_code content domain from_address msg_value auction_end_time pack_auction CALLDICT // _89 index collection_address item_code content domain _90 5 2 REVERSE s3 s4 XCHG NOW // content item_code index collection_address _89 domain _90 _91 store_data CALLDICT }> // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code init? index collection_address owner_address domain auction last_fill_up_time s4 s10 PUSH2 // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code init? index collection_address owner_address domain auction last_fill_up_time collection_address sender_address SDEQ // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code init? index collection_address owner_address domain auction last_fill_up_time _93 s1 s7 XCHG // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address owner_address domain auction init? _93 AND // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address owner_address domain auction _94 IFJMP:<{ // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address owner_address domain auction s11 s13 XCHG 13 BLKDROP // in_msg_body LDMSGADDR // _238 _237 DROP // from_address 0 PUSHINT // from_address _98=0 DUP // from_address _98=0 _99=0 LTIME // from_address _98=0 _99=0 _100 PUSHNULL // from_address _98=0 _99=0 _100 _101 64 PUSHINT // from_address _98=0 _99=0 _100 _101 _102=64 send_msg INLINECALLDICT }> // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address owner_address domain auction DUP // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address owner_address domain auction auction unpack_auction CALLDICT // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address owner_address domain auction max_bid_address max_bid_amount auction_end_time NOW // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address owner_address domain auction max_bid_address max_bid_amount auction_end_time _109 SWAP // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address owner_address domain auction max_bid_address max_bid_amount _109 auction_end_time GREATER // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address owner_address domain auction max_bid_address max_bid_amount auction_complete s0 s14 XCHG // msg_value op auction_complete my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address owner_address domain auction max_bid_address max_bid_amount in_msg_body 64 LDU // msg_value op auction_complete my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address owner_address domain auction max_bid_address max_bid_amount query_id in_msg_body s4 PUSH // msg_value op auction_complete my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address owner_address domain auction max_bid_address max_bid_amount query_id in_msg_body auction ISNULL // msg_value op auction_complete my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address owner_address domain auction max_bid_address max_bid_amount query_id in_msg_body _115 NOT // msg_value op auction_complete my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address owner_address domain auction max_bid_address max_bid_amount query_id in_msg_body _116 s1 16 s() XCHG // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address owner_address domain auction max_bid_address max_bid_amount query_id auction_complete _116 AND // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address owner_address domain auction max_bid_address max_bid_amount query_id _117 IF:<{ // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address owner_address domain auction max_bid_address max_bid_amount query_id s3 POP s4 POP // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_amount domain query_id max_bid_address s11 s14 PUSH2 // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_amount domain query_id max_bid_address my_balance msg_value SUB // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_amount domain query_id max_bid_address balance_without_msg 1000000000 PUSHINT // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_amount domain query_id max_bid_address balance_without_msg _121 s1 s(-1) PUXC // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_amount domain query_id max_bid_address balance_without_msg balance_without_msg _121 SUB // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_amount domain query_id max_bid_address balance_without_msg _122 s5 s(-1) PUXC // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_amount domain query_id max_bid_address balance_without_msg max_bid_amount _122 GREATER // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_amount domain query_id max_bid_address balance_without_msg _123 IF:<{ // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_amount domain query_id max_bid_address balance_without_msg s4 POP // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address balance_without_msg domain query_id max_bid_address 1000000000 PUSHINT // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address balance_without_msg domain query_id max_bid_address _125 s1 s4 XCHG // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_address domain query_id balance_without_msg _125 SUB // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_address domain query_id _124 }>ELSE<{ // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_amount domain query_id max_bid_address balance_without_msg DROP // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address _124 domain query_id max_bid_address s0 s3 XCHG // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_address domain query_id _124 }> // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_address domain query_id amount_to_send DUP // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_address domain query_id amount_to_send amount_to_send 0 GTINT // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_address domain query_id amount_to_send _128 IF:<{ // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_address domain query_id amount_to_send 923790417 PUSHINT // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_address domain query_id amount_to_send _129=923790417 PUSHNULL // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_address domain query_id amount_to_send _129=923790417 _130 2 PUSHINT // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_address domain query_id amount_to_send _129=923790417 _130 _131=2 s7 PUSH s3 s4 XCPU s6 s3 s2 PUXC2 // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_address domain query_id amount_to_send collection_address amount_to_send _129=923790417 query_id _130 _131=2 send_msg INLINECALLDICT s1 s11 XCHG // msg_value op in_msg_body query_id sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_address domain my_balance amount_to_send SUB // msg_value op in_msg_body query_id sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_address domain my_balance s0 s10 XCHG // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_address domain query_id }>ELSE<{ DROP // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address max_bid_address domain query_id }> // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code last_fill_up_time index collection_address owner_address domain query_id s7 s6 s4 PUSH3 s6 s5 s4 PUSH3 PUSHNULL s0 s12 PUXC // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code auction index collection_address owner_address domain query_id content item_code index collection_address owner_address domain auction last_fill_up_time store_data CALLDICT s0 s5 XCHG // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address domain auction }>ELSE<{ s8 POP 2DROP // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address domain auction }> 0x437dc408 PUSHINT // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address domain auction _136 s13 s(-1) PUXC // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address domain auction op _136 EQUAL // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address domain auction _137 IFJMP:<{ // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address domain auction 14 BLKDROP // }> // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address domain auction 0x16c7d435 PUSHINT // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address domain auction _138 s13 s(-1) PUXC // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address domain auction op _138 EQUAL // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address domain auction _139 IFJMP:<{ // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address domain auction s6 s8 XCHG 8 BLKDROP s2 POP s3 POP // msg_value sender_address in_msg_body item_code SWAP 9 PUSHPOW2 // msg_value sender_address item_code in_msg_body _142=512 LDSLICEX // msg_value sender_address item_code signature in_msg_body 256 LDU // msg_value sender_address item_code signature amount in_msg_body MYADDR // msg_value sender_address item_code signature amount in_msg_body issued_collection_addr SWAP // msg_value sender_address item_code signature amount issued_collection_addr in_msg_body LDREF // msg_value sender_address item_code signature amount issued_collection_addr _249 _248 DROP // msg_value sender_address item_code signature amount issued_collection_addr new_domain get_public_key CALLDICT // msg_value sender_address item_code signature amount issued_collection_addr new_domain public_key NEWC // msg_value sender_address item_code signature amount issued_collection_addr new_domain public_key _156 s7 PUSH // msg_value sender_address item_code signature amount issued_collection_addr new_domain public_key _156 sender_address STSLICER // msg_value sender_address item_code signature amount issued_collection_addr new_domain public_key _157 s0 s3 XCHG2 // msg_value sender_address item_code signature amount public_key new_domain _157 issued_collection_addr STSLICER // msg_value sender_address item_code signature amount public_key new_domain _158 s3 s(-1) PUXC // msg_value sender_address item_code signature amount public_key new_domain amount _158 256 STU // msg_value sender_address item_code signature amount public_key new_domain _160 s1 s(-1) PUXC // msg_value sender_address item_code signature amount public_key new_domain new_domain _160 STREF // msg_value sender_address item_code signature amount public_key new_domain _161 ENDC // msg_value sender_address item_code signature amount public_key new_domain signed_data HASHCU // msg_value sender_address item_code signature amount public_key new_domain hash DUMPSTK s4 s2 XCHG2 // msg_value sender_address item_code new_domain amount hash signature public_key CHKSIGNU // msg_value sender_address item_code new_domain amount success? 413 THROWIFNOT s4 s0 PUSH2 // msg_value sender_address item_code new_domain amount msg_value amount GEQ // msg_value sender_address item_code new_domain amount _171 NIP s4 POP // _171 sender_address item_code new_domain s0 s3 XCHG // new_domain sender_address item_code _171 414 THROWIFNOT s2 PUSH // new_domain sender_address item_code new_domain HASHCU // new_domain sender_address item_code new_item_index s2 s3 XCHG2 // new_item_index item_code sender_address new_domain deploy_bought_item CALLDICT }> // msg_value op in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address domain auction s13 POP // auction op in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address domain 0x1a039a51 PUSHINT // auction op in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address domain _178 s12 s(-1) PUXC // auction op in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address domain op _178 EQUAL // auction op in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address domain _179 IFJMP:<{ // auction op in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address domain s1 s7 XCHG 7 BLKDROP 4 2 BLKDROP2 // sender_address owner_address SDEQ // _181 401 THROWIFNOT }> // auction op in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address domain 0x5fcc3d14 PUSHINT // auction op in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address domain _183 s12 s(-1) PUXC // auction op in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address domain op _183 EQUAL // auction op in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address domain _184 IFJMP:<{ // auction op in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address domain s11 POP // auction domain in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address s7 s0 PUSH2 // auction domain in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address sender_address owner_address SDEQ // auction domain in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address _186 401 THROWIFNOT s8 s11 XCHG s5 s10 XCHG s4 s9 XCHG s8 s7 s6 XCHG3 s1 s5 XCHG s3 s4 XCHG s0 s2 XCHG // my_balance content item_code index collection_address owner_address sender_address query_id in_msg_body fwd_fee domain auction transfer_ownership INLINECALLDICT }> // auction op in_msg_body my_balance sender_address fwd_fee content item_code query_id index collection_address owner_address domain s6 POP s6 POP s7 POP // auction op in_msg_body collection_address sender_address owner_address domain item_code query_id index 0x1a0b9d51 PUSHINT // auction op in_msg_body collection_address sender_address owner_address domain item_code query_id index _189 s9 s(-1) PUXC // auction op in_msg_body collection_address sender_address owner_address domain item_code query_id index op _189 EQUAL // auction op in_msg_body collection_address sender_address owner_address domain item_code query_id index _190 IFJMP:<{ // auction op in_msg_body collection_address sender_address owner_address domain item_code query_id index NIP s7 POP // auction index in_msg_body collection_address sender_address owner_address domain item_code s3 s2 XCPU // auction index in_msg_body collection_address item_code owner_address domain sender_address owner_address SDEQ // auction index in_msg_body collection_address item_code owner_address domain _192 410 THROWIFNOT s0 s4 XCHG // auction index domain collection_address item_code owner_address in_msg_body LDREF // auction index domain collection_address item_code owner_address _251 _250 DROP // auction index domain collection_address item_code owner_address _194 s1 s5 s6 XCHG3 s1 s4 XCHG NOW // _194 item_code index collection_address owner_address domain auction _196 store_data CALLDICT }> // auction op in_msg_body collection_address sender_address owner_address domain item_code query_id index s7 s9 XCHG2 5 BLKDROP // index op query_id collection_address sender_address 0x2fcb26a2 PUSHINT // index op query_id collection_address sender_address _198 s1 s4 XCHG // index sender_address query_id collection_address op _198 EQUAL // index sender_address query_id collection_address _199 IFJMP:<{ // index sender_address query_id collection_address 0 PUSHINT // index sender_address query_id collection_address _200=0 0x8b771735 PUSHINT // index sender_address query_id collection_address _200=0 _201 s0 s5 XCHG NEWC // _201 sender_address query_id collection_address _200=0 index _202 256 STU // _201 sender_address query_id collection_address _200=0 _204 ROT // _201 sender_address query_id _200=0 _204 collection_address STSLICER // _201 sender_address query_id _200=0 _205 s1 s3 XCHG s4 s4 s0 XCHG3 64 PUSHINT // sender_address _200=0 _201 query_id _205 _206=64 send_msg INLINECALLDICT }> // index sender_address query_id collection_address 4 BLKDROP // 16 PUSHPOW2DEC // _208=65535 THROWANY }> get_nft_data PROC:<{ // load_data CALLDICT // _10 _11 _12 _13 _14 _15 _16 _17 _18 3 BLKDROP s4 POP // content owner_address init? index collection_address s0 s3 s4 XCHG3 // init? index collection_address owner_address content }> get_editor PROC:<{ // load_data CALLDICT // _10 _11 _12 _13 _14 _15 _16 _17 _18 s3 s8 XCHG 8 BLKDROP // owner_address }> get_domain PROC:<{ // load_data CALLDICT // _11 _12 _13 _14 _15 _16 _17 _18 _19 s2 s8 XCHG 8 BLKDROP // domain CTOS // _10 }> get_last_fill_up_time PROC:<{ // load_data CALLDICT // _10 _11 _12 _13 _14 _15 _16 _17 _18 8 1 BLKDROP2 // last_fill_up_time }> get_collection_data PROC:<{ // load_data CALLDICT // _12 _13 _14 _15 _16 _17 _18 _19 _20 8 BLKDROP // content -1 PUSHINT // content _10=-1 zero_address CALLDICT // content _10=-1 _11 s1 s2 XCHG // _10=-1 content _11 }> get_nft_address_by_index PROC:<{ // index DROP // load_data CALLDICT // _15 _16 _17 _18 _19 _20 _21 _22 _23 s5 s6 XCHG 6 BLKDROP s2 POP // index nft_item_code calculate_nft_item_state_init CALLDICT // state_init 0 PUSHINT // state_init _13 SWAP // _13 state_init calculate_nft_item_address CALLDICT // _14 }> get_nft_content PROC:<{ // index individual_nft_content NIP // individual_nft_content }> dnsresolve PROC:<{ // subdomain category OVER // subdomain category subdomain SBITS // subdomain category subdomain_bits 8 PUSHINT // subdomain category subdomain_bits _5=8 MOD // subdomain category _6 0 EQINT // subdomain category _8 70 THROWIFNOT load_data CALLDICT // subdomain category _71 _72 _73 _74 _75 _76 _77 _78 _79 8 BLKDROP // subdomain category content CTOS // subdomain category cs 8 LDU // subdomain category _23 cs SWAP // subdomain category cs _23 0 EQINT // subdomain category cs _27 412 THROWIFNOT LDDICT // subdomain category _83 _82 DROP // subdomain category keyvalue_map s2 PUSH // subdomain category keyvalue_map subdomain 8 PLDI // subdomain category keyvalue_map _34 0 EQINT // subdomain category keyvalue_map starts_with_zero_byte s3 PUSH // subdomain category keyvalue_map starts_with_zero_byte subdomain SBITS // subdomain category keyvalue_map starts_with_zero_byte _37 8 EQINT // subdomain category keyvalue_map starts_with_zero_byte _39 s1 s(-1) PUXC // subdomain category keyvalue_map starts_with_zero_byte starts_with_zero_byte _39 AND // subdomain category keyvalue_map starts_with_zero_byte _40 IFJMP:<{ // subdomain category keyvalue_map starts_with_zero_byte DROP s2 POP // keyvalue_map category DUP // keyvalue_map category category 0 EQINT // keyvalue_map category _42 IFJMP:<{ // keyvalue_map category DROP // keyvalue_map 8 PUSHINT // keyvalue_map _43=8 SWAP // _43=8 keyvalue_map }> // keyvalue_map category SWAP 8 PUSHPOW2 // category keyvalue_map _46=256 DICTUGETREF // _84 _85 DROP // value 8 PUSHINT // value _48=8 SWAP // _48=8 value }> // subdomain category keyvalue_map starts_with_zero_byte 2 1 BLKDROP2 // subdomain starts_with_zero_byte DUP // subdomain starts_with_zero_byte starts_with_zero_byte IF:<{ // subdomain starts_with_zero_byte SWAP // starts_with_zero_byte subdomain 8 LDU // starts_with_zero_byte _87 _86 NIP // starts_with_zero_byte subdomain SWAP // subdomain starts_with_zero_byte }> // subdomain starts_with_zero_byte OVER // subdomain starts_with_zero_byte subdomain get_top_domain_bits CALLDICT // subdomain starts_with_zero_byte top_subdomain_bits s2 s2 XCPU // top_subdomain_bits starts_with_zero_byte subdomain top_subdomain_bits LDSLICEX // top_subdomain_bits starts_with_zero_byte _89 _88 DROP // top_subdomain_bits starts_with_zero_byte top_subdomain HASHSU // top_subdomain_bits starts_with_zero_byte item_index 47763 PUSHINT // top_subdomain_bits starts_with_zero_byte item_index _60=47763 NEWC // top_subdomain_bits starts_with_zero_byte item_index _60=47763 _61 16 STU // top_subdomain_bits starts_with_zero_byte item_index _63 SWAP // top_subdomain_bits starts_with_zero_byte _63 item_index get_nft_address_by_index CALLDICT // top_subdomain_bits starts_with_zero_byte _63 _64 STSLICER // top_subdomain_bits starts_with_zero_byte _65 ENDC // top_subdomain_bits starts_with_zero_byte result SWAP // top_subdomain_bits result starts_with_zero_byte IF:<{ // top_subdomain_bits result 8 PUSHINT // top_subdomain_bits result _67=8 }>ELSE<{ // top_subdomain_bits result 0 PUSHINT // top_subdomain_bits result _67=0 }> s1 s2 XCHG // result top_subdomain_bits _67 ADD // result _70 SWAP // _70 result }> }END>c