x
1006
parameter (or
(or (nat %cancel_swap)
(or (pair %collect (nat %objkt_amount) (nat %swap_id))
(pair %curate (nat %hDAO_amount) (nat %objkt_id))))
(or
(or (unit %genesis)
(pair %mint_OBJKT (pair (address %address) (nat %amount))
(pair (bytes %metadata) (nat %royalties))))
(or
(pair %swap (nat %objkt_amount)
(pair (nat %objkt_id) (mutez %xtz_per_objkt)))
(address %update_manager))));
storage (pair
(pair (pair (address %curate) (pair (timestamp %genesis) (address %hdao)))
(pair (bool %locked)
(pair (address %manager) (big_map %metadata string bytes))))
(pair
(pair (address %objkt)
(pair (nat %objkt_id)
(big_map %royalties nat
(pair (address %issuer) (nat %royalties)))))
(pair (int %size)
(pair (nat %swap_id)
(big_map %swaps nat
(pair
(pair (address %issuer) (nat %objkt_amount))
(pair (nat %objkt_id) (mutez %xtz_per_objkt))))))));
code { DUP ;
CDR ;
SWAP ;
CAR ;
IF_LEFT
{ IF_LEFT
{ SENDER ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 2 ;
DUP ;
DUG 3 ;
GET ;
IF_NONE { PUSH int 148 ; FAILWITH } {} ;
CAR ;
CAR ;
COMPARE ;
EQ ;
IF
{}
{ PUSH string "WrongCondition: self.data.swaps[params].issuer == sp.sender" ;
FAILWITH } ;
NIL operation ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CAR ;
CAR ;
CONTRACT %transfer (list (pair (address %from_)
(list %txs (pair (address %to_)
(pair (nat %token_id)
(nat %amount)))))) ;
IF_NONE { PUSH int 256 ; FAILWITH } {} ;
PUSH mutez 0 ;
NIL (pair (address %from_)
(list %txs (pair (address %to_)
(pair (nat %token_id) (nat %amount))))) ;
NIL (pair (address %to_) (pair (nat %token_id) (nat %amount))) ;
DIG 6 ;
DUP ;
DUG 7 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 6 ;
DUP ;
DUG 7 ;
GET ;
IF_NONE { PUSH int 149 ; FAILWITH } {} ;
CAR ;
CDR ;
DIG 7 ;
DUP ;
DUG 8 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 7 ;
DUP ;
DUG 8 ;
GET ;
IF_NONE { PUSH int 149 ; FAILWITH } {} ;
CDR ;
CAR ;
PAIR %token_id %amount ;
SENDER ;
PAIR %to_ ;
CONS ;
SELF ;
ADDRESS ;
PAIR %from_ %txs ;
CONS ;
TRANSFER_TOKENS ;
CONS ;
DIG 2 ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CAR ;
SWAP ;
CDR ;
NONE (pair (pair (address %issuer) (nat %objkt_amount))
(pair (nat %objkt_id) (mutez %xtz_per_objkt))) ;
DIG 7 ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP }
{ IF_LEFT
{ DUP ;
CAR ;
PUSH nat 0 ;
COMPARE ;
LT ;
IF
{ SWAP ;
DUP ;
DUG 2 ;
CDR ;
CDR ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
GET ;
IF_NONE { PUSH int 155 ; FAILWITH } {} ;
CAR ;
CAR ;
SENDER ;
COMPARE ;
NEQ }
{ PUSH bool False } ;
IF
{}
{ PUSH string "WrongCondition: (params.objkt_amount > 0) & (sp.sender != self.data.swaps[params.swap_id].issuer)" ;
FAILWITH } ;
PUSH mutez 0 ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
GET ;
IF_NONE { PUSH int 157 ; FAILWITH } {} ;
CDR ;
CDR ;
COMPARE ;
NEQ ;
IF
{ SWAP ;
DUP ;
DUG 2 ;
CDR ;
CDR ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
GET ;
IF_NONE { PUSH int 159 ; FAILWITH } {} ;
CDR ;
CDR ;
AMOUNT ;
EDIV ;
IF_NONE { PUSH int 159 ; FAILWITH } {} ;
CAR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
COMPARE ;
EQ ;
IF
{ PUSH mutez 1 ;
DUP ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
GET ;
IF_NONE { PUSH int 161 ; FAILWITH } {} ;
CDR ;
CDR ;
EDIV ;
IF_NONE { PUSH int 161 ; FAILWITH } {} ;
CAR ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
GET ;
IF_NONE { PUSH int 159 ; FAILWITH } {} ;
CDR ;
CDR ;
AMOUNT ;
EDIV ;
IF_NONE { PUSH int 159 ; FAILWITH } {} ;
CAR ;
MUL ;
MUL ;
AMOUNT ;
COMPARE ;
EQ }
{ PUSH bool False } ;
IF { PUSH mutez 0 ; AMOUNT ; COMPARE ; GT } { PUSH bool False } ;
IF
{}
{ PUSH string "WrongCondition: ((params.objkt_amount == sp.fst(sp.ediv(sp.amount, self.data.swaps[params.swap_id].xtz_per_objkt).open_some())) & (sp.amount == sp.mutez(sp.fst(sp.ediv(sp.amount, self.data.swaps[params.swap_id].xtz_per_objkt).open_some()) * sp.fst(sp.ediv(self.data.swaps[params.swap_id].xtz_per_objkt, sp.mutez(1)).open_some())))) & (sp.amount > sp.tez(0))" ;
FAILWITH } ;
NIL operation ;
DIG 2 ;
DUP ;
CDR ;
CAR ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 4 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
GET ;
IF_NONE { PUSH int 169 ; FAILWITH } {} ;
CDR ;
CAR ;
GET ;
IF_NONE { PUSH int 169 ; FAILWITH } {} ;
CAR ;
CONTRACT unit ;
IF_NONE { PUSH int 169 ; FAILWITH } {} ;
PUSH mutez 1 ;
PUSH nat 25 ;
DIG 5 ;
DUP ;
CDR ;
CAR ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 7 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 6 ;
DUP ;
DUG 7 ;
CDR ;
GET ;
IF_NONE { PUSH int 166 ; FAILWITH } {} ;
CDR ;
CAR ;
GET ;
IF_NONE { PUSH int 166 ; FAILWITH } {} ;
CDR ;
ADD ;
PUSH nat 1000 ;
PUSH nat 25 ;
DIG 7 ;
DUP ;
CDR ;
CAR ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 9 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 8 ;
DUP ;
DUG 9 ;
CDR ;
GET ;
IF_NONE { PUSH int 165 ; FAILWITH } {} ;
CDR ;
CAR ;
GET ;
IF_NONE { PUSH int 165 ; FAILWITH } {} ;
CDR ;
ADD ;
PUSH mutez 1 ;
DUP ;
DUP ;
DIG 10 ;
DUP ;
DUG 11 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 10 ;
DUP ;
DUG 11 ;
CDR ;
GET ;
IF_NONE { PUSH int 161 ; FAILWITH } {} ;
CDR ;
CDR ;
EDIV ;
IF_NONE { PUSH int 161 ; FAILWITH } {} ;
CAR ;
DIG 10 ;
DUP ;
DUG 11 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 10 ;
DUP ;
DUG 11 ;
CDR ;
GET ;
IF_NONE { PUSH int 159 ; FAILWITH } {} ;
CDR ;
CDR ;
AMOUNT ;
EDIV ;
IF_NONE { PUSH int 159 ; FAILWITH } {} ;
CAR ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 165 ; FAILWITH } {} ;
CAR ;
MUL ;
EDIV ;
IF_NONE { PUSH int 165 ; FAILWITH } { CAR } ;
DIG 6 ;
DUP ;
CDR ;
CAR ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 8 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 7 ;
DUP ;
DUG 8 ;
CDR ;
GET ;
IF_NONE { PUSH int 166 ; FAILWITH } {} ;
CDR ;
CAR ;
GET ;
IF_NONE { PUSH int 166 ; FAILWITH } {} ;
CDR ;
MUL ;
EDIV ;
IF_NONE { PUSH int 166 ; FAILWITH } { CAR } ;
MUL ;
UNIT ;
TRANSFER_TOKENS ;
CONS ;
DIG 2 ;
DUP ;
DUG 3 ;
CAR ;
CDR ;
CDR ;
CAR ;
CONTRACT unit ;
IF_NONE { PUSH int 172 ; FAILWITH } {} ;
PUSH mutez 1 ;
PUSH nat 25 ;
DIG 5 ;
DUP ;
CDR ;
CAR ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 7 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 6 ;
DUP ;
DUG 7 ;
CDR ;
GET ;
IF_NONE { PUSH int 166 ; FAILWITH } {} ;
CDR ;
CAR ;
GET ;
IF_NONE { PUSH int 166 ; FAILWITH } {} ;
CDR ;
ADD ;
PUSH nat 1000 ;
PUSH nat 25 ;
DIG 7 ;
DUP ;
CDR ;
CAR ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 9 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 8 ;
DUP ;
DUG 9 ;
CDR ;
GET ;
IF_NONE { PUSH int 165 ; FAILWITH } {} ;
CDR ;
CAR ;
GET ;
IF_NONE { PUSH int 165 ; FAILWITH } {} ;
CDR ;
ADD ;
PUSH mutez 1 ;
DUP ;
DUP ;
DIG 10 ;
DUP ;
DUG 11 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 10 ;
DUP ;
DUG 11 ;
CDR ;
GET ;
IF_NONE { PUSH int 161 ; FAILWITH } {} ;
CDR ;
CDR ;
EDIV ;
IF_NONE { PUSH int 161 ; FAILWITH } {} ;
CAR ;
DIG 10 ;
DUP ;
DUG 11 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 10 ;
DUP ;
DUG 11 ;
CDR ;
GET ;
IF_NONE { PUSH int 159 ; FAILWITH } {} ;
CDR ;
CDR ;
AMOUNT ;
EDIV ;
IF_NONE { PUSH int 159 ; FAILWITH } {} ;
CAR ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 165 ; FAILWITH } {} ;
CAR ;
MUL ;
EDIV ;
IF_NONE { PUSH int 165 ; FAILWITH } { CAR } ;
DIG 6 ;
DUP ;
CDR ;
CAR ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 8 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 7 ;
DUP ;
DUG 8 ;
CDR ;
GET ;
IF_NONE { PUSH int 166 ; FAILWITH } {} ;
CDR ;
CAR ;
GET ;
IF_NONE { PUSH int 166 ; FAILWITH } {} ;
CDR ;
MUL ;
EDIV ;
IF_NONE { PUSH int 166 ; FAILWITH } { CAR } ;
PUSH nat 1000 ;
PUSH nat 25 ;
DIG 7 ;
DUP ;
CDR ;
CAR ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 9 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 8 ;
DUP ;
DUG 9 ;
CDR ;
GET ;
IF_NONE { PUSH int 165 ; FAILWITH } {} ;
CDR ;
CAR ;
GET ;
IF_NONE { PUSH int 165 ; FAILWITH } {} ;
CDR ;
ADD ;
PUSH mutez 1 ;
DUP ;
DUP ;
DIG 10 ;
DUP ;
DUG 11 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 10 ;
DUP ;
DUG 11 ;
CDR ;
GET ;
IF_NONE { PUSH int 161 ; FAILWITH } {} ;
CDR ;
CDR ;
EDIV ;
IF_NONE { PUSH int 161 ; FAILWITH } {} ;
CAR ;
DIG 10 ;
DUP ;
DUG 11 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 10 ;
DUP ;
DUG 11 ;
CDR ;
GET ;
IF_NONE { PUSH int 159 ; FAILWITH } {} ;
CDR ;
CDR ;
AMOUNT ;
EDIV ;
IF_NONE { PUSH int 159 ; FAILWITH } {} ;
CAR ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 165 ; FAILWITH } {} ;
CAR ;
MUL ;
EDIV ;
IF_NONE { PUSH int 165 ; FAILWITH } { CAR } ;
SUB ;
ABS ;
MUL ;
UNIT ;
TRANSFER_TOKENS ;
CONS ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
GET ;
IF_NONE { PUSH int 175 ; FAILWITH } {} ;
CAR ;
CAR ;
CONTRACT unit ;
IF_NONE { PUSH int 175 ; FAILWITH } {} ;
PUSH mutez 1 ;
PUSH nat 1000 ;
PUSH nat 25 ;
DIG 6 ;
DUP ;
CDR ;
CAR ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 8 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 7 ;
DUP ;
DUG 8 ;
CDR ;
GET ;
IF_NONE { PUSH int 165 ; FAILWITH } {} ;
CDR ;
CAR ;
GET ;
IF_NONE { PUSH int 165 ; FAILWITH } {} ;
CDR ;
ADD ;
PUSH mutez 1 ;
DUP ;
DUP ;
DIG 9 ;
DUP ;
DUG 10 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 9 ;
DUP ;
DUG 10 ;
CDR ;
GET ;
IF_NONE { PUSH int 161 ; FAILWITH } {} ;
CDR ;
CDR ;
EDIV ;
IF_NONE { PUSH int 161 ; FAILWITH } {} ;
CAR ;
DIG 9 ;
DUP ;
DUG 10 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 9 ;
DUP ;
DUG 10 ;
CDR ;
GET ;
IF_NONE { PUSH int 159 ; FAILWITH } {} ;
CDR ;
CDR ;
AMOUNT ;
EDIV ;
IF_NONE { PUSH int 159 ; FAILWITH } {} ;
CAR ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 165 ; FAILWITH } {} ;
CAR ;
MUL ;
EDIV ;
IF_NONE { PUSH int 165 ; FAILWITH } { CAR } ;
MUL ;
AMOUNT ;
SUB ;
UNIT ;
TRANSFER_TOKENS ;
CONS ;
DIG 2 ;
DUP ;
DUG 3 ;
CAR ;
CAR ;
CDR ;
CAR ;
NOW ;
COMPARE ;
LT ;
IF
{ DIG 2 ;
DUP ;
DUG 3 ;
CAR ;
CAR ;
CDR ;
CDR ;
CONTRACT %hDAO_batch (list (pair (nat %amount) (address %to_))) ;
IF_NONE { PUSH int 241 ; FAILWITH } {} ;
PUSH mutez 0 ;
NIL (pair (nat %amount) (address %to_)) ;
DIG 5 ;
DUP ;
DUG 6 ;
CAR ;
CDR ;
CDR ;
CAR ;
PUSH nat 25 ;
DIG 7 ;
DUP ;
CDR ;
CAR ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 9 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 8 ;
DUP ;
DUG 9 ;
CDR ;
GET ;
IF_NONE { PUSH int 166 ; FAILWITH } {} ;
CDR ;
CAR ;
GET ;
IF_NONE { PUSH int 166 ; FAILWITH } {} ;
CDR ;
ADD ;
PUSH nat 1000 ;
PUSH nat 25 ;
DIG 9 ;
DUP ;
CDR ;
CAR ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 11 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 10 ;
DUP ;
DUG 11 ;
CDR ;
GET ;
IF_NONE { PUSH int 165 ; FAILWITH } {} ;
CDR ;
CAR ;
GET ;
IF_NONE { PUSH int 165 ; FAILWITH } {} ;
CDR ;
ADD ;
PUSH mutez 1 ;
DUP ;
DUP ;
DIG 12 ;
DUP ;
DUG 13 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 12 ;
DUP ;
DUG 13 ;
CDR ;
GET ;
IF_NONE { PUSH int 161 ; FAILWITH } {} ;
CDR ;
CDR ;
EDIV ;
IF_NONE { PUSH int 161 ; FAILWITH } {} ;
CAR ;
DIG 12 ;
DUP ;
DUG 13 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 12 ;
DUP ;
DUG 13 ;
CDR ;
GET ;
IF_NONE { PUSH int 159 ; FAILWITH } {} ;
CDR ;
CDR ;
AMOUNT ;
EDIV ;
IF_NONE { PUSH int 159 ; FAILWITH } {} ;
CAR ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 165 ; FAILWITH } {} ;
CAR ;
MUL ;
EDIV ;
IF_NONE { PUSH int 165 ; FAILWITH } { CAR } ;
DIG 8 ;
DUP ;
CDR ;
CAR ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 10 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 9 ;
DUP ;
DUG 10 ;
CDR ;
GET ;
IF_NONE { PUSH int 166 ; FAILWITH } {} ;
CDR ;
CAR ;
GET ;
IF_NONE { PUSH int 166 ; FAILWITH } {} ;
CDR ;
MUL ;
EDIV ;
IF_NONE { PUSH int 166 ; FAILWITH } { CAR } ;
PUSH nat 1000 ;
PUSH nat 25 ;
DIG 9 ;
DUP ;
CDR ;
CAR ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 11 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 10 ;
DUP ;
DUG 11 ;
CDR ;
GET ;
IF_NONE { PUSH int 165 ; FAILWITH } {} ;
CDR ;
CAR ;
GET ;
IF_NONE { PUSH int 165 ; FAILWITH } {} ;
CDR ;
ADD ;
PUSH mutez 1 ;
DUP ;
DUP ;
DIG 12 ;
DUP ;
DUG 13 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 12 ;
DUP ;
DUG 13 ;
CDR ;
GET ;
IF_NONE { PUSH int 161 ; FAILWITH } {} ;
CDR ;
CDR ;
EDIV ;
IF_NONE { PUSH int 161 ; FAILWITH } {} ;
CAR ;
DIG 12 ;
DUP ;
DUG 13 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 12 ;
DUP ;
DUG 13 ;
CDR ;
GET ;
IF_NONE { PUSH int 159 ; FAILWITH } {} ;
CDR ;
CDR ;
AMOUNT ;
EDIV ;
IF_NONE { PUSH int 159 ; FAILWITH } {} ;
CAR ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 165 ; FAILWITH } {} ;
CAR ;
MUL ;
EDIV ;
IF_NONE { PUSH int 165 ; FAILWITH } { CAR } ;
SUB ;
ABS ;
PAIR %amount %to_ ;
CONS ;
DIG 5 ;
DUP ;
DUG 6 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 5 ;
DUP ;
DUG 6 ;
CDR ;
GET ;
IF_NONE { PUSH int 179 ; FAILWITH } {} ;
CAR ;
CAR ;
PUSH nat 2 ;
PUSH mutez 1 ;
DIG 8 ;
DUP ;
DUG 9 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 8 ;
DUP ;
DUG 9 ;
CDR ;
GET ;
IF_NONE { PUSH int 161 ; FAILWITH } {} ;
CDR ;
CDR ;
EDIV ;
IF_NONE { PUSH int 161 ; FAILWITH } {} ;
CAR ;
DIG 8 ;
DUP ;
DUG 9 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 8 ;
DUP ;
DUG 9 ;
CDR ;
GET ;
IF_NONE { PUSH int 159 ; FAILWITH } {} ;
CDR ;
CDR ;
AMOUNT ;
EDIV ;
IF_NONE { PUSH int 159 ; FAILWITH } {} ;
CAR ;
MUL ;
EDIV ;
IF_NONE { PUSH int 179 ; FAILWITH } { CAR } ;
PAIR %amount %to_ ;
CONS ;
SENDER ;
PUSH nat 2 ;
PUSH mutez 1 ;
DIG 8 ;
DUP ;
DUG 9 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 8 ;
DUP ;
DUG 9 ;
CDR ;
GET ;
IF_NONE { PUSH int 161 ; FAILWITH } {} ;
CDR ;
CDR ;
EDIV ;
IF_NONE { PUSH int 161 ; FAILWITH } {} ;
CAR ;
DIG 8 ;
DUP ;
DUG 9 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 8 ;
DUP ;
DUG 9 ;
CDR ;
GET ;
IF_NONE { PUSH int 159 ; FAILWITH } {} ;
CDR ;
CDR ;
AMOUNT ;
EDIV ;
IF_NONE { PUSH int 159 ; FAILWITH } {} ;
CAR ;
MUL ;
EDIV ;
IF_NONE { PUSH int 179 ; FAILWITH } { CAR } ;
PAIR %amount %to_ ;
CONS ;
TRANSFER_TOKENS ;
CONS }
{} }
{ NIL operation } ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CAR ;
CAR ;
CONTRACT %transfer (list (pair (address %from_)
(list %txs (pair (address %to_)
(pair (nat %token_id)
(nat %amount)))))) ;
IF_NONE { PUSH int 256 ; FAILWITH } {} ;
PUSH mutez 0 ;
NIL (pair (address %from_)
(list %txs (pair (address %to_)
(pair (nat %token_id) (nat %amount))))) ;
NIL (pair (address %to_) (pair (nat %token_id) (nat %amount))) ;
DIG 5 ;
DUP ;
DUG 6 ;
CAR ;
DIG 7 ;
DUP ;
DUG 8 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 7 ;
DUP ;
DUG 8 ;
CDR ;
GET ;
IF_NONE { PUSH int 181 ; FAILWITH } {} ;
CDR ;
CAR ;
PAIR %token_id %amount ;
SENDER ;
PAIR %to_ ;
CONS ;
SELF ;
ADDRESS ;
PAIR %from_ %txs ;
CONS ;
TRANSFER_TOKENS ;
CONS ;
DIG 2 ;
DUP ;
DUG 3 ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
DIG 7 ;
DUP ;
DUG 8 ;
CDR ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 183 ; FAILWITH } {} ;
DUP ;
CDR ;
SWAP ;
CAR ;
CAR ;
DIG 9 ;
DUP ;
DUG 10 ;
CAR ;
DIG 11 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 11 ;
DUP ;
DUG 12 ;
CDR ;
GET ;
IF_NONE { PUSH int 183 ; FAILWITH } {} ;
CAR ;
CDR ;
SUB ;
ABS ;
SWAP ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 ;
PUSH nat 0 ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
CDR ;
CDR ;
CDR ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
GET ;
IF_NONE { PUSH int 185 ; FAILWITH } {} ;
CAR ;
CDR ;
COMPARE ;
EQ ;
IF
{ DIG 2 ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CAR ;
SWAP ;
CDR ;
NONE (pair (pair (address %issuer) (nat %objkt_amount))
(pair (nat %objkt_id) (mutez %xtz_per_objkt))) ;
DIG 7 ;
CDR ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP }
{ SWAP ; DROP } }
{ NIL operation ;
DIG 2 ;
DUP ;
DUG 3 ;
CAR ;
CAR ;
CDR ;
CDR ;
CONTRACT %transfer (list (pair (address %from_)
(list %txs (pair (address %to_)
(pair (nat %token_id)
(nat %amount)))))) ;
IF_NONE { PUSH int 256 ; FAILWITH } {} ;
PUSH mutez 0 ;
NIL (pair (address %from_)
(list %txs (pair (address %to_)
(pair (nat %token_id) (nat %amount))))) ;
NIL (pair (address %to_) (pair (nat %token_id) (nat %amount))) ;
DIG 5 ;
DUP ;
DUG 6 ;
CAR ;
PUSH nat 0 ;
PAIR %token_id %amount ;
DIG 7 ;
DUP ;
DUG 8 ;
CAR ;
CAR ;
CAR ;
PAIR %to_ ;
CONS ;
SENDER ;
PAIR %from_ %txs ;
CONS ;
TRANSFER_TOKENS ;
CONS ;
DIG 2 ;
DUP ;
DUG 3 ;
CAR ;
CAR ;
CAR ;
CONTRACT %curate (pair (nat %hDAO_amount)
(pair (address %issuer) (nat %objkt_id))) ;
IF_NONE { PUSH int 219 ; FAILWITH } {} ;
PUSH mutez 0 ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
DIG 5 ;
DUP ;
DUG 6 ;
CDR ;
CAR ;
CDR ;
CDR ;
DIG 5 ;
DUP ;
DUG 6 ;
CDR ;
GET ;
IF_NONE { PUSH int 229 ; FAILWITH } {} ;
CAR ;
PAIR %issuer %objkt_id ;
DIG 4 ;
CAR ;
PAIR %hDAO_amount ;
TRANSFER_TOKENS ;
CONS } } }
{ IF_LEFT
{ IF_LEFT
{ DROP ;
DUP ;
CAR ;
CDR ;
CDR ;
CAR ;
SENDER ;
COMPARE ;
EQ ;
IF { DUP ; CAR ; CDR ; CAR ; NOT } { PUSH bool False } ;
IF
{}
{ PUSH string "WrongCondition: (sp.sender == self.data.manager) & (~ self.data.locked)" ;
FAILWITH } ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
CDR ;
CDR ;
NOW ;
PUSH int 3888000 ;
ADD ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
CDR ;
CDR ;
PUSH bool True ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
NIL operation }
{ DUP ;
CAR ;
CDR ;
PUSH nat 0 ;
COMPARE ;
LT ;
IF
{ DUP ;
CDR ;
CDR ;
PUSH nat 0 ;
SWAP ;
COMPARE ;
GE ;
IF
{ DUP ; CDR ; CDR ; PUSH nat 250 ; SWAP ; COMPARE ; LE }
{ PUSH bool False } }
{ PUSH bool False } ;
IF
{ DUP ; CDR ; CAR ; SIZE ; PUSH nat 53 ; COMPARE ; EQ }
{ PUSH bool False } ;
IF
{ DUP ; CAR ; CDR ; PUSH nat 10000 ; SWAP ; COMPARE ; LE }
{ PUSH bool False } ;
IF
{}
{ PUSH string "WrongCondition: (((params.amount > 0) & ((params.royalties >= 0) & (params.royalties <= 250))) & (sp.len(params.metadata) == 53)) & (params.amount <= 10000)" ;
FAILWITH } ;
NIL operation ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CAR ;
CAR ;
CONTRACT %mint (pair (pair (address %address) (nat %amount))
(pair (nat %token_id)
(map %token_info string bytes))) ;
IF_NONE { PUSH int 192 ; FAILWITH } {} ;
PUSH mutez 0 ;
EMPTY_MAP string bytes ;
DIG 4 ;
DUP ;
DUG 5 ;
CDR ;
CAR ;
SOME ;
PUSH string "" ;
UPDATE ;
DIG 5 ;
DUP ;
DUG 6 ;
CDR ;
CAR ;
CDR ;
CAR ;
PAIR %token_id %token_info ;
DIG 4 ;
DUP ;
CAR ;
CDR ;
SWAP ;
DUP ;
DUG 6 ;
CAR ;
CAR ;
PAIR %address %amount ;
PAIR ;
TRANSFER_TOKENS ;
CONS ;
DIG 2 ;
DUP ;
DUG 3 ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DIG 6 ;
CDR ;
CDR ;
SENDER ;
PAIR %issuer %royalties ;
SOME ;
DIG 7 ;
CDR ;
CAR ;
CDR ;
CAR ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CDR ;
SWAP ;
CAR ;
PUSH nat 1 ;
ADD ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP } }
{ IF_LEFT
{ DUP ;
CAR ;
PUSH nat 0 ;
COMPARE ;
LT ;
IF
{}
{ PUSH string "WrongCondition: params.objkt_amount > 0" ; FAILWITH } ;
NIL operation ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
CAR ;
CAR ;
CONTRACT %transfer (list (pair (address %from_)
(list %txs (pair (address %to_)
(pair (nat %token_id)
(nat %amount)))))) ;
IF_NONE { PUSH int 256 ; FAILWITH } {} ;
PUSH mutez 0 ;
NIL (pair (address %from_)
(list %txs (pair (address %to_)
(pair (nat %token_id) (nat %amount))))) ;
NIL (pair (address %to_) (pair (nat %token_id) (nat %amount))) ;
DIG 5 ;
DUP ;
CAR ;
SWAP ;
DUP ;
DUG 7 ;
CDR ;
CAR ;
PAIR %token_id %amount ;
SELF ;
ADDRESS ;
PAIR %to_ ;
CONS ;
SENDER ;
PAIR %from_ %txs ;
CONS ;
TRANSFER_TOKENS ;
CONS ;
DIG 2 ;
DUP ;
DUG 3 ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DIG 6 ;
DUP ;
CDR ;
CDR ;
SWAP ;
DUP ;
DUG 8 ;
CDR ;
CAR ;
PAIR %objkt_id %xtz_per_objkt ;
DIG 7 ;
CAR ;
SENDER ;
PAIR %issuer %objkt_amount ;
PAIR ;
SOME ;
DIG 7 ;
CDR ;
CDR ;
CDR ;
CAR ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CDR ;
SWAP ;
CAR ;
PUSH nat 1 ;
ADD ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP }
{ SWAP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
CDR ;
CAR ;
SENDER ;
COMPARE ;
EQ ;
IF
{}
{ PUSH string "WrongCondition: sp.sender == self.data.manager" ;
FAILWITH } ;
SWAP ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CAR ;
SWAP ;
CDR ;
CDR ;
DIG 4 ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
NIL operation } } } ;
NIL operation ;
SWAP ;
ITER { CONS } ;
PAIR }