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.
136 lines
4.0 KiB
136 lines
4.0 KiB
"Asm.fif" include |
|
// automatically generated from `contracts/wrapper.fc` incl:`contracts/imports/stdlib.fc` incl:`contracts/imports/constants.fc` incl:`contracts/imports/utils.fc` incl:`contracts/imports/op-codes.fc` |
|
PROGRAM{ |
|
DECLPROC send_grams |
|
DECLPROC load_data |
|
DECLPROC store_data |
|
DECLPROC recv_internal |
|
DECLPROC send_msg |
|
DECLPROC recv_external |
|
80293 DECLMETHOD get_owner |
|
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 |
|
}> |
|
load_data PROCREF:<{ |
|
// |
|
c4 PUSH // _1 |
|
CTOS // ds |
|
LDMSGADDR // target ds |
|
LDMSGADDR // target owner ds |
|
LDMSGADDR // target owner _17 _16 |
|
DROP // target owner agorata |
|
}> |
|
store_data PROCREF:<{ |
|
// target owner agorata |
|
NEWC // target owner agorata _3 |
|
s0 s3 XCHG2 // agorata owner _3 target |
|
STSLICER // agorata owner _4 |
|
SWAP // agorata _4 owner |
|
STSLICER // agorata _5 |
|
SWAP // _5 agorata |
|
STSLICER // _6 |
|
ENDC // _7 |
|
c4 POP |
|
}> |
|
recv_internal PROC:<{ |
|
SAMEALTSAVE // my_balance msg_value in_msg_full in_msg_body |
|
2 2 BLKDROP2 // in_msg_full in_msg_body |
|
DUP // in_msg_full in_msg_body in_msg_body |
|
SEMPTY // in_msg_full in_msg_body _4 |
|
IF:<{ // in_msg_full in_msg_body |
|
16 PUSHPOW2DEC // in_msg_full in_msg_body _5=65535 |
|
THROWANY |
|
}> // in_msg_full in_msg_body |
|
32 LDU // in_msg_full _37 _36 |
|
DROP // in_msg_full op |
|
SWAP // op in_msg_full |
|
CTOS // op cs |
|
4 LDU // op flags cs |
|
SWAP |
|
1 PUSHINT // op cs flags _17=1 |
|
AND // op cs _18 |
|
IFJMP:<{ // op cs |
|
2DROP // |
|
}> // op cs |
|
LDMSGADDR // op _41 _40 |
|
DROP // op sender_address |
|
load_data INLINECALLDICT // op sender_address _42 _43 _44 |
|
DROP |
|
NIP // op sender_address owner |
|
SDEQ // op _26 |
|
IF:<{ // op |
|
0x5fcc3d14 PUSHINT // op _27 |
|
s1 s(-1) PUXC // op op _27 |
|
EQUAL // op _28 |
|
0x1c04412a PUSHINT // op _28 _29 |
|
s2 s(-1) PUXC // op _28 op _29 |
|
EQUAL // op _28 _30 |
|
OR // op _31 |
|
IFJMP:<{ // op |
|
DROP // |
|
RETALT |
|
}> // op |
|
0x140aec51 PUSHINT // op _32 |
|
s1 s(-1) PUXC // op op _32 |
|
EQUAL // op _33 |
|
IFJMP:<{ // op |
|
DROP // |
|
RETALT |
|
}> // op |
|
0x4eb110a9 PUSHINT // op _34 |
|
EQUAL // _35 |
|
DROP // |
|
}>ELSE<{ |
|
DROP // |
|
}> |
|
}> |
|
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 |
|
}> |
|
recv_external PROC:<{ |
|
// in_msg_body |
|
DROP // |
|
}> |
|
get_owner PROC:<{ |
|
// |
|
}> |
|
}END>c
|
|
|