x
521
1210
{ parameter (or
(or
(or
(or
(or
(pair %_add_migration_target (bytes %extra_data)
(address %new_contract))
(or (address %_set_contract_registry) (bool %_set_contracts_mht)))
(or (address %_set_identity)
(or (address %_set_market) (address %_set_materia_address))))
(or
(or (nat %_set_mint_materia_cost)
(or (bool %_set_minting_paused) (bool %_set_verified_to_mint)))
(or
(or
(pair %_ul_all_contracts_mht (address %minter) (nat %token_id))
(pair %_update_mint_slots (bool %_add)
(list %updates (pair
(bool %genesis_set)
(pair
(address %minter)
(nat %token_id))))))
(or
(pair %decrease_royalties (nat %new_royalties) (nat %token_id))
(nat %disable_no_transfers_until)))))
(or
(or
(or (nat %disable_req_verified_to_hold)
(or (bytes %generic)
(pair %increase_max_per_wallet (nat %new_max)
(nat %token_id))))
(or
(pair %migrate (pair (address %_from) (bytes %extra_data))
(pair
(list %migrations (pair (nat %amount)
(nat %token_id)))
(address %new_contract)))
(or
(pair %mint
(pair
(pair (nat %amount)
(list %infusions (pair (address %token_address)
(list %token_id_amounts (pair
(nat %amount)
(nat %token_id))))))
(pair (nat %max_per_address) (map %metadata string bytes)))
(pair
(pair (option %no_transfers_until timestamp)
(bool %req_verified_to_own))
(pair (nat %royalty)
(list %splits (pair (address %address) (nat %pct))))))
(pair %pay_royalties_fa2 (address %buyer)
(pair (address %seller)
(pair (nat %token_id)
(pair
(pair %fa2 address nat)
(nat %amount))))))))
(or
(or
(pair %pay_royalties_xtz (address %buyer)
(pair (address %seller) (nat %token_id)))
(or (nat %sign_cocreator)
(list %transfer (pair (address %from_)
(list %txs (pair (address %to_)
(pair (nat %token_id)
(nat %amount))))))))
(or
(or (nat %unlock_contracts_may_hold_token)
(pair %update_extra_db (bytes %key) (bytes %value)))
(or
(list %update_operators (or
(pair %add_operator (address %owner)
(pair
(address %operator)
(nat %token_id)))
(pair %remove_operator (address %owner)
(pair
(address %operator)
(nat %token_id)))))
(pair %update_token_metadata (map %metadata string bytes)
(nat %token_id)))))))
(or
(or
(pair %balance_of
(list %requests (pair (address %owner) (nat %token_id)))
(contract %callback (list (pair
(pair %request (address %owner)
(nat %token_id))
(nat %balance)))))
(or (pair %mutez_transfer (mutez %amount) (address %destination))
(address %set_administrator)))
(or (pair %set_metadata (string %k) (bytes %v))
(or (bool %set_pause)
(pair %update_ep
(or %ep_name
(or (or (unit %_add_migration_target) (unit %generic))
(or (unit %migrate) (unit %mint)))
(or (or (unit %pay_royalties_fa2) (unit %pay_royalties_xtz))
(or (unit %transfer) (unit %update_operators))))
(lambda %new_ep
(pair
(or
(or
(or
(or
(pair %_add_migration_target (bytes %extra_data)
(address %new_contract))
(or (address %_set_contract_registry)
(bool %_set_contracts_mht)))
(or (address %_set_identity)
(or (address %_set_market)
(address %_set_materia_address))))
(or
(or (nat %_set_mint_materia_cost)
(or (bool %_set_minting_paused)
(bool %_set_verified_to_mint)))
(or
(or
(pair %_ul_all_contracts_mht (address %minter)
(nat %token_id))
(pair %_update_mint_slots (bool %_add)
(list %updates (pair
(bool %genesis_set)
(pair
(address %minter)
(nat %token_id))))))
(or
(pair %decrease_royalties (nat %new_royalties)
(nat %token_id))
(nat %disable_no_transfers_until)))))
(or
(or
(or (nat %disable_req_verified_to_hold)
(or (bytes %generic)
(pair %increase_max_per_wallet
(nat %new_max)
(nat %token_id))))
(or
(pair %migrate
(pair (address %_from) (bytes %extra_data))
(pair
(list %migrations (pair (nat %amount)
(nat %token_id)))
(address %new_contract)))
(or
(pair %mint
(pair
(pair (nat %amount)
(list %infusions (pair
(address %token_address)
(list %token_id_amounts (pair
(nat %amount)
(nat %token_id))))))
(pair (nat %max_per_address)
(map %metadata string bytes)))
(pair
(pair (option %no_transfers_until timestamp)
(bool %req_verified_to_own))
(pair (nat %royalty)
(list %splits (pair (address %address)
(nat %pct))))))
(pair %pay_royalties_fa2 (address %buyer)
(pair (address %seller)
(pair
(nat %token_id)
(pair
(pair %fa2
address
nat)
(nat %amount))))))))
(or
(or
(pair %pay_royalties_xtz (address %buyer)
(pair (address %seller)
(nat %token_id)))
(or (nat %sign_cocreator)
(list %transfer (pair (address %from_)
(list %txs (pair
(address %to_)
(pair
(nat %token_id)
(nat %amount))))))))
(or
(or (nat %unlock_contracts_may_hold_token)
(pair %update_extra_db (bytes %key)
(bytes %value)))
(or
(list %update_operators (or
(pair %add_operator
(address %owner)
(pair
(address %operator)
(nat %token_id)))
(pair %remove_operator
(address %owner)
(pair
(address %operator)
(nat %token_id)))))
(pair %update_token_metadata
(map %metadata string bytes)
(nat %token_id)))))))
(pair
(pair
(pair
(pair
(lambda %admin_check_lambda
(pair
(pair (address %address)
(option %permission string))
(pair (address %self_address)
(address %self_admin)))
bool)
(pair (address %administrator)
(set %all_tokens nat)))
(pair (address %contract_registry)
(pair (bool %contracts_may_hold_tokens_global)
(big_map %extra_db bytes bytes))))
(pair
(pair (set %genesis_minters address)
(pair (timestamp %genesis_timeout)
(address %identity)))
(pair (big_map %ledger (pair address nat) nat)
(pair (address %market)
(address %materia_address)))))
(pair
(pair
(pair (big_map %metadata string bytes)
(pair (nat %mint_materia_cost)
(big_map %mint_slots nat address)))
(pair (bool %minting_paused)
(pair
(big_map %operators
(pair (address %owner)
(pair (address %operator)
(nat %token_id)))
unit)
(bool %paused))))
(pair
(pair (bool %require_verified_to_mint)
(pair
(big_map %signed_co_creatorship
(pair (address %cocreator) (nat %token_id))
unit)
(nat %token_counter)))
(pair
(big_map %token_extra_data nat
(pair
(pair
(pair
(bool %contracts_may_hold_token)
(map %extra_fields
string
bytes))
(pair
(list %infusions (pair
(address %token_address)
(list %token_id_amounts (pair
(nat %amount)
(nat %token_id)))))
(nat %max_per_address)))
(pair
(pair
(address %minter)
(option %no_transfers_until timestamp))
(pair
(bool %req_verified_to_own)
(pair
(nat %royalty)
(list %splits (pair
(address %address)
(nat %pct))))))))
(pair
(big_map %token_metadata nat
(pair (nat %token_id)
(map %token_info
string
bytes)))
(big_map %total_supply nat nat)))))))
(pair (list operation)
(pair
(pair
(pair
(pair
(lambda %admin_check_lambda
(pair
(pair (address %address)
(option %permission string))
(pair (address %self_address)
(address %self_admin)))
bool)
(pair (address %administrator)
(set %all_tokens nat)))
(pair (address %contract_registry)
(pair
(bool %contracts_may_hold_tokens_global)
(big_map %extra_db bytes bytes))))
(pair
(pair (set %genesis_minters address)
(pair (timestamp %genesis_timeout)
(address %identity)))
(pair (big_map %ledger (pair address nat) nat)
(pair (address %market)
(address %materia_address)))))
(pair
(pair
(pair (big_map %metadata string bytes)
(pair (nat %mint_materia_cost)
(big_map %mint_slots nat address)))
(pair (bool %minting_paused)
(pair
(big_map %operators
(pair (address %owner)
(pair (address %operator)
(nat %token_id)))
unit)
(bool %paused))))
(pair
(pair (bool %require_verified_to_mint)
(pair
(big_map %signed_co_creatorship
(pair (address %cocreator)
(nat %token_id))
unit)
(nat %token_counter)))
(pair
(big_map %token_extra_data nat
(pair
(pair
(pair
(bool %contracts_may_hold_token)
(map %extra_fields
string
bytes))
(pair
(list %infusions (pair
(address %token_address)
(list %token_id_amounts (pair
(nat %amount)
(nat %token_id)))))
(nat %max_per_address)))
(pair
(pair
(address %minter)
(option %no_transfers_until timestamp))
(pair
(bool %req_verified_to_own)
(pair
(nat %royalty)
(list %splits (pair
(address %address)
(nat %pct))))))))
(pair
(big_map %token_metadata nat
(pair
(nat %token_id)
(map %token_info
string
bytes)))
(big_map %total_supply nat nat))))))))))))) ;
storage (pair
(pair
(pair
(pair
(pair
(lambda %admin_check_lambda
(pair (pair (address %address) (option %permission string))
(pair (address %self_address) (address %self_admin)))
bool)
(pair (address %administrator) (set %all_tokens nat)))
(pair (address %contract_registry)
(pair (bool %contracts_may_hold_tokens_global)
(big_map %extra_db bytes bytes))))
(pair
(pair (set %genesis_minters address)
(pair (timestamp %genesis_timeout) (address %identity)))
(pair (big_map %ledger (pair address nat) nat)
(pair (address %market) (address %materia_address)))))
(pair
(pair
(pair (big_map %metadata string bytes)
(pair (nat %mint_materia_cost) (big_map %mint_slots nat address)))
(pair (bool %minting_paused)
(pair
(big_map %operators
(pair (address %owner)
(pair (address %operator) (nat %token_id)))
unit)
(bool %paused))))
(pair
(pair (bool %require_verified_to_mint)
(pair
(big_map %signed_co_creatorship
(pair (address %cocreator) (nat %token_id))
unit)
(nat %token_counter)))
(pair
(big_map %token_extra_data nat
(pair
(pair
(pair
(bool %contracts_may_hold_token)
(map %extra_fields string bytes))
(pair
(list %infusions (pair
(address %token_address)
(list %token_id_amounts (pair
(nat %amount)
(nat %token_id)))))
(nat %max_per_address)))
(pair
(pair (address %minter)
(option %no_transfers_until timestamp))
(pair (bool %req_verified_to_own)
(pair (nat %royalty)
(list %splits (pair
(address %address)
(nat %pct))))))))
(pair
(big_map %token_metadata nat
(pair (nat %token_id)
(map %token_info string bytes)))
(big_map %total_supply nat nat))))))
(big_map nat
(lambda
(pair
(or
(or
(or (or (pair bytes address) (or address bool))
(or address (or address address)))
(or (or nat (or bool bool))
(or
(or (pair address nat)
(pair bool (list (pair bool (pair address nat)))))
(or (pair nat nat) nat))))
(or
(or (or nat (or bytes (pair nat nat)))
(or
(pair (pair address bytes)
(pair (list (pair nat nat)) address))
(or
(pair
(pair
(pair nat
(list (pair address (list (pair nat nat)))))
(pair nat (map string bytes)))
(pair (pair (option timestamp) bool)
(pair nat (list (pair address nat)))))
(pair address
(pair address
(pair nat (pair (pair address nat) nat)))))))
(or
(or (pair address (pair address nat))
(or nat
(list (pair address
(list (pair address (pair nat nat)))))))
(or (or nat (pair bytes bytes))
(or
(list (or (pair address (pair address nat))
(pair address (pair address nat))))
(pair (map string bytes) nat))))))
(pair
(pair
(pair
(pair
(lambda
(pair (pair address (option string))
(pair address address))
bool)
(pair address (set nat)))
(pair address (pair bool (big_map bytes bytes))))
(pair (pair (set address) (pair timestamp address))
(pair (big_map (pair address nat) nat)
(pair address address))))
(pair
(pair
(pair (big_map string bytes)
(pair nat (big_map nat address)))
(pair bool
(pair
(big_map (pair address (pair address nat)) unit)
bool)))
(pair
(pair bool (pair (big_map (pair address nat) unit) nat))
(pair
(big_map nat
(pair
(pair (pair bool (map string bytes))
(pair
(list (pair address
(list (pair nat nat))))
nat))
(pair (pair address (option timestamp))
(pair bool
(pair nat
(list (pair address nat)))))))
(pair (big_map nat (pair nat (map string bytes)))
(big_map nat nat)))))))
(pair (list operation)
(pair
(pair
(pair
(pair
(lambda
(pair (pair address (option string))
(pair address address))
bool)
(pair address (set nat)))
(pair address (pair bool (big_map bytes bytes))))
(pair (pair (set address) (pair timestamp address))
(pair (big_map (pair address nat) nat)
(pair address address))))
(pair
(pair
(pair (big_map string bytes)
(pair nat (big_map nat address)))
(pair bool
(pair
(big_map (pair address (pair address nat))
unit)
bool)))
(pair
(pair bool
(pair (big_map (pair address nat) unit) nat))
(pair
(big_map nat
(pair
(pair (pair bool (map string bytes))
(pair
(list (pair address
(list (pair nat nat))))
nat))
(pair (pair address (option timestamp))
(pair bool
(pair nat
(list (pair address nat)))))))
(pair (big_map nat (pair nat (map string bytes)))
(big_map nat nat)))))))))) ;
code { CAST (pair
(or
(or
(or
(or (or (pair bytes address) (or address bool))
(or address (or address address)))
(or (or nat (or bool bool))
(or
(or (pair address nat)
(pair bool (list (pair bool (pair address nat)))))
(or (pair nat nat) nat))))
(or
(or (or nat (or bytes (pair nat nat)))
(or
(pair (pair address bytes)
(pair (list (pair nat nat)) address))
(or
(pair
(pair
(pair nat (list (pair address (list (pair nat nat)))))
(pair nat (map string bytes)))
(pair (pair (option timestamp) bool)
(pair nat (list (pair address nat)))))
(pair address
(pair address
(pair nat (pair (pair address nat) nat)))))))
(or
(or (pair address (pair address nat))
(or nat
(list (pair address (list (pair address (pair nat nat)))))))
(or (or nat (pair bytes bytes))
(or
(list (or (pair address (pair address nat))
(pair address (pair address nat))))
(pair (map string bytes) nat))))))
(or
(or
(pair (list (pair address nat))
(contract (list (pair (pair address nat) nat))))
(or (pair mutez address) address))
(or (pair string bytes)
(or bool
(pair
(or (or (or unit unit) (or unit unit))
(or (or unit unit) (or unit unit)))
(lambda
(pair
(or
(or
(or (or (pair bytes address) (or address bool))
(or address (or address address)))
(or (or nat (or bool bool))
(or
(or (pair address nat)
(pair bool
(list (pair bool (pair address nat)))))
(or (pair nat nat) nat))))
(or
(or (or nat (or bytes (pair nat nat)))
(or
(pair (pair address bytes)
(pair (list (pair nat nat)) address))
(or
(pair
(pair
(pair nat
(list (pair address
(list (pair nat nat)))))
(pair nat (map string bytes)))
(pair (pair (option timestamp) bool)
(pair nat
(list (pair address nat)))))
(pair address
(pair address
(pair nat
(pair (pair address nat)
nat)))))))
(or
(or (pair address (pair address nat))
(or nat
(list (pair address
(list (pair address
(pair nat nat)))))))
(or (or nat (pair bytes bytes))
(or
(list (or (pair address (pair address nat))
(pair address (pair address nat))))
(pair (map string bytes) nat))))))
(pair
(pair
(pair
(pair
(lambda
(pair (pair address (option string))
(pair address address))
bool)
(pair address (set nat)))
(pair address (pair bool (big_map bytes bytes))))
(pair
(pair (set address) (pair timestamp address))
(pair (big_map (pair address nat) nat)
(pair address address))))
(pair
(pair
(pair (big_map string bytes)
(pair nat (big_map nat address)))
(pair bool
(pair
(big_map
(pair address (pair address nat))
unit)
bool)))
(pair
(pair bool
(pair (big_map (pair address nat) unit)
nat))
(pair
(big_map nat
(pair
(pair
(pair bool (map string bytes))
(pair
(list (pair address
(list (pair nat nat))))
nat))
(pair
(pair address (option timestamp))
(pair bool
(pair nat
(list (pair address
nat)))))))
(pair
(big_map nat (pair nat (map string bytes)))
(big_map nat nat)))))))
(pair (list operation)
(pair
(pair
(pair
(pair
(lambda
(pair (pair address (option string))
(pair address address))
bool)
(pair address (set nat)))
(pair address
(pair bool (big_map bytes bytes))))
(pair
(pair (set address) (pair timestamp address))
(pair (big_map (pair address nat) nat)
(pair address address))))
(pair
(pair
(pair (big_map string bytes)
(pair nat (big_map nat address)))
(pair bool
(pair
(big_map
(pair address (pair address nat))
unit)
bool)))
(pair
(pair bool
(pair
(big_map (pair address nat) unit)
nat))
(pair
(big_map nat
(pair
(pair
(pair bool (map string bytes))
(pair
(list (pair address
(list (pair nat
nat))))
nat))
(pair
(pair address
(option timestamp))
(pair bool
(pair nat
(list (pair
address
nat)))))))
(pair
(big_map nat
(pair nat (map string bytes)))
(big_map nat nat)))))))))))))
(pair
(pair
(pair
(pair
(pair
(lambda
(pair (pair address (option string)) (pair address address))
bool)
(pair address (set nat)))
(pair address (pair bool (big_map bytes bytes))))
(pair (pair (set address) (pair timestamp address))
(pair (big_map (pair address nat) nat)
(pair address address))))
(pair
(pair
(pair (big_map string bytes) (pair nat (big_map nat address)))
(pair bool
(pair (big_map (pair address (pair address nat)) unit)
bool)))
(pair (pair bool (pair (big_map (pair address nat) unit) nat))
(pair
(big_map nat
(pair
(pair (pair bool (map string bytes))
(pair
(list (pair address
(list (pair nat nat))))
nat))
(pair (pair address (option timestamp))
(pair bool
(pair nat (list (pair address nat)))))))
(pair (big_map nat (pair nat (map string bytes)))
(big_map nat nat))))))
(big_map nat
(lambda
(pair
(or
(or
(or (or (pair bytes address) (or address bool))
(or address (or address address)))
(or (or nat (or bool bool))
(or
(or (pair address nat)
(pair bool
(list (pair bool (pair address nat)))))
(or (pair nat nat) nat))))
(or
(or (or nat (or bytes (pair nat nat)))
(or
(pair (pair address bytes)
(pair (list (pair nat nat)) address))
(or
(pair
(pair
(pair nat
(list (pair address
(list (pair nat nat)))))
(pair nat (map string bytes)))
(pair (pair (option timestamp) bool)
(pair nat (list (pair address nat)))))
(pair address
(pair address
(pair nat
(pair (pair address nat)
nat)))))))
(or
(or (pair address (pair address nat))
(or nat
(list (pair address
(list (pair address
(pair nat nat)))))))
(or (or nat (pair bytes bytes))
(or
(list (or (pair address (pair address nat))
(pair address (pair address nat))))
(pair (map string bytes) nat))))))
(pair
(pair
(pair
(pair
(lambda
(pair (pair address (option string))
(pair address address))
bool)
(pair address (set nat)))
(pair address (pair bool (big_map bytes bytes))))
(pair (pair (set address) (pair timestamp address))
(pair (big_map (pair address nat) nat)
(pair address address))))
(pair
(pair
(pair (big_map string bytes)
(pair nat (big_map nat address)))
(pair bool
(pair
(big_map (pair address (pair address nat))
unit)
bool)))
(pair
(pair bool
(pair (big_map (pair address nat) unit) nat))
(pair
(big_map nat
(pair
(pair (pair bool (map string bytes))
(pair
(list (pair address
(list (pair nat nat))))
nat))
(pair
(pair address (option timestamp))
(pair bool
(pair nat
(list (pair address nat)))))))
(pair (big_map nat (pair nat (map string bytes)))
(big_map nat nat)))))))
(pair (list operation)
(pair
(pair
(pair
(pair
(lambda
(pair (pair address (option string))
(pair address address))
bool)
(pair address (set nat)))
(pair address (pair bool (big_map bytes bytes))))
(pair
(pair (set address) (pair timestamp address))
(pair (big_map (pair address nat) nat)
(pair address address))))
(pair
(pair
(pair (big_map string bytes)
(pair nat (big_map nat address)))
(pair bool
(pair
(big_map
(pair address (pair address nat))
unit)
bool)))
(pair
(pair bool
(pair (big_map (pair address nat) unit)
nat))
(pair
(big_map nat
(pair
(pair
(pair bool (map string bytes))
(pair
(list (pair address
(list (pair nat nat))))
nat))
(pair
(pair address (option timestamp))
(pair bool
(pair nat
(list (pair address
nat)))))))
(pair
(big_map nat (pair nat (map string bytes)))
(big_map nat nat))))))))))) ;
UNPAIR 3 ;
IF_LEFT
{ DUP ;
IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ DROP ; PUSH nat 0 }
{ IF_LEFT { DROP ; PUSH nat 1 } { DROP ; PUSH nat 2 } } }
{ IF_LEFT
{ DROP ; PUSH nat 3 }
{ IF_LEFT { DROP ; PUSH nat 4 } { DROP ; PUSH nat 5 } } } }
{ IF_LEFT
{ IF_LEFT
{ DROP ; PUSH nat 6 }
{ IF_LEFT { DROP ; PUSH nat 7 } { DROP ; PUSH nat 8 } } }
{ IF_LEFT
{ IF_LEFT { DROP ; PUSH nat 9 } { DROP ; PUSH nat 10 } }
{ IF_LEFT { DROP ; PUSH nat 11 } { DROP ; PUSH nat 12 } } } } }
{ IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ DROP ; PUSH nat 13 }
{ IF_LEFT { DROP ; PUSH nat 14 } { DROP ; PUSH nat 15 } } }
{ IF_LEFT
{ DROP ; PUSH nat 16 }
{ IF_LEFT { DROP ; PUSH nat 17 } { DROP ; PUSH nat 18 } } } }
{ IF_LEFT
{ IF_LEFT
{ DROP ; PUSH nat 19 }
{ IF_LEFT { DROP ; PUSH nat 20 } { DROP ; PUSH nat 21 } } }
{ IF_LEFT
{ IF_LEFT { DROP ; PUSH nat 22 } { DROP ; PUSH nat 23 } }
{ IF_LEFT { DROP ; PUSH nat 24 } { DROP ; PUSH nat 25 } } } } } ;
DUP 4 ;
SWAP ;
GET ;
IF_NONE { PUSH int -1 ; FAILWITH } {} ;
DUG 2 ;
PAIR ;
EXEC ;
UNPAIR }
{ IF_LEFT
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
GET 3 ;
GET 6 ;
IF { PUSH string "FA2_PAUSED" ; FAILWITH } {} ;
DUP ;
CAR ;
MAP { DUP 3 ;
GET 9 ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
MEM ;
IF {} { PUSH string "FA2_TOKEN_UNDEFINED" ; FAILWITH } ;
DUP 3 ;
CAR ;
GET 5 ;
SWAP ;
DUP ;
CDR ;
SWAP ;
DUP ;
DUG 3 ;
CAR ;
PAIR ;
MEM ;
IF
{ DUP 3 ;
CAR ;
GET 5 ;
SWAP ;
DUP ;
CDR ;
SWAP ;
DUP ;
DUG 3 ;
CAR ;
PAIR ;
GET ;
IF_NONE { PUSH int 421 ; FAILWITH } {} ;
SWAP ;
PAIR }
{ PUSH nat 0 ; SWAP ; PAIR } } ;
NIL operation ;
DIG 2 ;
CDR ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS }
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
CAR ;
GET 3 ;
SENDER ;
COMPARE ;
EQ ;
IF {} { PUSH int 325 ; FAILWITH } ;
DUP ;
CDR ;
CONTRACT unit ;
IF_NONE { PUSH int 328 ; FAILWITH } {} ;
NIL operation ;
SWAP ;
DIG 2 ;
CAR ;
UNIT ;
TRANSFER_TOKENS ;
CONS }
{ SWAP ;
DUP ;
CAR ;
CAR ;
CAR ;
CAR ;
SWAP ;
DUP ;
DUG 3 ;
CAR ;
CAR ;
CAR ;
GET 3 ;
SELF_ADDRESS ;
PAIR ;
NONE string ;
SENDER ;
PAIR ;
PAIR ;
EXEC ;
IF {} { PUSH string "FA2_NOT_ADMIN" ; FAILWITH } ;
SWAP ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
CDR ;
DIG 5 ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
NIL operation } } }
{ IF_LEFT
{ SWAP ;
DUP ;
CAR ;
CAR ;
CAR ;
CAR ;
SWAP ;
DUP ;
DUG 3 ;
CAR ;
CAR ;
CAR ;
GET 3 ;
SELF_ADDRESS ;
PAIR ;
NONE string ;
SENDER ;
PAIR ;
PAIR ;
EXEC ;
IF {} { PUSH string "FA2_NOT_ADMIN" ; FAILWITH } ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
DUP 6 ;
CDR ;
SOME ;
DIG 6 ;
CAR ;
UPDATE ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PAIR }
{ IF_LEFT
{ SWAP ;
DUP ;
CAR ;
CAR ;
CAR ;
CAR ;
SWAP ;
DUP ;
DUG 3 ;
CAR ;
CAR ;
CAR ;
GET 3 ;
SELF_ADDRESS ;
PAIR ;
NONE string ;
SENDER ;
PAIR ;
PAIR ;
EXEC ;
IF {} { PUSH string "FA2_NOT_ADMIN" ; FAILWITH } ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
CAR ;
DIG 5 ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR }
{ SWAP ;
DUP ;
CAR ;
CAR ;
CAR ;
CAR ;
SWAP ;
DUP ;
DUG 3 ;
CAR ;
CAR ;
CAR ;
GET 3 ;
SELF_ADDRESS ;
PAIR ;
PUSH (option string) (Some "update_code") ;
SENDER ;
PAIR ;
PAIR ;
EXEC ;
IF {} { PUSH int 598 ; FAILWITH } ;
DUP ;
CAR ;
IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ DROP ; DIG 2 ; SWAP ; CDR ; SOME ; PUSH nat 0 ; UPDATE ; SWAP }
{ DROP ; DIG 2 ; SWAP ; CDR ; SOME ; PUSH nat 14 ; UPDATE ; SWAP } }
{ IF_LEFT
{ DROP ; DIG 2 ; SWAP ; CDR ; SOME ; PUSH nat 16 ; UPDATE ; SWAP }
{ DROP ; DIG 2 ; SWAP ; CDR ; SOME ; PUSH nat 17 ; UPDATE ; SWAP } } }
{ IF_LEFT
{ IF_LEFT
{ DROP ; DIG 2 ; SWAP ; CDR ; SOME ; PUSH nat 18 ; UPDATE ; SWAP }
{ DROP ; DIG 2 ; SWAP ; CDR ; SOME ; PUSH nat 19 ; UPDATE ; SWAP } }
{ IF_LEFT
{ DROP ; DIG 2 ; SWAP ; CDR ; SOME ; PUSH nat 21 ; UPDATE ; SWAP }
{ DROP ; DIG 2 ; SWAP ; CDR ; SOME ; PUSH nat 24 ; UPDATE ; SWAP } } } } } ;
NIL operation } } ;
NIL operation ;
SWAP ;
ITER { CONS } ;
DUG 2 ;
PAIR ;
SWAP ;
PAIR } ;
view "all_tokens" unit (list nat)
{ GET 3 ; CAR ; CAR ; CAR ; GET 4 ; NIL nat ; SWAP ; ITER { CONS } ; NIL nat ; SWAP ; ITER { CONS } } ;
view "count_tokens" unit nat { GET 3 ; CAR ; CAR ; CAR ; GET 4 ; SIZE } ;
view "does_token_exist" nat bool
{ UNPAIR 3 ; DIG 2 ; DROP ; SWAP ; GET 9 ; SWAP ; MEM } ;
view "get_balance" (pair (address %owner) (nat %token_id)) nat
{ UNPAIR 3 ;
DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
GET 9 ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
MEM ;
IF {} { PUSH string "FA2_TOKEN_UNDEFINED" ; FAILWITH } ;
SWAP ;
CAR ;
GET 5 ;
SWAP ;
GET ;
IF_NONE { PUSH int 502 ; FAILWITH } {} } ;
view "infusions" nat
(list (pair (address %token_address)
(list %token_id_amounts (pair (nat %amount) (nat %token_id)))))
{ UNPAIR 3 ;
DIG 2 ;
DROP ;
SWAP ;
GET 7 ;
SWAP ;
GET ;
IF_NONE { PUSH int 3161 ; FAILWITH } {} ;
CAR ;
GET 3 } ;
view "is_operator" (pair (address %owner) (pair (address %operator) (nat %token_id)))
bool
{ UNPAIR 3 ; DIG 2 ; DROP ; SWAP ; GET 3 ; GET 5 ; SWAP ; DUP ; GET 4 ; SWAP ; DUP ; GET 3 ; SWAP ; CAR ; PAIR 3 ; MEM } ;
view "minter" nat address
{ UNPAIR 3 ;
DIG 2 ;
DROP ;
SWAP ;
GET 7 ;
SWAP ;
GET ;
IF_NONE { PUSH int 3149 ; FAILWITH } {} ;
GET 3 ;
CAR } ;
view "next_token_id" unit nat { GET 3 ; GET 5 ; GET 4 } ;
view "query_extra_db" bytes (option bytes)
{ UNPAIR 3 ;
DIG 2 ;
DROP ;
NONE bytes ;
DUP 3 ;
CAR ;
CAR ;
GET 6 ;
DUP 3 ;
MEM ;
IF
{ DROP ; SWAP ; CAR ; CAR ; GET 6 ; SWAP ; GET ; IF_NONE { PUSH int 489 ; FAILWITH } {} ; SOME }
{ SWAP ; DROP ; SWAP ; DROP } } ;
view "royalty" nat nat
{ UNPAIR 3 ;
DIG 2 ;
DROP ;
SWAP ;
GET 7 ;
SWAP ;
GET ;
IF_NONE { PUSH int 3155 ; FAILWITH } {} ;
GET 7 } ;
view "splits" nat (list (pair (address %address) (nat %pct)))
{ UNPAIR 3 ;
DIG 2 ;
DROP ;
SWAP ;
GET 7 ;
SWAP ;
GET ;
IF_NONE { PUSH int 3143 ; FAILWITH } {} ;
GET 8 } ;
view "total_supply" nat nat
{ UNPAIR 3 ; DIG 2 ; DROP ; SWAP ; GET 10 ; SWAP ; GET ; IF_NONE { PUSH int 527 ; FAILWITH } {} } }