x
1282
parameter (or
(or (or (string %claimFees) (nat %ownerWithdraw))
(or (string %provideLiquidity) (address %setOwnerAddress)))
(or
(or
(pair %transferAmountToContract (bytes %args1)
(pair (string %args2) (string %args3)))
(pair %withdrawal (string %args1)
(pair (string %args2)
(pair (bytes %args3)
(pair (string %args4)
(pair (string %args5) (nat %args6)))))))
(pair %withdrawalLiquidity (string %args1) (nat %args2))));
storage (pair
(pair
(pair (set %checkMap bytes)
(pair %liquidityPot
(pair (pair (nat %liquidityBracketOne) (nat %liquidityBracketThree))
(pair (nat %liquidityBracketTwo) (nat %liquidityOfAllBrackets)))
(nat %totalFeepot)))
(pair
(big_map %liquidityUserData string
(pair
(pair (timestamp %lastClaimed)
(string %liquidityBracket))
(pair (nat %storedAmount)
(address %userAddress))))
(pair %ownerData (address %ownerAddress) (nat %totalFeepot))))
(pair
(pair %statistic
(pair (pair (nat %claimedFees) (nat %totalLiquidityOfAllBrackets))
(pair (nat %totalMixingAmount) (nat %totalUser)))
(nat %transactionsCount))
(big_map %userData bytes
(pair (pair (string %identifier) (string %senderAddress))
(nat %storedAmount)))));
code { PUSH nat 1000000000000000000 ;
LAMBDA
(pair string
(pair
(pair
(pair (set bytes) (pair (pair (pair nat nat) (pair nat nat)) nat))
(pair
(big_map string (pair (pair timestamp string) (pair nat address)))
(pair address nat)))
(pair (pair (pair (pair nat nat) (pair nat nat)) nat)
(big_map bytes (pair (pair string string) nat)))))
(pair (pair timestamp string) (pair nat address))
{ DUP ;
CDR ;
CAR ;
CDR ;
CAR ;
SWAP ;
CAR ;
GET ;
IF_NONE { PUSH string "Access denied." ; FAILWITH } {} } ;
LAMBDA
string
bytes
{ DUP ;
PACK ;
SWAP ;
SIZE ;
PUSH nat 6 ;
SLICE ;
IF_NONE { PUSH string "SLICE" ; FAILWITH } {} ;
SHA256 } ;
LAMBDA
mutez
nat
{ PUSH mutez 1 ; SWAP ; EDIV ; IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ; CAR } ;
LAMBDA nat mutez { PUSH mutez 1 ; SWAP ; MUL } ;
LAMBDA
nat
string
{ PUSH nat 0 ;
SWAP ;
DUP ;
DUG 2 ;
COMPARE ;
GT ;
IF
{}
{ PUSH string "Liquidity provided must be greater than zero." ; FAILWITH } ;
PUSH nat 50000000 ;
SWAP ;
DUP ;
DUG 2 ;
COMPARE ;
LE ;
IF
{ DROP ; PUSH string "1" }
{ PUSH nat 300000000 ;
SWAP ;
DUP ;
DUG 2 ;
COMPARE ;
LE ;
PUSH nat 50000000 ;
DIG 2 ;
COMPARE ;
GT ;
AND ;
IF { PUSH string "2" } { PUSH string "3" } } } ;
LAMBDA
(pair (pair nat string)
(pair
(pair
(pair (set bytes) (pair (pair (pair nat nat) (pair nat nat)) nat))
(pair
(big_map string (pair (pair timestamp string) (pair nat address)))
(pair address nat)))
(pair (pair (pair (pair nat nat) (pair nat nat)) nat)
(big_map bytes (pair (pair string string) nat)))))
(pair
(pair (pair (set bytes) (pair (pair (pair nat nat) (pair nat nat)) nat))
(pair
(big_map string (pair (pair timestamp string) (pair nat address)))
(pair address nat)))
(pair (pair (pair (pair nat nat) (pair nat nat)) nat)
(big_map bytes (pair (pair string string) nat))))
{ DUP ;
CAR ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
DIG 2 ;
CDR ;
DUP ;
CAR ;
CAR ;
CDR ;
PUSH string "1" ;
DIG 3 ;
DUP ;
DUG 4 ;
COMPARE ;
EQ ;
IF
{ DIG 2 ;
DROP ;
DUP ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
DIG 2 ;
DUP ;
DUG 3 ;
CAR ;
CAR ;
CDR ;
DIG 5 ;
DUP ;
DUG 6 ;
DIG 4 ;
CAR ;
CAR ;
CAR ;
ADD ;
PAIR ;
PAIR ;
PAIR }
{ PUSH string "2" ;
DIG 3 ;
COMPARE ;
EQ ;
IF
{ DUP ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
CDR ;
DIG 4 ;
DUP ;
DUG 5 ;
DIG 3 ;
DUP ;
DUG 4 ;
CAR ;
CDR ;
CAR ;
ADD ;
PAIR ;
DIG 2 ;
CAR ;
CAR ;
PAIR ;
PAIR }
{ DUP ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
DIG 4 ;
DUP ;
DUG 5 ;
DIG 3 ;
DUP ;
DUG 4 ;
CAR ;
CAR ;
CDR ;
ADD ;
DIG 3 ;
CAR ;
CAR ;
CAR ;
PAIR ;
PAIR ;
PAIR } } ;
DUP ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
CDR ;
DIG 2 ;
DUP ;
DUG 3 ;
CAR ;
CDR ;
CAR ;
DIG 3 ;
DUP ;
DUG 4 ;
CAR ;
CAR ;
CAR ;
ADD ;
ADD ;
DIG 2 ;
DUP ;
DUG 3 ;
CAR ;
CDR ;
CAR ;
PAIR ;
DIG 2 ;
CAR ;
CAR ;
PAIR ;
PAIR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
DIG 2 ;
DUP ;
DUG 3 ;
CAR ;
CDR ;
DIG 2 ;
DIG 3 ;
CAR ;
CAR ;
CAR ;
PAIR ;
PAIR ;
PAIR ;
DUP ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
CAR ;
CDR ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CAR ;
CAR ;
CDR ;
DIG 4 ;
DIG 4 ;
DUP ;
DUG 5 ;
CDR ;
CAR ;
CAR ;
CAR ;
CDR ;
ADD ;
DIG 4 ;
DUP ;
DUG 5 ;
CDR ;
CAR ;
CAR ;
CAR ;
CAR ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
CAR ;
PAIR } ;
LAMBDA
(pair (pair nat string)
(pair
(pair
(pair (set bytes) (pair (pair (pair nat nat) (pair nat nat)) nat))
(pair
(big_map string (pair (pair timestamp string) (pair nat address)))
(pair address nat)))
(pair (pair (pair (pair nat nat) (pair nat nat)) nat)
(big_map bytes (pair (pair string string) nat)))))
(pair
(pair (pair (set bytes) (pair (pair (pair nat nat) (pair nat nat)) nat))
(pair
(big_map string (pair (pair timestamp string) (pair nat address)))
(pair address nat)))
(pair (pair (pair (pair nat nat) (pair nat nat)) nat)
(big_map bytes (pair (pair string string) nat))))
{ DUP ;
CAR ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
DIG 2 ;
CDR ;
DUP ;
CAR ;
CAR ;
CDR ;
PUSH string "1" ;
DIG 3 ;
DUP ;
DUG 4 ;
COMPARE ;
EQ ;
IF
{ DIG 2 ;
DROP ;
DUP ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
DIG 2 ;
DUP ;
DUG 3 ;
CAR ;
CAR ;
CDR ;
DIG 5 ;
DUP ;
DUG 6 ;
DIG 4 ;
CAR ;
CAR ;
CAR ;
SUB ;
ABS ;
PAIR ;
PAIR ;
PAIR }
{ PUSH string "2" ;
DIG 3 ;
COMPARE ;
EQ ;
IF
{ DUP ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
CDR ;
DIG 4 ;
DUP ;
DUG 5 ;
DIG 3 ;
DUP ;
DUG 4 ;
CAR ;
CDR ;
CAR ;
SUB ;
ABS ;
PAIR ;
DIG 2 ;
CAR ;
CAR ;
PAIR ;
PAIR }
{ DUP ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
DIG 4 ;
DUP ;
DUG 5 ;
DIG 3 ;
DUP ;
DUG 4 ;
CAR ;
CAR ;
CDR ;
SUB ;
ABS ;
DIG 3 ;
CAR ;
CAR ;
CAR ;
PAIR ;
PAIR ;
PAIR } } ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
DIG 2 ;
DUP ;
DUG 3 ;
CAR ;
CDR ;
DIG 2 ;
DIG 3 ;
CAR ;
CAR ;
CAR ;
PAIR ;
PAIR ;
PAIR ;
DUP ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
CAR ;
CDR ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CAR ;
CAR ;
CDR ;
DIG 4 ;
DIG 4 ;
DUP ;
DUG 5 ;
CDR ;
CAR ;
CAR ;
CAR ;
CDR ;
SUB ;
ABS ;
DIG 4 ;
DUP ;
DUG 5 ;
CDR ;
CAR ;
CAR ;
CAR ;
CAR ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
CAR ;
PAIR } ;
DIG 8 ;
DUP ;
DUG 9 ;
CDR ;
DIG 9 ;
CAR ;
IF_LEFT
{ DIG 7 ;
DROP ;
IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 3 ;
DROP ;
IF_LEFT
{ DIG 2 ;
DROP ;
SWAP ;
DUP ;
DIG 2 ;
DUP ;
DUG 3 ;
PAIR ;
DIG 3 ;
SWAP ;
EXEC ;
DUP ;
CAR ;
CDR ;
PUSH int 86400 ;
PUSH string "1" ;
DIG 2 ;
DUP ;
DUG 3 ;
COMPARE ;
EQ ;
IF
{ SWAP ; DROP ; PUSH int 3 ; SWAP ; MUL }
{ PUSH string "2" ; DIG 2 ; COMPARE ; EQ ; IF { PUSH int 2 ; SWAP ; MUL } {} } ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
ADD ;
SENDER ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CDR ;
COMPARE ;
EQ ;
IF {} { PUSH string "Access denied." ; FAILWITH } ;
NOW ;
SWAP ;
COMPARE ;
LT ;
IF
{}
{ PUSH string "You are not allowed to claim fees yet." ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
CAR ;
DIG 2 ;
DUP ;
DUG 3 ;
CAR ;
CDR ;
PAIR ;
PAIR ;
DUP ;
CAR ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
PUSH string "1" ;
DIG 2 ;
DUP ;
DUG 3 ;
COMPARE ;
EQ ;
IF
{ SWAP ; DROP ; PUSH nat 20 ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CDR ; CAR ; CAR ; CAR ; PAIR }
{ PUSH string "2" ;
DIG 2 ;
COMPARE ;
EQ ;
IF
{ PUSH nat 33 ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CDR ; CAR ; CDR ; CAR ; PAIR }
{ PUSH nat 47 ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CDR ; CAR ; CAR ; CDR ; PAIR } } ;
PUSH nat 100 ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
DIG 3 ;
CAR ;
CAR ;
CDR ;
CDR ;
MUL ;
EDIV ;
IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
CAR ;
DIG 6 ;
DUP ;
DUG 7 ;
DIG 3 ;
CAR ;
CDR ;
MUL ;
DIG 2 ;
CAR ;
SWAP ;
EDIV ;
IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
CAR ;
DIG 5 ;
SWAP ;
DIG 2 ;
MUL ;
EDIV ;
IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
CAR ;
ADD ;
PAIR ;
DIG 2 ;
CAR ;
CDR ;
NOW ;
PAIR ;
PAIR ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
DIG 3 ;
DUP ;
DUG 4 ;
CAR ;
CDR ;
CDR ;
DIG 4 ;
DUP ;
DUG 5 ;
CAR ;
CDR ;
CAR ;
DIG 3 ;
DIG 6 ;
SWAP ;
SOME ;
SWAP ;
UPDATE ;
PAIR ;
DIG 3 ;
CAR ;
CAR ;
PAIR ;
PAIR ;
DUP ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
DIG 3 ;
DUP ;
DUG 4 ;
DIG 3 ;
DUP ;
DUG 4 ;
CAR ;
CAR ;
CDR ;
CDR ;
SUB ;
ABS ;
DIG 3 ;
DUP ;
DUG 4 ;
CAR ;
CAR ;
CDR ;
CAR ;
PAIR ;
DIG 3 ;
CAR ;
CAR ;
CAR ;
PAIR ;
PAIR ;
PAIR ;
DUP ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
CAR ;
CDR ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CAR ;
CAR ;
CDR ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
CAR ;
CAR ;
CAR ;
CDR ;
DIG 5 ;
DIG 5 ;
DUP ;
DUG 6 ;
CDR ;
CAR ;
CAR ;
CAR ;
CAR ;
ADD ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
CAR ;
PAIR ;
NIL operation ;
PAIR }
{ DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
SWAP ;
DUP ;
CAR ;
CDR ;
CDR ;
CAR ;
SENDER ;
COMPARE ;
EQ ;
IF {} { PUSH string "Access denied." ; FAILWITH } ;
DUP ;
CAR ;
CDR ;
CDR ;
CDR ;
DIG 2 ;
DUP ;
DUG 3 ;
COMPARE ;
LE ;
IF
{}
{ PUSH string "The amount of tezos you want to withdraw must not exceed the amount in the feepot." ;
FAILWITH } ;
SENDER ;
CONTRACT unit ;
IF_NONE { PUSH string "Address does not exist." ; FAILWITH } {} ;
DIG 2 ;
DUP ;
DUG 3 ;
DIG 4 ;
SWAP ;
EXEC ;
UNIT ;
TRANSFER_TOKENS ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
DIG 3 ;
DIG 3 ;
DUP ;
DUG 4 ;
CAR ;
CDR ;
CDR ;
CDR ;
SUB ;
ABS ;
DIG 3 ;
DUP ;
DUG 4 ;
CAR ;
CDR ;
CDR ;
CAR ;
PAIR ;
DIG 3 ;
DUP ;
DUG 4 ;
CAR ;
CDR ;
CAR ;
PAIR ;
DIG 3 ;
CAR ;
CAR ;
PAIR ;
PAIR ;
NIL operation ;
DIG 2 ;
CONS ;
PAIR } }
{ DIG 5 ;
DROP ;
DIG 7 ;
DROP ;
IF_LEFT
{ SWAP ;
AMOUNT ;
DIG 6 ;
SWAP ;
EXEC ;
PUSH bool False ;
DIG 2 ;
DUP ;
DUG 3 ;
DIG 4 ;
DUP ;
DUG 5 ;
PAIR ;
DUP ;
CDR ;
CAR ;
CDR ;
CAR ;
SWAP ;
CAR ;
GET ;
IF_NONE { PUSH bool False } { DROP ; PUSH bool True } ;
COMPARE ;
EQ ;
IF
{ DIG 3 ;
DROP ;
DIG 5 ;
DROP ;
SENDER ;
SWAP ;
DUP ;
DUG 2 ;
PAIR ;
SWAP ;
DIG 5 ;
SWAP ;
EXEC ;
NOW ;
PAIR ;
PAIR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
DIG 2 ;
DUP ;
DUG 3 ;
CAR ;
CDR ;
CDR ;
DIG 3 ;
DUP ;
DUG 4 ;
CAR ;
CDR ;
CAR ;
DIG 3 ;
DUP ;
DUG 4 ;
DIG 6 ;
SWAP ;
SOME ;
SWAP ;
UPDATE ;
PAIR ;
DIG 3 ;
CAR ;
CAR ;
PAIR ;
PAIR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
DIG 2 ;
CDR ;
CAR ;
PAIR ;
PAIR ;
EXEC }
{ SWAP ;
DUP ;
DUG 2 ;
DIG 3 ;
DUP ;
DUG 4 ;
PAIR ;
DIG 7 ;
SWAP ;
EXEC ;
DIG 2 ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CAR ;
PAIR ;
PAIR ;
DIG 4 ;
SWAP ;
EXEC ;
DUG 2 ;
DUP ;
DUG 3 ;
CDR ;
CAR ;
ADD ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
PAIR ;
DIG 3 ;
CAR ;
PAIR ;
DUP ;
CDR ;
DIG 2 ;
DIG 6 ;
SWAP ;
EXEC ;
DIG 2 ;
CAR ;
CAR ;
PAIR ;
CDR ;
NOW ;
PAIR ;
PAIR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
DIG 2 ;
DUP ;
DUG 3 ;
CAR ;
CDR ;
CDR ;
DIG 3 ;
DUP ;
DUG 4 ;
CAR ;
CDR ;
CAR ;
DIG 3 ;
DUP ;
DUG 4 ;
DIG 6 ;
SWAP ;
SOME ;
SWAP ;
UPDATE ;
PAIR ;
DIG 3 ;
CAR ;
CAR ;
PAIR ;
PAIR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
DIG 2 ;
CDR ;
CAR ;
PAIR ;
PAIR ;
EXEC } ;
DUP ;
CDR ;
CDR ;
PUSH nat 1 ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CAR ;
CDR ;
ADD ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CAR ;
CAR ;
PAIR ;
PAIR ;
SWAP ;
CAR ;
PAIR ;
DUP ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
CAR ;
CDR ;
PUSH nat 1 ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
CAR ;
CAR ;
CDR ;
CDR ;
ADD ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
CAR ;
CAR ;
CDR ;
CAR ;
PAIR ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
CAR ;
CAR ;
CAR ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
CAR ;
PAIR ;
NIL operation ;
PAIR }
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
PAIR ;
DUP ;
CDR ;
DUP ;
CAR ;
CDR ;
CDR ;
CAR ;
SENDER ;
COMPARE ;
EQ ;
IF {} { PUSH string "Access denied." ; FAILWITH } ;
DUP ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
CDR ;
CDR ;
DIG 3 ;
CAR ;
PAIR ;
DIG 2 ;
DUP ;
DUG 3 ;
CAR ;
CDR ;
CAR ;
PAIR ;
DIG 2 ;
CAR ;
CAR ;
PAIR ;
PAIR ;
NIL operation ;
PAIR } } }
{ DIG 9 ;
DROP ;
IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 5 ;
DROP ;
IF_LEFT
{ DIG 2 ;
DROP ;
DIG 3 ;
DROP ;
DUP ;
DUG 2 ;
CDR ;
CDR ;
PAIR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
CAR ;
DIG 2 ;
CAR ;
PAIR ;
PAIR ;
DUP ;
CDR ;
CDR ;
AMOUNT ;
DIG 3 ;
SWAP ;
EXEC ;
PUSH nat 1000 ;
SWAP ;
DUP ;
DUG 2 ;
COMPARE ;
GE ;
IF
{}
{ PUSH string "The minimum required amount for mixing are 1000 mutez." ;
FAILWITH } ;
PUSH nat 50 ;
SWAP ;
DUP ;
DUG 2 ;
MUL ;
PUSH nat 10000 ;
SWAP ;
EDIV ;
IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
CAR ;
PUSH nat 2 ;
SWAP ;
DUP ;
DUG 2 ;
MUL ;
DIG 2 ;
SUB ;
ABS ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
CAR ;
DIG 4 ;
DUP ;
DUG 5 ;
CAR ;
CDR ;
PAIR ;
PAIR ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
DIG 5 ;
CAR ;
CAR ;
SWAP ;
SOME ;
SWAP ;
UPDATE ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
CAR ;
PAIR ;
DIG 3 ;
CAR ;
PAIR ;
DIG 2 ;
SWAP ;
DUP ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
DIG 3 ;
DUP ;
DUG 4 ;
DIG 3 ;
DUP ;
DUG 4 ;
CAR ;
CAR ;
CDR ;
CDR ;
ADD ;
DIG 3 ;
DUP ;
DUG 4 ;
CAR ;
CAR ;
CDR ;
CAR ;
PAIR ;
DIG 3 ;
CAR ;
CAR ;
CAR ;
PAIR ;
PAIR ;
PAIR ;
DUP ;
CDR ;
DUG 2 ;
DUP ;
DUG 3 ;
CAR ;
CDR ;
CDR ;
CDR ;
ADD ;
DIG 2 ;
DUP ;
DUG 3 ;
CAR ;
CDR ;
CDR ;
CAR ;
PAIR ;
DIG 2 ;
DUP ;
DUG 3 ;
CAR ;
CDR ;
CAR ;
PAIR ;
DIG 2 ;
CAR ;
CAR ;
PAIR ;
PAIR ;
DUP ;
CDR ;
CDR ;
PUSH nat 1 ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CAR ;
CDR ;
ADD ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CAR ;
CAR ;
PAIR ;
PAIR ;
SWAP ;
CAR ;
PAIR ;
DUP ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
CAR ;
CDR ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CAR ;
CAR ;
CDR ;
CDR ;
DIG 4 ;
CDR ;
DIG 4 ;
DUP ;
DUG 5 ;
CDR ;
CAR ;
CAR ;
CDR ;
CAR ;
ADD ;
PAIR ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
CAR ;
CAR ;
CAR ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
CAR ;
PAIR ;
DUP ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
CAR ;
CDR ;
PUSH nat 1 ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
CAR ;
CAR ;
CDR ;
CDR ;
ADD ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
CAR ;
CAR ;
CDR ;
CAR ;
PAIR ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
CAR ;
CAR ;
CAR ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
CAR ;
PAIR ;
NIL operation ;
PAIR }
{ DIG 3 ;
DROP ;
DUP ;
DUG 2 ;
CDR ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CDR ;
CDR ;
CDR ;
CAR ;
PAIR ;
PAIR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
CDR ;
CDR ;
CAR ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CDR ;
CAR ;
PAIR ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CAR ;
DIG 3 ;
CAR ;
PAIR ;
PAIR ;
PAIR ;
DUP ;
CAR ;
CAR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
CAR ;
CAR ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CAR ;
CDR ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
CDR ;
DIG 3 ;
DUP ;
DUG 4 ;
DIG 5 ;
DUP ;
DUG 6 ;
CAR ;
CAR ;
CAR ;
CONCAT ;
DIG 7 ;
DUP ;
DUG 8 ;
SWAP ;
EXEC ;
SWAP ;
DUP ;
DUG 2 ;
SWAP ;
PAIR ;
DUP ;
CDR ;
CDR ;
CDR ;
SWAP ;
CAR ;
GET ;
IF_NONE { PUSH string "Access denied." ; FAILWITH } {} ;
DIG 2 ;
DUP ;
DUG 3 ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
COMPARE ;
GE ;
IF
{}
{ PUSH string "The amount of Tezos you want to withdraw must not be higher than your current mixed Tezos." ;
FAILWITH } ;
DIG 3 ;
DUP ;
DUG 4 ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
CONCAT ;
DIG 5 ;
CONCAT ;
DIG 7 ;
SWAP ;
EXEC ;
DIG 2 ;
DUP ;
DUG 3 ;
SWAP ;
DUP ;
DUG 2 ;
PAIR ;
DUP ;
CDR ;
CAR ;
CAR ;
CAR ;
SWAP ;
CAR ;
MEM ;
IF { PUSH bool True } { PUSH bool False } ;
IF
{ PUSH string "This root and seed have already been used." ;
FAILWITH }
{} ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
DIG 3 ;
DUP ;
DUG 4 ;
CAR ;
CDR ;
DIG 4 ;
DUP ;
DUG 5 ;
CAR ;
CAR ;
CDR ;
DIG 5 ;
CAR ;
CAR ;
CAR ;
DIG 4 ;
PUSH bool True ;
SWAP ;
UPDATE ;
PAIR ;
PAIR ;
PAIR ;
SENDER ;
CONTRACT unit ;
IF_NONE { PUSH string "Address does not exist." ; FAILWITH } {} ;
DIG 3 ;
DUP ;
DUG 4 ;
DIG 7 ;
SWAP ;
EXEC ;
UNIT ;
TRANSFER_TOKENS ;
DIG 3 ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
SUB ;
ABS ;
PUSH nat 0 ;
SWAP ;
DUP ;
DUG 2 ;
COMPARE ;
EQ ;
IF
{ DROP ; DIG 3 ; DROP ; DIG 3 ; DROP ; DUG 2 ; PAIR }
{ DIG 3 ;
CAR ;
PAIR ;
DUP ;
CDR ;
DIG 4 ;
DIG 2 ;
CAR ;
CAR ;
PAIR ;
CDR ;
DIG 4 ;
DUP ;
DUG 5 ;
CAR ;
CDR ;
CDR ;
PAIR ;
PAIR ;
DUP ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
CDR ;
DIG 2 ;
DIG 5 ;
CAR ;
CDR ;
CAR ;
SWAP ;
SOME ;
SWAP ;
UPDATE ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
CAR ;
PAIR ;
DIG 3 ;
CAR ;
PAIR ;
PAIR } ;
CAR ;
DUP ;
CDR ;
CDR ;
PUSH nat 1 ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CAR ;
CDR ;
ADD ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CAR ;
CAR ;
PAIR ;
PAIR ;
SWAP ;
CAR ;
PAIR ;
NIL operation ;
DIG 2 ;
CONS ;
PAIR } }
{ DIG 6 ;
DROP ;
DIG 6 ;
DROP ;
PAIR ;
DUP ;
CAR ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
DUP ;
DIG 2 ;
DUP ;
DUG 3 ;
PAIR ;
DIG 8 ;
SWAP ;
EXEC ;
DIG 3 ;
CAR ;
CDR ;
DUP ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CAR ;
COMPARE ;
GE ;
IF
{}
{ PUSH string "The amount of liquidity you want to withdraw must not be higher than your current liquidity." ;
FAILWITH } ;
SENDER ;
CONTRACT unit ;
IF_NONE { PUSH string "Address does not exist." ; FAILWITH } {} ;
SWAP ;
DUP ;
DUG 2 ;
DIG 9 ;
SWAP ;
EXEC ;
UNIT ;
TRANSFER_TOKENS ;
DIG 3 ;
DIG 3 ;
DUP ;
DUG 4 ;
CAR ;
CDR ;
DIG 4 ;
DUP ;
DUG 5 ;
CDR ;
CAR ;
PAIR ;
PAIR ;
DIG 5 ;
SWAP ;
EXEC ;
DIG 2 ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
CAR ;
SUB ;
ABS ;
PUSH nat 0 ;
SWAP ;
DUP ;
DUG 2 ;
COMPARE ;
EQ ;
IF
{ DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP ;
DUP ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
CDR ;
DIG 2 ;
DUP ;
DUG 3 ;
CAR ;
CDR ;
CAR ;
DIG 6 ;
NONE (pair (pair timestamp string) (pair nat address)) ;
SWAP ;
UPDATE ;
PAIR ;
DIG 2 ;
CAR ;
CAR ;
PAIR ;
PAIR ;
DIG 2 ;
PAIR }
{ DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
PAIR ;
DIG 4 ;
CAR ;
PAIR ;
DUP ;
CDR ;
DIG 2 ;
DIG 7 ;
SWAP ;
EXEC ;
DIG 2 ;
CAR ;
CAR ;
PAIR ;
CDR ;
NOW ;
PAIR ;
PAIR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
DIG 2 ;
DUP ;
DUG 3 ;
CAR ;
CDR ;
CDR ;
DIG 3 ;
DUP ;
DUG 4 ;
CAR ;
CDR ;
CAR ;
DIG 3 ;
DUP ;
DUG 4 ;
DIG 7 ;
SWAP ;
SOME ;
SWAP ;
UPDATE ;
PAIR ;
DIG 3 ;
CAR ;
CAR ;
PAIR ;
PAIR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CAR ;
PAIR ;
PAIR ;
DIG 3 ;
SWAP ;
EXEC ;
SWAP ;
PAIR } ;
CDR ;
DUP ;
CDR ;
CDR ;
PUSH nat 1 ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CAR ;
CDR ;
ADD ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CAR ;
CAR ;
PAIR ;
PAIR ;
SWAP ;
CAR ;
PAIR ;
NIL operation ;
DIG 2 ;
CONS ;
PAIR } } }