1
0
mirror of https://github.com/danog/toncontest.git synced 2024-12-02 09:27:47 +01:00
toncontest/wallet/wallet-code.fif

215 lines
3.1 KiB
Plaintext
Raw Normal View History

2019-10-03 21:54:25 +02:00
"Asm.fif" include
// automatically generated from `/home/daniil/repos/contest/lib/crypto/smartcont/stdlib.fc` `wallet-code.fc`
PROGRAM{
2019-10-04 16:12:48 +02:00
DECLPROC collect_garbage
DECLPROC store_db
2019-10-03 21:54:25 +02:00
DECLPROC recv_internal
DECLPROC recv_external
85143 DECLMETHOD seqno
2019-10-04 16:12:48 +02:00
collect_garbage PROC:<{
-1 PUSHINT
UNTIL:<{
OVER
8 PUSHPOW2
DICTUGETNEXT
NULLSWAPIFNOT
NULLSWAPIFNOT
2019-10-03 21:54:25 +02:00
DUP
2019-10-04 16:12:48 +02:00
IF:<{
s0 s2 XCHG
32 LDU
DROP
NOW
LEQ
IF:<{
2019-10-04 18:00:14 +02:00
8 PUSHPOW2
s1 s3 s3 PUXC2
DICTUDEL
DROP
}>ELSE<{
s0 s2 XCHG
2019-10-04 16:12:48 +02:00
}>
}>ELSE<{
2019-10-04 18:00:14 +02:00
2SWAP
DROP
2019-10-04 16:12:48 +02:00
}>
SWAP
NOT
2019-10-04 18:00:14 +02:00
s1 s2 XCHG
2019-10-03 21:54:25 +02:00
}>
2019-10-04 16:12:48 +02:00
DROP
}>
store_db PROC:<{
2019-10-03 21:54:25 +02:00
NEWC
2019-10-04 16:12:48 +02:00
s1 s3 XCHG
2019-10-03 21:54:25 +02:00
32 STU
2019-10-04 16:12:48 +02:00
STDICT
STDICT
2019-10-03 21:54:25 +02:00
ENDC
c4 POP
}>
2019-10-04 16:12:48 +02:00
recv_internal PROC:<{
DROP
}>
2019-10-04 18:00:14 +02:00
recv_external PROC:<{
1 LDU
SWAP
32 THROWIFNOT
DUP
1 PLDU
33 THROWIFNOT
LDDICT
DUP
32 LDU
32 LDU
s2 PUSH
NOW
LEQ
34 THROWIF
s0 s3 XCHG
HASHSU
c4 PUSH
CTOS
32 LDU
4 LDU
LDDICT
LDDICT
ENDS
s3 PUSH
NEWDICT
s0 s7 XCHG
EQUAL
IF:<{
s0 s3 XCHG
INC
}>ELSE<{
s4 s0 PUSH2
8 PUSHPOW2
DICTUGET
NULLSWAPIFNOT
35 THROWIFNOT
LDREF
NIP
ENDS
s0 s3 XCHG
}>
ACCEPT
s0 s7 XCHG
-1 PUSHINT
UNTIL:<{
s9 PUSH
4 PUSHINT
DICTUGETNEXT
NULLSWAPIFNOT
NULLSWAPIFNOT
DUP
IF:<{
s1 s4 PUSH2
4 PUSHINT
DICTUGET
NULLSWAPIFNOT
36 THROWIFNOT
LDREF
SWAP
CTOS
256 PLDU
s0 s4 XCHG
LDREF
DROP
DUP
CTOS
DUP
ENDS
s0 s2 XCHG
ENDS
s9 s(-1) s4 PUXC2
CHKSIGNU
37 THROWIFNOT
s1 s2 XCHG
4 PUSHINT
s3 s9 s9 PUXC2
DICTUSETREF
}>ELSE<{
s1 s8 s8 XCHG3
DROP
}>
s0 s7 XCHG
NOT
}>
DROP
s8 POP
s0 s7 XCHG
8 LDU
LDREF
ENDS
0 PUSHINT
-1 PUSHINT
UNTIL:<{
s7 PUSH
4 PUSHINT
DICTUGETNEXT
NULLSWAPIFNOT
NULLSWAPIFNOT
s2 POP
OVER
IF:<{
s0 s2 XCHG
INC
s0 s5 PUSH2
GEQ
IF:<{
NIP
s2 s3 PUSH2
SENDRAWMSG
8 PUSHPOW2
s7 s6 s6 PUXC2
DICTUDEL
DROP
0 PUSHINT
}>ELSE<{
s6 s6 XCHG2
}>
}>ELSE<{
s0 s6 s6 XCHG3
}>
NOT
s6 s6 s0 XCHG3
}>
s1 s3 XCHG
3 BLKDROP
OVER
LESS
IF:<{
NEWC
s1 s5 XCHG
32 STU
s1 s3 XCHG
STDICT
ENDC
s0 s2 XCHG
8 PUSHPOW2
DICTUSETREF
}>ELSE<{
s3 s4 XCHG2
3 BLKDROP
}>
collect_garbage CALLDICT
s0 s2 XCHG
INC
NEWC
32 STU
4 STU
s1 s2 XCHG
STDICT
STDICT
ENDC
c4 POP
}>
2019-10-03 21:54:25 +02:00
seqno PROC:<{
c4 PUSH
CTOS
32 PLDU
}>
}END>c
2 boc+>B "RS" B>file