2d57bfe273
* Use local GST Use local GST * Import actors and define upgrade heights Creatin a mock actor-bundle and define upgrade heights * Generate adapters Updates gen/inlinegen-data.json, and runs make actors-gen * Add schedule and migration Add schedule and migration * Add upgrade and network version fields/params Add upgrade and network version fields/params * Run make gen / make docsgen-cli Run make gen / make docsgen-cli * Update filecoin-ffi Update filecoin-ffi to the v1.28.0-dev tag, which supports the nv23 skeleton. * Update GST to v0.14.0-dev Update GST to v0.14.0-dev, which includes the nv23 skeleton * Add support for actor version 14 in actor registry Add support for actor version 14 in actor registry
121 lines
3.4 KiB
Go
Generated
121 lines
3.4 KiB
Go
Generated
package reward
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/ipfs/go-cid"
|
|
|
|
"github.com/filecoin-project/go-state-types/abi"
|
|
actorstypes "github.com/filecoin-project/go-state-types/actors"
|
|
miner14 "github.com/filecoin-project/go-state-types/builtin/v14/miner"
|
|
reward14 "github.com/filecoin-project/go-state-types/builtin/v14/reward"
|
|
smoothing14 "github.com/filecoin-project/go-state-types/builtin/v14/util/smoothing"
|
|
"github.com/filecoin-project/go-state-types/manifest"
|
|
|
|
"github.com/filecoin-project/lotus/chain/actors"
|
|
"github.com/filecoin-project/lotus/chain/actors/adt"
|
|
"github.com/filecoin-project/lotus/chain/actors/builtin"
|
|
)
|
|
|
|
var _ State = (*state14)(nil)
|
|
|
|
func load14(store adt.Store, root cid.Cid) (State, error) {
|
|
out := state14{store: store}
|
|
err := store.Get(store.Context(), root, &out)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &out, nil
|
|
}
|
|
|
|
func make14(store adt.Store, currRealizedPower abi.StoragePower) (State, error) {
|
|
out := state14{store: store}
|
|
out.State = *reward14.ConstructState(currRealizedPower)
|
|
return &out, nil
|
|
}
|
|
|
|
type state14 struct {
|
|
reward14.State
|
|
store adt.Store
|
|
}
|
|
|
|
func (s *state14) ThisEpochReward() (abi.TokenAmount, error) {
|
|
return s.State.ThisEpochReward, nil
|
|
}
|
|
|
|
func (s *state14) ThisEpochRewardSmoothed() (builtin.FilterEstimate, error) {
|
|
|
|
return builtin.FilterEstimate{
|
|
PositionEstimate: s.State.ThisEpochRewardSmoothed.PositionEstimate,
|
|
VelocityEstimate: s.State.ThisEpochRewardSmoothed.VelocityEstimate,
|
|
}, nil
|
|
|
|
}
|
|
|
|
func (s *state14) ThisEpochBaselinePower() (abi.StoragePower, error) {
|
|
return s.State.ThisEpochBaselinePower, nil
|
|
}
|
|
|
|
func (s *state14) TotalStoragePowerReward() (abi.TokenAmount, error) {
|
|
return s.State.TotalStoragePowerReward, nil
|
|
}
|
|
|
|
func (s *state14) EffectiveBaselinePower() (abi.StoragePower, error) {
|
|
return s.State.EffectiveBaselinePower, nil
|
|
}
|
|
|
|
func (s *state14) EffectiveNetworkTime() (abi.ChainEpoch, error) {
|
|
return s.State.EffectiveNetworkTime, nil
|
|
}
|
|
|
|
func (s *state14) CumsumBaseline() (reward14.Spacetime, error) {
|
|
return s.State.CumsumBaseline, nil
|
|
}
|
|
|
|
func (s *state14) CumsumRealized() (reward14.Spacetime, error) {
|
|
return s.State.CumsumRealized, nil
|
|
}
|
|
|
|
func (s *state14) InitialPledgeForPower(qaPower abi.StoragePower, networkTotalPledge abi.TokenAmount, networkQAPower *builtin.FilterEstimate, circSupply abi.TokenAmount) (abi.TokenAmount, error) {
|
|
return miner14.InitialPledgeForPower(
|
|
qaPower,
|
|
s.State.ThisEpochBaselinePower,
|
|
s.State.ThisEpochRewardSmoothed,
|
|
smoothing14.FilterEstimate{
|
|
PositionEstimate: networkQAPower.PositionEstimate,
|
|
VelocityEstimate: networkQAPower.VelocityEstimate,
|
|
},
|
|
circSupply,
|
|
), nil
|
|
}
|
|
|
|
func (s *state14) PreCommitDepositForPower(networkQAPower builtin.FilterEstimate, sectorWeight abi.StoragePower) (abi.TokenAmount, error) {
|
|
return miner14.PreCommitDepositForPower(s.State.ThisEpochRewardSmoothed,
|
|
smoothing14.FilterEstimate{
|
|
PositionEstimate: networkQAPower.PositionEstimate,
|
|
VelocityEstimate: networkQAPower.VelocityEstimate,
|
|
},
|
|
sectorWeight), nil
|
|
}
|
|
|
|
func (s *state14) GetState() interface{} {
|
|
return &s.State
|
|
}
|
|
|
|
func (s *state14) ActorKey() string {
|
|
return manifest.RewardKey
|
|
}
|
|
|
|
func (s *state14) ActorVersion() actorstypes.Version {
|
|
return actorstypes.Version14
|
|
}
|
|
|
|
func (s *state14) Code() cid.Cid {
|
|
code, ok := actors.GetActorCodeID(s.ActorVersion(), s.ActorKey())
|
|
if !ok {
|
|
panic(fmt.Errorf("didn't find actor %v code id for actor version %d", s.ActorKey(), s.ActorVersion()))
|
|
}
|
|
|
|
return code
|
|
}
|