All Downloads are FREE. Search and download functionalities are using the official Maven repository.

shgraph.hedera-protobuf-java-api.0.10.0.source-code.TransactionBody.proto Maven / Gradle / Ivy

There is a newer version: 0.59.1
Show newest version
syntax = "proto3";

package proto;

/*-
 * ‌
 * Hedera Network Services Protobuf
 * ​
 * Copyright (C) 2018 - 2020 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.
 * ‍
 */

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

import "SystemDelete.proto";
import "SystemUndelete.proto";
import "Freeze.proto";

import "ContractCall.proto";
import "ContractCreate.proto";
import "ContractUpdate.proto";

import "CryptoAddLiveHash.proto";
import "CryptoCreate.proto";
import "CryptoDelete.proto";
import "CryptoDeleteLiveHash.proto";
import "CryptoTransfer.proto";
import "CryptoUpdate.proto";

import "FileAppend.proto";
import "FileCreate.proto";
import "FileDelete.proto";
import "FileUpdate.proto";

import "Duration.proto";
import "BasicTypes.proto";
import "ContractDelete.proto";

import "ConsensusCreateTopic.proto";
import "ConsensusUpdateTopic.proto";
import "ConsensusDeleteTopic.proto";
import "ConsensusSubmitMessage.proto";

import "UncheckedSubmit.proto";

import "TokenCreate.proto";
import "TokenFreezeAccount.proto";
import "TokenUnfreezeAccount.proto";
import "TokenGrantKyc.proto";
import "TokenRevokeKyc.proto";
import "TokenDelete.proto";
import "TokenUpdate.proto";
import "TokenMint.proto";
import "TokenBurn.proto";
import "TokenWipeAccount.proto";
import "TokenAssociate.proto";
import "TokenDissociate.proto";

/* A single transaction. All transaction types are possible here. */
message TransactionBody {
  TransactionID transactionID = 1; // The ID for this transaction, which includes the payer's account (the account paying the transaction fee). If two transactions have the same transactionID, they won't both have an effect
  AccountID nodeAccountID = 2; // The account of the node that submits the client's transaction to the network
  uint64 transactionFee = 3; // The maximum transaction fee the client is willing to pay
  Duration transactionValidDuration = 4; //The transaction is invalid if consensusTimestamp > transactionID.transactionValidStart + transactionValidDuration
  bool generateRecord = 5 [deprecated = true]; // Should a record of this transaction be generated? (A receipt is always generated, but the record is optional)
  string memo = 6; // Any notes or descriptions that should be put into the record (max length 100)
  oneof data {
    ContractCallTransactionBody contractCall = 7; // Calls a function of a contract instance
    ContractCreateTransactionBody contractCreateInstance = 8; // Creates a contract instance
    ContractUpdateTransactionBody contractUpdateInstance = 9; // Updates a contract
    ContractDeleteTransactionBody contractDeleteInstance = 22; //Delete contract and transfer remaining balance into specified account

    CryptoAddLiveHashTransactionBody cryptoAddLiveHash = 10; // Attach a new livehash to an account
    CryptoCreateTransactionBody cryptoCreateAccount = 11; // Create a new cryptocurrency account
    CryptoDeleteTransactionBody cryptoDelete = 12; // Delete a cryptocurrency account (mark as deleted, and transfer hbars out)
    CryptoDeleteLiveHashTransactionBody cryptoDeleteLiveHash = 13; // Remove a livehash from an account
    CryptoTransferTransactionBody cryptoTransfer = 14; // Transfer amount between accounts
    CryptoUpdateTransactionBody cryptoUpdateAccount = 15; // Modify information such as the expiration date for an account

    FileAppendTransactionBody fileAppend = 16; // Add bytes to the end of the contents of a file
    FileCreateTransactionBody fileCreate = 17; // Create a new file
    FileDeleteTransactionBody fileDelete = 18; // Delete a file (remove contents and mark as deleted until it expires)
    FileUpdateTransactionBody fileUpdate = 19; // Modify information such as the expiration date for a file
    SystemDeleteTransactionBody systemDelete = 20; // Hedera administrative deletion of a file or smart contract
    SystemUndeleteTransactionBody systemUndelete = 21; //To undelete an entity deleted by SystemDelete
    FreezeTransactionBody freeze = 23; // Freeze the nodes

    ConsensusCreateTopicTransactionBody consensusCreateTopic = 24; // Creates a topic
    ConsensusUpdateTopicTransactionBody consensusUpdateTopic = 25; // Updates a topic
    ConsensusDeleteTopicTransactionBody consensusDeleteTopic = 26; // Deletes a topic
    ConsensusSubmitMessageTransactionBody consensusSubmitMessage = 27; // Submits message to a topic

    UncheckedSubmitBody uncheckedSubmit = 28;

    TokenCreateTransactionBody tokenCreation = 29; // Creates a token instance
    TokenFreezeAccountTransactionBody tokenFreeze = 31; // Freezes account not to be able to transact with a token
    TokenUnfreezeAccountTransactionBody tokenUnfreeze = 32; // Unfreezes account for a token
    TokenGrantKycTransactionBody tokenGrantKyc = 33; // Grants KYC to an account for a token
    TokenRevokeKycTransactionBody tokenRevokeKyc = 34; // Revokes KYC of an account for a token
    TokenDeleteTransactionBody tokenDeletion = 35; // Deletes a token instance
    TokenUpdateTransactionBody tokenUpdate = 36; // Updates a token instance
    TokenMintTransactionBody tokenMint = 37; // Mints new tokens to a token's treasury account
    TokenBurnTransactionBody tokenBurn = 38; // Burns tokens from a token's treasury account
    TokenWipeAccountTransactionBody tokenWipe = 39; // Wipes amount of tokens from an account
    TokenAssociateTransactionBody tokenAssociate = 40; // Associate tokens to an account
    TokenDissociateTransactionBody tokenDissociate = 41; // Dissociate tokens from an account
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy