syntax = "proto3";

package proto;

option java_package = "com.hederahashgraph.api.proto.java";
option java_multiple_files = true;

import "BasicTypes.proto";
import "Timestamp.proto";

/* Delete a file or smart contract - can only be done with a Hedera admin multisig. When it is deleted, it immediately disappears from the system as seen by the user, but is still stored internally until the expiration time, at which time it is truly and permanently deleted. Until that time, it can be undeleted by the Hedera admin multisig. When a smart contract is deleted, the cryptocurrency account within it continues to exist, and is not affected by the expiration time here. */
message AdminDeleteTransactionBody {
    oneof id {
        FileID fileID = 1; // the file to delete, in the format used in transactions
        ContractID contractID = 2; // the contract instance to delete, in the format used in transactions
    }
    TimestampSeconds expirationTime = 3; // the time at which the "deleted" file should truly be permanently deleted
}
