mirror of https://github.com/poanetwork/gecko.git
Moved rpcchainvm logs to live under their chain
This commit is contained in:
parent
acd44dacb8
commit
c86838f2e8
|
@ -204,49 +204,6 @@ func (m *manager) ForceCreateChain(chain ChainParameters) {
|
|||
return
|
||||
}
|
||||
|
||||
// Get a factory for the vm we want to use on our chain
|
||||
vmFactory, err := m.vmManager.GetVMFactory(vmID)
|
||||
if err != nil {
|
||||
m.log.Error("error while getting vmFactory: %s", err)
|
||||
return
|
||||
}
|
||||
|
||||
// Create the chain
|
||||
vm, err := vmFactory.New()
|
||||
if err != nil {
|
||||
m.log.Error("error while creating vm: %s", err)
|
||||
return
|
||||
}
|
||||
// TODO: Shutdown VM if an error occurs
|
||||
|
||||
fxs := make([]*common.Fx, len(chain.FxAliases))
|
||||
for i, fxAlias := range chain.FxAliases {
|
||||
fxID, err := m.vmManager.Lookup(fxAlias)
|
||||
if err != nil {
|
||||
m.log.Error("error while looking up Fx: %s", err)
|
||||
return
|
||||
}
|
||||
|
||||
// Get a factory for the fx we want to use on our chain
|
||||
fxFactory, err := m.vmManager.GetVMFactory(fxID)
|
||||
if err != nil {
|
||||
m.log.Error("error while getting fxFactory: %s", err)
|
||||
return
|
||||
}
|
||||
|
||||
fx, err := fxFactory.New()
|
||||
if err != nil {
|
||||
m.log.Error("error while creating fx: %s", err)
|
||||
return
|
||||
}
|
||||
|
||||
// Create the fx
|
||||
fxs[i] = &common.Fx{
|
||||
ID: fxID,
|
||||
Fx: fx,
|
||||
}
|
||||
}
|
||||
|
||||
primaryAlias, err := m.PrimaryAlias(chain.ID)
|
||||
if err != nil {
|
||||
primaryAlias = chain.ID.String()
|
||||
|
@ -272,6 +229,49 @@ func (m *manager) ForceCreateChain(chain ChainParameters) {
|
|||
BCLookup: m,
|
||||
}
|
||||
|
||||
// Get a factory for the vm we want to use on our chain
|
||||
vmFactory, err := m.vmManager.GetVMFactory(vmID)
|
||||
if err != nil {
|
||||
m.log.Error("error while getting vmFactory: %s", err)
|
||||
return
|
||||
}
|
||||
|
||||
// Create the chain
|
||||
vm, err := vmFactory.New(ctx)
|
||||
if err != nil {
|
||||
m.log.Error("error while creating vm: %s", err)
|
||||
return
|
||||
}
|
||||
// TODO: Shutdown VM if an error occurs
|
||||
|
||||
fxs := make([]*common.Fx, len(chain.FxAliases))
|
||||
for i, fxAlias := range chain.FxAliases {
|
||||
fxID, err := m.vmManager.Lookup(fxAlias)
|
||||
if err != nil {
|
||||
m.log.Error("error while looking up Fx: %s", err)
|
||||
return
|
||||
}
|
||||
|
||||
// Get a factory for the fx we want to use on our chain
|
||||
fxFactory, err := m.vmManager.GetVMFactory(fxID)
|
||||
if err != nil {
|
||||
m.log.Error("error while getting fxFactory: %s", err)
|
||||
return
|
||||
}
|
||||
|
||||
fx, err := fxFactory.New(ctx)
|
||||
if err != nil {
|
||||
m.log.Error("error while creating fx: %s", err)
|
||||
return
|
||||
}
|
||||
|
||||
// Create the fx
|
||||
fxs[i] = &common.Fx{
|
||||
ID: fxID,
|
||||
Fx: fx,
|
||||
}
|
||||
}
|
||||
|
||||
consensusParams := m.consensusParams
|
||||
consensusParams.Namespace = fmt.Sprintf("gecko_%s", primaryAlias)
|
||||
|
||||
|
|
|
@ -295,10 +295,7 @@ func (n *Node) initVMManager() error {
|
|||
AVA: avaAssetID,
|
||||
Platform: ids.Empty,
|
||||
}),
|
||||
n.vmManager.RegisterVMFactory(genesis.EVMID, &rpcchainvm.Factory{
|
||||
Log: n.Log,
|
||||
Path: path.Join(n.Config.PluginDir, "evm"),
|
||||
}),
|
||||
n.vmManager.RegisterVMFactory(genesis.EVMID, &rpcchainvm.Factory{Path: path.Join(n.Config.PluginDir, "evm")}),
|
||||
n.vmManager.RegisterVMFactory(spdagvm.ID, &spdagvm.Factory{TxFee: n.Config.AvaTxFee}),
|
||||
n.vmManager.RegisterVMFactory(spchainvm.ID, &spchainvm.Factory{}),
|
||||
n.vmManager.RegisterVMFactory(timestampvm.ID, ×tampvm.Factory{}),
|
||||
|
|
|
@ -5,6 +5,7 @@ package avm
|
|||
|
||||
import (
|
||||
"github.com/ava-labs/gecko/ids"
|
||||
"github.com/ava-labs/gecko/snow"
|
||||
)
|
||||
|
||||
// ID that this VM uses when labeled
|
||||
|
@ -19,7 +20,7 @@ type Factory struct {
|
|||
}
|
||||
|
||||
// New ...
|
||||
func (f *Factory) New() (interface{}, error) {
|
||||
func (f *Factory) New(*snow.Context) (interface{}, error) {
|
||||
return &VM{
|
||||
ava: f.AVA,
|
||||
platform: f.Platform,
|
||||
|
|
|
@ -8,15 +8,15 @@ import (
|
|||
"sync"
|
||||
|
||||
"github.com/ava-labs/gecko/api"
|
||||
"github.com/ava-labs/gecko/snow/engine/common"
|
||||
|
||||
"github.com/ava-labs/gecko/ids"
|
||||
"github.com/ava-labs/gecko/snow"
|
||||
"github.com/ava-labs/gecko/snow/engine/common"
|
||||
"github.com/ava-labs/gecko/utils/logging"
|
||||
)
|
||||
|
||||
// A VMFactory creates new instances of a VM
|
||||
type VMFactory interface {
|
||||
New() (interface{}, error)
|
||||
New(*snow.Context) (interface{}, error)
|
||||
}
|
||||
|
||||
// Manager is a VM manager.
|
||||
|
@ -110,7 +110,7 @@ func (m *manager) addStaticAPIEndpoints(vmID ids.ID) {
|
|||
vmFactory, err := m.GetVMFactory(vmID)
|
||||
m.log.AssertNoError(err)
|
||||
m.log.Debug("adding static API for VM with ID %s", vmID)
|
||||
vm, err := vmFactory.New()
|
||||
vm, err := vmFactory.New(nil)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package nftfx
|
|||
|
||||
import (
|
||||
"github.com/ava-labs/gecko/ids"
|
||||
"github.com/ava-labs/gecko/snow"
|
||||
)
|
||||
|
||||
// ID that this Fx uses when labeled
|
||||
|
@ -13,4 +14,4 @@ var (
|
|||
type Factory struct{}
|
||||
|
||||
// New ...
|
||||
func (f *Factory) New() (interface{}, error) { return &Fx{}, nil }
|
||||
func (f *Factory) New(*snow.Context) (interface{}, error) { return &Fx{}, nil }
|
||||
|
|
|
@ -6,7 +6,7 @@ import (
|
|||
|
||||
func TestFactory(t *testing.T) {
|
||||
factory := Factory{}
|
||||
if fx, err := factory.New(); err != nil {
|
||||
if fx, err := factory.New(nil); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if fx == nil {
|
||||
t.Fatalf("Factory.New returned nil")
|
||||
|
|
|
@ -6,6 +6,7 @@ package platformvm
|
|||
import (
|
||||
"github.com/ava-labs/gecko/chains"
|
||||
"github.com/ava-labs/gecko/ids"
|
||||
"github.com/ava-labs/gecko/snow"
|
||||
"github.com/ava-labs/gecko/snow/validators"
|
||||
)
|
||||
|
||||
|
@ -24,7 +25,7 @@ type Factory struct {
|
|||
}
|
||||
|
||||
// New returns a new instance of the Platform Chain
|
||||
func (f *Factory) New() (interface{}, error) {
|
||||
func (f *Factory) New(*snow.Context) (interface{}, error) {
|
||||
return &VM{
|
||||
chainManager: f.ChainManager,
|
||||
validators: f.Validators,
|
||||
|
|
|
@ -2,6 +2,7 @@ package propertyfx
|
|||
|
||||
import (
|
||||
"github.com/ava-labs/gecko/ids"
|
||||
"github.com/ava-labs/gecko/snow"
|
||||
)
|
||||
|
||||
// ID that this Fx uses when labeled
|
||||
|
@ -13,4 +14,4 @@ var (
|
|||
type Factory struct{}
|
||||
|
||||
// New ...
|
||||
func (f *Factory) New() (interface{}, error) { return &Fx{}, nil }
|
||||
func (f *Factory) New(*snow.Context) (interface{}, error) { return &Fx{}, nil }
|
||||
|
|
|
@ -6,7 +6,7 @@ import (
|
|||
|
||||
func TestFactory(t *testing.T) {
|
||||
factory := Factory{}
|
||||
if fx, err := factory.New(); err != nil {
|
||||
if fx, err := factory.New(nil); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if fx == nil {
|
||||
t.Fatalf("Factory.New returned nil")
|
||||
|
|
|
@ -9,7 +9,7 @@ import (
|
|||
|
||||
"github.com/hashicorp/go-plugin"
|
||||
|
||||
"github.com/ava-labs/gecko/utils/logging"
|
||||
"github.com/ava-labs/gecko/snow"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@ -17,25 +17,25 @@ var (
|
|||
)
|
||||
|
||||
// Factory ...
|
||||
type Factory struct {
|
||||
Log logging.Logger
|
||||
Path string
|
||||
}
|
||||
type Factory struct{ Path string }
|
||||
|
||||
// New ...
|
||||
func (f *Factory) New() (interface{}, error) {
|
||||
client := plugin.NewClient(&plugin.ClientConfig{
|
||||
func (f *Factory) New(ctx *snow.Context) (interface{}, error) {
|
||||
config := &plugin.ClientConfig{
|
||||
HandshakeConfig: Handshake,
|
||||
Plugins: PluginMap,
|
||||
Cmd: exec.Command("sh", "-c", f.Path),
|
||||
Stderr: f.Log,
|
||||
SyncStdout: f.Log,
|
||||
SyncStderr: f.Log,
|
||||
AllowedProtocols: []plugin.Protocol{
|
||||
plugin.ProtocolNetRPC,
|
||||
plugin.ProtocolGRPC,
|
||||
},
|
||||
})
|
||||
}
|
||||
if ctx != nil {
|
||||
config.Stderr = ctx.Log
|
||||
config.SyncStdout = ctx.Log
|
||||
config.SyncStderr = ctx.Log
|
||||
}
|
||||
client := plugin.NewClient(config)
|
||||
|
||||
rpcClient, err := client.Client()
|
||||
if err != nil {
|
||||
|
|
|
@ -5,6 +5,7 @@ package secp256k1fx
|
|||
|
||||
import (
|
||||
"github.com/ava-labs/gecko/ids"
|
||||
"github.com/ava-labs/gecko/snow"
|
||||
)
|
||||
|
||||
// ID that this Fx uses when labeled
|
||||
|
@ -16,4 +17,4 @@ var (
|
|||
type Factory struct{}
|
||||
|
||||
// New ...
|
||||
func (f *Factory) New() (interface{}, error) { return &Fx{}, nil }
|
||||
func (f *Factory) New(*snow.Context) (interface{}, error) { return &Fx{}, nil }
|
||||
|
|
|
@ -9,7 +9,7 @@ import (
|
|||
|
||||
func TestFactory(t *testing.T) {
|
||||
factory := Factory{}
|
||||
if fx, err := factory.New(); err != nil {
|
||||
if fx, err := factory.New(nil); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if fx == nil {
|
||||
t.Fatalf("Factory.New returned nil")
|
||||
|
|
|
@ -5,6 +5,7 @@ package spchainvm
|
|||
|
||||
import (
|
||||
"github.com/ava-labs/gecko/ids"
|
||||
"github.com/ava-labs/gecko/snow"
|
||||
)
|
||||
|
||||
// ID this VM should be referenced by
|
||||
|
@ -16,4 +17,4 @@ var (
|
|||
type Factory struct{}
|
||||
|
||||
// New ...
|
||||
func (f *Factory) New() (interface{}, error) { return &VM{}, nil }
|
||||
func (f *Factory) New(*snow.Context) (interface{}, error) { return &VM{}, nil }
|
||||
|
|
|
@ -5,6 +5,7 @@ package spdagvm
|
|||
|
||||
import (
|
||||
"github.com/ava-labs/gecko/ids"
|
||||
"github.com/ava-labs/gecko/snow"
|
||||
)
|
||||
|
||||
// ID this VM should be referenced with
|
||||
|
@ -16,6 +17,6 @@ var (
|
|||
type Factory struct{ TxFee uint64 }
|
||||
|
||||
// New ...
|
||||
func (f *Factory) New() (interface{}, error) {
|
||||
func (f *Factory) New(*snow.Context) (interface{}, error) {
|
||||
return &VM{TxFee: f.TxFee}, nil
|
||||
}
|
||||
|
|
|
@ -3,7 +3,10 @@
|
|||
|
||||
package timestampvm
|
||||
|
||||
import "github.com/ava-labs/gecko/ids"
|
||||
import (
|
||||
"github.com/ava-labs/gecko/ids"
|
||||
"github.com/ava-labs/gecko/snow"
|
||||
)
|
||||
|
||||
// ID is a unique identifier for this VM
|
||||
var (
|
||||
|
@ -14,4 +17,4 @@ var (
|
|||
type Factory struct{}
|
||||
|
||||
// New ...
|
||||
func (f *Factory) New() (interface{}, error) { return &VM{}, nil }
|
||||
func (f *Factory) New(*snow.Context) (interface{}, error) { return &VM{}, nil }
|
||||
|
|
Loading…
Reference in New Issue