x
849
1775
parameter (or
(or
(or
(or (pair %burn (int %amount) (address %fromAddr))
(or (nat %claimSale)
(pair %cvrDrop (list %addresses address) (int %amount))))
(or (pair %dispatchRoyalties (list %addresses address) (nat %amount))
(or (address %getAdministrator)
(pair %getBalance (address %owner) (address %target)))))
(or
(or (address %getCirculatingSupply)
(or (address %getFactor) (address %getManager)))
(or (or (address %getSaleLimit) (address %getSaleStatus))
(or (address %getSoldToken) (address %getSupplyLimit)))))
(or
(or
(or (address %getTransferStatus)
(or (int %increaseSaleLimit) (address %lockAddress)))
(or
(or (pair %mint (int %amount) (address %toAddr))
(pair %offchainSale (address %address) (int %amount)))
(or (unit %pauseSale) (unit %pauseTransfer))))
(or (or (unit %resumeSale) (or (unit %resumeTransfer) (unit %sale)))
(or (or (address %setAdministrator) (address %setManager))
(or
(pair %transfer (int %amount)
(pair (address %fromAddr) (address %toAddr)))
(address %unlockAddress))))));
storage (pair
(pair
(pair
(pair (address %administrator)
(big_map %balances address (pair (int %balance) (bool %lock))))
(pair (int %circulatingSupply) (address %covir)))
(pair (pair (int %factor) (address %octopus))
(pair (address %owner) (int %ratio))))
(pair
(pair (pair (int %saleLimit) (address %saleManager))
(pair (bool %saleStatus) (int %soldToken)))
(pair (pair (int %supplyLimit) (string %tokenName))
(pair (string %tokenSymbol) (bool %transferStatus)))));
code { DUP ;
CDR ;
SWAP ;
CAR ;
IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ DUP ;
CDR ;
SENDER ;
COMPARE ;
EQ ;
IF
{}
{ PUSH string "WrongCondition: params.fromAddr == sp.sender" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CDR } ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
MEM ;
IF
{}
{ PUSH string "WrongCondition: self.data.balances.contains(params.fromAddr)" ;
FAILWITH } ;
DUP ;
CAR ;
DIG 2 ;
DUP ;
DUG 3 ;
{ CAR ; CAR ; CAR ; CDR } ;
DIG 2 ;
DUP ;
DUG 3 ;
CDR ;
GET ;
{ IF_NONE { PUSH string "Get-item:23" ; FAILWITH } {} } ;
CAR ;
COMPARE ;
GE ;
IF
{}
{ PUSH string "WrongCondition: self.data.balances[params.fromAddr].balance >= params.amount" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
DIG 6 ;
DUP ;
DUG 7 ;
CDR ;
DUP ;
DUG 2 ;
GET ;
{ IF_NONE { PUSH string "set_in_top-any" ; FAILWITH } {} } ;
CDR ;
DIG 7 ;
DUP ;
DUG 8 ;
CAR ;
DIG 9 ;
DUP ;
DUG 10 ;
{ CAR ; CAR ; CAR ; CDR } ;
DIG 9 ;
DUP ;
DUG 10 ;
CDR ;
GET ;
{ IF_NONE { PUSH string "Get-item:23" ; FAILWITH } {} } ;
CAR ;
SUB ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
DUG 2 ;
SWAP ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
{ CDR ; CDR } ;
DIG 4 ;
DUP ;
DUG 5 ;
CAR ;
DIG 6 ;
DUP ;
DUG 7 ;
{ CAR ; CAR ; CDR ; CAR } ;
SUB ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
DUG 2 ;
SWAP ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CDR ;
SWAP ;
{ CAR ; CDR } ;
DIG 4 ;
DUP ;
DUG 5 ;
CAR ;
DIG 6 ;
DUP ;
DUG 7 ;
{ CDR ; CDR ; CAR ; CAR } ;
SUB ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 ;
DROP 2 ;
NIL operation }
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CAR } ;
SENDER ;
COMPARE ;
EQ ;
IF
{}
{ PUSH string "WrongCondition: sp.sender == self.data.administrator" ;
FAILWITH } ;
DUP ;
PUSH mutez 1 ;
MUL ;
BALANCE ;
COMPARE ;
GT ;
IF
{}
{ PUSH string "WrongCondition: sp.balance > sp.mutez(params.amount)" ;
FAILWITH } ;
NIL operation ;
DIG 2 ;
DUP ;
DUG 3 ;
{ CAR ; CDR ; CAR ; CDR } ;
CONTRACT unit ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
PUSH mutez 1 ;
PUSH nat 75 ;
PUSH nat 100 ;
DIG 5 ;
DUP ;
DUG 6 ;
EDIV ;
{ IF_NONE
{ PUSH string "division by zero" ; FAILWITH }
{ CAR } } ;
MUL ;
MUL ;
PUSH unit Unit ;
TRANSFER_TOKENS ;
CONS ;
DUP ;
DIG 3 ;
DUP ;
DUG 4 ;
{ CAR ; CAR ; CDR ; CDR } ;
CONTRACT unit ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
PUSH mutez 1 ;
PUSH nat 25 ;
PUSH nat 100 ;
DIG 6 ;
DUP ;
DUG 7 ;
EDIV ;
{ IF_NONE
{ PUSH string "division by zero" ; FAILWITH }
{ CAR } } ;
MUL ;
MUL ;
PUSH unit Unit ;
TRANSFER_TOKENS ;
CONS ;
SWAP ;
DROP ;
SWAP ;
DROP }
{ SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CAR } ;
SENDER ;
COMPARE ;
EQ ;
IF
{}
{ PUSH string "WrongCondition: sp.sender == self.data.administrator" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
{ CDR ; CDR ; CAR ; CAR } ;
DIG 2 ;
DUP ;
DUG 3 ;
{ CAR ; CAR ; CDR ; CAR } ;
DIG 3 ;
DUP ;
DUG 4 ;
{ CDR ; CAR ; CDR ; CDR } ;
DIG 4 ;
DUP ;
DUG 5 ;
{ CDR ; CAR ; CAR ; CAR } ;
SUB ;
DIG 3 ;
DUP ;
DUG 4 ;
CAR ;
SIZE ;
INT ;
DIG 4 ;
DUP ;
DUG 5 ;
CDR ;
MUL ;
ADD ;
ADD ;
COMPARE ;
LE ;
IF
{}
{ PUSH string "WrongCondition: (((params.amount * (sp.to_int(sp.len(params.addresses)))) + (self.data.saleLimit - self.data.soldToken)) + self.data.circulatingSupply) <= self.data.supplyLimit" ;
FAILWITH } ;
DUP ;
CAR ;
ITER { DIG 2 ;
DUP ;
DUG 3 ;
{ CAR ; CAR ; CAR ; CDR } ;
SWAP ;
DUP ;
DUG 2 ;
MEM ;
IF
{}
{ DIG 2 ;
DUP ;
DUG 3 ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
CDR ;
PUSH (option (pair (int %balance) (bool %lock))) (Some (Pair 0 False)) ;
DIG 6 ;
DUP ;
DUG 7 ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
DUG 3 ;
DIG 2 ;
DROP } ;
DIG 2 ;
DUP ;
DUG 3 ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
DIG 6 ;
DUP ;
DUG 7 ;
DUP ;
DUG 2 ;
GET ;
{ IF_NONE
{ PUSH string "set_in_top-any" ; FAILWITH }
{} } ;
CDR ;
DIG 8 ;
DUP ;
DUG 9 ;
CDR ;
DIG 10 ;
DUP ;
DUG 11 ;
{ CAR ; CAR ; CAR ; CDR } ;
DIG 3 ;
DUP ;
DUG 4 ;
GET ;
{ IF_NONE
{ PUSH string "Get-item:126" ; FAILWITH }
{} } ;
CAR ;
ADD ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
DUG 3 ;
DIG 2 ;
DROP ;
DIG 2 ;
DUP ;
DUG 3 ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
{ CDR ; CDR } ;
DIG 5 ;
DUP ;
DUG 6 ;
CDR ;
DIG 7 ;
DUP ;
DUG 8 ;
{ CAR ; CAR ; CDR ; CAR } ;
ADD ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
DUG 3 ;
DROP ;
SWAP ;
DROP } ;
DROP ;
NIL operation } } }
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CAR } ;
SENDER ;
COMPARE ;
EQ ;
IF
{}
{ PUSH string "WrongCondition: sp.sender == self.data.administrator" ;
FAILWITH } ;
DUP ;
CAR ;
NIL operation ;
SWAP ;
ITER { DIG 3 ;
DUP ;
DUG 4 ;
{ CAR ; CAR ; CAR ; CDR } ;
SWAP ;
DUP ;
DUG 2 ;
MEM ;
IF
{ PUSH nat 1 ;
DIG 3 ;
DUP ;
DUG 4 ;
CDR ;
PUSH int 10000000000 ;
ISNAT ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
DIG 6 ;
DUP ;
DUG 7 ;
{ CAR ; CAR ; CDR ; CAR } ;
ISNAT ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
MUL ;
EDIV ;
{ IF_NONE
{ PUSH string "division by zero" ; FAILWITH }
{ CAR } } ;
ADD ;
PUSH int 10000000000 ;
ISNAT ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
DIG 5 ;
DUP ;
DUG 6 ;
{ CAR ; CAR ; CAR ; CDR } ;
DIG 3 ;
DUP ;
DUG 4 ;
GET ;
{ IF_NONE
{ PUSH string "Get-item:136" ; FAILWITH }
{} } ;
CAR ;
ISNAT ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
MUL ;
COMPARE ;
GT }
{ PUSH bool False } ;
IF
{ SWAP ;
DUP ;
DUG 2 ;
SWAP ;
DUP ;
DUG 2 ;
CONTRACT unit ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
PUSH mutez 1 ;
PUSH nat 1 ;
DIG 6 ;
DUP ;
DUG 7 ;
CDR ;
PUSH int 10000000000 ;
ISNAT ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
DIG 9 ;
DUP ;
DUG 10 ;
{ CAR ; CAR ; CDR ; CAR } ;
ISNAT ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
MUL ;
EDIV ;
{ IF_NONE
{ PUSH string "division by zero" ; FAILWITH }
{ CAR } } ;
ADD ;
PUSH int 10000000000 ;
ISNAT ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
DIG 8 ;
DUP ;
DUG 9 ;
{ CAR ; CAR ; CAR ; CDR } ;
DIG 6 ;
DUP ;
DUG 7 ;
GET ;
{ IF_NONE
{ PUSH string "Get-item:136" ; FAILWITH }
{} } ;
CAR ;
ISNAT ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
MUL ;
EDIV ;
{ IF_NONE
{ PUSH string "division by zero" ; FAILWITH }
{ CAR } } ;
MUL ;
PUSH unit Unit ;
TRANSFER_TOKENS ;
CONS ;
DUG 2 ;
SWAP ;
DROP }
{} ;
DROP } ;
SWAP ;
DROP }
{ IF_LEFT
{ DUP ;
NIL operation ;
SWAP ;
CONTRACT address ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
PUSH mutez 0 ;
DIG 4 ;
DUP ;
DUG 5 ;
{ CAR ; CAR ; CAR ; CAR } ;
TRANSFER_TOKENS ;
CONS ;
SWAP ;
DROP }
{ SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CDR } ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
MEM ;
IF
{ DUP ;
CDR ;
NIL operation ;
SWAP ;
CONTRACT nat ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
PUSH mutez 0 ;
DIG 4 ;
DUP ;
DUG 5 ;
{ CAR ; CAR ; CAR ; CDR } ;
DIG 4 ;
DUP ;
DUG 5 ;
CAR ;
GET ;
{ IF_NONE { PUSH string "Get-item:154" ; FAILWITH } {} } ;
CAR ;
ISNAT ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
TRANSFER_TOKENS ;
CONS }
{ DUP ;
CDR ;
NIL operation ;
SWAP ;
CONTRACT nat ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
PUSH mutez 0 ;
PUSH int 0 ;
ISNAT ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
TRANSFER_TOKENS ;
CONS } ;
SWAP ;
DROP } } } }
{ IF_LEFT
{ IF_LEFT
{ DUP ;
NIL operation ;
SWAP ;
CONTRACT nat ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
PUSH mutez 0 ;
DIG 4 ;
DUP ;
DUG 5 ;
{ CAR ; CAR ; CDR ; CAR } ;
ISNAT ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
TRANSFER_TOKENS ;
CONS ;
SWAP ;
DROP }
{ IF_LEFT
{ DUP ;
NIL operation ;
SWAP ;
CONTRACT nat ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
PUSH mutez 0 ;
DIG 4 ;
DUP ;
DUG 5 ;
{ CAR ; CDR ; CAR ; CAR } ;
ISNAT ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
TRANSFER_TOKENS ;
CONS ;
SWAP ;
DROP }
{ DUP ;
NIL operation ;
SWAP ;
CONTRACT address ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
PUSH mutez 0 ;
DIG 4 ;
DUP ;
DUG 5 ;
{ CDR ; CAR ; CAR ; CDR } ;
TRANSFER_TOKENS ;
CONS ;
SWAP ;
DROP } } }
{ IF_LEFT
{ IF_LEFT
{ DUP ;
NIL operation ;
SWAP ;
CONTRACT nat ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
PUSH mutez 0 ;
DIG 4 ;
DUP ;
DUG 5 ;
{ CDR ; CAR ; CAR ; CAR } ;
ISNAT ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
TRANSFER_TOKENS ;
CONS ;
SWAP ;
DROP }
{ SWAP ;
DUP ;
DUG 2 ;
{ CDR ; CAR ; CDR ; CAR } ;
IF
{ DUP ;
NIL operation ;
SWAP ;
CONTRACT nat ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
PUSH mutez 0 ;
PUSH nat 1 ;
TRANSFER_TOKENS ;
CONS }
{ DUP ;
NIL operation ;
SWAP ;
CONTRACT nat ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
PUSH mutez 0 ;
PUSH nat 0 ;
TRANSFER_TOKENS ;
CONS } ;
SWAP ;
DROP } }
{ IF_LEFT
{ DUP ;
NIL operation ;
SWAP ;
CONTRACT nat ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
PUSH mutez 0 ;
DIG 4 ;
DUP ;
DUG 5 ;
{ CDR ; CAR ; CDR ; CDR } ;
ISNAT ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
TRANSFER_TOKENS ;
CONS ;
SWAP ;
DROP }
{ DUP ;
NIL operation ;
SWAP ;
CONTRACT nat ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
PUSH mutez 0 ;
DIG 4 ;
DUP ;
DUG 5 ;
{ CDR ; CDR ; CAR ; CAR } ;
ISNAT ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
TRANSFER_TOKENS ;
CONS ;
SWAP ;
DROP } } } } }
{ IF_LEFT
{ IF_LEFT
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
{ CDR ; CDR ; CDR ; CDR } ;
IF
{ DUP ;
NIL operation ;
SWAP ;
CONTRACT nat ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
PUSH mutez 0 ;
PUSH nat 1 ;
TRANSFER_TOKENS ;
CONS }
{ DUP ;
NIL operation ;
SWAP ;
CONTRACT nat ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
PUSH mutez 0 ;
PUSH nat 0 ;
TRANSFER_TOKENS ;
CONS } ;
SWAP ;
DROP }
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CAR } ;
SENDER ;
COMPARE ;
EQ ;
IF
{}
{ PUSH string "WrongCondition: sp.sender == self.data.administrator" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
{ CDR ; CDR ; CAR ; CAR } ;
DIG 2 ;
DUP ;
DUG 3 ;
{ CAR ; CAR ; CDR ; CAR } ;
DIG 3 ;
DUP ;
DUG 4 ;
{ CDR ; CAR ; CDR ; CDR } ;
DIG 4 ;
DUP ;
DUG 5 ;
{ CDR ; CAR ; CAR ; CAR } ;
SUB ;
DIG 3 ;
DUP ;
DUG 4 ;
ADD ;
ADD ;
COMPARE ;
LE ;
IF
{}
{ PUSH string "WrongCondition: ((params.amount + (self.data.saleLimit - self.data.soldToken)) + self.data.circulatingSupply) <= self.data.supplyLimit" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
{ CAR ; CDR } ;
DIG 4 ;
DUP ;
DUG 5 ;
DIG 6 ;
DUP ;
DUG 7 ;
{ CDR ; CAR ; CAR ; CAR } ;
ADD ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 ;
DROP 2 }
{ SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CAR } ;
SENDER ;
COMPARE ;
EQ ;
IF
{}
{ PUSH string "WrongCondition: sp.sender == self.data.administrator" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CDR } ;
SWAP ;
DUP ;
DUG 2 ;
MEM ;
IF
{}
{ PUSH string "WrongCondition: self.data.balances.contains(params.address)" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
DIG 6 ;
DUP ;
DUG 7 ;
DUP ;
DUG 2 ;
GET ;
{ IF_NONE { PUSH string "set_in_top-any" ; FAILWITH } {} } ;
CAR ;
PUSH bool True ;
SWAP ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
DUG 2 ;
DROP 2 } ;
NIL operation } }
{ IF_LEFT
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CAR } ;
SENDER ;
COMPARE ;
EQ ;
IF
{}
{ PUSH string "WrongCondition: sp.sender == self.data.administrator" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
{ CDR ; CDR ; CAR ; CAR } ;
DIG 2 ;
DUP ;
DUG 3 ;
{ CAR ; CAR ; CDR ; CAR } ;
DIG 3 ;
DUP ;
DUG 4 ;
{ CDR ; CAR ; CDR ; CDR } ;
DIG 4 ;
DUP ;
DUG 5 ;
{ CDR ; CAR ; CAR ; CAR } ;
SUB ;
DIG 3 ;
DUP ;
DUG 4 ;
CAR ;
ADD ;
ADD ;
COMPARE ;
LE ;
IF
{}
{ PUSH string "WrongCondition: ((params.amount + (self.data.saleLimit - self.data.soldToken)) + self.data.circulatingSupply) <= self.data.supplyLimit" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CDR } ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
MEM ;
IF
{}
{ SWAP ;
DUP ;
DUG 2 ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
CDR ;
PUSH (option (pair (int %balance) (bool %lock))) (Some (Pair 0 False)) ;
DIG 6 ;
DUP ;
DUG 7 ;
CDR ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
DUG 2 ;
SWAP ;
DROP } ;
SWAP ;
DUP ;
DUG 2 ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
DIG 6 ;
DUP ;
DUG 7 ;
CDR ;
DUP ;
DUG 2 ;
GET ;
{ IF_NONE { PUSH string "set_in_top-any" ; FAILWITH } {} } ;
CDR ;
DIG 7 ;
DUP ;
DUG 8 ;
CAR ;
DIG 9 ;
DUP ;
DUG 10 ;
{ CAR ; CAR ; CAR ; CDR } ;
DIG 9 ;
DUP ;
DUG 10 ;
CDR ;
GET ;
{ IF_NONE { PUSH string "Get-item:112" ; FAILWITH } {} } ;
CAR ;
ADD ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
DUG 2 ;
SWAP ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
{ CDR ; CDR } ;
DIG 4 ;
DUP ;
DUG 5 ;
CAR ;
DIG 6 ;
DUP ;
DUG 7 ;
{ CAR ; CAR ; CDR ; CAR } ;
ADD ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
DUG 2 ;
DROP 2 }
{ SWAP ;
DUP ;
DUG 2 ;
{ CDR ; CAR ; CAR ; CDR } ;
SENDER ;
COMPARE ;
EQ ;
IF
{}
{ PUSH string "WrongCondition: sp.sender == self.data.saleManager" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CDR } ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
MEM ;
IF
{ SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CDR } ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
GET ;
{ IF_NONE { PUSH string "Get-item:94" ; FAILWITH } {} } ;
CDR ;
IF
{ PUSH string "WrongCondition: ~ self.data.balances[params.address].lock" ;
FAILWITH }
{} }
{} ;
SWAP ;
DUP ;
DUG 2 ;
{ CDR ; CAR ; CAR ; CAR } ;
SWAP ;
DUP ;
DUG 2 ;
CDR ;
DIG 3 ;
DUP ;
DUG 4 ;
{ CDR ; CAR ; CDR ; CDR } ;
ADD ;
COMPARE ;
LE ;
IF
{}
{ PUSH string "WrongCondition: (self.data.soldToken + params.amount) <= self.data.saleLimit" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CDR } ;
SWAP ;
DUP ;
DUG 2 ;
CAR ;
MEM ;
IF
{}
{ SWAP ;
DUP ;
DUG 2 ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
CDR ;
PUSH (option (pair (int %balance) (bool %lock))) (Some (Pair 0 False)) ;
DIG 6 ;
DUP ;
DUG 7 ;
CAR ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
DUG 2 ;
SWAP ;
DROP } ;
SWAP ;
DUP ;
DUG 2 ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
DIG 6 ;
DUP ;
DUG 7 ;
CAR ;
DUP ;
DUG 2 ;
GET ;
{ IF_NONE { PUSH string "set_in_top-any" ; FAILWITH } {} } ;
CDR ;
DIG 7 ;
DUP ;
DUG 8 ;
CDR ;
DIG 9 ;
DUP ;
DUG 10 ;
{ CAR ; CAR ; CAR ; CDR } ;
DIG 9 ;
DUP ;
DUG 10 ;
CAR ;
GET ;
{ IF_NONE { PUSH string "Get-item:94" ; FAILWITH } {} } ;
CAR ;
ADD ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
DUG 2 ;
SWAP ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
{ CDR ; CDR } ;
DIG 4 ;
DUP ;
DUG 5 ;
CDR ;
DIG 6 ;
DUP ;
DUG 7 ;
{ CAR ; CAR ; CDR ; CAR } ;
ADD ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
DUG 2 ;
SWAP ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
{ CDR ; CAR } ;
DIG 4 ;
DUP ;
DUG 5 ;
CDR ;
DIG 6 ;
DUP ;
DUG 7 ;
{ CDR ; CAR ; CDR ; CDR } ;
ADD ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 ;
DROP 2 } }
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CAR } ;
SENDER ;
COMPARE ;
EQ ;
IF
{}
{ PUSH string "WrongCondition: sp.sender == self.data.administrator" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
{ CDR ; CDR } ;
PUSH bool False ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 ;
DROP 2 }
{ SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CAR } ;
SENDER ;
COMPARE ;
EQ ;
IF
{}
{ PUSH string "WrongCondition: sp.sender == self.data.administrator" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CAR ;
SWAP ;
{ CDR ; CAR } ;
PUSH bool False ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 ;
DROP 2 } } ;
NIL operation } }
{ IF_LEFT
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CAR } ;
SENDER ;
COMPARE ;
EQ ;
IF
{}
{ PUSH string "WrongCondition: sp.sender == self.data.administrator" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
{ CDR ; CDR } ;
PUSH bool True ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 ;
DROP 2 }
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CAR } ;
SENDER ;
COMPARE ;
EQ ;
IF
{}
{ PUSH string "WrongCondition: sp.sender == self.data.administrator" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CAR ;
SWAP ;
{ CDR ; CAR } ;
PUSH bool True ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 ;
DROP 2 }
{ SWAP ;
DUP ;
DUG 2 ;
{ CDR ; CAR ; CDR ; CAR } ;
IF
{}
{ PUSH string "WrongCondition: self.data.saleStatus" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CDR } ;
SENDER ;
MEM ;
IF
{ SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CDR } ;
SENDER ;
GET ;
{ IF_NONE { PUSH string "Get-item:-1" ; FAILWITH } {} } ;
CDR ;
IF
{ PUSH string "WrongCondition: ~ self.data.balances[sp.sender].lock" ;
FAILWITH }
{} }
{} ;
SWAP ;
DUP ;
DUG 2 ;
{ CDR ; CAR ; CAR ; CAR } ;
DIG 2 ;
DUP ;
DUG 3 ;
{ CAR ; CDR ; CDR ; CDR } ;
PUSH mutez 1 ;
AMOUNT ;
EDIV ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
CAR ;
INT ;
MUL ;
DIG 3 ;
DUP ;
DUG 4 ;
{ CDR ; CAR ; CDR ; CDR } ;
ADD ;
COMPARE ;
LE ;
IF
{}
{ PUSH string "WrongCondition: (self.data.soldToken + ((sp.to_int(sp.fst(sp.ediv(sp.amount, sp.mutez(1)).open_some()))) * self.data.ratio)) <= self.data.saleLimit" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CDR } ;
SENDER ;
MEM ;
IF
{}
{ SWAP ;
DUP ;
DUG 2 ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
CDR ;
PUSH (option (pair (int %balance) (bool %lock))) (Some (Pair 0 False)) ;
SENDER ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
DUG 2 ;
SWAP ;
DROP } ;
SWAP ;
DUP ;
DUG 2 ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
SENDER ;
DUP ;
DUG 2 ;
GET ;
{ IF_NONE { PUSH string "set_in_top-any" ; FAILWITH } {} } ;
CDR ;
DIG 8 ;
DUP ;
DUG 9 ;
{ CAR ; CDR ; CDR ; CDR } ;
PUSH mutez 1 ;
AMOUNT ;
EDIV ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
CAR ;
INT ;
MUL ;
DIG 9 ;
DUP ;
DUG 10 ;
{ CAR ; CAR ; CAR ; CDR } ;
SENDER ;
GET ;
{ IF_NONE { PUSH string "Get-item:-1" ; FAILWITH } {} } ;
CAR ;
ADD ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
DUG 2 ;
SWAP ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
{ CDR ; CDR } ;
DIG 5 ;
DUP ;
DUG 6 ;
{ CAR ; CDR ; CDR ; CDR } ;
PUSH mutez 1 ;
AMOUNT ;
EDIV ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
CAR ;
INT ;
MUL ;
DIG 6 ;
DUP ;
DUG 7 ;
{ CAR ; CAR ; CDR ; CAR } ;
ADD ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
DUG 2 ;
SWAP ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
{ CDR ; CAR } ;
DIG 5 ;
DUP ;
DUG 6 ;
{ CAR ; CDR ; CDR ; CDR } ;
PUSH mutez 1 ;
AMOUNT ;
EDIV ;
{ IF_NONE { PUSH unit Unit ; FAILWITH } {} } ;
CAR ;
INT ;
MUL ;
DIG 6 ;
DUP ;
DUG 7 ;
{ CDR ; CAR ; CDR ; CDR } ;
ADD ;
SWAP ;
PAIR ;
SWAP ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 ;
DROP 2 } } }
{ IF_LEFT
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CDR ; CDR ; CAR } ;
SENDER ;
COMPARE ;
EQ ;
IF
{}
{ PUSH string "WrongCondition: sp.sender == self.data.owner" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CDR } ;
SWAP ;
DUP ;
DUG 2 ;
MEM ;
IF
{}
{ SWAP ;
DUP ;
DUG 2 ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
CDR ;
PUSH (option (pair (int %balance) (bool %lock))) (Some (Pair 0 False)) ;
DIG 6 ;
DUP ;
DUG 7 ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
DUG 2 ;
SWAP ;
DROP } ;
SWAP ;
DUP ;
DUG 2 ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
{ CAR ; CDR } ;
DIG 4 ;
DUP ;
DUG 5 ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
DUG 2 ;
DROP 2 }
{ SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CAR } ;
SENDER ;
COMPARE ;
EQ ;
IF
{}
{ PUSH string "WrongCondition: sp.sender == self.data.administrator" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CDR } ;
SWAP ;
DUP ;
DUG 2 ;
MEM ;
IF
{}
{ SWAP ;
DUP ;
DUG 2 ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
CDR ;
PUSH (option (pair (int %balance) (bool %lock))) (Some (Pair 0 False)) ;
DIG 6 ;
DUP ;
DUG 7 ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
DUG 2 ;
SWAP ;
DROP } ;
SWAP ;
DUP ;
DUG 2 ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
{ CAR ; CAR } ;
DIG 4 ;
DUP ;
DUG 5 ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
SWAP ;
PAIR ;
DUG 2 ;
DROP 2 } }
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CAR } ;
SENDER ;
COMPARE ;
EQ ;
IF
{ PUSH bool True }
{ SWAP ;
DUP ;
DUG 2 ;
{ CDR ; CDR ; CDR ; CDR } ;
IF
{ DUP ; { CDR ; CAR } ; SENDER ; COMPARE ; EQ }
{ PUSH bool False } } ;
IF
{}
{ PUSH string "WrongCondition: (sp.sender == self.data.administrator) | (self.data.transferStatus & (params.fromAddr == sp.sender))" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CDR } ;
SWAP ;
DUP ;
DUG 2 ;
{ CDR ; CAR } ;
MEM ;
IF
{ SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CDR } ;
SWAP ;
DUP ;
DUG 2 ;
{ CDR ; CAR } ;
GET ;
{ IF_NONE { PUSH string "Get-item:10" ; FAILWITH } {} } ;
CDR ;
NOT }
{ PUSH bool False } ;
IF
{ DUP ;
CAR ;
DIG 2 ;
DUP ;
DUG 3 ;
{ CAR ; CAR ; CAR ; CDR } ;
DIG 2 ;
DUP ;
DUG 3 ;
{ CDR ; CAR } ;
GET ;
{ IF_NONE { PUSH string "Get-item:10" ; FAILWITH } {} } ;
CAR ;
COMPARE ;
GE }
{ PUSH bool False } ;
IF
{}
{ PUSH string "WrongCondition: ((self.data.balances.contains(params.fromAddr)) & (~ self.data.balances[params.fromAddr].lock)) & (self.data.balances[params.fromAddr].balance >= params.amount)" ;
FAILWITH } ;
DUP ;
CAR ;
PUSH int 0 ;
COMPARE ;
LT ;
IF
{}
{ PUSH string "WrongCondition: params.amount > 0" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CDR } ;
SWAP ;
DUP ;
DUG 2 ;
{ CDR ; CDR } ;
MEM ;
IF
{}
{ SWAP ;
DUP ;
DUG 2 ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
CDR ;
PUSH (option (pair (int %balance) (bool %lock))) (Some (Pair 0 False)) ;
DIG 6 ;
DUP ;
DUG 7 ;
{ CDR ; CDR } ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
DUG 2 ;
SWAP ;
DROP } ;
SWAP ;
DUP ;
DUG 2 ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
DIG 6 ;
DUP ;
DUG 7 ;
{ CDR ; CAR } ;
DUP ;
DUG 2 ;
GET ;
{ IF_NONE { PUSH string "set_in_top-any" ; FAILWITH } {} } ;
CDR ;
DIG 7 ;
DUP ;
DUG 8 ;
CAR ;
DIG 9 ;
DUP ;
DUG 10 ;
{ CAR ; CAR ; CAR ; CDR } ;
DIG 9 ;
DUP ;
DUG 10 ;
{ CDR ; CAR } ;
GET ;
{ IF_NONE { PUSH string "Get-item:10" ; FAILWITH } {} } ;
CAR ;
SUB ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
DUG 2 ;
SWAP ;
DROP ;
SWAP ;
DUP ;
DUG 2 ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
DIG 6 ;
DUP ;
DUG 7 ;
{ CDR ; CDR } ;
DUP ;
DUG 2 ;
GET ;
{ IF_NONE { PUSH string "set_in_top-any" ; FAILWITH } {} } ;
CDR ;
DIG 7 ;
DUP ;
DUG 8 ;
CAR ;
DIG 9 ;
DUP ;
DUG 10 ;
{ CAR ; CAR ; CAR ; CDR } ;
DIG 9 ;
DUP ;
DUG 10 ;
{ CDR ; CDR } ;
GET ;
{ IF_NONE { PUSH string "Get-item:13" ; FAILWITH } {} } ;
CAR ;
ADD ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
DUG 2 ;
DROP 2 }
{ SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CAR } ;
SENDER ;
COMPARE ;
EQ ;
IF
{}
{ PUSH string "WrongCondition: sp.sender == self.data.administrator" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
{ CAR ; CAR ; CAR ; CDR } ;
SWAP ;
DUP ;
DUG 2 ;
MEM ;
IF
{}
{ PUSH string "WrongCondition: self.data.balances.contains(params.address)" ;
FAILWITH } ;
SWAP ;
DUP ;
DUG 2 ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CDR ;
SWAP ;
CAR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
DIG 6 ;
DUP ;
DUG 7 ;
DUP ;
DUG 2 ;
GET ;
{ IF_NONE { PUSH string "set_in_top-any" ; FAILWITH } {} } ;
CAR ;
PUSH bool False ;
SWAP ;
PAIR ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
PAIR ;
PAIR ;
PAIR ;
DUG 2 ;
DROP 2 } } } ;
NIL operation } } ;
PAIR }