feat: check latest block if no arg in q block and q block-results (backport #21084) (#21110)

Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: marbar3778 <marbar3778@yahoo.com>
This commit is contained in:
mergify[bot] 2024-07-30 08:37:21 +00:00 committed by GitHub
parent 2ee5230b2c
commit 16b25450fb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 32 additions and 54 deletions

View File

@ -112,7 +112,6 @@ func TestModuleSchema_Validate(t *testing.T) {
},
{
name: "same enum",
<<<<<<< HEAD
moduleSchema: ModuleSchema{
ObjectTypes: []ObjectType{
{
@ -138,31 +137,6 @@ func TestModuleSchema_Validate(t *testing.T) {
Name: "enum1",
Values: []string{"a", "b"},
},
=======
objectTypes: []ObjectType{
{
Name: "object1",
KeyFields: []Field{
{
Name: "k",
Kind: EnumKind,
EnumType: EnumType{
Name: "enum1",
Values: []string{"a", "b"},
},
},
},
},
{
Name: "object2",
KeyFields: []Field{
{
Name: "k",
Kind: EnumKind,
EnumType: EnumType{
Name: "enum1",
Values: []string{"a", "b"},
>>>>>>> 5c90246b3 (feat(log): remove core dependency and update core interface to be dependency free (#21045))
},
},
},

View File

@ -226,7 +226,7 @@ $ %s query block --%s=%s <hash>
`,
version.AppName, auth.FlagType, auth.TypeHeight,
version.AppName, auth.FlagType, auth.TypeHash)),
Args: cobra.ExactArgs(1),
Args: cobra.MaximumNArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
clientCtx, err := client.GetClientQueryContext(cmd)
if err != nil {
@ -234,24 +234,37 @@ $ %s query block --%s=%s <hash>
}
typ, _ := cmd.Flags().GetString(auth.FlagType)
if len(args) == 0 {
// do not break default v0.50 behavior of block hash
// if no args are provided, set the type to height
typ = auth.TypeHeight
}
switch typ {
case auth.TypeHeight:
if args[0] == "" {
return fmt.Errorf("argument should be a block height")
var (
err error
height int64
)
heightStr := ""
if len(args) > 0 {
heightStr = args[0]
}
// optional height
var height *int64
if len(args) > 0 {
height, err = parseOptionalHeight(args[0])
if heightStr == "" {
cmd.Println("Falling back to latest block height:")
height, err = rpc.GetChainHeight(clientCtx)
if err != nil {
return err
return fmt.Errorf("failed to get chain height: %w", err)
}
} else {
height, err = strconv.ParseInt(heightStr, 10, 64)
if err != nil {
return fmt.Errorf("failed to parse block height: %w", err)
}
}
output, err := rpc.GetBlockByHeight(clientCtx, height)
output, err := rpc.GetBlockByHeight(clientCtx, &height)
if err != nil {
return err
}
@ -311,15 +324,21 @@ func QueryBlockResultsCmd() *cobra.Command {
}
// optional height
var height *int64
var height int64
if len(args) > 0 {
height, err = parseOptionalHeight(args[0])
height, err = strconv.ParseInt(args[0], 10, 64)
if err != nil {
return err
}
} else {
cmd.Println("Falling back to latest block height:")
height, err = rpc.GetChainHeight(clientCtx)
if err != nil {
return fmt.Errorf("failed to get chain height: %w", err)
}
}
blockRes, err := node.BlockResults(context.Background(), height)
blockRes, err := node.BlockResults(context.Background(), &height)
if err != nil {
return err
}
@ -341,21 +360,6 @@ func QueryBlockResultsCmd() *cobra.Command {
return cmd
}
func parseOptionalHeight(heightStr string) (*int64, error) {
h, err := strconv.Atoi(heightStr)
if err != nil {
return nil, err
}
if h == 0 {
return nil, nil
}
tmp := int64(h)
return &tmp, nil
}
func BootstrapStateCmd[T types.Application](appCreator types.AppCreator[T]) *cobra.Command {
cmd := &cobra.Command{
Use: "bootstrap-state",