x
152
parameter (or (or (unit %default) (list %enforce_conditions (pair (pair (nat %amount) (address %claimer)) (pair (bytes %condition_id) (pair (option %extra bytes) (pair %token (address %address) (nat %token_id))))))) (or (address %update_admin) (or (address %update_treasury) (unit %withdraw))));storage (pair (pair (address %admin) (mutez %amount)) (pair (big_map %metadata string bytes) (address %treasury)));code { UNPAIR ; IF_LEFT { IF_LEFT { DROP ; UNPAIR ; CAR ; AMOUNT ; SWAP ; PAIR ; PAIR ; NIL operation } { DUP ; IF_CONS { NONE (map address nat) ; SWAP ; DUP ; DUG 2 ; GET 5 ; IF_NONE {} { DROP 2 ; DUP ; GET 5 ; IF_NONE { PUSH int 562 ; FAILWITH } {} ; UNPACK (map address nat) } ; DUP 5 ; CAR ; CDR ; SWAP ; DUP ; DUG 2 ; IF_NONE { DROP 5 ; DUP ; GET 4 ; CONTRACT unit ; IF_NONE { PUSH int 575 ; FAILWITH } {} ; NIL operation ; SWAP ; DUP 3 ; CAR ; CDR ; UNIT ; TRANSFER_TOKENS ; CONS } { SWAP ; DUP ; DUG 2 ; NIL operation ; DUP 3 ; ITER { DUP ; CDR ; PUSH nat 10000 ; SWAP ; DUP 7 ; MUL ; EDIV ; IF_NONE { PUSH int 568 ; FAILWITH } {} ; CAR ; DUG 2 ; CAR ; CONTRACT unit ; IF_NONE { PUSH int 569 ; FAILWITH } {} ; DUP 3 ; UNIT ; TRANSFER_TOKENS ; CONS ; SWAP ; DIG 2 ; SUB_MUTEZ ; IF_NONE { PUSH int 570 ; FAILWITH } {} ; SWAP } ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; PUSH mutez 0 ; DUP 3 ; COMPARE ; GT ; IF { DUP 3 ; GET 4 ; CONTRACT unit ; IF_NONE { PUSH int 573 ; FAILWITH } {} ; DIG 2 ; UNIT ; TRANSFER_TOKENS ; CONS } { SWAP ; DROP } } } { DROP ; NIL operation } } } { IF_LEFT { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "WrongCondition: sp.sender == self.data.admin" ; FAILWITH } ; SWAP ; UNPAIR ; CDR ; DIG 2 ; PAIR ; PAIR ; NIL operation } { IF_LEFT { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; SENDER ; COMPARE ; EQ ; IF {} { PUSH string "WrongCondition: sp.sender == self.data.admin" ; FAILWITH } ; UPDATE 4 ; NIL operation } { DROP ; DUP ; GET 4 ; CONTRACT unit ; IF_NONE { PUSH int 553 ; FAILWITH } {} ; NIL operation ; SWAP ; BALANCE ; UNIT ; TRANSFER_TOKENS ; CONS } } } ; NIL operation ; SWAP ; ITER { CONS } ; PAIR }