Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

common,util,tx,block,client: implement EIP-6493 stable container txs #3452

Draft
wants to merge 34 commits into
base: master
Choose a base branch
from

Conversation

g11tech
Copy link
Contributor

@g11tech g11tech commented Jun 13, 2024

WIP

ref: - https://github.com/ethereum/EIPs/blob/master/EIPS/eip-6493.md

How to :

git clone the repo and checkout/pull the eip-6493 branch

in repo root run: npm i this will build all packages:

test ssz spec for the ssz wrappers
  1. cd packages/util
  2. (build the package if changed something from last build); npm run build
  3. run test spec: npx vitest run test/ssz.spec.ts

TODO:

Note

  1. please note that a dummy hardfork eip6493 has been added for ease of development testing and devnet creation (on top of prague) so that will be cleaned up later when the work will become mergable
  2. some parts of the code will be cleaned up/optimized for e.g. right now PR removes the root calc optimization of empty transactions/withdrawals (for trie). however this will be added back along with the default values for ssz as well

@g11tech g11tech changed the title common,util,tx: implement aip 6493 stable container txs common,util,tx: implement EIP-6493 stable container txs Jun 13, 2024
Copy link

codecov bot commented Jun 14, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 83.88%. Comparing base (d24ca11) to head (15c4677).
Report is 34 commits behind head on master.

Current head 15c4677 differs from pull request most recent head 5a064ce

Please upload reports for the commit 5a064ce to get more accurate results.

Additional details and impacted files

Impacted file tree graph

Flag Coverage Δ
block 80.78% <ø> (?)
blockchain 90.97% <ø> (ø)
common ?
evm 73.75% <ø> (?)
genesis 99.98% <ø> (?)
statemanager ?
util ?
vm 63.04% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

@paulmillr
Copy link
Member

paulmillr commented Jun 21, 2024

FYI micro-eth-signer (https://github.com/paulmillr/micro-eth-signer) ssz implementation was like 8 times smaller the last time i've checked.

It's tree-shakeable, so you won't need to use the entire package.

@holgerd77
Copy link
Member

🤔

Atm this work here is conceptual only (so: not to be merged soon), but might be worth a try.

@wemeetagain
Copy link
Contributor

@paulmillr nice library, if you implement https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7495.md there, then it can be used

@etan-status
Copy link

@paulmillr thanks, have added it to https://stabilitynow.box

@g11tech g11tech changed the title common,util,tx: implement EIP-6493 stable container txs common,util,tx,block,client: implement EIP-6493 stable container txs Jun 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants