include some other changes
This commit is contained in:
parent
0e3dd3cb3b
commit
0efe5ee7d5
24
cli/state.go
24
cli/state.go
@ -27,6 +27,7 @@ import (
|
|||||||
|
|
||||||
"github.com/filecoin-project/go-address"
|
"github.com/filecoin-project/go-address"
|
||||||
"github.com/filecoin-project/go-state-types/abi"
|
"github.com/filecoin-project/go-state-types/abi"
|
||||||
|
"github.com/filecoin-project/go-state-types/big"
|
||||||
"github.com/filecoin-project/go-state-types/exitcode"
|
"github.com/filecoin-project/go-state-types/exitcode"
|
||||||
"github.com/filecoin-project/specs-actors/actors/builtin"
|
"github.com/filecoin-project/specs-actors/actors/builtin"
|
||||||
"github.com/filecoin-project/specs-actors/actors/builtin/exported"
|
"github.com/filecoin-project/specs-actors/actors/builtin/exported"
|
||||||
@ -122,7 +123,7 @@ var stateMinerInfo = &cli.Command{
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
func parseTipSetString(ts string) ([]cid.Cid, error) {
|
func ParseTipSetString(ts string) ([]cid.Cid, error) {
|
||||||
strs := strings.Split(ts, ",")
|
strs := strings.Split(ts, ",")
|
||||||
|
|
||||||
var cids []cid.Cid
|
var cids []cid.Cid
|
||||||
@ -160,7 +161,7 @@ func ParseTipSetRef(ctx context.Context, api api.FullNode, tss string) (*types.T
|
|||||||
return api.ChainGetTipSetByHeight(ctx, abi.ChainEpoch(h), types.EmptyTSK)
|
return api.ChainGetTipSetByHeight(ctx, abi.ChainEpoch(h), types.EmptyTSK)
|
||||||
}
|
}
|
||||||
|
|
||||||
cids, err := parseTipSetString(tss)
|
cids, err := ParseTipSetString(tss)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -1384,7 +1385,7 @@ var stateCallCmd = &cli.Command{
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ret.MsgRct.ExitCode != 0 {
|
if ret.MsgRct.ExitCode != 0 {
|
||||||
return fmt.Errorf("invocation failed (exit: %d): %s", ret.MsgRct.ExitCode, ret.Error)
|
return fmt.Errorf("invocation failed (exit: %d, gasUsed: %d): %s", ret.MsgRct.ExitCode, ret.MsgRct.GasUsed, ret.Error)
|
||||||
}
|
}
|
||||||
|
|
||||||
s, err := formatOutput(cctx.String("ret"), ret.MsgRct.Return)
|
s, err := formatOutput(cctx.String("ret"), ret.MsgRct.Return)
|
||||||
@ -1392,6 +1393,7 @@ var stateCallCmd = &cli.Command{
|
|||||||
return fmt.Errorf("failed to format output: %s", err)
|
return fmt.Errorf("failed to format output: %s", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fmt.Printf("gas used: %d\n", ret.MsgRct.GasUsed)
|
||||||
fmt.Printf("return: %s\n", s)
|
fmt.Printf("return: %s\n", s)
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
@ -1465,11 +1467,11 @@ func parseParamsForMethod(act cid.Cid, method uint64, args []string) ([]byte, er
|
|||||||
f := methods[method]
|
f := methods[method]
|
||||||
|
|
||||||
rf := reflect.TypeOf(f)
|
rf := reflect.TypeOf(f)
|
||||||
if rf.NumIn() != 3 {
|
if rf.NumIn() != 2 {
|
||||||
return nil, fmt.Errorf("expected referenced method to have three arguments")
|
return nil, fmt.Errorf("expected referenced method to have three arguments")
|
||||||
}
|
}
|
||||||
|
|
||||||
paramObj := rf.In(2).Elem()
|
paramObj := rf.In(1).Elem()
|
||||||
if paramObj.NumField() != len(args) {
|
if paramObj.NumField() != len(args) {
|
||||||
return nil, fmt.Errorf("not enough arguments given to call that method (expecting %d)", paramObj.NumField())
|
return nil, fmt.Errorf("not enough arguments given to call that method (expecting %d)", paramObj.NumField())
|
||||||
}
|
}
|
||||||
@ -1489,6 +1491,18 @@ func parseParamsForMethod(act cid.Cid, method uint64, args []string) ([]byte, er
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
p.Elem().Field(i).Set(reflect.ValueOf(val))
|
p.Elem().Field(i).Set(reflect.ValueOf(val))
|
||||||
|
case reflect.TypeOf(abi.ChainEpoch(0)):
|
||||||
|
val, err := strconv.ParseInt(args[i], 10, 64)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
p.Elem().Field(i).Set(reflect.ValueOf(abi.ChainEpoch(val)))
|
||||||
|
case reflect.TypeOf(big.Int{}):
|
||||||
|
val, err := big.FromString(args[i])
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
p.Elem().Field(i).Set(reflect.ValueOf(val))
|
||||||
case reflect.TypeOf(peer.ID("")):
|
case reflect.TypeOf(peer.ID("")):
|
||||||
pid, err := peer.Decode(args[i])
|
pid, err := peer.Decode(args[i])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user