You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.2 KiB
Solidity
38 lines
1.2 KiB
Solidity
2 years ago
|
//SPDX-License-Identifier: Unlicense
|
||
|
pragma solidity ^0.8.0;
|
||
|
|
||
|
interface IFileOperator {
|
||
|
// Large storage methods
|
||
|
function write(bytes memory name, bytes memory data) external payable;
|
||
|
|
||
|
function read(bytes memory name) external view returns (bytes memory, bool);
|
||
|
|
||
|
// return (size, # of chunks)
|
||
|
function size(bytes memory name) external view returns (uint256, uint256);
|
||
|
|
||
|
function remove(bytes memory name) external returns (uint256);
|
||
|
|
||
|
function countChunks(bytes memory name) external view returns (uint256);
|
||
|
|
||
|
// Chunk-based large storage methods
|
||
|
function writeChunk(
|
||
|
bytes memory name,
|
||
|
uint256 chunkId,
|
||
|
bytes memory data
|
||
|
) external payable;
|
||
|
|
||
|
function readChunk(bytes memory name, uint256 chunkId) external view returns (bytes memory, bool);
|
||
|
|
||
|
function chunkSize(bytes memory name, uint256 chunkId) external view returns (uint256, bool);
|
||
|
|
||
|
function removeChunk(bytes memory name, uint256 chunkId) external returns (bool);
|
||
|
|
||
|
function truncate(bytes memory name, uint256 chunkId) external returns (uint256);
|
||
|
|
||
|
function refund() external;
|
||
|
|
||
|
function destruct() external;
|
||
|
|
||
|
function getChunkHash(bytes memory name, uint256 chunkId) external view returns (bytes32);
|
||
|
}
|