@@ -4785,7 +4785,9 @@ describe('NetworkController', () => {
47854785 rpcTarget : rpcUrlOrTarget ,
47864786 type : NetworkType . rpc ,
47874787 } ) ;
4788- controller . rollbackToPreviousProvider ( ) ;
4788+
4789+ await controller . rollbackToPreviousProvider ( ) ;
4790+
47894791 expect ( controller . state . providerConfig ) . toStrictEqual (
47904792 initialProviderConfig ,
47914793 ) ;
@@ -4829,8 +4831,8 @@ describe('NetworkController', () => {
48294831 messenger ,
48304832 'NetworkController:providerConfigChange' ,
48314833 {
4832- produceEvents : ( ) => {
4833- controller . rollbackToPreviousProvider ( ) ;
4834+ produceEvents : async ( ) => {
4835+ await controller . rollbackToPreviousProvider ( ) ;
48344836 } ,
48354837 } ,
48364838 ) ;
@@ -4916,19 +4918,22 @@ describe('NetworkController', () => {
49164918 } ,
49174919 } ,
49184920 ] ) ;
4919-
49204921 createMetamaskProviderMock . mockReturnValue ( fakeMetamaskProvider ) ;
49214922 await controller . setActiveNetwork ( 'testNetworkConfigurationId' ) ;
49224923 expect ( controller . state . networkDetails ) . toStrictEqual ( {
49234924 isEIP1559Compatible : true ,
49244925 } ) ;
4926+
49254927 await waitForStateChanges ( messenger , {
4926- propertyPath : [ 'networkId ' ] ,
4928+ propertyPath : [ 'networkStatus ' ] ,
49274929 count : 1 ,
49284930 produceStateChanges : ( ) => {
4931+ // Intentionally not awaited because we want to check state
4932+ // partway through the operation
49294933 controller . rollbackToPreviousProvider ( ) ;
49304934 } ,
49314935 } ) ;
4936+
49324937 expect ( controller . state . networkStatus ) . toBe (
49334938 NetworkStatus . Unknown ,
49344939 ) ;
@@ -4979,16 +4984,11 @@ describe('NetworkController', () => {
49794984 } ,
49804985 } ,
49814986 ] ) ;
4982-
49834987 createMetamaskProviderMock . mockReturnValue ( fakeMetamaskProvider ) ;
49844988 await controller . setActiveNetwork ( 'testNetworkConfigurationId' ) ;
4985- await waitForStateChanges ( messenger , {
4986- propertyPath : [ 'networkId' ] ,
4987- count : 1 ,
4988- produceStateChanges : ( ) => {
4989- controller . rollbackToPreviousProvider ( ) ;
4990- } ,
4991- } ) ;
4989+
4990+ await controller . rollbackToPreviousProvider ( ) ;
4991+
49924992 const { provider } = controller . getProviderAndBlockTracker ( ) ;
49934993 const promisifiedSendAsync = promisify ( provider . sendAsync ) . bind (
49944994 provider ,
@@ -5037,13 +5037,8 @@ describe('NetworkController', () => {
50375037 const { provider : providerBefore } =
50385038 controller . getProviderAndBlockTracker ( ) ;
50395039
5040- await waitForStateChanges ( messenger , {
5041- propertyPath : [ 'networkId' ] ,
5042- count : 1 ,
5043- produceStateChanges : ( ) => {
5044- controller . rollbackToPreviousProvider ( ) ;
5045- } ,
5046- } ) ;
5040+ await controller . rollbackToPreviousProvider ( ) ;
5041+
50475042 const { provider : providerAfter } =
50485043 controller . getProviderAndBlockTracker ( ) ;
50495044
@@ -5104,13 +5099,8 @@ describe('NetworkController', () => {
51045099 await controller . setActiveNetwork ( 'testNetworkConfigurationId' ) ;
51055100 expect ( controller . state . networkId ) . toStrictEqual ( '999' ) ;
51065101
5107- await waitForStateChanges ( messenger , {
5108- propertyPath : [ 'networkId' ] ,
5109- count : 2 ,
5110- produceStateChanges : ( ) => {
5111- controller . rollbackToPreviousProvider ( ) ;
5112- } ,
5113- } ) ;
5102+ await controller . rollbackToPreviousProvider ( ) ;
5103+
51145104 expect ( controller . state . networkId ) . toStrictEqual ( '1' ) ;
51155105 } ,
51165106 ) ;
@@ -5160,7 +5150,9 @@ describe('NetworkController', () => {
51605150 rpcTarget : undefined ,
51615151 id : undefined ,
51625152 } ) ;
5163- controller . rollbackToPreviousProvider ( ) ;
5153+
5154+ await controller . rollbackToPreviousProvider ( ) ;
5155+
51645156 expect ( controller . state . providerConfig ) . toStrictEqual ( {
51655157 ...networkConfiguration ,
51665158 rpcTarget : rpcUrlOrTarget ,
@@ -5222,7 +5214,9 @@ describe('NetworkController', () => {
52225214 rpcTarget : rpcUrlOrTarget2 ,
52235215 type : NetworkType . rpc ,
52245216 } ) ;
5225- controller . rollbackToPreviousProvider ( ) ;
5217+
5218+ await controller . rollbackToPreviousProvider ( ) ;
5219+
52265220 expect ( controller . state . providerConfig ) . toStrictEqual ( {
52275221 ...initialProviderConfig ,
52285222 rpcTarget : rpcUrlOrTarget1 ,
@@ -5274,8 +5268,8 @@ describe('NetworkController', () => {
52745268 messenger ,
52755269 'NetworkController:providerConfigChange' ,
52765270 {
5277- produceEvents : ( ) => {
5278- controller . rollbackToPreviousProvider ( ) ;
5271+ produceEvents : async ( ) => {
5272+ await controller . rollbackToPreviousProvider ( ) ;
52795273 } ,
52805274 } ,
52815275 ) ;
@@ -5286,7 +5280,7 @@ describe('NetworkController', () => {
52865280 ) ;
52875281 } ) ;
52885282
5289- it ( 'resets the network state to "unknown" and the isEIP before emitting NetworkController:providerConfigChange' , async ( ) => {
5283+ it ( 'resets the network state to "unknown" and empties the network details emitting NetworkController:providerConfigChange' , async ( ) => {
52905284 const messenger = buildMessenger ( ) ;
52915285 const initialProviderConfigNetworkConfiguration = {
52925286 rpcUrl : 'https://mock-rpc-url-2' ,
@@ -5364,19 +5358,22 @@ describe('NetworkController', () => {
53645358 expect ( controller . state . networkStatus ) . toStrictEqual (
53655359 NetworkStatus . Available ,
53665360 ) ;
5361+
5362+ await controller . rollbackToPreviousProvider ( ) ;
53675363 await waitForStateChanges ( messenger , {
53685364 propertyPath : [ 'networkStatus' ] ,
53695365 count : 1 ,
53705366 produceStateChanges : ( ) => {
5367+ // Intentionally not awaited because we want to check state
5368+ // partway through the operation
53715369 controller . rollbackToPreviousProvider ( ) ;
53725370 } ,
53735371 } ) ;
5372+
53745373 expect ( controller . state . networkStatus ) . toStrictEqual (
53755374 NetworkStatus . Unknown ,
53765375 ) ;
5377- expect ( controller . state . networkDetails ) . toStrictEqual ( {
5378- isEIP1559Compatible : false ,
5379- } ) ;
5376+ expect ( controller . state . networkDetails ) . toStrictEqual ( { } ) ;
53805377 } ,
53815378 ) ;
53825379 } ) ;
@@ -5429,16 +5426,11 @@ describe('NetworkController', () => {
54295426 } ,
54305427 } ,
54315428 ] ) ;
5432-
54335429 createMetamaskProviderMock . mockReturnValue ( fakeMetamaskProvider ) ;
54345430 await controller . setActiveNetwork ( 'testNetworkConfigurationId1' ) ;
5435- await waitForStateChanges ( messenger , {
5436- propertyPath : [ 'networkId' ] ,
5437- count : 1 ,
5438- produceStateChanges : ( ) => {
5439- controller . rollbackToPreviousProvider ( ) ;
5440- } ,
5441- } ) ;
5431+
5432+ await controller . rollbackToPreviousProvider ( ) ;
5433+
54425434 const { provider } = controller . getProviderAndBlockTracker ( ) ;
54435435 const promisifiedSendAsync = promisify ( provider . sendAsync ) . bind (
54445436 provider ,
@@ -5498,13 +5490,8 @@ describe('NetworkController', () => {
54985490 const { provider : providerBefore } =
54995491 controller . getProviderAndBlockTracker ( ) ;
55005492
5501- await waitForStateChanges ( messenger , {
5502- propertyPath : [ 'networkId' ] ,
5503- count : 1 ,
5504- produceStateChanges : ( ) => {
5505- controller . rollbackToPreviousProvider ( ) ;
5506- } ,
5507- } ) ;
5493+ await controller . rollbackToPreviousProvider ( ) ;
5494+
55085495 const { provider : providerAfter } =
55095496 controller . getProviderAndBlockTracker ( ) ;
55105497
@@ -5574,13 +5561,8 @@ describe('NetworkController', () => {
55745561 await controller . setActiveNetwork ( 'testNetworkConfigurationId1' ) ;
55755562 expect ( controller . state . networkId ) . toStrictEqual ( '999' ) ;
55765563
5577- await waitForStateChanges ( messenger , {
5578- propertyPath : [ 'networkId' ] ,
5579- count : 2 ,
5580- produceStateChanges : ( ) => {
5581- controller . rollbackToPreviousProvider ( ) ;
5582- } ,
5583- } ) ;
5564+ await controller . rollbackToPreviousProvider ( ) ;
5565+
55845566 expect ( controller . state . networkId ) . toStrictEqual ( '1' ) ;
55855567 } ,
55865568 ) ;
@@ -5626,7 +5608,7 @@ describe('NetworkController', () => {
56265608 rpcTarget : rpcUrlOrTarget ,
56275609 type : NetworkType . rpc ,
56285610 } ) ;
5629- controller . rollbackToPreviousProvider ( ) ;
5611+ await controller . rollbackToPreviousProvider ( ) ;
56305612
56315613 expect ( controller . state . providerConfig ) . toStrictEqual (
56325614 initialProviderConfig ,
@@ -5660,7 +5642,7 @@ describe('NetworkController', () => {
56605642 ...BUILT_IN_NETWORKS . sepolia ,
56615643 } ) ,
56625644 } ) ;
5663- controller . rollbackToPreviousProvider ( ) ;
5645+ await controller . rollbackToPreviousProvider ( ) ;
56645646 expect ( controller . state . providerConfig ) . toStrictEqual (
56655647 initialProviderConfig ,
56665648 ) ;
0 commit comments