Get FilMined from the reward actor's state, not balance

This commit is contained in:
Aayush Rajasekaran 2020-08-10 16:13:09 -04:00
parent 165bcc1e38
commit b6b5a79833

View File

@ -914,16 +914,17 @@ func (sm *StateManager) GetFilVested(ctx context.Context, height abi.ChainEpoch,
} }
func GetFilMined(ctx context.Context, st *state.StateTree) (abi.TokenAmount, error) { func GetFilMined(ctx context.Context, st *state.StateTree) (abi.TokenAmount, error) {
rew, err := st.GetActor(builtin.RewardActorAddr) ractor, err := st.GetActor(builtin.RewardActorAddr)
if err != nil { if err != nil {
return big.Zero(), xerrors.Errorf("failed to load reward actor state: %w", err) return big.Zero(), xerrors.Errorf("failed to load reward actor state: %w", err)
} }
fm := types.BigSub(types.FromFil(build.FilAllocStorageMining), rew.Balance) var rst reward.State
if fm.LessThan(big.Zero()) { if err := st.Store.Get(ctx, ractor.Head, &rst); err != nil {
fm = big.Zero() return big.Zero(), xerrors.Errorf("failed to load reward state: %w", err)
} }
return fm, nil
return rst.TotalMined, nil
} }
func getFilMarketLocked(ctx context.Context, st *state.StateTree) (abi.TokenAmount, error) { func getFilMarketLocked(ctx context.Context, st *state.StateTree) (abi.TokenAmount, error) {