Skip to content

Commit f0ee6c2

Browse files
committed
move restrictedaddr service to execution node
1 parent 1a08290 commit f0ee6c2

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

execution/gethexec/node.go

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import (
3333
"github.com/offchainlabs/nitro/consensus/consensusrpcclient"
3434
"github.com/offchainlabs/nitro/execution"
3535
executionrpcserver "github.com/offchainlabs/nitro/execution/rpcserver"
36+
"github.com/offchainlabs/nitro/restrictedaddr"
3637
"github.com/offchainlabs/nitro/solgen/go/precompilesgen"
3738
"github.com/offchainlabs/nitro/util"
3839
"github.com/offchainlabs/nitro/util/arbmath"
@@ -135,6 +136,7 @@ type Config struct {
135136
ExposeMultiGas bool `koanf:"expose-multi-gas"`
136137
RPCServer rpcserver.Config `koanf:"rpc-server"`
137138
ConsensusRPCClient rpcclient.ClientConfig `koanf:"consensus-rpc-client" reload:"hot"`
139+
RestrictedAddr restrictedaddr.Config `koanf:"restricted-addr" reload:"hot"`
138140

139141
forwardingTarget string
140142
}
@@ -166,6 +168,9 @@ func (c *Config) Validate() error {
166168
if err := c.ConsensusRPCClient.Validate(); err != nil {
167169
return fmt.Errorf("error validating ConsensusRPCClient config: %w", err)
168170
}
171+
if err := c.RestrictedAddr.Validate(); err != nil {
172+
return fmt.Errorf("error validating RestrictedAddr config: %w", err)
173+
}
169174
return nil
170175
}
171176

@@ -189,6 +194,7 @@ func ConfigAddOptions(prefix string, f *pflag.FlagSet) {
189194
LiveTracingConfigAddOptions(prefix+".vmtrace", f)
190195
rpcserver.ConfigAddOptions(prefix+".rpc-server", "execution", f)
191196
rpcclient.RPCClientAddOptions(prefix+".consensus-rpc-client", f, &ConfigDefault.ConsensusRPCClient)
197+
restrictedaddr.ConfigAddOptions(prefix+".restricted-addr", f)
192198
}
193199

194200
type LiveTracingConfig struct {
@@ -235,6 +241,8 @@ var ConfigDefault = Config{
235241
ArgLogLimit: 2048,
236242
WebsocketMessageSizeLimit: 256 * 1024 * 1024,
237243
},
244+
245+
RestrictedAddr: restrictedaddr.DefaultConfig,
238246
}
239247

240248
type ConfigFetcher interface {
@@ -260,6 +268,7 @@ type ExecutionNode struct {
260268
started atomic.Bool
261269
bulkBlockMetadataFetcher *BulkBlockMetadataFetcher
262270
consensusRPCClient *consensusrpcclient.ConsensusRPCClient
271+
RestrictedAddrService *restrictedaddr.Service
263272
}
264273

265274
func CreateExecutionNode(
@@ -354,6 +363,11 @@ func CreateExecutionNode(
354363

355364
bulkBlockMetadataFetcher := NewBulkBlockMetadataFetcher(l2BlockChain, execEngine, config.BlockMetadataApiCacheSize, config.BlockMetadataApiBlocksLimit)
356365

366+
restrictedAddrService, err := restrictedaddr.NewService(ctx, &config.RestrictedAddr)
367+
if err != nil {
368+
return nil, fmt.Errorf("failed to create restricted addr service: %w", err)
369+
}
370+
357371
execNode := &ExecutionNode{
358372
ExecutionDB: executionDB,
359373
Backend: backend,
@@ -369,6 +383,7 @@ func CreateExecutionNode(
369383
ParentChainReader: parentChainReader,
370384
ClassicOutbox: classicOutbox,
371385
bulkBlockMetadataFetcher: bulkBlockMetadataFetcher,
386+
RestrictedAddrService: restrictedAddrService,
372387
}
373388

374389
if config.ConsensusRPCClient.URL != "" {
@@ -460,7 +475,11 @@ func (n *ExecutionNode) Initialize(ctx context.Context) error {
460475
if err != nil {
461476
return fmt.Errorf("error setting sync backend: %w", err)
462477
}
463-
478+
if n.RestrictedAddrService != nil {
479+
if err = n.RestrictedAddrService.Initialize(ctx); err != nil {
480+
return fmt.Errorf("error initializing restricted addr service: %w", err)
481+
}
482+
}
464483
return nil
465484
}
466485

@@ -494,6 +513,8 @@ func (n *ExecutionNode) Start(ctxIn context.Context) error {
494513
n.ParentChainReader.Start(ctx)
495514
}
496515
n.bulkBlockMetadataFetcher.Start(ctx)
516+
517+
n.RestrictedAddrService.Start(ctx)
497518
return nil
498519
}
499520

@@ -523,6 +544,10 @@ func (n *ExecutionNode) StopAndWait() {
523544
// log.Error("error on stak close", "err", err)
524545
// }
525546
n.StopWaiter.StopAndWait()
547+
548+
if n.RestrictedAddrService != nil && n.RestrictedAddrService.Started() {
549+
n.RestrictedAddrService.StopAndWait()
550+
}
526551
}
527552

528553
func (n *ExecutionNode) DigestMessage(num arbutil.MessageIndex, msg *arbostypes.MessageWithMetadata, msgForPrefetch *arbostypes.MessageWithMetadata) containers.PromiseInterface[*execution.MessageResult] {

0 commit comments

Comments
 (0)