x
90
parameter (or (or (pair %addOven address address) (unit %default))
(or (address %isOven)
(or (address %setGovernorContract) (address %setOvenFactoryContract))));
storage (pair (address %governorContractAddress)
(pair (address %ovenFactoryContractAddress)
(big_map %ovenMap address address)));
code { DUP ;
CDR ;
SWAP ;
CAR ;
IF_LEFT
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
CDR ;
CAR ;
SENDER ;
COMPARE ;
EQ ;
IF {} { PUSH int 7 ; FAILWITH } ;
SWAP ;
DUP ;
CAR ;
SWAP ;
CDR ;
DUP ;
CAR ;
SWAP ;
CDR ;
DIG 3 ;
DUP ;
CAR ;
SWAP ;
CDR ;
SOME ;
SWAP ;
UPDATE ;
SWAP ;
PAIR ;
SWAP ;
PAIR }
{ PUSH int 19 ; FAILWITH } }
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
CDR ;
CDR ;
SWAP ;
MEM ;
IF {} { PUSH int 1 ; FAILWITH } ;
PUSH mutez 0 ;
AMOUNT ;
COMPARE ;
EQ ;
IF {} { PUSH int 15 ; FAILWITH } }
{ IF_LEFT
{ SWAP ;
DUP ;
DUG 2 ;
CAR ;
SENDER ;
COMPARE ;
EQ ;
IF {} { PUSH int 4 ; FAILWITH } ;
SWAP ;
CDR ;
SWAP ;
PAIR }
{ SWAP ;
DUP ;
DUG 2 ;
CAR ;
SENDER ;
COMPARE ;
EQ ;
IF {} { PUSH int 4 ; FAILWITH } ;
SWAP ;
DUP ;
CAR ;
SWAP ;
CDR ;
CDR ;
DIG 2 ;
PAIR ;
SWAP ;
PAIR } } } ;
NIL operation ;
PAIR }