Skip to content

Commit fd2168e

Browse files
authored
chore: batch insert miner_sector_deal (#1221)
1 parent 341cd36 commit fd2168e

File tree

4 files changed

+28
-8
lines changed

4 files changed

+28
-8
lines changed

chain/indexer/integrated/processor/state.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -469,9 +469,14 @@ func MakeProcessors(api tasks.DataSource, indexerTasks []string) (*IndexerProces
469469
minertask.PreCommitInfoExtractorV9{},
470470
)
471471
case tasktype.MinerSectorDeal:
472-
out.ActorProcessors[t] = actorstate.NewTask(api, actorstate.NewTypedActorExtractorMap(
473-
mineractors.AllCodes(), minertask.SectorDealsExtractor{},
474-
))
472+
out.ActorProcessors[t] = actorstate.NewTaskWithTransformer(
473+
api,
474+
actorstate.NewTypedActorExtractorMap(
475+
mineractors.AllCodes(),
476+
minertask.SectorDealsExtractor{},
477+
),
478+
minertask.SectorDealsExtractor{},
479+
)
475480
case tasktype.MinerSectorEvent:
476481
out.ActorProcessors[t] = actorstate.NewTaskWithTransformer(
477482
api,

chain/indexer/integrated/processor/state_internal_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ func TestNewProcessor(t *testing.T) {
8181
require.Equal(t, actorstate.NewTask(nil, actorstate.NewTypedActorExtractorMap(miner.AllCodes(), minertask.FeeDebtExtractor{})), proc.actorProcessors[tasktype.MinerFeeDebt])
8282
require.Equal(t, actorstate.NewTask(nil, actorstate.NewTypedActorExtractorMap(miner.AllCodes(), minertask.InfoExtractor{})), proc.actorProcessors[tasktype.MinerInfo])
8383
require.Equal(t, actorstate.NewTaskWithTransformer(nil, actorstate.NewTypedActorExtractorMap(miner.AllCodes(), minertask.LockedFundsExtractor{}), minertask.LockedFundsExtractor{}), proc.actorProcessors[tasktype.MinerLockedFund])
84-
require.Equal(t, actorstate.NewTask(nil, actorstate.NewTypedActorExtractorMap(miner.AllCodes(), minertask.SectorDealsExtractor{})), proc.actorProcessors[tasktype.MinerSectorDeal])
84+
require.Equal(t, actorstate.NewTaskWithTransformer(nil, actorstate.NewTypedActorExtractorMap(miner.AllCodes(), minertask.SectorDealsExtractor{}), minertask.SectorDealsExtractor{}), proc.actorProcessors[tasktype.MinerSectorDeal])
8585
require.Equal(t, actorstate.NewTaskWithTransformer(nil, actorstate.NewTypedActorExtractorMap(miner.AllCodes(), minertask.SectorEventsExtractor{}), minertask.SectorEventsExtractor{}), proc.actorProcessors[tasktype.MinerSectorEvent])
8686
require.Equal(t, actorstate.NewTask(nil, actorstate.NewTypedActorExtractorMap(miner.AllCodes(), minertask.PoStExtractor{})), proc.actorProcessors[tasktype.MinerSectorPost])
8787
require.Equal(t, actorstate.NewTask(nil, actorstate.NewCustomTypedActorExtractorMap(

chain/indexer/integrated/processor/state_test.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,6 @@ func TestMakeProcessorsActors(t *testing.T) {
6262
taskName: tasktype.MinerInfo,
6363
extractor: actorstate.NewTypedActorExtractorMap(miner.AllCodes(), minertask.InfoExtractor{}),
6464
},
65-
{
66-
taskName: tasktype.MinerSectorDeal,
67-
extractor: actorstate.NewTypedActorExtractorMap(miner.AllCodes(), minertask.SectorDealsExtractor{}),
68-
},
6965
{
7066
taskName: tasktype.MinerSectorPost,
7167
extractor: actorstate.NewTypedActorExtractorMap(miner.AllCodes(), minertask.PoStExtractor{}),
@@ -139,6 +135,11 @@ func TestMakeProcessorsActors(t *testing.T) {
139135
),
140136
transformer: minertask.PreCommitInfoExtractorV9{},
141137
},
138+
{
139+
taskName: tasktype.MinerSectorDeal,
140+
extractor: actorstate.NewTypedActorExtractorMap(miner.AllCodes(), minertask.SectorDealsExtractor{}),
141+
transformer: minertask.SectorDealsExtractor{},
142+
},
142143
}
143144
for _, tc := range testCases2 {
144145
t.Run(tc.taskName, func(t *testing.T) {

tasks/actorstate/miner/sector_deals.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,3 +72,17 @@ func ExtractSectorDealsModel(ctx context.Context, ec extraction.State) (minermod
7272
}
7373
return result, nil
7474
}
75+
76+
func (SectorDealsExtractor) Transform(ctx context.Context, data model.PersistableList) (model.PersistableList, error) {
77+
persistableList := make(minermodel.MinerSectorDealList, 0, len(data))
78+
for _, d := range data {
79+
ml, ok := d.(minermodel.MinerSectorDealList)
80+
if !ok {
81+
return nil, fmt.Errorf("expected MinerSectorDealList type but got: %T", d)
82+
}
83+
for _, m := range ml {
84+
persistableList = append(persistableList, m)
85+
}
86+
}
87+
return model.PersistableList{persistableList}, nil
88+
}

0 commit comments

Comments
 (0)