To Do List
Write a contract to store an array of tasks.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
contract TodoList {
struct Todo {
string text;
bool completed;
}
Todo[] public todos;
function create(string calldata _text) external {
todos.push(Todo({text: _text, completed: false}));
}
function updateText(uint _index, string calldata _text) external {
Todo storage todo = todos[_index];
todo.text = _text;
}
function toggleCompleted(uint _index) external {
Todo storage todo = todos[_index];
todo.completed = !todo.completed;
}
function get(uint _index) external view returns (string memory, bool) {
Todo storage todo = todos[_index];
return (todo.text, todo.completed);
}
}
Last updated
Was this helpful?