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

add --classic: ETC treads lightly (v. master, retesteth) #13

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

Conversation

meowsbits
Copy link
Member

@meowsbits meowsbits commented Nov 1, 2022

This PR is based on #12, which intends to create a "slim" patch that implements ETC support for the upstream ethereum/go-ethereum programs.

While that PR is based on a latest tag branch (release/1.10), this PR is based on the master branch (which, incidentally, indicates that ethereum/go-ethereum is moving to v1.11).

  • To implement this, upstream master was merged with the original feature branch (etc-treads-lightly).
  • This (the merge with master) fixes a baseFee issue that retesteth exposed

The -retests suffix indicates that this branch is intended to work in development with retesteth toward filling and running tests. To that aim, a couple more commits are included, addressing further issues encountered during interoperation with retesteth; namely panics coming from go-ethereum's evm t8n tool when run in parallel (eg. -j8) with retesteth.

s1na and others added 22 commits September 13, 2022 23:03
* graphql: fix tx logs

* minor

* Use optimized search for selecting tx logs
* graphql: fix tx logs

* graphql: refactor test service setup

* graphql: add test for tx logs
Date: 2022-10-27 09:16:05-07:00
Signed-off-by: meows <b5c6@protonmail.com>
…p155 impls; ETC forkid impl

Date: 2022-10-27 09:46:38-07:00
Signed-off-by: meows <b5c6@protonmail.com>
…hash pkg

Date: 2022-10-27 11:09:17-07:00
Signed-off-by: meows <b5c6@protonmail.com>
…classic flag/config and associated ethash inits

Date: 2022-10-27 11:36:34-07:00
Signed-off-by: meows <b5c6@protonmail.com>
Date: 2022-10-27 11:37:02-07:00
Signed-off-by: meows <b5c6@protonmail.com>
…sis hashes

Date: 2022-10-27 11:46:48-07:00
Signed-off-by: meows <b5c6@protonmail.com>
…/tests-etc)

Date: 2022-10-27 13:00:03-07:00
Signed-off-by: meows <b5c6@protonmail.com>
Date: 2022-10-27 13:13:45-07:00
Signed-off-by: meows <b5c6@protonmail.com>
Date: 2022-10-27 13:17:15-07:00
Signed-off-by: meows <b5c6@protonmail.com>
Date: 2022-10-27 13:39:53-07:00
Signed-off-by: meows <b5c6@protonmail.com>
A few tests remain failing; apparently
all for chain id reasons; do the tests
have proper chain id values?
They should be 61 for ETC.

Date: 2022-10-27 15:57:50-07:00
Signed-off-by: meows <b5c6@protonmail.com>
Date: 2022-10-27 16:07:14-07:00
Signed-off-by: meows <b5c6@protonmail.com>
Date: 2022-10-28 09:23:37-07:00
Signed-off-by: meows <b5c6@protonmail.com>
Date: 2022-11-01 10:29:42-07:00
Signed-off-by: meows <b5c6@protonmail.com>
Date: 2022-11-01 10:31:31-07:00
Signed-off-by: meows <b5c6@protonmail.com>
…1.12)

When running the 'evm' command via retesteth,
a panic occurs and the trace has this dep at the
top of the pile.

This is a blind attempt to resolve the issue
by upgrading dependencies.

Date: 2022-11-01 10:38:40-07:00
Signed-off-by: meows <b5c6@protonmail.com>
Running retesteth with --t8ntool --filltests --j8
(or any --jX > 1) caused the suite to panic.

Geth/evm was panicing about here.
This fixes it.

It (the panic) looked like this...

goroutine 8 [chan receive]:
github.com/ethereum/go-ethereum/core.(*txSenderCacher).cache(0x0?)
        github.com/ethereum/go-ethereum/core/sender_cacher.go:63 +0x3b
created by github.com/ethereum/go-ethereum/core.newTxSenderCacher
        github.com/ethereum/go-ethereum/core/sender_cacher.go:55 +0x75

goroutine 9 [chan receive]:
github.com/ethereum/go-ethereum/core.(*txSenderCacher).cache(0x0?)
        github.com/ethereum/go-ethereum/core/sender_cacher.go:63 +0x3b
created by github.com/ethereum/go-ethereum/core.newTxSenderCacher
        github.com/ethereum/go-ethereum/core/sender_cacher.go:55 +0x75

goroutine 10 [chan receive]:
github.com/ethereum/go-ethereum/core.(*txSenderCacher).cache(0x0?)
        github.com/ethereum/go-ethereum/core/sender_cacher.go:63 +0x3b
created by github.com/ethereum/go-ethereum/core.newTxSenderCacher
        github.com/ethereum/go-ethereum/core/sender_cacher.go:55 +0x75

goroutine 11 [chan receive]:
github.com/ethereum/go-ethereum/core.(*txSenderCacher).cache(0x0?)
        github.com/ethereum/go-ethereum/core/sender_cacher.go:63 +0x3b
created by github.com/ethereum/go-ethereum/core.newTxSenderCacher
        github.com/ethereum/go-ethereum/core/sender_cacher.go:55 +0x75

Date: 2022-11-01 08:16:04-07:00
Signed-off-by: meows <b5c6@protonmail.com>
Conflicts:
      cmd/utils/flags.go
      core/genesis.go
      eth/backend.go
      eth/ethconfig/config.go
      go.sum
      params/config.go
      params/version.go
Date: 2022-11-01 10:54:44-07:00
Signed-off-by: meows <b5c6@protonmail.com>
@@ -335,7 +335,7 @@ func (st *StateTransition) TransitionDb() (*ExecutionResult, error) {
ret, st.gas, vmerr = st.evm.Call(sender, st.to(), st.data, st.gas, st.value)
}

if !rules.IsLondon {
if !rules.IsLondon && !rules.IsMystique {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@meowsbits, do you think that IsETCMystique is a better name, so as devs can see that it's similar forks and not two different forks on the same chain?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This idea applies to all our forks

@meowsbits meowsbits self-assigned this Dec 6, 2022
@meowsbits meowsbits mentioned this pull request Dec 13, 2022
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.

4 participants