diff --git a/.gitkeep b/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/FileManagement.sol b/FileManagement.sol new file mode 100644 index 0000000..71976a6 --- /dev/null +++ b/FileManagement.sol @@ -0,0 +1,27 @@ +pragma solidity ^0.8.0; + +contract FileManagement { + // Variables + mapping(bytes32 => bool) private files; + + // Events + event FileAdded(bytes32 indexed fileHash); + event FileRemoved(bytes32 indexed fileHash); + + // Functions + function addFile(bytes32 fileHash) public { + require(!files[fileHash], "File already exists"); + files[fileHash] = true; + emit FileAdded(fileHash); + } + + function removeFile(bytes32 fileHash) public { + require(files[fileHash], "File does not exist"); + files[fileHash] = false; + emit FileRemoved(fileHash); + } + + function fileExists(bytes32 fileHash) public view returns (bool) { + return files[fileHash]; + } +}