x
865
1829
parameter (or
(or
(or (or (nat %bailout) (nat %burn))
(or
(pair %create_vault (bool %allows_settlement)
(pair (option %baker key_hash)
(contract %contract_address_callback address)))
(or (lambda %execute unit (list operation)) (nat %internal_bailout))))
(or
(or (nat %internal_burn)
(or
(pair %internal_liquidate (address %vault_owner)
(nat %token_amount))
(nat %internal_mint)))
(or
(pair %internal_settle_with_vault (address %vault_owner)
(pair (nat %token_amount)
(address %recipient)))
(or (mutez %internal_withdraw)
(pair %liquidate (address %vault_owner) (nat %token_amount))))))
(or
(or
(or (nat %mint)
(pair %remove_administrator (address %administrator_to_remove)
(nat %token_id)))
(or
(pair %set_administrator (address %administrator_to_set)
(nat %token_id))
(or
(pair %set_contracts
(pair (address %governance_token_contract)
(address %options_contract))
(pair (address %reward_pool_contract)
(pair (address %savings_pool_contract)
(address %target_price_oracle))))
(nat %set_reference_interest_rate))))
(or
(or (nat %set_target_price)
(or (mutez %set_vault_balance) (option %set_vault_delegate key_hash)))
(or
(pair %settle_with_vault (address %vault_owner)
(pair (nat %token_amount)
(address %recipient)))
(or (unit %update) (mutez %withdraw))))));
storage (pair
(pair
(pair
(pair (timestamp %accrual_update_timestamp)
(big_map %administrators (pair (address %owner) (nat %token_id))
unit))
(pair (nat %compound_interest_rate) (address %governance_token_contract)))
(pair (pair (address %options_contract) (nat %reference_interest_rate))
(pair (address %reward_pool_contract) (address %savings_pool_contract))))
(pair
(pair (pair (address %sender) (nat %target_price))
(pair (address %target_price_oracle) (address %token_contract)))
(pair (pair (nat %token_id) (nat %total_supply))
(pair
(big_map %vault_contexts address
(pair
(pair (address %address)
(bool %allows_settlement))
(pair (mutez %balance)
(pair (bool %is_being_liquidated)
(nat %minted)))))
(big_map %vault_lookup address address)))));
code { LAMBDA
(pair unit
(pair (list operation)
(pair
(pair
(pair (pair timestamp (big_map (pair address nat) unit))
(pair nat address))
(pair (pair address nat) (pair address address)))
(pair (pair (pair address nat) (pair address address))
(pair (pair nat nat)
(pair
(big_map address
(pair (pair address bool)
(pair mutez (pair bool nat))))
(big_map address address)))))))
(pair unit
(pair (list operation)
(pair
(pair
(pair (pair timestamp (big_map (pair address nat) unit))
(pair nat address))
(pair (pair address nat) (pair address address)))
(pair (pair (pair address nat) (pair address address))
(pair (pair nat nat)
(pair
(big_map address
(pair (pair address bool)
(pair mutez (pair bool nat))))
(big_map address address)))))))
{ CDR ;
UNPAIR ;
SWAP ;
DUP ;
DUG 2 ;
GET 3 ;
GET 3 ;
CONTRACT %get_price (contract nat) ;
IF_NONE { PUSH int 69 ; FAILWITH } {} ;
PUSH mutez 0 ;
SELF_ADDRESS ;
CONTRACT %set_target_price nat ;
IF_NONE { PUSH int 71 ; FAILWITH } {} ;
TRANSFER_TOKENS ;
CONS ;
UNIT ;
PAIR 3 } ;
SWAP ;
LAMBDA
(pair unit
(pair (list operation)
(pair
(pair
(pair (pair timestamp (big_map (pair address nat) unit))
(pair nat address))
(pair (pair address nat) (pair address address)))
(pair (pair (pair address nat) (pair address address))
(pair (pair nat nat)
(pair
(big_map address
(pair (pair address bool)
(pair mutez (pair bool nat))))
(big_map address address)))))))
(pair unit
(pair (list operation)
(pair
(pair
(pair (pair timestamp (big_map (pair address nat) unit))
(pair nat address))
(pair (pair address nat) (pair address address)))
(pair (pair (pair address nat) (pair address address))
(pair (pair nat nat)
(pair
(big_map address
(pair (pair address bool)
(pair mutez (pair bool nat))))
(big_map address address)))))))
{ UNPAIR 3 ;
SWAP ;
DUP 3 ;
CAR ;
CAR ;
CAR ;
CAR ;
NOW ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 133 ; FAILWITH } {} ;
DUP ;
PUSH nat 0 ;
COMPARE ;
LT ;
IF
{ DIG 2 ;
DROP ;
PUSH nat 1000000000000 ;
DUP 4 ;
GET 5 ;
CDR ;
DUP 3 ;
DUP 6 ;
CAR ;
GET 3 ;
CDR ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 136 ; FAILWITH } { CAR } ;
PUSH nat 1000000000000 ;
DUP 5 ;
GET 5 ;
CDR ;
DUP 4 ;
PUSH nat 316 ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 138 ; FAILWITH } { CAR } ;
DUP 5 ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
CDR ;
PUSH nat 1000000000000 ;
DIG 7 ;
PUSH nat 316 ;
DUP 11 ;
CAR ;
GET 3 ;
CDR ;
ADD ;
MUL ;
PUSH nat 1000000000000 ;
ADD ;
DIG 9 ;
CAR ;
CAR ;
GET 3 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 142 ; FAILWITH } { CAR } ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
DUG 3 ;
DIG 2 ;
DUP 4 ;
GET 3 ;
GET 4 ;
CONTRACT %mint (pair address (pair nat nat)) ;
IF_NONE { PUSH int 120 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 5 ;
DIG 6 ;
DUP ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 8 ;
CAR ;
GET 6 ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUP 4 ;
GET 3 ;
GET 4 ;
CONTRACT %mint (pair address (pair nat nat)) ;
IF_NONE { PUSH int 120 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
DIG 6 ;
DUP ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 8 ;
CAR ;
GET 5 ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUG 2 ;
DIG 3 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
DIG 5 ;
DIG 6 ;
ADD ;
ADD ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
CDR ;
NOW ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
SWAP }
{ DROP ; SWAP ; DROP } ;
UNIT ;
PAIR 3 } ;
SWAP ;
LAMBDA
(pair (pair address nat)
(pair (list operation)
(pair
(pair
(pair (pair timestamp (big_map (pair address nat) unit))
(pair nat address))
(pair (pair address nat) (pair address address)))
(pair (pair (pair address nat) (pair address address))
(pair (pair nat nat)
(pair
(big_map address
(pair (pair address bool)
(pair mutez (pair bool nat))))
(big_map address address)))))))
(pair unit
(pair (list operation)
(pair
(pair
(pair (pair timestamp (big_map (pair address nat) unit))
(pair nat address))
(pair (pair address nat) (pair address address)))
(pair (pair (pair address nat) (pair address address))
(pair (pair nat nat)
(pair
(big_map address
(pair (pair address bool)
(pair mutez (pair bool nat))))
(big_map address address)))))))
{ UNPAIR 3 ;
SWAP ;
DUP 3 ;
CAR ;
CAR ;
GET 4 ;
CONTRACT %update_stake (pair address nat) ;
IF_NONE { PUSH int 161 ; FAILWITH } {} ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS ;
UNIT ;
PAIR 3 } ;
SWAP ;
LAMBDA
(pair unit
(pair (list operation)
(pair
(pair
(pair (pair timestamp (big_map (pair address nat) unit))
(pair nat address))
(pair (pair address nat) (pair address address)))
(pair (pair (pair address nat) (pair address address))
(pair (pair nat nat)
(pair
(big_map address
(pair (pair address bool)
(pair mutez (pair bool nat))))
(big_map address address)))))))
(pair unit
(pair (list operation)
(pair
(pair
(pair (pair timestamp (big_map (pair address nat) unit))
(pair nat address))
(pair (pair address nat) (pair address address)))
(pair (pair (pair address nat) (pair address address))
(pair (pair nat nat)
(pair
(big_map address
(pair (pair address bool)
(pair mutez (pair bool nat))))
(big_map address address)))))))
{ CDR ;
UNPAIR ;
SELF_ADDRESS ;
SENDER ;
COMPARE ;
EQ ;
IF {} { PUSH int 400 ; FAILWITH } ;
UNIT ;
PAIR 3 } ;
SWAP ;
LAMBDA
(pair nat
(pair (list operation)
(pair
(pair
(pair (pair timestamp (big_map (pair address nat) unit))
(pair nat address))
(pair (pair address nat) (pair address address)))
(pair (pair (pair address nat) (pair address address))
(pair (pair nat nat)
(pair
(big_map address
(pair (pair address bool)
(pair mutez (pair bool nat))))
(big_map address address)))))))
(pair unit
(pair (list operation)
(pair
(pair
(pair (pair timestamp (big_map (pair address nat) unit))
(pair nat address))
(pair (pair address nat) (pair address address)))
(pair (pair (pair address nat) (pair address address))
(pair (pair nat nat)
(pair
(big_map address
(pair (pair address bool)
(pair mutez (pair bool nat))))
(big_map address address)))))))
{ UNPAIR 3 ;
SWAP ;
DUP 3 ;
CAR ;
CAR ;
CAR ;
CDR ;
DIG 2 ;
SENDER ;
PAIR ;
MEM ;
IF {} { PUSH int 401 ; FAILWITH } ;
UNIT ;
PAIR 3 } ;
SWAP ;
UNPAIR ;
IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
NIL operation ;
DIG 4 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
DIG 3 ;
DIG 2 ;
DIG 3 ;
DIG 3 ;
DIG 3 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
CDR ;
SENDER ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
DUG 3 ;
CAR ;
GET 6 ;
CONTRACT %bailout nat ;
IF_NONE { PUSH int 581 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
TRANSFER_TOKENS ;
CONS ;
SELF %internal_bailout ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS }
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
NIL operation ;
DIG 4 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
DIG 3 ;
DIG 2 ;
DIG 3 ;
DIG 3 ;
DIG 3 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
CDR ;
SENDER ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 ;
SELF %internal_burn ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS } }
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
GET 7 ;
SENDER ;
MEM ;
IF
{ NIL operation ;
DUP 3 ;
GET 7 ;
SENDER ;
GET ;
IF_NONE { PUSH int 227 ; FAILWITH } {} ;
CAR ;
CAR ;
CONTRACT unit ;
IF_NONE { PUSH int 227 ; FAILWITH } {} ;
AMOUNT ;
UNIT ;
TRANSFER_TOKENS ;
CONS }
{ NIL operation ;
SELF_ADDRESS ;
AMOUNT ;
DUP 4 ;
GET 3 ;
CREATE_CONTRACT { parameter (or (unit %default)
(or
(option %set_delegate key_hash)
(pair %withdraw
(address %recipient)
(mutez %amount)))) ;
storage address ;
code { CAST (pair
(or unit
(or (option key_hash)
(pair address mutez)))
address) ;
UNPAIR ;
IF_LEFT
{ DROP ;
DUP ;
CONTRACT %set_vault_balance mutez ;
IF_NONE
{ PUSH int 64 ; FAILWITH }
{} ;
NIL operation ;
SWAP ;
PUSH mutez 0 ;
BALANCE ;
TRANSFER_TOKENS ;
CONS }
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
SENDER ;
COMPARE ;
EQ ;
IF
{}
{ PUSH int 401 ; FAILWITH } ;
SET_DELEGATE ;
NIL operation ;
SWAP ;
CONS ;
SELF_ADDRESS ;
CONTRACT unit ;
IF_NONE
{ PUSH int 57 ; FAILWITH }
{} ;
PUSH mutez 0 ;
UNIT ;
TRANSFER_TOKENS ;
CONS }
{ SWAP ;
DUP ;
DUG 2 ;
SENDER ;
COMPARE ;
EQ ;
IF
{}
{ PUSH int 401 ; FAILWITH } ;
DUP ;
CAR ;
CONTRACT unit ;
IF_NONE
{ PUSH int 79 ; FAILWITH }
{} ;
NIL operation ;
SWAP ;
DIG 2 ;
CDR ;
UNIT ;
TRANSFER_TOKENS ;
CONS } } ;
NIL operation ;
SWAP ;
ITER { CONS } ;
PAIR } } ;
PAIR ;
DUP ;
DUG 2 ;
CAR ;
CONS ;
SWAP ;
DIG 3 ;
DUP ;
GET 7 ;
PUSH (pair bool nat) (Pair False 0) ;
AMOUNT ;
PAIR ;
DUP 6 ;
CAR ;
DUP 5 ;
CDR ;
PAIR ;
PAIR ;
SOME ;
SENDER ;
UPDATE ;
UPDATE 7 ;
DUP ;
GET 8 ;
SENDER ;
SOME ;
DIG 3 ;
CDR ;
UPDATE ;
UPDATE 8 ;
DUG 2 } ;
SWAP ;
GET 4 ;
PUSH mutez 0 ;
DUP 4 ;
GET 7 ;
SENDER ;
GET ;
IF_NONE { PUSH int 229 ; FAILWITH } {} ;
CAR ;
CAR ;
TRANSFER_TOKENS ;
CONS }
{ IF_LEFT
{ NIL operation ;
DUP 4 ;
PUSH nat 0 ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
UNPAIR 3 ;
DUG 8 ;
DUG 8 ;
DUG 8 ;
DUG 8 ;
DIG 7 ;
DIG 8 ;
DIG 8 ;
DIG 8 ;
DUP 3 ;
UNIT ;
EXEC ;
NIL operation ;
SWAP ;
ITER { CONS } ;
ITER { DIG 2 ; SWAP ; CONS ; SWAP } ;
DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP }
{ NIL operation ;
DUP 5 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
UNPAIR 3 ;
DUG 8 ;
DUG 8 ;
DUG 8 ;
DUG 8 ;
DIG 7 ;
DIG 8 ;
DIG 8 ;
DIG 8 ;
DIG 3 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 5 ;
GET 3 ;
CAR ;
CAR ;
GET ;
IF_NONE { PUSH int 606 ; FAILWITH } {} ;
DUP 5 ;
GET 3 ;
CAR ;
CDR ;
DUP 5 ;
MUL ;
PUSH mutez 1 ;
PUSH nat 1000000000000 ;
PUSH nat 2 ;
DUP 4 ;
LSR ;
DUP 4 ;
ADD ;
EDIV ;
IF_NONE { PUSH int 610 ; FAILWITH } { CAR } ;
MUL ;
DUP ;
PUSH mutez 1000 ;
SWAP ;
COMPARE ;
GE ;
IF {} { PUSH int 602 ; FAILWITH } ;
PUSH nat 1000000000000 ;
DUP 8 ;
CAR ;
CAR ;
GET 3 ;
DUP 5 ;
GET 6 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 614 ; FAILWITH } { CAR } ;
DIG 3 ;
DUP 8 ;
CAR ;
CAR ;
GET 3 ;
PUSH nat 1000000000000 ;
DUP 9 ;
DUP 5 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 615 ; FAILWITH } {} ;
MUL ;
EDIV ;
IF_NONE { PUSH int 615 ; FAILWITH } { CAR } ;
UPDATE 6 ;
DUP ;
GET 3 ;
DUP 4 ;
SWAP ;
SUB ;
UPDATE 3 ;
DUG 3 ;
DUP 8 ;
DUP ;
GET 7 ;
DUP 6 ;
SOME ;
DIG 10 ;
GET 3 ;
CAR ;
CAR ;
UPDATE ;
UPDATE 7 ;
DUG 7 ;
DUP 4 ;
CAR ;
CDR ;
IF
{ DIG 2 ;
DROP ;
DIG 3 ;
DROP ;
DIG 6 ;
DROP ;
DIG 6 ;
DROP ;
DIG 7 ;
DROP ;
DIG 7 ;
DROP ;
DIG 6 ;
DUP 7 ;
GET 3 ;
CAR ;
CDR ;
DUP 7 ;
DIG 3 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 620 ; FAILWITH } {} ;
MUL ;
DUP 7 ;
GET 3 ;
CAR ;
CAR ;
PAIR ;
SWAP ;
DIG 6 ;
DIG 5 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
DIG 4 ;
DIG 2 ;
DIG 4 ;
DIG 4 }
{ DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 5 ;
DROP ;
DIG 5 ;
DROP ;
DIG 5 ;
DROP ;
DIG 5 ;
DROP ;
DIG 5 ;
DROP } ;
DUG 2 ;
CAR ;
CAR ;
CONTRACT %withdraw (pair address mutez) ;
IF_NONE { PUSH int 622 ; FAILWITH } {} ;
PUSH mutez 0 ;
DIG 3 ;
DUP 6 ;
CAR ;
GET 6 ;
PAIR ;
TRANSFER_TOKENS ;
CONS ;
DUP 3 ;
GET 3 ;
GET 4 ;
CONTRACT %burn (pair address (pair nat nat)) ;
IF_NONE { PUSH int 120 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
DIG 5 ;
DUP ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 7 ;
CAR ;
GET 6 ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUP 3 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
CAR ;
DIG 5 ;
DIG 6 ;
GET 5 ;
CDR ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 626 ; FAILWITH } {} ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP } } } }
{ IF_LEFT
{ IF_LEFT
{ NIL operation ;
DUP 5 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
UNPAIR 3 ;
DUG 8 ;
DUG 8 ;
DUG 8 ;
DUG 8 ;
DIG 7 ;
DIG 8 ;
DIG 8 ;
DIG 8 ;
PUSH nat 1000001 ;
DUP 4 ;
COMPARE ;
GE ;
IF {} { PUSH int 602 ; FAILWITH } ;
DIG 3 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 5 ;
GET 3 ;
CAR ;
CAR ;
GET ;
IF_NONE { PUSH int 348 ; FAILWITH } {} ;
PUSH nat 1000000000000 ;
DUP 6 ;
CAR ;
CAR ;
GET 3 ;
DUP 3 ;
GET 6 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 350 ; FAILWITH } { CAR } ;
DUP 6 ;
GET 3 ;
CAR ;
CDR ;
DUP 6 ;
DUP 3 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 351 ; FAILWITH } {} ;
MUL ;
DIG 2 ;
DUP 7 ;
CAR ;
CAR ;
GET 3 ;
PUSH nat 1000000000000 ;
DUP 8 ;
DUP 6 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 353 ; FAILWITH } {} ;
MUL ;
EDIV ;
IF_NONE { PUSH int 353 ; FAILWITH } { CAR } ;
UPDATE 6 ;
DUG 2 ;
DUP 7 ;
DUP ;
GET 7 ;
DUP 5 ;
SOME ;
DIG 9 ;
GET 3 ;
CAR ;
CAR ;
UPDATE ;
UPDATE 7 ;
DUG 6 ;
DIG 4 ;
DUP 7 ;
GET 3 ;
GET 4 ;
CONTRACT %burn (pair address (pair nat nat)) ;
IF_NONE { PUSH int 120 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 8 ;
DIG 9 ;
DUP ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 11 ;
GET 3 ;
CAR ;
CAR ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUG 4 ;
DUP 7 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
CAR ;
DUP 10 ;
DIG 11 ;
GET 5 ;
CDR ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 359 ; FAILWITH } {} ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUG 6 ;
DUP 3 ;
CAR ;
CDR ;
IF
{ SWAP ;
DROP ;
SWAP ;
DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP ;
DIG 3 ;
SWAP ;
DUP 4 ;
GET 3 ;
CAR ;
CAR ;
PAIR ;
SWAP ;
DUG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR }
{ DROP 4 ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP } }
{ IF_LEFT
{ NIL operation ;
DUP 5 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
UNPAIR 3 ;
DUG 8 ;
DUG 8 ;
DUG 8 ;
DUG 8 ;
DIG 7 ;
DIG 8 ;
DIG 8 ;
DIG 8 ;
DUP 4 ;
GET 7 ;
DUP 4 ;
CAR ;
GET ;
IF_NONE { PUSH int 405 ; FAILWITH } {} ;
PUSH nat 1000000000000 ;
PUSH mutez 1 ;
DUP 3 ;
GET 3 ;
EDIV ;
IF_NONE { UNIT ; FAILWITH } {} ;
CAR ;
MUL ;
PUSH nat 2 ;
DUP 7 ;
GET 3 ;
CAR ;
CDR ;
PUSH nat 1000000000000 ;
DUP 9 ;
CAR ;
CAR ;
GET 3 ;
DUP 6 ;
GET 6 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 408 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
SWAP ;
DUP ;
DUG 2 ;
COMPARE ;
LT ;
IF { PUSH bool True } { SWAP ; DUP ; DUG 2 ; GET 5 } ;
IF {} { PUSH int 802 ; FAILWITH } ;
SWAP ;
PUSH bool True ;
UPDATE 5 ;
SWAP ;
PUSH nat 3 ;
DUP 7 ;
GET 3 ;
CAR ;
CDR ;
DUP 7 ;
CDR ;
MUL ;
LSR ;
DUP 7 ;
GET 3 ;
CAR ;
CDR ;
DUP 7 ;
CDR ;
MUL ;
ADD ;
PUSH mutez 1 ;
PUSH nat 1000000000000 ;
DUP 3 ;
EDIV ;
IF_NONE { PUSH int 418 ; FAILWITH } { CAR } ;
MUL ;
DUP 8 ;
GET 3 ;
CAR ;
CDR ;
DUP 8 ;
CDR ;
PUSH nat 1000000000000 ;
DUP 11 ;
CAR ;
CAR ;
GET 3 ;
DUP 8 ;
GET 6 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 408 ; FAILWITH } { CAR } ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 419 ; FAILWITH } {} ;
MUL ;
DUP ;
PUSH nat 3 ;
SWAP ;
MUL ;
DUP 4 ;
DUP 6 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 421 ; FAILWITH } {} ;
COMPARE ;
LT ;
IF {} { PUSH int 803 ; FAILWITH } ;
PUSH mutez 1000 ;
DUP 3 ;
COMPARE ;
GE ;
IF {} { PUSH int 602 ; FAILWITH } ;
PUSH nat 100 ;
PUSH nat 3 ;
DUP 3 ;
MUL ;
MUL ;
PUSH nat 105 ;
DUP 5 ;
DUP 7 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 424 ; FAILWITH } {} ;
MUL ;
COMPARE ;
GE ;
IF { DIG 4 ; PUSH bool False ; UPDATE 5 ; DUG 4 } {} ;
DIG 6 ;
DUP 9 ;
GET 3 ;
GET 4 ;
CONTRACT %burn (pair address (pair nat nat)) ;
IF_NONE { PUSH int 120 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 10 ;
CDR ;
DIG 11 ;
DUP ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 13 ;
GET 3 ;
CAR ;
CAR ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUG 6 ;
DUP 9 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
CAR ;
DUP 12 ;
CDR ;
DIG 13 ;
GET 5 ;
CDR ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 429 ; FAILWITH } {} ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUG 8 ;
DUP 5 ;
DUP 10 ;
CAR ;
CAR ;
GET 3 ;
PUSH nat 1000000000000 ;
DUP 11 ;
CDR ;
PUSH nat 1000000000000 ;
DUP 14 ;
CAR ;
CAR ;
GET 3 ;
DIG 10 ;
GET 6 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 408 ; FAILWITH } { CAR } ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 431 ; FAILWITH } {} ;
MUL ;
EDIV ;
IF_NONE { PUSH int 431 ; FAILWITH } { CAR } ;
UPDATE 6 ;
DUP ;
GET 3 ;
DUP 4 ;
SWAP ;
SUB ;
UPDATE 3 ;
DUG 4 ;
DIG 8 ;
DUP ;
GET 7 ;
DUP 7 ;
SOME ;
DUP 11 ;
CAR ;
UPDATE ;
UPDATE 7 ;
DUG 8 ;
DUP 5 ;
CAR ;
CDR ;
IF
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 3 ;
DROP ;
DIG 6 ;
DROP ;
DIG 6 ;
DROP ;
DIG 7 ;
DROP ;
DIG 7 ;
DROP ;
DIG 6 ;
SWAP ;
DIG 5 ;
CAR ;
PAIR ;
SWAP ;
DIG 5 ;
DIG 5 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
DIG 3 ;
DIG 3 }
{ DROP ;
SWAP ;
DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 3 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP } ;
DUG 2 ;
CAR ;
CAR ;
CONTRACT %withdraw (pair address mutez) ;
IF_NONE { PUSH int 438 ; FAILWITH } {} ;
PUSH mutez 0 ;
DIG 3 ;
DUP 5 ;
GET 3 ;
CAR ;
CAR ;
PAIR ;
TRANSFER_TOKENS ;
CONS }
{ NIL operation ;
DUP 5 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
UNPAIR 3 ;
DUG 8 ;
DUG 8 ;
DUG 8 ;
DUG 8 ;
DIG 7 ;
DIG 8 ;
DIG 8 ;
DIG 8 ;
PUSH nat 1000001 ;
DUP 4 ;
COMPARE ;
GE ;
IF {} { PUSH int 602 ; FAILWITH } ;
DIG 3 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 5 ;
GET 3 ;
CAR ;
CAR ;
GET ;
IF_NONE { PUSH int 285 ; FAILWITH } {} ;
PUSH nat 1000000000000 ;
DUP 6 ;
CAR ;
CAR ;
GET 3 ;
DUP 3 ;
GET 6 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 288 ; FAILWITH } { CAR } ;
DUP 6 ;
GET 3 ;
CAR ;
CDR ;
DUP 6 ;
DUP 3 ;
ADD ;
MUL ;
DUP ;
PUSH nat 3 ;
SWAP ;
MUL ;
PUSH nat 1000000000000 ;
PUSH mutez 1 ;
DUP 6 ;
GET 3 ;
EDIV ;
IF_NONE { UNIT ; FAILWITH } {} ;
CAR ;
MUL ;
COMPARE ;
GE ;
IF {} { PUSH int 801 ; FAILWITH } ;
DIG 2 ;
DUP ;
GET 6 ;
DUP 8 ;
CAR ;
CAR ;
GET 3 ;
PUSH nat 1000000000000 ;
DUP 9 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 298 ; FAILWITH } { CAR } ;
ADD ;
UPDATE 6 ;
DUG 2 ;
DUP 7 ;
DUP ;
GET 7 ;
DUP 5 ;
SOME ;
DIG 9 ;
GET 3 ;
CAR ;
CAR ;
UPDATE ;
UPDATE 7 ;
DUG 6 ;
DIG 4 ;
DUP 7 ;
GET 3 ;
GET 4 ;
CONTRACT %mint (pair address (pair nat nat)) ;
IF_NONE { PUSH int 120 ; FAILWITH } {} ;
PUSH mutez 0 ;
PUSH nat 6 ;
DUP 9 ;
LSR ;
DUP 9 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 296 ; FAILWITH } {} ;
DIG 9 ;
DUP ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 11 ;
GET 3 ;
CAR ;
CAR ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUP 7 ;
GET 3 ;
GET 4 ;
CONTRACT %mint (pair address (pair nat nat)) ;
IF_NONE { PUSH int 120 ; FAILWITH } {} ;
PUSH mutez 0 ;
PUSH nat 6 ;
DUP 9 ;
LSR ;
DIG 9 ;
DUP ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 11 ;
CAR ;
GET 5 ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUG 4 ;
DIG 6 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
DUP 11 ;
ADD ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUG 6 ;
DUP 3 ;
CAR ;
CDR ;
IF
{ SWAP ;
DROP ;
SWAP ;
DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP ;
DIG 3 ;
SWAP ;
DUP 4 ;
GET 3 ;
CAR ;
CAR ;
PAIR ;
SWAP ;
DUG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR }
{ DROP 4 ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP } } } }
{ IF_LEFT
{ NIL operation ;
DUP 5 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
UNPAIR 3 ;
DUG 8 ;
DUG 8 ;
DUG 8 ;
DUG 8 ;
DIG 7 ;
DIG 8 ;
DIG 8 ;
DIG 8 ;
DIG 3 ;
DUP ;
CAR ;
GET 3 ;
CAR ;
SWAP ;
DUP ;
DUG 5 ;
GET 3 ;
CAR ;
CAR ;
COMPARE ;
EQ ;
IF {} { PUSH int 401 ; FAILWITH } ;
DUP 4 ;
GET 7 ;
DUP 4 ;
CAR ;
GET ;
IF_NONE { PUSH int 534 ; FAILWITH } {} ;
DUP ;
CAR ;
CDR ;
IF {} { PUSH int 403 ; FAILWITH } ;
DUP 5 ;
GET 3 ;
CAR ;
CDR ;
DUP 5 ;
GET 3 ;
MUL ;
PUSH mutez 1 ;
PUSH nat 1000000000000 ;
PUSH nat 4 ;
DUP 4 ;
LSR ;
DUP 4 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 541 ; FAILWITH } {} ;
EDIV ;
IF_NONE { PUSH int 541 ; FAILWITH } { CAR } ;
MUL ;
DUP ;
PUSH mutez 1000 ;
SWAP ;
COMPARE ;
GE ;
IF {} { PUSH int 602 ; FAILWITH } ;
PUSH nat 1000000000000 ;
DUP 8 ;
CAR ;
CAR ;
GET 3 ;
DUP 5 ;
GET 6 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 546 ; FAILWITH } { CAR } ;
DIG 3 ;
DUP 8 ;
CAR ;
CAR ;
GET 3 ;
PUSH nat 1000000000000 ;
DUP 9 ;
GET 3 ;
DUP 5 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 548 ; FAILWITH } {} ;
MUL ;
EDIV ;
IF_NONE { PUSH int 548 ; FAILWITH } { CAR } ;
UPDATE 6 ;
DUP ;
GET 3 ;
DUP 4 ;
SWAP ;
SUB ;
UPDATE 3 ;
DUG 3 ;
DIG 7 ;
DUP ;
GET 7 ;
DUP 6 ;
SOME ;
DUP 10 ;
CAR ;
UPDATE ;
UPDATE 7 ;
DUG 7 ;
DUP 4 ;
CAR ;
CDR ;
IF
{ DIG 2 ;
DROP ;
DIG 3 ;
DROP ;
DIG 6 ;
DROP ;
DIG 6 ;
DROP ;
DIG 7 ;
DROP ;
DIG 7 ;
DROP ;
DIG 6 ;
DUP 7 ;
GET 3 ;
CAR ;
CDR ;
DUP 7 ;
GET 3 ;
DIG 3 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 554 ; FAILWITH } {} ;
MUL ;
DUP 6 ;
CAR ;
PAIR ;
SWAP ;
DIG 6 ;
DIG 5 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
DIG 4 ;
DIG 2 ;
DIG 4 ;
DIG 4 }
{ DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 5 ;
DROP ;
DIG 5 ;
DROP ;
DIG 5 ;
DROP ;
DIG 5 ;
DROP ;
DIG 5 ;
DROP } ;
DUG 2 ;
CAR ;
CAR ;
CONTRACT %withdraw (pair address mutez) ;
IF_NONE { PUSH int 556 ; FAILWITH } {} ;
PUSH mutez 0 ;
DIG 3 ;
DUP 5 ;
GET 4 ;
PAIR ;
TRANSFER_TOKENS ;
CONS ;
DUP 3 ;
GET 3 ;
GET 4 ;
CONTRACT %burn (pair address (pair nat nat)) ;
IF_NONE { PUSH int 120 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
GET 3 ;
DIG 5 ;
DUP ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 7 ;
GET 3 ;
CAR ;
CAR ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUP 3 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
CAR ;
DIG 5 ;
GET 3 ;
DIG 6 ;
GET 5 ;
CDR ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 560 ; FAILWITH } {} ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP }
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
NIL operation ;
DIG 3 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 4 ;
GET 3 ;
CAR ;
CAR ;
GET ;
IF_NONE { PUSH int 477 ; FAILWITH } {} ;
PUSH nat 3 ;
DIG 4 ;
DUP ;
GET 3 ;
CAR ;
CDR ;
SWAP ;
DUP ;
DUG 6 ;
CAR ;
CAR ;
GET 3 ;
DUP 4 ;
GET 6 ;
MUL ;
MUL ;
MUL ;
PUSH nat 1000000000000 ;
DUP ;
PUSH mutez 1 ;
DUP 7 ;
DUP 6 ;
GET 3 ;
SUB ;
EDIV ;
IF_NONE { UNIT ; FAILWITH } {} ;
CAR ;
MUL ;
MUL ;
COMPARE ;
GE ;
IF {} { PUSH int 801 ; FAILWITH } ;
DUP ;
GET 3 ;
DUP 4 ;
SWAP ;
SUB ;
UPDATE 3 ;
DUP 4 ;
DUP ;
GET 7 ;
DUP 3 ;
SOME ;
DIG 6 ;
GET 3 ;
CAR ;
CAR ;
UPDATE ;
UPDATE 7 ;
DUG 3 ;
CAR ;
CAR ;
CONTRACT %withdraw (pair address mutez) ;
IF_NONE { PUSH int 488 ; FAILWITH } {} ;
PUSH mutez 0 ;
DIG 3 ;
DUP 5 ;
GET 3 ;
CAR ;
CAR ;
PAIR ;
TRANSFER_TOKENS ;
CONS }
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
NIL operation ;
DIG 4 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
DIG 3 ;
DIG 2 ;
DIG 3 ;
DIG 3 ;
DIG 3 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
CDR ;
SENDER ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 ;
SELF %internal_liquidate ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS } } } } }
{ IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
NIL operation ;
DIG 4 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
DIG 3 ;
DIG 2 ;
DIG 3 ;
DIG 3 ;
DIG 3 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
CDR ;
SENDER ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 ;
SELF %internal_mint ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS }
{ DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
NIL operation ;
DIG 3 ;
DUP 3 ;
CDR ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
NONE unit ;
DIG 7 ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
SWAP } }
{ IF_LEFT
{ DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
NIL operation ;
DIG 3 ;
DUP 3 ;
CDR ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
PUSH (option unit) (Some Unit) ;
DIG 7 ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
SWAP }
{ IF_LEFT
{ DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
NIL operation ;
DIG 3 ;
PUSH nat 0 ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
CDR ;
DUP 6 ;
GET 6 ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
UNPAIR ;
SWAP ;
CAR ;
DUP 5 ;
GET 3 ;
DUP 6 ;
GET 5 ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
UNPAIR ;
SWAP ;
CAR ;
DUP 6 ;
CAR ;
CAR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
UNPAIR ;
CDR ;
DIG 5 ;
CAR ;
CDR ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP }
{ DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 4 ;
DROP ;
NIL operation ;
DIG 3 ;
PUSH nat 0 ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
DIG 3 ;
DIG 2 ;
DIG 3 ;
DIG 3 ;
DIG 3 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
CAR ;
DIG 5 ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP } } } }
{ IF_LEFT
{ DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
IF_LEFT
{ DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
GET 3 ;
GET 3 ;
SENDER ;
COMPARE ;
EQ ;
IF
{}
{ PUSH string "WrongCondition: sp.sender == self.data.target_price_oracle" ;
FAILWITH } ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
CAR ;
DIG 4 ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
NIL operation }
{ IF_LEFT
{ DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
DUP ;
GET 7 ;
DUP ;
DIG 4 ;
GET 8 ;
SENDER ;
GET ;
IF_NONE { PUSH int 172 ; FAILWITH } {} ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 172 ; FAILWITH } {} ;
DIG 4 ;
UPDATE 3 ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 7 ;
NIL operation }
{ DIG 2 ;
DROP ;
NIL operation ;
DUP 3 ;
GET 7 ;
SENDER ;
GET ;
IF_NONE { PUSH int 243 ; FAILWITH } {} ;
CAR ;
CAR ;
CONTRACT %set_delegate (option key_hash) ;
IF_NONE { PUSH int 243 ; FAILWITH } {} ;
AMOUNT ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS } } }
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
NIL operation ;
DIG 4 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
DIG 3 ;
DIG 2 ;
DIG 3 ;
DIG 3 ;
DIG 3 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
CDR ;
SENDER ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 ;
SELF %internal_settle_with_vault ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS }
{ IF_LEFT
{ DROP ;
SWAP ;
DROP ;
SWAP ;
DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
NIL operation ;
DIG 2 ;
UNIT ;
SWAP ;
DUG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR }
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
NIL operation ;
DIG 4 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
DIG 3 ;
DIG 2 ;
DIG 3 ;
DIG 3 ;
DIG 3 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
CDR ;
SENDER ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 ;
SELF %internal_withdraw ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS } } } } } ;
NIL operation ;
SWAP ;
ITER { CONS } ;
PAIR }