Verified Contract
0x9c165AA32455cBdd0d96a930A81F450DBc320c9c
Pin to watchlist
scan to copy
zkLTC Balance
0
hard money native
Transactions
34
Token transfers
0
Validations
0
blocks produced
Hard Money Score
100
/100
PURE HARD MONEY
share of activity in native zkLTC vs. tokens
native
34
tokens
0
Contract name
HelloLitVM
Compiler
v0.8.20+commit.a1b79de6
Optimization
disabled
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
/// @title HelloLitVM
/// @notice A simple interactive contract deployed by each wallet on LitVM testnet.
contract HelloLitVM {
// ── State ─────────────────────────────────────────────────────────
address public owner;
string public greeting;
uint256 public counter;
uint256 public number;
struct Tally { uint256 yes; uint256 no; }
Tally public votes;
mapping(address => string) public greetings;
mapping(address => uint256) public numbers;
mapping(address => bool) public hasVoted;
// ── Events ────────────────────────────────────────────────────────
event Greeted (address indexed sender, string message);
event Incremented(address indexed sender, uint256 newCount);
event NumberSet(address indexed sender, uint256 value);
event Voted (address indexed sender, bool choice);
// ── Constructor ───────────────────────────────────────────────────
constructor(string memory _greeting) {
owner = msg.sender;
greeting = _greeting;
}
// ── Write functions ───────────────────────────────────────────────
/// @notice Store a greeting; anyone can call
function greet(string calldata _message) external {
greetings[msg.sender] = _message;
greeting = _message;
emit Greeted(msg.sender, _message);
}
/// @notice Increment the shared counter
function increment() external {
counter += 1;
emit Incremented(msg.sender, counter);
}
/// @notice Store a number
function setNumber(uint256 _number) external {
numbers[msg.sender] = _number;
number = _number;
emit NumberSet(msg.sender, _number);
}
/// @notice Cast a yes/no vote (one vote per address per contract)
function vote(bool _choice) external {
if (_choice) { votes.yes += 1; }
else { votes.no += 1; }
hasVoted[msg.sender] = true;
emit Voted(msg.sender, _choice);
}
// ── View functions ────────────────────────────────────────────────
/// @notice Returns (counter, number, votes.yes, votes.no)
function getStats() external view returns (uint256, uint256, uint256, uint256) {
return (counter, number, votes.yes, votes.no);
}
}