@ethereumjs/tx / EOACode7702Tx
Defined in: 7702/tx.ts:54
Typed transaction with the ability to set codes on EOA accounts
TransactionInterface
<typeof EOACodeEIP7702
>new EOACode7702Tx(
txData
,opts
):EOACode7702Tx
Defined in: 7702/tx.ts:96
This constructor takes the values, validates them, assigns them and freezes the object.
It is not recommended to use this constructor directly. Instead use the static factory methods to assist in creating a Transaction object from varying data types.
TxOptions
= {}
EOACode7702Tx
readonly
accessList:AccessListBytes
Defined in: 7702/tx.ts:63
readonly
authorizationList:AuthorizationListBytes
Defined in: 7702/tx.ts:64
readonly
cache:TransactionCache
={}
Defined in: 7702/tx.ts:80
readonly
chainId:bigint
Defined in: 7702/tx.ts:65
readonly
common:Common
Defined in: 7702/tx.ts:76
readonly
data:Uint8Array
Defined in: 7702/tx.ts:61
readonly
gasLimit:bigint
Defined in: 7702/tx.ts:59
readonly
maxFeePerGas:bigint
Defined in: 7702/tx.ts:67
readonly
maxPriorityFeePerGas:bigint
Defined in: 7702/tx.ts:66
readonly
nonce:bigint
Defined in: 7702/tx.ts:58
readonly
optional
r:bigint
Defined in: 7702/tx.ts:71
readonly
optional
s:bigint
Defined in: 7702/tx.ts:72
readonly
optional
to:Address
Defined in: 7702/tx.ts:62
readonly
txOptions:TxOptions
Defined in: 7702/tx.ts:78
TransactionInterface
.txOptions
type:
4
=TransactionType.EOACodeEIP7702
Defined in: 7702/tx.ts:55
readonly
optional
v:bigint
Defined in: 7702/tx.ts:70
readonly
value:bigint
Defined in: 7702/tx.ts:60
addSignature(
v
,r
,s
):EOACode7702Tx
Defined in: 7702/tx.ts:331
bigint
bigint |
Uint8Array <ArrayBufferLike > |
bigint |
Uint8Array <ArrayBufferLike > |
EOACode7702Tx
TransactionInterface
.addSignature
errorStr():
string
Defined in: 7702/tx.ts:409
Return a compact error string representation of the object
string
getDataGas():
bigint
Defined in: 7702/tx.ts:198
The amount of gas paid for the data in this tx
bigint
TransactionInterface
.getDataGas
getEffectivePriorityFee(
baseFee
):bigint
Defined in: 7702/tx.ts:206
Returns the minimum of calculated priority fee (from maxFeePerGas and baseFee) and maxPriorityFeePerGas
bigint
Base fee retrieved from block
bigint
getHashedMessageToSign():
Uint8Array
Defined in: 7702/tx.ts:303
Returns the hashed serialized unsigned tx, which can be used to sign the transaction (e.g. for sending to a hardware wallet).
Note: in contrast to the legacy tx the raw message format is already serialized and doesn’t need to be RLP encoded any more.
Uint8Array
TransactionInterface
.getHashedMessageToSign
getIntrinsicGas():
bigint
Defined in: 7702/tx.ts:224
The minimum gas limit which the tx to have to be valid. This covers costs as the standard fee (21000 gas), the data fee (paid for each calldata byte), the optional creation fee (if the transaction creates a contract), and if relevant the gas to be paid for access lists (EIP-2930) and authority lists (EIP-7702).
bigint
TransactionInterface
.getIntrinsicGas
getMessageToSign():
Uint8Array
Defined in: 7702/tx.ts:292
Returns the raw serialized unsigned tx, which can be used to sign the transaction (e.g. for sending to a hardware wallet).
Note: in contrast to the legacy tx the raw message format is already serialized and doesn’t need to be RLP encoded any more.
const serializedMessage = tx.getMessageToSign() // use this for the HW wallet input
Uint8Array
TransactionInterface
.getMessageToSign
getMessageToVerifySignature():
Uint8Array
Defined in: 7702/tx.ts:320
Computes a sha3-256 hash which can be used to verify the signature
Uint8Array
TransactionInterface
.getMessageToVerifySignature
getSenderAddress():
Address
Defined in: 7702/tx.ts:389
Address
TransactionInterface
.getSenderAddress
getSenderPublicKey():
Uint8Array
Defined in: 7702/tx.ts:327
Returns the public key of the sender
Uint8Array
TransactionInterface
.getSenderPublicKey
getUpfrontCost(
baseFee
):bigint
Defined in: 7702/tx.ts:214
The up front amount that an account must have for this transaction to be valid
bigint
= BIGINT_0
The base fee of the block (will be set to 0 if not provided)
bigint
TransactionInterface
.getUpfrontCost
getValidationErrors():
string
[]
Defined in: 7702/tx.ts:377
string
[]
TransactionInterface
.getValidationErrors
hash():
Uint8Array
Defined in: 7702/tx.ts:313
Computes a sha3-256 hash of the serialized tx.
This method can only be used for signed txs (it throws otherwise). Use EOACode7702Transaction.getMessageToSign to get a tx hash for the purpose of signing.
Uint8Array
isSigned():
boolean
Defined in: 7702/tx.ts:397
boolean
isValid():
boolean
Defined in: 7702/tx.ts:381
boolean
raw():
EOACode7702TxValuesArray
Defined in: 7702/tx.ts:249
Returns a Uint8Array Array of the raw Bytes of the EIP-7702 transaction, in order.
Format: [chainId, nonce, maxPriorityFeePerGas, maxFeePerGas, gasLimit, to, value, data,
accessList, authorizationList, signatureYParity, signatureR, signatureS]
Use EOACode7702Transaction.serialize to add a transaction to a block with createBlockFromBytesArray.
For an unsigned tx this method uses the empty Bytes values for the
signature parameters v
, r
and s
for encoding. For an EIP-155 compliant
representation for external signing use EOACode7702Transaction.getMessageToSign.
EOACode7702TxValuesArray
serialize():
Uint8Array
Defined in: 7702/tx.ts:277
Returns the serialized encoding of the EIP-7702 transaction.
Format: 0x02 || rlp([chainId, nonce, maxPriorityFeePerGas, maxFeePerGas, gasLimit, to, value, data,
accessList, authorizationList, signatureYParity, signatureR, signatureS])
Note that in contrast to the legacy tx serialization format this is not valid RLP any more due to the raw tx type preceding and concatenated to the RLP encoding of the values.
Uint8Array
TransactionInterface
.serialize
sign(
privateKey
,extraEntropy
):EOACode7702Tx
Defined in: 7702/tx.ts:393
Uint8Array
boolean |
Uint8Array <ArrayBufferLike > |
EOACode7702Tx
supports(
capability
):boolean
Defined in: 7702/tx.ts:191
Checks if a tx type defining capability is active on a tx, for example the EIP-1559 fee market mechanism or the EIP-2930 access list feature.
Note that this is different from the tx type itself, so EIP-2930 access lists can very well be active on an EIP-1559 tx for example.
This method can be useful for feature checks if the tx type is unknown (e.g. when instantiated with the tx factory).
See Capabilities
in the types
module for a reference
on all supported capabilities.
number
boolean
toCreationAddress():
boolean
Defined in: 7702/tx.ts:232
If the tx’s to
is to the creation address
boolean
TransactionInterface
.toCreationAddress
toJSON():
JSONTx
Defined in: 7702/tx.ts:359
Returns an object with the JSON representation of the transaction
verifySignature():
boolean
Defined in: 7702/tx.ts:385
boolean