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
setCallDataFileId()
insteadFor large transactions (for example contract create) this is the callData of the callData. The data in the callData will be re-written with the callData element as a zero length string with the original contents in the referenced file at time of execution. The callData will need to be "rehydrated" with the callData for signature validation to pass.
For large transactions (for example contract create) this is the callData of the callData. The data in the callData will be re-written with the callData element as a zero length string with the original contents in the referenced file at time of execution. The callData will need to be "rehydrated" with the callData for signature validation to pass.
The raw Ethereum transaction (RLP encoded type 0, 1, and 2). Complete unless the callData field is set.
The maximum amount, in hbars, that the payer of the hedera transaction is willing to pay to complete the transaction.
Ordinarily the account with the ECDSA alias corresponding to the public key that is extracted from the ethereum_data signature is responsible for fees that result from the execution of the transaction. If that amount of authorized fees is not sufficient then the payer of the transaction can be charged, up to but not exceeding this amount. If the ethereum_data transaction authorized an amount that was insufficient then the payer will only be charged the amount needed to make up the difference. If the gas price in the transaction was set to zero then the payer will be assessed the entire fee.
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
.
Create a new Hedera™ transaction wrapped ethereum transaction.