administrator:tz1f94uZ7SF2fLKnMjFzGQTbznd8qpAZ12is
originatedContracts:Big Map 7995
proposedAdministrator:None
records:Big Map 7996
templates:1 items
hic_proxy:{ { PUSH (lambda (pair string (big_map string bytes)) address) { UNPAIR ;
GET ;
IF_NONE { PUSH string "RECORD_NF" ; FAILWITH } {} ;
UNPACK address ;
IF_NONE { PUSH string "UNPK_FAIL" ; FAILWITH } {} } ;
PAIR ;
{ UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPACK (map address (pair (bool %isCore) (nat %share))) ;
IF_NONE { PUSH string "UNPK_FAIL" ; FAILWITH } {} ;
EMPTY_SET address ;
PUSH nat 0 ;
PAIR ;
EMPTY_MAP address nat ;
EMPTY_MAP address nat ;
PAIR ;
PAIR ;
SWAP ;
DUP ;
DUG 2 ;
ITER { SWAP ;
PAIR ;
DUP ;
CAR ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
CAR ;
DUP 3 ;
CDR ;
CDR ;
DUP ;
CDR ;
DUP 5 ;
CAR ;
CDR ;
CAR ;
ADD ;
DUP 5 ;
CAR ;
UNPAIR ;
CDR ;
DUP 7 ;
CAR ;
CAR ;
CAR ;
DUP 5 ;
CDR ;
DUP 7 ;
SWAP ;
SOME ;
SWAP ;
UPDATE ;
PAIR ;
PAIR ;
DUP ;
CDR ;
DIG 6 ;
CAR ;
CAR ;
CDR ;
PUSH nat 0 ;
DUP 7 ;
SWAP ;
SOME ;
SWAP ;
UPDATE ;
DIG 2 ;
CAR ;
CAR ;
PAIR ;
PAIR ;
DUP ;
CDR ;
CDR ;
DIG 2 ;
PAIR ;
SWAP ;
CAR ;
PAIR ;
SWAP ;
CAR ;
IF { DUG 2 ; PUSH bool True ; SWAP ; UPDATE } { SWAP ; DROP ; SWAP } ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
CAR ;
PAIR ;
SWAP ;
CAR ;
PAIR } ;
DUP ;
CDR ;
CAR ;
PUSH nat 0 ;
SWAP ;
DUP ;
DUG 2 ;
COMPARE ;
EQ ;
IF { PUSH string "Sum of the shares should be more than 0n" ; FAILWITH } {} ;
PUSH nat 1000000000000 ;
SWAP ;
DUP ;
DUG 2 ;
COMPARE ;
GT ;
IF { PUSH string "EXCEED_MAX_SHARES" ; FAILWITH } {} ;
PUSH nat 108 ;
DIG 3 ;
SIZE ;
COMPARE ;
GT ;
IF { PUSH string "EXCEED_MAX_PARTICIPANTS" ; FAILWITH } {} ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
SWAP ;
PUSH nat 0 ;
PAIR ;
DUP 4 ;
PUSH string "hicTokenAddress" ;
PAIR ;
DUP 6 ;
SWAP ;
EXEC ;
PUSH nat 0 ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
PUSH nat 0 ;
PAIR ;
DUP 4 ;
PUSH string "hicRegistryAddress" ;
PAIR ;
DUP 6 ;
SWAP ;
EXEC ;
DUP 5 ;
PUSH string "hicMinterAddress" ;
PAIR ;
DUP 7 ;
SWAP ;
EXEC ;
PAIR ;
PAIR ;
DIG 3 ;
PUSH string "hicMarketplaceAddress" ;
PAIR ;
DIG 4 ;
SWAP ;
EXEC ;
PUSH bool False ;
PAIR ;
DIG 3 ;
CDR ;
CDR ;
SENDER ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
PUSH mutez 0 ;
NONE key_hash ;
PAIR ;
PAIR ;
{ UNPAIR ; UNPAIR } ;
CREATE_CONTRACT { parameter (or
(or
(or (or (nat %cancel_swap) (nat %collect))
(or (unit %default)
(pair %execute
(lambda %lambda
(pair
(pair
(pair
(pair
(pair (address %administrator)
(set %coreParticipants address))
(pair (bool %isPaused)
(address %marketplaceAddress)))
(pair
(pair (address %minterAddress)
(address %registryAddress))
(pair (nat %residuals)
(map %shares address nat))))
(pair
(pair
(pair (nat %threshold)
(address %tokenAddress))
(pair (nat %totalReceived)
(nat %totalShares)))
(map %undistributed address nat)))
bytes)
(list operation))
(bytes %packedParams))))
(or
(or
(pair %mint_OBJKT
(pair (address %address) (nat %amount))
(pair (bytes %metadata) (nat %royalties)))
(pair %registry (bytes %metadata)
(bytes %subjkt)))
(or (nat %set_threshold)
(pair %swap
(pair (address %creator)
(nat %objkt_amount))
(pair (nat %objkt_id)
(pair (nat %royalties)
(mutez %xtz_per_objkt)))))))
(or
(or
(or
(list %transfer (pair (address %from_)
(list %txs (pair
(address %to_)
(nat %token_id)
(nat %amount)))))
(unit %unregistry))
(or (address %update_admin)
(list %update_operators (or
(pair %add_operator
(address %owner)
(address %operator)
(nat %token_id))
(pair %remove_operator
(address %owner)
(address %operator)
(nat %token_id))))))
(address %withdraw))) ;
storage (pair
(pair
(pair
(pair (address %administrator)
(set %coreParticipants address))
(pair (bool %isPaused)
(address %marketplaceAddress)))
(pair
(pair (address %minterAddress)
(address %registryAddress))
(pair (nat %residuals) (map %shares address nat))))
(pair
(pair
(pair (nat %threshold) (address %tokenAddress))
(pair (nat %totalReceived) (nat %totalShares)))
(map %undistributed address nat))) ;
code { LAMBDA
address
(contract unit)
{ CONTRACT unit ;
IF_NONE { PUSH string "ADDR_NF" ; FAILWITH } {} } ;
LAMBDA nat mutez { PUSH mutez 1 ; SWAP ; MUL } ;
LAMBDA
unit
unit
{ DROP ;
PUSH mutez 0 ;
AMOUNT ;
COMPARE ;
EQ ;
IF { UNIT } { PUSH string "AMNT_FRBD" ; FAILWITH } } ;
LAMBDA
(pair
(pair
(pair (pair address (set address))
(pair bool address))
(pair (pair address address)
(pair nat (map address nat))))
(pair (pair (pair nat address) (pair nat nat))
(map address nat)))
unit
{ CAR ;
CAR ;
CAR ;
CAR ;
SENDER ;
COMPARE ;
EQ ;
IF { UNIT } { PUSH string "NOT_ADMIN" ; FAILWITH } } ;
DIG 4 ;
UNPAIR ;
IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ DIG 4 ;
DIG 5 ;
DROP 2 ;
IF_LEFT
{ SWAP ;
UNIT ;
DIG 4 ;
SWAP ;
EXEC ;
DROP ;
DUP ;
DIG 3 ;
SWAP ;
EXEC ;
DROP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
CDR ;
CDR ;
CONTRACT %cancel_swap nat ;
IF_NONE
{ PUSH string "SWAP_NF" ; FAILWITH }
{} ;
PUSH mutez 0 ;
DIG 2 ;
TRANSFER_TOKENS ;
SWAP ;
NIL operation ;
DIG 2 ;
CONS ;
PAIR }
{ SWAP ;
UNIT ;
DIG 4 ;
SWAP ;
EXEC ;
DROP ;
DUP ;
DIG 3 ;
SWAP ;
EXEC ;
DROP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
CDR ;
CDR ;
CONTRACT %collect nat ;
IF_NONE
{ PUSH string "SWAP_NF" ; FAILWITH }
{} ;
PUSH mutez 0 ;
DIG 2 ;
TRANSFER_TOKENS ;
SWAP ;
NIL operation ;
DIG 2 ;
CONS ;
PAIR } }
{ DIG 3 ;
DROP ;
IF_LEFT
{ DIG 2 ;
DROP 2 ;
AMOUNT ;
PUSH mutez 1 ;
SWAP ;
EDIV ;
IF_NONE
{ PUSH string "DIV by 0" ; FAILWITH }
{} ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
CDR ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
ADD ;
DUP 3 ;
CDR ;
CDR ;
DUP 4 ;
CDR ;
CAR ;
CDR ;
CDR ;
DIG 3 ;
DUP 5 ;
CDR ;
CAR ;
CDR ;
CAR ;
ADD ;
PAIR ;
DUP 4 ;
CDR ;
CAR ;
CAR ;
PAIR ;
PAIR ;
DIG 2 ;
CAR ;
PAIR ;
NIL operation ;
SWAP ;
DUP ;
DUG 2 ;
PUSH nat 0 ;
PAIR ;
PAIR ;
SWAP ;
CAR ;
CDR ;
CDR ;
CDR ;
ITER { SWAP ;
PAIR ;
DUP ;
CAR ;
CAR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
DUP 3 ;
CDR ;
CAR ;
DUP 3 ;
CDR ;
CAR ;
CDR ;
CDR ;
DUP 5 ;
CDR ;
CDR ;
DUP 7 ;
MUL ;
EDIV ;
IF_NONE
{ PUSH string "DIV by 0" ;
FAILWITH }
{} ;
CAR ;
DUP ;
DUP 6 ;
CAR ;
CAR ;
CAR ;
ADD ;
DUP 5 ;
DUP 4 ;
SWAP ;
CDR ;
CDR ;
SWAP ;
GET ;
IF_NONE { PUSH nat 0 } {} ;
DIG 2 ;
ADD ;
DUP 5 ;
CDR ;
CDR ;
DUP 6 ;
CDR ;
CAR ;
CAR ;
CAR ;
DUP 3 ;
COMPARE ;
GE ;
IF
{ PUSH nat 0 }
{ SWAP ; DUP ; DUG 2 } ;
DUP 5 ;
SWAP ;
SOME ;
SWAP ;
UPDATE ;
DUP 6 ;
CDR ;
CAR ;
PAIR ;
DIG 5 ;
CAR ;
PAIR ;
DUP ;
CDR ;
CAR ;
CAR ;
CAR ;
DUP 3 ;
COMPARE ;
GE ;
IF
{ SWAP }
{ SWAP ; DROP ; PUSH nat 0 } ;
PUSH nat 0 ;
SWAP ;
DUP ;
DUG 2 ;
COMPARE ;
GT ;
IF
{ DIG 4 ;
DIG 4 ;
DIG 2 ;
SWAP ;
DUP 9 ;
SWAP ;
EXEC ;
SWAP ;
DUP 8 ;
SWAP ;
EXEC ;
UNIT ;
TRANSFER_TOKENS ;
CONS }
{ DIG 3 ; DROP 2 ; DIG 2 } ;
DIG 3 ;
CAR ;
UNPAIR ;
CDR ;
DIG 4 ;
PAIR ;
PAIR ;
DUP ;
CDR ;
DIG 3 ;
DIG 2 ;
CAR ;
CAR ;
PAIR ;
PAIR ;
CAR ;
PAIR } ;
DIG 2 ;
DIG 3 ;
DROP 2 ;
DUP ;
CAR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
DIG 3 ;
SUB ;
PUSH int 0 ;
SWAP ;
DUP ;
DUG 2 ;
COMPARE ;
GE ;
IF
{ SWAP ;
DUP ;
DUG 2 ;
CDR ;
DUP 3 ;
CAR ;
CDR ;
CDR ;
CDR ;
DIG 2 ;
ABS ;
PAIR ;
DUP 3 ;
CAR ;
CDR ;
CAR ;
PAIR ;
DIG 2 ;
CAR ;
CAR ;
PAIR ;
PAIR }
{ DROP ;
PUSH string "WR_SHARES" ;
FAILWITH } ;
SWAP ;
CDR ;
PAIR }
{ DIG 3 ;
DIG 4 ;
DROP 2 ;
SWAP ;
DUP ;
DUG 2 ;
DIG 3 ;
SWAP ;
EXEC ;
DROP ;
DUP ;
CDR ;
DUP 3 ;
PAIR ;
SWAP ;
CAR ;
SWAP ;
EXEC ;
PAIR } } }
{ DIG 4 ;
DIG 5 ;
DROP 2 ;
IF_LEFT
{ IF_LEFT
{ SWAP ;
UNIT ;
DIG 4 ;
SWAP ;
EXEC ;
DROP ;
DUP ;
DIG 3 ;
SWAP ;
EXEC ;
DROP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
CAR ;
CAR ;
CONTRACT %mint_OBJKT (pair
(pair
(address %address)
(nat %amount))
(pair
(bytes %metadata)
(nat %royalties))) ;
IF_NONE
{ PUSH string "MINT_NF" ; FAILWITH }
{} ;
PUSH mutez 0 ;
DIG 2 ;
TRANSFER_TOKENS ;
SWAP ;
NIL operation ;
DIG 2 ;
CONS ;
PAIR }
{ SWAP ;
UNIT ;
DIG 4 ;
SWAP ;
EXEC ;
DROP ;
DUP ;
DIG 3 ;
SWAP ;
EXEC ;
DROP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
CAR ;
CDR ;
CONTRACT %registry (pair
(bytes %metadata)
(bytes %subjkt)) ;
IF_NONE
{ PUSH string "REG_NF" ; FAILWITH }
{} ;
PUSH mutez 0 ;
DIG 2 ;
TRANSFER_TOKENS ;
SWAP ;
NIL operation ;
DIG 2 ;
CONS ;
PAIR } }
{ IF_LEFT
{ SWAP ;
UNIT ;
DIG 4 ;
SWAP ;
EXEC ;
DROP ;
DUP ;
DIG 3 ;
SWAP ;
EXEC ;
DROP ;
DUP ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
CAR ;
CDR ;
DUP 3 ;
CDR ;
CAR ;
CAR ;
CDR ;
DIG 4 ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
CAR ;
PAIR ;
NIL operation ;
PAIR }
{ SWAP ;
UNIT ;
DIG 4 ;
SWAP ;
EXEC ;
DROP ;
DUP ;
DIG 3 ;
SWAP ;
EXEC ;
DROP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
CDR ;
CDR ;
CONTRACT %swap (pair
(pair (address %creator)
(nat %objkt_amount))
(pair (nat %objkt_id)
(pair
(nat %royalties)
(mutez %xtz_per_objkt)))) ;
IF_NONE
{ PUSH string "SWAP_NF" ; FAILWITH }
{} ;
PUSH mutez 0 ;
DIG 2 ;
TRANSFER_TOKENS ;
SWAP ;
NIL operation ;
DIG 2 ;
CONS ;
PAIR } } } }
{ IF_LEFT
{ DIG 4 ;
DIG 5 ;
DROP 2 ;
IF_LEFT
{ IF_LEFT
{ SWAP ;
UNIT ;
DIG 4 ;
SWAP ;
EXEC ;
DROP ;
DUP ;
DIG 3 ;
SWAP ;
EXEC ;
DROP ;
DUP ;
DUG 2 ;
CDR ;
CAR ;
CAR ;
CDR ;
CONTRACT %transfer (list (pair
(address %from_)
(list %txs (pair
(address %to_)
(nat %token_id)
(nat %amount))))) ;
IF_NONE
{ PUSH string "FA2_NF" ; FAILWITH }
{} ;
PUSH mutez 0 ;
DIG 2 ;
TRANSFER_TOKENS ;
SWAP ;
NIL operation ;
DIG 2 ;
CONS ;
PAIR }
{ DROP ;
UNIT ;
DIG 3 ;
SWAP ;
EXEC ;
DROP ;
DUP ;
DIG 2 ;
SWAP ;
EXEC ;
DROP ;
DUP ;
CAR ;
CDR ;
CAR ;
CDR ;
CONTRACT %unregistry unit ;
IF_NONE
{ PUSH string "REG_NF" ; FAILWITH }
{} ;
PUSH mutez 0 ;
UNIT ;
TRANSFER_TOKENS ;
SWAP ;
NIL operation ;
DIG 2 ;
CONS ;
PAIR } }
{ IF_LEFT
{ SWAP ;
UNIT ;
DIG 4 ;
SWAP ;
EXEC ;
DROP ;
DUP ;
DIG 3 ;
SWAP ;
EXEC ;
DROP ;
DUP ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
DUP 3 ;
CAR ;
CAR ;
CDR ;
DIG 3 ;
CAR ;
CAR ;
CAR ;
CDR ;
DIG 4 ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
NIL operation ;
PAIR }
{ SWAP ;
UNIT ;
DIG 4 ;
SWAP ;
EXEC ;
DROP ;
DUP ;
DIG 3 ;
SWAP ;
EXEC ;
DROP ;
DUP ;
DUG 2 ;
CDR ;
CAR ;
CAR ;
CDR ;
CONTRACT %update_operators (list (or
(pair %add_operator
(address %owner)
(address %operator)
(nat %token_id))
(pair %remove_operator
(address %owner)
(address %operator)
(nat %token_id)))) ;
IF_NONE
{ PUSH string "FA2_NF" ; FAILWITH }
{} ;
PUSH mutez 0 ;
DIG 2 ;
TRANSFER_TOKENS ;
SWAP ;
NIL operation ;
DIG 2 ;
CONS ;
PAIR } } }
{ DIG 2 ;
DROP ;
SWAP ;
UNIT ;
DIG 3 ;
SWAP ;
EXEC ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
DIG 4 ;
SWAP ;
EXEC ;
SWAP ;
DUP ;
DUG 2 ;
DUP 4 ;
SWAP ;
CDR ;
CDR ;
SWAP ;
GET ;
IF_NONE { PUSH nat 0 } {} ;
DIG 4 ;
SWAP ;
EXEC ;
DUP 3 ;
CDR ;
CDR ;
DUP 4 ;
CAR ;
CDR ;
CDR ;
CDR ;
DUP 6 ;
MEM ;
IF
{ PUSH nat 0 }
{ PUSH string "WR_ADDR" ; FAILWITH } ;
DIG 5 ;
SWAP ;
SOME ;
SWAP ;
UPDATE ;
DUP 4 ;
CDR ;
CAR ;
PAIR ;
DIG 3 ;
CAR ;
PAIR ;
DUG 2 ;
UNIT ;
TRANSFER_TOKENS ;
SWAP ;
NIL operation ;
DIG 2 ;
CONS ;
PAIR } } } ;
view "get_total_shares" unit nat
{ CDR ; CDR ; CAR ; CDR ; CDR } ;
view "get_total_received" unit nat
{ CDR ; CDR ; CAR ; CDR ; CAR } ;
view "get_administrator" unit address
{ CDR ; CAR ; CAR ; CAR ; CAR } ;
view "get_core_participants" unit (set address)
{ CDR ; CAR ; CAR ; CAR ; CDR } ;
view "get_shares" unit (map address nat)
{ CDR ; CAR ; CDR ; CDR ; CDR } } ;
PAIR ;
DUP ;
CAR ;
PUSH string "hic_proxy" ;
PACK ;
DIG 2 ;
CDR ;
PAIR ;
PAIR } } }
storage pair
administrator address
originatedContracts big_map(address, bytes)
proposedAdministrator option(address)
records big_map(string, bytes)
templates map(string, $templates_value)
@string_15 string
templates_value lambda
input pair (big_map string bytes) bytes
return pair (pair (address %address) (bytes %metadata)) (operation %operation)