TON contracts for Agorata
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.

1192 lines
69 KiB

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