lotus/chain/actors/builtin/builtin.go

44 lines
1.2 KiB
Go
Raw Normal View History

package builtin
import (
"fmt"
2020-09-22 04:12:07 +00:00
"github.com/filecoin-project/go-state-types/abi"
miner0 "github.com/filecoin-project/specs-actors/actors/builtin/miner"
proof0 "github.com/filecoin-project/specs-actors/actors/runtime/proof"
2020-09-22 04:12:07 +00:00
smoothing0 "github.com/filecoin-project/specs-actors/actors/util/smoothing"
2020-09-15 23:47:58 +00:00
"github.com/filecoin-project/go-state-types/network"
)
type Version int
const (
Version0 = iota
)
// Converts a network version into a specs-actors version.
func VersionForNetwork(version network.Version) Version {
switch version {
2020-09-24 21:30:11 +00:00
case network.Version0, network.Version1, network.Version2, network.Version3:
2020-09-14 11:14:06 +00:00
return Version0
default:
panic(fmt.Sprintf("unsupported network version %d", version))
}
}
2020-09-15 23:47:58 +00:00
// TODO: Why does actors have 2 different versions of this?
type SectorInfo = proof0.SectorInfo
type PoStProof = proof0.PoStProof
type FilterEstimate = smoothing0.FilterEstimate
func FromV0FilterEstimate(v0 smoothing0.FilterEstimate) FilterEstimate {
return (FilterEstimate)(v0)
}
2020-09-22 04:12:07 +00:00
// Doesn't change between actors v0 and v1
func QAPowerForWeight(size abi.SectorSize, duration abi.ChainEpoch, dealWeight, verifiedWeight abi.DealWeight) abi.StoragePower {
return miner0.QAPowerForWeight(size, duration, dealWeight, verifiedWeight)
}