Class EthereumTransactionBody.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder<EthereumTransactionBody,EthereumTransactionBody.Builder>
com.google.protobuf.GeneratedMessageLite.Builder<EthereumTransactionBody,EthereumTransactionBody.Builder>
com.hedera.hashgraph.sdk.proto.EthereumTransactionBody.Builder
All Implemented Interfaces:
com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, EthereumTransactionBodyOrBuilder, Cloneable
Enclosing class:
EthereumTransactionBody

public static final class EthereumTransactionBody.Builder extends com.google.protobuf.GeneratedMessageLite.Builder<EthereumTransactionBody,EthereumTransactionBody.Builder> implements EthereumTransactionBodyOrBuilder
 *
 A transaction in Ethereum format.<br/>
 Make an Ethereum transaction "call" with all data in Ethereum formats,
 including the contract alias. Call data may be in the transaction, or
 stored within an Hedera File.

 The caller MAY offer additional gas above what is offered in the call data,
 but MAY be charged up to 80% of that value if the amount required is less
 than this "floor" amount.

 ### Block Stream Effects
 An `EthereumOutput` message SHALL be emitted for each transaction.
 
Protobuf type proto.EthereumTransactionBody
  • Method Details

    • getEthereumData

      public com.google.protobuf.ByteString getEthereumData()
       *
       The raw Ethereum transaction data.
       <p>
       This transaction MUST be RLP encoded.<br/>
       This SHALL be the complete transaction data unless the `call_data`
       field is set.<br/>
       If `call_data` is set, this field SHALL be modified to replace the
       `callData` element with the content of the referenced file.<br/>
       The transaction signature SHALL be validated after `callData` is
       complete, if necessary.
       
      bytes ethereum_data = 1;
      Specified by:
      getEthereumData in interface EthereumTransactionBodyOrBuilder
      Returns:
      The ethereumData.
    • setEthereumData

      public EthereumTransactionBody.Builder setEthereumData(com.google.protobuf.ByteString value)
       *
       The raw Ethereum transaction data.
       <p>
       This transaction MUST be RLP encoded.<br/>
       This SHALL be the complete transaction data unless the `call_data`
       field is set.<br/>
       If `call_data` is set, this field SHALL be modified to replace the
       `callData` element with the content of the referenced file.<br/>
       The transaction signature SHALL be validated after `callData` is
       complete, if necessary.
       
      bytes ethereum_data = 1;
      Parameters:
      value - The ethereumData to set.
      Returns:
      This builder for chaining.
    • clearEthereumData

      public EthereumTransactionBody.Builder clearEthereumData()
       *
       The raw Ethereum transaction data.
       <p>
       This transaction MUST be RLP encoded.<br/>
       This SHALL be the complete transaction data unless the `call_data`
       field is set.<br/>
       If `call_data` is set, this field SHALL be modified to replace the
       `callData` element with the content of the referenced file.<br/>
       The transaction signature SHALL be validated after `callData` is
       complete, if necessary.
       
      bytes ethereum_data = 1;
      Returns:
      This builder for chaining.
    • hasCallData

      public boolean hasCallData()
       *
       The `callData` for the Ethereum transaction.
       <p>
       If this field is set, the data in the `ethereum_data` field SHALL be
       re-written to replace the `callData` element with the contents of this
       file at time of execution.<br/>
       The Ethereum transaction MUST be "rehydrated" with this modified
       `callData` before signature validation MAY be performed.
       
      .proto.FileID call_data = 2;
      Specified by:
      hasCallData in interface EthereumTransactionBodyOrBuilder
      Returns:
      Whether the callData field is set.
    • getCallData

      public FileID getCallData()
       *
       The `callData` for the Ethereum transaction.
       <p>
       If this field is set, the data in the `ethereum_data` field SHALL be
       re-written to replace the `callData` element with the contents of this
       file at time of execution.<br/>
       The Ethereum transaction MUST be "rehydrated" with this modified
       `callData` before signature validation MAY be performed.
       
      .proto.FileID call_data = 2;
      Specified by:
      getCallData in interface EthereumTransactionBodyOrBuilder
      Returns:
      The callData.
    • setCallData

      public EthereumTransactionBody.Builder setCallData(FileID value)
       *
       The `callData` for the Ethereum transaction.
       <p>
       If this field is set, the data in the `ethereum_data` field SHALL be
       re-written to replace the `callData` element with the contents of this
       file at time of execution.<br/>
       The Ethereum transaction MUST be "rehydrated" with this modified
       `callData` before signature validation MAY be performed.
       
      .proto.FileID call_data = 2;
    • setCallData

      public EthereumTransactionBody.Builder setCallData(FileID.Builder builderForValue)
       *
       The `callData` for the Ethereum transaction.
       <p>
       If this field is set, the data in the `ethereum_data` field SHALL be
       re-written to replace the `callData` element with the contents of this
       file at time of execution.<br/>
       The Ethereum transaction MUST be "rehydrated" with this modified
       `callData` before signature validation MAY be performed.
       
      .proto.FileID call_data = 2;
    • mergeCallData

      public EthereumTransactionBody.Builder mergeCallData(FileID value)
       *
       The `callData` for the Ethereum transaction.
       <p>
       If this field is set, the data in the `ethereum_data` field SHALL be
       re-written to replace the `callData` element with the contents of this
       file at time of execution.<br/>
       The Ethereum transaction MUST be "rehydrated" with this modified
       `callData` before signature validation MAY be performed.
       
      .proto.FileID call_data = 2;
    • clearCallData

      public EthereumTransactionBody.Builder clearCallData()
       *
       The `callData` for the Ethereum transaction.
       <p>
       If this field is set, the data in the `ethereum_data` field SHALL be
       re-written to replace the `callData` element with the contents of this
       file at time of execution.<br/>
       The Ethereum transaction MUST be "rehydrated" with this modified
       `callData` before signature validation MAY be performed.
       
      .proto.FileID call_data = 2;
    • getMaxGasAllowance

      public long getMaxGasAllowance()
       *
       A maximum amount of "gas" offered to pay the Ethereum transaction costs.
       <p>
       This gas offered is in addition to any gas supplied with the Ethereum
       transaction as declared in the `ethereum_data`.<br/>
       In most circumstances the account with an alias matching the public
       key available from the Ethereum transaction signature offers sufficient
       gas to power the transaction, but in some cases it MAY be desirable
       for the account submitting this transaction to either supplement
       or entirely fund the transaction cost.<br/>
       The amount of gas offered here SHALL be used to pay for
       transaction costs _in excess_ of any gas offered within
       the Ethereum transaction.<br/>
       If the gas offered within the Ethereum transaction is sufficient
       for all costs, the gas offered in this field SHALL NOT be expended.<br/>
       Regardless of actual transaction cost, the payer for this transaction
       SHALL NOT be charged more gas than the amount offered here.<br/>
       If the sum of both gas amounts is not sufficient to pay for the
       transaction, the entire total amount of gas offered SHALL be expended,
       the transaction SHALL fail, and the response code `INSUFFICIENT_GAS`
       SHALL be set.<br/>
       If any amount of gas is charged to the payer of this transaction,
       at least 80% of the value offered in this field SHALL be charged
       as a minimum fee.<br/>
       If the amount of gas authorized in the Ethereum transaction data is `0`,
       then the payer of this transaction SHALL be charged the entire cost of
       the Ethereum transaction, subject to the limit set in this field.
       
      int64 max_gas_allowance = 3;
      Specified by:
      getMaxGasAllowance in interface EthereumTransactionBodyOrBuilder
      Returns:
      The maxGasAllowance.
    • setMaxGasAllowance

      public EthereumTransactionBody.Builder setMaxGasAllowance(long value)
       *
       A maximum amount of "gas" offered to pay the Ethereum transaction costs.
       <p>
       This gas offered is in addition to any gas supplied with the Ethereum
       transaction as declared in the `ethereum_data`.<br/>
       In most circumstances the account with an alias matching the public
       key available from the Ethereum transaction signature offers sufficient
       gas to power the transaction, but in some cases it MAY be desirable
       for the account submitting this transaction to either supplement
       or entirely fund the transaction cost.<br/>
       The amount of gas offered here SHALL be used to pay for
       transaction costs _in excess_ of any gas offered within
       the Ethereum transaction.<br/>
       If the gas offered within the Ethereum transaction is sufficient
       for all costs, the gas offered in this field SHALL NOT be expended.<br/>
       Regardless of actual transaction cost, the payer for this transaction
       SHALL NOT be charged more gas than the amount offered here.<br/>
       If the sum of both gas amounts is not sufficient to pay for the
       transaction, the entire total amount of gas offered SHALL be expended,
       the transaction SHALL fail, and the response code `INSUFFICIENT_GAS`
       SHALL be set.<br/>
       If any amount of gas is charged to the payer of this transaction,
       at least 80% of the value offered in this field SHALL be charged
       as a minimum fee.<br/>
       If the amount of gas authorized in the Ethereum transaction data is `0`,
       then the payer of this transaction SHALL be charged the entire cost of
       the Ethereum transaction, subject to the limit set in this field.
       
      int64 max_gas_allowance = 3;
      Parameters:
      value - The maxGasAllowance to set.
      Returns:
      This builder for chaining.
    • clearMaxGasAllowance

      public EthereumTransactionBody.Builder clearMaxGasAllowance()
       *
       A maximum amount of "gas" offered to pay the Ethereum transaction costs.
       <p>
       This gas offered is in addition to any gas supplied with the Ethereum
       transaction as declared in the `ethereum_data`.<br/>
       In most circumstances the account with an alias matching the public
       key available from the Ethereum transaction signature offers sufficient
       gas to power the transaction, but in some cases it MAY be desirable
       for the account submitting this transaction to either supplement
       or entirely fund the transaction cost.<br/>
       The amount of gas offered here SHALL be used to pay for
       transaction costs _in excess_ of any gas offered within
       the Ethereum transaction.<br/>
       If the gas offered within the Ethereum transaction is sufficient
       for all costs, the gas offered in this field SHALL NOT be expended.<br/>
       Regardless of actual transaction cost, the payer for this transaction
       SHALL NOT be charged more gas than the amount offered here.<br/>
       If the sum of both gas amounts is not sufficient to pay for the
       transaction, the entire total amount of gas offered SHALL be expended,
       the transaction SHALL fail, and the response code `INSUFFICIENT_GAS`
       SHALL be set.<br/>
       If any amount of gas is charged to the payer of this transaction,
       at least 80% of the value offered in this field SHALL be charged
       as a minimum fee.<br/>
       If the amount of gas authorized in the Ethereum transaction data is `0`,
       then the payer of this transaction SHALL be charged the entire cost of
       the Ethereum transaction, subject to the limit set in this field.
       
      int64 max_gas_allowance = 3;
      Returns:
      This builder for chaining.