diff --git a/accounts/abi/bind/bind_test.go b/accounts/abi/bind/bind_test.go index b5d39dbf5a..fe2d055522 100644 --- a/accounts/abi/bind/bind_test.go +++ b/accounts/abi/bind/bind_test.go @@ -2179,7 +2179,7 @@ func golangBindings(t *testing.T, overload bool) { if out, err := replacer.CombinedOutput(); err != nil { t.Fatalf("failed to replace binding test dependency to current source tree: %v\n%s", err, out) } - replacer = exec.Command(gocmd, "mod", "edit", "-x", "-require", "github.com/ethereum/go-ethereum@v0.0.0", "-replace", "github.com/ethereum/go-ethereum=github.com/ava-labs/go-ethereum@v0.0.0-20240927183738-d8757174b3f0") + replacer = exec.Command(gocmd, "mod", "edit", "-x", "-require", "github.com/ethereum/go-ethereum@v0.0.0", "-replace", "github.com/ethereum/go-ethereum=github.com/ava-labs/go-ethereum@v0.0.0-20241001233245-6e652ebfd8b6") replacer.Dir = pkg if out, err := replacer.CombinedOutput(); err != nil { t.Fatalf("failed to replace binding test dependency to current source tree: %v\n%s", err, out) diff --git a/params/config_extra.go b/params/config_extra.go index 6a225751c6..085926f2cf 100644 --- a/params/config_extra.go +++ b/params/config_extra.go @@ -255,16 +255,6 @@ func IsForkTransition(fork *uint64, parent *uint64, current uint64) bool { } func WithExtra(c *ChainConfig, extra *ChainConfigExtra) *ChainConfig { - // XXX: Hack to initialize the ChainConfigExtra pointer in the ChainConfig. - jsonBytes, err := json.Marshal(c) - if err != nil { - panic(err) - } - var newCfg ChainConfig - if err := json.Unmarshal(jsonBytes, &newCfg); err != nil { - panic(err) - } - - *GetExtra(&newCfg) = *extra - return &newCfg + extras.SetOnChainConfig(c, extra) + return c } diff --git a/params/config_libevm.go b/params/config_libevm.go index e4775fa95a..eac31d07c4 100644 --- a/params/config_libevm.go +++ b/params/config_libevm.go @@ -13,14 +13,14 @@ import ( ) func do_init() any { - getter = gethparams.RegisterExtras(gethparams.Extras[*ChainConfigExtra, RulesExtra]{ + extras = gethparams.RegisterExtras(gethparams.Extras[*ChainConfigExtra, RulesExtra]{ ReuseJSONRoot: true, // Reuse the root JSON input when unmarshalling the extra payload. NewRules: constructRulesExtra, }) return nil } -var getter gethparams.ExtraPayloads[*ChainConfigExtra, RulesExtra] +var extras gethparams.ExtraPayloads[*ChainConfigExtra, RulesExtra] // constructRulesExtra acts as an adjunct to the [params.ChainConfig.Rules] // method. Its primary purpose is to construct the extra payload for the @@ -55,10 +55,10 @@ func constructRulesExtra(c *gethparams.ChainConfig, r *gethparams.Rules, cEx *Ch // FromChainConfig returns the extra payload carried by the ChainConfig. func FromChainConfig(c *gethparams.ChainConfig) *ChainConfigExtra { - return getter.FromChainConfig(c) + return extras.FromChainConfig(c) } // FromRules returns the extra payload carried by the Rules. func FromRules(r *gethparams.Rules) RulesExtra { - return getter.FromRules(r) + return extras.FromRules(r) }