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