x
556
parameter (or (or (or (pair %approve (address %spender) (nat %value)) (or (unit %default) (unit %delegate))) (or (pair %getAllowance (pair (address %owner) (address %spender)) (contract nat)) (or (pair %getBalance address (contract nat)) (pair %getTotalSupply unit (contract nat))))) (or (or (pair %transfer (address %from) (pair (address %to) (nat %value))) (or (nat %unwrap) (pair %update_metadata (string %key) (bytes %value)))) (or (address %update_permission_module) (or (pair %update_token_metadata (nat %key) (pair %value (nat %token_id) (map %token_info string bytes))) (option %wrap address)))));storage (pair (pair (big_map %ledger address (pair (map %approvals address nat) (nat %balance))) (big_map %metadata string bytes)) (pair (address %permission_module) (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 ; CAR ; SENDER ; MEM ; IF {} { SWAP ; UNPAIR ; UNPAIR ; PUSH (option (pair (map address nat) nat)) (Some (Pair {} 0)) ; SENDER ; UPDATE ; PAIR ; PAIR ; SWAP } ; PUSH nat 0 ; DUP 3 ; CAR ; CAR ; SENDER ; GET ; IF_NONE { PUSH int 105 ; 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 ; DUP ; SENDER ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 110 ; FAILWITH } {} ; DUP ; CAR ; DUP 7 ; CDR ; SOME ; DIG 7 ; CAR ; UPDATE ; UPDATE 1 ; SOME ; SWAP ; UPDATE ; PAIR ; PAIR ; NIL operation } { IF_LEFT { DROP ; DUP ; GET 3 ; NIL operation ; SWAP ; UNIT ; VIEW "get_baking_reward_collector" address ; IF_NONE { PUSH int 177 ; FAILWITH } {} ; CONTRACT unit ; IF_NONE { PUSH int 208 ; FAILWITH } {} ; AMOUNT ; UNIT ; TRANSFER_TOKENS ; CONS } { DROP ; DUP ; GET 3 ; NIL operation ; SWAP ; UNIT ; VIEW "get_delegate" key_hash ; IF_NONE { PUSH int 186 ; FAILWITH } {} ; SOME ; SET_DELEGATE ; CONS } } } { IF_LEFT { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; MEM ; IF { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; GET ; IF_NONE { PUSH int 126 ; 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 } { IF_LEFT { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; SWAP ; DUP ; DUG 2 ; CAR ; MEM ; IF { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; SWAP ; DUP ; DUG 2 ; CAR ; GET ; IF_NONE { PUSH int 119 ; FAILWITH } {} ; CDR } { PUSH nat 0 } ; NIL operation ; DIG 2 ; CDR ; PUSH mutez 0 ; DIG 3 ; TRANSFER_TOKENS ; CONS } { SWAP ; DUP ; DUG 2 ; GET 6 ; NIL operation ; DIG 2 ; CDR ; PUSH mutez 0 ; DIG 3 ; TRANSFER_TOKENS ; CONS } } } } { IF_LEFT { IF_LEFT { DUP ; CAR ; SENDER ; COMPARE ; EQ ; IF { PUSH bool True } { DUP ; GET 4 ; DUP 3 ; CAR ; CAR ; DUP 3 ; CAR ; GET ; IF_NONE { PUSH int 77 ; FAILWITH } {} ; CAR ; SENDER ; GET ; IF_NONE { PUSH int 77 ; FAILWITH } {} ; COMPARE ; GE } ; IF {} { PUSH string "FA1.2_NotAllowed" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; SWAP ; DUP ; DUG 2 ; CAR ; MEM ; IF {} { SWAP ; UNPAIR ; UNPAIR ; PUSH (option (pair (map address nat) nat)) (Some (Pair {} 0)) ; DUP 5 ; CAR ; UPDATE ; PAIR ; PAIR ; SWAP } ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; SWAP ; DUP ; DUG 2 ; GET 3 ; MEM ; IF {} { SWAP ; UNPAIR ; UNPAIR ; PUSH (option (pair (map address nat) nat)) (Some (Pair {} 0)) ; DUP 5 ; GET 3 ; UPDATE ; PAIR ; PAIR ; SWAP } ; DUP ; GET 4 ; DUP 3 ; CAR ; CAR ; DUP 3 ; CAR ; GET ; IF_NONE { PUSH int 86 ; FAILWITH } {} ; CDR ; COMPARE ; GE ; IF {} { PUSH string "FA1.2_InsufficientBalance" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; UNPAIR ; UNPAIR ; DUP ; DUP 5 ; CAR ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 89 ; FAILWITH } {} ; DUP 6 ; GET 4 ; DIG 7 ; CAR ; CAR ; DUP 8 ; CAR ; GET ; IF_NONE { PUSH int 90 ; FAILWITH } {} ; CDR ; SUB ; ISNAT ; IF_NONE { PUSH int 89 ; FAILWITH } {} ; UPDATE 2 ; SOME ; SWAP ; UPDATE ; DUP ; DUP 5 ; GET 3 ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 92 ; FAILWITH } {} ; DUP ; CDR ; DUP 7 ; GET 4 ; ADD ; UPDATE 2 ; SOME ; SWAP ; UPDATE ; PAIR ; PAIR ; SWAP ; DUP ; CAR ; SENDER ; COMPARE ; NEQ ; IF { SWAP ; DUP ; DUG 2 ; UNPAIR ; UNPAIR ; DUP ; DUP 5 ; CAR ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 94 ; FAILWITH } {} ; DUP ; CAR ; DUP 7 ; GET 4 ; DIG 8 ; CAR ; CAR ; DIG 8 ; CAR ; GET ; IF_NONE { PUSH int 95 ; FAILWITH } {} ; CAR ; SENDER ; GET ; IF_NONE { PUSH int 95 ; FAILWITH } {} ; SUB ; ISNAT ; IF_NONE { PUSH int 94 ; FAILWITH } {} ; SOME ; SENDER ; UPDATE ; UPDATE 1 ; SOME ; SWAP ; UPDATE ; PAIR ; PAIR } { DROP } ; NIL operation } { IF_LEFT { DUP ; DUP 3 ; CAR ; CAR ; SENDER ; GET ; IF_NONE { PUSH int 158 ; FAILWITH } {} ; CDR ; COMPARE ; GE ; IF {} { PUSH string "FA1.2_InsufficientBalance" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; UNPAIR ; UNPAIR ; DUP ; SENDER ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 161 ; FAILWITH } {} ; DUP 6 ; DIG 7 ; CAR ; CAR ; SENDER ; GET ; IF_NONE { PUSH int 162 ; FAILWITH } {} ; CDR ; SUB ; ISNAT ; IF_NONE { PUSH int 161 ; FAILWITH } {} ; UPDATE 2 ; SOME ; SWAP ; UPDATE ; PAIR ; PAIR ; SWAP ; NIL operation ; SENDER ; CONTRACT unit ; IF_NONE { PUSH int 164 ; FAILWITH } {} ; PUSH mutez 1 ; DUP 4 ; MUL ; UNIT ; TRANSFER_TOKENS ; CONS ; DUP 3 ; DIG 2 ; DIG 3 ; GET 6 ; SUB ; ISNAT ; IF_NONE { PUSH int 165 ; FAILWITH } {} ; UPDATE 6 ; SWAP } { SWAP ; DUP ; DUG 2 ; GET 3 ; UNIT ; VIEW "get_admin" address ; IF_NONE { PUSH int 148 ; FAILWITH } {} ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "PMI_ONLY_ADMIN" ; FAILWITH } ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; DUP 4 ; CDR ; SOME ; DIG 4 ; CAR ; UPDATE ; SWAP ; PAIR ; PAIR ; NIL operation } } } { IF_LEFT { SWAP ; DUP ; DUG 2 ; GET 3 ; UNIT ; VIEW "get_admin" address ; IF_NONE { PUSH int 148 ; FAILWITH } {} ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "PMI_ONLY_ADMIN" ; FAILWITH } ; UPDATE 3 } { IF_LEFT { SWAP ; DUP ; DUG 2 ; GET 3 ; UNIT ; VIEW "get_admin" address ; IF_NONE { PUSH int 148 ; FAILWITH } {} ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "PMI_ONLY_ADMIN" ; FAILWITH } ; SWAP ; DUP ; GET 5 ; DUP 3 ; CDR ; SOME ; DIG 3 ; CAR ; UPDATE ; UPDATE 5 } { SENDER ; SWAP ; DUP ; DUG 2 ; IF_NONE { SWAP ; DROP } { DROP 2 ; IF_NONE { PUSH int 145 ; FAILWITH } {} } ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; SWAP ; DUP ; DUG 2 ; MEM ; IF {} { SWAP ; UNPAIR ; UNPAIR ; PUSH (option (pair (map address nat) nat)) (Some (Pair {} 0)) ; DUP 5 ; UPDATE ; PAIR ; PAIR ; SWAP } ; PUSH mutez 1 ; AMOUNT ; EDIV ; IF_NONE { UNIT ; FAILWITH } {} ; CAR ; DIG 2 ; UNPAIR ; UNPAIR ; DUP ; DIG 5 ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 148 ; FAILWITH } {} ; DUP ; CDR ; DUP 7 ; ADD ; UPDATE 2 ; SOME ; SWAP ; UPDATE ; PAIR ; PAIR ; DUP ; GET 6 ; DIG 2 ; ADD ; UPDATE 6 } } ; NIL operation } } ; PAIR }