Class EvmTransactionExtensions
Extension methods for submitting Ethereum-compatible EVM transactions.
Inherited Members
Namespace: Hiero
Assembly: Hiero.dll
Syntax
public static class EvmTransactionExtensions
Methods
| Edit this page View SourceExecuteEvmTransactionAsync(ConsensusClient, EvmTransactionParams, Action<IConsensusContext>?)
Submits an equivalent Ethereum transaction (native RLP encoded type 0, 1, and 2) transaction to the hedera network.
Declaration
public static Task<TransactionReceipt> ExecuteEvmTransactionAsync(this ConsensusClient client, EvmTransactionParams transactionParams, Action<IConsensusContext>? configure = null)
Parameters
| Type | Name | Description |
|---|---|---|
| ConsensusClient | client | The Consensus Node Client executing the EVM transaction. |
| EvmTransactionParams | transactionParams | The ethereum formatted transaction details. |
| Action<IConsensusContext> | configure | Optional callback method providing an opportunity to modify the execution configuration for just this method call. It is executed prior to submitting the request to the network. |
Returns
| Type | Description |
|---|---|
| Task<TransactionReceipt> | A transaction receipt indicating success, it does not include any output parameters sent from the contract. |
Examples
// Submit a native EIP-1559 / EIP-2930 / legacy Ethereum transaction
// through the HAPI Ethereum gateway. `Transaction` is the full RLP
// blob (type 0, 1, or 2), already signed. AdditionalGasAllowance
// lets the HAPI payer cover fees if the eth sender runs short.
var receipt = await client.ExecuteEvmTransactionAsync(new EvmTransactionParams
{
Transaction = signedRlpTransaction,
AdditionalGasAllowance = 100_000_000 // 1 HBAR backstop
});
Console.WriteLine($"EVM tx status: {receipt.Status}");
Exceptions
| Type | Condition |
|---|---|
| ArgumentOutOfRangeException | If required arguments are missing. |
| InvalidOperationException | If required context configuration is missing. |
| PrecheckException | If the gateway node rejected the request upon submission. |
| ConsensusException | If the network was unable to come to consensus before the duration of the transaction expired. |
| TransactionException | If the network rejected the request as invalid or had missing data. |