use abstract actor type methods

This commit is contained in:
Steven Allen 2020-09-22 12:02:29 -07:00
parent c91774be3b
commit 2967c4ec10
4 changed files with 13 additions and 14 deletions

View File

@ -7,13 +7,13 @@ import (
"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/big"
builtin0 "github.com/filecoin-project/specs-actors/actors/builtin"
miner0 "github.com/filecoin-project/specs-actors/actors/builtin/miner" miner0 "github.com/filecoin-project/specs-actors/actors/builtin/miner"
power0 "github.com/filecoin-project/specs-actors/actors/builtin/power" power0 "github.com/filecoin-project/specs-actors/actors/builtin/power"
adt0 "github.com/filecoin-project/specs-actors/actors/util/adt" adt0 "github.com/filecoin-project/specs-actors/actors/util/adt"
"github.com/filecoin-project/lotus/build" "github.com/filecoin-project/lotus/build"
"github.com/filecoin-project/lotus/chain/types" "github.com/filecoin-project/lotus/chain/types"
"github.com/filecoin-project/specs-actors/actors/builtin"
cbor "github.com/ipfs/go-ipld-cbor" cbor "github.com/ipfs/go-ipld-cbor"
"golang.org/x/xerrors" "golang.org/x/xerrors"
) )
@ -123,7 +123,7 @@ func UpgradeFaucetBurnRecovery(ctx context.Context, sm *StateManager, tree types
// Take all excess funds away, put them into the reserve account // Take all excess funds away, put them into the reserve account
err = fetree.ForEach(func(addr address.Address, act *types.Actor) error { err = fetree.ForEach(func(addr address.Address, act *types.Actor) error {
switch act.Code { switch act.Code {
case builtin.AccountActorCodeID, builtin.MultisigActorCodeID, builtin.PaymentChannelActorCodeID: case builtin0.AccountActorCodeID, builtin0.MultisigActorCodeID, builtin0.PaymentChannelActorCodeID:
sysAcc, err := isSystemAccount(addr) sysAcc, err := isSystemAccount(addr)
if err != nil { if err != nil {
return xerrors.Errorf("checking system account: %w", err) return xerrors.Errorf("checking system account: %w", err)
@ -136,7 +136,7 @@ func UpgradeFaucetBurnRecovery(ctx context.Context, sm *StateManager, tree types
Amt: act.Balance, Amt: act.Balance,
}) })
} }
case builtin.StorageMinerActorCodeID: case builtin0.StorageMinerActorCodeID:
var st miner0.State var st miner0.State
if err := sm.ChainStore().Store(ctx).Get(ctx, act.Head, &st); err != nil { if err := sm.ChainStore().Store(ctx).Get(ctx, act.Head, &st); err != nil {
return xerrors.Errorf("failed to load miner state: %w", err) return xerrors.Errorf("failed to load miner state: %w", err)
@ -175,7 +175,7 @@ func UpgradeFaucetBurnRecovery(ctx context.Context, sm *StateManager, tree types
// pull up power table to give miners back some funds proportional to their power // pull up power table to give miners back some funds proportional to their power
var ps power0.State var ps power0.State
powAct, err := tree.GetActor(builtin.StoragePowerActorAddr) powAct, err := tree.GetActor(builtin0.StoragePowerActorAddr)
if err != nil { if err != nil {
return xerrors.Errorf("failed to load power actor: %w", err) return xerrors.Errorf("failed to load power actor: %w", err)
} }
@ -203,7 +203,7 @@ func UpgradeFaucetBurnRecovery(ctx context.Context, sm *StateManager, tree types
} }
switch act.Code { switch act.Code {
case builtin.AccountActorCodeID, builtin.MultisigActorCodeID, builtin.PaymentChannelActorCodeID: case builtin0.AccountActorCodeID, builtin0.MultisigActorCodeID, builtin0.PaymentChannelActorCodeID:
nbalance := big.Min(prevBalance, AccountCap) nbalance := big.Min(prevBalance, AccountCap)
if nbalance.Sign() != 0 { if nbalance.Sign() != 0 {
transfersBack = append(transfersBack, transfer{ transfersBack = append(transfersBack, transfer{
@ -212,7 +212,7 @@ func UpgradeFaucetBurnRecovery(ctx context.Context, sm *StateManager, tree types
Amt: nbalance, Amt: nbalance,
}) })
} }
case builtin.StorageMinerActorCodeID: case builtin0.StorageMinerActorCodeID:
var st miner0.State var st miner0.State
if err := sm.ChainStore().Store(ctx).Get(ctx, act.Head, &st); err != nil { if err := sm.ChainStore().Store(ctx).Get(ctx, act.Head, &st); err != nil {
return xerrors.Errorf("failed to load miner state: %w", err) return xerrors.Errorf("failed to load miner state: %w", err)
@ -277,11 +277,11 @@ func UpgradeFaucetBurnRecovery(ctx context.Context, sm *StateManager, tree types
} }
// transfer all burnt funds back to the reserve account // transfer all burnt funds back to the reserve account
burntAct, err := tree.GetActor(builtin.BurntFundsActorAddr) burntAct, err := tree.GetActor(builtin0.BurntFundsActorAddr)
if err != nil { if err != nil {
return xerrors.Errorf("failed to load burnt funds actor: %w", err) return xerrors.Errorf("failed to load burnt funds actor: %w", err)
} }
if err := doTransfer(tree, builtin.BurntFundsActorAddr, ReserveAddress, burntAct.Balance); err != nil { if err := doTransfer(tree, builtin0.BurntFundsActorAddr, ReserveAddress, burntAct.Balance); err != nil {
return xerrors.Errorf("failed to unburn funds: %w", err) return xerrors.Errorf("failed to unburn funds: %w", err)
} }

View File

@ -384,7 +384,7 @@ func (vm *VM) ApplyMessage(ctx context.Context, cmsg types.ChainMsg) (*ApplyRet,
} }
// this should never happen, but is currently still exercised by some tests // this should never happen, but is currently still exercised by some tests
if !fromActor.Code.Equals(builtin.AccountActorCodeID) { if !fromActor.IsAccountActor() {
gasOutputs := ZeroGasOutputs() gasOutputs := ZeroGasOutputs()
gasOutputs.MinerPenalty = minerPenaltyAmount gasOutputs.MinerPenalty = minerPenaltyAmount
return &ApplyRet{ return &ApplyRet{

View File

@ -16,7 +16,6 @@ import (
"github.com/urfave/cli/v2" "github.com/urfave/cli/v2"
"golang.org/x/xerrors" "golang.org/x/xerrors"
"github.com/filecoin-project/specs-actors/actors/builtin"
init0 "github.com/filecoin-project/specs-actors/actors/builtin/init" init0 "github.com/filecoin-project/specs-actors/actors/builtin/init"
msig0 "github.com/filecoin-project/specs-actors/actors/builtin/multisig" msig0 "github.com/filecoin-project/specs-actors/actors/builtin/multisig"
@ -330,7 +329,7 @@ var msigProposeCmd = &cli.Command{
return fmt.Errorf("failed to look up multisig %s: %w", msig, err) return fmt.Errorf("failed to look up multisig %s: %w", msig, err)
} }
if act.Code != builtin.MultisigActorCodeID { if !act.IsMultisigActor() {
return fmt.Errorf("actor %s is not a multisig actor", msig) return fmt.Errorf("actor %s is not a multisig actor", msig)
} }

View File

@ -12,10 +12,10 @@ import (
"strconv" "strconv"
"time" "time"
"github.com/filecoin-project/specs-actors/actors/builtin"
miner0 "github.com/filecoin-project/specs-actors/actors/builtin/miner" miner0 "github.com/filecoin-project/specs-actors/actors/builtin/miner"
"github.com/filecoin-project/go-state-types/network" "github.com/filecoin-project/go-state-types/network"
"github.com/filecoin-project/lotus/chain/actors/builtin/miner"
"github.com/ipfs/go-cid" "github.com/ipfs/go-cid"
logging "github.com/ipfs/go-log/v2" logging "github.com/ipfs/go-log/v2"
@ -28,11 +28,11 @@ import (
"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/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/go-address" "github.com/filecoin-project/go-address"
"github.com/filecoin-project/lotus/api" "github.com/filecoin-project/lotus/api"
"github.com/filecoin-project/lotus/build" "github.com/filecoin-project/lotus/build"
"github.com/filecoin-project/lotus/chain/actors/builtin/miner"
"github.com/filecoin-project/lotus/chain/types" "github.com/filecoin-project/lotus/chain/types"
"github.com/filecoin-project/lotus/tools/stats" "github.com/filecoin-project/lotus/tools/stats"
) )
@ -375,7 +375,7 @@ func (r *refunder) ProcessTipset(ctx context.Context, tipset *types.TipSet, refu
continue continue
} }
if a.Code != builtin.StorageMinerActorCodeID { if !a.IsStorageMinerActor() {
continue continue
} }