x
563
1245
parameter (or
(or
(or
(or (list %addToWhitelist (pair address bool))
(pair %burnFromCrowdsale (nat %token_id) (address %from_)))
(or (pair %mintFromCrowdsale (address %to_) (nat %token_count))
(list %removeFromWhitelist address)))
(or (or (map %setDefaultMetadata string bytes) (address %setDogaAddress))
(or
(pair %setMintParams (bool %is_private_sale)
(pair (nat %mint_price)
(pair (string %currency)
(pair (nat %next_token_id)
(pair (nat %total_supply)
(pair
(nat %max_mint_per_address)
(pair
(nat %token_per_pack)
(pair
(timestamp %start_time)
(timestamp %end_time)))))))))
(unit %setMintPerAddress))))
(or
(or (or (address %setMultisigContract) (map %setNameList nat bytes))
(or (address %setNftAddress) (bool %setPause)))
(address %setReserveAddress)));
storage (pair (bool %paused)
(pair (address %multisig)
(pair (address %nft_address)
(pair (address %doga_address)
(pair (address %reserve_address)
(pair (bool %is_private_sale)
(pair (nat %mint_price)
(pair (nat %total_supply)
(pair
(big_map %mint_per_address
address
nat)
(pair
(nat %max_mint_per_address)
(pair
(timestamp %start_time)
(pair
(timestamp %end_time)
(pair
(nat %next_token_id)
(pair
(big_map %name_list
nat
bytes)
(pair
(big_map %whitelist
address
bool)
(pair
(nat %token_per_pack)
(pair
(map %default_metadata
string
bytes)
(string %currency))))))))))))))))));
code { UNPAIR ;
IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ DUP 2 ;
GET 3 ;
SENDER ;
COMPARE ;
NEQ ;
IF
{ SELF_ADDRESS ;
DUP 3 ;
DIG 3 ;
GET 3 ;
CONTRACT %callMultisig (pair
(pair %entrypoint_signature
(string %name)
(pair (bytes %params)
(address %source_contract)))
(lambda %callback unit
(list operation))) ;
IF_NONE
{ SWAP ;
DIG 2 ;
DROP 2 ;
PUSH string "no call entrypoint" ;
FAILWITH }
{ DUP 4 ;
PACK ;
SHA256 ;
SELF_ADDRESS ;
SWAP ;
PUSH string "addToWhitelist" ;
PAIR 3 ;
SWAP ;
PUSH mutez 0 ;
LAMBDA
(pair (pair address (list (pair address bool))) unit)
(list operation)
{ UNPAIR ;
UNPAIR ;
DIG 2 ;
DROP ;
CONTRACT %addToWhitelist (list (pair address bool)) ;
IF_NONE
{ DROP ;
PUSH string "no addToWhitelist entrypoint" ;
FAILWITH }
{ NIL operation ;
SWAP ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS } } ;
DUP 7 ;
DUP 7 ;
PAIR ;
APPLY ;
DIG 5 ;
DIG 6 ;
DROP 2 ;
DIG 3 ;
PAIR ;
TRANSFER_TOKENS ;
NIL operation ;
SWAP ;
CONS } }
{ DUP 2 ;
GET 29 ;
SWAP ;
ITER { SWAP ; DUP 2 ; CDR ; SOME ; DIG 2 ; CAR ; UPDATE } ;
UPDATE 29 ;
NIL operation } ;
PAIR }
{ DUP 2 ;
GET 3 ;
SENDER ;
COMPARE ;
NEQ ;
IF
{ SELF_ADDRESS ;
DUP 3 ;
DIG 3 ;
GET 3 ;
CONTRACT %callMultisig (pair
(pair %entrypoint_signature
(string %name)
(pair (bytes %params)
(address %source_contract)))
(lambda %callback unit
(list operation))) ;
IF_NONE
{ SWAP ;
DIG 2 ;
DROP 2 ;
PUSH string "no call entrypoint" ;
FAILWITH }
{ DUP 4 ;
PACK ;
SHA256 ;
SELF_ADDRESS ;
SWAP ;
PUSH string "burnFromCrowdsale" ;
PAIR 3 ;
SWAP ;
PUSH mutez 0 ;
LAMBDA
(pair (pair address (pair nat address)) unit)
(list operation)
{ UNPAIR ;
UNPAIR ;
DIG 2 ;
DROP ;
CONTRACT %burnFromCrowdsale (pair (nat %token_id)
(address %from_)) ;
IF_NONE
{ DROP ;
PUSH string "no burnFromCrowdsale entrypoint" ;
FAILWITH }
{ NIL operation ;
SWAP ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS } } ;
DUP 7 ;
DUP 7 ;
PAIR ;
APPLY ;
DIG 5 ;
DIG 6 ;
DROP 2 ;
DIG 3 ;
PAIR ;
TRANSFER_TOKENS ;
NIL operation ;
SWAP ;
CONS } ;
PAIR }
{ PUSH bool True ;
DUP 3 ;
CAR ;
COMPARE ;
EQ ;
IF
{ DROP 2 ; PUSH string "Contract in pause" ; FAILWITH }
{ DUP 2 ;
GET 5 ;
CONTRACT %burn (pair (nat %token_id) (address %from_)) ;
IF_NONE
{ DROP ;
PUSH string "NFT contract must have a burn entrypoint" ;
FAILWITH }
{ PUSH mutez 0 ; DIG 2 ; TRANSFER_TOKENS } ;
SWAP ;
NIL operation ;
DIG 2 ;
CONS ;
PAIR } } } }
{ IF_LEFT
{ PUSH nat 1 ;
DUP 2 ;
CDR ;
COMPARE ;
LT ;
IF
{ DROP 2 ;
PUSH string "Value should be higher than zero" ;
FAILWITH }
{ PUSH bool True ;
DUP 3 ;
CAR ;
COMPARE ;
EQ ;
IF
{ DROP 2 ; PUSH string "Contract in pause" ; FAILWITH }
{ DUP 2 ;
GET 23 ;
NOW ;
COMPARE ;
GE ;
DUP 3 ;
GET 21 ;
NOW ;
COMPARE ;
LT ;
OR ;
IF
{ DROP 2 ;
PUSH string "Mint period is not open" ;
FAILWITH }
{ DUP 2 ;
GET 11 ;
IF
{ DUP 2 ;
GET 29 ;
DUP 2 ;
CAR ;
GET ;
IF_NONE
{ PUSH string "Address is not whitelisted" ;
FAILWITH }
{ DROP } }
{} ;
DUP ;
CDR ;
PUSH nat 0 ;
DUP 4 ;
GET 31 ;
COMPARE ;
NEQ ;
IF
{ PUSH nat 0 ;
DUP 4 ;
GET 31 ;
DUP 3 ;
EDIV ;
IF_NONE
{ PUSH string "MOD by 0" ; FAILWITH }
{} ;
CDR ;
COMPARE ;
NEQ ;
IF
{ DROP ;
PUSH string "Invalid number of tokens" ;
FAILWITH }
{ DUP 3 ;
GET 31 ;
DUP 4 ;
GET 13 ;
DIG 2 ;
MUL ;
EDIV ;
IF_NONE
{ PUSH string "DIV by 0" ; FAILWITH }
{} ;
CAR } }
{ DUP 3 ; GET 13 ; SWAP ; MUL } ;
PUSH string "XTZ" ;
DUP 4 ;
GET 34 ;
COMPARE ;
EQ ;
IF
{ PUSH mutez 1 ;
DUP 2 ;
MUL ;
AMOUNT ;
COMPARE ;
NEQ ;
IF
{ DROP ; PUSH string "Invalid amount" ; FAILWITH }
{ NIL operation ;
PUSH mutez 1 ;
DIG 2 ;
MUL ;
DUP 4 ;
GET 9 ;
CONTRACT unit ;
IF_NONE
{ DROP ;
PUSH string "Invalid to address" ;
FAILWITH }
{ SWAP ; UNIT ; TRANSFER_TOKENS } ;
CONS } }
{ NIL operation ;
SWAP ;
DUP 4 ;
GET 9 ;
SENDER ;
DUP 6 ;
GET 7 ;
PAIR 4 ;
UNPAIR 4 ;
CONTRACT %transfer (pair (address %from)
(pair (address %to)
(nat %value))) ;
IF_NONE
{ PUSH string "FA1.2 contract must have a transfer entrypoint" ;
FAILWITH }
{} ;
PUSH mutez 0 ;
DIG 4 ;
DIG 4 ;
DIG 4 ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS } ;
DUP 3 ;
SWAP ;
PAIR ;
DUP 2 ;
CDR ;
PAIR ;
LEFT (pair (list operation)
(pair bool
(pair address
(pair address
(pair address
(pair address
(pair bool
(pair
nat
(pair
nat
(pair
(big_map
address
nat)
(pair
nat
(pair
timestamp
(pair
timestamp
(pair
nat
(pair
(big_map
nat
bytes)
(pair
(big_map
address
bool)
(pair
nat
(pair
(map
string
bytes)
string)))))))))))))))))) ;
LOOP_LEFT { UNPAIR ;
PUSH nat 1 ;
DUP 2 ;
COMPARE ;
LT ;
IF
{ DROP ;
RIGHT (pair nat
(pair (list operation)
(pair bool
(pair address
(pair
address
(pair
address
(pair
address
(pair
bool
(pair
nat
(pair
nat
(pair
(big_map
address
nat)
(pair
nat
(pair
timestamp
(pair
timestamp
(pair
nat
(pair
(big_map
nat
bytes)
(pair
(big_map
address
bool)
(pair
nat
(pair
(map
string
bytes)
string))))))))))))))))))) }
{ DUP 4 ;
GET 15 ;
DUP 3 ;
CDR ;
GET 25 ;
COMPARE ;
GT ;
IF
{ DROP 2 ;
PUSH string "Total supply reached" ;
FAILWITH }
{ DUP 2 ;
CDR ;
GET 17 ;
DUP 4 ;
CAR ;
GET ;
IF_NONE
{ PUSH nat 0 }
{ DUP 5 ;
GET 19 ;
DUP 2 ;
COMPARE ;
GE ;
IF
{ DROP ;
PUSH string "Max mint per address reached" ;
FAILWITH }
{} } ;
DUP 3 ;
CDR ;
GET 5 ;
CONTRACT %mint (pair
(pair
(address %to_)
(nat %token_id))
(map %token_info
string
bytes)) ;
IF_NONE
{ PUSH string "NFT contract must have a mint entrypoint" ;
FAILWITH }
{ PUSH mutez 0 ;
DUP 5 ;
CDR ;
DUP ;
GET 33 ;
DUP 2 ;
GET 27 ;
DIG 2 ;
GET 25 ;
GET ;
IF_NONE
{ PUSH bytes 0x446f67616d69 }
{} ;
SOME ;
PUSH string "name" ;
UPDATE ;
DUP 6 ;
CDR ;
GET 25 ;
DUP 8 ;
CAR ;
PAIR ;
PAIR ;
TRANSFER_TOKENS } ;
DUP 4 ;
CDR ;
GET 17 ;
PUSH nat 1 ;
DIG 3 ;
ADD ;
SOME ;
DUP 6 ;
CAR ;
PAIR 3 ;
PUSH nat 1 ;
DUP 5 ;
CDR ;
GET 25 ;
ADD ;
PUSH nat 1 ;
DIG 4 ;
SUB ;
ISNAT ;
IF_NONE
{ DROP 4 ;
PUSH string "Invalid nat value" ;
FAILWITH }
{ DUP 5 ;
CDR ;
DUP 6 ;
CDR ;
GET 27 ;
NONE bytes ;
DUP 8 ;
CDR ;
GET 25 ;
UPDATE ;
UPDATE 27 ;
DIG 2 ;
UPDATE 25 ;
DIG 2 ;
UNPAIR 3 ;
UPDATE ;
UPDATE 17 ;
DIG 3 ;
CAR ;
DIG 3 ;
CONS ;
PAIR ;
SWAP ;
PAIR ;
LEFT (pair (list operation)
(pair bool
(pair
address
(pair
address
(pair
address
(pair
address
(pair
bool
(pair
nat
(pair
nat
(pair
(big_map
address
nat)
(pair
nat
(pair
timestamp
(pair
timestamp
(pair
nat
(pair
(big_map
nat
bytes)
(pair
(big_map
address
bool)
(pair
nat
(pair
(map
string
bytes)
string)))))))))))))))))) } } } } ;
SWAP ;
DIG 2 ;
DROP 2 } } } }
{ DUP 2 ;
GET 3 ;
SENDER ;
COMPARE ;
NEQ ;
IF
{ SELF_ADDRESS ;
DUP 3 ;
DIG 3 ;
GET 3 ;
CONTRACT %callMultisig (pair
(pair %entrypoint_signature
(string %name)
(pair (bytes %params)
(address %source_contract)))
(lambda %callback unit
(list operation))) ;
IF_NONE
{ SWAP ;
DIG 2 ;
DROP 2 ;
PUSH string "no call entrypoint" ;
FAILWITH }
{ DUP 4 ;
PACK ;
SHA256 ;
SELF_ADDRESS ;
SWAP ;
PUSH string "removeFromWhitelist" ;
PAIR 3 ;
SWAP ;
PUSH mutez 0 ;
LAMBDA
(pair (pair address (list address)) unit)
(list operation)
{ UNPAIR ;
UNPAIR ;
DIG 2 ;
DROP ;
CONTRACT %removeFromWhitelist (list address) ;
IF_NONE
{ DROP ;
PUSH string "no removeFromWhitelist entrypoint" ;
FAILWITH }
{ NIL operation ;
SWAP ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS } } ;
DUP 7 ;
DUP 7 ;
PAIR ;
APPLY ;
DIG 5 ;
DIG 6 ;
DROP 2 ;
DIG 3 ;
PAIR ;
TRANSFER_TOKENS ;
NIL operation ;
SWAP ;
CONS } }
{ DUP 2 ;
GET 29 ;
SWAP ;
ITER { SWAP ; NONE bool ; DIG 2 ; UPDATE } ;
UPDATE 29 ;
NIL operation } ;
PAIR } } }
{ IF_LEFT
{ IF_LEFT
{ DUP 2 ;
GET 3 ;
SENDER ;
COMPARE ;
NEQ ;
IF
{ SELF_ADDRESS ;
DUP 3 ;
DIG 3 ;
GET 3 ;
CONTRACT %callMultisig (pair
(pair %entrypoint_signature
(string %name)
(pair (bytes %params)
(address %source_contract)))
(lambda %callback unit
(list operation))) ;
IF_NONE
{ SWAP ;
DIG 2 ;
DROP 2 ;
PUSH string "no call entrypoint" ;
FAILWITH }
{ DUP 4 ;
PACK ;
SHA256 ;
SELF_ADDRESS ;
SWAP ;
PUSH string "setDefaultMetadata" ;
PAIR 3 ;
SWAP ;
PUSH mutez 0 ;
LAMBDA
(pair (pair address (map string bytes)) unit)
(list operation)
{ UNPAIR ;
UNPAIR ;
DIG 2 ;
DROP ;
CONTRACT %setDefaultMetadata (map string bytes) ;
IF_NONE
{ DROP ;
PUSH string "no setDefaultMetadata entrypoint" ;
FAILWITH }
{ NIL operation ;
SWAP ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS } } ;
DUP 7 ;
DUP 7 ;
PAIR ;
APPLY ;
DIG 5 ;
DIG 6 ;
DROP 2 ;
DIG 3 ;
PAIR ;
TRANSFER_TOKENS ;
NIL operation ;
SWAP ;
CONS } }
{ DUP 2 ;
GET 33 ;
SWAP ;
ITER { SWAP ; DUP 2 ; CDR ; SOME ; DIG 2 ; CAR ; UPDATE } ;
UPDATE 33 ;
NIL operation } }
{ DUP 2 ;
GET 3 ;
SENDER ;
COMPARE ;
NEQ ;
IF
{ SELF_ADDRESS ;
DUP 3 ;
DIG 3 ;
GET 3 ;
CONTRACT %callMultisig (pair
(pair %entrypoint_signature
(string %name)
(pair (bytes %params)
(address %source_contract)))
(lambda %callback unit
(list operation))) ;
IF_NONE
{ SWAP ;
DIG 2 ;
DROP 2 ;
PUSH string "no call entrypoint" ;
FAILWITH }
{ DUP 4 ;
PACK ;
SHA256 ;
SELF_ADDRESS ;
SWAP ;
PUSH string "setDogaAddress" ;
PAIR 3 ;
SWAP ;
PUSH mutez 0 ;
LAMBDA
(pair (pair address address) unit)
(list operation)
{ UNPAIR ;
UNPAIR ;
DIG 2 ;
DROP ;
CONTRACT %setDogaAddress address ;
IF_NONE
{ DROP ;
PUSH string "no setDogaAddress entrypoint" ;
FAILWITH }
{ NIL operation ;
SWAP ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS } } ;
DUP 7 ;
DUP 7 ;
PAIR ;
APPLY ;
DIG 5 ;
DIG 6 ;
DROP 2 ;
DIG 3 ;
PAIR ;
TRANSFER_TOKENS ;
NIL operation ;
SWAP ;
CONS } }
{ UPDATE 7 ; NIL operation } } ;
PAIR }
{ IF_LEFT
{ DUP 2 ;
GET 3 ;
SENDER ;
COMPARE ;
NEQ ;
IF
{ SELF_ADDRESS ;
DUP 3 ;
DIG 3 ;
GET 3 ;
CONTRACT %callMultisig (pair
(pair %entrypoint_signature
(string %name)
(pair (bytes %params)
(address %source_contract)))
(lambda %callback unit
(list operation))) ;
IF_NONE
{ SWAP ;
DIG 2 ;
DROP 2 ;
PUSH string "no call entrypoint" ;
FAILWITH }
{ DUP 4 ;
PACK ;
SHA256 ;
SELF_ADDRESS ;
SWAP ;
PUSH string "setMintParams" ;
PAIR 3 ;
SWAP ;
PUSH mutez 0 ;
LAMBDA
(pair
(pair address
(pair bool
(pair nat
(pair string
(pair nat
(pair nat
(pair nat
(pair nat
(pair
timestamp
timestamp)))))))))
unit)
(list operation)
{ UNPAIR ;
UNPAIR ;
DIG 2 ;
DROP ;
CONTRACT %setMintParams (pair (bool %is_private_sale)
(pair (nat %mint_price)
(pair
(string %currency)
(pair
(nat %next_token_id)
(pair
(nat %total_supply)
(pair
(nat %max_mint_per_address)
(pair
(nat %token_per_pack)
(pair
(timestamp %start_time)
(timestamp %end_time))))))))) ;
IF_NONE
{ DROP ;
PUSH string "no setMintParams entrypoint" ;
FAILWITH }
{ NIL operation ;
SWAP ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS } } ;
DUP 7 ;
DUP 7 ;
PAIR ;
APPLY ;
DIG 5 ;
DIG 6 ;
DROP 2 ;
DIG 3 ;
PAIR ;
TRANSFER_TOKENS ;
NIL operation ;
SWAP ;
CONS } ;
PAIR }
{ PUSH nat 0 ;
DUP 2 ;
GET 11 ;
COMPARE ;
EQ ;
PUSH nat 0 ;
DUP 3 ;
GET 9 ;
COMPARE ;
EQ ;
PUSH nat 0 ;
DUP 4 ;
GET 3 ;
COMPARE ;
LE ;
OR ;
OR ;
IF
{ DROP 2 ;
PUSH string "Value should be higher than zero" ;
FAILWITH }
{ DUP ;
GET 16 ;
DUP 2 ;
GET 15 ;
COMPARE ;
GE ;
IF
{ DROP 2 ; PUSH string "Invalid date format" ; FAILWITH }
{ PUSH string "FA12" ;
DUP 2 ;
GET 5 ;
COMPARE ;
NEQ ;
PUSH string "XTZ" ;
DUP 3 ;
GET 5 ;
COMPARE ;
NEQ ;
AND ;
IF
{ DROP 2 ; PUSH string "Invalid currency" ; FAILWITH }
{ SWAP ;
DUP 2 ;
CAR ;
UPDATE 11 ;
DUP 2 ;
GET 3 ;
UPDATE 13 ;
DUP 2 ;
GET 5 ;
UPDATE 34 ;
DUP 2 ;
GET 7 ;
UPDATE 25 ;
DUP 2 ;
GET 9 ;
UPDATE 15 ;
DUP 2 ;
GET 11 ;
UPDATE 19 ;
DUP 2 ;
GET 13 ;
UPDATE 31 ;
DUP 2 ;
GET 15 ;
UPDATE 21 ;
SWAP ;
GET 16 ;
UPDATE 23 ;
NIL operation ;
PAIR } } } } }
{ DROP ;
DUP ;
GET 3 ;
SENDER ;
COMPARE ;
NEQ ;
IF
{ SELF_ADDRESS ;
DUP 2 ;
DIG 2 ;
GET 3 ;
CONTRACT %callMultisig (pair
(pair %entrypoint_signature
(string %name)
(pair (bytes %params)
(address %source_contract)))
(lambda %callback unit
(list operation))) ;
IF_NONE
{ SWAP ; DROP ; PUSH string "no call entrypoint" ; FAILWITH }
{ UNIT ;
PACK ;
SHA256 ;
SELF_ADDRESS ;
SWAP ;
PUSH string "setMintPerAddress" ;
PAIR 3 ;
SWAP ;
PUSH mutez 0 ;
LAMBDA
(pair address unit)
(list operation)
{ CAR ;
CONTRACT %setMintPerAddress unit ;
IF_NONE
{ PUSH string "no setMintPerAddress entrypoint" ;
FAILWITH }
{ NIL operation ;
SWAP ;
PUSH mutez 0 ;
UNIT ;
TRANSFER_TOKENS ;
CONS } } ;
DUP 6 ;
APPLY ;
DIG 5 ;
DROP ;
DIG 3 ;
PAIR ;
TRANSFER_TOKENS ;
NIL operation ;
SWAP ;
CONS } }
{ EMPTY_BIG_MAP address nat ; UPDATE 17 ; NIL operation } ;
PAIR } } } }
{ IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ DUP 2 ;
GET 3 ;
SENDER ;
COMPARE ;
NEQ ;
IF
{ SELF_ADDRESS ;
DUP 3 ;
DIG 3 ;
GET 3 ;
CONTRACT %callMultisig (pair
(pair %entrypoint_signature
(string %name)
(pair (bytes %params)
(address %source_contract)))
(lambda %callback unit
(list operation))) ;
IF_NONE
{ SWAP ;
DIG 2 ;
DROP 2 ;
PUSH string "no call entrypoint" ;
FAILWITH }
{ DUP 4 ;
PACK ;
SHA256 ;
SELF_ADDRESS ;
SWAP ;
PUSH string "setMultisigContract" ;
PAIR 3 ;
SWAP ;
PUSH mutez 0 ;
LAMBDA
(pair (pair address address) unit)
(list operation)
{ UNPAIR ;
UNPAIR ;
DIG 2 ;
DROP ;
CONTRACT %setMultisigContract address ;
IF_NONE
{ DROP ;
PUSH string "no setMultisigContract entrypoint" ;
FAILWITH }
{ NIL operation ;
SWAP ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS } } ;
DUP 7 ;
DUP 7 ;
PAIR ;
APPLY ;
DIG 5 ;
DIG 6 ;
DROP 2 ;
DIG 3 ;
PAIR ;
TRANSFER_TOKENS ;
NIL operation ;
SWAP ;
CONS } }
{ UPDATE 3 ; NIL operation } }
{ DUP 2 ;
GET 3 ;
SENDER ;
COMPARE ;
NEQ ;
IF
{ SELF_ADDRESS ;
DUP 3 ;
DIG 3 ;
GET 3 ;
CONTRACT %callMultisig (pair
(pair %entrypoint_signature
(string %name)
(pair (bytes %params)
(address %source_contract)))
(lambda %callback unit
(list operation))) ;
IF_NONE
{ SWAP ;
DIG 2 ;
DROP 2 ;
PUSH string "no call entrypoint" ;
FAILWITH }
{ DUP 4 ;
PACK ;
SHA256 ;
SELF_ADDRESS ;
SWAP ;
PUSH string "setNameList" ;
PAIR 3 ;
SWAP ;
PUSH mutez 0 ;
LAMBDA
(pair (pair address (map nat bytes)) unit)
(list operation)
{ UNPAIR ;
UNPAIR ;
DIG 2 ;
DROP ;
CONTRACT %setNameList (map nat bytes) ;
IF_NONE
{ DROP ;
PUSH string "no setNameList entrypoint" ;
FAILWITH }
{ NIL operation ;
SWAP ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS } } ;
DUP 7 ;
DUP 7 ;
PAIR ;
APPLY ;
DIG 5 ;
DIG 6 ;
DROP 2 ;
DIG 3 ;
PAIR ;
TRANSFER_TOKENS ;
NIL operation ;
SWAP ;
CONS } }
{ DUP 2 ;
GET 27 ;
SWAP ;
ITER { SWAP ; DUP 2 ; CDR ; SOME ; DIG 2 ; CAR ; UPDATE } ;
UPDATE 27 ;
NIL operation } } }
{ IF_LEFT
{ DUP 2 ;
GET 3 ;
SENDER ;
COMPARE ;
NEQ ;
IF
{ SELF_ADDRESS ;
DUP 3 ;
DIG 3 ;
GET 3 ;
CONTRACT %callMultisig (pair
(pair %entrypoint_signature
(string %name)
(pair (bytes %params)
(address %source_contract)))
(lambda %callback unit
(list operation))) ;
IF_NONE
{ SWAP ;
DIG 2 ;
DROP 2 ;
PUSH string "no call entrypoint" ;
FAILWITH }
{ DUP 4 ;
PACK ;
SHA256 ;
SELF_ADDRESS ;
SWAP ;
PUSH string "setNftAddress" ;
PAIR 3 ;
SWAP ;
PUSH mutez 0 ;
LAMBDA
(pair (pair address address) unit)
(list operation)
{ UNPAIR ;
UNPAIR ;
DIG 2 ;
DROP ;
CONTRACT %setNftAddress address ;
IF_NONE
{ DROP ;
PUSH string "no setNftAddress entrypoint" ;
FAILWITH }
{ NIL operation ;
SWAP ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS } } ;
DUP 7 ;
DUP 7 ;
PAIR ;
APPLY ;
DIG 5 ;
DIG 6 ;
DROP 2 ;
DIG 3 ;
PAIR ;
TRANSFER_TOKENS ;
NIL operation ;
SWAP ;
CONS } }
{ UPDATE 5 ; NIL operation } }
{ DUP 2 ;
GET 3 ;
SENDER ;
COMPARE ;
NEQ ;
IF
{ SELF_ADDRESS ;
DUP 3 ;
DIG 3 ;
GET 3 ;
CONTRACT %callMultisig (pair
(pair %entrypoint_signature
(string %name)
(pair (bytes %params)
(address %source_contract)))
(lambda %callback unit
(list operation))) ;
IF_NONE
{ SWAP ;
DIG 2 ;
DROP 2 ;
PUSH string "no call entrypoint" ;
FAILWITH }
{ DUP 4 ;
PACK ;
SHA256 ;
SELF_ADDRESS ;
SWAP ;
PUSH string "setPause" ;
PAIR 3 ;
SWAP ;
PUSH mutez 0 ;
LAMBDA
(pair (pair address bool) unit)
(list operation)
{ UNPAIR ;
UNPAIR ;
DIG 2 ;
DROP ;
CONTRACT %setPause bool ;
IF_NONE
{ DROP ;
PUSH string "no setPause entrypoint" ;
FAILWITH }
{ NIL operation ;
SWAP ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS } } ;
DUP 7 ;
DUP 7 ;
PAIR ;
APPLY ;
DIG 5 ;
DIG 6 ;
DROP 2 ;
DIG 3 ;
PAIR ;
TRANSFER_TOKENS ;
NIL operation ;
SWAP ;
CONS } }
{ UPDATE 1 ; NIL operation } } } }
{ DUP 2 ;
GET 3 ;
SENDER ;
COMPARE ;
NEQ ;
IF
{ SELF_ADDRESS ;
DUP 3 ;
DIG 3 ;
GET 3 ;
CONTRACT %callMultisig (pair
(pair %entrypoint_signature (string %name)
(pair
(bytes %params)
(address %source_contract)))
(lambda %callback unit (list operation))) ;
IF_NONE
{ SWAP ; DIG 2 ; DROP 2 ; PUSH string "no call entrypoint" ; FAILWITH }
{ DUP 4 ;
PACK ;
SHA256 ;
SELF_ADDRESS ;
SWAP ;
PUSH string "setReserveAddress" ;
PAIR 3 ;
SWAP ;
PUSH mutez 0 ;
LAMBDA
(pair (pair address address) unit)
(list operation)
{ UNPAIR ;
UNPAIR ;
DIG 2 ;
DROP ;
CONTRACT %setReserveAddress address ;
IF_NONE
{ DROP ;
PUSH string "no setReserveAddress entrypoint" ;
FAILWITH }
{ NIL operation ; SWAP ; PUSH mutez 0 ; DIG 3 ; TRANSFER_TOKENS ; CONS } } ;
DUP 7 ;
DUP 7 ;
PAIR ;
APPLY ;
DIG 5 ;
DIG 6 ;
DROP 2 ;
DIG 3 ;
PAIR ;
TRANSFER_TOKENS ;
NIL operation ;
SWAP ;
CONS } }
{ UPDATE 9 ; NIL operation } } ;
PAIR } }