3535 TestingBatcherPrivateKeyFlagName = espressoFlags ("testing-batcher-private-key" )
3636 OriginHeight = espressoFlags ("origin-height" )
3737 NamespaceFlagName = espressoFlags ("namespace" )
38+ RollupL1UrlFlagName = espressoFlags ("rollup-l1-url" )
3839)
3940
4041func CLIFlags (envPrefix string , category string ) []cli.Flag {
@@ -96,6 +97,12 @@ func CLIFlags(envPrefix string, category string) []cli.Flag {
9697 EnvVars : espressoEnvs (envPrefix , "NAMESPACE" ),
9798 Category : category ,
9899 },
100+ & cli.StringFlag {
101+ Name : RollupL1UrlFlagName ,
102+ Usage : "RPC URL of L1 backing the Rollup we're streaming for" ,
103+ EnvVars : espressoEnvs (envPrefix , "ROLLUP_L1_URL" ),
104+ Category : category ,
105+ },
99106 }
100107}
101108
@@ -106,6 +113,7 @@ type CLIConfig struct {
106113 QueryServiceURLs []string
107114 LightClientAddr common.Address
108115 L1URL string
116+ RollupL1URL string
109117 TestingBatcherPrivateKey * ecdsa.PrivateKey
110118 Namespace uint64
111119 OriginHeight uint64
@@ -123,6 +131,9 @@ func (c CLIConfig) Check() error {
123131 if c .L1URL == "" {
124132 return fmt .Errorf ("L1 URL is required when Espresso is enabled" )
125133 }
134+ if c .RollupL1URL == "" {
135+ return fmt .Errorf ("rollup L1 URL is required when Espresso is enabled" )
136+ }
126137 if c .Namespace == 0 {
127138 return fmt .Errorf ("namespace is required when Espresso is enabled" )
128139 }
@@ -136,6 +147,7 @@ func ReadCLIConfig(c *cli.Context) CLIConfig {
136147 PollInterval : c .Duration (PollIntervalFlagName ),
137148 UseFetchAPI : c .Bool (UseFetchApiFlagName ),
138149 L1URL : c .String (L1UrlFlagName ),
150+ RollupL1URL : c .String (RollupL1UrlFlagName ),
139151 Namespace : c .Uint64 (NamespaceFlagName ),
140152 OriginHeight : c .Uint64 (OriginHeight ),
141153 }
@@ -169,6 +181,11 @@ func BatchStreamerFromCLIConfig[B Batch](
169181 return nil , fmt .Errorf ("failed to dial L1 RPC: %w" , err )
170182 }
171183
184+ RollupL1Client , err := ethclient .Dial (cfg .RollupL1URL )
185+ if err != nil {
186+ return nil , fmt .Errorf ("failed to dial Rollup L1 RPC: %w" , err )
187+ }
188+
172189 espressoClient , err := espressoClient .NewMultipleNodesClient (cfg .QueryServiceURLs )
173190 if err != nil {
174191 return nil , fmt .Errorf ("failed to create Espresso client: %w" , err )
@@ -182,6 +199,7 @@ func BatchStreamerFromCLIConfig[B Batch](
182199 streamer := NewEspressoStreamer (
183200 cfg .Namespace ,
184201 NewAdaptL1BlockRefClient (l1Client ),
202+ NewAdaptL1BlockRefClient (RollupL1Client ),
185203 espressoClient ,
186204 espressoLightClient ,
187205 log ,
0 commit comments