fix genesis for actors v2
This commit is contained in:
		
							parent
							
								
									9911ab1000
								
							
						
					
					
						commit
						3235dbfaee
					
				| @ -6,30 +6,6 @@ import ( | ||||
| 	"fmt" | ||||
| 	"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" | ||||
| 	cbor "github.com/ipfs/go-ipld-cbor" | ||||
| 	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/big" | ||||
| 	"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" | ||||
| 	market0 "github.com/filecoin-project/specs-actors/actors/builtin/market" | ||||
| 	miner0 "github.com/filecoin-project/specs-actors/actors/builtin/miner" | ||||
| 	power0 "github.com/filecoin-project/specs-actors/actors/builtin/power" | ||||
| 	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" | ||||
| 
 | ||||
| 	"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/store" | ||||
| 	"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) | ||||
| 				} | ||||
| 
 | ||||
| 				if av > actors.Version2 { | ||||
| 					// post v2, we need to explicitly Claim this power since ConfirmSectorProofsValid doesn't do it anymore
 | ||||
| 				if av >= actors.Version2 { | ||||
| 					// post v0, we need to explicitly Claim this power since ConfirmSectorProofsValid doesn't do it anymore
 | ||||
| 					claimParams := &power4.UpdateClaimedPowerParams{ | ||||
| 						RawByteDelta:         types.NewInt(uint64(m.SectorSize)), | ||||
| 						QualityAdjustedDelta: sectorWeight, | ||||
| @ -537,7 +529,6 @@ func dealWeight(ctx context.Context, vm *vm.VM, maddr address.Address, dealIDs [ | ||||
| 			SectorExpiry: sectorExpiry, | ||||
| 		} | ||||
| 
 | ||||
| 		var dealWeights market0.VerifyDealsForActivationReturn | ||||
| 		ret, err := doExecValue(ctx, vm, | ||||
| 			market.Address, | ||||
| 			maddr, | ||||
| @ -548,11 +539,23 @@ func dealWeight(ctx context.Context, vm *vm.VM, maddr address.Address, dealIDs [ | ||||
| 		if err != nil { | ||||
| 			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 dealWeights.DealWeight, dealWeights.VerifiedDealWeight, nil | ||||
| 		return weight, verifiedWeight, nil | ||||
| 	} | ||||
| 	params := &market4.VerifyDealsForActivationParams{Sectors: []market4.SectorDeals{{ | ||||
| 		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
 | ||||
| 	if av <= actors.Version2 { | ||||
| 	switch av { | ||||
| 	case actors.Version0: | ||||
| 		var epochReward reward0.ThisEpochRewardReturn | ||||
| 
 | ||||
| 		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 | ||||
| 	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 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user