x
77
parameter (or (pair %renew (bytes %label) (nat %duration) (address %affiliate))
(pair %buy (bytes %label) (nat %duration) (address %owner)
(option %address address)
(map %data string bytes)
(nat %nonce)
(address %affiliate)));
storage (pair (address %buy_addr) (address %renew_addr) (big_map %metadata string bytes));
code { LAMBDA
(pair string address)
operation
{ UNPAIR ;
SWAP ;
AMOUNT ;
DIG 2 ;
PAIR 3 ;
EMIT %affiliate_income (pair (string %kind) (mutez %value)
(address %affiliate)) } ;
SWAP ;
UNPAIR ;
IF_LEFT
{ DUP 2 ;
GET 3 ;
CONTRACT %renew (pair (bytes %label) (nat %duration)) ;
IF_NONE { PUSH string "bad address for get_entrypoint" ; FAILWITH } {} ;
DIG 2 ;
NIL operation ;
DIG 2 ;
AMOUNT ;
DUP 5 ;
GET 3 ;
DUP 6 ;
CAR ;
PAIR ;
TRANSFER_TOKENS ;
CONS ;
DIG 2 ;
GET 4 ;
PUSH string "renew" ;
PAIR ;
DIG 3 ;
SWAP ;
EXEC }
{ DUP 2 ;
CAR ;
CONTRACT %buy (pair (bytes %label) (nat %duration) (address %owner)
(option %address address)
(map %data string bytes)
(nat %nonce)) ;
IF_NONE { PUSH string "bad address for get_entrypoint" ; FAILWITH } {} ;
DIG 2 ;
NIL operation ;
DIG 2 ;
AMOUNT ;
DUP 5 ;
GET 11 ;
DUP 6 ;
GET 9 ;
DUP 7 ;
GET 7 ;
DUP 8 ;
GET 5 ;
DUP 9 ;
GET 3 ;
DUP 10 ;
CAR ;
PAIR 6 ;
TRANSFER_TOKENS ;
CONS ;
DIG 2 ;
GET 12 ;
PUSH string "buy" ;
PAIR ;
DIG 3 ;
SWAP ;
EXEC } ;
CONS ;
PAIR }