@@ -4,14 +4,37 @@ import { generatePrivateKey, privateKeyToAccount } from 'viem/accounts';
44
55import { nitroTestnodeL2 } from './chains' ;
66import { sequencerInboxActions } from './decorators/sequencerInboxActions' ;
7- import { getInformationFromTestnode , getNitroTestnodePrivateKeyAccounts } from './testHelpers' ;
7+ import {
8+ getInformationFromTestnode ,
9+ getNitroTestnodePrivateKeyAccounts ,
10+ PrivateKeyAccountWithPrivateKey ,
11+ } from './testHelpers' ;
812import { getBatchPosters } from './getBatchPosters' ;
13+ import { isAnvilTestMode , getAnvilTestStack } from './integrationTestHelpers/injectedMode' ;
14+
15+ const env = isAnvilTestMode ( ) ? getAnvilTestStack ( ) : undefined ;
16+
17+ let l3RollupOwner : PrivateKeyAccountWithPrivateKey ;
18+ let l3Rollup : Address ;
19+ let l3UpgradeExecutor : Address ;
20+ let l3SequencerInbox : Address ;
21+
22+ if ( env ) {
23+ l3RollupOwner = env . l3 . accounts . rollupOwner ;
24+ l3Rollup = env . l3 . rollup ;
25+ l3UpgradeExecutor = env . l3 . upgradeExecutor ;
26+ l3SequencerInbox = env . l3 . sequencerInbox ;
27+ } else {
28+ l3RollupOwner = getNitroTestnodePrivateKeyAccounts ( ) . l3RollupOwner ;
29+
30+ const testNodeInformation = getInformationFromTestnode ( ) ;
31+ l3Rollup = testNodeInformation . l3Rollup ;
32+ l3UpgradeExecutor = testNodeInformation . l3UpgradeExecutor ;
33+ l3SequencerInbox = testNodeInformation . l3SequencerInbox ;
34+ }
935
10- const { l3RollupOwner } = getNitroTestnodePrivateKeyAccounts ( ) ;
11- const { l3Rollup, l3UpgradeExecutor, l3SequencerInbox } = getInformationFromTestnode ( ) ;
12-
13- const client = createPublicClient ( {
14- chain : nitroTestnodeL2 ,
36+ const l2Client = createPublicClient ( {
37+ chain : env ? env . l2 . chain : nitroTestnodeL2 ,
1538 transport : http ( ) ,
1639} ) . extend (
1740 sequencerInboxActions ( {
@@ -20,19 +43,19 @@ const client = createPublicClient({
2043) ;
2144
2245async function setBatchPoster ( batchPoster : Address , state : boolean ) {
23- const tx = await client . sequencerInboxPrepareTransactionRequest ( {
46+ const tx = await l2Client . sequencerInboxPrepareTransactionRequest ( {
2447 functionName : 'setIsBatchPoster' ,
2548 args : [ batchPoster , state ] ,
2649 account : l3RollupOwner . address ,
2750 upgradeExecutor : l3UpgradeExecutor ,
2851 sequencerInbox : l3SequencerInbox ,
2952 } ) ;
3053
31- const txHash = await client . sendRawTransaction ( {
54+ const txHash = await l2Client . sendRawTransaction ( {
3255 serializedTransaction : await l3RollupOwner . signTransaction ( tx ) ,
3356 } ) ;
3457
35- await client . waitForTransactionReceipt ( {
58+ await l2Client . waitForTransactionReceipt ( {
3659 hash : txHash ,
3760 } ) ;
3861}
@@ -43,7 +66,7 @@ describe('successfully get batch posters', () => {
4366 const randomAccount = privateKeyToAccount ( generatePrivateKey ( ) ) . address ;
4467
4568 const { isAccurate : isAccurateInitially , batchPosters : initialBatchPosters } =
46- await getBatchPosters ( client , {
69+ await getBatchPosters ( l2Client , {
4770 rollup : l3Rollup ,
4871 sequencerInbox : l3SequencerInbox ,
4972 } ) ;
@@ -56,7 +79,7 @@ describe('successfully get batch posters', () => {
5679 await setBatchPoster ( randomAccount , false ) ;
5780
5881 const { isAccurate : isStillAccurate , batchPosters : newBatchPosters } = await getBatchPosters (
59- client ,
82+ l2Client ,
6083 {
6184 rollup : l3Rollup ,
6285 sequencerInbox : l3SequencerInbox ,
@@ -67,7 +90,7 @@ describe('successfully get batch posters', () => {
6790 expect ( isStillAccurate ) . toBeTruthy ( ) ;
6891
6992 await setBatchPoster ( randomAccount , true ) ;
70- const { batchPosters, isAccurate } = await getBatchPosters ( client , {
93+ const { batchPosters, isAccurate } = await getBatchPosters ( l2Client , {
7194 rollup : l3Rollup ,
7295 sequencerInbox : l3SequencerInbox ,
7396 } ) ;
@@ -78,7 +101,7 @@ describe('successfully get batch posters', () => {
78101 // Reset state for future tests
79102 await setBatchPoster ( randomAccount , false ) ;
80103 const { isAccurate : isAccurateFinal , batchPosters : batchPostersFinal } = await getBatchPosters (
81- client ,
104+ l2Client ,
82105 {
83106 rollup : l3Rollup ,
84107 sequencerInbox : l3SequencerInbox ,
@@ -92,7 +115,7 @@ describe('successfully get batch posters', () => {
92115 const randomAccount = privateKeyToAccount ( generatePrivateKey ( ) ) . address ;
93116
94117 const { isAccurate : isAccurateInitially , batchPosters : initialBatchPosters } =
95- await getBatchPosters ( client , {
118+ await getBatchPosters ( l2Client , {
96119 rollup : l3Rollup ,
97120 sequencerInbox : l3SequencerInbox ,
98121 } ) ;
@@ -103,7 +126,7 @@ describe('successfully get batch posters', () => {
103126 await setBatchPoster ( randomAccount , true ) ;
104127 await setBatchPoster ( randomAccount , true ) ;
105128 const { isAccurate : isStillAccurate , batchPosters : newBatchPosters } = await getBatchPosters (
106- client ,
129+ l2Client ,
107130 {
108131 rollup : l3Rollup ,
109132 sequencerInbox : l3SequencerInbox ,
@@ -115,7 +138,7 @@ describe('successfully get batch posters', () => {
115138
116139 // Reset state for futures tests
117140 await setBatchPoster ( randomAccount , false ) ;
118- const { batchPosters, isAccurate } = await getBatchPosters ( client , {
141+ const { batchPosters, isAccurate } = await getBatchPosters ( l2Client , {
119142 rollup : l3Rollup ,
120143 sequencerInbox : l3SequencerInbox ,
121144 } ) ;
@@ -125,14 +148,14 @@ describe('successfully get batch posters', () => {
125148
126149 it ( 'when adding an existing batch poster' , async ( ) => {
127150 const { isAccurate : isAccurateInitially , batchPosters : initialBatchPosters } =
128- await getBatchPosters ( client , { rollup : l3Rollup , sequencerInbox : l3SequencerInbox } ) ;
151+ await getBatchPosters ( l2Client , { rollup : l3Rollup , sequencerInbox : l3SequencerInbox } ) ;
129152 expect ( initialBatchPosters ) . toHaveLength ( 1 ) ;
130153 expect ( isAccurateInitially ) . toBeTruthy ( ) ;
131154
132155 const firstBatchPoster = initialBatchPosters [ 0 ] ;
133156 await setBatchPoster ( firstBatchPoster , true ) ;
134157
135- const { isAccurate, batchPosters } = await getBatchPosters ( client , {
158+ const { isAccurate, batchPosters } = await getBatchPosters ( l2Client , {
136159 rollup : l3Rollup ,
137160 sequencerInbox : l3SequencerInbox ,
138161 } ) ;
@@ -142,13 +165,13 @@ describe('successfully get batch posters', () => {
142165
143166 it ( 'when removing an existing batch poster' , async ( ) => {
144167 const { isAccurate : isAccurateInitially , batchPosters : initialBatchPosters } =
145- await getBatchPosters ( client , { rollup : l3Rollup , sequencerInbox : l3SequencerInbox } ) ;
168+ await getBatchPosters ( l2Client , { rollup : l3Rollup , sequencerInbox : l3SequencerInbox } ) ;
146169 expect ( initialBatchPosters ) . toHaveLength ( 1 ) ;
147170 expect ( isAccurateInitially ) . toBeTruthy ( ) ;
148171
149172 const lastBatchPoster = initialBatchPosters [ initialBatchPosters . length - 1 ] ;
150173 await setBatchPoster ( lastBatchPoster , false ) ;
151- const { isAccurate, batchPosters } = await getBatchPosters ( client , {
174+ const { isAccurate, batchPosters } = await getBatchPosters ( l2Client , {
152175 rollup : l3Rollup ,
153176 sequencerInbox : l3SequencerInbox ,
154177 } ) ;
@@ -157,7 +180,7 @@ describe('successfully get batch posters', () => {
157180
158181 await setBatchPoster ( lastBatchPoster , true ) ;
159182 const { isAccurate : isAccurateFinal , batchPosters : batchPostersFinal } = await getBatchPosters (
160- client ,
183+ l2Client ,
161184 { rollup : l3Rollup , sequencerInbox : l3SequencerInbox } ,
162185 ) ;
163186 expect ( batchPostersFinal ) . toEqual ( initialBatchPosters ) ;
0 commit comments