// automatically generated from `smartcont/stdlib.fc` `smartcont/restricted-wallet2-code.fc` PROGRAM{ DECLPROC recv_internal DECLPROC days_passed DECLPROC recv_external 85143 DECLMETHOD seqno 104128 DECLMETHOD balance recv_internal PROC:<{ // in_msg DROP // }> days_passed PROC:<{ // -13 PUSHINT // _1=-13 CONFIGOPTPARAM // p DUP // p p ISNULL // p _3 IF:<{ // p DROP // -1 PUSHINT // _4=-1 }>ELSE<{ // p NOW // p _6 SWAP // _6 p CTOS // _6 _7 32 PLDU // _6 _9 SUB // _10 86400 PUSHINT // _10 _11=86400 DIV // _4 }> }> recv_external PROC:<{ // in_msg 9 PUSHPOW2 // in_msg _3=512 LDSLICEX // signature in_msg DUP // signature in_msg cs 32 LDU // signature in_msg _8 cs 32 LDU // signature in_msg msg_seqno valid_until cs NOW // signature in_msg msg_seqno valid_until cs _15 s1 s2 XCHG // signature in_msg msg_seqno cs valid_until _15 LEQ // signature in_msg msg_seqno cs _16 35 THROWIF c4 PUSH // signature in_msg msg_seqno cs _19 CTOS // signature in_msg msg_seqno cs ds 32 LDU // signature in_msg msg_seqno cs _24 ds 256 LDU // signature in_msg msg_seqno cs _24 _27 ds LDDICT // signature in_msg msg_seqno cs stored_seqno public_key rdict ds ENDS s4 s2 PUSH2 // signature in_msg msg_seqno cs stored_seqno public_key rdict msg_seqno stored_seqno EQUAL // signature in_msg msg_seqno cs stored_seqno public_key rdict _34 33 THROWIFNOT s0 s4 XCHG // signature in_msg rdict cs stored_seqno public_key msg_seqno IFNOTJMP:<{ // signature in_msg rdict cs stored_seqno public_key s2 POP s3 POP s3 POP // public_key stored_seqno rdict ACCEPT SWAP // public_key rdict stored_seqno INC // public_key rdict _38 NEWC // public_key rdict _38 _39 32 STU // public_key rdict _41 s1 s2 XCHG // rdict public_key _41 256 STU // rdict _43 STDICT // _44 ENDC // _45 c4 POP }> // signature in_msg rdict cs stored_seqno public_key s0 s4 XCHG // signature public_key rdict cs stored_seqno in_msg HASHSU // signature public_key rdict cs stored_seqno _48 s0 s5 s4 XC2PU // stored_seqno public_key rdict cs _48 signature public_key CHKSIGNU // stored_seqno public_key rdict cs _49 34 THROWIFNOT ACCEPT days_passed INLINECALLDICT // stored_seqno public_key rdict cs ts s2 PUSH 16 PUSHINT // stored_seqno public_key rdict cs ts rdict _57=16 DICTIGETPREVEQ NULLSWAPIFNOT NULLSWAPIFNOT // stored_seqno public_key rdict cs _98 _97 _99 NIP // stored_seqno public_key rdict cs value found IF:<{ // stored_seqno public_key rdict cs value LDGRAMS // stored_seqno public_key rdict cs _101 _100 DROP // stored_seqno public_key rdict cs _59 2 PUSHINT // stored_seqno public_key rdict cs _59 _61=2 RAWRESERVE }>ELSE<{ DROP // stored_seqno public_key rdict cs }> // stored_seqno public_key rdict cs WHILE:<{ DUP // stored_seqno public_key rdict cs cs SREFS // stored_seqno public_key rdict cs _65 }>DO<{ // stored_seqno public_key rdict cs 8 LDU // stored_seqno public_key rdict mode cs LDREF // stored_seqno public_key rdict mode msg cs s0 s2 XCHG // stored_seqno public_key rdict cs msg mode SENDRAWMSG }> // stored_seqno public_key rdict cs ENDS s0 s2 XCHG // rdict public_key stored_seqno INC // rdict public_key _76 NEWC // rdict public_key _76 _77 32 STU // rdict public_key _79 256 STU // rdict _81 STDICT // _82 ENDC // _83 c4 POP }> seqno PROC:<{ // c4 PUSH // _0 CTOS // _1 32 PLDU // _3 }> balance PROC:<{ // c4 PUSH // _1 CTOS // _2 288 PUSHINT // _2 _5 SDSKIPFIRST // ds LDDICT // rdict ds ENDS days_passed INLINECALLDICT // rdict ts BALANCE // rdict ts _14 FIRST // rdict ts balance s0 s2 XCHG 16 PUSHINT // balance ts rdict _19=16 DICTIGETPREVEQ NULLSWAPIFNOT NULLSWAPIFNOT // balance _29 _28 _30 NIP // balance value found IF:<{ // balance value LDGRAMS // balance _32 _31 DROP // balance _21 SUB // _23 0 PUSHINT // _23 _24=0 MAX // balance }>ELSE<{ DROP // balance }> }> }END>c