cosmos-sdk/store/tools/ics23/helpers.go

63 lines
1.0 KiB
Go

package ics23_tools
import (
"fmt"
"strconv"
tmproofs "github.com/cosmos/cosmos-sdk/store/internal/proofs"
)
func ParseArgs(args []string) (exist bool, loc tmproofs.Where, size int, err error) {
if len(args) != 3 && len(args) != 4 {
err = fmt.Errorf("Insufficient args")
return
}
switch args[1] {
case "exist":
exist = true
case "nonexist":
exist = false
default:
err = fmt.Errorf("Invalid arg: %s", args[1])
return
}
switch args[2] {
case "left":
loc = tmproofs.Left
case "middle":
loc = tmproofs.Middle
case "right":
loc = tmproofs.Right
default:
err = fmt.Errorf("Invalid arg: %s", args[2])
return
}
size = 400
if len(args) == 4 {
size, err = strconv.Atoi(args[3])
}
return
}
func ParseBatchArgs(args []string) (size int, exist int, nonexist int, err error) {
if len(args) != 3 {
err = fmt.Errorf("Insufficient args")
return
}
size, err = strconv.Atoi(args[0])
if err != nil {
return
}
exist, err = strconv.Atoi(args[1])
if err != nil {
return
}
nonexist, err = strconv.Atoi(args[2])
return
}