Integrate go-nitro node for payments #256
@ -35,3 +35,21 @@ func addDatabaseFlags(command *cobra.Command) {
|
|||||||
viper.BindPFlag("database.user", command.PersistentFlags().Lookup("database-user"))
|
viper.BindPFlag("database.user", command.PersistentFlags().Lookup("database-user"))
|
||||||
viper.BindPFlag("database.password", command.PersistentFlags().Lookup("database-password"))
|
viper.BindPFlag("database.password", command.PersistentFlags().Lookup("database-password"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func addNitroFlags(command *cobra.Command) {
|
||||||
|
// nitro flags
|
||||||
|
command.PersistentFlags().String("nitro-pk", "", "nitro pk")
|
||||||
|
command.PersistentFlags().String("nitro-chainPk", "", "nitro chainPk")
|
||||||
|
command.PersistentFlags().String("nitro-chainUrl", "", "nitro chainUrl")
|
||||||
|
command.PersistentFlags().String("nitro-naAddress", "", "nitro naAddress")
|
||||||
|
command.PersistentFlags().String("nitro-vpaAddress", "", "nitro vpaAddress")
|
||||||
|
command.PersistentFlags().String("nitro-caAddress", "", "nitro caAddress")
|
||||||
|
|
||||||
|
// nitro flag bindings
|
||||||
|
viper.BindPFlag("nitro.pk", command.PersistentFlags().Lookup("nitro-pk"))
|
||||||
|
viper.BindPFlag("nitro.chainPk", command.PersistentFlags().Lookup("nitro-chainPk"))
|
||||||
|
viper.BindPFlag("nitro.chainUrl", command.PersistentFlags().Lookup("nitro-chainUrl"))
|
||||||
|
viper.BindPFlag("nitro.naAddress", command.PersistentFlags().Lookup("nitro-naAddress"))
|
||||||
|
viper.BindPFlag("nitro.vpaAddress", command.PersistentFlags().Lookup("nitro-vpaAddress"))
|
||||||
|
viper.BindPFlag("nitro.caAddress", command.PersistentFlags().Lookup("nitro-caAddress"))
|
||||||
|
}
|
||||||
|
18
cmd/serve.go
18
cmd/serve.go
@ -85,7 +85,7 @@ func serve() {
|
|||||||
server.Serve(wg)
|
server.Serve(wg)
|
||||||
|
|
||||||
// TODO: Create required config for Nitro node
|
// TODO: Create required config for Nitro node
|
||||||
nitroNode, err := initializeNitroNode()
|
nitroNode, err := initializeNitroNode(serverConfig.Nitro)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
@ -290,6 +290,8 @@ func init() {
|
|||||||
|
|
||||||
addDatabaseFlags(serveCmd)
|
addDatabaseFlags(serveCmd)
|
||||||
|
|
||||||
|
addNitroFlags(serveCmd)
|
||||||
|
|
||||||
// flags for all config variables
|
// flags for all config variables
|
||||||
// eth graphql and json-rpc parameters
|
// eth graphql and json-rpc parameters
|
||||||
serveCmd.PersistentFlags().Bool("server-graphql", false, "turn on the eth graphql server")
|
serveCmd.PersistentFlags().Bool("server-graphql", false, "turn on the eth graphql server")
|
||||||
@ -370,19 +372,19 @@ func init() {
|
|||||||
viper.BindPFlag("validator.everyNthBlock", serveCmd.PersistentFlags().Lookup("validator-every-nth-block"))
|
viper.BindPFlag("validator.everyNthBlock", serveCmd.PersistentFlags().Lookup("validator-every-nth-block"))
|
||||||
}
|
}
|
||||||
|
|
||||||
func initializeNitroNode() (*nitroNode.Node, error) {
|
func initializeNitroNode(nitroConfig *s.NitroConfig) (*nitroNode.Node, error) {
|
||||||
// TODO: Configure
|
// TODO: Configure
|
||||||
pkString := ""
|
pkString := nitroConfig.Pk
|
||||||
useDurableStore := true
|
useDurableStore := true
|
||||||
durableStoreFolder := "./data/nitro-store"
|
durableStoreFolder := "./data/nitro-store"
|
||||||
msgPort := 3005
|
msgPort := 3005
|
||||||
wsMsgPort := 5005
|
wsMsgPort := 5005
|
||||||
chainUrl := "ws://127.0.0.1:8545"
|
chainUrl := nitroConfig.ChainUrl
|
||||||
chainStartBlock := uint64(0)
|
chainStartBlock := uint64(0)
|
||||||
chainPk := ""
|
chainPk := nitroConfig.ChainPk
|
||||||
naAddress := ""
|
naAddress := nitroConfig.NaAddress
|
||||||
vpaAddress := ""
|
vpaAddress := nitroConfig.VpaAddress
|
||||||
caAddress := ""
|
caAddress := nitroConfig.CaAddress
|
||||||
|
|
||||||
chainAuthToken := ""
|
chainAuthToken := ""
|
||||||
publicIp := "0.0.0.0"
|
publicIp := "0.0.0.0"
|
||||||
|
@ -81,6 +81,15 @@ const (
|
|||||||
DATABASE_MAX_CONN_LIFETIME = "DATABASE_MAX_CONN_LIFETIME"
|
DATABASE_MAX_CONN_LIFETIME = "DATABASE_MAX_CONN_LIFETIME"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type NitroConfig struct {
|
||||||
|
Pk string
|
||||||
|
ChainPk string
|
||||||
|
ChainUrl string
|
||||||
|
NaAddress string
|
||||||
|
VpaAddress string
|
||||||
|
CaAddress string
|
||||||
|
}
|
||||||
|
|
||||||
// Config struct
|
// Config struct
|
||||||
type Config struct {
|
type Config struct {
|
||||||
DB *sqlx.DB
|
DB *sqlx.DB
|
||||||
@ -116,6 +125,8 @@ type Config struct {
|
|||||||
|
|
||||||
StateValidationEnabled bool
|
StateValidationEnabled bool
|
||||||
StateValidationEveryNthBlock uint64
|
StateValidationEveryNthBlock uint64
|
||||||
|
|
||||||
|
Nitro *NitroConfig
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewConfig is used to initialize a watcher config from a .toml file
|
// NewConfig is used to initialize a watcher config from a .toml file
|
||||||
@ -248,6 +259,8 @@ func NewConfig() (*Config, error) {
|
|||||||
|
|
||||||
c.loadValidatorConfig()
|
c.loadValidatorConfig()
|
||||||
|
|
||||||
|
c.loadNitroConfig()
|
||||||
|
|
||||||
return c, err
|
return c, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -280,6 +293,17 @@ func (c *Config) dbInit() {
|
|||||||
c.DBConfig.MaxConnLifetime = time.Duration(viper.GetInt("database.maxLifetime"))
|
c.DBConfig.MaxConnLifetime = time.Duration(viper.GetInt("database.maxLifetime"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *Config) loadNitroConfig() {
|
||||||
|
c.Nitro = &NitroConfig{}
|
||||||
|
|
||||||
|
c.Nitro.Pk = viper.GetString("nitro.pk")
|
||||||
|
c.Nitro.ChainPk = viper.GetString("nitro.chainPk")
|
||||||
|
c.Nitro.ChainUrl = viper.GetString("nitro.chainUrl")
|
||||||
|
c.Nitro.NaAddress = viper.GetString("nitro.naAddress")
|
||||||
|
c.Nitro.VpaAddress = viper.GetString("nitro.vpaAddress")
|
||||||
|
c.Nitro.CaAddress = viper.GetString("nitro.caAddress")
|
||||||
|
}
|
||||||
|
|
||||||
func (c *Config) loadGroupCacheConfig() {
|
func (c *Config) loadGroupCacheConfig() {
|
||||||
viper.BindEnv("groupcache.pool.enabled", ethServerShared.GcachePoolEnabled)
|
viper.BindEnv("groupcache.pool.enabled", ethServerShared.GcachePoolEnabled)
|
||||||
viper.BindEnv("groupcache.pool.httpEndpoint", ethServerShared.GcachePoolHttpPath)
|
viper.BindEnv("groupcache.pool.httpEndpoint", ethServerShared.GcachePoolHttpPath)
|
||||||
|
Loading…
Reference in New Issue
Block a user