state.file.file.proto Maven / Gradle / Ivy
syntax = "proto3";
package proto;
/*-
*
* Hedera Network Services Protobuf
*
* Copyright (C) 2018 - 2023 Hedera Hashgraph, LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
import "basic_types.proto";
option java_package = "com.hederahashgraph.api.proto.java";
// <<>> This comment is special code for setting PBJ Compiler java package
option java_multiple_files = true;
/**
* Representation of a Hedera Token Service file in the network Merkle tree.
*
* As with all network entities, a file has a unique entity number, which is given along
* with the network's shard and realm in the form of a shard.realm.number id.
*/
message File {
/**
* The file's unique file identifier in the Merkle state.
*/
FileID file_id = 1;
/**
* The file's consensus expiration time in seconds since the epoch.
*/
int64 expiration_second = 2;
/**
* All keys at the top level of a key list must sign to create, modify and delete the file.
*/
KeyList keys = 3;
/**
* The bytes that are the contents of the file
*/
bytes contents = 4;
/**
* The memo associated with the file (UTF-8 encoding max 100 bytes)
*/
string memo = 5;
/**
* Whether this file is deleted.
*/
bool deleted = 6;
/**
* The pre system delete expiration time in seconds
*/
int64 pre_system_delete_expiration_second = 7;
}