x
696
parameter (or (or (or (pair %getVersion (unit %viewParam) (contract %viewCallbackTo nat)) (pair %getAllowance (pair %viewParam (address :owner) (address :spender)) (contract %viewCallbackTo nat))) (or (pair %getBalance (address :owner %viewParam) (contract %viewCallbackTo nat)) (or (pair %getTotalSupply (unit %viewParam) (contract %viewCallbackTo nat)) (pair %getTotalMinted (unit %viewParam) (contract %viewCallbackTo nat))))) (or (or (pair %getTotalBurned (unit %viewParam) (contract %viewCallbackTo nat)) (pair %getOwner (unit %viewParam) (contract %viewCallbackTo address))) (or (pair %getRedeemAddress (unit %viewParam) (contract %viewCallbackTo address)) (or (pair %getTokenMetadata (list %viewParam nat) (contract %viewCallbackTo (list (pair (nat %token_id) (string %symbol) (string %name) (nat %decimals) (map %extras string string))))) (or %safeEntrypoints (or (or (or (pair %run string bytes) (pair %upgrade (pair (nat :currentVersion) (nat :newVersion)) (lambda :migrationScript (big_map bytes bytes) (big_map bytes bytes)) (option :newCode (lambda (pair (pair string bytes) (big_map bytes bytes)) (pair (list operation) (big_map bytes bytes)))) (option :newPermCode (lambda (pair unit (big_map bytes bytes)) (pair (list operation) (big_map bytes bytes)))))) (or (pair %epwBeginUpgrade (nat :current) (nat :new)) (lambda :migrationscript %epwApplyMigration (big_map bytes bytes) (big_map bytes bytes)))) (or (or (lambda :contractcode %epwSetCode (pair (pair string bytes) (big_map bytes bytes)) (pair (list operation) (big_map bytes bytes))) (unit %epwFinishUpgrade)) (or (pair %transfer (address :from) (address :to) (nat :value)) (pair %approve (address :spender) (nat :value))))) (or (or (or (pair %mint (address :to) (nat :value)) (nat :value %burn)) (or (address :operator %addOperator) (address :operator %removeOperator))) (or (or (address :redeem %setRedeemAddress) (unit %pause)) (or (unit %unpause) (or (address :newOwner %transferOwnership) (unit %acceptOwnership))))))))));storage (pair (big_map %dataMap bytes bytes) (pair %fields (lambda %contractRouter (pair (pair string bytes) (big_map bytes bytes)) (pair (list operation) (big_map bytes bytes))) (nat %currentVersion) (bool %migrating)));code { UNPAIR ; IF_LEFT { IF_LEFT { IF_LEFT { CDR ; DUP 2 ; CDR ; CDR ; CAR ; DIP { AMOUNT } ; TRANSFER_TOKENS ; NIL operation ; SWAP ; CONS ; PAIR } { UNPAIR ; DIP { ADDRESS } ; PAIR ; PACK ; PUSH string "callGetAllowance" ; PAIR ; DIP { DUP ; CDR ; CDR ; CDR ; IF { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH } {} ; DUP ; CAR ; DIP { DUP ; CDR ; CAR } } ; PAIR ; EXEC ; UNPAIR ; DIP { DIP { UNPAIR } ; SWAP ; DROP ; PAIR } ; PAIR } } { IF_LEFT { UNPAIR ; DIP { ADDRESS } ; PAIR ; PACK ; PUSH string "callGetBalance" ; PAIR ; DIP { DUP ; CDR ; CDR ; CDR ; IF { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH } {} ; DUP ; CAR ; DIP { DUP ; CDR ; CAR } } ; PAIR ; EXEC ; UNPAIR ; DIP { DIP { UNPAIR } ; SWAP ; DROP ; PAIR } ; PAIR } { IF_LEFT { UNPAIR ; DIP { ADDRESS } ; PAIR ; PACK ; PUSH string "callGetTotalSupply" ; PAIR ; DIP { DUP ; CDR ; CDR ; CDR ; IF { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH } {} ; DUP ; CAR ; DIP { DUP ; CDR ; CAR } } ; PAIR ; EXEC ; UNPAIR ; DIP { DIP { UNPAIR } ; SWAP ; DROP ; PAIR } ; PAIR } { UNPAIR ; DIP { ADDRESS } ; PAIR ; PACK ; PUSH string "callGetTotalMinted" ; PAIR ; DIP { DUP ; CDR ; CDR ; CDR ; IF { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH } {} ; DUP ; CAR ; DIP { DUP ; CDR ; CAR } } ; PAIR ; EXEC ; UNPAIR ; DIP { DIP { UNPAIR } ; SWAP ; DROP ; PAIR } ; PAIR } } } } { IF_LEFT { IF_LEFT { UNPAIR ; DIP { ADDRESS } ; PAIR ; PACK ; PUSH string "callGetTotalBurned" ; PAIR ; DIP { DUP ; CDR ; CDR ; CDR ; IF { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH } {} ; DUP ; CAR ; DIP { DUP ; CDR ; CAR } } ; PAIR ; EXEC ; UNPAIR ; DIP { DIP { UNPAIR } ; SWAP ; DROP ; PAIR } ; PAIR } { UNPAIR ; DIP { ADDRESS } ; PAIR ; PACK ; PUSH string "callGetOwner" ; PAIR ; DIP { DUP ; CDR ; CDR ; CDR ; IF { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH } {} ; DUP ; CAR ; DIP { DUP ; CDR ; CAR } } ; PAIR ; EXEC ; UNPAIR ; DIP { DIP { UNPAIR } ; SWAP ; DROP ; PAIR } ; PAIR } } { IF_LEFT { UNPAIR ; DIP { ADDRESS } ; PAIR ; PACK ; PUSH string "callGetRedeemAddress" ; PAIR ; DIP { DUP ; CDR ; CDR ; CDR ; IF { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH } {} ; DUP ; CAR ; DIP { DUP ; CDR ; CAR } } ; PAIR ; EXEC ; UNPAIR ; DIP { DIP { UNPAIR } ; SWAP ; DROP ; PAIR } ; PAIR } { IF_LEFT { UNPAIR ; DIP { ADDRESS } ; PAIR ; PACK ; PUSH string "callGetTokenMetadata" ; PAIR ; DIP { DUP ; CDR ; CDR ; CDR ; IF { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH } {} ; DUP ; CAR ; DIP { DUP ; CDR ; CAR } } ; PAIR ; EXEC ; UNPAIR ; DIP { DIP { UNPAIR } ; SWAP ; DROP ; PAIR } ; PAIR } { IF_LEFT { IF_LEFT { IF_LEFT { IF_LEFT { DIP { DUP ; CDR ; CDR ; CDR ; IF { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH } {} ; DUP ; CAR ; DIP { DUP ; CDR ; CAR } } ; PAIR ; EXEC ; UNPAIR ; DIP { DIP { UNPAIR } ; SWAP ; DROP ; PAIR } ; PAIR } { DIP { DUP ; CAR ; PUSH bytes 0x0501000000056f776e6572 ; GET ; IF_NONE { PUSH string "UStore: no field owner" ; FAILWITH } {} ; UNPACK address ; IF_NONE { PUSH string "UStore: failed to unpack owner" ; FAILWITH } {} ; SENDER ; COMPARE ; EQ ; IF {} { UNIT ; PUSH string "SenderIsNotOwner" ; PAIR ; FAILWITH } ; DUP ; CDR ; CDR ; CDR ; IF { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH } {} } ; DUP ; DIP { CAR ; CAR ; DIP { DUP ; CDR ; CDR ; CAR } ; DUP 2 ; DUP 2 ; COMPARE ; EQ ; IF { DROP 2 } { PAIR ; PUSH string "UpgVersionMismatch" ; PAIR ; FAILWITH } } ; DUP ; DIP { CAR ; CDR ; DIP { DUP ; CDR ; UNPAIR ; SWAP ; UNPAIR } ; SWAP ; DROP ; PAIR ; SWAP ; PAIR ; DIP { UNPAIR ; SWAP } ; SWAP ; DROP ; SWAP ; PAIR } ; DUP ; CDR ; CAR ; SWAP ; DIP { DIP { DUP ; CAR } ; SWAP ; EXEC ; DIP { UNPAIR } ; SWAP ; DROP ; PAIR } ; CDR ; CDR ; CAR ; IF_NONE {} { DIP { DUP ; CDR ; UNPAIR } ; SWAP ; DROP ; PAIR ; DIP { UNPAIR ; SWAP } ; SWAP ; DROP ; SWAP ; PAIR } ; NIL operation ; PAIR } } { IF_LEFT { DIP { DUP ; CAR ; PUSH bytes 0x0501000000056f776e6572 ; GET ; IF_NONE { PUSH string "UStore: no field owner" ; FAILWITH } {} ; UNPACK address ; IF_NONE { PUSH string "UStore: failed to unpack owner" ; FAILWITH } {} ; SENDER ; COMPARE ; EQ ; IF {} { UNIT ; PUSH string "SenderIsNotOwner" ; PAIR ; FAILWITH } ; DUP ; CDR ; CDR ; CDR ; IF { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH } {} } ; DUP ; DIP { CAR ; DIP { DUP ; CDR ; CDR ; CAR } ; DUP 2 ; DUP 2 ; COMPARE ; EQ ; IF { DROP 2 } { PAIR ; PUSH string "UpgVersionMismatch" ; PAIR ; FAILWITH } } ; CDR ; DIP { DUP ; CDR ; UNPAIR ; SWAP ; UNPAIR } ; SWAP ; DROP ; PAIR ; SWAP ; PAIR ; DIP { UNPAIR ; SWAP } ; SWAP ; DROP ; SWAP ; PAIR ; DUP ; CDR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; PUSH bool True ; SWAP ; DROP ; SWAP ; PAIR ; SWAP ; PAIR ; DIP { UNPAIR ; SWAP } ; SWAP ; DROP ; SWAP ; PAIR ; NIL operation ; PAIR } { DIP { DUP ; CAR ; PUSH bytes 0x0501000000056f776e6572 ; GET ; IF_NONE { PUSH string "UStore: no field owner" ; FAILWITH } {} ; UNPACK address ; IF_NONE { PUSH string "UStore: failed to unpack owner" ; FAILWITH } {} ; SENDER ; COMPARE ; EQ ; IF {} { UNIT ; PUSH string "SenderIsNotOwner" ; PAIR ; FAILWITH } ; DUP ; CDR ; CDR ; CDR ; IF {} { UNIT ; PUSH string "UpgContractIsNotMigrating" ; PAIR ; FAILWITH } ; DUP ; CAR } ; SWAP ; EXEC ; DIP { UNPAIR } ; SWAP ; DROP ; PAIR ; NIL operation ; PAIR } } } { IF_LEFT { IF_LEFT { DIP { DUP ; CAR ; PUSH bytes 0x0501000000056f776e6572 ; GET ; IF_NONE { PUSH string "UStore: no field owner" ; FAILWITH } {} ; UNPACK address ; IF_NONE { PUSH string "UStore: failed to unpack owner" ; FAILWITH } {} ; SENDER ; COMPARE ; EQ ; IF {} { UNIT ; PUSH string "SenderIsNotOwner" ; PAIR ; FAILWITH } ; DUP ; CDR ; CDR ; CDR ; IF {} { UNIT ; PUSH string "UpgContractIsNotMigrating" ; PAIR ; FAILWITH } ; DUP ; CDR ; UNPAIR } ; SWAP ; DROP ; PAIR ; DIP { UNPAIR ; SWAP } ; SWAP ; DROP ; SWAP ; PAIR ; NIL operation ; PAIR } { DROP ; DUP ; CAR ; PUSH bytes 0x0501000000056f776e6572 ; GET ; IF_NONE { PUSH string "UStore: no field owner" ; FAILWITH } {} ; UNPACK address ; IF_NONE { PUSH string "UStore: failed to unpack owner" ; FAILWITH } {} ; SENDER ; COMPARE ; EQ ; IF {} { UNIT ; PUSH string "SenderIsNotOwner" ; PAIR ; FAILWITH } ; DUP ; CDR ; CDR ; CDR ; IF {} { UNIT ; PUSH string "UpgContractIsNotMigrating" ; PAIR ; FAILWITH } ; DUP ; CDR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; PUSH bool False ; SWAP ; DROP ; SWAP ; PAIR ; SWAP ; PAIR ; DIP { UNPAIR ; SWAP } ; SWAP ; DROP ; SWAP ; PAIR ; NIL operation ; PAIR } } { IF_LEFT { PACK ; PUSH string "callTransfer" ; PAIR ; DIP { DUP ; CDR ; CDR ; CDR ; IF { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH } {} ; DUP ; CAR ; DIP { DUP ; CDR ; CAR } } ; PAIR ; EXEC ; UNPAIR ; DIP { DIP { UNPAIR } ; SWAP ; DROP ; PAIR } ; PAIR } { PACK ; PUSH string "callApprove" ; PAIR ; DIP { DUP ; CDR ; CDR ; CDR ; IF { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH } {} ; DUP ; CAR ; DIP { DUP ; CDR ; CAR } } ; PAIR ; EXEC ; UNPAIR ; DIP { DIP { UNPAIR } ; SWAP ; DROP ; PAIR } ; PAIR } } } } { IF_LEFT { IF_LEFT { IF_LEFT { PACK ; PUSH string "callMint" ; PAIR ; DIP { DUP ; CDR ; CDR ; CDR ; IF { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH } {} ; DUP ; CAR ; DIP { DUP ; CDR ; CAR } } ; PAIR ; EXEC ; UNPAIR ; DIP { DIP { UNPAIR } ; SWAP ; DROP ; PAIR } ; PAIR } { PACK ; PUSH string "callBurn" ; PAIR ; DIP { DUP ; CDR ; CDR ; CDR ; IF { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH } {} ; DUP ; CAR ; DIP { DUP ; CDR ; CAR } } ; PAIR ; EXEC ; UNPAIR ; DIP { DIP { UNPAIR } ; SWAP ; DROP ; PAIR } ; PAIR } } { IF_LEFT { PACK ; PUSH string "callAddOperator" ; PAIR ; DIP { DUP ; CDR ; CDR ; CDR ; IF { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH } {} ; DUP ; CAR ; DIP { DUP ; CDR ; CAR } } ; PAIR ; EXEC ; UNPAIR ; DIP { DIP { UNPAIR } ; SWAP ; DROP ; PAIR } ; PAIR } { PACK ; PUSH string "callRemoveOperator" ; PAIR ; DIP { DUP ; CDR ; CDR ; CDR ; IF { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH } {} ; DUP ; CAR ; DIP { DUP ; CDR ; CAR } } ; PAIR ; EXEC ; UNPAIR ; DIP { DIP { UNPAIR } ; SWAP ; DROP ; PAIR } ; PAIR } } } { IF_LEFT { IF_LEFT { PACK ; PUSH string "callSetRedeemAddress" ; PAIR ; DIP { DUP ; CDR ; CDR ; CDR ; IF { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH } {} ; DUP ; CAR ; DIP { DUP ; CDR ; CAR } } ; PAIR ; EXEC ; UNPAIR ; DIP { DIP { UNPAIR } ; SWAP ; DROP ; PAIR } ; PAIR } { PACK ; PUSH string "callPause" ; PAIR ; DIP { DUP ; CDR ; CDR ; CDR ; IF { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH } {} ; DUP ; CAR ; DIP { DUP ; CDR ; CAR } } ; PAIR ; EXEC ; UNPAIR ; DIP { DIP { UNPAIR } ; SWAP ; DROP ; PAIR } ; PAIR } } { IF_LEFT { PACK ; PUSH string "callUnpause" ; PAIR ; DIP { DUP ; CDR ; CDR ; CDR ; IF { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH } {} ; DUP ; CAR ; DIP { DUP ; CDR ; CAR } } ; PAIR ; EXEC ; UNPAIR ; DIP { DIP { UNPAIR } ; SWAP ; DROP ; PAIR } ; PAIR } { IF_LEFT { PACK ; PUSH string "callTransferOwnership" ; PAIR ; DIP { DUP ; CDR ; CDR ; CDR ; IF { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH } {} ; DUP ; CAR ; DIP { DUP ; CDR ; CAR } } ; PAIR ; EXEC ; UNPAIR ; DIP { DIP { UNPAIR } ; SWAP ; DROP ; PAIR } ; PAIR } { PACK ; PUSH string "callAcceptOwnership" ; PAIR ; DIP { DUP ; CDR ; CDR ; CDR ; IF { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH } {} ; DUP ; CAR ; DIP { DUP ; CDR ; CAR } } ; PAIR ; EXEC ; UNPAIR ; DIP { DIP { UNPAIR } ; SWAP ; DROP ; PAIR } ; PAIR } } } } } } } } } }