fix genesis for actors v2
This commit is contained in:
parent
9911ab1000
commit
3235dbfaee
@ -6,30 +6,6 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
|
|
||||||
power4 "github.com/filecoin-project/specs-actors/v4/actors/builtin/power"
|
|
||||||
|
|
||||||
reward4 "github.com/filecoin-project/specs-actors/v4/actors/builtin/reward"
|
|
||||||
|
|
||||||
market4 "github.com/filecoin-project/specs-actors/v4/actors/builtin/market"
|
|
||||||
|
|
||||||
"github.com/filecoin-project/lotus/chain/actors"
|
|
||||||
|
|
||||||
"github.com/filecoin-project/lotus/chain/actors/builtin"
|
|
||||||
|
|
||||||
"github.com/filecoin-project/lotus/chain/actors/policy"
|
|
||||||
|
|
||||||
"github.com/filecoin-project/lotus/chain/actors/adt"
|
|
||||||
|
|
||||||
"github.com/filecoin-project/go-state-types/network"
|
|
||||||
|
|
||||||
market0 "github.com/filecoin-project/specs-actors/actors/builtin/market"
|
|
||||||
|
|
||||||
"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/market"
|
|
||||||
"github.com/filecoin-project/lotus/chain/actors/builtin/miner"
|
|
||||||
|
|
||||||
"github.com/ipfs/go-cid"
|
"github.com/ipfs/go-cid"
|
||||||
cbor "github.com/ipfs/go-ipld-cbor"
|
cbor "github.com/ipfs/go-ipld-cbor"
|
||||||
cbg "github.com/whyrusleeping/cbor-gen"
|
cbg "github.com/whyrusleeping/cbor-gen"
|
||||||
@ -39,12 +15,28 @@ 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/crypto"
|
"github.com/filecoin-project/go-state-types/crypto"
|
||||||
|
"github.com/filecoin-project/go-state-types/network"
|
||||||
|
|
||||||
builtin0 "github.com/filecoin-project/specs-actors/actors/builtin"
|
builtin0 "github.com/filecoin-project/specs-actors/actors/builtin"
|
||||||
|
market0 "github.com/filecoin-project/specs-actors/actors/builtin/market"
|
||||||
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"
|
||||||
reward0 "github.com/filecoin-project/specs-actors/actors/builtin/reward"
|
reward0 "github.com/filecoin-project/specs-actors/actors/builtin/reward"
|
||||||
|
market2 "github.com/filecoin-project/specs-actors/v2/actors/builtin/market"
|
||||||
|
reward2 "github.com/filecoin-project/specs-actors/v2/actors/builtin/reward"
|
||||||
|
market4 "github.com/filecoin-project/specs-actors/v4/actors/builtin/market"
|
||||||
|
power4 "github.com/filecoin-project/specs-actors/v4/actors/builtin/power"
|
||||||
|
reward4 "github.com/filecoin-project/specs-actors/v4/actors/builtin/reward"
|
||||||
runtime5 "github.com/filecoin-project/specs-actors/v5/actors/runtime"
|
runtime5 "github.com/filecoin-project/specs-actors/v5/actors/runtime"
|
||||||
|
|
||||||
|
"github.com/filecoin-project/lotus/chain/actors"
|
||||||
|
"github.com/filecoin-project/lotus/chain/actors/adt"
|
||||||
|
"github.com/filecoin-project/lotus/chain/actors/builtin"
|
||||||
|
"github.com/filecoin-project/lotus/chain/actors/builtin/market"
|
||||||
|
"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/reward"
|
||||||
|
"github.com/filecoin-project/lotus/chain/actors/policy"
|
||||||
"github.com/filecoin-project/lotus/chain/state"
|
"github.com/filecoin-project/lotus/chain/state"
|
||||||
"github.com/filecoin-project/lotus/chain/store"
|
"github.com/filecoin-project/lotus/chain/store"
|
||||||
"github.com/filecoin-project/lotus/chain/types"
|
"github.com/filecoin-project/lotus/chain/types"
|
||||||
@ -404,8 +396,8 @@ func SetupStorageMiners(ctx context.Context, cs *store.ChainStore, sys vm.Syscal
|
|||||||
return cid.Undef, xerrors.Errorf("failed to confirm presealed sectors: %w", err)
|
return cid.Undef, xerrors.Errorf("failed to confirm presealed sectors: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if av > actors.Version2 {
|
if av >= actors.Version2 {
|
||||||
// post v2, we need to explicitly Claim this power since ConfirmSectorProofsValid doesn't do it anymore
|
// post v0, we need to explicitly Claim this power since ConfirmSectorProofsValid doesn't do it anymore
|
||||||
claimParams := &power4.UpdateClaimedPowerParams{
|
claimParams := &power4.UpdateClaimedPowerParams{
|
||||||
RawByteDelta: types.NewInt(uint64(m.SectorSize)),
|
RawByteDelta: types.NewInt(uint64(m.SectorSize)),
|
||||||
QualityAdjustedDelta: sectorWeight,
|
QualityAdjustedDelta: sectorWeight,
|
||||||
@ -537,7 +529,6 @@ func dealWeight(ctx context.Context, vm *vm.VM, maddr address.Address, dealIDs [
|
|||||||
SectorExpiry: sectorExpiry,
|
SectorExpiry: sectorExpiry,
|
||||||
}
|
}
|
||||||
|
|
||||||
var dealWeights market0.VerifyDealsForActivationReturn
|
|
||||||
ret, err := doExecValue(ctx, vm,
|
ret, err := doExecValue(ctx, vm,
|
||||||
market.Address,
|
market.Address,
|
||||||
maddr,
|
maddr,
|
||||||
@ -548,11 +539,23 @@ func dealWeight(ctx context.Context, vm *vm.VM, maddr address.Address, dealIDs [
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return big.Zero(), big.Zero(), err
|
return big.Zero(), big.Zero(), err
|
||||||
}
|
}
|
||||||
if err := dealWeights.UnmarshalCBOR(bytes.NewReader(ret)); err != nil {
|
var weight, verifiedWeight abi.DealWeight
|
||||||
|
if av < actors.Version2 {
|
||||||
|
var dealWeights market0.VerifyDealsForActivationReturn
|
||||||
|
err = dealWeights.UnmarshalCBOR(bytes.NewReader(ret))
|
||||||
|
weight = dealWeights.DealWeight
|
||||||
|
verifiedWeight = dealWeights.VerifiedDealWeight
|
||||||
|
} else {
|
||||||
|
var dealWeights market2.VerifyDealsForActivationReturn
|
||||||
|
err = dealWeights.UnmarshalCBOR(bytes.NewReader(ret))
|
||||||
|
weight = dealWeights.DealWeight
|
||||||
|
verifiedWeight = dealWeights.VerifiedDealWeight
|
||||||
|
}
|
||||||
|
if err != nil {
|
||||||
return big.Zero(), big.Zero(), err
|
return big.Zero(), big.Zero(), err
|
||||||
}
|
}
|
||||||
|
|
||||||
return dealWeights.DealWeight, dealWeights.VerifiedDealWeight, nil
|
return weight, verifiedWeight, nil
|
||||||
}
|
}
|
||||||
params := &market4.VerifyDealsForActivationParams{Sectors: []market4.SectorDeals{{
|
params := &market4.VerifyDealsForActivationParams{Sectors: []market4.SectorDeals{{
|
||||||
SectorExpiry: sectorExpiry,
|
SectorExpiry: sectorExpiry,
|
||||||
@ -584,7 +587,8 @@ func currentEpochBlockReward(ctx context.Context, vm *vm.VM, maddr address.Addre
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TODO: This hack should move to reward actor wrapper
|
// TODO: This hack should move to reward actor wrapper
|
||||||
if av <= actors.Version2 {
|
switch av {
|
||||||
|
case actors.Version0:
|
||||||
var epochReward reward0.ThisEpochRewardReturn
|
var epochReward reward0.ThisEpochRewardReturn
|
||||||
|
|
||||||
if err := epochReward.UnmarshalCBOR(bytes.NewReader(rwret)); err != nil {
|
if err := epochReward.UnmarshalCBOR(bytes.NewReader(rwret)); err != nil {
|
||||||
@ -592,6 +596,14 @@ func currentEpochBlockReward(ctx context.Context, vm *vm.VM, maddr address.Addre
|
|||||||
}
|
}
|
||||||
|
|
||||||
return epochReward.ThisEpochBaselinePower, *epochReward.ThisEpochRewardSmoothed, nil
|
return epochReward.ThisEpochBaselinePower, *epochReward.ThisEpochRewardSmoothed, nil
|
||||||
|
case actors.Version2:
|
||||||
|
var epochReward reward2.ThisEpochRewardReturn
|
||||||
|
|
||||||
|
if err := epochReward.UnmarshalCBOR(bytes.NewReader(rwret)); err != nil {
|
||||||
|
return big.Zero(), builtin.FilterEstimate{}, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return epochReward.ThisEpochBaselinePower, builtin.FilterEstimate(epochReward.ThisEpochRewardSmoothed), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
var epochReward reward4.ThisEpochRewardReturn
|
var epochReward reward4.ThisEpochRewardReturn
|
||||||
|
Loading…
Reference in New Issue
Block a user