Referenced contracts
x
3134
{ UNPAIR ; IF_LEFT { IF_LEFT { IF_LEFT { IF_LEFT { DROP ; PUSH mutez 0 ; AMOUNT ; COMPARE ; EQ ; IF {} { PUSH string "TEZ_TRANSFER" ; FAILWITH } ; DUP ; GET 3 ; GET 3 ; IF_NONE { PUSH string "NO_SUPERADMIN_PROPOSED" ; FAILWITH } { DROP } ; DUP ; GET 3 ; GET 3 ; IF_NONE { PUSH int 413 ; FAILWITH } {} ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "NOT_PROPOSED_SUPERADMIN" ; FAILWITH } ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; GET 3 ; SENDER ; SWAP ; PAIR ; NONE address ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP ; PAIR ; NIL operation ; DUP 2 ; GET 3 ; GET 6 ; SENDER ; PAIR ; EMIT %superadmin_accepted (pair (address %new_superadmin) (address %old_superadmin)) ; CONS } { NIL (pair (pair address nat) nat) ; DUP 2 ; CAR ; ITER { DUP 4 ; GET 9 ; DUP 2 ; CDR ; MEM ; IF {} { PUSH string "FA2_TOKEN_UNDEFINED" ; FAILWITH } ; SWAP ; DUP 4 ; CAR ; CAR ; GET 4 ; DUP 3 ; CDR ; DUP 4 ; CAR ; PAIR ; GET ; IF_NONE { PUSH nat 0 } {} ; DIG 2 ; PAIR ; CONS } ; NIL operation ; DIG 2 ; CDR ; PUSH mutez 0 ; DIG 3 ; TRANSFER_TOKENS ; CONS } } { IF_LEFT { PUSH mutez 0 ; AMOUNT ; COMPARE ; EQ ; IF {} { PUSH string "TEZ_TRANSFER" ; FAILWITH } ; DUP 2 ; CAR ; GET 3 ; CAR ; DUP 2 ; MEM ; IF {} { PUSH string "LISTING_NOT_FOUND" ; FAILWITH } ; DUP 2 ; CAR ; GET 3 ; CAR ; DUP 2 ; GET ; IF_NONE { PUSH int 689 ; FAILWITH } {} ; GET 5 ; CAR ; SENDER ; COMPARE ; EQ ; IF { PUSH bool True } { DUP 2 ; GET 3 ; GET 6 ; SENDER ; COMPARE ; EQ } ; IF { PUSH bool True } { DUP 2 ; CAR ; CAR ; CAR ; CDR ; SENDER ; MEM } ; IF {} { PUSH string "NOT_AUTHORIZED_TO_CANCEL" ; FAILWITH } ; DUP 2 ; CAR ; GET 3 ; CAR ; DUP 2 ; GET ; IF_NONE { PUSH int 689 ; FAILWITH } {} ; CAR ; GET 6 ; IF { DUP 2 ; GET 3 ; GET 5 ; DUP 2 ; MEM ; IF { SWAP ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; NONE (set address) ; DUP 8 ; UPDATE ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP ; PAIR ; SWAP } {} } {} ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; NONE (pair (pair (pair (pair (option (list (pair address (pair nat nat)))) (option int)) (pair (option timestamp) mutez)) (pair (pair nat bool) (pair (list (pair address (list (pair nat nat)))) bool))) (pair (pair (pair nat (option string)) (pair (option int) (list (pair address nat)))) (pair (pair address (option (list (pair address mutez)))) (pair bool (pair timestamp nat))))) ; DIG 6 ; UPDATE ; PAIR ; PAIR ; SWAP ; PAIR ; PAIR ; NIL operation } { DUP 2 ; GET 3 ; CAR ; CAR ; IF { PUSH string "CONTRACT_PAUSED" ; FAILWITH } {} ; PUSH nat 0 ; DUP 2 ; CDR ; COMPARE ; GT ; IF {} { PUSH string "ZERO_AMOUNT_NOT_ALLOWED" ; FAILWITH } ; DUP 2 ; CAR ; GET 3 ; CAR ; DUP 2 ; CAR ; MEM ; IF {} { PUSH string "COLLECT_ID_NOT_FOUND" ; FAILWITH } ; DUP 2 ; CAR ; GET 3 ; CAR ; DUP 2 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; GET 7 ; IF { DUP 2 ; CAR ; GET 3 ; CAR ; DUP 2 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; CAR ; CAR ; CAR ; CDR ; IF_NONE { PUSH bool False } { DROP ; PUSH bool True } } { PUSH bool False } ; IF { DUP 2 ; CAR ; GET 3 ; CAR ; DUP 2 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; CAR ; CAR ; GET 3 ; IF_NONE { PUSH bool True } { DROP ; PUSH bool False } } { PUSH bool False } ; IF { SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; DUP ; DUP 7 ; CAR ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 721 ; FAILWITH } {} ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; CDR ; NOW ; SOME ; PAIR ; SWAP ; PAIR ; PAIR ; PAIR ; SOME ; SWAP ; UPDATE ; PAIR ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP } {} ; DUP 2 ; CAR ; GET 3 ; CAR ; DUP 2 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; GET 9 ; NOW ; COMPARE ; GE ; IF {} { PUSH string "LISTING_NOT_STARTED" ; FAILWITH } ; DUP 2 ; CAR ; GET 3 ; CAR ; DUP 2 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; CAR ; CAR ; CAR ; CDR ; IF_NONE {} { DROP ; DUP 2 ; CAR ; GET 3 ; CAR ; DUP 2 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; GET 7 ; IF { DUP 2 ; CAR ; GET 3 ; CAR ; DUP 2 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; CAR ; CAR ; GET 3 ; IF_NONE {} { DROP ; DUP 2 ; CAR ; GET 3 ; CAR ; DUP 2 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; CAR ; CAR ; CAR ; CDR ; IF_NONE { PUSH int 255 ; FAILWITH } {} ; DUP 3 ; CAR ; GET 3 ; CAR ; DUP 3 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; CAR ; CAR ; GET 3 ; IF_NONE { PUSH int 254 ; FAILWITH } {} ; ADD ; NOW ; COMPARE ; LT ; IF {} { PUSH string "LISTING_CLOSED" ; FAILWITH } } } { DUP 2 ; CAR ; GET 3 ; CAR ; DUP 2 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; CAR ; CAR ; CAR ; CDR ; IF_NONE { PUSH int 255 ; FAILWITH } {} ; DUP 3 ; CAR ; GET 3 ; CAR ; DUP 3 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; GET 9 ; ADD ; NOW ; COMPARE ; LT ; IF {} { PUSH string "LISTING_CLOSED" ; FAILWITH } } } ; PUSH nat 0 ; DUP 3 ; CAR ; GET 3 ; CAR ; DUP 3 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; GET 3 ; CAR ; CAR ; COMPARE ; NEQ ; IF { DUP 2 ; CAR ; GET 3 ; CAR ; DUP 2 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; GET 3 ; CAR ; CAR ; DUP 2 ; CDR ; DUP 4 ; CAR ; CAR ; GET 4 ; DUP 5 ; CAR ; GET 3 ; CAR ; DUP 5 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; GET 10 ; SENDER ; PAIR ; GET ; IF_NONE { PUSH nat 0 } {} ; ADD ; COMPARE ; LE ; IF {} { PUSH string "MAX_EDITIONS_EXCEEDED" ; FAILWITH } } {} ; DUP 2 ; CAR ; CAR ; CAR ; CAR ; DUP 3 ; CAR ; GET 3 ; CAR ; DUP 3 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; GET 10 ; SENDER ; PAIR ; MEM ; IF { PUSH string "RESTRICTED_COLLECT" ; FAILWITH } {} ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; DUP ; DUP 7 ; CAR ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 735 ; FAILWITH } {} ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; DUP 12 ; CDR ; ADD ; PAIR ; PAIR ; SWAP ; PAIR ; PAIR ; SOME ; SWAP ; UPDATE ; PAIR ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP ; DUP 2 ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; DIG 6 ; CAR ; GET 3 ; CAR ; DUP 7 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; SOME ; DUP 7 ; CAR ; UPDATE ; PAIR ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP ; PUSH mutez 0 ; DUP 3 ; CAR ; GET 3 ; CAR ; DUP 3 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; GET 5 ; CDR ; IF_NONE {} { DROP ; DUP 3 ; CAR ; GET 3 ; CAR ; DUP 3 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; GET 5 ; CDR ; IF_NONE { PUSH int 745 ; FAILWITH } {} ; ITER { CDR ; DUP 3 ; CDR ; MUL ; ADD } } ; DUP ; DUP 4 ; CAR ; GET 3 ; CAR ; DUP 4 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; CAR ; CAR ; GET 4 ; DUP 4 ; CDR ; MUL ; ADD ; AMOUNT ; COMPARE ; EQ ; IF {} { PUSH string "INCORRECT_AMOUNT_SENT" ; FAILWITH } ; DUP 3 ; CAR ; GET 3 ; CAR ; DUP 3 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; CAR ; GET 6 ; IF { DUP 3 ; GET 3 ; GET 5 ; DUP 3 ; CAR ; MEM ; IF {} { PUSH string "RESERVE_LIST_NOT_FOUND" ; FAILWITH } ; DUP 3 ; CAR ; GET 3 ; CAR ; DUP 3 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; GET 3 ; GET 3 ; IF_NONE { DUP 3 ; GET 3 ; GET 5 ; DUP 3 ; CAR ; GET ; IF_NONE { PUSH int 755 ; FAILWITH } {} ; SENDER ; MEM ; IF {} { PUSH string "NOT_ON_RESERVE_LIST" ; FAILWITH } } { DROP ; DUP 3 ; CAR ; GET 3 ; CAR ; DUP 3 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; GET 3 ; GET 3 ; IF_NONE { PUSH int 759 ; FAILWITH } {} ; DUP 4 ; CAR ; GET 3 ; CAR ; DUP 4 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; GET 9 ; ADD ; NOW ; COMPARE ; LT ; IF { DUP 3 ; GET 3 ; GET 5 ; DUP 3 ; CAR ; GET ; IF_NONE { PUSH int 755 ; FAILWITH } {} ; SENDER ; MEM ; IF {} { PUSH string "NOT_ON_RESERVE_LIST" ; FAILWITH } } {} } } {} ; DUP 3 ; CAR ; GET 3 ; CAR ; DUP 3 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; CAR ; CAR ; CAR ; CAR ; IF_NONE { NIL operation } { DROP ; NIL operation ; DUP 4 ; CAR ; GET 3 ; CAR ; DUP 4 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; CAR ; CAR ; CAR ; CAR ; IF_NONE { PUSH int 767 ; FAILWITH } {} ; ITER { DUP ; CAR ; CONTRACT %transfer (list (pair (address %from_) (list %txs (pair (address %to_) (pair (nat %token_id) (nat %amount)))))) ; IF_NONE { PUSH string "INVALID_FA2_CONTRACT" ; FAILWITH } { DROP } ; SWAP ; DUP 2 ; CAR ; CONTRACT %transfer (list (pair (address %from_) (list %txs (pair (address %to_) (pair (nat %token_id) (nat %amount)))))) ; IF_NONE { PUSH int 245 ; FAILWITH } {} ; PUSH mutez 0 ; NIL (pair address (list (pair address (pair nat nat)))) ; NIL (pair address (pair nat nat)) ; DUP 8 ; CDR ; DUP 7 ; GET 4 ; MUL ; DIG 6 ; GET 3 ; PUSH address "tz1burnburnburnburnburnburnburjAYjjX" ; PAIR 3 ; CONS ; SENDER ; PAIR ; CONS ; TRANSFER_TOKENS ; CONS } } ; DUP 4 ; CAR ; GET 3 ; CAR ; DUP 4 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; CAR ; GET 3 ; CDR ; IF { DUP 4 ; GET 3 ; CAR ; CDR ; SENDER ; MEM ; IF { PUSH string "PENDING_EXISTS" ; FAILWITH } {} ; DUP 4 ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; DUP 9 ; CAR ; GET 3 ; CAR ; DUP 9 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; CAR ; GET 5 ; SIZE ; DIG 9 ; CAR ; GET 3 ; CAR ; DUP 10 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; CAR ; GET 5 ; SENDER ; PAIR 3 ; SOME ; SENDER ; UPDATE ; SWAP ; PAIR ; PAIR ; PAIR ; SWAP ; PAIR ; DUG 3 ; DUP 4 ; CAR ; GET 3 ; CAR ; DUP 4 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; CAR ; GET 5 ; ITER { NIL (pair address nat) ; DUP 2 ; CDR ; ITER { CAR ; SENDER ; PAIR ; CONS } ; DUG 2 ; CAR ; CONTRACT %balance_of (pair (list %requests (pair (address %owner) (nat %token_id))) (contract %callback (list (pair (pair %request (address %owner) (nat %token_id)) (nat %balance))))) ; IF_NONE { PUSH string "FA2_BALANCE_OF_MISSING" ; FAILWITH } {} ; PUSH mutez 0 ; SELF %receive_balance ; DIG 4 ; PAIR ; TRANSFER_TOKENS ; CONS } } {} ; DUP 4 ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; DUP 8 ; CDR ; DUP 10 ; CAR ; CAR ; GET 4 ; DUP 11 ; CAR ; GET 3 ; CAR ; DUP 11 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; GET 10 ; SENDER ; PAIR ; GET ; IF_NONE { PUSH nat 0 } {} ; ADD ; SOME ; DIG 9 ; CAR ; GET 3 ; CAR ; DUP 10 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; GET 10 ; SENDER ; PAIR ; UPDATE ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; PAIR ; DUG 3 ; DUP 4 ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; DUP 8 ; CDR ; DUP 10 ; GET 5 ; CAR ; DUP 11 ; CAR ; GET 3 ; CAR ; DUP 11 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; GET 10 ; GET ; IF_NONE { PUSH nat 0 } {} ; ADD ; SOME ; DIG 9 ; CAR ; GET 3 ; CAR ; DUP 10 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; GET 10 ; UPDATE ; PAIR ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; DUG 3 ; PUSH mutez 0 ; DUP 3 ; DUP 6 ; CAR ; GET 3 ; CAR ; DUP 6 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; CAR ; CAR ; GET 4 ; DUP 6 ; CDR ; MUL ; ADD ; COMPARE ; GT ; IF { PUSH mutez 0 ; DUP 5 ; CAR ; GET 3 ; CAR ; DUP 5 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; GET 3 ; GET 4 ; ITER { PUSH mutez 0 ; PUSH nat 10000 ; DUP 3 ; CDR ; DUP 9 ; CAR ; GET 3 ; CAR ; DUP 9 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; CAR ; CAR ; GET 4 ; DUP 9 ; CDR ; MUL ; MUL ; EDIV ; IF_NONE { PUSH int 815 ; FAILWITH } {} ; CAR ; COMPARE ; GT ; IF { DIG 2 ; DUP 2 ; CAR ; CONTRACT unit ; IF_NONE { PUSH int 817 ; FAILWITH } {} ; PUSH nat 10000 ; DUP 4 ; CDR ; DUP 9 ; CAR ; GET 3 ; CAR ; DUP 9 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; CAR ; CAR ; GET 4 ; DUP 9 ; CDR ; MUL ; MUL ; EDIV ; IF_NONE { PUSH int 815 ; FAILWITH } {} ; CAR ; UNIT ; TRANSFER_TOKENS ; CONS ; DUG 2 ; SWAP ; PUSH nat 10000 ; DIG 2 ; CDR ; DUP 7 ; CAR ; GET 3 ; CAR ; DUP 7 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; CAR ; CAR ; GET 4 ; DUP 7 ; CDR ; MUL ; MUL ; EDIV ; IF_NONE { PUSH int 815 ; FAILWITH } {} ; CAR ; ADD } { DROP } } ; PUSH mutez 0 ; DUP 2 ; DUP 7 ; CAR ; GET 3 ; CAR ; DUP 7 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; CAR ; CAR ; GET 4 ; DUP 7 ; CDR ; MUL ; SUB_MUTEZ ; IF_NONE { PUSH int 821 ; FAILWITH } {} ; COMPARE ; GT ; IF { SWAP ; DUP 5 ; CAR ; GET 3 ; CAR ; DUP 5 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; GET 5 ; CAR ; CONTRACT unit ; IF_NONE { PUSH int 823 ; FAILWITH } {} ; DIG 2 ; DUP 6 ; CAR ; GET 3 ; CAR ; DUP 6 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; CAR ; CAR ; GET 4 ; DUP 6 ; CDR ; MUL ; SUB_MUTEZ ; IF_NONE { PUSH int 821 ; FAILWITH } {} ; UNIT ; TRANSFER_TOKENS ; CONS } { DROP } } {} ; DUP 4 ; CAR ; GET 3 ; CAR ; DUP 4 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; GET 5 ; CDR ; IF_NONE { SWAP ; DROP } { DROP ; DUP 4 ; CAR ; GET 3 ; CAR ; DUP 4 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; GET 5 ; CDR ; IF_NONE { PUSH int 745 ; FAILWITH } {} ; ITER { SWAP ; DUP 2 ; CAR ; CONTRACT unit ; IF_NONE { PUSH int 829 ; FAILWITH } {} ; DIG 2 ; CDR ; DUP 5 ; CDR ; MUL ; UNIT ; TRANSFER_TOKENS ; CONS } ; SWAP ; DROP } ; AMOUNT ; DUP 4 ; CAR ; GET 3 ; CAR ; DUP 4 ; CAR ; GET ; IF_NONE { PUSH int 717 ; FAILWITH } {} ; GET 10 ; PAIR ; SENDER ; DIG 3 ; CDR ; PAIR ; PAIR ; EMIT %collect (pair (pair (nat %amount) (address %collector)) (pair (nat %token_id) (mutez %total_paid))) ; CONS } } } { IF_LEFT { IF_LEFT { DUP 2 ; GET 3 ; CAR ; CAR ; IF { PUSH string "CONTRACT_PAUSED" ; FAILWITH } {} ; PUSH mutez 0 ; AMOUNT ; COMPARE ; EQ ; IF {} { PUSH string "TEZ_TRANSFER" ; FAILWITH } ; DUP 2 ; GET 9 ; DUP 2 ; GET 8 ; MEM ; IF {} { PUSH string "FA2_TOKEN_UNDEFINED" ; FAILWITH } ; DUP 2 ; GET 7 ; DUP 2 ; GET 8 ; MEM ; IF {} { PUSH string "TOKEN_CREATOR_MISSING" ; FAILWITH } ; DUP 2 ; CAR ; CAR ; CAR ; CDR ; SENDER ; MEM ; IF { PUSH bool True } { DUP 2 ; GET 3 ; GET 6 ; SENDER ; COMPARE ; EQ } ; IF { PUSH bool True } { SENDER ; DUP 3 ; GET 7 ; DUP 3 ; GET 8 ; GET ; IF_NONE { PUSH int 215 ; FAILWITH } {} ; COMPARE ; EQ } ; IF {} { PUSH string "NOT_TOKEN_CREATOR_OR_ADMIN" ; FAILWITH } ; NOW ; DUP 2 ; GET 7 ; COMPARE ; GE ; IF {} { PUSH string "INVALID_START_TIME" ; FAILWITH } ; DUP ; CAR ; CAR ; GET 3 ; IF_NONE {} { DROP ; PUSH nat 3600 ; DUP 2 ; CAR ; CAR ; GET 3 ; IF_NONE { PUSH int 596 ; FAILWITH } {} ; ISNAT ; IF_NONE { PUSH int 596 ; FAILWITH } {} ; COMPARE ; GE ; IF { PUSH nat 2592000 ; DUP 2 ; CAR ; CAR ; GET 3 ; IF_NONE { PUSH int 596 ; FAILWITH } {} ; ISNAT ; IF_NONE { PUSH int 597 ; FAILWITH } {} ; COMPARE ; LE } { PUSH bool False } ; IF {} { PUSH string "INVALID_DURATION" ; FAILWITH } } ; PUSH nat 20 ; DUP 2 ; GET 3 ; GET 4 ; SIZE ; COMPARE ; LE ; IF {} { PUSH string "TOO_MANY_SALE_SPLITS" ; FAILWITH } ; PUSH nat 0 ; EMPTY_SET address ; DUP 3 ; GET 3 ; GET 4 ; ITER { DUP 2 ; DUP 2 ; CAR ; MEM ; IF { PUSH string "DUPLICATE_SPLIT_ADDRESS" ; FAILWITH } {} ; PUSH address "KT18amZmM5W7qDWVt2pH6uj7sCEd3kbzLrHT" ; DUP 2 ; CAR ; COMPARE ; LT ; IF {} { PUSH string "ONLY_IMPLICIT_ADDRESSES_ALLOWED" ; FAILWITH } ; SWAP ; PUSH bool True ; DUP 3 ; CAR ; UPDATE ; SWAP ; PUSH nat 0 ; DUP 2 ; CDR ; COMPARE ; GT ; IF {} { PUSH string "INVALID_SALE_SPLIT_AMOUNT" ; FAILWITH } ; DIG 2 ; SWAP ; CDR ; ADD ; SWAP } ; PUSH nat 10000 ; DUP 3 ; COMPARE ; EQ ; IF {} { PUSH string "SALE_SPLIT_MUST_BE_100_PERCENT" ; FAILWITH } ; DUP 3 ; GET 5 ; CAR ; IF_NONE {} { DROP 2 ; PUSH nat 10 ; DUP 3 ; GET 5 ; CAR ; IF_NONE { PUSH int 606 ; FAILWITH } {} ; SIZE ; COMPARE ; LE ; IF {} { PUSH string "TOO_MANY_SPECIAL_SPLITS" ; FAILWITH } ; EMPTY_SET address ; DUP 3 ; GET 5 ; CAR ; IF_NONE { PUSH int 606 ; FAILWITH } {} ; ITER { DUP 2 ; DUP 2 ; CAR ; MEM ; IF { PUSH string "DUPLICATE_SPLIT_ADDRESS" ; FAILWITH } {} ; PUSH address "KT18amZmM5W7qDWVt2pH6uj7sCEd3kbzLrHT" ; DUP 2 ; CAR ; COMPARE ; LT ; IF {} { PUSH string "ONLY_IMPLICIT_ADDRESSES_ALLOWED" ; FAILWITH } ; SWAP ; PUSH bool True ; DUP 3 ; CAR ; UPDATE ; SWAP ; CDR ; PUSH mutez 0 ; COMPARE ; LT ; IF {} { PUSH string "SOME_SPECIAL_SPLIT_IS_ZERO" ; FAILWITH } } } ; DUP 3 ; GET 3 ; CAR ; IF_NONE {} { DROP ; PUSH nat 0 ; DUP 4 ; GET 3 ; CAR ; IF_NONE { PUSH int 617 ; FAILWITH } {} ; SIZE ; COMPARE ; GT ; IF {} { PUSH string "RESERVE_LIST_CANNOT_BE_EMPTY" ; FAILWITH } ; PUSH nat 100 ; DUP 4 ; GET 3 ; CAR ; IF_NONE { PUSH int 617 ; FAILWITH } {} ; SIZE ; COMPARE ; LE ; IF {} { PUSH string "RESERVE_LIST_TOO_LONG" ; FAILWITH } ; DIG 3 ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; DUP 9 ; GET 3 ; CAR ; IF_NONE { PUSH int 617 ; FAILWITH } {} ; SOME ; DUP 10 ; GET 8 ; UPDATE ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP ; PAIR ; DUG 3 } ; DUP 3 ; GET 3 ; GET 3 ; IF_NONE {} { DROP ; PUSH int 0 ; DUP 4 ; GET 3 ; GET 3 ; IF_NONE { PUSH int 624 ; FAILWITH } {} ; COMPARE ; GT ; IF {} { PUSH string "INVALID_RESERVE_PERIOD" ; FAILWITH } ; DUP 3 ; CAR ; CAR ; GET 3 ; IF_NONE {} { DROP ; DUP 3 ; CAR ; CAR ; GET 3 ; IF_NONE { PUSH int 596 ; FAILWITH } {} ; DUP 4 ; GET 3 ; GET 3 ; IF_NONE { PUSH int 624 ; FAILWITH } {} ; COMPARE ; LE ; IF {} { PUSH string "RESERVE_PERIOD_LONGER_AS_DURATION" ; FAILWITH } } ; DUP 3 ; GET 3 ; CAR ; IF_NONE { PUSH string "RESERVE_PERIOD_REQUIRES_RESERVE_LIST" ; FAILWITH } { DROP } } ; PUSH nat 20 ; DUP 4 ; CAR ; GET 3 ; CDR ; SIZE ; COMPARE ; LE ; IF {} { PUSH string "GATE_LIST_TOO_LONG" ; FAILWITH } ; DUP 3 ; CAR ; GET 3 ; CAR ; IF { PUSH nat 0 ; DUP 4 ; CAR ; GET 3 ; CDR ; SIZE ; COMPARE ; GT ; IF {} { PUSH string "GATE_TOKENS_REQUIRED" ; FAILWITH } ; DUP 3 ; CAR ; GET 3 ; CDR ; ITER { PUSH nat 0 ; DUP 2 ; CDR ; SIZE ; COMPARE ; GT ; IF {} { PUSH string "TOKEN_REQS_REQUIRED" ; FAILWITH } ; DUP ; CDR ; ITER { CDR ; PUSH nat 0 ; COMPARE ; LT ; IF {} { PUSH string "INVALID_MIN_BALANCE" ; FAILWITH } } ; DROP } } {} ; DUP 3 ; CAR ; CAR ; CAR ; IF_NONE { DROP 2 } { DROP ; PUSH nat 20 ; DUP 4 ; CAR ; CAR ; CAR ; IF_NONE { PUSH int 648 ; FAILWITH } {} ; SIZE ; COMPARE ; LE ; IF {} { PUSH string "BURN_LIST_TOO_LONG" ; FAILWITH } ; DUP 3 ; CAR ; CAR ; CAR ; IF_NONE { PUSH int 648 ; FAILWITH } {} ; ITER { GET 4 ; PUSH nat 0 ; COMPARE ; LT ; IF {} { PUSH string "BURN_AMOUNT_MUST_BE_POSITIVE" ; FAILWITH } } ; DROP 2 } ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; DUP 6 ; GET 8 ; DUP 7 ; GET 7 ; PAIR ; DUP 7 ; GET 5 ; CDR ; PAIR ; DUP 7 ; GET 5 ; CAR ; SENDER ; PAIR ; PAIR ; DUP 7 ; GET 3 ; GET 4 ; DUP 8 ; GET 3 ; GET 3 ; PAIR ; DUP 8 ; CAR ; GET 6 ; DUP 9 ; CAR ; GET 5 ; PAIR ; PAIR ; PAIR ; DUP 7 ; GET 3 ; CAR ; IF_NONE { PUSH bool False } { DROP ; PUSH bool True } ; DUP 8 ; CAR ; GET 3 ; CDR ; PAIR ; DUP 8 ; CAR ; GET 3 ; CAR ; PUSH nat 0 ; PAIR ; PAIR ; DUP 8 ; CAR ; CAR ; GET 4 ; NONE timestamp ; PAIR ; DUP 9 ; CAR ; CAR ; GET 3 ; DUP 10 ; CAR ; CAR ; CAR ; PAIR ; PAIR ; PAIR ; PAIR ; SOME ; DUP 7 ; GET 8 ; UPDATE ; PAIR ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP ; NIL operation ; DUP 2 ; GET 8 ; DUP 3 ; GET 7 ; PAIR ; SENDER ; PAIR ; DIG 2 ; DUP ; CAR ; CAR ; GET 4 ; SWAP ; CAR ; CAR ; GET 3 ; PAIR ; PAIR ; EMIT %listing_created (pair (pair (option %duration int) (mutez %edition_price)) (pair (address %seller) (pair (timestamp %start_time) (nat %token_id)))) ; CONS } { PUSH mutez 0 ; AMOUNT ; COMPARE ; EQ ; IF {} { PUSH string "TEZ_TRANSFER" ; FAILWITH } ; DUP 2 ; GET 3 ; CAR ; CAR ; IF { PUSH string "CONTRACT_PAUSED" ; FAILWITH } {} ; DUP 2 ; CAR ; CAR ; GET 3 ; SENDER ; MEM ; IF { PUSH bool True } { DUP 2 ; CAR ; CAR ; CAR ; CDR ; SENDER ; MEM } ; IF { PUSH bool True } { DUP 2 ; GET 3 ; GET 6 ; SENDER ; COMPARE ; EQ } ; IF {} { PUSH string "NOT_ALLOWED" ; FAILWITH } ; PUSH nat 30 ; DUP 2 ; SIZE ; COMPARE ; LE ; IF {} { PUSH string "TOO_MANY_TOKENS_IN_BATCH" ; FAILWITH } ; NIL operation ; DUP 2 ; ITER { PUSH nat 20 ; DUP 2 ; CDR ; SIZE ; COMPARE ; LE ; IF {} { PUSH string "TOO_MANY_ROYALTY_RECIPIENTS" ; FAILWITH } ; PUSH nat 0 ; EMPTY_SET address ; DUP 3 ; CDR ; ITER { DUP 2 ; DUP 2 ; CAR ; MEM ; IF { PUSH string "DUPLICATE_SPLIT_ADDRESS" ; FAILWITH } {} ; PUSH address "KT18amZmM5W7qDWVt2pH6uj7sCEd3kbzLrHT" ; DUP 2 ; CAR ; COMPARE ; LT ; IF {} { PUSH string "ONLY_IMPLICIT_ADDRESSES_ALLOWED" ; FAILWITH } ; SWAP ; PUSH bool True ; DUP 3 ; CAR ; UPDATE ; SWAP ; DIG 2 ; SWAP ; CDR ; ADD ; SWAP } ; DROP ; PUSH nat 10000 ; SWAP ; COMPARE ; LE ; IF {} { PUSH string "ROYALTIES_EXCEED_MAX_PERCENTAGE" ; FAILWITH } ; DUP 4 ; CAR ; GET 7 ; DIG 4 ; DUP ; GET 9 ; DUP 4 ; CAR ; DUP 4 ; PAIR ; SOME ; DUP 4 ; UPDATE ; UPDATE 9 ; DUP ; GET 10 ; DUP 4 ; CDR ; SOME ; DUP 4 ; UPDATE ; UPDATE 10 ; DUP ; GET 7 ; SENDER ; SOME ; DUP 4 ; UPDATE ; UPDATE 7 ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; PUSH nat 1 ; ADD ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; DUG 4 ; DIG 2 ; SWAP ; DUP 3 ; CDR ; PAIR ; DIG 2 ; CAR ; SENDER ; PAIR ; PAIR ; EMIT %create_tokens (pair (pair (address %creator) (map %metadata string bytes)) (pair (list %royalties (pair (address %address) (nat %royalties))) (nat %token_id))) ; CONS } ; SWAP ; DROP } } { IF_LEFT { PUSH mutez 0 ; AMOUNT ; COMPARE ; EQ ; IF {} { PUSH string "TEZ_TRANSFER" ; FAILWITH } ; NIL operation ; DUP 2 ; ITER { DUP 4 ; GET 9 ; DUP 2 ; CAR ; MEM ; IF {} { PUSH string "FA2_TOKEN_UNDEFINED" ; FAILWITH } ; DUP 4 ; GET 9 ; DUP 2 ; CAR ; MEM ; IF {} { PUSH string "FA2_TOKEN_UNDEFINED" ; FAILWITH } ; DUP 4 ; GET 7 ; DUP 2 ; CAR ; MEM ; IF {} { PUSH string "TOKEN_CREATOR_MISSING" ; FAILWITH } ; DUP 4 ; CAR ; CAR ; CAR ; CDR ; SENDER ; MEM ; IF { PUSH bool True } { DUP 4 ; GET 3 ; GET 6 ; SENDER ; COMPARE ; EQ } ; IF { PUSH bool True } { SENDER ; DUP 5 ; GET 7 ; DUP 3 ; CAR ; GET ; IF_NONE { PUSH int 215 ; FAILWITH } {} ; COMPARE ; EQ } ; IF {} { PUSH string "NOT_TOKEN_CREATOR_OR_ADMIN" ; FAILWITH } ; DUP ; CDR ; ITER { DUP 5 ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; DUP 6 ; CDR ; DIG 10 ; CAR ; CAR ; GET 4 ; DUP 9 ; CAR ; DUP 9 ; CAR ; PAIR ; GET ; IF_NONE { PUSH nat 0 } {} ; ADD ; SOME ; DUP 8 ; CAR ; DUP 8 ; CAR ; PAIR ; UPDATE ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; PAIR ; DUG 4 ; DUP 5 ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; DUP 6 ; CDR ; DIG 10 ; GET 5 ; CAR ; DUP 9 ; CAR ; GET ; IF_NONE { PUSH nat 0 } {} ; ADD ; SOME ; DUP 8 ; CAR ; UPDATE ; PAIR ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; DUG 4 ; DIG 2 ; DUP 3 ; CAR ; DUP 3 ; CAR ; PAIR ; SENDER ; DIG 3 ; CDR ; PAIR ; PAIR ; EMIT %mint (pair (pair (nat %amount) (address %minter)) (pair (address %recipient) (nat %token_id))) ; CONS ; SWAP } ; DROP } ; SWAP ; DROP } { IF_LEFT { PUSH mutez 0 ; AMOUNT ; COMPARE ; EQ ; IF {} { PUSH string "TEZ_TRANSFER" ; FAILWITH } ; DUP 2 ; GET 3 ; GET 6 ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "NOT_SUPERADMIN" ; FAILWITH } ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; CDR ; DUP 5 ; SOME ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP ; PAIR ; SWAP ; NIL operation ; SWAP ; DUP 3 ; GET 3 ; GET 6 ; PAIR ; EMIT %superadmin_proposed (pair (address %current_superadmin) (address %proposed_superadmin)) ; CONS } { PUSH nat 1 ; DUP 2 ; SIZE ; COMPARE ; GE ; IF {} { PUSH string "NO_RESPONSES" ; FAILWITH } ; NONE address ; DUP 2 ; ITER { DUP 2 ; IF_NONE { SWAP ; DROP ; CAR ; CAR ; SOME } { DROP 2 } } ; DUP ; IF_NONE { PUSH string "NO_OWNER" ; FAILWITH } { DROP } ; DUP 3 ; GET 3 ; CAR ; CDR ; DUP 2 ; IF_NONE { PUSH int 981 ; FAILWITH } {} ; MEM ; IF {} { PUSH string "NO_PENDING" ; FAILWITH } ; PUSH bool False ; DUP 3 ; ITER { DUP 5 ; GET 3 ; CAR ; CDR ; DUP 4 ; IF_NONE { PUSH int 981 ; FAILWITH } {} ; GET ; IF_NONE { PUSH int 983 ; FAILWITH } {} ; GET 3 ; ITER { SENDER ; DUP 2 ; CAR ; COMPARE ; EQ ; IF { DUP ; CDR ; ITER { DUP ; CAR ; DUP 4 ; CAR ; CDR ; COMPARE ; EQ ; IF { DUP ; CDR ; DUP 4 ; CDR ; COMPARE ; GE ; IF { DIG 3 ; DROP 2 ; PUSH bool True ; DUG 2 } { DROP } } { DROP } } ; DROP } { DROP } } ; DROP } ; PUSH nat 1 ; DUP 5 ; GET 3 ; CAR ; CDR ; DUP 4 ; IF_NONE { PUSH int 981 ; FAILWITH } {} ; GET ; IF_NONE { PUSH int 983 ; FAILWITH } {} ; GET 4 ; SUB ; ISNAT ; IF_NONE { PUSH int 997 ; FAILWITH } {} ; DIG 4 ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; DUP ; DUP 9 ; IF_NONE { PUSH int 981 ; FAILWITH } {} ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 997 ; FAILWITH } {} ; DIG 7 ; UPDATE 4 ; SOME ; SWAP ; UPDATE ; SWAP ; PAIR ; PAIR ; PAIR ; SWAP ; PAIR ; DUG 3 ; DUP ; IF { DIG 3 ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; DUP ; DUP 8 ; IF_NONE { PUSH int 981 ; FAILWITH } {} ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 1002 ; FAILWITH } {} ; NIL (pair address (list (pair nat nat))) ; UPDATE 3 ; SOME ; SWAP ; UPDATE ; SWAP ; PAIR ; PAIR ; PAIR ; SWAP ; PAIR ; DUG 3 } {} ; PUSH nat 0 ; DUP 5 ; GET 3 ; CAR ; CDR ; DUP 4 ; IF_NONE { PUSH int 981 ; FAILWITH } {} ; GET ; IF_NONE { PUSH int 983 ; FAILWITH } {} ; GET 4 ; COMPARE ; EQ ; IF { PUSH nat 0 ; DUP 5 ; GET 3 ; CAR ; CDR ; DUP 4 ; IF_NONE { PUSH int 981 ; FAILWITH } {} ; GET ; IF_NONE { PUSH int 983 ; FAILWITH } {} ; GET 3 ; SIZE ; COMPARE ; EQ ; IF { DROP ; SWAP ; DROP ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; NONE (pair address (pair (list (pair address (list (pair nat nat)))) nat)) ; DIG 6 ; IF_NONE { PUSH int 981 ; FAILWITH } {} ; UPDATE ; SWAP ; PAIR ; PAIR ; PAIR ; SWAP ; PAIR } { DIG 3 ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; NONE (pair address (pair (list (pair address (list (pair nat nat)))) nat)) ; DUP 8 ; IF_NONE { PUSH int 981 ; FAILWITH } {} ; PUSH string "GATE_BALANCE_LOW" ; FAILWITH } } { DROP ; SWAP ; DROP ; DUP 2 ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; DIG 6 ; GET 3 ; CAR ; CDR ; DUP 7 ; IF_NONE { PUSH int 981 ; FAILWITH } {} ; GET ; IF_NONE { PUSH int 983 ; FAILWITH } {} ; SOME ; DIG 6 ; IF_NONE { PUSH int 981 ; FAILWITH } {} ; UPDATE ; SWAP ; PAIR ; PAIR ; PAIR ; SWAP ; PAIR } ; NIL operation } } } } } { IF_LEFT { IF_LEFT { IF_LEFT { PUSH mutez 0 ; AMOUNT ; COMPARE ; EQ ; IF {} { PUSH string "TEZ_TRANSFER" ; FAILWITH } ; DUP 2 ; CAR ; CAR ; CAR ; CDR ; SENDER ; MEM ; IF { PUSH bool True } { DUP 2 ; GET 3 ; GET 6 ; SENDER ; COMPARE ; EQ } ; IF {} { PUSH string "NOT_ADMIN" ; FAILWITH } ; DUP ; ITER { DIG 2 ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; DUP 6 ; CDR ; SOME ; DIG 6 ; CAR ; UPDATE ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP } ; DROP ; NIL operation ; SENDER ; EMIT %metadata_updated address ; CONS } { PUSH mutez 0 ; AMOUNT ; COMPARE ; EQ ; IF {} { PUSH string "TEZ_TRANSFER" ; FAILWITH } ; DUP 2 ; CAR ; CAR ; CAR ; CDR ; SENDER ; MEM ; IF { PUSH bool True } { DUP 2 ; GET 3 ; GET 6 ; SENDER ; COMPARE ; EQ } ; IF {} { PUSH string "NOT_ADMIN" ; FAILWITH } ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; CDR ; DUP 5 ; PAIR ; PAIR ; PAIR ; SWAP ; PAIR ; SWAP ; NIL operation ; SENDER ; DIG 2 ; PAIR ; EMIT %contract_paused (pair (bool %paused) (address %updated_by)) ; CONS } } { IF_LEFT { DUP ; ITER { DUP ; CDR ; ITER { DUP 4 ; CAR ; CAR ; CAR ; CAR ; DUP 2 ; GET 3 ; DUP 3 ; CAR ; PAIR ; MEM ; IF { PUSH string "RESTRICTED_OPERATOR" ; FAILWITH } {} ; DUP 4 ; GET 5 ; CDR ; DUP 2 ; GET 3 ; DUP 3 ; CAR ; PAIR ; MEM ; IF { DUP 4 ; CAR ; GET 3 ; CAR ; DUP 2 ; GET 3 ; MEM ; IF { DUP 4 ; CAR ; GET 3 ; CAR ; DUP 2 ; GET 3 ; GET ; IF_NONE { PUSH int 858 ; FAILWITH } {} ; GET 9 ; NOW ; COMPARE ; GE ; IF {} { PUSH string "SALE_NOT_STARTED_YET" ; FAILWITH } ; DUP 4 ; CAR ; GET 3 ; CAR ; DUP 2 ; GET 3 ; GET ; IF_NONE { PUSH int 858 ; FAILWITH } {} ; CAR ; CAR ; CAR ; CDR ; IF_NONE { PUSH string "PERPETUAL_SALE_ACTIVE" ; FAILWITH } { DROP ; DUP 4 ; CAR ; GET 3 ; CAR ; DUP 2 ; GET 3 ; GET ; IF_NONE { PUSH int 858 ; FAILWITH } {} ; GET 7 ; IF { DUP 4 ; CAR ; GET 3 ; CAR ; DUP 2 ; GET 3 ; GET ; IF_NONE { PUSH int 858 ; FAILWITH } {} ; CAR ; CAR ; GET 3 ; IF_NONE { PUSH string "SALE_NOT_PROPERLY_STARTED" ; FAILWITH } { DROP ; DUP 4 ; CAR ; GET 3 ; CAR ; DUP 2 ; GET 3 ; GET ; IF_NONE { PUSH int 858 ; FAILWITH } {} ; CAR ; CAR ; CAR ; CDR ; IF_NONE { PUSH int 275 ; FAILWITH } {} ; DUP 5 ; CAR ; GET 3 ; CAR ; DUP 3 ; GET 3 ; GET ; IF_NONE { PUSH int 858 ; FAILWITH } {} ; CAR ; CAR ; GET 3 ; IF_NONE { PUSH int 274 ; FAILWITH } {} ; ADD ; NOW ; COMPARE ; GE ; IF {} { PUSH string "SALE_IS_ACTIVE" ; FAILWITH } } } { DUP 4 ; CAR ; GET 3 ; CAR ; DUP 2 ; GET 3 ; GET ; IF_NONE { PUSH int 858 ; FAILWITH } {} ; CAR ; CAR ; CAR ; CDR ; IF_NONE { PUSH int 275 ; FAILWITH } {} ; DUP 5 ; CAR ; GET 3 ; CAR ; DUP 3 ; GET 3 ; GET ; IF_NONE { PUSH int 858 ; FAILWITH } {} ; GET 9 ; ADD ; NOW ; COMPARE ; GE ; IF {} { PUSH string "SALE_IS_ACTIVE" ; FAILWITH } } } } {} ; PUSH bool False ; DUP 5 ; CAR ; GET 3 ; CDR ; ITER { DUP 2 ; IF { DROP } { DUP ; DUP 4 ; GET 3 ; SELF_ADDRESS ; PAIR ; VIEW "is_token_locked" bool ; IF_NONE { DROP } { DROP ; SWAP ; IF { DROP ; PUSH bool True } { DUP 2 ; GET 3 ; SELF_ADDRESS ; PAIR ; VIEW "is_token_locked" bool ; IF_NONE { PUSH int 877 ; FAILWITH } {} } } } } ; IF { PUSH string "MARKETPLACE_RESTRICTED" ; FAILWITH } {} } {} ; DUP 4 ; GET 9 ; DUP 2 ; GET 3 ; MEM ; IF {} { PUSH string "FA2_TOKEN_UNDEFINED" ; FAILWITH } ; DUP 2 ; CAR ; SENDER ; COMPARE ; EQ ; IF { PUSH bool True } { DUP 4 ; CAR ; GET 8 ; DUP 2 ; GET 3 ; SENDER ; DUP 5 ; CAR ; PAIR 3 ; MEM } ; IF {} { PUSH string "FA2_NOT_OPERATOR" ; FAILWITH } ; PUSH nat 0 ; DUP 2 ; GET 4 ; COMPARE ; GT ; IF { DUP 4 ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; DUP 6 ; GET 4 ; DIG 9 ; CAR ; CAR ; GET 4 ; DUP 8 ; GET 3 ; DUP 10 ; CAR ; PAIR ; GET ; IF_NONE { PUSH nat 0 } {} ; SUB ; ISNAT ; IF_NONE { PUSH string "FA2_INSUFFICIENT_BALANCE" ; FAILWITH } {} ; SOME ; DUP 7 ; GET 3 ; DUP 9 ; CAR ; PAIR ; UPDATE ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; PAIR ; DUG 3 ; DUP 4 ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; DUP 6 ; GET 4 ; DIG 9 ; CAR ; CAR ; GET 4 ; DUP 8 ; GET 3 ; DUP 9 ; CAR ; PAIR ; GET ; IF_NONE { PUSH nat 0 } {} ; ADD ; SOME ; DUP 7 ; GET 3 ; DIG 7 ; CAR ; PAIR ; UPDATE ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; PAIR ; DUG 2 } { DROP } } ; DROP } ; DROP ; NIL operation } { PUSH mutez 0 ; AMOUNT ; COMPARE ; EQ ; IF {} { PUSH string "TEZ_TRANSFER" ; FAILWITH } ; DUP 2 ; GET 3 ; GET 6 ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "NOT_SUPERADMIN" ; FAILWITH } ; DUP ; CAR ; IF_NONE { DUP ; CDR ; IF_NONE { PUSH bool False } { DROP ; PUSH bool True } } { DROP ; PUSH bool True } ; IF {} { PUSH string "NO_CHANGES_SPECIFIED" ; FAILWITH } ; DUP ; CAR ; IF_NONE { NIL operation } { DROP ; NIL operation ; DUP 2 ; CAR ; IF_NONE { PUSH int 454 ; FAILWITH } {} ; ITER { DIG 3 ; UNPAIR ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; PUSH (option unit) (Some Unit) ; DUP 7 ; UPDATE ; SWAP ; PAIR ; PAIR ; PAIR ; PAIR ; DUG 3 ; EMIT %admin_added address ; CONS } } ; DUP 2 ; CDR ; IF_NONE { SWAP ; DROP } { DROP ; DUP 2 ; CDR ; IF_NONE { PUSH int 460 ; FAILWITH } {} ; ITER { DUP 4 ; CAR ; CAR ; CAR ; CDR ; DUP 2 ; MEM ; IF {} { PUSH string "NOT_AN_ADMIN" ; FAILWITH } ; DIG 3 ; UNPAIR ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; NONE unit ; DUP 7 ; UPDATE ; SWAP ; PAIR ; PAIR ; PAIR ; PAIR ; DUG 3 ; EMIT %admin_removed address ; CONS } ; SWAP ; DROP } } } } { IF_LEFT { IF_LEFT { PUSH mutez 0 ; AMOUNT ; COMPARE ; EQ ; IF {} { PUSH string "TEZ_TRANSFER" ; FAILWITH } ; DUP 2 ; CAR ; CAR ; CAR ; CDR ; SENDER ; MEM ; IF { PUSH bool True } { DUP 2 ; GET 3 ; GET 6 ; SENDER ; COMPARE ; EQ } ; IF {} { PUSH string "NOT_ADMIN" ; FAILWITH } ; DUP ; CAR ; IF_NONE { DUP ; CDR ; IF_NONE { PUSH bool False } { DROP ; PUSH bool True } } { DROP ; PUSH bool True } ; IF {} { PUSH string "NO_CHANGES_SPECIFIED" ; FAILWITH } ; DUP ; CAR ; IF_NONE { NIL operation } { DROP ; NIL operation ; DUP 2 ; CAR ; IF_NONE { PUSH int 342 ; FAILWITH } {} ; ITER { DIG 3 ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; PUSH (option unit) (Some Unit) ; DUP 7 ; UPDATE ; PAIR ; SWAP ; PAIR ; PAIR ; PAIR ; DUG 3 ; EMIT %collabs_added address ; CONS } } ; DUP 2 ; CDR ; IF_NONE { SWAP ; DROP } { DROP ; DUP 2 ; CDR ; IF_NONE { PUSH int 350 ; FAILWITH } {} ; ITER { DUP 4 ; CAR ; CAR ; GET 3 ; DUP 2 ; MEM ; IF {} { PUSH string "NOT_AN_COLLAB" ; FAILWITH } ; DIG 3 ; UNPAIR ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; NONE unit ; DUP 7 ; UPDATE ; PAIR ; SWAP ; PAIR ; PAIR ; PAIR ; DUG 3 ; EMIT %collabs_removed address ; CONS } ; SWAP ; DROP } } { DUP 2 ; CAR ; CAR ; CAR ; CDR ; SENDER ; MEM ; IF { PUSH bool True } { DUP 2 ; GET 3 ; GET 6 ; SENDER ; COMPARE ; EQ } ; IF {} { PUSH string "NOT_ADMIN" ; FAILWITH } ; DUP ; ITER { DUP ; GET 3 ; ITER { DUP 2 ; GET 6 ; IF { DUP 2 ; GET 5 ; IF { DIG 3 ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; NONE unit ; DIG 6 ; DUP 8 ; CAR ; PAIR ; UPDATE ; SWAP ; PAIR ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; DUG 2 } { DIG 3 ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; PUSH (option unit) (Some Unit) ; DIG 6 ; DUP 8 ; CAR ; PAIR ; UPDATE ; SWAP ; PAIR ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; DUG 2 } } { DUP 2 ; GET 5 ; IF { DIG 3 ; UNPAIR ; UNPAIR ; UNPAIR ; UNPAIR ; NONE unit ; DIG 6 ; DUP 8 ; CAR ; PAIR ; UPDATE ; PAIR ; PAIR ; PAIR ; PAIR ; DUG 2 } { DIG 3 ; UNPAIR ; UNPAIR ; UNPAIR ; UNPAIR ; PUSH (option unit) (Some Unit) ; DIG 6 ; DUP 8 ; CAR ; PAIR ; UPDATE ; PAIR ; PAIR ; PAIR ; PAIR ; DUG 2 } } } ; DROP } ; DROP ; NIL operation } } { IF_LEFT { DUP 2 ; CAR ; CAR ; CAR ; CDR ; SENDER ; MEM ; IF { PUSH bool True } { DUP 2 ; GET 3 ; GET 6 ; SENDER ; COMPARE ; EQ } ; IF {} { PUSH string "NOT_ADMIN" ; FAILWITH } ; DUP ; CAR ; IF_NONE {} { DROP ; DUP ; CAR ; IF_NONE { PUSH int 1066 ; FAILWITH } {} ; ITER { DIG 2 ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; PUSH bool True ; DIG 6 ; UPDATE ; SWAP ; PAIR ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP } } ; DUP ; CDR ; IF_NONE { DROP } { DROP ; DUP ; CDR ; IF_NONE { PUSH int 1071 ; FAILWITH } {} ; ITER { DIG 2 ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; UNPAIR ; SWAP ; PUSH bool False ; DIG 6 ; UPDATE ; SWAP ; PAIR ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP } ; DROP } } { IF_LEFT { DUP ; ITER { IF_LEFT { DUP 3 ; CAR ; CAR ; CAR ; CAR ; DUP 2 ; GET 4 ; DUP 3 ; GET 3 ; PAIR ; MEM ; IF { PUSH string "RESTRICTED_OPERATOR" ; FAILWITH } {} ; DUP 3 ; GET 5 ; CDR ; DUP 2 ; GET 4 ; DUP 3 ; GET 3 ; PAIR ; MEM ; IF { DUP 3 ; CAR ; GET 3 ; CAR ; DUP 2 ; GET 4 ; MEM ; IF { DUP 3 ; CAR ; GET 3 ; CAR ; DUP 2 ; GET 4 ; GET ; IF_NONE { PUSH int 924 ; FAILWITH } {} ; GET 9 ; NOW ; COMPARE ; GE ; IF {} { PUSH string "SALE_NOT_STARTED_YET" ; FAILWITH } ; DUP 3 ; CAR ; GET 3 ; CAR ; DUP 2 ; GET 4 ; GET ; IF_NONE { PUSH int 924 ; FAILWITH } {} ; CAR ; CAR ; CAR ; CDR ; IF_NONE { PUSH string "PERPETUAL_SALE_ACTIVE" ; FAILWITH } { DROP ; DUP 3 ; CAR ; GET 3 ; CAR ; DUP 2 ; GET 4 ; GET ; IF_NONE { PUSH int 924 ; FAILWITH } {} ; GET 7 ; IF { DUP 3 ; CAR ; GET 3 ; CAR ; DUP 2 ; GET 4 ; GET ; IF_NONE { PUSH int 924 ; FAILWITH } {} ; CAR ; CAR ; GET 3 ; IF_NONE { PUSH string "SALE_NOT_PROPERLY_STARTED" ; FAILWITH } { DROP ; DUP 3 ; CAR ; GET 3 ; CAR ; DUP 2 ; GET 4 ; GET ; IF_NONE { PUSH int 924 ; FAILWITH } {} ; CAR ; CAR ; CAR ; CDR ; IF_NONE { PUSH int 275 ; FAILWITH } {} ; DUP 4 ; CAR ; GET 3 ; CAR ; DUP 3 ; GET 4 ; GET ; IF_NONE { PUSH int 924 ; FAILWITH } {} ; CAR ; CAR ; GET 3 ; IF_NONE { PUSH int 274 ; FAILWITH } {} ; ADD ; NOW ; COMPARE ; GE ; IF {} { PUSH string "SALE_IS_ACTIVE" ; FAILWITH } } } { DUP 3 ; CAR ; GET 3 ; CAR ; DUP 2 ; GET 4 ; GET ; IF_NONE { PUSH int 924 ; FAILWITH } {} ; CAR ; CAR ; CAR ; CDR ; IF_NONE { PUSH int 275 ; FAILWITH } {} ; DUP 4 ; CAR ; GET 3 ; CAR ; DUP 3 ; GET 4 ; GET ; IF_NONE { PUSH int 924 ; FAILWITH } {} ; GET 9 ; ADD ; NOW ; COMPARE ; GE ; IF {} { PUSH string "SALE_IS_ACTIVE" ; FAILWITH } } } } {} ; PUSH bool False ; DUP 4 ; CAR ; GET 3 ; CDR ; ITER { DUP 2 ; IF { DROP } { DUP ; DUP 4 ; GET 4 ; SELF_ADDRESS ; PAIR ; VIEW "is_token_locked" bool ; IF_NONE { DROP } { DROP ; SWAP ; IF { DROP ; PUSH bool True } { DUP 2 ; GET 4 ; SELF_ADDRESS ; PAIR ; VIEW "is_token_locked" bool ; IF_NONE { PUSH int 943 ; FAILWITH } {} } } } } ; IF { PUSH string "MARKETPLACE_RESTRICTED" ; FAILWITH } {} } {} ; SENDER ; DUP 2 ; CAR ; COMPARE ; EQ ; IF {} { PUSH string "FA2_NOT_OWNER" ; FAILWITH } ; DIG 2 ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; PUSH (option unit) (Some Unit) ; DIG 7 ; UPDATE ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP } { SENDER ; DUP 2 ; CAR ; COMPARE ; EQ ; IF {} { PUSH string "FA2_NOT_OWNER" ; FAILWITH } ; DIG 2 ; UNPAIR ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; UNPAIR ; SWAP ; NONE unit ; DIG 7 ; UPDATE ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; SWAP ; PAIR ; PAIR ; SWAP } } ; DROP } { PUSH mutez 0 ; AMOUNT ; COMPARE ; EQ ; IF {} { PUSH string "TEZ_TRANSFER" ; FAILWITH } ; DUP ; ITER { DUP 3 ; GET 9 ; DUP 2 ; CAR ; MEM ; IF {} { PUSH string "FA2_TOKEN_UNDEFINED" ; FAILWITH } ; DUP 3 ; GET 9 ; DUP 2 ; CAR ; MEM ; IF {} { PUSH string "FA2_TOKEN_UNDEFINED" ; FAILWITH } ; DUP 3 ; GET 7 ; DUP 2 ; CAR ; MEM ; IF {} { PUSH string "TOKEN_CREATOR_MISSING" ; FAILWITH } ; DUP 3 ; CAR ; CAR ; CAR ; CDR ; SENDER ; MEM ; IF { PUSH bool True } { DUP 3 ; GET 3 ; GET 6 ; SENDER ; COMPARE ; EQ } ; IF { PUSH bool True } { SENDER ; DUP 4 ; GET 7 ; DUP 3 ; CAR ; GET ; IF_NONE { PUSH int 215 ; FAILWITH } {} ; COMPARE ; EQ } ; IF {} { PUSH string "NOT_TOKEN_CREATOR_OR_ADMIN" ; FAILWITH } ; DIG 2 ; DUP ; GET 9 ; DUP ; DUP 4 ; CAR ; DUP ; DUG 2 ; GET ; IF_NONE { PUSH int 1093 ; FAILWITH } {} ; DIG 4 ; CDR ; UPDATE 2 ; SOME ; SWAP ; UPDATE ; UPDATE 9 ; SWAP } ; DROP } } ; NIL operation } } } ; NIL operation ; SWAP ; ITER { CONS } ; PAIR }Constant Info
Address
expruN61kEcjHWWRQPQr2hsR2QDA
Timestamp
26 Nov'25 14:46
Level
11005573