"Asm.fif" include // automatically generated from `/home/daniil/repos/contest/lib/crypto/smartcont/stdlib.fc` `wallet-code.fc` PROGRAM{ DECLPROC ~collect_garbage DECLPROC store_db DECLPROC recv_internal DECLPROC recv_external 85143 DECLMETHOD seqno 119659 DECLMETHOD getKey 66593 DECLMETHOD getId 124239 DECLMETHOD getPartials 87848 DECLMETHOD getPartialsById 125107 DECLMETHOD getPartialByKey 100959 DECLMETHOD getPartialByHash ~collect_garbage PROC:<{ -1 PUSHINT UNTIL:<{ OVER 8 PUSHPOW2 DICTUGETNEXT NULLSWAPIFNOT NULLSWAPIFNOT DUP IF:<{ s0 s2 XCHG SKIPDICT 32 PLDU NOW LEQ IF:<{ 8 PUSHPOW2 s1 s3 s3 PUXC2 DICTUDEL DROP }>ELSE<{ s0 s2 XCHG }> }>ELSE<{ 2SWAP DROP }> SWAP NOT s1 s2 XCHG }> DROP }> store_db PROC:<{ NEWC s1 s3 XCHG 32 STU STDICT STDICT ENDC c4 POP }> recv_internal PROC:<{ DROP }> recv_external PROC:<{ 1 LDU SWAP 32 THROWIF DUP 1 PLDU 33 THROWIFNOT LDDICT DUP 32 LDU 32 LDU NOW s1 s3 XCHG LEQ 34 THROWIF s2 PUSH HASHSU c4 PUSH CTOS 32 LDU 4 LDU LDDICT LDDICT ENDS 0 PUSHINT s4 PUSH NEWDICT s0 s8 XCHG EQUAL IF:<{ s0 s4 XCHG INC }>ELSE<{ DROP s7 POP s3 s6 PUSH2 8 PUSHPOW2 DICTUGET NULLSWAPIFNOT 35 THROWIFNOT 4 LDU s4 s8 XCHG2 SWAP }> ACCEPT -1 PUSHINT UNTIL:<{ s10 PUSH 4 PUSHINT DICTUGETNEXT NULLSWAPIFNOT NULLSWAPIFNOT DUP IF:<{ DROP s0 s4 PUSH2 4 PUSHINT DICTUGET NULLSWAPIFNOT DUP 36 THROWIFNOT s3 s(-1) s0 PUXC2 256 PLDU s10 s2 s2 PUXC2 CHKSIGNU 37 THROWIFNOT s1 s9 PUSH2 4 PUSHINT DICTUGET NULLSWAPIFNOT NIP NOT IF:<{ s1 s2 XCHG 4 PUSHINT s3 s10 s10 PUXC2 DICTUSET s0 s6 XCHG INC }>ELSE<{ s0 s9 XCHG s1 s7 s7 XCHG3 DROP }> }>ELSE<{ s0 s9 XCHG s1 s7 s7 XCHG3 DROP }> s0 s8 XCHG NOT s6 s8 XCHG }> DROP s9 POP s0 s6 XCHG 8 LDU LDREF ENDS s4 s3 PUSH2 GEQ IF:<{ s4 POP s5 POP s6 POP s0 s3 XCHG SENDRAWMSG ROT 8 PUSHPOW2 DICTUDEL DROP }>ELSE<{ 2DROP 4 PUSHINT NEWC s1 s0 s4 XCHG3 STUX s1 s4 XCHG STDICT s0 s5 XCHG2 STSLICER s0 s1 s3 XCHG3 8 PUSHPOW2 DICTUSETB }> ~collect_garbage CALLDICT s0 s3 XCHG INC NEWC 32 STU 4 STU STDICT STDICT ENDC c4 POP }> seqno PROC:<{ c4 PUSH CTOS 32 PLDU }> getKey PROC:<{ c4 PUSH CTOS 40 PUSHINT SDSKIPFIRST PLDDICT 4 PUSHINT DICTUGET NULLSWAPIFNOT DUP NOT IFJMP:<{ NIP 0 PUSHINT }> DROP -1 PUSHINT SWAP 256 PLDU }> getId PROC:<{ c4 PUSH CTOS 40 PUSHINT SDSKIPFIRST PLDDICT 0 PUSHINT DUP UNTIL:<{ DROP OVER 4 PUSHINT DICTUGETNEXT NULLSWAPIFNOT NULLSWAPIFNOT DUP NOT s0 s3 XCHG 256 PLDU s5 PUSH EQUAL s1 s3 XCHG OR s1 s2 XCHG }> s2 POP s2 POP IFJMP:<{ -1 PUSHINT SWAP }> DROP 0 PUSHINT DUP }> getPartials PROC:<{ c4 PUSH CTOS 40 PUSHINT SDSKIPFIRST SKIPDICT PLDDICT }> getPartialsById PROC:<{ c4 PUSH CTOS 40 PUSHINT SDSKIPFIRST SKIPDICT PLDDICT NEWDICT 0 PUSHINT UNTIL:<{ s2 PUSH 8 PUSHPOW2 DICTUGETNEXT NULLSWAPIFNOT NULLSWAPIFNOT DUP IF:<{ s0 s2 XCHG PLDREF DUP CTOS PLDDICT s6 s(-1) PUXC 4 PUSHINT DICTUGET NULLSWAPIFNOT NIP IF:<{ SWAP 8 PUSHPOW2 s1 s4 s4 PUXC2 DICTUSETREF }>ELSE<{ s1 s3 XCHG DROP }> }>ELSE<{ 2SWAP DROP }> SWAP NOT s1 s2 XCHG }> s1 s3 XCHG 3 BLKDROP }> getPartialByKey PROC:<{ getId CALLDICT SWAP IFNOTJMP:<{ DROP NEWDICT }> getPartialsById CALLDICT }> getPartialByHash PROC:<{ c4 PUSH CTOS 40 PUSHINT SDSKIPFIRST SKIPDICT PLDDICT 8 PUSHPOW2 DICTUGETOPTREF }> }END>c