x
938
1395
parameter (or
(or
(or
(pair %RecoverExcessToken (pair (nat %amount) (bool %faTwoCheck))
(pair (address %reciever)
(pair (address %tokenAddress)
(nat %tokenId))))
(or (pair %approve (address %spender) (nat %value))
(pair %burn (address %address) (nat %value))))
(or
(or (pair %getAdministrator unit (contract address))
(pair %getAllowance (pair (address %owner) (address %spender))
(contract nat)))
(or (pair %getBalance address (contract nat))
(pair %getPriorBalance (pair (address %address) (nat %level))
(contract (pair (address %address)
(pair (nat %level)
(nat %result))))))))
(or
(or (pair %getTotalSupply unit (contract nat))
(or (pair %mint (address %address) (nat %value))
(address %setAdministrator)))
(or
(or (bool %setPause)
(pair %transfer (address %from) (pair (address %to) (nat %value))))
(or (address %updateExchangeAddress)
(pair %update_metadata (string %key) (bytes %value))))));
storage (pair
(pair
(pair (address %administrator)
(big_map %approvals address (map address nat)))
(pair (big_map %balances address nat)
(pair
(big_map %checkpoints (pair address nat)
(pair (nat %fromBlock) (nat %balance)))
(address %exchangeAddress))))
(pair
(pair (big_map %metadata string bytes)
(pair (big_map %numCheckpoints address nat) (bool %paused)))
(pair (bool %securityCheck)
(pair
(big_map %token_metadata nat
(pair (nat %token_id)
(map %token_info string bytes)))
(nat %totalSupply)))));
code { LAMBDA
(pair (pair address (pair nat nat))
(pair
(pair (pair address (big_map address (map address nat)))
(pair (big_map address nat)
(pair (big_map (pair address nat) (pair nat nat)) address)))
(pair (pair (big_map string bytes) (pair (big_map address nat) bool))
(pair bool (pair (big_map nat (pair nat (map string bytes))) nat)))))
(pair (list operation)
(pair unit
(pair
(pair (pair address (big_map address (map address nat)))
(pair (big_map address nat)
(pair (big_map (pair address nat) (pair nat nat))
address)))
(pair
(pair (big_map string bytes) (pair (big_map address nat) bool))
(pair bool
(pair (big_map nat (pair nat (map string bytes))) nat))))))
{ NIL operation ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
PUSH nat 0 ;
DUP 4 ;
CAR ;
GET 3 ;
COMPARE ;
EQ ;
IF
{ UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
DUP 7 ;
CAR ;
GET 4 ;
LEVEL ;
PAIR ;
SOME ;
PUSH nat 0 ;
DUP 9 ;
CAR ;
CAR ;
PAIR ;
UPDATE ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
PUSH nat 1 ;
DUP 8 ;
CAR ;
GET 3 ;
ADD ;
SOME ;
DIG 7 ;
CAR ;
CAR ;
UPDATE ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR }
{ DUP ;
CAR ;
GET 5 ;
LEVEL ;
SWAP ;
PUSH nat 1 ;
DUP 6 ;
CAR ;
GET 3 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 110 ; FAILWITH } {} ;
DUP 6 ;
CAR ;
CAR ;
PAIR ;
GET ;
IF_NONE { PUSH int 110 ; FAILWITH } {} ;
CAR ;
COMPARE ;
EQ ;
IF
{ UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
DUP 7 ;
CAR ;
GET 4 ;
LEVEL ;
PAIR ;
SOME ;
PUSH nat 1 ;
DUP 9 ;
CAR ;
GET 3 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 111 ; FAILWITH } {} ;
DIG 8 ;
CAR ;
CAR ;
PAIR ;
UPDATE ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR }
{ DUP 3 ;
CAR ;
GET 4 ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
GET 5 ;
PUSH nat 1 ;
DUP 6 ;
CAR ;
GET 3 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 114 ; FAILWITH } {} ;
DUP 6 ;
CAR ;
CAR ;
PAIR ;
GET ;
IF_NONE { PUSH int 114 ; FAILWITH } {} ;
CDR ;
COMPARE ;
NEQ ;
IF
{ UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
DUP 7 ;
CAR ;
GET 4 ;
LEVEL ;
PAIR ;
SOME ;
DIG 7 ;
DUP ;
CAR ;
GET 3 ;
SWAP ;
DUP ;
DUG 9 ;
CAR ;
CAR ;
PAIR ;
UPDATE ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
PUSH nat 1 ;
DUP 8 ;
CAR ;
GET 3 ;
ADD ;
SOME ;
DIG 7 ;
CAR ;
CAR ;
UPDATE ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR }
{ DIG 2 ; DROP } } } ;
UNIT ;
DIG 2 ;
PAIR 3 } ;
SWAP ;
UNPAIR ;
IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
CAR ;
SENDER ;
COMPARE ;
EQ ;
IF {} { PUSH string "xPlenty_NotAdmin" ; FAILWITH } ;
DUP ;
CAR ;
CDR ;
IF
{ DUP ;
GET 5 ;
CONTRACT %transfer (list (pair address
(list (pair address (pair nat nat))))) ;
IF_NONE { PUSH int 284 ; FAILWITH } {} ;
NIL operation ;
SWAP ;
PUSH mutez 0 ;
NIL (pair address (list (pair address (pair nat nat)))) ;
NIL (pair address (pair nat nat)) ;
DIG 5 ;
DUP ;
CAR ;
CAR ;
SWAP ;
DUP ;
GET 6 ;
SWAP ;
GET 3 ;
PAIR 3 ;
CONS ;
SELF_ADDRESS ;
PAIR ;
CONS ;
TRANSFER_TOKENS ;
CONS }
{ DUP ;
GET 5 ;
CONTRACT %transfer (pair address (pair address nat)) ;
IF_NONE { PUSH int 300 ; FAILWITH } {} ;
NIL operation ;
SWAP ;
PUSH mutez 0 ;
DIG 3 ;
DUP ;
CAR ;
CAR ;
SWAP ;
GET 3 ;
SELF_ADDRESS ;
PAIR 3 ;
TRANSFER_TOKENS ;
CONS } }
{ IF_LEFT
{ DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
GET 3 ;
SENDER ;
MEM ;
IF
{}
{ SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
PUSH (option nat) (Some 0) ;
SENDER ;
UPDATE ;
PAIR ;
SWAP ;
UNPAIR ;
SWAP ;
PUSH (option (map address nat)) (Some {}) ;
SENDER ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
SWAP } ;
SWAP ;
DUP ;
DUG 2 ;
GET 3 ;
GET 4 ;
IF { PUSH string "xPlenty_Paused" ; FAILWITH } {} ;
PUSH nat 0 ;
DUP 3 ;
CAR ;
CAR ;
CDR ;
SENDER ;
GET ;
IF_NONE { PUSH int 231 ; FAILWITH } {} ;
DUP 3 ;
CAR ;
GET ;
IF_NONE { PUSH nat 0 } {} ;
COMPARE ;
EQ ;
IF { PUSH bool True } { DUP ; CDR ; PUSH nat 0 ; COMPARE ; EQ } ;
IF
{}
{ PUSH string "xPlenty_UnsafeAllowanceChange" ; FAILWITH } ;
SWAP ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 233 ; FAILWITH } {} ;
DUP 7 ;
CDR ;
SOME ;
DIG 7 ;
CAR ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
NIL operation }
{ SWAP ;
DUP ;
DUG 2 ;
CAR ;
GET 6 ;
SENDER ;
COMPARE ;
EQ ;
IF {} { PUSH string "xPlenty_NotExchange" ; FAILWITH } ;
DUP ;
CDR ;
DUP 3 ;
CAR ;
GET 3 ;
DUP 3 ;
CAR ;
GET ;
IF_NONE { PUSH int 350 ; FAILWITH } {} ;
COMPARE ;
GE ;
IF {} { PUSH string "xPlenty_InsufficientBalance" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
DUP 5 ;
CDR ;
DIG 6 ;
CAR ;
GET 3 ;
DUP 7 ;
CAR ;
GET ;
IF_NONE { PUSH int 352 ; FAILWITH } {} ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 352 ; FAILWITH } {} ;
SOME ;
DUP 6 ;
CAR ;
UPDATE ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
DUP ;
DUG 2 ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
DIG 3 ;
GET 8 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 353 ; FAILWITH } {} ;
UPDATE 8 ;
SWAP ;
DUG 2 ;
DUP ;
DUP ;
DUG 4 ;
CAR ;
GET 3 ;
DUP 4 ;
CAR ;
GET ;
IF_NONE { PUSH int 357 ; FAILWITH } {} ;
DIG 4 ;
GET 3 ;
GET 3 ;
DUP 5 ;
CAR ;
GET ;
IF_NONE { PUSH nat 0 } {} ;
DIG 4 ;
CAR ;
PAIR 3 ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
SWAP ;
CAR } } }
{ IF_LEFT
{ IF_LEFT
{ DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
CAR ;
NIL operation ;
DIG 2 ;
CDR ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS }
{ DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
GET 3 ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
MEM ;
IF
{}
{ SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
PUSH (option nat) (Some 0) ;
DUP 6 ;
CAR ;
CAR ;
UPDATE ;
PAIR ;
SWAP ;
UNPAIR ;
SWAP ;
PUSH (option (map address nat)) (Some {}) ;
DUP 6 ;
CAR ;
CAR ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
SWAP } ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
CDR ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
GET ;
IF_NONE { PUSH int 251 ; FAILWITH } {} ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CDR ;
GET ;
IF_NONE { PUSH nat 0 } {} ;
NIL operation ;
DIG 2 ;
CDR ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS } }
{ IF_LEFT
{ DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
GET 3 ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
MEM ;
IF
{}
{ SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
PUSH (option nat) (Some 0) ;
DUP 6 ;
CAR ;
UPDATE ;
PAIR ;
SWAP ;
UNPAIR ;
SWAP ;
PUSH (option (map address nat)) (Some {}) ;
DUP 6 ;
CAR ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
SWAP } ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
GET 3 ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
GET ;
IF_NONE { PUSH int 244 ; FAILWITH } {} ;
NIL operation ;
DIG 2 ;
CDR ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS }
{ DUP ;
CAR ;
CDR ;
LEVEL ;
COMPARE ;
GT ;
IF {} { PUSH string "xPlenty_Block_Level_Too_Soon" ; FAILWITH } ;
PUSH nat 0 ;
DUP 3 ;
GET 3 ;
GET 3 ;
DUP 3 ;
CAR ;
CAR ;
GET ;
IF_NONE { PUSH nat 0 } {} ;
COMPARE ;
EQ ;
IF
{ DIG 2 ; DROP ; PUSH nat 0 ; SWAP ; DUP ; CAR ; CDR ; SWAP ; DUP ; DUG 3 ; CAR ; CAR ; PAIR 3 }
{ DUP ;
CAR ;
CDR ;
DUP 3 ;
CAR ;
GET 5 ;
PUSH nat 1 ;
DUP 5 ;
GET 3 ;
GET 3 ;
DUP 5 ;
CAR ;
CAR ;
GET ;
IF_NONE { PUSH int 133 ; FAILWITH } {} ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 133 ; FAILWITH } {} ;
DUP 4 ;
CAR ;
CAR ;
PAIR ;
GET ;
IF_NONE { PUSH int 133 ; FAILWITH } {} ;
CAR ;
COMPARE ;
LE ;
IF
{ DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
GET 5 ;
PUSH nat 1 ;
DUP 4 ;
GET 3 ;
GET 3 ;
DUP 4 ;
CAR ;
CAR ;
GET ;
IF_NONE { PUSH int 134 ; FAILWITH } {} ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 134 ; FAILWITH } {} ;
DUP 3 ;
CAR ;
CAR ;
PAIR ;
GET ;
IF_NONE { PUSH int 134 ; FAILWITH } {} ;
CDR ;
SWAP ;
DUP ;
CAR ;
CDR ;
SWAP ;
DUP ;
DUG 3 ;
CAR ;
CAR ;
PAIR 3 }
{ DUP ;
CAR ;
CDR ;
DUP 3 ;
CAR ;
GET 5 ;
PUSH nat 0 ;
DUP 4 ;
CAR ;
CAR ;
PAIR ;
GET ;
IF_NONE { PUSH int 141 ; FAILWITH } {} ;
CAR ;
COMPARE ;
GT ;
IF
{ DIG 2 ;
DROP ;
PUSH nat 0 ;
SWAP ;
DUP ;
CAR ;
CDR ;
SWAP ;
DUP ;
DUG 3 ;
CAR ;
CAR ;
PAIR 3 }
{ PUSH bool False ;
PUSH nat 0 ;
PUSH nat 0 ;
PUSH nat 1 ;
DUP 6 ;
GET 3 ;
GET 3 ;
DUP 6 ;
CAR ;
CAR ;
GET ;
IF_NONE { PUSH int 152 ; FAILWITH } {} ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 152 ; FAILWITH } {} ;
SWAP ;
DUP ;
DUG 2 ;
SWAP ;
DUP ;
DUG 2 ;
COMPARE ;
GT ;
IF
{ PUSH bool False ; DUP 5 ; COMPARE ; EQ }
{ PUSH bool False } ;
LOOP { DIG 2 ;
DROP ;
PUSH nat 2 ;
DUP 3 ;
DUP 3 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 156 ; FAILWITH } {} ;
EDIV ;
IF_NONE { PUSH int 156 ; FAILWITH } { CAR } ;
SWAP ;
DUP ;
DUG 2 ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 156 ; FAILWITH } {} ;
DUG 2 ;
DUP 5 ;
CAR ;
CDR ;
DUP 7 ;
CAR ;
GET 5 ;
DUP 5 ;
DUP 8 ;
CAR ;
CAR ;
PAIR ;
GET ;
IF_NONE { PUSH int 159 ; FAILWITH } {} ;
CAR ;
COMPARE ;
EQ ;
IF
{ DIG 3 ; DROP ; PUSH bool True ; DUG 3 }
{ DUP 5 ;
CAR ;
CDR ;
DUP 7 ;
CAR ;
GET 5 ;
DUP 5 ;
DUP 8 ;
CAR ;
CAR ;
PAIR ;
GET ;
IF_NONE { PUSH int 162 ; FAILWITH } {} ;
CAR ;
COMPARE ;
LT ;
IF
{ SWAP ; DROP ; SWAP ; DUP ; DUG 2 ; SWAP }
{ DROP ;
PUSH nat 1 ;
DUP 3 ;
SUB ;
ISNAT ;
IF_NONE
{ PUSH int 165 ; FAILWITH }
{} } } ;
SWAP ;
DUP ;
DUG 2 ;
SWAP ;
DUP ;
DUG 2 ;
COMPARE ;
GT ;
IF
{ PUSH bool False ; DUP 5 ; COMPARE ; EQ }
{ PUSH bool False } } ;
DROP ;
PUSH bool True ;
DUP 4 ;
COMPARE ;
EQ ;
IF
{ DROP ;
SWAP ;
DROP ;
DIG 3 ;
DROP ;
DUP 3 ;
CAR ;
GET 5 ;
SWAP ;
DUP 3 ;
CAR ;
CAR ;
PAIR ;
GET ;
IF_NONE { PUSH int 169 ; FAILWITH } {} ;
CDR ;
SWAP ;
DUP ;
CAR ;
CDR ;
SWAP ;
DUP ;
DUG 3 ;
CAR ;
CAR ;
PAIR 3 }
{ SWAP ;
DROP ;
SWAP ;
DROP ;
DIG 3 ;
DROP ;
DUP 3 ;
CAR ;
GET 5 ;
SWAP ;
DUP 3 ;
CAR ;
CAR ;
PAIR ;
GET ;
IF_NONE { PUSH int 178 ; FAILWITH } {} ;
CDR ;
SWAP ;
DUP ;
CAR ;
CDR ;
SWAP ;
DUP ;
DUG 3 ;
CAR ;
CAR ;
PAIR 3 } } } } ;
NIL operation ;
DIG 2 ;
CDR ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS } } } }
{ IF_LEFT
{ IF_LEFT
{ DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
GET 8 ;
NIL operation ;
DIG 2 ;
CDR ;
PUSH mutez 0 ;
DIG 3 ;
TRANSFER_TOKENS ;
CONS }
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
CAR ;
GET 6 ;
SENDER ;
COMPARE ;
EQ ;
IF {} { PUSH string "xPlenty_NotExchange" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
GET 3 ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
MEM ;
IF
{}
{ SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
PUSH (option nat) (Some 0) ;
DUP 6 ;
CAR ;
UPDATE ;
PAIR ;
SWAP ;
UNPAIR ;
SWAP ;
PUSH (option (map address nat)) (Some {}) ;
DUP 6 ;
CAR ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
SWAP } ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
DUP ;
DUP 6 ;
CAR ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 330 ; FAILWITH } {} ;
DUP 7 ;
CDR ;
ADD ;
SOME ;
SWAP ;
UPDATE ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
DUP ;
GET 8 ;
DUP 3 ;
CDR ;
ADD ;
UPDATE 8 ;
SWAP ;
DUG 2 ;
DUP ;
DUP ;
DUG 4 ;
CAR ;
GET 3 ;
DUP 4 ;
CAR ;
GET ;
IF_NONE { PUSH int 335 ; FAILWITH } {} ;
DIG 4 ;
GET 3 ;
GET 3 ;
DUP 5 ;
CAR ;
GET ;
IF_NONE { PUSH nat 0 } {} ;
DIG 4 ;
CAR ;
PAIR 3 ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
SWAP ;
CAR }
{ DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
CAR ;
SENDER ;
COMPARE ;
EQ ;
IF {} { PUSH string "xPlenty_NotAdmin" ; FAILWITH } ;
SWAP ;
UNPAIR ;
UNPAIR ;
CDR ;
DIG 3 ;
PAIR ;
PAIR ;
PAIR ;
NIL operation } } }
{ IF_LEFT
{ IF_LEFT
{ DIG 2 ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
CAR ;
SENDER ;
COMPARE ;
EQ ;
IF {} { PUSH string "xPlenty_NotAdmin" ; FAILWITH } ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
CAR ;
DIG 4 ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
NIL operation }
{ SWAP ;
DUP ;
DUG 2 ;
GET 3 ;
GET 4 ;
IF
{ PUSH bool False }
{ DUP ;
CAR ;
SENDER ;
COMPARE ;
EQ ;
IF
{ PUSH bool True }
{ DUP ;
GET 4 ;
DUP 3 ;
CAR ;
CAR ;
CDR ;
DUP 3 ;
CAR ;
GET ;
IF_NONE { PUSH int 189 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 189 ; FAILWITH } {} ;
COMPARE ;
GE } } ;
IF {} { PUSH string "xPlenty_Not_Allowed" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
GET 3 ;
SWAP ;
DUP ;
DUG 2 ;
GET 3 ;
MEM ;
IF
{}
{ SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
PUSH (option nat) (Some 0) ;
DUP 6 ;
GET 3 ;
UPDATE ;
PAIR ;
SWAP ;
UNPAIR ;
SWAP ;
PUSH (option (map address nat)) (Some {}) ;
DUP 6 ;
GET 3 ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
SWAP } ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
GET 3 ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
MEM ;
IF
{}
{ SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
PUSH (option nat) (Some 0) ;
DUP 6 ;
CAR ;
UPDATE ;
PAIR ;
SWAP ;
UNPAIR ;
SWAP ;
PUSH (option (map address nat)) (Some {}) ;
DUP 6 ;
CAR ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
SWAP } ;
DUP ;
GET 4 ;
DUP 3 ;
CAR ;
GET 3 ;
DUP 3 ;
CAR ;
GET ;
IF_NONE { PUSH int 198 ; FAILWITH } {} ;
COMPARE ;
GE ;
IF {} { PUSH string "xPlenty_InsufficientBalance" ; FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
DUP 5 ;
GET 4 ;
DIG 6 ;
CAR ;
GET 3 ;
DUP 7 ;
CAR ;
GET ;
IF_NONE { PUSH int 199 ; FAILWITH } {} ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 199 ; FAILWITH } {} ;
SOME ;
DUP 6 ;
CAR ;
UPDATE ;
DUP ;
DUP 6 ;
GET 3 ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 200 ; FAILWITH } {} ;
DUP 7 ;
GET 4 ;
ADD ;
SOME ;
SWAP ;
UPDATE ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
DUP ;
CAR ;
SENDER ;
COMPARE ;
NEQ ;
IF
{ SWAP ;
DUP ;
DUG 2 ;
UNPAIR ;
UNPAIR ;
UNPAIR ;
SWAP ;
DUP ;
DUP 6 ;
CAR ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 202 ; FAILWITH } {} ;
DUP 7 ;
GET 4 ;
DIG 8 ;
CAR ;
CAR ;
CDR ;
DUP 9 ;
CAR ;
GET ;
IF_NONE { PUSH int 202 ; FAILWITH } {} ;
SENDER ;
GET ;
IF_NONE { PUSH int 202 ; FAILWITH } {} ;
SUB ;
ISNAT ;
IF_NONE { PUSH int 202 ; FAILWITH } {} ;
SOME ;
SENDER ;
UPDATE ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
SWAP }
{} ;
DUP 3 ;
DIG 2 ;
DUP ;
DUP ;
DUG 4 ;
CAR ;
GET 3 ;
DUP 4 ;
CAR ;
GET ;
IF_NONE { PUSH int 206 ; FAILWITH } {} ;
DIG 4 ;
GET 3 ;
GET 3 ;
DUP 5 ;
CAR ;
GET ;
IF_NONE { PUSH nat 0 } {} ;
DUP 5 ;
CAR ;
PAIR 3 ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 2 ;
DUP ;
CAR ;
DUP 5 ;
DIG 4 ;
DUP ;
DUP ;
DUG 6 ;
CAR ;
GET 3 ;
DUP 6 ;
GET 3 ;
GET ;
IF_NONE { PUSH int 214 ; FAILWITH } {} ;
DIG 6 ;
GET 3 ;
GET 3 ;
DUP 7 ;
GET 3 ;
GET ;
IF_NONE { PUSH nat 0 } {} ;
DUP 7 ;
GET 3 ;
PAIR 3 ;
PAIR ;
EXEC ;
DUP ;
GET 4 ;
DUG 4 ;
DUP ;
CAR ;
NIL operation ;
SWAP ;
ITER { CONS } ;
ITER { DIG 2 ; SWAP ; CONS ; SWAP } ;
DROP ;
SWAP ;
DROP ;
SWAP ;
DROP ;
DIG 2 ;
DROP } }
{ DIG 2 ;
DROP ;
IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
CAR ;
SENDER ;
COMPARE ;
EQ ;
IF {} { PUSH string "xPlenty_NotAdmin" ; FAILWITH } ;
PUSH bool False ;
DUP 3 ;
GET 5 ;
COMPARE ;
EQ ;
IF {} { PUSH string "xPlenty_CannotUpdate" ; FAILWITH } ;
SWAP ;
UNPAIR ;
UNPAIR ;
SWAP ;
UNPAIR ;
SWAP ;
CAR ;
DIG 4 ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
PUSH bool True ;
UPDATE 5 }
{ SWAP ;
DUP ;
DUG 2 ;
CAR ;
CAR ;
CAR ;
SENDER ;
COMPARE ;
EQ ;
IF {} { PUSH string "xPlenty_NotAdmin" ; FAILWITH } ;
SWAP ;
UNPAIR ;
SWAP ;
UNPAIR ;
UNPAIR ;
DUP 5 ;
CDR ;
SOME ;
DIG 5 ;
CAR ;
UPDATE ;
PAIR ;
PAIR ;
SWAP ;
PAIR } ;
NIL operation } } } ;
NIL operation ;
SWAP ;
ITER { CONS } ;
PAIR }