From 4c85bdf1a7bce60ec6b8725c9d61280b869e576a Mon Sep 17 00:00:00 2001 From: Antonio Navarro Perez Date: Mon, 5 Jun 2023 10:52:51 +0200 Subject: [PATCH] Requested changes Signed-off-by: Antonio Navarro Perez --- gno.land/cmd/gnoland/main.go | 25 ++++++++++++++++++++----- tm2/pkg/sdk/vm/common_test.go | 2 +- tm2/pkg/sdk/vm/keeper.go | 1 + 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/gno.land/cmd/gnoland/main.go b/gno.land/cmd/gnoland/main.go index 5ce977bbf3d..0ebc3d7058a 100644 --- a/gno.land/cmd/gnoland/main.go +++ b/gno.land/cmd/gnoland/main.go @@ -9,6 +9,9 @@ import ( "strings" "time" + "github.com/peterbourgon/ff/v3" + "github.com/peterbourgon/ff/v3/fftoml" + "github.com/gnolang/gno/gno.land/pkg/gnoland" gno "github.com/gnolang/gno/gnovm/pkg/gnolang" "github.com/gnolang/gno/tm2/pkg/amino" @@ -33,7 +36,8 @@ type gnolandCfg struct { chainID string genesisRemote string rootDir string - maxCycles int64 + genesisMaxVMCycles int64 + config string } func main() { @@ -43,6 +47,10 @@ func main() { commands.Metadata{ ShortUsage: "[flags] [...]", LongHelp: "Starts the gnoland blockchain node", + Options: []ff.Option{ + ff.WithConfigFileFlag("config"), + ff.WithConfigFileParser(fftoml.Parser), + }, }, cfg, func(_ context.Context, _ []string) error { @@ -108,11 +116,18 @@ func (c *gnolandCfg) RegisterFlags(fs *flag.FlagSet) { ) fs.Int64Var( - &c.maxCycles, - "max-vm-cycles", - 10*1000*1000, + &c.genesisMaxVMCycles, + "genesis-max-vm-cycles", + 10_000_000, "set maximum allowed vm cycles per operation. Zero means no limit.", ) + + fs.StringVar( + &c.config, + "config", + "", + "config file (optional)", + ) } func exec(c *gnolandCfg) error { @@ -143,7 +158,7 @@ func exec(c *gnolandCfg) error { } // create application and node. - gnoApp, err := gnoland.NewApp(rootDir, c.skipFailingGenesisTxs, logger, c.maxCycles) + gnoApp, err := gnoland.NewApp(rootDir, c.skipFailingGenesisTxs, logger, c.genesisMaxVMCycles) if err != nil { return fmt.Errorf("error in creating new app: %w", err) } diff --git a/tm2/pkg/sdk/vm/common_test.go b/tm2/pkg/sdk/vm/common_test.go index 7a3a53e4fe3..60a92906cb6 100644 --- a/tm2/pkg/sdk/vm/common_test.go +++ b/tm2/pkg/sdk/vm/common_test.go @@ -39,7 +39,7 @@ func setupTestEnv() testEnv { acck := authm.NewAccountKeeper(iavlCapKey, std.ProtoBaseAccount) bank := bankm.NewBankKeeper(acck) stdlibsDir := filepath.Join("..", "..", "..", "..", "gnovm", "stdlibs") - vmk := NewVMKeeper(baseCapKey, iavlCapKey, acck, bank, stdlibsDir, 10*1000*1000) + vmk := NewVMKeeper(baseCapKey, iavlCapKey, acck, bank, stdlibsDir, 10_000_000) vmk.Initialize(ms.MultiCacheWrap()) diff --git a/tm2/pkg/sdk/vm/keeper.go b/tm2/pkg/sdk/vm/keeper.go index 5a5eeb9303e..74cae60a0a3 100644 --- a/tm2/pkg/sdk/vm/keeper.go +++ b/tm2/pkg/sdk/vm/keeper.go @@ -54,6 +54,7 @@ func NewVMKeeper( stdlibsDir string, maxCycles int64, ) *VMKeeper { + // TODO: create an Options struct to avoid too many constructor parameters vmk := &VMKeeper{ baseKey: baseKey, iavlKey: iavlKey,