Module com.hedera.hashgraph.sdk
Package com.hedera.hashgraph.sdk.proto
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-
Field Summary
Fields inherited from class com.google.protobuf.GeneratedMessageLite.Builder
instance -
Method Summary
Modifier and TypeMethodDescription* The `callData` for the Ethereum transaction.* The raw Ethereum transaction data.* A maximum amount of "gas" offered to pay the Ethereum transaction costs.* The `callData` for the Ethereum transaction.com.google.protobuf.ByteString* The raw Ethereum transaction data.long* A maximum amount of "gas" offered to pay the Ethereum transaction costs.boolean* The `callData` for the Ethereum transaction.mergeCallData(FileID value) * The `callData` for the Ethereum transaction.setCallData(FileID value) * The `callData` for the Ethereum transaction.setCallData(FileID.Builder builderForValue) * The `callData` for the Ethereum transaction.setEthereumData(com.google.protobuf.ByteString value) * The raw Ethereum transaction data.setMaxGasAllowance(long value) * A maximum amount of "gas" offered to pay the Ethereum transaction costs.Methods inherited from class com.google.protobuf.GeneratedMessageLite.Builder
build, buildPartial, clear, clone, copyOnWrite, copyOnWriteInternal, getDefaultInstanceForType, internalMergeFrom, isInitialized, mergeFrom, mergeFrom, mergeFrom, mergeFromMethods inherited from class com.google.protobuf.AbstractMessageLite.Builder
addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageExceptionMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.google.protobuf.MessageLiteOrBuilder
getDefaultInstanceForType, isInitialized
-
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:
getEthereumDatain interfaceEthereumTransactionBodyOrBuilder- Returns:
- The ethereumData.
-
setEthereumData
* 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
* 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:
hasCallDatain interfaceEthereumTransactionBodyOrBuilder- Returns:
- Whether the callData field is set.
-
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:
getCallDatain interfaceEthereumTransactionBodyOrBuilder- Returns:
- The callData.
-
setCallData
* 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
* 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
* 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
* 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:
getMaxGasAllowancein interfaceEthereumTransactionBodyOrBuilder- Returns:
- The maxGasAllowance.
-
setMaxGasAllowance
* 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
* 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.
-