Class EthereumTransaction

Create a new Hedera™ transaction wrapped ethereum transaction.

Hierarchy

Constructors

Properties

_operator: null | ClientOperator
_operatorAccountId: undefined | null | AccountId
_signOnDemand: boolean

Accessors

  • get grpcDeadline(): null | number
  • Get the grpc deadline

    Returns null | number

  • get maxAttempts(): number
  • Get the max attempts on the request

    Returns number

  • get maxBackoff(): number
  • Get the max backoff

    Returns number

  • get maxRetries(): number
  • Returns number

    Deprecated

  • get minBackoff(): null | number
  • Get the min backoff

    Returns null | number

  • get nodeAccountIds(): null | AccountId[]
  • 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".

    Returns null | AccountId[]

  • get regenerateTransactionId(): null | boolean
  • Is transaction ID regeneration enabled

    Returns null | boolean

  • get transactionValidDuration(): number
  • Get the transaction valid duration

    Returns number

Methods

  • Add a signature explicitly

    This method requires the transaction to have exactly 1 node account ID set since different node account IDs have different byte representations and hence the same signature would not work for all transactions that are the same except for node account ID being different.

    Parameters

    Returns EthereumTransaction

  • Execute the request using a client and an optional request timeout

    Type Parameters

    • ChannelT extends default<ChannelT>

    • MirrorChannelT extends default<MirrorChannelT>

    Parameters

    • client: default<ChannelT, MirrorChannelT>
    • requestTimeout: undefined | number

    Returns Promise<TransactionResponse>

  • Parameters

    Returns EthereumTransaction

    Deprecated

    • Use setCallDataFileId() instead

    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.

  • 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.

    Parameters

    Returns EthereumTransaction

  • The maximum amount, in tinybars, 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.

    Parameters

    • maxGasAllowance: string | number | Long | BigNumber | Hbar

    Returns EthereumTransaction

  • 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.

    Parameters

    Returns EthereumTransaction

  • 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().

    Parameters

    • publicKey: PublicKey
    • transactionSigner: ((message) => Promise<Uint8Array>)
        • (message): Promise<Uint8Array>
        • Parameters

          • message: Uint8Array

          Returns Promise<Uint8Array>

    Returns Promise<EthereumTransaction>

  • 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

    Returns Uint8Array

  • This method is called by each *Transaction._fromProtobuf() method. It does all the finalization before the user gets hold of a complete Transaction

    Type Parameters

    Parameters

    • transaction: TransactionT
    • transactions: ITransaction[]
    • signedTransactions: ISignedTransaction[]
    • transactionIds: TransactionId[]
    • nodeIds: AccountId[]
    • bodies: ITransactionBody[]

    Returns TransactionT

Generated using TypeDoc