The maximum custom fee that the user is willing to pay for the message. If left empty, the user is willing to pay any custom fee. If used with a transaction type that does not support custom fee limits, the transaction will fail.
Get the transaction body size Protobuf encoding has specific rules about how data is serialized Different fields take different amounts of space depending on their values The actual wire format size can only be determined after encoding
Get the body sizes for all chunks in a Chunked transaction. For transactions with multiple chunks (like large topic message submissions), this returns an array containing the size of each chunk's transaction body. The size is calculated by encoding the transaction body to protobuf format.
An array of body sizes, where each element represents the size in bytes of a chunk's transaction body
Get the grpc deadline
Get logger if set
Get the max attempts on the request
Get the max backoff
Get the max transaction fee
Get the min backoff
Get the list of node account IDs on the request. If no nodes are set, then null is returned. The reasoning for this is simply "legacy behavior".
Is transaction ID regeneration enabled
Returns a List of SignableNodeTransactionBodyBytes for each node the transaction is intended for. These are the canonical bytes that must be signed externally (e.g., via HSM).
Protobuf encoding has specific rules about how data is serialized Different fields take different amounts of space depending on their values The actual wire format size can only be determined after encoding
Get the curent transaction ID
Get the transaction memo
Get the transaction valid duration
Add a signature explicitly This method supports both single and multiple signatures. A single signature will be applied to all transactions,
While an array of signatures must correspond to each transaction individually.
Collects all signatures from signed transactions and returns them in a format keyed by PublicKey.
The collected signatures keyed by PublicKey.
Removes all signatures from a transaction and collects the removed signatures.
The transaction object to process.
The hexadecimal representation of the public key.
An array of removed signatures.
Resets the transaction to its initial state
Set the node account IDs using the client
Not sure why this is called setTransactionId()
when it doesn't set anything...
FIXME: Remove this?
Determines whether a signature should be removed based on the provided public key.
The signature pair object that contains the public key prefix and signature to be evaluated.
The hexadecimal representation of the public key to compare against.
true
if the public key prefix in the signature pair matches the provided public key,
indicating that the signature should be removed; otherwise, false
.
Execute the request using a client and an optional request timeout
Execute this request using the signer
This method is part of the signature providers feature https://hips.hedera.com/hip/hip-338
Freeze this transaction from future modification to prepare for signing or serialization.
Freeze this transaction from further modification to prepare for signing or serialization.
Will use the Client
, if available, to generate a default Transaction ID and select 1/3
nodes to prepare this transaction for.
Freeze the transaction using a signer
This is part of the signature provider feature.
Optional
legacy: falseGet the current signatures on the request
NOTE: Supports sign on demand
Get the current signatures on the request NOTE: Does NOT support sign on demand
Get the transaction hash
Get all the transaction hashes
Is transaction frozen
This method clears all signatures from the transaction and returns them in a specific format.
It will call collectSignatures to get the removed signatures, then clear all signatures from the internal tracking.
The removed signatures in the specified format.
This method removes all signatures from the transaction based on the public key provided.
The public key associated with the signature to remove.
The removed signatures.
Convert this transaction a ScheduleCreateTransaction
Set the max backoff for the request
Set the maximum transaction fee the operator (paying account) is willing to pay.
Set the maximum transaction fee the operator (paying account) is willing to pay.
Set the ID for this transaction.
The transaction ID includes the operator's account ( the account paying the transaction fee). If two transactions have the same transaction ID, they won't both have an effect. One will complete normally and the other will fail with a duplicate transaction status.
Normally, you should not use this method. Just before a transaction is executed, a transaction ID will be generated from the operator on the client.
Set a note or description to be recorded in the transaction record (maximum length of 100 bytes).
Sets the duration (in seconds) that this transaction is valid for.
This is defaulted to 120 seconds (from the time its executed).
Sign the transaction with the private key
NOTE: This is a thin wrapper around .signWith()
Sign the transaction with the public key and signer function
If sign on demand is enabled no signing will be done immediately, instead
the private key signing function and public key are saved to be used when
a user calls an exit condition method (not sure what a better name for this is)
such as toBytes[Async]()
, getTransactionHash[PerNode]()
or execute()
.
Sign the transaction with the client operator. This is a thin wrapper
around .signWith()
NOTE: If client does not have an operator set, this method will throw
Sign the transaction using a signer
This is part of the signature provider feature
Serialize the request into bytes. This will encode all the transactions
into a proto.TransactionList
and return the encoded protobuf.
NOTE: Does not support sign on demand
Serialize the transaction into bytes
NOTE: Supports sign on demand
Static
_This method is called by each *Transaction._fromProtobuf()
method. It does
all the finalization before the user gets hold of a complete Transaction
Static
fromDeserialize a transaction from bytes. The bytes can either be a proto.Transaction
or
proto.TransactionList
.
Deprecated
This transaction is no longer supported.