ethclient/simulated: stop eth backend in Close

This commit is contained in:
Jared Wasinger 2025-01-14 12:59:41 +08:00
parent 864e717b56
commit 636a6e0250

View file

@ -18,6 +18,7 @@ package simulated
import ( import (
"errors" "errors"
"github.com/ethereum/go-ethereum/log"
"time" "time"
"github.com/ethereum/go-ethereum" "github.com/ethereum/go-ethereum"
@ -64,6 +65,7 @@ type simClient struct {
type Backend struct { type Backend struct {
node *node.Node node *node.Node
beacon *catalyst.SimulatedBeacon beacon *catalyst.SimulatedBeacon
ethBackend *eth.Ethereum
client simClient client simClient
} }
@ -131,6 +133,7 @@ func newWithNode(stack *node.Node, conf *eth.Config, blockPeriod uint64) (*Backe
return &Backend{ return &Backend{
node: stack, node: stack,
beacon: beacon, beacon: beacon,
ethBackend: backend,
client: simClient{ethclient.NewClient(stack.Attach())}, client: simClient{ethclient.NewClient(stack.Attach())},
}, nil }, nil
} }
@ -147,6 +150,9 @@ func (n *Backend) Close() error {
err = n.beacon.Stop() err = n.beacon.Stop()
n.beacon = nil n.beacon = nil
} }
if err := n.ethBackend.Stop(); err != nil {
log.Error("error stopping eth backend", "err", err)
}
if n.node != nil { if n.node != nil {
err = errors.Join(err, n.node.Close()) err = errors.Join(err, n.node.Close())
n.node = nil n.node = nil