Skip to content

Instantly share code, notes, and snippets.

@jongan69
Created November 13, 2022 19:21
Show Gist options
  • Select an option

  • Save jongan69/171472df8d65dbbeb89ffae06d3c5ca1 to your computer and use it in GitHub Desktop.

Select an option

Save jongan69/171472df8d65dbbeb89ffae06d3c5ca1 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.7+commit.e28d00a7.js&optimize=false&runs=200&gist=
// Todo App Task Contract
pragma solidity 0.8.6;
contract TaskContract {
event AddTask(address recipient, unit taskId)
event Delete(uint taskId, bool isDeleted)
struct Task {
uint id;
string taskText;
bool isDeleted;
}
Task[] private tasks;
mapping(uint256 => address) taskToOwner;
function addTask(string memory taskText, bool isDeleted) external {
uint taskId = tasks.length;
tasks.push(Task(taskId, taskText, isDeleted));
taskToOwner[taskId] = msg.sender;
emit AddTask(msg.sender, taskId)
}
function getMyTasks() external view returns (Task[] memory){
Task[] memory temporary = new Task[](tasks.length);
uint counter = 0;
for(unit i = 0; i<tasks.length; i++) {
if(taskToOwner[i] == msg.sender && tasks[i].isDeleted == false) {
temporary[counter] - tasks[i];
counter++;
}
}
Task[] memory result = new Task[](counter);
for ( unit i=0; i < counter; i++) {
result[i] = temporary[i];
}
return result;
}
function deleteTasks(uint taskId, bool isDeleted) external {
if(taskToOwner[taskId] == msg.sender){
tasks[taskId].isDeleted = isDeleted;
emit DeleteTask(taskId, isDeleted);
}
}
TaskContract.deleteTask(0, true)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment