query: display zeroes for unknown addresses

This:
        Voted: null
        Amount : 0
        Block: 0

is better than this:
failed to convert account state from stackitem: invalid stackitem length
This commit is contained in:
Roman Khimov 2021-07-22 19:52:17 +03:00
parent fde3cce93d
commit a8a6c8c13d

View file

@ -20,6 +20,7 @@ import (
"github.com/nspcc-dev/neo-go/pkg/smartcontract" "github.com/nspcc-dev/neo-go/pkg/smartcontract"
"github.com/nspcc-dev/neo-go/pkg/util" "github.com/nspcc-dev/neo-go/pkg/util"
"github.com/nspcc-dev/neo-go/pkg/vm" "github.com/nspcc-dev/neo-go/pkg/vm"
"github.com/nspcc-dev/neo-go/pkg/vm/stackitem"
"github.com/urfave/cli" "github.com/urfave/cli"
) )
@ -238,9 +239,11 @@ func queryVoter(ctx *cli.Context) error {
return cli.NewExitError("result stack is empty", 1) return cli.NewExitError("result stack is empty", 1)
} }
st := new(state.NEOBalance) st := new(state.NEOBalance)
err = st.FromStackItem(res.Stack[0]) if _, ok := res.Stack[0].(stackitem.Null); !ok {
if err != nil { err = st.FromStackItem(res.Stack[0])
return cli.NewExitError(fmt.Errorf("failed to convert account state from stackitem: %w", err), 1) if err != nil {
return cli.NewExitError(fmt.Errorf("failed to convert account state from stackitem: %w", err), 1)
}
} }
dec, err := c.NEP17Decimals(neoHash) dec, err := c.NEP17Decimals(neoHash)
if err != nil { if err != nil {