lotus/itests/kit/control.go

43 lines
1.0 KiB
Go
Raw Permalink Normal View History

2021-07-07 17:12:03 +00:00
package kit
import (
"context"
"github.com/stretchr/testify/require"
addr "github.com/filecoin-project/go-address"
"github.com/filecoin-project/go-state-types/big"
miner2 "github.com/filecoin-project/specs-actors/v2/actors/builtin/miner"
"github.com/filecoin-project/lotus/chain/actors"
"github.com/filecoin-project/lotus/chain/actors/builtin/miner"
"github.com/filecoin-project/lotus/chain/types"
)
2021-07-07 19:37:32 +00:00
func (tm *TestMiner) SetControlAddresses(addrs ...addr.Address) {
2021-07-07 17:12:03 +00:00
ctx := context.TODO()
2021-07-07 19:37:32 +00:00
mi, err := tm.FullNode.StateMinerInfo(ctx, tm.ActorAddr, types.EmptyTSK)
require.NoError(tm.t, err)
2021-07-07 17:12:03 +00:00
cwp := &miner2.ChangeWorkerAddressParams{
NewWorker: mi.Worker,
NewControlAddrs: addrs,
}
sp, err := actors.SerializeParams(cwp)
2021-07-07 19:37:32 +00:00
require.NoError(tm.t, err)
2021-07-07 17:12:03 +00:00
2021-07-07 19:37:32 +00:00
smsg, err := tm.FullNode.MpoolPushMessage(ctx, &types.Message{
2021-07-07 17:12:03 +00:00
From: mi.Owner,
2021-07-07 19:37:32 +00:00
To: tm.ActorAddr,
2021-07-07 17:12:03 +00:00
Method: miner.Methods.ChangeWorkerAddress,
Value: big.Zero(),
Params: sp,
}, nil)
2021-07-07 19:37:32 +00:00
require.NoError(tm.t, err)
2021-07-07 17:12:03 +00:00
2021-07-07 19:37:32 +00:00
tm.FullNode.WaitMsg(ctx, smsg.Cid())
2021-07-07 17:12:03 +00:00
}