x
716
parameter (or (or (or (or (unit %confirmAdmin) (unit %default)) (or (bool %flip) (nat %push))) (or (or (option %setAdmin address) (mutez %setMaxBalance)) (or (address %setOracle) (bool %setPause)))) (key_hash %withdraw));storage (pair (pair (pair (pair (address %admin) (address %communityWallet)) (pair (mutez %flipped) (big_map %games nat (pair (address %player) (pair (mutez %amount) (pair (bool %heads) (pair (nat %status) (timestamp %ts)))))))) (pair (pair (nat %gamesPlayed) (nat %lock)) (pair (mutez %maxBalance) (address %oracle)))) (pair (pair (bool %paused) (option %pending address)) (pair (big_map %players address nat) (nat %processed))));code { NIL operation ; SWAP ; UNPAIR ; IF_LEFT { IF_LEFT { IF_LEFT { IF_LEFT { DROP ; DUP ; CDR ; CAR ; CDR ; SENDER ; SOME ; COMPARE ; NEQ ; IF { PUSH int 1 ; FAILWITH } {} ; DUP ; CDR ; SWAP ; DUP ; DUG 2 ; CAR ; CDR ; DUP 3 ; CAR ; CAR ; CDR ; DIG 3 ; CAR ; CAR ; CAR ; CDR ; SENDER ; PAIR ; PAIR ; PAIR ; PAIR ; DUP ; CDR ; CDR ; NONE address ; DUP 3 ; CDR ; CAR ; CAR ; PAIR ; PAIR ; SWAP ; CAR ; PAIR ; SWAP ; PAIR } { DROP ; SWAP ; PAIR } } { IF_LEFT { PUSH string "Contract is paused" ; PUSH bool False ; DUP 4 ; CDR ; CAR ; CAR ; COMPARE ; EQ ; IF { DROP } { FAILWITH } ; PUSH string "Bid not accepted" ; SOURCE ; SENDER ; COMPARE ; EQ ; IF { DROP } { FAILWITH } ; PUSH string "Bet is too low" ; PUSH mutez 1050000 ; AMOUNT ; COMPARE ; GE ; IF { DROP } { FAILWITH } ; PUSH string "Bet is to high for this balance" ; PUSH nat 47 ; BALANCE ; EDIV ; IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ; CAR ; AMOUNT ; COMPARE ; LE ; IF { DROP } { FAILWITH } ; SWAP ; DUP ; DUG 2 ; CDR ; CDR ; CAR ; SENDER ; GET ; IF_NONE { UNIT } { LEVEL ; SWAP ; COMPARE ; EQ ; IF { PUSH string "Robot, huh?" ; FAILWITH } { UNIT } } ; DROP ; SWAP ; DUP ; DUG 2 ; CDR ; CDR ; CDR ; DUP 3 ; CDR ; CDR ; CAR ; LEVEL ; SOME ; SENDER ; UPDATE ; PAIR ; DUP 3 ; CDR ; CAR ; PAIR ; DIG 2 ; CAR ; PAIR ; DUP ; CDR ; SWAP ; DUP ; DUG 2 ; CAR ; CDR ; DUP 3 ; CAR ; CAR ; CDR ; CDR ; NOW ; PUSH nat 0 ; DIG 6 ; AMOUNT ; SENDER ; PAIR 5 ; DUP 5 ; CAR ; CDR ; CAR ; CAR ; SWAP ; SOME ; SWAP ; UPDATE ; DUP 4 ; CAR ; CAR ; CDR ; CAR ; PAIR ; DIG 3 ; CAR ; CAR ; CAR ; PAIR ; PAIR ; PAIR ; DUP ; CDR ; SWAP ; DUP ; DUG 2 ; CAR ; CDR ; CDR ; DUP 3 ; CAR ; CDR ; CAR ; CDR ; PUSH nat 1 ; DUP 5 ; CAR ; CDR ; CAR ; CAR ; ADD ; PAIR ; PAIR ; DIG 2 ; CAR ; CAR ; PAIR ; PAIR ; DUP ; CDR ; SWAP ; DUP ; DUG 2 ; CAR ; CDR ; DUP 3 ; CAR ; CAR ; CDR ; CDR ; AMOUNT ; DUP 5 ; CAR ; CAR ; CDR ; CAR ; ADD ; PAIR ; DIG 3 ; CAR ; CAR ; CAR ; PAIR ; PAIR ; PAIR ; SWAP ; PAIR } { PUSH string "Unknown source" ; SENDER ; DUP 4 ; CAR ; CDR ; CDR ; CDR ; COMPARE ; EQ ; IF { DROP } { FAILWITH } ; PUSH string "No games pending" ; DUP 3 ; CAR ; CDR ; CAR ; CAR ; DUP 4 ; CDR ; CDR ; CDR ; COMPARE ; LT ; PUSH nat 0 ; DUP 5 ; CAR ; CDR ; CAR ; CDR ; COMPARE ; EQ ; OR ; IF { DROP } { FAILWITH } ; SWAP ; DIG 2 ; PUSH nat 1 ; PAIR ; PAIR ; SWAP ; LAMBDA (pair nat (pair (pair nat (list operation)) (pair (pair (pair (pair address address) (pair mutez (big_map nat (pair address (pair mutez (pair bool (pair nat timestamp))))))) (pair (pair nat nat) (pair mutez address))) (pair (pair bool (option address)) (pair (big_map address nat) nat))))) (pair bool (pair (pair nat (list operation)) (pair (pair (pair (pair address address) (pair mutez (big_map nat (pair address (pair mutez (pair bool (pair nat timestamp))))))) (pair (pair nat nat) (pair mutez address))) (pair (pair bool (option address)) (pair (big_map address nat) nat))))) { UNPAIR ; SWAP ; DUP ; CDR ; SWAP ; DUP ; DUG 2 ; CAR ; CDR ; DUP 3 ; CAR ; CAR ; PUSH nat 32 ; SWAP ; DUP ; DUG 2 ; COMPARE ; LT ; DUP 4 ; CAR ; CDR ; CAR ; CDR ; DUP 5 ; CDR ; CDR ; CDR ; COMPARE ; LT ; AND ; IF { DIG 3 ; DROP ; DUP 3 ; CAR ; CAR ; CDR ; CDR ; DUP 4 ; CDR ; CDR ; CDR ; GET ; IF_NONE { PUSH int 1 ; FAILWITH } {} ; DUP 4 ; CAR ; CAR ; CAR ; CDR ; CONTRACT unit ; IF_NONE { PUSH string "Destination not found" ; FAILWITH } {} ; SWAP ; DUP ; DUG 2 ; CAR ; CONTRACT unit ; PUSH nat 105 ; DUP 4 ; GET 3 ; EDIV ; IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ; CAR ; PUSH nat 0 ; DUP 6 ; PUSH nat 1 ; LSL ; DIG 9 ; AND ; COMPARE ; GT ; PUSH nat 1 ; DIG 6 ; ADD ; DUP 6 ; GET 5 ; DIG 2 ; COMPARE ; EQ ; IF { DIG 5 ; PUSH nat 200 ; DIG 3 ; MUL ; DIG 3 ; IF_NONE { DIG 3 } { DIG 4 ; DROP } ; PUSH mutez 0 ; DUP 3 ; COMPARE ; GT ; IF { DIG 2 ; SWAP ; DIG 2 ; UNIT ; TRANSFER_TOKENS ; CONS } { DROP 2 } ; DIG 2 ; PUSH nat 2 ; UPDATE 7 ; SWAP ; PAIR } { DIG 2 ; DROP ; DIG 4 ; PUSH nat 3 ; DIG 3 ; MUL ; DIG 3 ; PUSH mutez 0 ; DUP 3 ; COMPARE ; GT ; IF { DIG 2 ; SWAP ; DIG 2 ; UNIT ; TRANSFER_TOKENS ; CONS } { DROP 2 } ; DIG 2 ; PUSH nat 1 ; UPDATE 7 ; SWAP ; PAIR } ; DUP 3 ; CDR ; DUP 4 ; CAR ; CDR ; DUP 5 ; CAR ; CAR ; CDR ; CDR ; DUP 4 ; CDR ; DUP 7 ; CDR ; CDR ; CDR ; SWAP ; SOME ; SWAP ; UPDATE ; DUP 6 ; CAR ; CAR ; CDR ; CAR ; PAIR ; DIG 5 ; CAR ; CAR ; CAR ; PAIR ; PAIR ; PAIR ; PUSH nat 1 ; SWAP ; DUP ; DUG 2 ; CDR ; CDR ; CDR ; ADD ; SWAP ; DUP ; DUG 2 ; CDR ; CDR ; CAR ; PAIR ; SWAP ; DUP ; DUG 2 ; CDR ; CAR ; PAIR ; SWAP ; CAR ; PAIR ; SWAP ; CAR ; DIG 2 ; PAIR ; PAIR ; PUSH bool True ; PAIR } { SWAP ; DIG 2 ; DIG 4 ; DROP 4 ; PUSH bool False ; PAIR } } ; SWAP ; APPLY ; SWAP ; PUSH bool True ; LOOP { DIP { DUP } ; EXEC ; UNPAIR } ; SWAP ; DROP ; UNPAIR ; CDR ; SENDER ; CONTRACT unit ; IF_NONE { PUSH int 2 ; FAILWITH } {} ; SWAP ; DUP ; DUG 2 ; PUSH mutez 550 ; DIG 3 ; SIZE ; MUL ; DIG 2 ; PUSH mutez 0 ; DUP 3 ; COMPARE ; GT ; IF { DIG 2 ; SWAP ; DIG 2 ; UNIT ; TRANSFER_TOKENS ; CONS } { DROP 2 } ; SWAP ; DUP ; DUG 2 ; CDR ; DUP 3 ; CAR ; CDR ; CDR ; DUP 4 ; CAR ; CDR ; CAR ; CAR ; DUP 5 ; CAR ; CDR ; CAR ; CAR ; PAIR ; PAIR ; DIG 3 ; CAR ; CAR ; PAIR ; PAIR ; SWAP ; PAIR } } } { IF_LEFT { IF_LEFT { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CAR ; CAR ; SENDER ; COMPARE ; NEQ ; IF { PUSH int 1 ; FAILWITH } {} ; SWAP ; DUP ; DUG 2 ; CDR ; CDR ; SWAP ; DUP 3 ; CDR ; CAR ; CAR ; PAIR ; PAIR ; SWAP ; CAR ; PAIR ; SWAP ; PAIR } { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CAR ; CAR ; SENDER ; COMPARE ; NEQ ; IF { PUSH int 1 ; FAILWITH } {} ; SWAP ; DUP ; DUG 2 ; CDR ; DUP 3 ; CAR ; CDR ; CDR ; CDR ; DIG 2 ; PAIR ; DUP 3 ; CAR ; CDR ; CAR ; PAIR ; DIG 2 ; CAR ; CAR ; PAIR ; PAIR ; SWAP ; PAIR } } { IF_LEFT { PUSH string "You are not administrator" ; DUP 3 ; CAR ; CAR ; CAR ; CAR ; SENDER ; COMPARE ; EQ ; IF { DROP } { FAILWITH } ; SWAP ; DUP ; DUG 2 ; CDR ; SWAP ; DUP 3 ; CAR ; CDR ; CDR ; CAR ; PAIR ; DUP 3 ; CAR ; CDR ; CAR ; PAIR ; DIG 2 ; CAR ; CAR ; PAIR ; PAIR ; SWAP ; PAIR } { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CAR ; CAR ; SENDER ; COMPARE ; NEQ ; IF { PUSH int 1 ; FAILWITH } {} ; SWAP ; DUP ; DUG 2 ; CDR ; CDR ; DUP 3 ; CDR ; CAR ; CDR ; DIG 2 ; PAIR ; PAIR ; SWAP ; CAR ; PAIR ; SWAP ; PAIR } } } } { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CAR ; CAR ; SENDER ; COMPARE ; NEQ ; IF { DROP 3 ; PUSH int 1 ; FAILWITH } { SWAP ; DUP ; DUP ; DUG 3 ; CAR ; CDR ; CDR ; CAR ; BALANCE ; COMPARE ; GT ; IF { DIG 3 ; DROP ; NIL operation ; DIG 2 ; IMPLICIT_ACCOUNT ; DIG 3 ; CAR ; CDR ; CDR ; CAR ; BALANCE ; SUB ; UNIT ; TRANSFER_TOKENS ; CONS } { SWAP ; DIG 2 ; DROP 2 ; SWAP } ; PAIR } } }