@@ -25,6 +25,8 @@ vi.mock('@subsquid/evm-processor', async () => {
2525const sepolia = 11155111 ;
2626const mainnet = 1 ;
2727const local = 31337 ;
28+ const optimism = 10 ;
29+ const optimismSepolia = 11155420 ;
2830
2931describe ( 'Processor creation' , ( ) => {
3032 beforeEach ( ( ) => {
@@ -150,6 +152,98 @@ describe('Processor creation', () => {
150152 } ) ;
151153 } ) ;
152154
155+ test ( 'Required configs for optimism' , ( ) => {
156+ const processor = createProcessor ( optimism ) ;
157+
158+ expect ( processor . setDataSource ) . toHaveBeenCalledWith ( {
159+ archive : 'https://v2.archive.subsquid.io/network/optimism-mainnet' ,
160+ chain : 'https://mainnet.optimism.io' ,
161+ } ) ;
162+
163+ expect ( processor . setFinalityConfirmation ) . toHaveBeenCalledWith ( 10 ) ;
164+ expect ( processor . setFields ) . toHaveBeenCalledWith ( {
165+ transaction : {
166+ chainId : true ,
167+ from : true ,
168+ hash : true ,
169+ value : true ,
170+ } ,
171+ } ) ;
172+ expect ( processor . setBlockRange ) . toHaveBeenCalledWith ( {
173+ from : 107432991 ,
174+ } ) ;
175+
176+ const addLog = processor . addLog as unknown as MockInstance ;
177+
178+ expect ( addLog ) . toHaveBeenCalledTimes ( 3 ) ;
179+ expect ( addLog . mock . calls [ 0 ] [ 0 ] ) . toEqual ( {
180+ address : [ '0x7122cd1221c20892234186facfe8615e6743ab02' ] ,
181+ topic0 : [
182+ '0xe73165c2d277daf8713fd08b40845cb6bb7a20b2b543f3d35324a475660fcebd' ,
183+ ] ,
184+ } ) ;
185+ expect ( addLog . mock . calls [ 1 ] [ 0 ] ) . toEqual ( {
186+ address : [ '0x59b22d57d4f067708ab0c00552767405926dc768' ] ,
187+ topic0 : [
188+ '0x6aaa400068bf4ca337265e2a1e1e841f66b8597fd5b452fdc52a44bed28a0784' ,
189+ ] ,
190+ transaction : true ,
191+ } ) ;
192+
193+ expect ( addLog . mock . calls [ 2 ] [ 0 ] ) . toEqual ( {
194+ topic0 : [
195+ '0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0' ,
196+ ] ,
197+ transaction : true ,
198+ } ) ;
199+ } ) ;
200+
201+ test ( 'Required configs for optimism-sepolia' , ( ) => {
202+ const processor = createProcessor ( optimismSepolia ) ;
203+
204+ expect ( processor . setDataSource ) . toHaveBeenCalledWith ( {
205+ archive : 'https://v2.archive.subsquid.io/network/optimism-sepolia' ,
206+ chain : 'https://sepolia.optimism.io' ,
207+ } ) ;
208+
209+ expect ( processor . setFinalityConfirmation ) . toHaveBeenCalledWith ( 10 ) ;
210+ expect ( processor . setFields ) . toHaveBeenCalledWith ( {
211+ transaction : {
212+ chainId : true ,
213+ from : true ,
214+ hash : true ,
215+ value : true ,
216+ } ,
217+ } ) ;
218+ expect ( processor . setBlockRange ) . toHaveBeenCalledWith ( {
219+ from : 5393079 ,
220+ } ) ;
221+
222+ const addLog = processor . addLog as unknown as MockInstance ;
223+
224+ expect ( addLog ) . toHaveBeenCalledTimes ( 3 ) ;
225+ expect ( addLog . mock . calls [ 0 ] [ 0 ] ) . toEqual ( {
226+ address : [ '0x7122cd1221c20892234186facfe8615e6743ab02' ] ,
227+ topic0 : [
228+ '0xe73165c2d277daf8713fd08b40845cb6bb7a20b2b543f3d35324a475660fcebd' ,
229+ ] ,
230+ } ) ;
231+ expect ( addLog . mock . calls [ 1 ] [ 0 ] ) . toEqual ( {
232+ address : [ '0x59b22d57d4f067708ab0c00552767405926dc768' ] ,
233+ topic0 : [
234+ '0x6aaa400068bf4ca337265e2a1e1e841f66b8597fd5b452fdc52a44bed28a0784' ,
235+ ] ,
236+ transaction : true ,
237+ } ) ;
238+
239+ expect ( addLog . mock . calls [ 2 ] [ 0 ] ) . toEqual ( {
240+ topic0 : [
241+ '0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0' ,
242+ ] ,
243+ transaction : true ,
244+ } ) ;
245+ } ) ;
246+
153247 test ( 'Required configs for mainnet' , ( ) => {
154248 const processor = createProcessor ( mainnet ) ;
155249 const applicationMetadata = loadApplications ( mainnet ) ;
0 commit comments