Merge pull request #4748 from zgfzgf/fix-chain-decode-params
add chain base64 decode params
This commit is contained in:
commit
6667220a27
24
cli/chain.go
24
cli/chain.go
@ -3,6 +3,7 @@ package cli
|
|||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"context"
|
"context"
|
||||||
|
"encoding/base64"
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
@ -1248,12 +1249,17 @@ var chainDecodeCmd = &cli.Command{
|
|||||||
var chainDecodeParamsCmd = &cli.Command{
|
var chainDecodeParamsCmd = &cli.Command{
|
||||||
Name: "params",
|
Name: "params",
|
||||||
Usage: "Decode message params",
|
Usage: "Decode message params",
|
||||||
|
ArgsUsage: "[toAddr method params]",
|
||||||
Flags: []cli.Flag{
|
Flags: []cli.Flag{
|
||||||
&cli.StringFlag{
|
&cli.StringFlag{
|
||||||
Name: "tipset",
|
Name: "tipset",
|
||||||
},
|
},
|
||||||
|
&cli.StringFlag{
|
||||||
|
Name: "encoding",
|
||||||
|
Value: "base64",
|
||||||
|
Usage: "specify input encoding to parse",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
ArgsUsage: "[toAddr method hexParams]",
|
|
||||||
Action: func(cctx *cli.Context) error {
|
Action: func(cctx *cli.Context) error {
|
||||||
api, closer, err := GetFullNodeAPI(cctx)
|
api, closer, err := GetFullNodeAPI(cctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -1276,11 +1282,21 @@ var chainDecodeParamsCmd = &cli.Command{
|
|||||||
return xerrors.Errorf("parsing method id: %w", err)
|
return xerrors.Errorf("parsing method id: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
params, err := hex.DecodeString(cctx.Args().Get(2))
|
var params []byte
|
||||||
|
switch cctx.String("encoding") {
|
||||||
|
case "base64":
|
||||||
|
params, err = base64.StdEncoding.DecodeString(cctx.Args().Get(2))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return xerrors.Errorf("parsing hex params: %w", err)
|
return xerrors.Errorf("decoding base64 value: %w", err)
|
||||||
|
}
|
||||||
|
case "hex":
|
||||||
|
params, err = hex.DecodeString(cctx.Args().Get(2))
|
||||||
|
if err != nil {
|
||||||
|
return xerrors.Errorf("decoding hex value: %w", err)
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return xerrors.Errorf("unrecognized encoding: %s", cctx.String("encoding"))
|
||||||
}
|
}
|
||||||
|
|
||||||
ts, err := LoadTipSet(ctx, cctx, api)
|
ts, err := LoadTipSet(ctx, cctx, api)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
Loading…
Reference in New Issue
Block a user