@@ -173,8 +173,18 @@ func run(c *cli.Command) error {
173173 errorLog := log .NewColorLogger (ErrorColor )
174174 updateLog := log .NewColorLogger (UpdateColor )
175175
176- // Create the state manager
177- m := state .NewNetworkStateManager (rp , cfg .Smartnode .GetStateManagerContracts (), bc , & updateLog )
176+ // Create the state provider. In live mode this is a NetworkStateManager
177+ // backed by the real EC/BC; in --network-state mode it is a
178+ // StaticNetworkStateProvider that serves from the pre-loaded snapshot.
179+ var m state.NetworkStateProvider
180+ if services .IsStaticStateMode (c ) {
181+ m , err = services .GetNetworkStateProvider (c )
182+ if err != nil {
183+ return fmt .Errorf ("error getting network state provider: %w" , err )
184+ }
185+ } else {
186+ m = state .NewNetworkStateManager (rp , cfg .Smartnode .GetStateManagerContracts (), bc , & updateLog )
187+ }
178188 stateLocker := collectors .NewStateLocker ()
179189
180190 // Initialize tasks
@@ -531,7 +541,7 @@ func removeLegacyFeeRecipientFiles(c *cli.Command) error {
531541}
532542
533543// Update the latest network state at each cycle
534- func updateNetworkState (m * state.NetworkStateManager , log * log.ColorLogger , nodeAddress common.Address ) (* state.NetworkState , error ) {
544+ func updateNetworkState (m state.NetworkStateProvider , log * log.ColorLogger , nodeAddress common.Address ) (* state.NetworkState , error ) {
535545 // Get the state of the network
536546 state , err := m .GetHeadStateForNode (nodeAddress )
537547 if err != nil {
0 commit comments