forked from cerc-io/plugeth
e5d5e09faa
EIP-4844 adds a new transaction type for blobs. Users can submit such transactions via `eth_sendRawTransaction`. In this PR we refrain from adding support to `eth_sendTransaction` and in fact it will fail if the user passes in a blob hash. However since the chain can handle such transactions it makes sense to allow simulating them. E.g. an L2 operator should be able to simulate submitting a rollup blob and updating the L2 state. Most methods that take in a transaction object should recognize blobs. The change boils down to adding `blobVersionedHashes` and `maxFeePerBlobGas` to `TransactionArgs`. In summary: - `eth_sendTransaction`: will fail for blob txes - `eth_signTransaction`: will fail for blob txes The methods that sign txes does not, as of this PR, add support the for new EIP-4844 transaction types. Resuming the summary: - `eth_sendRawTransaction`: can send blob txes - `eth_fillTransaction`: will fill in a blob tx. Note: here we simply fill in normal transaction fields + possibly `maxFeePerBlobGas` when blobs are present. One can imagine a more elaborate set-up where users can submit blobs themselves and we fill in proofs and commitments and such. Left for future PRs if desired. - `eth_call`: can simulate blob messages - `eth_estimateGas`: blobs have no effect here. They have a separate unit of gas which is not tunable in the transaction. |
||
---|---|---|
.. | ||
asm | ||
bloombits | ||
forkid | ||
rawdb | ||
state | ||
txpool | ||
types | ||
vm | ||
.gitignore | ||
bench_test.go | ||
block_validator_test.go | ||
block_validator.go | ||
blockchain_insert.go | ||
blockchain_reader.go | ||
blockchain_repair_test.go | ||
blockchain_sethead_test.go | ||
blockchain_snapshot_test.go | ||
blockchain_test.go | ||
blockchain.go | ||
blocks.go | ||
bloom_indexer.go | ||
chain_indexer_test.go | ||
chain_indexer.go | ||
chain_makers_test.go | ||
chain_makers.go | ||
dao_test.go | ||
error.go | ||
events.go | ||
evm.go | ||
forkchoice.go | ||
gaspool.go | ||
gen_genesis_account.go | ||
gen_genesis.go | ||
genesis_alloc.go | ||
genesis_test.go | ||
genesis.go | ||
headerchain_test.go | ||
headerchain.go | ||
mkalloc.go | ||
rlp_test.go | ||
sender_cacher.go | ||
state_prefetcher.go | ||
state_processor_test.go | ||
state_processor.go | ||
state_transition.go | ||
types.go |