x
729
parameter (or (or (or (nat %ModifyParameters) (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 (unit %mint) (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 (pair (address %administrator) (big_map %balances address (pair (map %approvals address nat) (nat %balance)))) (pair (nat %lastUpdate) (big_map %metadata string bytes))) (pair (pair (bool %paused) (big_map %token_metadata nat (pair (nat %token_id) (map %token_info string bytes)))) (pair (nat %tokensPerBlock) (nat %totalSupply))));code { UNPAIR ; IF_LEFT { IF_LEFT { IF_LEFT { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CAR ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "Sender is not authorized" ; FAILWITH } ; UPDATE 5 ; UNPAIR ; UNPAIR ; SWAP ; CDR ; LEVEL ; PAIR ; SWAP ; PAIR ; PAIR } { IF_LEFT { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CDR ; SENDER ; MEM ; IF {} { SWAP ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; PUSH (option (pair (map address nat) nat)) (Some (Pair {} 0)) ; SENDER ; UPDATE ; SWAP ; PAIR ; PAIR ; PAIR ; SWAP } ; SWAP ; DUP ; DUG 2 ; GET 3 ; CAR ; IF { PUSH string "FA1.2_Paused" ; FAILWITH } {} ; PUSH nat 0 ; DUP 3 ; CAR ; CAR ; CDR ; SENDER ; GET ; IF_NONE { PUSH int 98 ; 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 ; UNPAIR ; SWAP ; DUP ; SENDER ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 100 ; FAILWITH } {} ; DUP ; CAR ; DUP 8 ; CDR ; SOME ; DIG 8 ; CAR ; UPDATE ; UPDATE 1 ; SOME ; SWAP ; UPDATE ; SWAP ; PAIR ; PAIR ; PAIR } { DUP ; CAR ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "Sender and Parameter Address are not the same" ; FAILWITH } ; DUP ; CDR ; DUP 3 ; CAR ; CAR ; CDR ; DUP 3 ; CAR ; GET ; IF_NONE { PUSH int 168 ; FAILWITH } {} ; CDR ; COMPARE ; GE ; IF {} { PUSH string "FA1.2_InsufficientBalance" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; DUP ; DUP 6 ; CAR ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 170 ; FAILWITH } {} ; DUP 7 ; CDR ; DIG 8 ; CAR ; CAR ; CDR ; DUP 9 ; CAR ; GET ; IF_NONE { PUSH int 170 ; FAILWITH } {} ; CDR ; SUB ; ISNAT ; IF_NONE { PUSH int 170 ; FAILWITH } {} ; UPDATE 2 ; SOME ; SWAP ; UPDATE ; SWAP ; PAIR ; PAIR ; PAIR ; DUP ; DUG 2 ; SWAP ; CDR ; DIG 2 ; GET 6 ; SUB ; ISNAT ; IF_NONE { PUSH int 171 ; FAILWITH } {} ; UPDATE 6 } } ; NIL operation } { IF_LEFT { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CAR ; NIL operation ; DIG 2 ; CDR ; PUSH mutez 0 ; DIG 3 ; TRANSFER_TOKENS ; CONS } { IF_LEFT { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CDR ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; MEM ; IF { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CDR ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; GET ; IF_NONE { PUSH int 116 ; 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 ; CAR ; CDR ; SWAP ; DUP ; DUG 2 ; CAR ; MEM ; IF { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CDR ; SWAP ; DUP ; DUG 2 ; CAR ; GET ; IF_NONE { PUSH int 109 ; 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 ; CAR ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "FA1.2_NotAdmin" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CDR ; SENDER ; MEM ; IF {} { SWAP ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; PUSH (option (pair (map address nat) nat)) (Some (Pair {} 0)) ; SENDER ; UPDATE ; SWAP ; PAIR ; PAIR ; PAIR ; SWAP } ; SWAP ; DUP ; DUG 2 ; CAR ; GET 3 ; LEVEL ; SUB ; ISNAT ; IF_NONE { PUSH string "Contract Call in the same block height" ; FAILWITH } {} ; DUP 3 ; GET 5 ; SWAP ; DUP ; DUG 2 ; MUL ; PUSH nat 62000000000000000000000000 ; DUP 5 ; GET 6 ; DUP 3 ; ADD ; COMPARE ; GT ; IF { DROP 3 ; PUSH nat 62000000000000000000000000 ; SWAP ; DUP ; DUG 2 ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; DUP ; DUP 7 ; CAR ; CAR ; CAR ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 150 ; FAILWITH } {} ; DUP ; CDR ; DIG 8 ; GET 6 ; DIG 8 ; SUB ; ISNAT ; IF_NONE { PUSH int 150 ; FAILWITH } {} ; ADD ; UPDATE 2 ; SOME ; SWAP ; UPDATE ; SWAP ; PAIR ; PAIR ; PAIR ; PUSH nat 62000000000000000000000000 ; UPDATE 6 } { SWAP ; DROP ; SWAP ; DROP ; SWAP ; DUP ; DUG 2 ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; DUP ; DIG 6 ; CAR ; CAR ; CAR ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 155 ; FAILWITH } {} ; DUP ; CDR ; DUP 8 ; ADD ; UPDATE 2 ; SOME ; SWAP ; UPDATE ; SWAP ; PAIR ; PAIR ; PAIR ; DUP ; GET 6 ; DIG 2 ; ADD ; UPDATE 6 } ; UNPAIR ; UNPAIR ; SWAP ; CDR ; LEVEL ; PAIR ; SWAP ; PAIR ; PAIR } { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CAR ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "FA1.2_NotAdmin" ; FAILWITH } ; SWAP ; UNPAIR ; UNPAIR ; CDR ; DIG 3 ; PAIR ; PAIR ; PAIR } ; NIL operation } } { IF_LEFT { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CAR ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "FA1.2_NotAdmin" ; FAILWITH } ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; CDR ; DIG 3 ; PAIR ; PAIR ; SWAP ; PAIR } { IF_LEFT { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CAR ; SENDER ; COMPARE ; EQ ; IF { PUSH bool True } { SWAP ; DUP ; DUG 2 ; GET 3 ; CAR ; IF { PUSH bool False } { DUP ; CAR ; SENDER ; COMPARE ; EQ ; IF { PUSH bool True } { DUP ; GET 4 ; DUP 3 ; CAR ; CAR ; CDR ; DUP 3 ; CAR ; GET ; IF_NONE { PUSH int 81 ; FAILWITH } {} ; CAR ; SENDER ; GET ; IF_NONE { PUSH int 81 ; FAILWITH } {} ; COMPARE ; GE } } } ; IF {} { PUSH string "FA1.2_NotAllowed" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CDR ; SWAP ; DUP ; DUG 2 ; CAR ; MEM ; IF {} { SWAP ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; PUSH (option (pair (map address nat) nat)) (Some (Pair {} 0)) ; DUP 6 ; CAR ; UPDATE ; SWAP ; PAIR ; PAIR ; PAIR ; SWAP } ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CDR ; SWAP ; DUP ; DUG 2 ; GET 3 ; MEM ; IF {} { SWAP ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; PUSH (option (pair (map address nat) nat)) (Some (Pair {} 0)) ; DUP 6 ; GET 3 ; UPDATE ; SWAP ; PAIR ; PAIR ; PAIR ; SWAP } ; DUP ; GET 4 ; DUP 3 ; CAR ; CAR ; CDR ; DUP 3 ; CAR ; GET ; IF_NONE { PUSH int 87 ; FAILWITH } {} ; CDR ; COMPARE ; GE ; IF {} { PUSH string "FA1.2_InsufficientBalance" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; DUP ; DUP 6 ; CAR ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 88 ; FAILWITH } {} ; DUP 7 ; GET 4 ; DIG 8 ; CAR ; CAR ; CDR ; DUP 9 ; CAR ; GET ; IF_NONE { PUSH int 88 ; FAILWITH } {} ; CDR ; SUB ; ISNAT ; IF_NONE { PUSH int 88 ; FAILWITH } {} ; UPDATE 2 ; SOME ; SWAP ; UPDATE ; DUP ; DUP 6 ; GET 3 ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 89 ; FAILWITH } {} ; DUP ; CDR ; DUP 8 ; GET 4 ; ADD ; UPDATE 2 ; SOME ; SWAP ; UPDATE ; SWAP ; PAIR ; PAIR ; PAIR ; SWAP ; DUP ; CAR ; SENDER ; COMPARE ; NEQ ; IF { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CAR ; SENDER ; COMPARE ; NEQ } { PUSH bool False } ; IF { SWAP ; DUP ; DUG 2 ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; DUP ; DUP 6 ; CAR ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 91 ; FAILWITH } {} ; DUP ; CAR ; DUP 8 ; GET 4 ; DIG 9 ; CAR ; CAR ; CDR ; DIG 9 ; CAR ; GET ; IF_NONE { PUSH int 91 ; FAILWITH } {} ; CAR ; SENDER ; GET ; IF_NONE { PUSH int 91 ; FAILWITH } {} ; SUB ; ISNAT ; IF_NONE { PUSH int 91 ; FAILWITH } {} ; SOME ; SENDER ; UPDATE ; UPDATE 1 ; SOME ; SWAP ; UPDATE ; SWAP ; PAIR ; PAIR ; PAIR } { DROP } } { SWAP ; DUP ; DUG 2 ; CAR ; 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 }