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

Implement EIP-2718 & EIP-2930 #3

Closed
wants to merge 411 commits into from
Closed

Conversation

lightclient
Copy link
Owner

~

holiman added a commit that referenced this pull request Oct 19, 2020
core/types: use stacktrie for derivesha

trie: add stacktrie file

trie: fix linter

core/types: use stacktrie for derivesha

rebased: adapt stacktrie to the newer version of DeriveSha

Co-authored-by: Martin Holst Swende <martin@swende.se>

More linter fixes

review feedback: no key offset for nodes converted to hashes

trie: use EncodeRLP for full nodes

core/types: insert txs in order in derivesha

trie: tests for derivesha with stacktrie

trie: make stacktrie use pooled hashers

trie: make stacktrie reuse tmp slice space

trie: minor polishes on stacktrie

trie/stacktrie: less rlp dancing

core/types: explain the contorsions in DeriveSha

ci: fix goimport errors

trie: clear mem on subtrie hashing

squashme: linter fix

stracktrie: use pooling, less allocs (#3)

trie: in-place hex prefix, reduce allocs and add rawNode.EncodeRLP

Reintroduce the `[]node` method, add the missing `EncodeRLP` implementation for `rawNode` and calculate the hex prefix in place.

Co-authored-by: Martin Holst Swende <martin@swende.se>

Co-authored-by: Martin Holst Swende <martin@swende.se>
@lightclient lightclient force-pushed the impl-eip-2718 branch 5 times, most recently from 15819f1 to 142d206 Compare October 26, 2020 19:49
@lightclient lightclient force-pushed the impl-eip-2718 branch 5 times, most recently from adde425 to 681a83d Compare November 13, 2020 18:27
MariusVanDerWijden and others added 15 commits December 14, 2020 14:08
* les: allow tx unindexing in les/4 light server mode

* les: minor fixes

* les: more small fixes

* les: add meaningful constants for recentTxIndex handshake field
…ng (ethereum#22035)

* eth/download/statesync : state hash sum optimized

* go fmt with blank in imports

* keccak read arg fix
During the snap and eth refactor, the net_version rpc call was falsely deprecated.
This restores the net_version RPC handler as most eth2 nodes and other software
depend on it.
* common,crypto: move fuzzers out of core

* fuzzers: move vm fuzzer out from core

* fuzzing: rework cover package logic

* fuzzers: lint
The legacy dot-org URL was displaying a message about the repository
having migrated to the dot-com service, which now covers open-source
projects as well.
… tracers (ethereum#22038)

* eth/tracers: share tx gas price with js tracer

* eth/tracers: use `go generate`

* eth/tracers: try with another version of go-bindata

* eth/tracers: export txGas

* eth, eth/tracers: pass intrinsic gas to js tracers

eth/tracers: include tx gas in tracers usedGas

eth/tracers: fix prestate tracer's sender balance

eth/tracers: rm unnecessary import

eth/tracers: pass intrinsicGas separately to tracer

eth/tracers: fix tests broken by lack of txdata

eth, eth/tracers: minor fix

* eth/tracers: regenerate assets + unexport test-struct + add testcase

* eth/tracers: simplify tests + make table-driven

Co-authored-by: Guillaume Ballet <gballet@gmail.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
holiman and others added 26 commits February 24, 2021 20:11
This renames the fields of the new tx data types to match the
accessor names of Transaction.
This updates everything to use EIP2718Signer instead of EIP155Signer.

To make this simpler next time, I have added two new API functions for
creating signers:

- LatestSigner is for places which have chain config available
- LatestSignerForChainID is for places where only the chain ID is available
The signer doesn't accept all EIP-2718 transactions, only EIP-2930
access list transactions. This is why it is now called eip2930Signer.
Also unexport this new signer type because it is not supposed to be used
directly. I'd love to unexport EIP155Signer as well, but can't do that
because it's been around for so long,
The EIP says: TransactionType is a positive unsigned 8-bit number
between 0 and 0x7f that represents the type of the transaction.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.