Skip to content

Change default transaction encoding to be RLP in order to support value field #496

@karlfloersch

Description

@karlfloersch

Is your feature request related to a problem? Please describe.
We currently do not have the ability to send a value with our transactions. This was due to a custom encoding format which we implemented which didn't have a value field -- that's dumb! Additionally, supporting a custom tx format is annoying for staying 1:1 with eth1.x, especially with the introduction of transaction envelopes.

Once we've added support for RLP transactions we will be in a much better place with our transaction ingestion logic.

Describe the solution you'd like
Pretty much blocked by #495

TODO

  • Update SequencerEntrypoint to decode RLP transactions instead of custom encoding.
  • Update batch submitter to operate on raw transactions
  • Change core-utils (maybe data-transport-layer as well) to use the new RLP encoding format
  • Update l2geth to encode using RLP, not our custom format.

In Depth

Contracts

Implementation: https://github.com/ethereum-optimism/contracts/pull/300/files

Finish and merge this PR.

Batch Submitter

Implementation: ethereum-optimism/batch-submitter#56

Finish and merge this PR.

core-utils

Update the encoding which we use here: https://github.com/ethereum-optimism/optimism/blob/master/packages/core-utils/src/coders/ecdsa-coder.ts#L54

Rename this encoding to EIP155Transaction because right now it's a weird name "ECDSA transaction" which is not descriptive.

data transport layer

Re-integrate: https://github.com/ethereum-optimism/data-transport-layer/pull/72

All contain references to old types. We've got to update these.

l2geth

Remove:

Update:

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions