x
629
1276
{ parameter (or
(or
(or (or (nat %burn) (option %create_vault address))
(or (nat %deposit)
(or
(lambda %execute
(big_map address
(pair (nat %balance)
(pair (option %introducer address)
(nat %minted))))
(pair
(big_map address
(pair (nat %balance)
(pair (option %introducer address)
(nat %minted))))
(list operation)))
(pair %liquidate (address %vault_owner) (nat %token_amount)))))
(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_collateral_ratio (nat %numerator) (nat %denominator))
(pair %set_contracts
(pair (address %governance_token_contract)
(pair (address %interest_rate_setter_contract)
(address %options_contract)))
(pair (address %reward_pool_contract)
(pair (address %savings_pool_contract)
(address %target_price_oracle))))))))
(or
(or
(or (pair %set_introducer_ratio (nat %numerator) (nat %denominator))
(pair %set_liquidation_payout_ratio (nat %numerator)
(nat %denominator)))
(or (pair %set_minting_fee_ratio (nat %numerator) (nat %denominator))
(or (nat %set_reference_interest_rate)
(pair %set_settlement_payout_ratio (nat %numerator)
(nat %denominator)))))
(or
(or (pair %set_settlement_ratio (nat %numerator) (nat %denominator))
(or
(pair %set_settlement_reward_fee_ratio (nat %numerator)
(nat %denominator))
(pair %settle_with_vault (address %vault_owner)
(pair (nat %token_amount)
(address %recipient)))))
(or (list %touch address) (or (unit %update) (nat %withdraw)))))) ;
storage (pair (timestamp %accrual_update_timestamp)
(pair
(big_map %administrators (pair (address %owner) (nat %token_id)) unit)
(pair (pair %collateral_ratio (nat %numerator) (nat %denominator))
(pair (address %collateral_token_contract)
(pair (nat %collateral_token_id)
(pair (nat %compound_interest_rate)
(pair (address %governance_token_contract)
(pair
(address %interest_rate_setter_contract)
(pair
(pair %introducer_ratio
(nat %numerator)
(nat %denominator))
(pair
(pair %liquidation_payout_ratio
(nat %numerator)
(nat %denominator))
(pair
(pair %minting_fee_ratio
(nat %numerator)
(nat %denominator))
(pair
(address %options_contract)
(pair
(nat %reference_interest_rate)
(pair
(address %reward_pool_contract)
(pair
(address %savings_pool_contract)
(pair
(pair %settlement_payout_ratio
(nat %numerator)
(nat %denominator))
(pair
(pair %settlement_ratio
(nat %numerator)
(nat %denominator))
(pair
(pair %settlement_reward_fee_ratio
(nat %numerator)
(nat %denominator))
(pair
(nat %spread_rate)
(pair
(address %target_price_oracle)
(pair
(address %token_contract)
(pair
(nat %token_id)
(pair
(nat %total_supply)
(big_map %vault_contexts
address
(pair
(nat %balance)
(pair
(option %introducer address)
(nat %minted))))))))))))))))))))))))))) ;
code { LAMBDA
(pair
(pair address
(pair nat (pair address (pair (pair nat nat) (pair nat nat)))))
(pair (list operation)
(pair timestamp
(pair (big_map (pair address nat) unit)
(pair (pair nat nat)
(pair address
(pair nat
(pair nat
(pair address
(pair address
(pair (pair nat nat)
(pair
(pair nat nat)
(pair
(pair nat
nat)
(pair
address
(pair nat
(pair
address
(pair
address
(pair
(pair
nat
nat)
(pair
(pair
nat
nat)
(pair
(pair
nat
nat)
(pair
nat
(pair
address
(pair
address
(pair
nat
(pair
nat
(big_map
address
(pair
nat
(pair
(option address)
nat))))))))))))))))))))))))))))
(pair unit
(pair (list operation)
(pair timestamp
(pair (big_map (pair address nat) unit)
(pair (pair nat nat)
(pair address
(pair nat
(pair nat
(pair address
(pair address
(pair
(pair nat nat)
(pair
(pair nat nat)
(pair
(pair nat
nat)
(pair
address
(pair nat
(pair
address
(pair
address
(pair
(pair
nat
nat)
(pair
(pair
nat
nat)
(pair
(pair
nat
nat)
(pair
nat
(pair
address
(pair
address
(pair
nat
(pair
nat
(big_map
address
(pair
nat
(pair
(option address)
nat))))))))))))))))))))))))))))
{ UNPAIR 3 ;
SWAP ;
DUP 3 ;
GET 46 ;
DUP 3 ;
CAR ;
GET ;
IF_NONE { PUSH int 344 ; FAILWITH } {} ;
DUP ;
CAR ;
DUP 5 ;
GET 11 ;
DUP 3 ;
GET 4 ;
MUL ;
LAMBDA
(pair nat nat)
nat
{ UNPAIR ;
PUSH nat 0 ;
DUP 3 ;
DUP 3 ;
EDIV ;
IF_NONE { PUSH int 129 ; FAILWITH } { CDR } ;
COMPARE ;
EQ ;
IF
{ EDIV ; IF_NONE { PUSH int 131 ; FAILWITH } { CAR } }
{ PUSH nat 1 ;
DUG 2 ;
EDIV ;
IF_NONE { PUSH int 133 ; FAILWITH } { CAR } ;
ADD } } ;
DUP ;
PUSH nat 1000000000000 ;
DUP 4 ;
PAIR ;
EXEC ;
PUSH nat 1 ;
DUP 9 ;
GET 39 ;
UNIT ;
VIEW "get_price" nat ;
IF_NONE { PUSH int 502 ; FAILWITH } {} ;
DUP 3 ;
MUL ;
MUL ;
PUSH nat 1000000000000 ;
PUSH nat 1 ;
PUSH nat 1000000 ;
DUP ;
DUP 9 ;
MUL ;
MUL ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 373 ; FAILWITH } { CAR } ;
DIG 7 ;
DUP ;
GET 7 ;
CDR ;
SWAP ;
DUP ;
DUG 9 ;
GET 7 ;
CAR ;
PUSH nat 1000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 382 ; FAILWITH } { CAR } ;
SWAP ;
DUP ;
DUG 2 ;
COMPARE ;
LT ;
IF {} { PUSH int 802 ; FAILWITH } ;
PUSH nat 1000000 ;
DIG 8 ;
DUP ;
GET 10 ;
SWAP ;
DUP ;
DUG 10 ;
GET 9 ;
PUSH nat 1000000 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 377 ; FAILWITH } { CAR } ;
DUP 3 ;
DUP ;
DUP 3 ;
COMPARE ;
LE ;
IF { DROP } { SWAP ; DROP } ;
PUSH nat 1000000000000000000 ;
PUSH nat 1 ;
DUP 13 ;
GET 39 ;
UNIT ;
VIEW "get_price" nat ;
IF_NONE { PUSH int 502 ; FAILWITH } {} ;
DUP 13 ;
GET 3 ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 395 ; FAILWITH } { CAR } ;
MUL ;
EDIV ;
IF_NONE { PUSH int 407 ; FAILWITH } { CAR } ;
DIG 9 ;
DUP ;
GET 35 ;
CDR ;
SWAP ;
DUP ;
DUG 11 ;
GET 35 ;
CAR ;
PUSH nat 1000000000000000000 ;
PUSH nat 1 ;
DUP 14 ;
GET 39 ;
UNIT ;
VIEW "get_price" nat ;
IF_NONE { PUSH int 502 ; FAILWITH } {} ;
DUP 14 ;
GET 3 ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 395 ; FAILWITH } { CAR } ;
DUP 4 ;
SUB ;
PUSH int 0 ;
DUP ;
DUP 3 ;
COMPARE ;
LE ;
IF { SWAP ; DROP } { DROP } ;
ISNAT ;
IF_NONE { PUSH int 412 ; FAILWITH } {} ;
MUL ;
EDIV ;
IF_NONE { PUSH int 412 ; FAILWITH } { CAR } ;
DUP 10 ;
GET 3 ;
DUP 5 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 419 ; FAILWITH } {} ;
PUSH nat 1 ;
DUP 13 ;
GET 39 ;
UNIT ;
VIEW "get_price" nat ;
IF_NONE { PUSH int 502 ; FAILWITH } {} ;
DUP 3 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 423 ; FAILWITH } { CAR } ;
DIG 11 ;
DUP ;
GET 7 ;
CDR ;
SWAP ;
DUP ;
DUG 13 ;
GET 7 ;
CAR ;
PUSH nat 1 ;
DIG 3 ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 431 ; FAILWITH } { CAR } ;
PUSH nat 1000000000000 ;
PUSH nat 1000000 ;
DUP 6 ;
DUP 12 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 428 ; FAILWITH } {} ;
MUL ;
MUL ;
COMPARE ;
LT ;
IF {} { PUSH int 803 ; FAILWITH } ;
DIG 9 ;
DUP 12 ;
GET 41 ;
CONTRACT %burn (pair (address %owner)
(pair (nat %token_id) (nat %token_amount))) ;
IF_NONE { PUSH int 125 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 13 ;
GET 3 ;
DUP 15 ;
GET 43 ;
SENDER ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUG 9 ;
DUP 12 ;
DUP 12 ;
GET 3 ;
DIG 13 ;
GET 45 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 445 ; FAILWITH } {} ;
UPDATE 45 ;
DUG 11 ;
DIG 8 ;
DUP 12 ;
GET 11 ;
PUSH nat 1000000000000 ;
DIG 3 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 450 ; FAILWITH } { CAR } ;
UPDATE 4 ;
DUP 3 ;
DUP 9 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 454 ; FAILWITH } {} ;
UPDATE 1 ;
DUG 7 ;
DIG 10 ;
DUP ;
GET 46 ;
DUP 10 ;
SOME ;
DUP 13 ;
CAR ;
UPDATE ;
UPDATE 46 ;
DUG 10 ;
DUP ;
PUSH nat 0 ;
SWAP ;
DUP 4 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 504 ; FAILWITH } {} ;
COMPARE ;
GT ;
IF
{ DIG 8 ;
DUP 11 ;
GET 7 ;
CONTRACT %transfer (pair (address %from)
(pair (address %to) (nat %value))) ;
IF_NONE { PUSH int 19 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
DUP 6 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 504 ; FAILWITH } {} ;
DUP 13 ;
GET 5 ;
SELF_ADDRESS ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUG 8 }
{} ;
DUP ;
PUSH nat 0 ;
COMPARE ;
LT ;
IF
{ SWAP ;
DROP ;
SWAP ;
DROP ;
SWAP ;
DROP ;
SWAP ;
DROP ;
SWAP ;
DROP ;
SWAP ;
DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
SWAP ;
DUP 3 ;
GET 7 ;
CONTRACT %transfer (pair (address %from)
(pair (address %to) (nat %value))) ;
IF_NONE { PUSH int 19 ; FAILWITH } {} ;
PUSH mutez 0 ;
DIG 3 ;
DUP 5 ;
GET 27 ;
SELF_ADDRESS ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS }
{ DROP 8 ; SWAP ; DROP } ;
UNIT ;
PAIR 3 } ;
SWAP ;
LAMBDA
(pair unit
(pair (list operation)
(pair timestamp
(pair (big_map (pair address nat) unit)
(pair (pair nat nat)
(pair address
(pair nat
(pair nat
(pair address
(pair address
(pair
(pair nat nat)
(pair
(pair nat nat)
(pair
(pair nat
nat)
(pair
address
(pair nat
(pair
address
(pair
address
(pair
(pair
nat
nat)
(pair
(pair
nat
nat)
(pair
(pair
nat
nat)
(pair
nat
(pair
address
(pair
address
(pair
nat
(pair
nat
(big_map
address
(pair
nat
(pair
(option address)
nat))))))))))))))))))))))))))))
(pair unit
(pair (list operation)
(pair timestamp
(pair (big_map (pair address nat) unit)
(pair (pair nat nat)
(pair address
(pair nat
(pair nat
(pair address
(pair address
(pair
(pair nat nat)
(pair
(pair nat nat)
(pair
(pair nat
nat)
(pair
address
(pair nat
(pair
address
(pair
address
(pair
(pair
nat
nat)
(pair
(pair
nat
nat)
(pair
(pair
nat
nat)
(pair
nat
(pair
address
(pair
address
(pair
nat
(pair
nat
(big_map
address
(pair
nat
(pair
(option address)
nat))))))))))))))))))))))))))))
{ UNPAIR 3 ;
SWAP ;
DUP 3 ;
CAR ;
NOW ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 235 ; FAILWITH } {} ;
DUP ;
PUSH nat 0 ;
COMPARE ;
LT ;
IF
{ DIG 2 ;
DROP ;
PUSH nat 1000000000000 ;
DUP 4 ;
GET 45 ;
DUP 3 ;
DUP 6 ;
GET 25 ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 240 ; FAILWITH } { CAR } ;
PUSH nat 1000000000000 ;
DUP 5 ;
GET 45 ;
DUP 4 ;
DUP 7 ;
GET 37 ;
MUL ;
MUL ;
EDIV ;
IF_NONE { PUSH int 249 ; FAILWITH } { CAR } ;
DUP 5 ;
PUSH nat 1000000000000 ;
DIG 4 ;
DIG 6 ;
DUP ;
GET 37 ;
SWAP ;
DUP ;
DUG 8 ;
GET 25 ;
ADD ;
MUL ;
PUSH nat 1000000000000 ;
ADD ;
DIG 6 ;
GET 11 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 264 ; FAILWITH } { CAR } ;
UPDATE 11 ;
DUG 3 ;
DIG 2 ;
DUP 4 ;
GET 41 ;
CONTRACT %mint (pair (address %owner)
(pair (nat %token_id) (nat %token_amount))) ;
IF_NONE { PUSH int 125 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 5 ;
DIG 6 ;
DUP ;
GET 43 ;
SWAP ;
DUP ;
DUG 8 ;
GET 29 ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUP 4 ;
GET 41 ;
CONTRACT %mint (pair (address %owner)
(pair (nat %token_id) (nat %token_amount))) ;
IF_NONE { PUSH int 125 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
DIG 6 ;
DUP ;
GET 43 ;
SWAP ;
DUP ;
DUG 8 ;
GET 27 ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUG 2 ;
DIG 3 ;
DUP ;
GET 45 ;
DIG 2 ;
DIG 3 ;
ADD ;
ADD ;
UPDATE 45 ;
NOW ;
UPDATE 1 ;
SWAP }
{ DROP ; SWAP ; DROP } ;
UNIT ;
PAIR 3 } ;
SWAP ;
LAMBDA
(pair (pair address nat)
(pair (list operation)
(pair timestamp
(pair (big_map (pair address nat) unit)
(pair (pair nat nat)
(pair address
(pair nat
(pair nat
(pair address
(pair address
(pair
(pair nat nat)
(pair
(pair nat nat)
(pair
(pair nat
nat)
(pair
address
(pair nat
(pair
address
(pair
address
(pair
(pair
nat
nat)
(pair
(pair
nat
nat)
(pair
(pair
nat
nat)
(pair
nat
(pair
address
(pair
address
(pair
nat
(pair
nat
(big_map
address
(pair
nat
(pair
(option address)
nat))))))))))))))))))))))))))))
(pair unit
(pair (list operation)
(pair timestamp
(pair (big_map (pair address nat) unit)
(pair (pair nat nat)
(pair address
(pair nat
(pair nat
(pair address
(pair address
(pair
(pair nat nat)
(pair
(pair nat nat)
(pair
(pair nat
nat)
(pair
address
(pair nat
(pair
address
(pair
address
(pair
(pair
nat
nat)
(pair
(pair
nat
nat)
(pair
(pair
nat
nat)
(pair
nat
(pair
address
(pair
address
(pair
nat
(pair
nat
(big_map
address
(pair
nat
(pair
(option address)
nat))))))))))))))))))))))))))))
{ UNPAIR 3 ;
SWAP ;
DUP 3 ;
GET 13 ;
CONTRACT %update_stake (pair (address %address) (nat %amount)) ;
IF_NONE { PUSH int 296 ; FAILWITH } {} ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS ;
UNIT ;
PAIR 3 } ;
SWAP ;
LAMBDA
(pair nat
(pair (list operation)
(pair timestamp
(pair (big_map (pair address nat) unit)
(pair (pair nat nat)
(pair address
(pair nat
(pair nat
(pair address
(pair address
(pair
(pair nat nat)
(pair
(pair nat nat)
(pair
(pair nat
nat)
(pair
address
(pair nat
(pair
address
(pair
address
(pair
(pair
nat
nat)
(pair
(pair
nat
nat)
(pair
(pair
nat
nat)
(pair
nat
(pair
address
(pair
address
(pair
nat
(pair
nat
(big_map
address
(pair
nat
(pair
(option address)
nat))))))))))))))))))))))))))))
(pair unit
(pair (list operation)
(pair timestamp
(pair (big_map (pair address nat) unit)
(pair (pair nat nat)
(pair address
(pair nat
(pair nat
(pair address
(pair address
(pair
(pair nat nat)
(pair
(pair nat nat)
(pair
(pair nat
nat)
(pair
address
(pair nat
(pair
address
(pair
address
(pair
(pair
nat
nat)
(pair
(pair
nat
nat)
(pair
(pair
nat
nat)
(pair
nat
(pair
address
(pair
address
(pair
nat
(pair
nat
(big_map
address
(pair
nat
(pair
(option address)
nat))))))))))))))))))))))))))))
{ UNPAIR 3 ;
SWAP ;
DUP 3 ;
GET 3 ;
DIG 2 ;
SENDER ;
PAIR ;
MEM ;
IF {} { PUSH int 401 ; FAILWITH } ;
UNIT ;
PAIR 3 } ;
SWAP ;
UNPAIR ;
IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ AMOUNT ;
PUSH mutez 0 ;
COMPARE ;
EQ ;
IF {} { AMOUNT ; FAILWITH } ;
NIL operation ;
DUP 6 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
UNPAIR 3 ;
DIG 7 ;
DIG 7 ;
DIG 7 ;
DIG 7 ;
DIG 6 ;
DIG 7 ;
DIG 7 ;
DIG 7 ;
PUSH nat 1000001 ;
DUP 4 ;
COMPARE ;
GE ;
IF {} { PUSH int 602 ; FAILWITH } ;
DUP 4 ;
GET 46 ;
SENDER ;
GET ;
IF_NONE { PUSH int 652 ; FAILWITH } {} ;
DUP 5 ;
GET 11 ;
SWAP ;
DUP ;
DUG 2 ;
GET 4 ;
MUL ;
LAMBDA
(pair nat nat)
nat
{ UNPAIR ;
PUSH nat 0 ;
DUP 3 ;
DUP 3 ;
EDIV ;
IF_NONE { PUSH int 129 ; FAILWITH } { CDR } ;
COMPARE ;
EQ ;
IF
{ EDIV ; IF_NONE { PUSH int 131 ; FAILWITH } { CAR } }
{ PUSH nat 1 ;
DUG 2 ;
EDIV ;
IF_NONE { PUSH int 133 ; FAILWITH } { CAR } ;
ADD } } ;
DUP ;
PUSH nat 1000000000000 ;
DIG 3 ;
PAIR ;
EXEC ;
PUSH nat 1000000000000 ;
DUP 7 ;
DIG 2 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 668 ; FAILWITH } {} ;
MUL ;
DUG 2 ;
DUP 7 ;
GET 11 ;
DIG 3 ;
PAIR ;
EXEC ;
UPDATE 4 ;
DIG 4 ;
DUP ;
GET 46 ;
DUP 3 ;
SOME ;
SENDER ;
UPDATE ;
UPDATE 46 ;
DUG 4 ;
DIG 2 ;
DUP 5 ;
GET 41 ;
CONTRACT %burn (pair (address %owner)
(pair (nat %token_id) (nat %token_amount))) ;
IF_NONE { PUSH int 125 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 6 ;
DUP 8 ;
GET 43 ;
SENDER ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUG 2 ;
DUP 5 ;
DUP 5 ;
DIG 6 ;
GET 45 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 683 ; FAILWITH } {} ;
UPDATE 45 ;
DUG 4 ;
DUP 7 ;
SWAP ;
DUP ;
DUG 2 ;
GET 4 ;
SENDER ;
PAIR ;
SWAP ;
DIG 6 ;
DIG 5 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
DIG 8 ;
DIG 8 ;
DIG 8 ;
DIG 8 ;
DIG 5 ;
DIG 8 ;
DIG 6 ;
DIG 8 ;
DIG 8 ;
DUP ;
GET 3 ;
IF_NONE
{ DROP 2 ; SWAP ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP }
{ DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 3 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP ;
DIG 3 ;
DIG 3 ;
DUP ;
GET 17 ;
CDR ;
SWAP ;
DUP ;
DUG 5 ;
GET 17 ;
CAR ;
DUP 4 ;
GET 4 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 692 ; FAILWITH } { CAR } ;
DIG 2 ;
GET 3 ;
IF_NONE { PUSH int 604 ; FAILWITH } {} ;
PAIR ;
SWAP ;
DUG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR } }
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
AMOUNT ;
PUSH mutez 0 ;
COMPARE ;
EQ ;
IF {} { AMOUNT ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 46 ;
SENDER ;
MEM ;
IF
{ DROP }
{ SWAP ;
DUP ;
GET 46 ;
PUSH nat 0 ;
DIG 3 ;
PUSH nat 0 ;
PAIR 3 ;
SOME ;
SENDER ;
UPDATE ;
UPDATE 46 } ;
NIL operation } }
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
AMOUNT ;
PUSH mutez 0 ;
COMPARE ;
EQ ;
IF {} { AMOUNT ; FAILWITH } ;
DUP ;
PUSH nat 0 ;
COMPARE ;
LT ;
IF
{ NIL operation ;
DUP 3 ;
GET 7 ;
CONTRACT %transfer (pair (address %from)
(pair (address %to) (nat %value))) ;
IF_NONE { PUSH int 19 ; FAILWITH } {} ;
PUSH mutez 0 ;
DUP 4 ;
SELF_ADDRESS ;
SENDER ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS }
{ NIL operation } ;
DIG 2 ;
DUP ;
GET 46 ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 149 ; FAILWITH } {} ;
DUP ;
CAR ;
DIG 6 ;
ADD ;
UPDATE 1 ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 46 ;
SWAP }
{ IF_LEFT
{ AMOUNT ;
PUSH mutez 0 ;
COMPARE ;
EQ ;
IF {} { AMOUNT ; FAILWITH } ;
NIL operation ;
DUP 4 ;
PUSH nat 0 ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
UNPAIR 3 ;
DIG 7 ;
DIG 7 ;
DIG 7 ;
DIG 7 ;
DIG 6 ;
DIG 7 ;
DIG 7 ;
DIG 7 ;
DUP 3 ;
DUP 5 ;
GET 46 ;
EXEC ;
DIG 4 ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
UPDATE 46 ;
DUG 4 ;
DUP ;
CDR ;
NIL operation ;
SWAP ;
ITER { CONS } ;
ITER { DIG 3 ; SWAP ; CONS ; DUG 2 } ;
DROP 2 ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP }
{ AMOUNT ;
PUSH mutez 0 ;
COMPARE ;
EQ ;
IF {} { AMOUNT ; FAILWITH } ;
NIL operation ;
DUP 6 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
UNPAIR 3 ;
DIG 7 ;
DIG 7 ;
DIG 7 ;
DIG 7 ;
DIG 6 ;
DIG 7 ;
DIG 7 ;
DIG 7 ;
DUP 8 ;
DIG 4 ;
DUP ;
GET 19 ;
SWAP ;
DUP ;
DUG 6 ;
GET 5 ;
SENDER ;
DIG 6 ;
DUP ;
CDR ;
SWAP ;
DUP ;
DUG 8 ;
CAR ;
PAIR 5 ;
SWAP ;
DIG 5 ;
DIG 4 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
UNPAIR 3 ;
DIG 8 ;
DIG 8 ;
DIG 8 ;
DIG 8 ;
DIG 6 ;
DIG 8 ;
DIG 7 ;
DIG 8 ;
DIG 8 ;
DUP 5 ;
GET 46 ;
DUP 5 ;
CAR ;
GET ;
IF_NONE { PUSH int 725 ; FAILWITH } {} ;
DUP 8 ;
SWAP ;
DUP ;
DUG 2 ;
GET 4 ;
DUP 7 ;
CAR ;
PAIR ;
SWAP ;
DIG 7 ;
DIG 6 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
DIG 9 ;
DIG 9 ;
DIG 9 ;
DIG 9 ;
DIG 5 ;
DIG 9 ;
DIG 6 ;
DIG 9 ;
DIG 9 ;
DIG 9 ;
DUP ;
GET 3 ;
IF_NONE
{ DROP 3 ; SWAP ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP }
{ DROP ;
SWAP ;
DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 3 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP ;
DIG 3 ;
DIG 3 ;
DUP ;
GET 17 ;
CDR ;
SWAP ;
DUP ;
DUG 5 ;
GET 17 ;
CAR ;
DUP 4 ;
GET 4 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 736 ; FAILWITH } { CAR } ;
DIG 2 ;
GET 3 ;
IF_NONE { PUSH int 604 ; FAILWITH } {} ;
PAIR ;
SWAP ;
DUG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR } } } } }
{ IF_LEFT
{ IF_LEFT
{ AMOUNT ;
PUSH mutez 0 ;
COMPARE ;
EQ ;
IF {} { AMOUNT ; FAILWITH } ;
NIL operation ;
DUP 6 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
UNPAIR 3 ;
DIG 7 ;
DIG 7 ;
DIG 7 ;
DIG 7 ;
DIG 6 ;
DIG 7 ;
DIG 7 ;
DIG 7 ;
PUSH nat 1000001 ;
DUP 4 ;
COMPARE ;
GE ;
IF {} { PUSH int 602 ; FAILWITH } ;
DUP 4 ;
GET 46 ;
SENDER ;
GET ;
IF_NONE { PUSH int 551 ; FAILWITH } {} ;
DUP 5 ;
GET 11 ;
SWAP ;
DUP ;
DUG 2 ;
GET 4 ;
MUL ;
LAMBDA
(pair nat nat)
nat
{ UNPAIR ;
PUSH nat 0 ;
DUP 3 ;
DUP 3 ;
EDIV ;
IF_NONE { PUSH int 129 ; FAILWITH } { CDR } ;
COMPARE ;
EQ ;
IF
{ EDIV ; IF_NONE { PUSH int 131 ; FAILWITH } { CAR } }
{ PUSH nat 1 ;
DUG 2 ;
EDIV ;
IF_NONE { PUSH int 133 ; FAILWITH } { CAR } ;
ADD } } ;
PUSH nat 1000000000000 ;
DIG 2 ;
PAIR ;
EXEC ;
PUSH nat 1 ;
DUP 7 ;
GET 39 ;
UNIT ;
VIEW "get_price" nat ;
IF_NONE { PUSH int 502 ; FAILWITH } {} ;
DUP 7 ;
DIG 3 ;
ADD ;
MUL ;
EDIV ;
IF_NONE { PUSH int 572 ; FAILWITH } { CAR } ;
PUSH nat 1 ;
DIG 6 ;
DUP ;
GET 5 ;
CDR ;
SWAP ;
DUP ;
DUG 8 ;
GET 5 ;
CAR ;
DIG 3 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 577 ; FAILWITH } { CAR } ;
MUL ;
PUSH nat 1000000000000 ;
PUSH nat 1000000 ;
DUP 4 ;
CAR ;
MUL ;
MUL ;
COMPARE ;
GE ;
IF {} { PUSH int 801 ; FAILWITH } ;
DUP ;
GET 4 ;
DUP 6 ;
GET 11 ;
PUSH nat 1000000000000 ;
DUP 7 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 596 ; FAILWITH } { CAR } ;
ADD ;
UPDATE 4 ;
DIG 4 ;
DUP ;
GET 46 ;
DUP 3 ;
SOME ;
SENDER ;
UPDATE ;
UPDATE 46 ;
DUG 4 ;
DIG 2 ;
DUP 5 ;
GET 41 ;
CONTRACT %mint (pair (address %owner)
(pair (nat %token_id) (nat %token_amount))) ;
IF_NONE { PUSH int 125 ; FAILWITH } {} ;
PUSH mutez 0 ;
DIG 6 ;
DUP ;
GET 21 ;
CDR ;
SWAP ;
DUP ;
DUG 8 ;
GET 21 ;
CAR ;
DUP 8 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 590 ; FAILWITH } { CAR } ;
DUP 7 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 594 ; FAILWITH } {} ;
DUP 8 ;
GET 43 ;
SENDER ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUP 5 ;
GET 41 ;
CONTRACT %mint (pair (address %owner)
(pair (nat %token_id) (nat %token_amount))) ;
IF_NONE { PUSH int 125 ; FAILWITH } {} ;
PUSH mutez 0 ;
DIG 6 ;
DUP ;
GET 21 ;
CDR ;
SWAP ;
DUP ;
DUG 8 ;
GET 21 ;
CAR ;
DUP 8 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 590 ; FAILWITH } { CAR } ;
DIG 7 ;
DUP ;
GET 43 ;
SWAP ;
DUP ;
DUG 9 ;
GET 27 ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS ;
DUG 2 ;
DIG 4 ;
DUP ;
GET 45 ;
DUP 6 ;
ADD ;
UPDATE 45 ;
DUG 4 ;
DUP 7 ;
SWAP ;
DUP ;
DUG 2 ;
GET 4 ;
SENDER ;
PAIR ;
SWAP ;
DIG 6 ;
DIG 5 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
DIG 8 ;
DIG 8 ;
DIG 8 ;
DIG 8 ;
DIG 5 ;
DIG 8 ;
DIG 6 ;
DIG 8 ;
DIG 8 ;
DUP ;
GET 3 ;
IF_NONE
{ DROP 2 ; SWAP ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP }
{ DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 3 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP ;
DIG 3 ;
DIG 3 ;
DUP ;
GET 17 ;
CDR ;
SWAP ;
DUP ;
DUG 5 ;
GET 17 ;
CAR ;
DUP 4 ;
GET 4 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 621 ; FAILWITH } { CAR } ;
DIG 2 ;
GET 3 ;
IF_NONE { PUSH int 604 ; FAILWITH } {} ;
PAIR ;
SWAP ;
DUG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR } }
{ DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
AMOUNT ;
PUSH mutez 0 ;
COMPARE ;
EQ ;
IF {} { AMOUNT ; FAILWITH } ;
NIL operation ;
DIG 3 ;
DUP 3 ;
CDR ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
DUP ;
GET 3 ;
NONE unit ;
DIG 4 ;
UPDATE ;
UPDATE 3 ;
SWAP } }
{ IF_LEFT
{ DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
AMOUNT ;
PUSH mutez 0 ;
COMPARE ;
EQ ;
IF {} { AMOUNT ; FAILWITH } ;
NIL operation ;
DIG 3 ;
DUP 3 ;
CDR ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
DUP ;
GET 3 ;
PUSH (option unit) (Some Unit) ;
DIG 4 ;
UPDATE ;
UPDATE 3 ;
SWAP }
{ IF_LEFT
{ DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
AMOUNT ;
PUSH mutez 0 ;
COMPARE ;
EQ ;
IF {} { AMOUNT ; FAILWITH } ;
NIL operation ;
DIG 3 ;
PUSH nat 0 ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
DIG 2 ;
UPDATE 5 ;
SWAP }
{ DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
AMOUNT ;
PUSH mutez 0 ;
COMPARE ;
EQ ;
IF {} { AMOUNT ; FAILWITH } ;
NIL operation ;
DIG 3 ;
PUSH nat 0 ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
DIG 2 ;
DUP ;
DUG 3 ;
GET 6 ;
UPDATE 39 ;
DUG 2 ;
DUG 2 ;
DUP ;
DUG 3 ;
GET 3 ;
UPDATE 27 ;
DUG 2 ;
DUG 2 ;
DUP ;
DUG 3 ;
GET 5 ;
UPDATE 29 ;
DUG 2 ;
DUG 2 ;
DUP ;
DUG 3 ;
CAR ;
CAR ;
UPDATE 13 ;
DUG 2 ;
DUG 2 ;
DUP ;
DUG 3 ;
CAR ;
GET 4 ;
UPDATE 23 ;
DUG 2 ;
DUG 2 ;
CAR ;
GET 3 ;
UPDATE 15 ;
SWAP } } } } }
{ IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
AMOUNT ;
PUSH mutez 0 ;
COMPARE ;
EQ ;
IF {} { AMOUNT ; FAILWITH } ;
NIL operation ;
DIG 3 ;
PUSH nat 0 ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
DIG 2 ;
UPDATE 17 ;
SWAP }
{ DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
AMOUNT ;
PUSH mutez 0 ;
COMPARE ;
EQ ;
IF {} { AMOUNT ; FAILWITH } ;
NIL operation ;
DIG 3 ;
PUSH nat 0 ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
DIG 2 ;
UPDATE 19 ;
SWAP } }
{ IF_LEFT
{ DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
AMOUNT ;
PUSH mutez 0 ;
COMPARE ;
EQ ;
IF {} { AMOUNT ; FAILWITH } ;
NIL operation ;
DIG 3 ;
PUSH nat 0 ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
DIG 2 ;
UPDATE 21 ;
SWAP }
{ IF_LEFT
{ DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 3 ;
DROP ;
AMOUNT ;
PUSH mutez 0 ;
COMPARE ;
EQ ;
IF {} { AMOUNT ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 15 ;
SENDER ;
COMPARE ;
EQ ;
IF {} { PUSH int 401 ; FAILWITH } ;
NIL operation ;
DIG 3 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
DIG 2 ;
UPDATE 25 ;
SWAP }
{ DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
AMOUNT ;
PUSH mutez 0 ;
COMPARE ;
EQ ;
IF {} { AMOUNT ; FAILWITH } ;
NIL operation ;
DIG 3 ;
PUSH nat 0 ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
DIG 2 ;
UPDATE 31 ;
SWAP } } } }
{ IF_LEFT
{ IF_LEFT
{ DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
AMOUNT ;
PUSH mutez 0 ;
COMPARE ;
EQ ;
IF {} { AMOUNT ; FAILWITH } ;
NIL operation ;
DIG 3 ;
PUSH nat 0 ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
DIG 2 ;
UPDATE 33 ;
SWAP }
{ IF_LEFT
{ DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
AMOUNT ;
PUSH mutez 0 ;
COMPARE ;
EQ ;
IF {} { AMOUNT ; FAILWITH } ;
NIL operation ;
DIG 3 ;
PUSH nat 0 ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
SWAP ;
DIG 2 ;
UPDATE 35 ;
SWAP }
{ AMOUNT ;
PUSH mutez 0 ;
COMPARE ;
EQ ;
IF {} { AMOUNT ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
GET 23 ;
SENDER ;
COMPARE ;
EQ ;
IF {} { PUSH int 401 ; FAILWITH } ;
NIL operation ;
DUP 6 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
UNPAIR 3 ;
DIG 7 ;
DIG 7 ;
DIG 7 ;
DIG 7 ;
DIG 6 ;
DIG 7 ;
DIG 7 ;
DIG 7 ;
DUP 8 ;
DIG 4 ;
DUP ;
GET 31 ;
SWAP ;
DUP ;
DUG 6 ;
GET 33 ;
DIG 5 ;
DUP ;
GET 4 ;
SWAP ;
DUP ;
GET 3 ;
SWAP ;
DUP ;
DUG 8 ;
CAR ;
PAIR 5 ;
SWAP ;
DIG 5 ;
DIG 4 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
UNPAIR 3 ;
DIG 8 ;
DIG 8 ;
DIG 8 ;
DIG 8 ;
DIG 6 ;
DIG 8 ;
DIG 7 ;
DIG 8 ;
DIG 8 ;
DUP 5 ;
GET 46 ;
DUP 5 ;
CAR ;
GET ;
IF_NONE { PUSH int 776 ; FAILWITH } {} ;
DUP 8 ;
SWAP ;
DUP ;
DUG 2 ;
GET 4 ;
DUP 7 ;
CAR ;
PAIR ;
SWAP ;
DIG 7 ;
DIG 6 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
DIG 9 ;
DIG 9 ;
DIG 9 ;
DIG 9 ;
DIG 5 ;
DIG 9 ;
DIG 6 ;
DIG 9 ;
DIG 9 ;
DIG 9 ;
DUP ;
GET 3 ;
IF_NONE
{ DROP 3 ; SWAP ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP }
{ DROP ;
SWAP ;
DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 3 ;
DROP ;
DIG 4 ;
DROP ;
DIG 4 ;
DROP ;
DIG 3 ;
DIG 3 ;
DUP ;
GET 17 ;
CDR ;
SWAP ;
DUP ;
DUG 5 ;
GET 17 ;
CAR ;
DUP 4 ;
GET 4 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 787 ; FAILWITH } { CAR } ;
DIG 2 ;
GET 3 ;
IF_NONE { PUSH int 604 ; FAILWITH } {} ;
PAIR ;
SWAP ;
DUG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR } } } }
{ IF_LEFT
{ AMOUNT ;
PUSH mutez 0 ;
COMPARE ;
EQ ;
IF {} { AMOUNT ; FAILWITH } ;
NIL operation ;
DUP 6 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
UNPAIR 3 ;
DIG 7 ;
DIG 7 ;
DIG 7 ;
DIG 7 ;
DIG 6 ;
DIG 7 ;
DIG 7 ;
DIG 7 ;
DUP 3 ;
ITER { DUP 5 ;
GET 46 ;
SWAP ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 875 ; FAILWITH } {} ;
DUP 8 ;
SWAP ;
DUP ;
DUG 2 ;
GET 4 ;
DUP 4 ;
PAIR ;
SWAP ;
DIG 7 ;
DIG 6 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
DIG 9 ;
DIG 9 ;
DIG 9 ;
DIG 9 ;
DIG 5 ;
DIG 9 ;
DIG 6 ;
DIG 9 ;
DIG 9 ;
DIG 9 ;
DUP ;
GET 3 ;
IF_NONE
{ DROP 2 }
{ DROP ;
SWAP ;
DROP ;
DUP 7 ;
DIG 5 ;
DUP ;
GET 17 ;
CDR ;
SWAP ;
DUP ;
DUG 7 ;
GET 17 ;
CAR ;
DUP 4 ;
GET 4 ;
MUL ;
EDIV ;
IF_NONE { PUSH int 885 ; FAILWITH } { CAR } ;
DIG 2 ;
GET 3 ;
IF_NONE { PUSH int 604 ; FAILWITH } {} ;
PAIR ;
SWAP ;
DIG 5 ;
DIG 4 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
DIG 7 ;
DIG 7 ;
DIG 7 ;
DIG 7 ;
DIG 5 ;
DIG 7 ;
DIG 6 ;
DIG 7 } } ;
DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP ;
DIG 2 ;
DROP }
{ IF_LEFT
{ DROP ;
SWAP ;
DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP ;
AMOUNT ;
PUSH mutez 0 ;
COMPARE ;
EQ ;
IF {} { AMOUNT ; FAILWITH } ;
NIL operation ;
DIG 2 ;
UNIT ;
SWAP ;
DUG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR }
{ AMOUNT ;
PUSH mutez 0 ;
COMPARE ;
EQ ;
IF {} { AMOUNT ; FAILWITH } ;
NIL operation ;
DUP 6 ;
UNIT ;
SWAP ;
DIG 4 ;
DIG 3 ;
DIG 3 ;
PAIR 3 ;
EXEC ;
CDR ;
UNPAIR ;
DUG 6 ;
DUG 6 ;
DUG 6 ;
DIG 5 ;
DIG 6 ;
DIG 6 ;
DUP 3 ;
GET 46 ;
SENDER ;
GET ;
IF_NONE { PUSH int 811 ; FAILWITH } {} ;
PUSH nat 1 ;
DIG 4 ;
DUP ;
GET 5 ;
CAR ;
SWAP ;
DUP ;
DUG 6 ;
GET 39 ;
UNIT ;
VIEW "get_price" nat ;
IF_NONE { PUSH int 502 ; FAILWITH } {} ;
DUP 7 ;
GET 11 ;
DUP 5 ;
GET 4 ;
MUL ;
MUL ;
MUL ;
MUL ;
DUP 5 ;
GET 5 ;
CDR ;
PUSH nat 1000000000000 ;
PUSH nat 1 ;
PUSH nat 1000000 ;
PUSH nat 1000000000000 ;
DUP 9 ;
DUP 8 ;
CAR ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 813 ; FAILWITH } {} ;
MUL ;
MUL ;
MUL ;
MUL ;
MUL ;
COMPARE ;
GE ;
IF {} { PUSH int 801 ; FAILWITH } ;
DUP ;
DUP 4 ;
DIG 2 ;
CAR ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 813 ; FAILWITH } {} ;
UPDATE 1 ;
DIG 3 ;
DUP ;
GET 46 ;
DIG 2 ;
SOME ;
SENDER ;
UPDATE ;
UPDATE 46 ;
DUG 2 ;
PUSH nat 0 ;
DUP 3 ;
COMPARE ;
GT ;
IF
{ DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DIG 3 ;
DROP ;
DUP 3 ;
GET 7 ;
CONTRACT %transfer (pair (address %from)
(pair (address %to)
(nat %value))) ;
IF_NONE { PUSH int 19 ; FAILWITH } {} ;
PUSH mutez 0 ;
DIG 3 ;
SENDER ;
SELF_ADDRESS ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS }
{ SWAP ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP ; DIG 2 ; DROP } } } } } } ;
NIL operation ;
SWAP ;
ITER { CONS } ;
PAIR } ;
view "accrual_update_timestamp" unit timestamp { CDR ; CAR } ;
view "collateral_ratio" unit (pair (nat %numerator) (nat %denominator))
{ CDR ; GET 5 } ;
view "compound_interest_rate" unit nat { CDR ; GET 11 } ;
view "governance_token_contract" unit address { CDR ; GET 13 } ;
view "interest_rate_setter_contract" unit address { CDR ; GET 15 } ;
view "introducer_ratio" unit (pair (nat %numerator) (nat %denominator))
{ CDR ; GET 17 } ;
view "is_admin" (pair (address %owner) (nat %token_id)) bool
{ UNPAIR ; SWAP ; GET 3 ; SWAP ; MEM } ;
view "liquidation_payout_ratio" unit (pair (nat %numerator) (nat %denominator))
{ CDR ; GET 19 } ;
view "minting_fee_ratio" unit (pair (nat %numerator) (nat %denominator))
{ CDR ; GET 21 } ;
view "options_contract" unit address { CDR ; GET 23 } ;
view "reference_interest_rate" unit nat { CDR ; GET 25 } ;
view "reward_pool_contract" unit address { CDR ; GET 27 } ;
view "savings_pool_contract" unit address { CDR ; GET 29 } ;
view "settlement_payout_ratio" unit (pair (nat %numerator) (nat %denominator))
{ CDR ; GET 31 } ;
view "settlement_ratio" unit (pair (nat %numerator) (nat %denominator))
{ CDR ; GET 33 } ;
view "settlement_reward_fee_ratio" unit (pair (nat %numerator) (nat %denominator))
{ CDR ; GET 35 } ;
view "spread_rate" unit nat { CDR ; GET 37 } ;
view "target_price_oracle" unit address { CDR ; GET 39 } ;
view "total_supply" unit nat { CDR ; GET 45 } ;
view "vault_context" address
(option (pair (nat %balance) (pair (option %introducer address) (nat %minted))))
{ UNPAIR ;
SWAP ;
DUP ;
DUG 2 ;
GET 46 ;
SWAP ;
DUP ;
DUG 2 ;
MEM ;
IF
{ SWAP ; GET 46 ; SWAP ; GET ; IF_NONE { PUSH int 1053 ; FAILWITH } {} ; SOME }
{ DROP 2 ; NONE (pair nat (pair (option address) nat)) } } }