diff --git a/cli/ubft/cmd/shard_conf_generate.go b/cli/ubft/cmd/shard_conf_generate.go index 1b12af4f..f82ca9f8 100644 --- a/cli/ubft/cmd/shard_conf_generate.go +++ b/cli/ubft/cmd/shard_conf_generate.go @@ -24,6 +24,7 @@ type ( EpochStart uint64 T2Timeout uint32 NodeInfoFiles []string + PartitionParams map[string]string } ) @@ -48,6 +49,7 @@ func shardConfGenerateCmd(baseFlags *baseFlags) *cobra.Command { panic(err) } cmd.Flags().StringSliceVarP(&flags.NodeInfoFiles, "node-info", "n", []string{}, "path to node info files") + cmd.Flags().StringToStringVar(&flags.PartitionParams, "partition-params", nil, "partition parameters as key=value pairs") return cmd } @@ -85,6 +87,7 @@ func shardConfGenerate(flags *ShardConfGenerateFlags) error { UnitIDLen: 256, T2Timeout: time.Duration(flags.T2Timeout) * time.Millisecond, Validators: nodes, + PartitionParams: flags.PartitionParams, } if err = shardConf.IsValid(); err != nil { diff --git a/cli/ubft/cmd/shard_conf_generate_test.go b/cli/ubft/cmd/shard_conf_generate_test.go index 7a6dd52d..993f433b 100644 --- a/cli/ubft/cmd/shard_conf_generate_test.go +++ b/cli/ubft/cmd/shard_conf_generate_test.go @@ -6,9 +6,10 @@ import ( "testing" "github.com/stretchr/testify/require" - testobserve "github.com/unicitynetwork/bft-core/internal/testutils/observability" "github.com/unicitynetwork/bft-go-base/types" "github.com/unicitynetwork/bft-go-base/util" + + testobserve "github.com/unicitynetwork/bft-core/internal/testutils/observability" ) func TestShardConf_Generate(t *testing.T) { @@ -33,6 +34,7 @@ func TestShardConf_Generate(t *testing.T) { "--partition-type-id", "1", "--epoch", "8", "--epoch-start", "100", + "--partition-params", "dFG=6", }) require.NoError(t, cmd.Execute(context.Background())) @@ -45,4 +47,6 @@ func TestShardConf_Generate(t *testing.T) { require.Equal(t, uint64(8), rec.Epoch) require.Equal(t, uint64(100), rec.EpochStart) require.Len(t, rec.Validators, 1) + require.Len(t, rec.PartitionParams, 1) + require.Equal(t, "6", rec.PartitionParams["dFG"]) }