
shgraph.hedera-protobuf-java-api.0.10.0.source-code.TransactionBody.proto Maven / Gradle / Ivy
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