fix: Comment out affected Actor interactions from API shift
This commit is contained in:
parent
d30e120608
commit
7e46fc1d8f
@ -4,17 +4,17 @@ import (
|
|||||||
"bytes"
|
"bytes"
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
//"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/filecoin-project/go-address"
|
"github.com/filecoin-project/go-address"
|
||||||
"github.com/filecoin-project/lotus/chain/events/state"
|
//"github.com/filecoin-project/lotus/chain/events/state"
|
||||||
"github.com/filecoin-project/specs-actors/actors/abi"
|
"github.com/filecoin-project/specs-actors/actors/abi"
|
||||||
"golang.org/x/sync/errgroup"
|
"golang.org/x/sync/errgroup"
|
||||||
"golang.org/x/xerrors"
|
"golang.org/x/xerrors"
|
||||||
|
|
||||||
"github.com/libp2p/go-libp2p-core/peer"
|
//"github.com/libp2p/go-libp2p-core/peer"
|
||||||
|
|
||||||
"github.com/filecoin-project/specs-actors/actors/abi/big"
|
"github.com/filecoin-project/specs-actors/actors/abi/big"
|
||||||
"github.com/filecoin-project/specs-actors/actors/builtin"
|
"github.com/filecoin-project/specs-actors/actors/builtin"
|
||||||
@ -263,32 +263,33 @@ func (p *Processor) storeMinersActorState(miners []minerActorInfo) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
for _, m := range miners {
|
// TODO: Consume new Actor API
|
||||||
var pid string
|
//for _, m := range miners {
|
||||||
if len(m.state.Info.PeerId) != 0 {
|
//var pid string
|
||||||
peerid, err := peer.IDFromBytes(m.state.Info.PeerId)
|
//if len(m.state.Info.PeerId) != 0 {
|
||||||
if err != nil {
|
//peerid, err := peer.IDFromBytes(m.state.Info.PeerId)
|
||||||
// this should "never happen", but if it does we should still store info about the miner.
|
//if err != nil {
|
||||||
log.Warnw("failed to decode peerID", "peerID (bytes)", m.state.Info.PeerId, "miner", m.common.addr, "tipset", m.common.tsKey.String())
|
//// this should "never happen", but if it does we should still store info about the miner.
|
||||||
} else {
|
//log.Warnw("failed to decode peerID", "peerID (bytes)", m.state.Info.PeerId, "miner", m.common.addr, "tipset", m.common.tsKey.String())
|
||||||
pid = peerid.String()
|
//} else {
|
||||||
}
|
//pid = peerid.String()
|
||||||
}
|
//}
|
||||||
if _, err := stmt.Exec(
|
//}
|
||||||
m.common.addr.String(),
|
//if _, err := stmt.Exec(
|
||||||
m.state.Info.Owner.String(),
|
//m.common.addr.String(),
|
||||||
m.state.Info.Worker.String(),
|
//m.state.Info.Owner.String(),
|
||||||
pid,
|
//m.state.Info.Worker.String(),
|
||||||
m.state.Info.SectorSize.ShortString(),
|
//pid,
|
||||||
m.state.PreCommitDeposits.String(),
|
//m.state.Info.SectorSize.ShortString(),
|
||||||
m.state.LockedFunds.String(),
|
//m.state.PreCommitDeposits.String(),
|
||||||
m.state.NextDeadlineToProcessFaults,
|
//m.state.LockedFunds.String(),
|
||||||
); err != nil {
|
//m.state.NextDeadlineToProcessFaults,
|
||||||
log.Errorw("failed to store miner state", "state", m.state, "info", m.state.Info, "error", err)
|
//); err != nil {
|
||||||
return xerrors.Errorf("failed to store miner state: %w", err)
|
//log.Errorw("failed to store miner state", "state", m.state, "info", m.state.Info, "error", err)
|
||||||
}
|
//return xerrors.Errorf("failed to store miner state: %w", err)
|
||||||
|
//}
|
||||||
|
|
||||||
}
|
//}
|
||||||
if err := stmt.Close(); err != nil {
|
if err := stmt.Close(); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -380,12 +381,17 @@ func (p *Processor) storeMinersSectorState(miners []minerActorInfo) error {
|
|||||||
if _, err := stmt.Exec(
|
if _, err := stmt.Exec(
|
||||||
m.common.addr.String(),
|
m.common.addr.String(),
|
||||||
uint64(sector.ID),
|
uint64(sector.ID),
|
||||||
int64(sector.Info.ActivationEpoch),
|
// TODO: Consume new Actor API
|
||||||
int64(sector.Info.Info.Expiration),
|
//int64(sector.Info.ActivationEpoch),
|
||||||
|
0,
|
||||||
|
//int64(sector.Info.Info.Expiration),
|
||||||
|
0,
|
||||||
sector.Info.DealWeight.String(),
|
sector.Info.DealWeight.String(),
|
||||||
sector.Info.VerifiedDealWeight.String(),
|
sector.Info.VerifiedDealWeight.String(),
|
||||||
sector.Info.Info.SealedCID.String(),
|
//sector.Info.Info.SealedCID.String(),
|
||||||
int64(sector.Info.Info.SealRandEpoch),
|
"",
|
||||||
|
//int64(sector.Info.Info.SealRandEpoch),
|
||||||
|
0,
|
||||||
); err != nil {
|
); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -466,7 +472,7 @@ func (p *Processor) updateMinersSectors(ctx context.Context, miners []minerActor
|
|||||||
log.Debugw("Updated Miners Sectors", "duration", time.Since(start).String())
|
log.Debugw("Updated Miners Sectors", "duration", time.Since(start).String())
|
||||||
}()
|
}()
|
||||||
|
|
||||||
pred := state.NewStatePredicates(p.node)
|
//pred := state.NewStatePredicates(p.node)
|
||||||
|
|
||||||
eventTx, err := p.db.Begin()
|
eventTx, err := p.db.Begin()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -493,86 +499,87 @@ func (p *Processor) updateMinersSectors(ctx context.Context, miners []minerActor
|
|||||||
updateWg.Done()
|
updateWg.Done()
|
||||||
}()
|
}()
|
||||||
|
|
||||||
minerGrp, ctx := errgroup.WithContext(ctx)
|
// TODO: Resolve Actor interface shift
|
||||||
complete := 0
|
//minerGrp, ctx := errgroup.WithContext(ctx)
|
||||||
for _, m := range miners {
|
//complete := 0
|
||||||
m := m
|
//for _, m := range miners {
|
||||||
minerGrp.Go(func() error {
|
//m := m
|
||||||
// special case genesis miners
|
//minerGrp.Go(func() error {
|
||||||
sectorDiffFn := pred.OnMinerActorChange(m.common.addr, pred.OnMinerSectorChange())
|
//// special case genesis miners
|
||||||
changed, val, err := sectorDiffFn(ctx, m.common.parentTsKey, m.common.tsKey)
|
//sectorDiffFn := pred.OnMinerActorChange(m.common.addr, pred.OnMinerSectorChange())
|
||||||
if err != nil {
|
//changed, val, err := sectorDiffFn(ctx, m.common.parentTsKey, m.common.tsKey)
|
||||||
if strings.Contains(err.Error(), "address not found") {
|
//if err != nil {
|
||||||
return nil
|
//if strings.Contains(err.Error(), "address not found") {
|
||||||
}
|
//return nil
|
||||||
log.Errorw("error getting miner sector diff", "miner", m.common.addr, "error", err)
|
//}
|
||||||
return err
|
//log.Errorw("error getting miner sector diff", "miner", m.common.addr, "error", err)
|
||||||
}
|
//return err
|
||||||
if !changed {
|
//}
|
||||||
complete++
|
//if !changed {
|
||||||
return nil
|
//complete++
|
||||||
}
|
//return nil
|
||||||
changes, ok := val.(*state.MinerSectorChanges)
|
//}
|
||||||
if !ok {
|
//changes, ok := val.(*state.MinerSectorChanges)
|
||||||
log.Fatalw("Developer Error")
|
//if !ok {
|
||||||
}
|
//log.Fatalw("Developer Error")
|
||||||
log.Debugw("sector changes for miner", "miner", m.common.addr.String(), "Added", len(changes.Added), "Extended", len(changes.Extended), "Removed", len(changes.Removed), "oldState", m.common.parentTsKey, "newState", m.common.tsKey)
|
//}
|
||||||
|
//log.Debugw("sector changes for miner", "miner", m.common.addr.String(), "Added", len(changes.Added), "Extended", len(changes.Extended), "Removed", len(changes.Removed), "oldState", m.common.parentTsKey, "newState", m.common.tsKey)
|
||||||
|
|
||||||
for _, extended := range changes.Extended {
|
//for _, extended := range changes.Extended {
|
||||||
if _, err := eventStmt.Exec(extended.To.Info.SectorNumber, "EXTENDED", m.common.addr.String(), m.common.stateroot.String()); err != nil {
|
//if _, err := eventStmt.Exec(extended.To.Info.SectorNumber, "EXTENDED", m.common.addr.String(), m.common.stateroot.String()); err != nil {
|
||||||
return err
|
//return err
|
||||||
}
|
//}
|
||||||
sectorUpdatesCh <- sectorUpdate{
|
//sectorUpdatesCh <- sectorUpdate{
|
||||||
terminationEpoch: 0,
|
//terminationEpoch: 0,
|
||||||
terminated: false,
|
//terminated: false,
|
||||||
expirationEpoch: extended.To.Info.Expiration,
|
//expirationEpoch: extended.To.Info.Expiration,
|
||||||
sectorID: extended.From.Info.SectorNumber,
|
//sectorID: extended.From.Info.SectorNumber,
|
||||||
minerID: m.common.addr,
|
//minerID: m.common.addr,
|
||||||
}
|
//}
|
||||||
|
|
||||||
log.Debugw("sector extended", "miner", m.common.addr.String(), "sector", extended.To.Info.SectorNumber, "old", extended.To.Info.Expiration, "new", extended.From.Info.Expiration)
|
//log.Debugw("sector extended", "miner", m.common.addr.String(), "sector", extended.To.Info.SectorNumber, "old", extended.To.Info.Expiration, "new", extended.From.Info.Expiration)
|
||||||
}
|
//}
|
||||||
curTs, err := p.node.ChainGetTipSet(ctx, m.common.tsKey)
|
//curTs, err := p.node.ChainGetTipSet(ctx, m.common.tsKey)
|
||||||
if err != nil {
|
//if err != nil {
|
||||||
return err
|
//return err
|
||||||
}
|
//}
|
||||||
|
|
||||||
for _, removed := range changes.Removed {
|
//for _, removed := range changes.Removed {
|
||||||
log.Debugw("removed", "miner", m.common.addr)
|
//log.Debugw("removed", "miner", m.common.addr)
|
||||||
// decide if they were terminated or extended
|
//// decide if they were terminated or extended
|
||||||
if removed.Info.Expiration > curTs.Height() {
|
//if removed.Info.Expiration > curTs.Height() {
|
||||||
if _, err := eventStmt.Exec(removed.Info.SectorNumber, "TERMINATED", m.common.addr.String(), m.common.stateroot.String()); err != nil {
|
//if _, err := eventStmt.Exec(removed.Info.SectorNumber, "TERMINATED", m.common.addr.String(), m.common.stateroot.String()); err != nil {
|
||||||
return err
|
//return err
|
||||||
}
|
//}
|
||||||
log.Debugw("sector terminated", "miner", m.common.addr.String(), "sector", removed.Info.SectorNumber, "old", "sectorExpiration", removed.Info.Expiration, "terminationEpoch", curTs.Height())
|
//log.Debugw("sector terminated", "miner", m.common.addr.String(), "sector", removed.Info.SectorNumber, "old", "sectorExpiration", removed.Info.Expiration, "terminationEpoch", curTs.Height())
|
||||||
sectorUpdatesCh <- sectorUpdate{
|
//sectorUpdatesCh <- sectorUpdate{
|
||||||
terminationEpoch: curTs.Height(),
|
//terminationEpoch: curTs.Height(),
|
||||||
terminated: true,
|
//terminated: true,
|
||||||
expirationEpoch: removed.Info.Expiration,
|
//expirationEpoch: removed.Info.Expiration,
|
||||||
sectorID: removed.Info.SectorNumber,
|
//sectorID: removed.Info.SectorNumber,
|
||||||
minerID: m.common.addr,
|
//minerID: m.common.addr,
|
||||||
}
|
//}
|
||||||
|
|
||||||
}
|
//}
|
||||||
if _, err := eventStmt.Exec(removed.Info.SectorNumber, "EXPIRED", m.common.addr.String(), m.common.stateroot.String()); err != nil {
|
//if _, err := eventStmt.Exec(removed.Info.SectorNumber, "EXPIRED", m.common.addr.String(), m.common.stateroot.String()); err != nil {
|
||||||
return err
|
//return err
|
||||||
}
|
//}
|
||||||
log.Debugw("sector removed", "miner", m.common.addr.String(), "sector", removed.Info.SectorNumber, "old", "sectorExpiration", removed.Info.Expiration, "currEpoch", curTs.Height())
|
//log.Debugw("sector removed", "miner", m.common.addr.String(), "sector", removed.Info.SectorNumber, "old", "sectorExpiration", removed.Info.Expiration, "currEpoch", curTs.Height())
|
||||||
}
|
//}
|
||||||
|
|
||||||
for _, added := range changes.Added {
|
//for _, added := range changes.Added {
|
||||||
if _, err := eventStmt.Exec(added.Info.SectorNumber, "ADDED", m.common.addr.String(), m.common.stateroot.String()); err != nil {
|
//if _, err := eventStmt.Exec(added.Info.SectorNumber, "ADDED", m.common.addr.String(), m.common.stateroot.String()); err != nil {
|
||||||
return err
|
//return err
|
||||||
}
|
//}
|
||||||
}
|
//}
|
||||||
complete++
|
//complete++
|
||||||
log.Debugw("Update Done", "complete", complete, "added", len(changes.Added), "removed", len(changes.Removed), "modified", len(changes.Extended))
|
//log.Debugw("Update Done", "complete", complete, "added", len(changes.Added), "removed", len(changes.Removed), "modified", len(changes.Extended))
|
||||||
return nil
|
//return nil
|
||||||
})
|
//})
|
||||||
}
|
//}
|
||||||
if err := minerGrp.Wait(); err != nil {
|
//if err := minerGrp.Wait(); err != nil {
|
||||||
return err
|
//return err
|
||||||
}
|
//}
|
||||||
close(sectorUpdatesCh)
|
close(sectorUpdatesCh)
|
||||||
// wait for the update channel to be drained
|
// wait for the update channel to be drained
|
||||||
updateWg.Wait()
|
updateWg.Wait()
|
||||||
|
|||||||
@ -118,8 +118,11 @@ func (p *Processor) processRewardActors(ctx context.Context, rewardTips ActorTip
|
|||||||
return nil, xerrors.Errorf("unmarshal state (@ %s): %w", rw.common.stateroot.String(), err)
|
return nil, xerrors.Errorf("unmarshal state (@ %s): %w", rw.common.stateroot.String(), err)
|
||||||
}
|
}
|
||||||
|
|
||||||
rw.baseBlockReward = rewardActorState.LastPerEpochReward
|
// TODO: Resolve Actor API shift
|
||||||
rw.baselinePower = rewardActorState.BaselinePower
|
//rw.baseBlockReward = rewardActorState.LastPerEpochReward
|
||||||
|
//rw.baselinePower = rewardActorState.BaselinePower
|
||||||
|
rw.baseBlockReward = big.Zero()
|
||||||
|
rw.baselinePower = big.Zero()
|
||||||
out = append(out, rw)
|
out = append(out, rw)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user