fix: genesis preseal: get it working
This commit is contained in:
parent
452d1bfa41
commit
06a7d74426
@ -18,6 +18,7 @@ import (
|
|||||||
"github.com/filecoin-project/go-state-types/big"
|
"github.com/filecoin-project/go-state-types/big"
|
||||||
builtintypes "github.com/filecoin-project/go-state-types/builtin"
|
builtintypes "github.com/filecoin-project/go-state-types/builtin"
|
||||||
power11 "github.com/filecoin-project/go-state-types/builtin/v11/power"
|
power11 "github.com/filecoin-project/go-state-types/builtin/v11/power"
|
||||||
|
miner14 "github.com/filecoin-project/go-state-types/builtin/v14/miner"
|
||||||
minertypes "github.com/filecoin-project/go-state-types/builtin/v8/miner"
|
minertypes "github.com/filecoin-project/go-state-types/builtin/v8/miner"
|
||||||
markettypes "github.com/filecoin-project/go-state-types/builtin/v9/market"
|
markettypes "github.com/filecoin-project/go-state-types/builtin/v9/market"
|
||||||
miner9 "github.com/filecoin-project/go-state-types/builtin/v9/miner"
|
miner9 "github.com/filecoin-project/go-state-types/builtin/v9/miner"
|
||||||
@ -41,6 +42,7 @@ import (
|
|||||||
"github.com/filecoin-project/lotus/chain/actors/builtin/miner"
|
"github.com/filecoin-project/lotus/chain/actors/builtin/miner"
|
||||||
"github.com/filecoin-project/lotus/chain/actors/builtin/power"
|
"github.com/filecoin-project/lotus/chain/actors/builtin/power"
|
||||||
"github.com/filecoin-project/lotus/chain/actors/builtin/reward"
|
"github.com/filecoin-project/lotus/chain/actors/builtin/reward"
|
||||||
|
"github.com/filecoin-project/lotus/chain/actors/builtin/system"
|
||||||
"github.com/filecoin-project/lotus/chain/actors/policy"
|
"github.com/filecoin-project/lotus/chain/actors/policy"
|
||||||
"github.com/filecoin-project/lotus/chain/consensus"
|
"github.com/filecoin-project/lotus/chain/consensus"
|
||||||
lrand "github.com/filecoin-project/lotus/chain/rand"
|
lrand "github.com/filecoin-project/lotus/chain/rand"
|
||||||
@ -491,7 +493,12 @@ func SetupStorageMiners(ctx context.Context, cs *store.ChainStore, sys vm.Syscal
|
|||||||
// Commit one-by-one, otherwise pledge math tends to explode
|
// Commit one-by-one, otherwise pledge math tends to explode
|
||||||
var paramBytes []byte
|
var paramBytes []byte
|
||||||
|
|
||||||
if av >= actorstypes.Version6 {
|
if av >= actorstypes.Version14 {
|
||||||
|
confirmParams := &miner14.InternalSectorSetupForPresealParams{
|
||||||
|
Sectors: []abi.SectorNumber{preseal.SectorID},
|
||||||
|
}
|
||||||
|
paramBytes = mustEnc(confirmParams)
|
||||||
|
} else if av >= actorstypes.Version6 {
|
||||||
// TODO: fixup
|
// TODO: fixup
|
||||||
confirmParams := &builtin6.ConfirmSectorProofsParams{
|
confirmParams := &builtin6.ConfirmSectorProofsParams{
|
||||||
Sectors: []abi.SectorNumber{preseal.SectorID},
|
Sectors: []abi.SectorNumber{preseal.SectorID},
|
||||||
@ -506,9 +513,17 @@ func SetupStorageMiners(ctx context.Context, cs *store.ChainStore, sys vm.Syscal
|
|||||||
paramBytes = mustEnc(confirmParams)
|
paramBytes = mustEnc(confirmParams)
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = doExecValue(ctx, genesisVm, minerInfos[i].maddr, power.Address, big.Zero(), builtintypes.MethodsMiner.ConfirmSectorProofsValid, paramBytes)
|
var csErr error
|
||||||
if err != nil {
|
if nv >= network.Version23 {
|
||||||
return cid.Undef, xerrors.Errorf("failed to confirm presealed sectors: %w", err)
|
_, csErr = doExecValue(ctx, genesisVm, minerInfos[i].maddr, system.Address, big.Zero(), builtintypes.MethodsMiner.InternalSectorSetupForPreseal,
|
||||||
|
paramBytes)
|
||||||
|
} else {
|
||||||
|
_, csErr = doExecValue(ctx, genesisVm, minerInfos[i].maddr, power.Address, big.Zero(), builtintypes.MethodsMiner.InternalSectorSetupForPreseal,
|
||||||
|
paramBytes)
|
||||||
|
}
|
||||||
|
|
||||||
|
if csErr != nil {
|
||||||
|
return cid.Undef, xerrors.Errorf("failed to confirm presealed sectors: %w", csErr)
|
||||||
}
|
}
|
||||||
|
|
||||||
if av >= actorstypes.Version2 {
|
if av >= actorstypes.Version2 {
|
||||||
|
Loading…
Reference in New Issue
Block a user