// automatically generated from `smartcont/stdlib.fc` `smartcont/restricted-wallet2-code.fc` PROGRAM{ DECLPROC recv_internal DECLPROC seconds_passed DECLPROC recv_external 85143 DECLMETHOD seqno 78748 DECLMETHOD get_public_key DECLPROC compute_balance_at 108602 DECLMETHOD balance_at 104128 DECLMETHOD balance recv_internal PROC:<{ // in_msg DROP // }> seconds_passed PROCREF:<{ // start_at utime OVER // start_at utime start_at IFNOT:<{ // start_at utime NIP // utime -13 PUSHINT // utime _3=-13 CONFIGOPTPARAM // utime p DUP // utime p p ISNULL // utime p _5 IF:<{ // utime p DROP // utime 0 PUSHINT // utime _6=0 }>ELSE<{ // utime p CTOS // utime _8 32 PLDU // utime _6 }> // utime start_at SWAP // start_at utime }> // start_at utime OVER // start_at utime start_at IF:<{ // start_at utime SWAP // utime start_at SUB // _11 }>ELSE<{ // start_at utime 2DROP // -1 PUSHINT // _11=-1 }> }> 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 SWAP NOW // 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 _25 ds 256 LDU // signature in_msg msg_seqno cs _25 _28 ds 32 LDU // signature in_msg msg_seqno cs _25 _28 _31 ds LDDICT // signature in_msg msg_seqno cs stored_seqno public_key start_at rdict ds ENDS s5 s3 PUSH2 // signature in_msg msg_seqno cs stored_seqno public_key start_at rdict msg_seqno stored_seqno EQUAL // signature in_msg msg_seqno cs stored_seqno public_key start_at rdict _38 33 THROWIFNOT s0 s5 XCHG // signature in_msg rdict cs stored_seqno public_key start_at msg_seqno IFNOTJMP:<{ // signature in_msg rdict cs stored_seqno public_key start_at s3 POP s4 POP s4 POP // stored_seqno public_key rdict start_at ACCEPT s0 s3 XCHG // start_at public_key rdict stored_seqno INC // start_at public_key rdict _42 NEWC // start_at public_key rdict _42 _43 32 STU // start_at public_key rdict _45 s1 s2 XCHG // start_at rdict public_key _45 256 STU // start_at rdict _47 s1 s2 XCHG // rdict start_at _47 32 STU // rdict _49 STDICT // _50 ENDC // _51 c4 POP }> // signature in_msg rdict cs stored_seqno public_key start_at s0 s5 XCHG // signature start_at rdict cs stored_seqno public_key in_msg HASHSU // signature start_at rdict cs stored_seqno public_key _54 s0 s6 s6 XC2PU // public_key start_at rdict cs stored_seqno _54 signature public_key CHKSIGNU // public_key start_at rdict cs stored_seqno _55 34 THROWIFNOT ACCEPT s3 PUSH NOW // public_key start_at rdict cs stored_seqno start_at _59 seconds_passed INLINECALLDICT // public_key start_at rdict cs stored_seqno ts s3 PUSH 32 PUSHINT // public_key start_at rdict cs stored_seqno ts rdict _64=32 DICTIGETPREVEQ NULLSWAPIFNOT2 // public_key start_at rdict cs stored_seqno _109 _108 _110 NIP // public_key start_at rdict cs stored_seqno value found IF:<{ // public_key start_at rdict cs stored_seqno value LDGRAMS // public_key start_at rdict cs stored_seqno _112 _111 DROP // public_key start_at rdict cs stored_seqno _66 2 PUSHINT // public_key start_at rdict cs stored_seqno _66 _68=2 RAWRESERVE }>ELSE<{ DROP // public_key start_at rdict cs stored_seqno }> SWAP // public_key start_at rdict stored_seqno cs WHILE:<{ DUP // public_key start_at rdict stored_seqno cs cs SREFS // public_key start_at rdict stored_seqno cs _72 }>DO<{ // public_key start_at rdict stored_seqno cs 8 LDU // public_key start_at rdict stored_seqno mode cs LDREF // public_key start_at rdict stored_seqno mode msg cs s0 s2 XCHG // public_key start_at rdict stored_seqno cs msg mode SENDRAWMSG }> // public_key start_at rdict stored_seqno cs ENDS INC // public_key start_at rdict _83 NEWC // public_key start_at rdict _83 _84 32 STU // public_key start_at rdict _86 s1 s3 XCHG // rdict start_at public_key _86 256 STU // rdict start_at _88 32 STU // rdict _90 STDICT // _91 ENDC // _92 c4 POP }> seqno PROC:<{ // c4 PUSH // _0 CTOS // _1 32 PLDU // _3 }> get_public_key PROC:<{ // c4 PUSH // _1 CTOS // cs 32 LDU // _9 _8 NIP // cs 256 PLDU // _7 }> compute_balance_at PROCREF:<{ // utime c4 PUSH // utime _2 CTOS // utime _3 288 PUSHINT // utime _3 _6 SDSKIPFIRST // utime ds 32 LDU // utime _10 ds LDDICT // utime start_at rdict ds ENDS s0 s2 XCHG // rdict start_at utime seconds_passed INLINECALLDICT // rdict ts BALANCE // rdict ts _19 FIRST // rdict ts balance s0 s2 XCHG 32 PUSHINT // balance ts rdict _24=32 DICTIGETPREVEQ NULLSWAPIFNOT2 // balance _36 _35 _37 NIP // balance value found IF:<{ // balance value LDGRAMS // balance _39 _38 DROP // balance _26 SUB // _28 0 PUSHINT // _28 _29=0 MAX // balance }>ELSE<{ DROP // balance }> }> balance_at PROC:<{ // utime compute_balance_at INLINECALLDICT // _1 }> balance PROC:<{ // NOW // _0 compute_balance_at INLINECALLDICT // _1 }> }END>c