x
600
parameter (or (or (or (pair %approve (address %spender) (nat %value)) (pair %burn (address %address) (nat %value))) (or (pair %getAdministrator unit (contract address)) (or (pair %getAllowance (pair (address %owner) (address %spender)) (contract nat)) (pair %getBalance address (contract nat))))) (or (or (pair %getTotalSupply unit (contract nat)) (or (pair %mint (address %address) (nat %value)) (address %setAdministrator))) (or (bool %setPause) (or (pair %transfer (address %from) (pair (address %to) (nat %value))) (pair %update_metadata (string %key) (bytes %value))))));storage (pair (pair (address %administrator) (pair (big_map %balances address (pair (map %approvals address nat) (nat %balance))) (big_map %metadata string bytes))) (pair (bool %paused) (pair (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes))) (nat %totalSupply))));code { UNPAIR ; IF_LEFT { IF_LEFT { IF_LEFT { SWAP ; DUP ; DUG 2 ; CAR ; GET 3 ; SENDER ; MEM ; IF {} { SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; PUSH (option (pair (map address nat) nat)) (Some (Pair {} 0)) ; SENDER ; UPDATE ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP } ; SWAP ; DUP ; DUG 2 ; GET 3 ; IF { PUSH string "FA1.2_Paused" ; FAILWITH } {} ; PUSH nat 0 ; DUP 3 ; CAR ; GET 3 ; SENDER ; GET ; IF_NONE { PUSH int 92 ; FAILWITH } {} ; CAR ; DUP 3 ; CAR ; GET ; IF_NONE { PUSH nat 0 } {} ; COMPARE ; EQ ; IF { PUSH bool True } { DUP ; CDR ; PUSH nat 0 ; COMPARE ; EQ } ; IF {} { PUSH string "FA1.2_UnsafeAllowanceChange" ; FAILWITH } ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; DUP ; SENDER ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 94 ; FAILWITH } {} ; DUP ; CAR ; DUP 8 ; CDR ; SOME ; DIG 8 ; CAR ; UPDATE ; UPDATE 1 ; SOME ; SWAP ; UPDATE ; PAIR ; SWAP ; PAIR ; PAIR } { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "FA1.2_NotAdmin" ; FAILWITH } ; DUP ; CDR ; DUP 3 ; CAR ; GET 3 ; DUP 3 ; CAR ; GET ; IF_NONE { PUSH int 140 ; FAILWITH } {} ; CDR ; COMPARE ; GE ; IF {} { PUSH string "FA1.2_InsufficientBalance" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; DUP ; DUP 6 ; CAR ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 141 ; FAILWITH } {} ; DUP 7 ; CDR ; DIG 8 ; CAR ; GET 3 ; DUP 9 ; CAR ; GET ; IF_NONE { PUSH int 141 ; FAILWITH } {} ; CDR ; SUB ; ISNAT ; IF_NONE { PUSH int 141 ; FAILWITH } {} ; UPDATE 2 ; SOME ; SWAP ; UPDATE ; PAIR ; SWAP ; PAIR ; PAIR ; DUP ; DUG 2 ; SWAP ; CDR ; DIG 2 ; GET 6 ; SUB ; ISNAT ; IF_NONE { PUSH int 142 ; FAILWITH } {} ; UPDATE 6 } ; NIL operation } { IF_LEFT { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; NIL operation ; DIG 2 ; CDR ; PUSH mutez 0 ; DIG 3 ; TRANSFER_TOKENS ; CONS } { IF_LEFT { SWAP ; DUP ; DUG 2 ; CAR ; GET 3 ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; MEM ; IF { SWAP ; DUP ; DUG 2 ; CAR ; GET 3 ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; GET ; IF_NONE { PUSH int 110 ; FAILWITH } {} ; CAR ; SWAP ; DUP ; DUG 2 ; CAR ; CDR ; GET ; IF_NONE { PUSH nat 0 } {} } { PUSH nat 0 } ; NIL operation ; DIG 2 ; CDR ; PUSH mutez 0 ; DIG 3 ; TRANSFER_TOKENS ; CONS } { SWAP ; DUP ; DUG 2 ; CAR ; GET 3 ; SWAP ; DUP ; DUG 2 ; CAR ; MEM ; IF { SWAP ; DUP ; DUG 2 ; CAR ; GET 3 ; SWAP ; DUP ; DUG 2 ; CAR ; GET ; IF_NONE { PUSH int 103 ; FAILWITH } {} ; CDR } { PUSH nat 0 } ; NIL operation ; DIG 2 ; CDR ; PUSH mutez 0 ; DIG 3 ; TRANSFER_TOKENS ; CONS } } } } { IF_LEFT { IF_LEFT { SWAP ; DUP ; DUG 2 ; GET 6 ; NIL operation ; DIG 2 ; CDR ; PUSH mutez 0 ; DIG 3 ; TRANSFER_TOKENS ; CONS } { IF_LEFT { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "FA1.2_NotAdmin" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; CAR ; GET 3 ; SWAP ; DUP ; DUG 2 ; CAR ; MEM ; IF {} { SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; PUSH (option (pair (map address nat) nat)) (Some (Pair {} 0)) ; DUP 6 ; CAR ; UPDATE ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP } ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; DUP ; DUP 6 ; CAR ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 133 ; FAILWITH } {} ; DUP ; CDR ; DUP 8 ; CDR ; ADD ; UPDATE 2 ; SOME ; SWAP ; UPDATE ; PAIR ; SWAP ; PAIR ; PAIR ; DUP ; GET 6 ; DIG 2 ; CDR ; ADD ; UPDATE 6 } { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "FA1.2_NotAdmin" ; FAILWITH } ; SWAP ; UNPAIR ; CDR ; DIG 2 ; PAIR ; PAIR } ; NIL operation } } { IF_LEFT { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "FA1.2_NotAdmin" ; FAILWITH } ; UPDATE 3 } { IF_LEFT { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; SENDER ; COMPARE ; EQ ; IF { PUSH bool True } { SWAP ; DUP ; DUG 2 ; GET 3 ; IF { PUSH bool False } { DUP ; CAR ; SENDER ; COMPARE ; EQ ; IF { PUSH bool True } { DUP ; GET 4 ; DUP 3 ; CAR ; GET 3 ; DUP 3 ; CAR ; GET ; IF_NONE { PUSH int 75 ; FAILWITH } {} ; CAR ; SENDER ; GET ; IF_NONE { PUSH int 75 ; FAILWITH } {} ; COMPARE ; GE } } } ; IF {} { PUSH string "FA1.2_NotAllowed" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; CAR ; GET 3 ; SWAP ; DUP ; DUG 2 ; CAR ; MEM ; IF {} { SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; PUSH (option (pair (map address nat) nat)) (Some (Pair {} 0)) ; DUP 6 ; CAR ; UPDATE ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP } ; SWAP ; DUP ; DUG 2 ; CAR ; GET 3 ; SWAP ; DUP ; DUG 2 ; GET 3 ; MEM ; IF {} { SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; PUSH (option (pair (map address nat) nat)) (Some (Pair {} 0)) ; DUP 6 ; GET 3 ; UPDATE ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP } ; DUP ; GET 4 ; DUP 3 ; CAR ; GET 3 ; DUP 3 ; CAR ; GET ; IF_NONE { PUSH int 81 ; FAILWITH } {} ; CDR ; COMPARE ; GE ; IF {} { PUSH string "FA1.2_InsufficientBalance" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; DUP ; DUP 6 ; CAR ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 82 ; FAILWITH } {} ; DUP 7 ; GET 4 ; DIG 8 ; CAR ; GET 3 ; DUP 9 ; CAR ; GET ; IF_NONE { PUSH int 82 ; FAILWITH } {} ; CDR ; SUB ; ISNAT ; IF_NONE { PUSH int 82 ; FAILWITH } {} ; UPDATE 2 ; SOME ; SWAP ; UPDATE ; DUP ; DUP 6 ; GET 3 ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 83 ; FAILWITH } {} ; DUP ; CDR ; DUP 8 ; GET 4 ; ADD ; UPDATE 2 ; SOME ; SWAP ; UPDATE ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP ; DUP ; CAR ; SENDER ; COMPARE ; NEQ ; IF { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; SENDER ; COMPARE ; NEQ } { PUSH bool False } ; IF { SWAP ; DUP ; DUG 2 ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; DUP ; DUP 6 ; CAR ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 85 ; FAILWITH } {} ; DUP ; CAR ; DUP 8 ; GET 4 ; DIG 9 ; CAR ; GET 3 ; DIG 9 ; CAR ; GET ; IF_NONE { PUSH int 85 ; FAILWITH } {} ; CAR ; SENDER ; GET ; IF_NONE { PUSH int 85 ; FAILWITH } {} ; SUB ; ISNAT ; IF_NONE { PUSH int 85 ; FAILWITH } {} ; SOME ; SENDER ; UPDATE ; UPDATE 1 ; SOME ; SWAP ; UPDATE ; PAIR ; SWAP ; PAIR ; PAIR } { DROP } } { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "FA1.2_NotAdmin" ; FAILWITH } ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; DUP 5 ; CDR ; SOME ; DIG 5 ; CAR ; UPDATE ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR } } ; NIL operation } } ; PAIR }