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 }