x
958
1881
parameter (or
(or
(or (or (nat %bailout) (nat %burn))
(or (bool %create_vault)
(or (nat %deposit) (lambda %execute unit (list operation)))))
(or
(or (nat %internal_bailout)
(or (nat %internal_burn)
(pair %internal_liquidate (address %vault_owner)
(nat %token_amount))))
(or (nat %internal_mint)
(or
(pair %internal_settle_with_vault (address %vault_owner)
(pair (nat %token_amount)
(address %recipient)))
(list %internal_touch address)))))
(or
(or
(or (nat %internal_withdraw)
(or (pair %liquidate (address %vault_owner) (nat %token_amount))
(nat %mint)))
(or
(pair %remove_administrator (address %administrator_to_remove)
(nat %token_id))
(or
(pair %set_administrator (address %administrator_to_set)
(nat %token_id))
(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)))))))
(or
(or (nat %set_reference_interest_rate)
(or (nat %set_target_price)
(pair %settle_with_vault (address %vault_owner)
(pair (nat %token_amount)
(address %recipient)))))
(or (list %touch address) (or (unit %update) (nat %withdraw))))));
storage (pair
(pair
(pair
(pair (timestamp %accrual_update_timestamp)
(big_map %administrators (pair (address %owner) (nat %token_id))
unit))
(pair (address %collateral_token_contract) (nat %collateral_token_id)))
(pair
(pair (nat %compound_interest_rate) (address %governance_token_contract))
(pair (address %options_contract) (nat %reference_interest_rate))))
(pair
(pair
(pair (address %reward_pool_contract) (address %savings_pool_contract))
(pair (address %sender) (nat %target_price)))
(pair (pair (address %target_price_oracle) (address %token_contract))
(pair (nat %token_id)
(pair (nat %total_supply)
(big_map %vault_contexts address
(pair
(pair (bool %allows_settlement)
(nat %balance))
(pair
(bool %is_being_liquidated)
(nat %minted)))))))));
code { LAMBDA
(pair unit
(pair
(pair
(pair (pair timestamp (big_map (pair address nat) unit))
(pair address nat))
(pair (pair nat address) (pair address nat)))
(pair (pair (pair address address) (pair address nat))
(pair (pair address address)
(pair nat
(pair nat
(big_map address
(pair (pair bool nat) (pair bool nat)))))))))
(pair (list operation)
(pair unit
(pair
(pair
(pair (pair timestamp (big_map (pair address nat) unit))
(pair address nat))
(pair (pair nat address) (pair address nat)))
(pair (pair (pair address address) (pair address nat))
(pair (pair address address)
(pair nat
(pair nat
(big_map address
(pair (pair bool nat)
(pair bool nat))))))))))
{ NIL operation ;
SWAP ;
CDR ;
DUP ;
DUG 2 ;
GET 5 ;
CAR ;
CONTRACT %get_price (contract nat) ;
IF_NONE { PUSH int 50 ; FAILWITH } {} ;
PUSH mutez 0 ;
SELF_ADDRESS ;
CONTRACT %set_target_price nat ;
IF_NONE { PUSH int 52 ; FAILWITH } {} ;
TRANSFER_TOKENS ;
CONS ;
SWAP ;
UNIT ;
DIG 2 ;
PAIR 3 } ;
SWAP ;
LAMBDA
(pair unit
(pair
(pair
(pair (pair timestamp (big_map (pair address nat) unit))
(pair address nat))
(pair (pair nat address) (pair address nat)))
(pair (pair (pair address address) (pair address nat))
(pair (pair address address)
(pair nat
(pair nat
(big_map address
(pair (pair bool nat) (pair bool nat)))))))))
(pair (list operation)
(pair unit
(pair
(pair
(pair (pair timestamp (big_map (pair address nat) unit))
(pair address nat))
(pair (pair nat address) (pair address nat)))
(pair (pair (pair address address) (pair address nat))
(pair (pair address address)
(pair nat
(pair nat
(big_map address
(pair (pair bool nat)
(pair bool nat))))))))))
{ NIL operation ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
DUP ;
CAR ;
CAR ;
CAR ;
CAR ;
NOW ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 136 ; FAILWITH } {} ;
DUP ;
PUSH nat 0 ;
COMPARE ;
LT ;
IF
{ DIG 3 ;
DROP ;
PUSH nat 1000000000000 ;
DUP 3 ;
GET 9 ;
DUP 3 ;
DUP 5 ;
CAR ;
GET 6 ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 139 ; FAILWITH } { CAR } ;
PUSH nat 1000000000000 ;
DUP 4 ;
GET 9 ;
DUP 4 ;
PUSH nat 316 ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 141 ; FAILWITH } { CAR } ;
DUP 4 ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
CDR ;
PUSH nat 1000000000000 ;
DIG 7 ;
PUSH nat 316 ;
DUP 10 ;
CAR ;
GET 6 ;
ADD ;
MUL ;
PUSH nat 1000000000000 ;
ADD ;
DIG 8 ;
CAR ;
GET 3 ;
CAR ;
MUL ;
EDIV ;
IF_NONE { PUSH int 145 ; FAILWITH } { CAR } ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
DUG 2 ;
DIG 3 ;
DUP 4 ;
GET 5 ;
CDR ;
CONTRACT %mint (pair address (pair nat nat)) ;
IF_NONE { PUSH int 101 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 5 ;
DIG 6 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 8 ;
GET 3 ;
CAR ;
CDR ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUP 4 ;
GET 5 ;
CDR ;
CONTRACT %mint (pair address (pair nat nat)) ;
IF_NONE { PUSH int 101 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
DIG 6 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 8 ;
GET 3 ;
CAR ;
CAR ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUG 3 ;
DIG 2 ;
DUP ;
GET 9 ;
DIG 2 ;
DIG 3 ;
ADD ;
ADD ;
UPDATE 9 ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
CDR ;
NOW ;
PAIR ;
PAIR ;
PAIR ;
PAIR }
{ DROP ; DIG 2 ; DROP } ;
UNIT ;
DIG 2 ;
PAIR 3 } ;
SWAP ;
LAMBDA
(pair (pair address nat)
(pair
(pair
(pair (pair timestamp (big_map (pair address nat) unit))
(pair address nat))
(pair (pair nat address) (pair address nat)))
(pair (pair (pair address address) (pair address nat))
(pair (pair address address)
(pair nat
(pair nat
(big_map address
(pair (pair bool nat) (pair bool nat)))))))))
(pair (list operation)
(pair unit
(pair
(pair
(pair (pair timestamp (big_map (pair address nat) unit))
(pair address nat))
(pair (pair nat address) (pair address nat)))
(pair (pair (pair address address) (pair address nat))
(pair (pair address address)
(pair nat
(pair nat
(big_map address
(pair (pair bool nat)
(pair bool nat))))))))))
{ NIL operation ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
DUP ;
DUG 2 ;
CAR ;
GET 3 ;
CDR ;
CONTRACT %update_stake (pair address nat) ;
IF_NONE { PUSH int 164 ; FAILWITH } {} ;
PUSH mutez 0 ;
DIG 4 ;
CAR ;
TRANSFER_TOKENS ;
CONS ;
SWAP ;
UNIT ;
DIG 2 ;
PAIR 3 } ;
SWAP ;
LAMBDA
(pair unit
(pair
(pair
(pair (pair timestamp (big_map (pair address nat) unit))
(pair address nat))
(pair (pair nat address) (pair address nat)))
(pair (pair (pair address address) (pair address nat))
(pair (pair address address)
(pair nat
(pair nat
(big_map address
(pair (pair bool nat) (pair bool nat)))))))))
(pair (list operation)
(pair unit
(pair
(pair
(pair (pair timestamp (big_map (pair address nat) unit))
(pair address nat))
(pair (pair nat address) (pair address nat)))
(pair (pair (pair address address) (pair address nat))
(pair (pair address address)
(pair nat
(pair nat
(big_map address
(pair (pair bool nat)
(pair bool nat))))))))))
{ NIL operation ;
SWAP ;
CDR ;
SELF_ADDRESS ;
SENDER ;
COMPARE ;
EQ ;
IF {} { PUSH int 400 ; FAILWITH } ;
UNIT ;
DIG 2 ;
PAIR 3 } ;
SWAP ;
LAMBDA
(pair nat
(pair
(pair
(pair (pair timestamp (big_map (pair address nat) unit))
(pair address nat))
(pair (pair nat address) (pair address nat)))
(pair (pair (pair address address) (pair address nat))
(pair (pair address address)
(pair nat
(pair nat
(big_map address
(pair (pair bool nat) (pair bool nat)))))))))
(pair (list operation)
(pair unit
(pair
(pair
(pair (pair timestamp (big_map (pair address nat) unit))
(pair address nat))
(pair (pair nat address) (pair address nat)))
(pair (pair (pair address address) (pair address nat))
(pair (pair address address)
(pair nat
(pair nat
(big_map address
(pair (pair bool nat)
(pair bool nat))))))))))
{ NIL operation ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
DUP ;
CAR ;
CAR ;
CAR ;
CDR ;
DIG 3 ;
CAR ;
SENDER ;
PAIR ;
MEM ;
IF {} { PUSH int 401 ; FAILWITH } ;
UNIT ;
DIG 2 ;
PAIR 3 } ;
SWAP ;
UNPAIR ;
IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ DUP 7 ;
DIG 2 ;
UNIT ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
DUP ;
CAR ;
DUP 8 ;
DIG 4 ;
UNIT ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 4 ;
DUP ;
CAR ;
NIL operation ;
SWAP ;
ITER { CONS } ;
ITER { DIG 2 ; SWAP ; CONS ; SWAP } ;
DROP ;
SWAP ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
CDR ;
SENDER ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUP ;
DUG 3 ;
GET 3 ;
CAR ;
CDR ;
CONTRACT %bailout nat ;
IF_NONE { PUSH int 570 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
TRANSFER_TOKENS ;
CONS ;
SELF %internal_bailout ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS }
{ DUP 7 ;
DIG 2 ;
UNIT ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
DUP ;
CAR ;
DUP 8 ;
DIG 4 ;
UNIT ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 4 ;
DUP ;
CAR ;
NIL operation ;
SWAP ;
ITER { CONS } ;
ITER { DIG 2 ; SWAP ; CONS ; SWAP } ;
DROP ;
SWAP ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
CDR ;
SENDER ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 ;
SELF %internal_burn ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS } }
{ DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
IF_LEFT
{ DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
GET 10 ;
SENDER ;
MEM ;
IF
{ DROP }
{ SWAP ;
DUP ;
GET 10 ;
PUSH (pair bool nat) (Pair False 0) ;
PUSH nat 0 ;
DIG 4 ;
PAIR ;
PAIR ;
SOME ;
SENDER ;
UPDATE ;
UPDATE 10 } ;
NIL operation }
{ IF_LEFT
{ DIG 2 ;
DROP ;
NIL operation ;
DUP 3 ;
CAR ;
CAR ;
GET 3 ;
CONTRACT %transfer (list (pair address
(list (pair address
(pair nat nat))))) ;
IF_NONE { PUSH int 35 ; FAILWITH } {} ;
PUSH mutez 0 ;
NIL (pair address (list (pair address (pair nat nat)))) ;
NIL (pair address (pair nat nat)) ;
DUP 6 ;
DUP 8 ;
CAR ;
CAR ;
GET 4 ;
SELF_ADDRESS ;
PAIR 3 ;
CONS ;
SENDER ;
PAIR ;
CONS ;
TRANSFER_TOKENS ;
CONS ;
DIG 2 ;
DUP ;
GET 10 ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 430 ; FAILWITH } {} ;
UNPAIR ;
UNPAIR ;
SWAP ;
DIG 7 ;
ADD ;
SWAP ;
PAIR ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 10 ;
SWAP }
{ DUG 2 ;
PUSH nat 0 ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
CAR ;
SWAP ;
UNIT ;
EXEC ;
NIL operation ;
SWAP ;
ITER { CONS } ;
ITER { CONS } } } } }
{ IF_LEFT
{ IF_LEFT
{ DUP 4 ;
DIG 2 ;
UNIT ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
DUP ;
CAR ;
DIG 3 ;
DUP ;
GET 10 ;
SWAP ;
DUP ;
DUG 5 ;
GET 3 ;
GET 3 ;
GET ;
IF_NONE { PUSH int 595 ; FAILWITH } {} ;
DUP 5 ;
GET 3 ;
GET 4 ;
DUP 5 ;
MUL ;
PUSH nat 1000000 ;
PUSH nat 2 ;
DUP 3 ;
LSR ;
DUP 3 ;
ADD ;
EDIV ;
IF_NONE { PUSH int 599 ; FAILWITH } { CAR } ;
DUP ;
PUSH nat 1000000000 ;
SWAP ;
COMPARE ;
GE ;
IF {} { PUSH int 602 ; FAILWITH } ;
PUSH nat 1000000000000 ;
DUP 8 ;
CAR ;
GET 3 ;
CAR ;
DUP 5 ;
GET 4 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 603 ; FAILWITH } { CAR } ;
DIG 3 ;
DUP 8 ;
CAR ;
GET 3 ;
CAR ;
PUSH nat 1000000000000 ;
DUP 9 ;
DUP 5 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 604 ; FAILWITH } {} ;
MUL ;
EDIV ;
IF_NONE { PUSH int 604 ; FAILWITH } { CAR } ;
UPDATE 4 ;
DUP ;
DUG 4 ;
UNPAIR ;
CAR ;
DUP 4 ;
DIG 6 ;
CAR ;
CDR ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 605 ; FAILWITH } {} ;
SWAP ;
PAIR ;
PAIR ;
DUG 3 ;
DUP 8 ;
DUP ;
GET 10 ;
DUP 6 ;
SOME ;
DIG 10 ;
GET 3 ;
GET 3 ;
UPDATE ;
UPDATE 10 ;
DUG 7 ;
DUP 4 ;
CAR ;
CAR ;
IF
{ DUP 11 ;
DIG 8 ;
DUP ;
DUP ;
DUG 10 ;
GET 3 ;
GET 4 ;
DUP 10 ;
DUP 5 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 610 ; FAILWITH } {} ;
MUL ;
DIG 10 ;
GET 3 ;
GET 3 ;
PAIR ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 8 ;
DUP ;
CAR ;
NIL operation ;
SWAP ;
ITER { CONS } ;
ITER { DIG 6 ; SWAP ; CONS ; DUG 5 } ;
DROP 2 ;
SWAP ;
DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP }
{ DROP ;
SWAP ;
DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP } ;
SWAP ;
DUP 4 ;
CAR ;
CAR ;
GET 3 ;
CONTRACT %transfer (list (pair address
(list (pair address (pair nat nat))))) ;
IF_NONE { PUSH int 35 ; FAILWITH } {} ;
PUSH mutez 0 ;
NIL (pair address (list (pair address (pair nat nat)))) ;
NIL (pair address (pair nat nat)) ;
DIG 5 ;
DIG 7 ;
DUP ;
CAR ;
CAR ;
GET 4 ;
SWAP ;
DUP ;
DUG 9 ;
GET 3 ;
CAR ;
CDR ;
PAIR 3 ;
CONS ;
SELF_ADDRESS ;
PAIR ;
CONS ;
TRANSFER_TOKENS ;
CONS ;
DUP 3 ;
GET 5 ;
CDR ;
CONTRACT %burn (pair address (pair nat nat)) ;
IF_NONE { PUSH int 101 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
DIG 5 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 7 ;
GET 3 ;
CAR ;
CDR ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUP 3 ;
DIG 2 ;
DIG 3 ;
GET 9 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 615 ; FAILWITH } {} ;
UPDATE 9 ;
SWAP }
{ IF_LEFT
{ DUP 4 ;
DIG 2 ;
UNIT ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
DUP ;
CAR ;
PUSH nat 1000000000 ;
DUP 4 ;
COMPARE ;
GE ;
IF {} { PUSH int 602 ; FAILWITH } ;
DIG 3 ;
DUP ;
GET 10 ;
SWAP ;
DUP ;
DUG 5 ;
GET 3 ;
GET 3 ;
GET ;
IF_NONE { PUSH int 320 ; FAILWITH } {} ;
PUSH nat 1000000000000 ;
DUP 6 ;
CAR ;
GET 3 ;
CAR ;
DUP 3 ;
GET 4 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 322 ; FAILWITH } { CAR } ;
DUP 6 ;
GET 3 ;
GET 4 ;
DUP 6 ;
DUP 3 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 323 ; FAILWITH } {} ;
MUL ;
DIG 2 ;
DUP 7 ;
CAR ;
GET 3 ;
CAR ;
PUSH nat 1000000000000 ;
DUP 8 ;
DUP 6 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 325 ; FAILWITH } {} ;
MUL ;
EDIV ;
IF_NONE { PUSH int 325 ; FAILWITH } { CAR } ;
UPDATE 4 ;
DUG 2 ;
DUP 7 ;
DUP ;
GET 10 ;
DUP 5 ;
SOME ;
DIG 9 ;
GET 3 ;
GET 3 ;
UPDATE ;
UPDATE 10 ;
DUG 6 ;
DIG 3 ;
DUP 7 ;
GET 5 ;
CDR ;
CONTRACT %burn (pair address (pair nat nat)) ;
IF_NONE { PUSH int 101 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 8 ;
DIG 9 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 11 ;
GET 3 ;
GET 3 ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUG 3 ;
DUP 7 ;
DUP 7 ;
DIG 8 ;
GET 9 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 331 ; FAILWITH } {} ;
UPDATE 9 ;
DUG 6 ;
DUP 3 ;
CAR ;
CAR ;
IF
{ DUP 10 ;
DUP 8 ;
DUP 3 ;
DIG 9 ;
GET 3 ;
GET 3 ;
PAIR ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 7 ;
DUP ;
CAR ;
NIL operation ;
SWAP ;
ITER { CONS } ;
ITER { DIG 5 ; SWAP ; CONS ; DUG 4 } ;
DROP 4 ;
SWAP ;
DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP }
{ DROP 3 ;
SWAP ;
DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP } }
{ DUP 4 ;
DIG 2 ;
UNIT ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
DUP ;
CAR ;
DUP 4 ;
GET 10 ;
DUP 4 ;
CAR ;
GET ;
IF_NONE { PUSH int 377 ; FAILWITH } {} ;
DUP ;
CAR ;
CDR ;
PUSH nat 2 ;
DUP 7 ;
GET 3 ;
GET 4 ;
PUSH nat 1000000000000 ;
DUP 9 ;
CAR ;
GET 3 ;
CAR ;
DUP 6 ;
GET 4 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 380 ; FAILWITH } { CAR } ;
MUL ;
MUL ;
PUSH nat 1000000 ;
DUP 3 ;
MUL ;
COMPARE ;
LT ;
IF { PUSH bool True } { SWAP ; DUP ; DUG 2 ; GET 3 } ;
IF {} { PUSH int 802 ; FAILWITH } ;
SWAP ;
PUSH bool True ;
UPDATE 3 ;
SWAP ;
PUSH nat 1000000 ;
PUSH nat 3 ;
DUP 8 ;
GET 3 ;
GET 4 ;
DUP 8 ;
CDR ;
MUL ;
LSR ;
DUP 8 ;
GET 3 ;
GET 4 ;
DUP 8 ;
CDR ;
MUL ;
ADD ;
EDIV ;
IF_NONE { PUSH int 389 ; FAILWITH } { CAR } ;
DUP 7 ;
GET 3 ;
GET 4 ;
DUP 7 ;
CDR ;
PUSH nat 1000000000000 ;
DUP 10 ;
CAR ;
GET 3 ;
CAR ;
DUP 7 ;
GET 4 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 380 ; FAILWITH } { CAR } ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 391 ; FAILWITH } {} ;
MUL ;
DUP ;
PUSH nat 3 ;
SWAP ;
MUL ;
PUSH nat 1000000 ;
DUP 4 ;
DUP 6 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 393 ; FAILWITH } {} ;
MUL ;
COMPARE ;
LT ;
IF {} { PUSH int 803 ; FAILWITH } ;
PUSH nat 1000000000 ;
DUP 3 ;
COMPARE ;
GE ;
IF {} { PUSH int 602 ; FAILWITH } ;
PUSH nat 100 ;
PUSH nat 3 ;
DUP 3 ;
MUL ;
MUL ;
PUSH nat 105 ;
PUSH nat 1000000 ;
DUP 5 ;
DUP 7 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 396 ; FAILWITH } {} ;
MUL ;
MUL ;
COMPARE ;
GE ;
IF { DIG 3 ; PUSH bool False ; UPDATE 3 ; DUG 3 } {} ;
DIG 4 ;
DUP 8 ;
GET 5 ;
CDR ;
CONTRACT %burn (pair address (pair nat nat)) ;
IF_NONE { PUSH int 101 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 9 ;
CDR ;
DIG 10 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 12 ;
GET 3 ;
GET 3 ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUG 4 ;
DUP 8 ;
DUP 8 ;
CDR ;
DIG 9 ;
GET 9 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 401 ; FAILWITH } {} ;
UPDATE 9 ;
DUG 7 ;
DUP 4 ;
DUP 9 ;
CAR ;
GET 3 ;
CAR ;
PUSH nat 1000000000000 ;
DUP 10 ;
CDR ;
PUSH nat 1000000000000 ;
DUP 13 ;
CAR ;
GET 3 ;
CAR ;
DIG 9 ;
GET 4 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 380 ; FAILWITH } { CAR } ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 403 ; FAILWITH } {} ;
MUL ;
EDIV ;
IF_NONE { PUSH int 403 ; FAILWITH } { CAR } ;
UPDATE 4 ;
DUP ;
DUG 4 ;
UNPAIR ;
CAR ;
DUP 4 ;
DIG 6 ;
CAR ;
CDR ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 404 ; FAILWITH } {} ;
SWAP ;
PAIR ;
PAIR ;
DUG 3 ;
DIG 7 ;
DUP ;
GET 10 ;
DUP 6 ;
SOME ;
DUP 10 ;
CAR ;
UPDATE ;
UPDATE 10 ;
DUG 7 ;
DUP 4 ;
CAR ;
CAR ;
IF
{ DUP 11 ;
DIG 8 ;
DUP 3 ;
DUP 10 ;
CAR ;
PAIR ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 8 ;
DUP ;
CAR ;
NIL operation ;
SWAP ;
ITER { CONS } ;
ITER { DIG 6 ; SWAP ; CONS ; DUG 5 } ;
DROP 2 ;
SWAP ;
DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP }
{ DROP ;
SWAP ;
DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP } ;
SWAP ;
DUP 3 ;
CAR ;
CAR ;
GET 3 ;
CONTRACT %transfer (list (pair address
(list (pair address
(pair nat nat))))) ;
IF_NONE { PUSH int 35 ; FAILWITH } {} ;
PUSH mutez 0 ;
NIL (pair address (list (pair address (pair nat nat)))) ;
NIL (pair address (pair nat nat)) ;
DIG 5 ;
DIG 6 ;
DUP ;
CAR ;
CAR ;
GET 4 ;
SWAP ;
DUP ;
DUG 8 ;
GET 3 ;
GET 3 ;
PAIR 3 ;
CONS ;
SELF_ADDRESS ;
PAIR ;
CONS ;
TRANSFER_TOKENS ;
CONS } } }
{ IF_LEFT
{ DUP 4 ;
DIG 2 ;
UNIT ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
DUP ;
CAR ;
PUSH nat 1000000000 ;
DUP 4 ;
COMPARE ;
GE ;
IF {} { PUSH int 602 ; FAILWITH } ;
DIG 3 ;
DUP ;
GET 10 ;
SWAP ;
DUP ;
DUG 5 ;
GET 3 ;
GET 3 ;
GET ;
IF_NONE { PUSH int 257 ; FAILWITH } {} ;
PUSH nat 1000000000000 ;
DUP 6 ;
CAR ;
GET 3 ;
CAR ;
DUP 3 ;
GET 4 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 260 ; FAILWITH } { CAR } ;
DUP 6 ;
GET 3 ;
GET 4 ;
DUP 6 ;
DUP 3 ;
ADD ;
MUL ;
DUP ;
PUSH nat 3 ;
SWAP ;
MUL ;
PUSH nat 1000000 ;
DUP 5 ;
CAR ;
CDR ;
MUL ;
COMPARE ;
GE ;
IF {} { PUSH int 801 ; FAILWITH } ;
DIG 2 ;
DUP ;
GET 4 ;
DUP 8 ;
CAR ;
GET 3 ;
CAR ;
PUSH nat 1000000000000 ;
DUP 9 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 270 ; FAILWITH } { CAR } ;
ADD ;
UPDATE 4 ;
DUG 2 ;
DUP 7 ;
DUP ;
GET 10 ;
DUP 5 ;
SOME ;
DIG 9 ;
GET 3 ;
GET 3 ;
UPDATE ;
UPDATE 10 ;
DUG 6 ;
DIG 3 ;
DUP 7 ;
GET 5 ;
CDR ;
CONTRACT %mint (pair address (pair nat nat)) ;
IF_NONE { PUSH int 101 ; FAILWITH } {} ;
PUSH mutez 0 ;
PUSH nat 6 ;
DUP 9 ;
LSR ;
DUP 9 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 268 ; FAILWITH } {} ;
DIG 9 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 11 ;
GET 3 ;
GET 3 ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUP 7 ;
GET 5 ;
CDR ;
CONTRACT %mint (pair address (pair nat nat)) ;
IF_NONE { PUSH int 101 ; FAILWITH } {} ;
PUSH mutez 0 ;
PUSH nat 6 ;
DUP 9 ;
LSR ;
DIG 9 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 11 ;
GET 3 ;
CAR ;
CAR ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUG 3 ;
DIG 6 ;
DUP ;
GET 9 ;
DUP 8 ;
ADD ;
UPDATE 9 ;
DUG 6 ;
DUP 3 ;
CAR ;
CAR ;
IF
{ DUP 10 ;
DUP 8 ;
DUP 3 ;
DIG 9 ;
GET 3 ;
GET 3 ;
PAIR ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 7 ;
DUP ;
CAR ;
NIL operation ;
SWAP ;
ITER { CONS } ;
ITER { DIG 5 ; SWAP ; CONS ; DUG 4 } ;
DROP 4 ;
SWAP ;
DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP }
{ DROP 3 ;
SWAP ;
DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP } }
{ IF_LEFT
{ DUP 4 ;
DIG 2 ;
UNIT ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
DUP ;
CAR ;
DIG 3 ;
DUP ;
CAR ;
GET 5 ;
SWAP ;
DUP ;
DUG 5 ;
GET 3 ;
GET 3 ;
COMPARE ;
EQ ;
IF {} { PUSH int 401 ; FAILWITH } ;
DUP 4 ;
GET 10 ;
DUP 4 ;
CAR ;
GET ;
IF_NONE { PUSH int 524 ; FAILWITH } {} ;
DUP ;
CAR ;
CAR ;
IF {} { PUSH int 403 ; FAILWITH } ;
DUP 5 ;
GET 3 ;
GET 4 ;
DUP 5 ;
GET 3 ;
MUL ;
PUSH nat 1000000 ;
PUSH nat 4 ;
DUP 3 ;
LSR ;
DUP 3 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 531 ; FAILWITH } {} ;
EDIV ;
IF_NONE { PUSH int 531 ; FAILWITH } { CAR } ;
DUP ;
PUSH nat 1000000000 ;
SWAP ;
COMPARE ;
GE ;
IF {} { PUSH int 602 ; FAILWITH } ;
PUSH nat 1000000000000 ;
DUP 8 ;
CAR ;
GET 3 ;
CAR ;
DUP 5 ;
GET 4 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 536 ; FAILWITH } { CAR } ;
DIG 3 ;
DUP 8 ;
CAR ;
GET 3 ;
CAR ;
PUSH nat 1000000000000 ;
DUP 9 ;
GET 3 ;
DUP 5 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 538 ; FAILWITH } {} ;
MUL ;
EDIV ;
IF_NONE { PUSH int 538 ; FAILWITH } { CAR } ;
UPDATE 4 ;
DUP ;
DUG 4 ;
UNPAIR ;
CAR ;
DUP 4 ;
DIG 6 ;
CAR ;
CDR ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 539 ; FAILWITH } {} ;
SWAP ;
PAIR ;
PAIR ;
DUG 3 ;
DIG 7 ;
DUP ;
GET 10 ;
DUP 6 ;
SOME ;
DUP 10 ;
CAR ;
UPDATE ;
UPDATE 10 ;
DUG 7 ;
DUP 4 ;
CAR ;
CAR ;
IF
{ DUP 11 ;
DIG 8 ;
DUP ;
GET 3 ;
GET 4 ;
DUP 10 ;
GET 3 ;
DUP 5 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 544 ; FAILWITH } {} ;
MUL ;
DUP 10 ;
CAR ;
PAIR ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 8 ;
DUP ;
CAR ;
NIL operation ;
SWAP ;
ITER { CONS } ;
ITER { DIG 6 ; SWAP ; CONS ; DUG 5 } ;
DROP 2 ;
SWAP ;
DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP }
{ DROP ;
SWAP ;
DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP } ;
SWAP ;
DUP 4 ;
CAR ;
CAR ;
GET 3 ;
CONTRACT %transfer (list (pair address
(list (pair address
(pair nat nat))))) ;
IF_NONE { PUSH int 35 ; FAILWITH } {} ;
PUSH mutez 0 ;
NIL (pair address (list (pair address (pair nat nat)))) ;
NIL (pair address (pair nat nat)) ;
DIG 5 ;
DUP 8 ;
CAR ;
CAR ;
GET 4 ;
DUP 8 ;
GET 4 ;
PAIR 3 ;
CONS ;
SELF_ADDRESS ;
PAIR ;
CONS ;
TRANSFER_TOKENS ;
CONS ;
DUP 3 ;
GET 5 ;
CDR ;
CONTRACT %burn (pair address (pair nat nat)) ;
IF_NONE { PUSH int 101 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
GET 3 ;
DIG 5 ;
DUP ;
GET 7 ;
SWAP ;
DUP ;
DUG 7 ;
GET 3 ;
GET 3 ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUP 3 ;
DIG 2 ;
GET 3 ;
DIG 3 ;
GET 9 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 549 ; FAILWITH } {} ;
UPDATE 9 ;
SWAP }
{ DUP 4 ;
DIG 2 ;
UNIT ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
DUP ;
CAR ;
DUP 3 ;
ITER { DUP 5 ;
GET 10 ;
SWAP ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 636 ; FAILWITH } {} ;
CAR ;
CAR ;
IF
{ DUP 8 ;
DUP 6 ;
PUSH nat 1000000000000 ;
DIG 7 ;
DUP ;
GET 3 ;
GET 4 ;
SWAP ;
DUP ;
CAR ;
GET 3 ;
CAR ;
SWAP ;
GET 10 ;
DUP 7 ;
GET ;
IF_NONE { PUSH int 637 ; FAILWITH } {} ;
GET 4 ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 637 ; FAILWITH } { CAR } ;
DUP 4 ;
PAIR ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 5 ;
DUP ;
CAR ;
NIL operation ;
SWAP ;
ITER { CONS } ;
ITER { DIG 3 ; SWAP ; CONS ; DUG 2 } ;
DROP 2 }
{ DROP } } ;
SWAP ;
DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP } } } } }
{ IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DUG 2 ;
UNIT ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
CAR ;
DIG 2 ;
DUP ;
GET 10 ;
SWAP ;
DUP ;
DUG 4 ;
GET 3 ;
GET 3 ;
GET ;
IF_NONE { PUSH int 468 ; FAILWITH } {} ;
PUSH nat 3 ;
DIG 4 ;
DUP ;
GET 3 ;
GET 4 ;
SWAP ;
DUP ;
DUG 6 ;
CAR ;
GET 3 ;
CAR ;
DUP 4 ;
GET 4 ;
MUL ;
MUL ;
MUL ;
PUSH nat 1000000 ;
PUSH nat 1000000000000 ;
DUP 6 ;
DUP 5 ;
CAR ;
CDR ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 470 ; FAILWITH } {} ;
MUL ;
MUL ;
COMPARE ;
GE ;
IF {} { PUSH int 801 ; FAILWITH } ;
DUP ;
UNPAIR ;
CAR ;
DUP 5 ;
DIG 3 ;
CAR ;
CDR ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 470 ; FAILWITH } {} ;
SWAP ;
PAIR ;
PAIR ;
DUP 4 ;
DUP ;
GET 10 ;
DIG 2 ;
SOME ;
DIG 5 ;
GET 3 ;
GET 3 ;
UPDATE ;
UPDATE 10 ;
DUP ;
DUG 3 ;
CAR ;
CAR ;
GET 3 ;
CONTRACT %transfer (list (pair address
(list (pair address (pair nat nat))))) ;
IF_NONE { PUSH int 35 ; FAILWITH } {} ;
PUSH mutez 0 ;
NIL (pair address (list (pair address (pair nat nat)))) ;
NIL (pair address (pair nat nat)) ;
DIG 5 ;
DIG 6 ;
DUP ;
CAR ;
CAR ;
GET 4 ;
SWAP ;
DUP ;
DUG 8 ;
GET 3 ;
GET 3 ;
PAIR 3 ;
CONS ;
SELF_ADDRESS ;
PAIR ;
CONS ;
TRANSFER_TOKENS ;
CONS }
{ IF_LEFT
{ DUP 7 ;
DIG 2 ;
UNIT ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
DUP ;
CAR ;
DUP 8 ;
DIG 4 ;
UNIT ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 4 ;
DUP ;
CAR ;
NIL operation ;
SWAP ;
ITER { CONS } ;
ITER { DIG 2 ; SWAP ; CONS ; SWAP } ;
DROP ;
SWAP ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
CDR ;
SENDER ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 ;
SELF %internal_liquidate ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS }
{ DUP 7 ;
DIG 2 ;
UNIT ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
DUP ;
CAR ;
DUP 8 ;
DIG 4 ;
UNIT ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 4 ;
DUP ;
CAR ;
NIL operation ;
SWAP ;
ITER { CONS } ;
ITER { DIG 2 ; SWAP ; CONS ; SWAP } ;
DROP ;
SWAP ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
CDR ;
SENDER ;
PAIR ;
SWAP ;
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 ;
IF_LEFT
{ DUP ;
DUG 3 ;
CDR ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
CAR ;
DIG 2 ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
NONE unit ;
DIG 7 ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
SWAP }
{ IF_LEFT
{ DUP ;
DUG 3 ;
CDR ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
CAR ;
DIG 2 ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
PUSH (option unit) (Some Unit) ;
DIG 7 ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
SWAP }
{ DUG 2 ;
PUSH nat 0 ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
CAR ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
CDR ;
DUP 6 ;
GET 6 ;
PAIR ;
PAIR ;
SWAP ;
CDR ;
DUP 5 ;
GET 3 ;
DUP 6 ;
GET 5 ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
CAR ;
DUP 6 ;
CAR ;
CAR ;
SWAP ;
PAIR ;
SWAP ;
CDR ;
DIG 5 ;
CAR ;
CDR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP } } } }
{ IF_LEFT
{ IF_LEFT
{ DUP 3 ;
DIG 2 ;
PUSH nat 0 ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
DUP ;
CAR ;
DUP 8 ;
DIG 4 ;
UNIT ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 4 ;
DUP ;
CAR ;
NIL operation ;
SWAP ;
ITER { CONS } ;
ITER { DIG 2 ; SWAP ; CONS ; SWAP } ;
DROP ;
SWAP ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 2 ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
CAR ;
DIG 5 ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP }
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
GET 5 ;
CAR ;
SENDER ;
COMPARE ;
EQ ;
IF
{}
{ PUSH string "WrongCondition: sp.sender == self.data.target_price_oracle" ;
FAILWITH } ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
CAR ;
DIG 4 ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
NIL operation }
{ DUP 7 ;
DIG 2 ;
UNIT ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
DUP ;
CAR ;
DUP 8 ;
DIG 4 ;
UNIT ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 4 ;
DUP ;
CAR ;
NIL operation ;
SWAP ;
ITER { CONS } ;
ITER { DIG 2 ; SWAP ; CONS ; SWAP } ;
DROP ;
SWAP ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
CDR ;
SENDER ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 ;
SELF %internal_settle_with_vault ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS } } }
{ IF_LEFT
{ DUP 7 ;
DIG 2 ;
UNIT ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
DUP ;
CAR ;
DUP 8 ;
DIG 4 ;
UNIT ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 4 ;
DUP ;
CAR ;
NIL operation ;
SWAP ;
ITER { CONS } ;
ITER { DIG 2 ; SWAP ; CONS ; SWAP } ;
DROP ;
SWAP ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
SELF %internal_touch ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS }
{ IF_LEFT
{ DROP ;
SWAP ;
DROP ;
SWAP ;
DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
UNIT ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
SWAP ;
CAR }
{ DUP 7 ;
DIG 2 ;
UNIT ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
DUP ;
CAR ;
DUP 8 ;
DIG 4 ;
UNIT ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 4 ;
DUP ;
CAR ;
NIL operation ;
SWAP ;
ITER { CONS } ;
ITER { DIG 2 ; SWAP ; CONS ; SWAP } ;
DROP ;
SWAP ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 2 ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
CDR ;
SENDER ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 ;
SELF %internal_withdraw ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS } } } } } ;
NIL operation ;
SWAP ;
ITER { CONS } ;
PAIR }