Bugfix: actor withdraw CLI should depend on network version

This commit is contained in:
Aayush Rajasekaran 2021-10-09 20:11:49 -04:00
parent c776811ea9
commit e158b1d1e4
3 changed files with 43 additions and 15 deletions

View File

@ -10,6 +10,8 @@ import (
"os"
"strings"
"github.com/filecoin-project/go-state-types/network"
"github.com/filecoin-project/lotus/build"
"github.com/urfave/cli/v2"
@ -634,6 +636,12 @@ var walletMarketWithdraw = &cli.Command{
return err
}
nv, err := api.StateNetworkVersion(ctx, wait.TipSet)
if err != nil {
return err
}
if nv >= network.Version14 {
var withdrawn abi.TokenAmount
if err := withdrawn.UnmarshalCBOR(bytes.NewReader(wait.Receipt.Return)); err != nil {
return err
@ -643,6 +651,7 @@ var walletMarketWithdraw = &cli.Command{
if withdrawn != amt {
fmt.Printf("Note that this is less than the requested amount of %s FIL\n", amt)
}
}
return nil
},

View File

@ -6,6 +6,8 @@ import (
"os"
"strings"
"github.com/filecoin-project/go-state-types/network"
rlepluslazy "github.com/filecoin-project/go-bitfield/rle"
cbor "github.com/ipfs/go-ipld-cbor"
@ -280,6 +282,7 @@ var actorWithdrawCmd = &cli.Command{
fmt.Printf("Requested rewards withdrawal in message %s\n", smsg.Cid())
// wait for it to get mined into a block
fmt.Println("using ", uint64(cctx.Int("confidence")))
wait, err := api.StateWaitMsg(ctx, smsg.Cid(), uint64(cctx.Int("confidence")))
if err != nil {
return err
@ -291,6 +294,12 @@ var actorWithdrawCmd = &cli.Command{
return err
}
nv, err := api.StateNetworkVersion(ctx, wait.TipSet)
if err != nil {
return err
}
if nv >= network.Version14 {
var withdrawn abi.TokenAmount
if err := withdrawn.UnmarshalCBOR(bytes.NewReader(wait.Receipt.Return)); err != nil {
return err
@ -300,6 +309,7 @@ var actorWithdrawCmd = &cli.Command{
if withdrawn != amount {
fmt.Printf("Note that this is less than the requested amount of %s FIL\n", amount)
}
}
return nil
},

View File

@ -5,6 +5,8 @@ import (
"fmt"
"os"
"github.com/filecoin-project/go-state-types/network"
"github.com/fatih/color"
"github.com/urfave/cli/v2"
"golang.org/x/xerrors"
@ -138,6 +140,12 @@ var actorWithdrawCmd = &cli.Command{
return err
}
nv, err := nodeAPI.StateNetworkVersion(ctx, wait.TipSet)
if err != nil {
return err
}
if nv >= network.Version14 {
var withdrawn abi.TokenAmount
if err := withdrawn.UnmarshalCBOR(bytes.NewReader(wait.Receipt.Return)); err != nil {
return err
@ -147,6 +155,7 @@ var actorWithdrawCmd = &cli.Command{
if withdrawn != amount {
fmt.Printf("Note that this is less than the requested amount of %s FIL\n", amount)
}
}
return nil
},