x
882
1068
parameter (or (or (or (or (list %addToWhitelist address) (list %flushPlaceholderMetadata nat)) (or (unit %getRandomMintIndex) (int %mint))) (or (or (address %removeFromWhitelist) (list %revealMetadata (pair nat bytes))) (or (address %setAdmin) (or (address %setFluxNftAddress) (nat %setMaxMintPerAddress))))) (or (or (or (nat %setMaxSupply) (nat %setNextTokenId)) (or (nat %setNumberMinted) (list %setPlaceholderMetadata (pair nat bytes)))) (or (or (pair %setRandomMintIndex string (pair timestamp nat)) (nat %setWhitelistMaxMintPerAddress)) (or (nat %setWhitelistMaxSupply) (or (unit %toggleSaleIsPaused) (unit %toggleWhitelistSaleIsPaused))))));storage (pair (pair (pair (pair (address %admin) (address %fluxNftAddress)) (pair (address %fluxTeamAddress) (nat %maxMintPerAddress))) (pair (pair (nat %maxSupply) (big_map %metadata string bytes)) (pair (big_map %mintedLedger address nat) (pair (nat %nextTokenId) (nat %numberMinted))))) (pair (pair (pair (address %oracleAddress) (big_map %placeholder_metadata nat bytes)) (pair (int %price) (pair (string %provenanceHash) (nat %randomMintIndex)))) (pair (pair (bool %saleIsPaused) (big_map %whitelistLedger address nat)) (pair (nat %whitelistMaxMintPerAddress) (pair (nat %whitelistMaxSupply) (bool %whitelistSaleIsPaused))))));code { UNPAIR ; IF_LEFT { IF_LEFT { IF_LEFT { IF_LEFT { SENDER ; DUP 3 ; CAR ; CAR ; CAR ; CAR ; COMPARE ; EQ ; IF {} { PUSH string "Only the contract admin can add to the whitelist." ; FAILWITH } ; DUP ; ITER { DIG 2 ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; PUSH (option nat) (Some 0) ; DIG 6 ; UPDATE ; SWAP ; PAIR ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP } ; DROP } { SENDER ; DUP 3 ; CAR ; CAR ; CAR ; CAR ; COMPARE ; EQ ; IF {} { PUSH string "Only the contract admin can flush placeholder metadata." ; FAILWITH } ; DUP ; ITER { DIG 2 ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; NONE bytes ; DIG 6 ; UPDATE ; SWAP ; PAIR ; PAIR ; PAIR ; SWAP ; PAIR ; SWAP } ; DROP } ; NIL operation } { IF_LEFT { DROP ; DUP ; CAR ; CAR ; CAR ; CAR ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "Only the admin can get random mint index." ; FAILWITH } ; DUP ; GET 3 ; CAR ; CAR ; CONTRACT %get (pair string (contract (pair string (pair timestamp nat)))) ; IF_NONE { PUSH int 219 ; FAILWITH } {} ; NIL operation ; SWAP ; PUSH mutez 0 ; SELF %setRandomMintIndex ; PUSH string "XTZ-USD" ; PAIR ; TRANSFER_TOKENS ; CONS } { PUSH bool False ; DUP 3 ; GET 5 ; CAR ; COMPARE ; EQ ; IF {} { PUSH string "Sale has not started yet." ; FAILWITH } ; DUP ; PUSH int 1 ; COMPARE ; EQ ; IF {} { PUSH string "You can only mint 1 at a time." ; FAILWITH } ; SWAP ; DUP ; CAR ; GET 3 ; CAR ; SWAP ; DUP ; DUG 3 ; CAR ; GET 8 ; COMPARE ; LE ; IF {} { PUSH string "Max supply has been reached" ; FAILWITH } ; PUSH bool False ; DUP 3 ; GET 5 ; CAR ; COMPARE ; EQ ; IF { PUSH bool False ; DUP 3 ; GET 10 ; COMPARE ; EQ ; IF { SWAP ; DUP ; DUG 2 ; GET 5 ; CDR ; SENDER ; MEM ; IF {} { PUSH string "You are not on the whitelist." ; FAILWITH } ; SWAP ; DUP ; GET 9 ; SWAP ; DUP ; DUG 3 ; CAR ; GET 8 ; COMPARE ; LE ; IF {} { PUSH string "Max whitelist supply has been reached" ; FAILWITH } ; AMOUNT ; PUSH mutez 20000000 ; COMPARE ; EQ ; IF {} { PUSH string "Tez amount is not correct" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; GET 7 ; PUSH nat 1 ; DUP 4 ; GET 5 ; CDR ; SENDER ; GET ; IF_NONE { PUSH int 165 ; FAILWITH } {} ; ADD ; COMPARE ; LE ; IF {} { PUSH string "You have reached the max amount of mints for whitelist." ; FAILWITH } ; NIL operation ; DUP 3 ; CAR ; CAR ; CAR ; CDR ; CONTRACT %mint (pair (pair address int) (pair (map string bytes) nat)) ; IF_NONE { PUSH int 169 ; FAILWITH } {} ; PUSH mutez 0 ; DUP 5 ; CAR ; GET 7 ; EMPTY_MAP string bytes ; DIG 6 ; DUP ; GET 3 ; CAR ; CDR ; SWAP ; DUP ; DUG 8 ; CAR ; GET 7 ; GET ; IF_NONE { PUSH int 158 ; FAILWITH } {} ; SOME ; PUSH string "" ; UPDATE ; PAIR ; DIG 4 ; SENDER ; PAIR ; PAIR ; TRANSFER_TOKENS ; CONS ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; GET 3 ; CONTRACT unit ; IF_NONE { PUSH int 172 ; FAILWITH } {} ; AMOUNT ; UNIT ; TRANSFER_TOKENS ; CONS ; SWAP ; DUP ; DUG 2 ; CAR ; GET 3 ; CAR ; PUSH nat 1 ; DUP 4 ; CAR ; GET 7 ; ADD ; COMPARE ; GT ; IF { SWAP ; DUP ; DUG 2 ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; CDR ; DUP 7 ; CAR ; GET 3 ; CAR ; PUSH nat 1 ; DIG 8 ; CAR ; GET 7 ; ADD ; SUB ; ABS ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP } { SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; PUSH nat 1 ; ADD ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP } ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; PUSH nat 1 ; ADD ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; DUP ; SENDER ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 175 ; FAILWITH } {} ; PUSH nat 1 ; ADD ; SOME ; SWAP ; UPDATE ; SWAP ; PAIR ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; DUP ; DUG 2 ; CAR ; GET 5 ; SENDER ; MEM ; IF { SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; DUP ; SENDER ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 177 ; FAILWITH } {} ; PUSH nat 1 ; ADD ; SOME ; SWAP ; UPDATE ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP } { SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; PUSH (option nat) (Some 1) ; SENDER ; UPDATE ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP } } { AMOUNT ; PUSH mutez 20000000 ; COMPARE ; EQ ; IF {} { PUSH string "Tez amount is not correct" ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; CAR ; GET 5 ; SENDER ; MEM ; IF { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; GET 4 ; PUSH nat 1 ; DUP 4 ; CAR ; GET 5 ; SENDER ; GET ; IF_NONE { PUSH int 185 ; FAILWITH } {} ; ADD ; COMPARE ; LE ; IF {} { PUSH string "You have reached the max amount of mints per address." ; FAILWITH } } {} ; NIL operation ; DUP 3 ; CAR ; CAR ; CAR ; CDR ; CONTRACT %mint (pair (pair address int) (pair (map string bytes) nat)) ; IF_NONE { PUSH int 187 ; FAILWITH } {} ; PUSH mutez 0 ; DUP 5 ; CAR ; GET 7 ; EMPTY_MAP string bytes ; DIG 6 ; DUP ; GET 3 ; CAR ; CDR ; SWAP ; DUP ; DUG 8 ; CAR ; GET 7 ; GET ; IF_NONE { PUSH int 158 ; FAILWITH } {} ; SOME ; PUSH string "" ; UPDATE ; PAIR ; DIG 4 ; SENDER ; PAIR ; PAIR ; TRANSFER_TOKENS ; CONS ; SWAP ; DUP ; DUG 2 ; CAR ; CAR ; GET 3 ; CONTRACT unit ; IF_NONE { PUSH int 190 ; FAILWITH } {} ; AMOUNT ; UNIT ; TRANSFER_TOKENS ; CONS ; SWAP ; DUP ; DUG 2 ; CAR ; GET 3 ; CAR ; PUSH nat 1 ; DUP 4 ; CAR ; GET 7 ; ADD ; COMPARE ; GT ; IF { SWAP ; DUP ; DUG 2 ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; CDR ; DUP 7 ; CAR ; GET 3 ; CAR ; PUSH nat 1 ; DIG 8 ; CAR ; GET 7 ; ADD ; SUB ; ABS ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP } { SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; PUSH nat 1 ; ADD ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP } ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; PUSH nat 1 ; ADD ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; DUP ; DUG 2 ; CAR ; GET 5 ; SENDER ; MEM ; IF { SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; DUP ; SENDER ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 194 ; FAILWITH } {} ; PUSH nat 1 ; ADD ; SOME ; SWAP ; UPDATE ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP } { SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; PUSH (option nat) (Some 1) ; SENDER ; UPDATE ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP } } } { DROP ; NIL operation } } } } { IF_LEFT { IF_LEFT { SENDER ; DUP 3 ; CAR ; CAR ; CAR ; CAR ; COMPARE ; EQ ; IF {} { PUSH string "Only the contract admin can remove from the whitelist." ; FAILWITH } ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; NONE nat ; DIG 6 ; UPDATE ; SWAP ; PAIR ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; NIL operation } { SENDER ; DUP 3 ; CAR ; CAR ; CAR ; CAR ; COMPARE ; EQ ; IF {} { PUSH string "Only the contract admin can reveal metadata." ; FAILWITH } ; NIL operation ; DUP 3 ; CAR ; CAR ; CAR ; CDR ; CONTRACT %reveal (list (pair nat bytes)) ; IF_NONE { PUSH int 245 ; FAILWITH } {} ; PUSH mutez 0 ; DIG 3 ; TRANSFER_TOKENS ; CONS } } { IF_LEFT { SENDER ; DUP 3 ; CAR ; CAR ; CAR ; CAR ; COMPARE ; EQ ; IF {} { PUSH string "Only the contract admin can designate a new admin." ; FAILWITH } ; SWAP ; UNPAIR ; UNPAIR ; UNPAIR ; CDR ; DIG 4 ; PAIR ; PAIR ; PAIR ; PAIR } { IF_LEFT { SENDER ; DUP 3 ; CAR ; CAR ; CAR ; CAR ; COMPARE ; EQ ; IF {} { PUSH string "Only the contract admin can set a new flux nft address." ; FAILWITH } ; SWAP ; UNPAIR ; UNPAIR ; UNPAIR ; CAR ; DIG 4 ; SWAP ; PAIR ; PAIR ; PAIR ; PAIR } { SENDER ; DUP 3 ; CAR ; CAR ; CAR ; CAR ; COMPARE ; EQ ; IF {} { PUSH string "Only the contract admin can set the max mint per address." ; FAILWITH } ; SWAP ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; CAR ; DIG 4 ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; PAIR } } ; NIL operation } } } { IF_LEFT { IF_LEFT { IF_LEFT { SENDER ; DUP 3 ; CAR ; CAR ; CAR ; CAR ; COMPARE ; EQ ; IF {} { PUSH string "Only the contract admin can set the max supply." ; FAILWITH } ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; CDR ; DIG 4 ; PAIR ; PAIR ; SWAP ; PAIR ; PAIR } { SENDER ; DUP 3 ; CAR ; CAR ; CAR ; CAR ; COMPARE ; EQ ; IF {} { PUSH string "Only the contract admin can set the next token id." ; FAILWITH } ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; CDR ; DIG 5 ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR } } { IF_LEFT { SENDER ; DUP 3 ; CAR ; CAR ; CAR ; CAR ; COMPARE ; EQ ; IF {} { PUSH string "Only the contract admin can set the number minted." ; FAILWITH } ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; CAR ; DIG 5 ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR } { SENDER ; DUP 3 ; CAR ; CAR ; CAR ; CAR ; COMPARE ; EQ ; IF {} { PUSH string "Only the contract admin can set placeholder metadata." ; FAILWITH } ; DUP ; ITER { DIG 2 ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; DUP 6 ; CDR ; SOME ; DIG 6 ; CAR ; UPDATE ; SWAP ; PAIR ; PAIR ; PAIR ; SWAP ; PAIR ; SWAP } ; DROP } } } { IF_LEFT { IF_LEFT { SENDER ; DUP 3 ; GET 3 ; CAR ; CAR ; COMPARE ; EQ ; IF {} { PUSH string "Only the oracle can set random mint index." ; FAILWITH } ; SWAP ; DUP ; DUG 2 ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; CAR ; DIG 6 ; CAR ; GET 3 ; CAR ; DUP 7 ; GET 4 ; EDIV ; IF_NONE { PUSH int 211 ; FAILWITH } { CDR } ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP ; PAIR ; DUP ; DUG 2 ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; CDR ; DIG 6 ; CAR ; GET 3 ; CAR ; DIG 6 ; GET 4 ; EDIV ; IF_NONE { PUSH int 212 ; FAILWITH } { CDR } ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR } { SENDER ; DUP 3 ; CAR ; CAR ; CAR ; CAR ; COMPARE ; EQ ; IF {} { PUSH string "Only the contract admin can set the whitelist max mint per address." ; FAILWITH } ; UPDATE 7 } } { IF_LEFT { SENDER ; DUP 3 ; CAR ; CAR ; CAR ; CAR ; COMPARE ; EQ ; IF {} { PUSH string "Only the contract admin can set the max whitelist supply." ; FAILWITH } ; UPDATE 9 } { IF_LEFT { DROP ; DUP ; CAR ; CAR ; CAR ; CAR ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "Only the contract admin can toggle saleIsPaused bool." ; FAILWITH } ; DUP ; GET 5 ; CAR ; PUSH bool True ; COMPARE ; EQ ; IF { UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; CDR ; PUSH bool False ; PAIR ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR } { UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; CDR ; PUSH bool True ; PAIR ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR } } { DROP ; DUP ; CAR ; CAR ; CAR ; CAR ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "Only the contract admin can toggle whitelistSaleIsPaused bool." ; FAILWITH } ; DUP ; GET 10 ; PUSH bool True ; COMPARE ; EQ ; IF { PUSH bool False ; UPDATE 10 } { PUSH bool True ; UPDATE 10 } } } } } ; NIL operation } ; NIL operation ; SWAP ; ITER { CONS } ; PAIR }