Created
June 21, 2019 21:32
-
-
Save sax1johno/c9768720e69619c6853d9cf460013434 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Contract: | |
| { parameter (or (or nat nat) (pair nat address)) ; | |
| storage (pair (pair (map nat (pair mutez nat)) (map nat (pair address nat))) nat) ; | |
| code { {} ; | |
| { { {} ; | |
| { {} ; | |
| PUSH (lambda | |
| (pair (pair nat address) | |
| (pair (pair (map nat (pair mutez nat)) (map nat (pair address nat))) nat)) | |
| (pair (list operation) | |
| (pair (pair (map nat (pair mutez nat)) (map nat (pair address nat))) nat))) | |
| { { {} ; | |
| { { {} ; { {} ; { { DUP } ; CAR } } ; { {} ; {} } } ; | |
| { {} ; | |
| { {} ; { { { DIP { DUP } ; SWAP } } ; CDR } } ; | |
| { {} ; {} } } ; | |
| { {} ; | |
| { {} ; { { { { DUP } ; CAR } } ; CDR } } ; | |
| { {} ; {} } } ; | |
| { {} ; | |
| { {} ; | |
| { { DUP ; | |
| { { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| CAR } } ; | |
| { GET ; IF_NONE { { PUSH string "GET_FORCE" ; FAILWITH } } { {} } } } } ; | |
| { {} ; {} } } ; | |
| { { { PUSH string "\"This card doesn't belong to you\"" ; | |
| { { { {} ; SOURCE } ; | |
| { { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; CAR } } ; | |
| { COMPARE ; NEQ } } } ; | |
| IF { { FAILWITH } } { { DROP ; PUSH unit Unit } } } ; | |
| DROP } ; | |
| { { { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| CDR } ; | |
| { DIP { DUP } ; SWAP } ; | |
| SWAP ; | |
| { DIP { { DUP ; CAR ; DIP { CDR } } } ; DIP { DROP } ; PAIR } ; | |
| DIP { DROP } } ; | |
| { {} ; | |
| { {} ; | |
| { { { DIP { DUP } ; SWAP } ; | |
| { DIP { DUP } ; SWAP } ; | |
| { { { DIP { { DIP { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| SWAP } } ; | |
| SWAP } } ; | |
| CAR } } ; | |
| { DIP { SOME } ; UPDATE } } } ; | |
| { {} ; { SWAP ; DIP { DIP { DROP } } } } } ; | |
| { { DIP { DUP } ; SWAP } ; | |
| { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } ; | |
| SWAP ; | |
| { DIP { { DUP ; CAR ; DIP { CDR } } } ; | |
| { DIP { { DUP ; CDR ; DIP { CAR } } } ; | |
| DIP { DROP } ; | |
| { SWAP ; PAIR } } ; | |
| PAIR } ; | |
| { SWAP ; DIP { { SWAP ; DIP { DIP { DROP } } } } } } ; | |
| { {} ; { {} ; NIL operation } ; { {} ; {} } } } ; | |
| {} ; | |
| { { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } ; | |
| { DIP { DUP } ; SWAP } } ; | |
| PAIR } ; | |
| DIP { { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { {} } ; DROP } } ; DROP } } ; DROP } } ; | |
| DROP } } ; | |
| DROP } } ; | |
| DROP } } } } } ; | |
| { {} ; {} } } ; | |
| { {} ; | |
| { {} ; | |
| PUSH (lambda | |
| (pair nat (pair (pair (map nat (pair mutez nat)) (map nat (pair address nat))) nat)) | |
| (pair (list operation) | |
| (pair (pair (map nat (pair mutez nat)) (map nat (pair address nat))) nat))) | |
| { { {} ; | |
| { { {} ; { {} ; { { DUP } ; CAR } } ; { {} ; {} } } ; | |
| { {} ; | |
| { {} ; { { { DIP { DUP } ; SWAP } } ; CDR } } ; | |
| { {} ; {} } } ; | |
| { {} ; | |
| { {} ; | |
| { { { { { { DUP } ; CAR } } ; CDR } ; | |
| { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; | |
| { GET ; IF_NONE { { PUSH string "GET_FORCE" ; FAILWITH } } { {} } } } } ; | |
| { {} ; {} } } ; | |
| { { { PUSH string "\"This card doesn't belong to you\"" ; | |
| { { { {} ; SOURCE } ; | |
| { { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; CAR } } ; | |
| { COMPARE ; NEQ } } } ; | |
| IF { { FAILWITH } } { { DROP ; PUSH unit Unit } } } ; | |
| DROP } ; | |
| { {} ; | |
| { {} ; | |
| { { { { { { { DIP { DUP } ; SWAP } } ; CAR } } ; CAR } ; | |
| { { { DIP { DUP } ; SWAP } } ; CDR } } ; | |
| { GET ; IF_NONE { { PUSH string "GET_FORCE" ; FAILWITH } } { {} } } } } ; | |
| { {} ; {} } } ; | |
| { { { { { PUSH nat 1 ; { { { DIP { DUP } ; SWAP } } ; CDR } } ; | |
| SUB } } ; | |
| ABS } ; | |
| { DIP { DUP } ; SWAP } ; | |
| SWAP ; | |
| { DIP { { DUP ; CDR ; DIP { CAR } } } ; | |
| DIP { DROP } ; | |
| { SWAP ; PAIR } } ; | |
| DIP { DROP } } ; | |
| { {} ; | |
| { {} ; | |
| { { { { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; CAR } } ; | |
| CAR } } ; | |
| { {} ; {} } } ; | |
| { {} ; | |
| { {} ; | |
| { { DUP ; | |
| { DIP { { DIP { DUP } ; SWAP } } ; SWAP } ; | |
| { { { DIP { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| SWAP } } ; | |
| CDR } } ; | |
| { DIP { SOME } ; UPDATE } } } ; | |
| { {} ; DIP { DROP } } } ; | |
| { DUP ; | |
| { DIP { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| SWAP } ; | |
| SWAP ; | |
| { DIP { { DUP ; CAR ; DIP { CDR } } } ; | |
| { DIP { { DUP ; CAR ; DIP { CDR } } } ; DIP { DROP } ; PAIR } ; | |
| PAIR } ; | |
| { SWAP ; | |
| DIP { { SWAP ; DIP { { SWAP ; DIP { DIP { DROP } } } } } } } } ; | |
| { {} ; | |
| { {} ; | |
| { { { { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| CAR } } ; | |
| CDR } } ; | |
| { {} ; {} } } ; | |
| { {} ; | |
| { {} ; | |
| { { DUP ; | |
| { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| SWAP } } ; | |
| SWAP } } ; | |
| SWAP } } ; | |
| { DIP { NONE (pair address nat) } ; UPDATE } } } ; | |
| { {} ; DIP { DROP } } } ; | |
| { DUP ; | |
| { DIP { { DIP { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| SWAP } } ; | |
| SWAP } ; | |
| SWAP ; | |
| { DIP { { DUP ; CAR ; DIP { CDR } } } ; | |
| { DIP { { DUP ; CDR ; DIP { CAR } } } ; | |
| DIP { DROP } ; | |
| { SWAP ; PAIR } } ; | |
| PAIR } ; | |
| { SWAP ; | |
| DIP { { SWAP ; | |
| DIP { { SWAP ; DIP { { SWAP ; DIP { DIP { DROP } } } } } } } } } } ; | |
| { {} ; | |
| { {} ; | |
| { { { { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; CDR } ; | |
| { { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| CAR } } ; | |
| MUL } } ; | |
| { {} ; {} } } ; | |
| { {} ; | |
| { {} ; | |
| { { { {} ; SOURCE } } ; | |
| { CONTRACT unit ; | |
| IF_NONE | |
| { { PUSH string "bad address for get_contract" ; FAILWITH } } | |
| { {} } } } } ; | |
| { {} ; {} } } ; | |
| { {} ; | |
| { {} ; | |
| { { DUP ; | |
| { DIP { { DIP { DUP } ; SWAP } } ; SWAP } ; | |
| { {} ; UNIT } } ; | |
| TRANSFER_TOKENS } } ; | |
| { {} ; {} } } ; | |
| { {} ; | |
| { {} ; { { NIL operation ; { DIP { DUP } ; SWAP } } ; CONS } } ; | |
| { {} ; {} } } } ; | |
| {} ; | |
| { { { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| SWAP } } ; | |
| SWAP } } ; | |
| SWAP } } ; | |
| SWAP } } ; | |
| SWAP } ; | |
| { DIP { DUP } ; SWAP } } ; | |
| PAIR } ; | |
| DIP { { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { {} } ; DROP } } ; DROP } } ; DROP } } ; | |
| DROP } } ; | |
| DROP } } ; | |
| DROP } } ; | |
| DROP } } ; | |
| DROP } } ; | |
| DROP } } ; | |
| DROP } } ; | |
| DROP } } } } } ; | |
| { {} ; {} } } ; | |
| { {} ; | |
| { {} ; | |
| PUSH (lambda | |
| (pair nat (pair (pair (map nat (pair mutez nat)) (map nat (pair address nat))) nat)) | |
| (pair (list operation) | |
| (pair (pair (map nat (pair mutez nat)) (map nat (pair address nat))) nat))) | |
| { { {} ; | |
| { { {} ; { {} ; { { DUP } ; CAR } } ; { {} ; {} } } ; | |
| { {} ; | |
| { {} ; { { { DIP { DUP } ; SWAP } } ; CDR } } ; | |
| { {} ; {} } } ; | |
| { {} ; | |
| { {} ; | |
| { { { { { { DUP } ; CAR } } ; CAR } ; | |
| { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; | |
| { GET ; IF_NONE { { PUSH string "GET_FORCE" ; FAILWITH } } { {} } } } } ; | |
| { {} ; {} } } ; | |
| { {} ; | |
| { {} ; | |
| { { { { PUSH nat 1 ; { { { DIP { DUP } ; SWAP } } ; CDR } } ; | |
| ADD } ; | |
| { { { DIP { DUP } ; SWAP } } ; CAR } } ; | |
| MUL } } ; | |
| { {} ; {} } } ; | |
| { { { PUSH string "\"Not enough money\"" ; | |
| { { { {} ; AMOUNT } ; | |
| { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; | |
| { COMPARE ; GT } } } ; | |
| IF { { FAILWITH } } { { DROP ; PUSH unit Unit } } } ; | |
| DROP } ; | |
| { {} ; { {} ; NIL operation } ; { {} ; {} } } ; | |
| { { { PUSH nat 1 ; | |
| { { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| CDR } } ; | |
| ADD } ; | |
| { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } ; | |
| SWAP ; | |
| { DIP { { DUP ; CDR ; DIP { CAR } } } ; | |
| DIP { DROP } ; | |
| { SWAP ; PAIR } } ; | |
| { SWAP ; DIP { { SWAP ; DIP { DIP { DROP } } } } } } ; | |
| { {} ; | |
| { {} ; | |
| { { { { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| CAR } } ; | |
| CAR } } ; | |
| { {} ; {} } } ; | |
| { {} ; | |
| { {} ; | |
| { { DUP ; | |
| { DIP { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| SWAP } ; | |
| { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| SWAP } } ; | |
| SWAP } } ; | |
| SWAP } } ; | |
| SWAP } } ; | |
| { DIP { SOME } ; UPDATE } } } ; | |
| { {} ; DIP { DROP } } } ; | |
| { DUP ; | |
| { DIP { { DIP { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| SWAP } } ; | |
| SWAP } ; | |
| SWAP ; | |
| { DIP { { DUP ; CAR ; DIP { CDR } } } ; | |
| { DIP { { DUP ; CAR ; DIP { CDR } } } ; DIP { DROP } ; PAIR } ; | |
| PAIR } ; | |
| { SWAP ; | |
| DIP { { SWAP ; | |
| DIP { { SWAP ; DIP { { SWAP ; DIP { DIP { DROP } } } } } } } } } } ; | |
| { {} ; | |
| { {} ; | |
| { { { { { DIP { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| SWAP } } ; | |
| CAR } } ; | |
| CDR } } ; | |
| { {} ; {} } } ; | |
| { {} ; | |
| { {} ; | |
| { { DUP ; | |
| { { { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| SWAP } } ; | |
| SWAP } } ; | |
| SWAP } } ; | |
| SWAP } ; | |
| { {} ; SOURCE } } ; | |
| PAIR } ; | |
| { { { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| SWAP } } ; | |
| SWAP } } ; | |
| SWAP } } ; | |
| SWAP } } ; | |
| CDR } } ; | |
| { DIP { SOME } ; UPDATE } } } ; | |
| { {} ; DIP { DROP } } } ; | |
| { DUP ; | |
| { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| SWAP } } ; | |
| SWAP } } ; | |
| SWAP } ; | |
| SWAP ; | |
| { DIP { { DUP ; CAR ; DIP { CDR } } } ; | |
| { DIP { { DUP ; CDR ; DIP { CAR } } } ; | |
| DIP { DROP } ; | |
| { SWAP ; PAIR } } ; | |
| PAIR } ; | |
| { SWAP ; | |
| DIP { { SWAP ; | |
| DIP { { SWAP ; | |
| DIP { { SWAP ; DIP { { SWAP ; DIP { DIP { DROP } } } } } } } } } } } } ; | |
| { { { PUSH nat 1 ; | |
| { { { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| SWAP } } ; | |
| SWAP } } ; | |
| SWAP } } ; | |
| CDR } } ; | |
| ADD } ; | |
| { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| SWAP } } ; | |
| SWAP } } ; | |
| SWAP } ; | |
| SWAP ; | |
| { DIP { { DUP ; CDR ; DIP { CAR } } } ; | |
| DIP { DROP } ; | |
| { SWAP ; PAIR } } ; | |
| { SWAP ; | |
| DIP { { SWAP ; | |
| DIP { { SWAP ; | |
| DIP { { SWAP ; DIP { { SWAP ; DIP { DIP { DROP } } } } } } } } } } } } } ; | |
| {} ; | |
| { { { DIP { { DIP { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| SWAP } } ; | |
| SWAP } ; | |
| { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| PAIR } ; | |
| DIP { { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { {} } ; DROP } } ; DROP } } ; DROP } } ; | |
| DROP } } ; | |
| DROP } } ; | |
| DROP } } ; | |
| DROP } } ; | |
| DROP } } } } } ; | |
| { {} ; {} } } ; | |
| { {} ; | |
| { {} ; | |
| { { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| CAR } } ; | |
| { {} ; {} } } ; | |
| { {} ; | |
| { {} ; | |
| { { { DIP { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| SWAP } } ; | |
| CDR } } ; | |
| { {} ; {} } } } ; | |
| {} ; | |
| { { DIP { DUP } ; SWAP } ; | |
| IF_LEFT | |
| { { { DUP ; | |
| IF_LEFT | |
| { { { DUP ; | |
| { {} ; | |
| {} ; | |
| { DIP { { DIP { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| SWAP } } ; | |
| SWAP } ; | |
| {} ; | |
| { { { DIP { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| SWAP } ; | |
| { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; | |
| PAIR } ; | |
| EXEC } ; | |
| {} ; | |
| DIP { { DIP { DIP { DIP { DIP { DIP { DIP { DIP { DIP { DIP { {} } } } } } } } } } ; | |
| DROP } } } ; | |
| {} ; | |
| DIP { { DIP { DIP { DIP { DIP { DIP { DIP { DIP { DIP { {} } } } } } } } } ; | |
| DROP } } } } | |
| { { { DUP ; | |
| { {} ; | |
| {} ; | |
| { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| SWAP } } ; | |
| SWAP } } ; | |
| SWAP } ; | |
| {} ; | |
| { { { DIP { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| SWAP } ; | |
| { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; | |
| PAIR } ; | |
| EXEC } ; | |
| {} ; | |
| DIP { { DIP { DIP { DIP { DIP { DIP { DIP { DIP { DIP { DIP { {} } } } } } } } } } ; | |
| DROP } } } ; | |
| {} ; | |
| DIP { { DIP { DIP { DIP { DIP { DIP { DIP { DIP { DIP { {} } } } } } } } } ; | |
| DROP } } } } } ; | |
| {} ; | |
| DIP { { DIP { DIP { DIP { DIP { DIP { DIP { DIP { {} } } } } } } } ; | |
| DROP } } } } | |
| { { { DUP ; | |
| { {} ; | |
| {} ; | |
| { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } } ; | |
| SWAP } } ; | |
| SWAP } } ; | |
| SWAP } ; | |
| {} ; | |
| { { { DIP { { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; SWAP } ; | |
| { DIP { { DIP { DUP } ; SWAP } } ; SWAP } } ; | |
| PAIR } ; | |
| EXEC } ; | |
| {} ; | |
| DIP { { DIP { DIP { DIP { DIP { DIP { DIP { DIP { DIP { {} } } } } } } } } ; | |
| DROP } } } ; | |
| {} ; | |
| DIP { { DIP { DIP { DIP { DIP { DIP { DIP { DIP { {} } } } } } } } ; | |
| DROP } } } } } ; | |
| DIP { { DIP { { DIP { { DIP { { DIP { { DIP { { DIP { {} } ; DROP } } ; DROP } } ; DROP } } ; | |
| DROP } } ; | |
| DROP } } ; | |
| DROP } } } } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment