@@ -70,6 +70,7 @@ import (
70
70
"github.com/ava-labs/avalanchego/utils/timer"
71
71
"github.com/ava-labs/avalanchego/utils/wrappers"
72
72
"github.com/ava-labs/avalanchego/version"
73
+ "github.com/ava-labs/avalanchego/vms"
73
74
"github.com/ava-labs/avalanchego/vms/avm"
74
75
"github.com/ava-labs/avalanchego/vms/nftfx"
75
76
"github.com/ava-labs/avalanchego/vms/platformvm"
94
95
95
96
// Node is an instance of an Avalanche node.
96
97
type Node struct {
97
- Log logging.Logger
98
- LogFactory logging.Factory
98
+ Log logging.Logger
99
+ VMFactoryLog logging.Logger
100
+ LogFactory logging.Factory
99
101
100
102
// This node's unique ID used when communicating with other nodes
101
103
// (in consensus, for example)
@@ -176,6 +178,8 @@ type Node struct {
176
178
MetricsRegisterer * prometheus.Registry
177
179
MetricsGatherer metrics.MultiGatherer
178
180
181
+ VMManager vms.Manager
182
+
179
183
// VM endpoint registry
180
184
VMRegistry registry.VMRegistry
181
185
@@ -627,7 +631,7 @@ func (n *Node) addDefaultVMAliases() error {
627
631
628
632
for vmID , aliases := range vmAliases {
629
633
for _ , alias := range aliases {
630
- if err := n .Config .VMManager .Alias (vmID , alias ); err != nil {
634
+ if err := n .Config .VMAliaser .Alias (vmID , alias ); err != nil {
631
635
return err
632
636
}
633
637
}
@@ -695,7 +699,7 @@ func (n *Node) initChainManager(avaxAssetID ids.ID) error {
695
699
StakingBLSKey : n .Config .StakingSigningKey ,
696
700
Log : n .Log ,
697
701
LogFactory : n .LogFactory ,
698
- VMManager : n .Config . VMManager ,
702
+ VMManager : n .VMManager ,
699
703
DecisionAcceptorGroup : n .DecisionAcceptorGroup ,
700
704
ConsensusAcceptorGroup : n .ConsensusAcceptorGroup ,
701
705
DBManager : n .DBManager ,
@@ -755,9 +759,10 @@ func (n *Node) initVMs() error {
755
759
}
756
760
757
761
vmRegisterer := registry .NewVMRegisterer (registry.VMRegistererConfig {
758
- APIServer : n .APIServer ,
759
- Log : n .Log ,
760
- VMManager : n .Config .VMManager ,
762
+ APIServer : n .APIServer ,
763
+ Log : n .Log ,
764
+ VMFactoryLog : n .VMFactoryLog ,
765
+ VMManager : n .VMManager ,
761
766
})
762
767
763
768
// Register the VMs that Avalanche supports
@@ -801,9 +806,9 @@ func (n *Node) initVMs() error {
801
806
},
802
807
}),
803
808
vmRegisterer .Register (context .TODO (), constants .EVMID , & coreth.Factory {}),
804
- n .Config . VMManager .RegisterFactory (context .TODO (), secp256k1fx .ID , & secp256k1fx.Factory {}),
805
- n .Config . VMManager .RegisterFactory (context .TODO (), nftfx .ID , & nftfx.Factory {}),
806
- n .Config . VMManager .RegisterFactory (context .TODO (), propertyfx .ID , & propertyfx.Factory {}),
809
+ n .VMManager .RegisterFactory (context .TODO (), secp256k1fx .ID , & secp256k1fx.Factory {}),
810
+ n .VMManager .RegisterFactory (context .TODO (), nftfx .ID , & nftfx.Factory {}),
811
+ n .VMManager .RegisterFactory (context .TODO (), propertyfx .ID , & propertyfx.Factory {}),
807
812
)
808
813
if errs .Errored () {
809
814
return errs .Err
@@ -816,7 +821,7 @@ func (n *Node) initVMs() error {
816
821
n .VMRegistry = registry .NewVMRegistry (registry.VMRegistryConfig {
817
822
VMGetter : registry .NewVMGetter (registry.VMGetterConfig {
818
823
FileReader : filesystem .NewReader (),
819
- Manager : n .Config . VMManager ,
824
+ Manager : n .VMManager ,
820
825
PluginDirectory : n .Config .PluginDir ,
821
826
CPUTracker : n .resourceManager ,
822
827
RuntimeTracker : n .runtimeManager ,
@@ -920,7 +925,7 @@ func (n *Node) initAdminAPI() error {
920
925
ProfileDir : n .Config .ProfilerConfig .Dir ,
921
926
LogFactory : n .LogFactory ,
922
927
NodeConfig : n .Config ,
923
- VMManager : n .Config . VMManager ,
928
+ VMManager : n .VMManager ,
924
929
VMRegistry : n .VMRegistry ,
925
930
},
926
931
)
@@ -978,11 +983,11 @@ func (n *Node) initInfoAPI() error {
978
983
AddPrimaryNetworkDelegatorFee : n .Config .AddPrimaryNetworkDelegatorFee ,
979
984
AddSubnetValidatorFee : n .Config .AddSubnetValidatorFee ,
980
985
AddSubnetDelegatorFee : n .Config .AddSubnetDelegatorFee ,
981
- VMManager : n .Config . VMManager ,
986
+ VMManager : n .VMManager ,
982
987
},
983
988
n .Log ,
984
989
n .chainManager ,
985
- n .Config . VMManager ,
990
+ n .VMManager ,
986
991
n .Config .NetworkConfig .MyIPPort ,
987
992
n .Net ,
988
993
primaryValidators ,
@@ -1235,12 +1240,19 @@ func (n *Node) Initialize(
1235
1240
zap .Reflect ("config" , n .Config ),
1236
1241
)
1237
1242
1243
+ var err error
1244
+ n .VMFactoryLog , err = logFactory .Make ("vm-factory" )
1245
+ if err != nil {
1246
+ return fmt .Errorf ("problem creating vm logger: %w" , err )
1247
+ }
1248
+
1249
+ n .VMManager = vms .NewManager (n .VMFactoryLog , config .VMAliaser )
1250
+
1238
1251
if err := n .initBeacons (); err != nil { // Configure the beacons
1239
1252
return fmt .Errorf ("problem initializing node beacons: %w" , err )
1240
1253
}
1241
1254
1242
1255
// Set up tracer
1243
- var err error
1244
1256
n .tracer , err = trace .New (n .Config .TraceConfig )
1245
1257
if err != nil {
1246
1258
return fmt .Errorf ("couldn't initialize tracer: %w" , err )
0 commit comments