Rendering: 24%
x
549
1085
parameter (or
(or
(or
(or
(or (pair %acceptCounterOffer (nat %token_id) (address %seller))
(pair %acceptOffer (nat %token_id) (address %buyer)))
(or
(pair %addToMarketplace
(or %swap_type (pair %dutch (nat %starting_price) (nat %duration))
(unit %regular))
(pair (nat %token_id)
(pair (nat %token_price)
(pair (timestamp %start_time)
(pair (timestamp %end_time)
(pair
(or %recipient (unit %general)
(address %reserved))
(pair (string %token_symbol)
(pair
(set %accepted_tokens string)
(bool %is_multi_token)))))))))
(pair %collect (nat %swap_id)
(pair (string %token_symbol) (nat %amount_ft)))))
(or
(or
(pair %makeCounterOffer (nat %token_id)
(pair (address %buyer)
(pair (timestamp %start_time)
(pair (timestamp %end_time)
(pair
(string %token_symbol)
(nat %ft_amount))))))
(nat %removeFromMarketplace))
(or
(pair %sendOffer (nat %token_id)
(pair (timestamp %start_time)
(pair (timestamp %end_time)
(pair (string %token_symbol)
(nat %ft_amount)))))
(int %setOracleTolerance))))
(or
(or
(or (bool %setPause)
(pair %updateAllowedTokens (string %token_symbol)
(or %direction
(pair %add_token
(address %fa_address)
(string %fa_type))
(unit %remove_token))))
(or (nat %updateFee) (address %updateMultisig)))
(or
(or (address %updateNftAddress)
(pair %updateOffer (nat %token_id)
(pair (timestamp %start_time)
(pair (timestamp %end_time)
(pair (string %token_symbol)
(nat %ft_amount))))))
(or (address %updateOracleAddress) (nat %updateRoyalties)))))
(or
(or
(or (address %updateRoyaltiesAddress)
(pair %updateSwap (nat %swap_id)
(or %action
(or
(or (nat %update_duration) (nat %update_price))
(or (address %update_reserved_address)
(nat %update_starting_price)))
(pair %update_times (timestamp %start_time)
(timestamp %end_time)))))
(or (address %updateTreasuryAddress)
(pair %withdrawCounterOffer (nat %token_id) (address %buyer))))
(nat %withdrawOffer)));
storage (pair (address %nft_address)
(pair (address %royalties_address)
(pair (nat %next_swap_id)
(pair (big_map %tokens nat nat)
(pair
(big_map %counter_offers
(pair (nat %token_id)
(pair (address %buyer) (address %seller)))
(pair
(pair
(pair (timestamp %end_time) (nat %ft_amount))
(pair (address %owner) (timestamp %start_time)))
(string %token_symbol)))
(pair
(big_map %swaps nat
(pair (address %owner)
(pair (nat %token_id)
(pair (bool %is_dutch)
(pair
(bool %is_reserved)
(pair
(nat %starting_price)
(pair
(nat %token_price)
(pair
(timestamp %start_time)
(pair
(int %duration)
(pair
(timestamp %end_time)
(pair
(address %recipient)
(pair
(string %ft_symbol)
(pair
(set %accepted_tokens string)
(bool %is_multi_token))))))))))))))
(pair
(big_map %offers
(pair (nat %token_id) (address %buyer))
(pair (nat %value)
(pair (timestamp %start_time)
(pair (timestamp %end_time)
(string %token_symbol)))))
(pair (nat %royalties_rate)
(pair (nat %management_fee_rate)
(pair (bool %paused)
(pair
(big_map %allowed_tokens
string
(pair (string %token_symbol)
(pair
(address %fa_address)
(string %fa_type))))
(pair
(big_map %available_pairs
(pair string string)
string)
(pair (address %oracle)
(pair
(address %multisig)
(pair
(address %treasury)
(int %oracle_tolerance))))))))))))))));
code { UNPAIR ;
IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
GET 19 ;
IF
{ DROP 2 ; PUSH nat 117 ; FAILWITH }
{ SENDER ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
PAIR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
SENDER ;
DUP 4 ;
CAR ;
PAIR 3 ;
DUP 4 ;
GET 13 ;
DUP 3 ;
GET ;
IF_NONE
{ SWAP ; DROP ; PUSH nat 116 ; FAILWITH }
{ DUP 5 ;
GET 13 ;
NONE (pair nat
(pair timestamp (pair timestamp string))) ;
DIG 4 ;
UPDATE ;
SWAP ;
PAIR } ;
UNPAIR ;
DUP 5 ;
GET 9 ;
DUP 4 ;
GET ;
IF_NONE
{ DIG 2 ; DROP ; PUSH nat 141 ; FAILWITH }
{ DUP 6 ;
GET 9 ;
NONE (pair
(pair (pair timestamp nat)
(pair address timestamp))
string) ;
DIG 5 ;
UPDATE ;
SWAP ;
PAIR } ;
UNPAIR ;
DUP ;
CAR ;
CDR ;
CDR ;
NOW ;
COMPARE ;
LT ;
IF
{ DROP 6 ; PUSH nat 143 ; FAILWITH }
{ PUSH mutez 0 ;
AMOUNT ;
COMPARE ;
NEQ ;
PUSH string "XTZ" ;
DUP 3 ;
CDR ;
COMPARE ;
EQ ;
NOT ;
AND ;
IF
{ DROP 6 ; PUSH nat 133 ; FAILWITH }
{ DUP ;
CAR ;
CAR ;
CAR ;
NOW ;
COMPARE ;
GT ;
IF
{ DROP 6 ; PUSH nat 144 ; FAILWITH }
{ DUP ;
CAR ;
CAR ;
CDR ;
AMOUNT ;
PUSH mutez 1 ;
SWAP ;
EDIV ;
IF_NONE
{ PUSH string "DIV by 0" ; FAILWITH }
{} ;
CAR ;
COMPARE ;
NEQ ;
PUSH string "XTZ" ;
DUP 3 ;
CDR ;
COMPARE ;
EQ ;
AND ;
IF
{ DROP 6 ; PUSH nat 114 ; FAILWITH }
{ PUSH nat 10000 ;
DUP 7 ;
GET 17 ;
DUP 3 ;
CAR ;
CAR ;
CDR ;
MUL ;
EDIV ;
IF_NONE
{ PUSH string "DIV by 0" ; FAILWITH }
{} ;
CAR ;
PUSH nat 10000 ;
DUP 3 ;
CAR ;
CAR ;
CDR ;
DUP 9 ;
GET 15 ;
MUL ;
EDIV ;
IF_NONE
{ PUSH string "DIV by 0" ; FAILWITH }
{} ;
CAR ;
DUP ;
DUP 3 ;
ADD ;
DUP 4 ;
CAR ;
CAR ;
CDR ;
SUB ;
ISNAT ;
IF_NONE { PUSH nat 105 ; FAILWITH } {} ;
NIL operation ;
NIL (pair address
(list (pair address
(pair nat nat)))) ;
NIL (pair address (pair nat nat)) ;
PUSH nat 1 ;
DUP 12 ;
CAR ;
SENDER ;
PAIR 3 ;
CONS ;
SELF_ADDRESS ;
PAIR ;
CONS ;
DUP 11 ;
CAR ;
CONTRACT %transfer (list (pair address
(list (pair
address
(pair
nat
nat))))) ;
IF_NONE { PUSH nat 101 ; FAILWITH } {} ;
SWAP ;
MAP { DUP ;
CDR ;
MAP { DUP ;
GET 4 ;
SWAP ;
DUP ;
DUG 2 ;
GET 3 ;
PAIR ;
SWAP ;
CAR ;
PAIR } ;
SWAP ;
CAR ;
PAIR } ;
SWAP ;
PUSH mutez 0 ;
DIG 2 ;
TRANSFER_TOKENS ;
CONS ;
DUP 10 ;
SENDER ;
SELF_ADDRESS ;
DUP 10 ;
GET 6 ;
DIG 10 ;
CAR ;
DIG 5 ;
PAIR 6 ;
UNPAIR 6 ;
PUSH nat 0 ;
DUP 3 ;
COMPARE ;
GT ;
IF
{ PUSH string "XTZ" ;
DUP 4 ;
COMPARE ;
EQ ;
IF
{ DIG 2 ;
DIG 3 ;
DIG 5 ;
DROP 3 ;
PUSH mutez 1 ;
DIG 2 ;
MUL ;
DIG 2 ;
CONTRACT unit ;
IF_NONE
{ PUSH nat 106 ; FAILWITH }
{} ;
SWAP ;
UNIT ;
TRANSFER_TOKENS ;
CONS }
{ DIG 5 ;
GET 21 ;
DIG 3 ;
GET ;
IF_NONE
{ PUSH nat 131 ; FAILWITH }
{} ;
PUSH string "fa1.2" ;
SWAP ;
DUP ;
DUG 2 ;
GET 4 ;
COMPARE ;
EQ ;
IF
{ GET 3 ;
CONTRACT %transfer (pair
(address %from)
(pair
(address %to)
(nat %value))) ;
IF_NONE
{ PUSH nat 132 ; FAILWITH }
{} ;
PUSH mutez 0 ;
DIG 3 ;
DIG 5 ;
DIG 5 ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS }
{ PUSH string "fa2" ;
SWAP ;
DUP ;
DUG 2 ;
GET 4 ;
COMPARE ;
EQ ;
IF
{ GET 3 ;
CONTRACT %transfer (list (pair
address
(list (pair
address
(pair
nat
nat))))) ;
IF_NONE
{ PUSH nat 101 ;
FAILWITH }
{} ;
NIL (pair address
(list (pair
address
(pair
nat
nat)))) ;
NIL (pair address
(pair nat nat)) ;
DIG 4 ;
PUSH nat 0 ;
DIG 7 ;
PAIR 3 ;
CONS ;
DIG 4 ;
PAIR ;
CONS ;
MAP { DUP ;
CDR ;
MAP { DUP ;
GET 4 ;
SWAP ;
DUP ;
DUG 2 ;
GET 3 ;
PAIR ;
SWAP ;
CAR ;
PAIR } ;
SWAP ;
CAR ;
PAIR } ;
SWAP ;
PUSH mutez 0 ;
DIG 2 ;
TRANSFER_TOKENS ;
CONS }
{ DROP 5 ;
PUSH nat 149 ;
FAILWITH } } } }
{ SWAP ; DIG 2 ; DIG 3 ; DIG 4 ; DIG 5 ; DROP 5 } ;
DUP 9 ;
DUP 9 ;
CDR ;
SENDER ;
DUP 8 ;
CDR ;
DIG 5 ;
DIG 5 ;
PAIR 6 ;
UNPAIR 6 ;
PUSH nat 0 ;
DUP 3 ;
COMPARE ;
GT ;
IF
{ PUSH string "XTZ" ;
DUP 4 ;
COMPARE ;
EQ ;
IF
{ DIG 2 ;
DIG 3 ;
DIG 5 ;
DROP 3 ;
PUSH mutez 1 ;
DIG 2 ;
MUL ;
DIG 2 ;
CONTRACT unit ;
IF_NONE
{ PUSH nat 106 ; FAILWITH }
{} ;
SWAP ;
UNIT ;
TRANSFER_TOKENS ;
CONS }
{ DIG 5 ;
GET 21 ;
DIG 3 ;
GET ;
IF_NONE
{ PUSH nat 131 ; FAILWITH }
{} ;
PUSH string "fa1.2" ;
SWAP ;
DUP ;
DUG 2 ;
GET 4 ;
COMPARE ;
EQ ;
IF
{ GET 3 ;
CONTRACT %transfer (pair
(address %from)
(pair
(address %to)
(nat %value))) ;
IF_NONE
{ PUSH nat 132 ; FAILWITH }
{} ;
PUSH mutez 0 ;
DIG 3 ;
DIG 5 ;
DIG 5 ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS }
{ PUSH string "fa2" ;
SWAP ;
DUP ;
DUG 2 ;
GET 4 ;
COMPARE ;
EQ ;
IF
{ GET 3 ;
CONTRACT %transfer (list (pair
address
(list (pair
address
(pair
nat
nat))))) ;
IF_NONE
{ PUSH nat 101 ;
FAILWITH }
{} ;
NIL (pair address
(list (pair
address
(pair
nat
nat)))) ;
NIL (pair address
(pair nat nat)) ;
DIG 4 ;
PUSH nat 0 ;
DIG 7 ;
PAIR 3 ;
CONS ;
DIG 4 ;
PAIR ;
CONS ;
MAP { DUP ;
CDR ;
MAP { DUP ;
GET 4 ;
SWAP ;
DUP ;
DUG 2 ;
GET 3 ;
PAIR ;
SWAP ;
CAR ;
PAIR } ;
SWAP ;
CAR ;
PAIR } ;
SWAP ;
PUSH mutez 0 ;
DIG 2 ;
TRANSFER_TOKENS ;
CONS }
{ DROP 5 ;
PUSH nat 149 ;
FAILWITH } } } }
{ SWAP ; DIG 2 ; DIG 3 ; DIG 4 ; DIG 5 ; DROP 5 } ;
DIG 7 ;
DUP ;
DUP ;
DUG 9 ;
GET 3 ;
SENDER ;
DUP 7 ;
CDR ;
DIG 5 ;
DIG 5 ;
PAIR 6 ;
UNPAIR 6 ;
PUSH nat 0 ;
DUP 3 ;
COMPARE ;
GT ;
IF
{ PUSH string "XTZ" ;
DUP 4 ;
COMPARE ;
EQ ;
IF
{ DIG 2 ;
DIG 3 ;
DIG 5 ;
DROP 3 ;
PUSH mutez 1 ;
DIG 2 ;
MUL ;
DIG 2 ;
CONTRACT unit ;
IF_NONE
{ PUSH nat 106 ; FAILWITH }
{} ;
SWAP ;
UNIT ;
TRANSFER_TOKENS ;
CONS }
{ DIG 5 ;
GET 21 ;
DIG 3 ;
GET ;
IF_NONE
{ PUSH nat 131 ; FAILWITH }
{} ;
PUSH string "fa1.2" ;
SWAP ;
DUP ;
DUG 2 ;
GET 4 ;
COMPARE ;
EQ ;
IF
{ GET 3 ;
CONTRACT %transfer (pair
(address %from)
(pair
(address %to)
(nat %value))) ;
IF_NONE
{ PUSH nat 132 ; FAILWITH }
{} ;
PUSH mutez 0 ;
DIG 3 ;
DIG 5 ;
DIG 5 ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS }
{ PUSH string "fa2" ;
SWAP ;
DUP ;
DUG 2 ;
GET 4 ;
COMPARE ;
EQ ;
IF
{ GET 3 ;
CONTRACT %transfer (list (pair
address
(list (pair
address
(pair
nat
nat))))) ;
IF_NONE
{ PUSH nat 101 ;
FAILWITH }
{} ;
NIL (pair address
(list (pair
address
(pair
nat
nat)))) ;
NIL (pair address
(pair nat nat)) ;
DIG 4 ;
PUSH nat 0 ;
DIG 7 ;
PAIR 3 ;
CONS ;
DIG 4 ;
PAIR ;
CONS ;
MAP { DUP ;
CDR ;
MAP { DUP ;
GET 4 ;
SWAP ;
DUP ;
DUG 2 ;
GET 3 ;
PAIR ;
SWAP ;
CAR ;
PAIR } ;
SWAP ;
CAR ;
PAIR } ;
SWAP ;
PUSH mutez 0 ;
DIG 2 ;
TRANSFER_TOKENS ;
CONS }
{ DROP 5 ;
PUSH nat 149 ;
FAILWITH } } } }
{ SWAP ; DIG 2 ; DIG 3 ; DIG 4 ; DIG 5 ; DROP 5 } ;
DIG 6 ;
DUP ;
DUP ;
DUG 8 ;
GET 29 ;
SENDER ;
DIG 5 ;
CDR ;
DIG 5 ;
DIG 5 ;
PAIR 6 ;
UNPAIR 6 ;
PUSH nat 0 ;
DUP 3 ;
COMPARE ;
GT ;
IF
{ PUSH string "XTZ" ;
DUP 4 ;
COMPARE ;
EQ ;
IF
{ DIG 2 ;
DIG 3 ;
DIG 5 ;
DROP 3 ;
PUSH mutez 1 ;
DIG 2 ;
MUL ;
DIG 2 ;
CONTRACT unit ;
IF_NONE
{ PUSH nat 106 ; FAILWITH }
{} ;
SWAP ;
UNIT ;
TRANSFER_TOKENS ;
CONS }
{ DIG 5 ;
GET 21 ;
DIG 3 ;
GET ;
IF_NONE
{ PUSH nat 131 ; FAILWITH }
{} ;
PUSH string "fa1.2" ;
SWAP ;
DUP ;
DUG 2 ;
GET 4 ;
COMPARE ;
EQ ;
IF
{ GET 3 ;
CONTRACT %transfer (pair
(address %from)
(pair
(address %to)
(nat %value))) ;
IF_NONE
{ PUSH nat 132 ; FAILWITH }
{} ;
PUSH mutez 0 ;
DIG 3 ;
DIG 5 ;
DIG 5 ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS }
{ PUSH string "fa2" ;
SWAP ;
DUP ;
DUG 2 ;
GET 4 ;
COMPARE ;
EQ ;
IF
{ GET 3 ;
CONTRACT %transfer (list (pair
address
(list (pair
address
(pair
nat
nat))))) ;
IF_NONE
{ PUSH nat 101 ;
FAILWITH }
{} ;
NIL (pair address
(list (pair
address
(pair
nat
nat)))) ;
NIL (pair address
(pair nat nat)) ;
DIG 4 ;
PUSH nat 0 ;
DIG 7 ;
PAIR 3 ;
CONS ;
DIG 4 ;
PAIR ;
CONS ;
MAP { DUP ;
CDR ;
MAP { DUP ;
GET 4 ;
SWAP ;
DUP ;
DUG 2 ;
GET 3 ;
PAIR ;
SWAP ;
CAR ;
PAIR } ;
SWAP ;
CAR ;
PAIR } ;
SWAP ;
PUSH mutez 0 ;
DIG 2 ;
TRANSFER_TOKENS ;
CONS }
{ DROP 5 ;
PUSH nat 149 ;
FAILWITH } } } }
{ SWAP ; DIG 2 ; DIG 3 ; DIG 4 ; DIG 5 ; DROP 5 } ;
DUP 5 ;
DIG 3 ;
UPDATE 13 ;
DIG 2 ;
UPDATE 9 ;
DUP 4 ;
GET 7 ;
DUP 4 ;
CAR ;
GET ;
IF_NONE
{ DIG 2 ; DROP ; DIG 2 ; GET 7 }
{ DROP ;
DIG 3 ;
GET 7 ;
NONE nat ;
DIG 4 ;
CAR ;
UPDATE } ;
UPDATE 7 ;
SWAP ;
PAIR } } } } } }
{ SWAP ;
DUP ;
DUG 2 ;
GET 19 ;
IF
{ DROP 2 ; PUSH nat 117 ; FAILWITH }
{ DUP ;
CAR ;
SWAP ;
CDR ;
SENDER ;
SWAP ;
DUP ;
DUG 2 ;
DUP 4 ;
PAIR ;
DUP 5 ;
GET 13 ;
SWAP ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH nat 113 ; FAILWITH } {} ;
DUP ;
GET 3 ;
NOW ;
COMPARE ;
LT ;
IF
{ DROP 6 ; PUSH nat 111 ; FAILWITH }
{ DUP ;
GET 5 ;
NOW ;
COMPARE ;
GT ;
IF
{ DROP 6 ; PUSH nat 112 ; FAILWITH }
{ PUSH nat 10000 ;
DUP 7 ;
GET 17 ;
DUP 3 ;
CAR ;
MUL ;
EDIV ;
IF_NONE
{ PUSH string "DIV by 0" ; FAILWITH }
{} ;
CAR ;
PUSH nat 10000 ;
DUP 3 ;
CAR ;
DUP 9 ;
GET 15 ;
MUL ;
EDIV ;
IF_NONE
{ PUSH string "DIV by 0" ; FAILWITH }
{} ;
CAR ;
DUP ;
DUP 3 ;
ADD ;
DUP 4 ;
CAR ;
SUB ;
ISNAT ;
IF_NONE { PUSH nat 105 ; FAILWITH } {} ;
DUP 9 ;
GET 7 ;
DUP 9 ;
GET ;
IF_NONE
{ DUP 9 ;
GET 7 ;
DUP 10 ;
GET 11 ;
NIL (pair address
(list (pair address (pair nat nat)))) ;
NIL (pair address (pair nat nat)) ;
PUSH nat 1 ;
DIG 12 ;
DIG 12 ;
PAIR 3 ;
CONS ;
DUP 10 ;
PAIR ;
CONS ;
PAIR ;
PAIR }
{ DUP 10 ;
GET 11 ;
SWAP ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH nat 103 ; FAILWITH } {} ;
CAR ;
DUP 8 ;
COMPARE ;
NEQ ;
IF
{ DIG 7 ; DIG 8 ; DROP 3 ; PUSH nat 125 ; FAILWITH }
{ DUP 10 ;
GET 7 ;
NONE nat ;
DUP 11 ;
UPDATE ;
DUP 11 ;
GET 11 ;
NONE (pair address
(pair nat
(pair bool
(pair bool
(pair nat
(pair
nat
(pair
timestamp
(pair
int
(pair
timestamp
(pair
address
(pair
string
(pair
(set string)
bool)))))))))))) ;
DIG 3 ;
UPDATE ;
NIL (pair address
(list (pair address
(pair nat nat)))) ;
NIL (pair address (pair nat nat)) ;
PUSH nat 1 ;
DIG 12 ;
DIG 12 ;
PAIR 3 ;
CONS ;
SELF_ADDRESS ;
PAIR ;
CONS ;
PAIR ;
PAIR } } ;
UNPAIR ;
UNPAIR ;
NIL operation ;
DUP 11 ;
CAR ;
CONTRACT %transfer (list (pair address
(list (pair address
(pair
nat
nat))))) ;
IF_NONE { PUSH nat 101 ; FAILWITH } {} ;
DIG 2 ;
MAP { DUP ;
CDR ;
MAP { DUP ;
GET 4 ;
SWAP ;
DUP ;
DUG 2 ;
GET 3 ;
PAIR ;
SWAP ;
CAR ;
PAIR } ;
SWAP ;
CAR ;
PAIR } ;
SWAP ;
PUSH mutez 0 ;
DIG 2 ;
TRANSFER_TOKENS ;
CONS ;
DUP 10 ;
DIG 9 ;
SELF_ADDRESS ;
DUP 10 ;
GET 6 ;
DIG 7 ;
DIG 5 ;
PAIR 6 ;
UNPAIR 6 ;
PUSH nat 0 ;
DUP 3 ;
COMPARE ;
GT ;
IF
{ PUSH string "XTZ" ;
DUP 4 ;
COMPARE ;
EQ ;
IF
{ DIG 2 ;
DIG 3 ;
DIG 5 ;
DROP 3 ;
PUSH mutez 1 ;
DIG 2 ;
MUL ;
DIG 2 ;
CONTRACT unit ;
IF_NONE { PUSH nat 106 ; FAILWITH } {} ;
SWAP ;
UNIT ;
TRANSFER_TOKENS ;
CONS }
{ DIG 5 ;
GET 21 ;
DIG 3 ;
GET ;
IF_NONE { PUSH nat 131 ; FAILWITH } {} ;
PUSH string "fa1.2" ;
SWAP ;
DUP ;
DUG 2 ;
GET 4 ;
COMPARE ;
EQ ;
IF