x
49
parameter (or (unit %dummy) (pair %increase_votes (int %playerId) (address %sender)));
storage (pair (string %dummy)
(pair
(map %players int
(pair (string %name) (pair (nat %votes) (string %year))))
(set %votersWalletAddresses address)));
code { UNPAIR ;
IF_LEFT
{ DROP ; PUSH string "" ; UPDATE 1 }
{ DUP 2 ;
GET 4 ;
DUP 2 ;
CDR ;
MEM ;
IF { PUSH string "YouAlreadyVoted" ; FAILWITH } {} ;
DUP 2 ;
GET 3 ;
DUP 2 ;
CAR ;
MEM ;
IF {} { PUSH string "PlayerIDNotFound" ; FAILWITH } ;
SWAP ;
DUP ;
GET 3 ;
DUP ;
DUP 4 ;
CAR ;
DUP ;
DUG 2 ;
GET ;
IF_NONE { PUSH int 27 ; FAILWITH } {} ;
DUP ;
GET 3 ;
PUSH nat 1 ;
ADD ;
UPDATE 3 ;
SOME ;
SWAP ;
UPDATE ;
UPDATE 3 ;
DUP ;
GET 4 ;
PUSH bool True ;
DIG 3 ;
CDR ;
UPDATE ;
UPDATE 4 } ;
NIL operation ;
PAIR }