Skip to content

Commit 316b4b6

Browse files
committed
deal with sector collateral for niporep #1086
1 parent ef9fde8 commit 316b4b6

File tree

3 files changed

+32
-1
lines changed

3 files changed

+32
-1
lines changed

damocles-manager/modules/impl/commitmgr/commit_processor.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,7 @@ func (c CommitProcessor) ProcessNiPoRep(
428428
}
429429

430430
if mcfg.Commitment.Prove.SendFund {
431-
sc, err := getSectorCollateral(ctx, c.api, mid, p.ID.Number, tok)
431+
sc, err := getSectorCollateralNiPoRep(ctx, c.api, mid, &p, tok, expire)
432432
if err != nil {
433433
plog.Errorf("get sector collateral for %d failed: %s\n", p.ID.Number, err)
434434
failed[sectors[i].ID] = struct{}{}

damocles-manager/modules/impl/commitmgr/params.go

+27
Original file line numberDiff line numberDiff line change
@@ -117,3 +117,30 @@ func getSectorCollateral(
117117

118118
return collateral, nil
119119
}
120+
121+
func getSectorCollateralNiPoRep(
122+
ctx context.Context,
123+
stateMgr SealingAPI,
124+
mid abi.ActorID,
125+
p *core.SectorState,
126+
tok core.TipSetToken,
127+
expire abi.ChainEpoch,
128+
) (abi.TokenAmount, error) {
129+
maddr, err := address.NewIDAddress(uint64(mid))
130+
if err != nil {
131+
return big.Zero(), fmt.Errorf("invalid miner actor id: %w", err)
132+
}
133+
134+
collateral, err := stateMgr.StateMinerInitialPledgeCollateral(ctx, maddr, miner.SectorPreCommitInfo{
135+
Expiration: expire,
136+
SectorNumber: p.ID.Number,
137+
SealProof: p.SectorType,
138+
139+
SealedCID: p.Pre.CommR,
140+
SealRandEpoch: p.Ticket.Epoch,
141+
}, tok)
142+
if err != nil {
143+
return big.Zero(), fmt.Errorf("getting initial pledge collateral: %w", err)
144+
}
145+
return collateral, nil
146+
}

damocles-worker/src/sealing/sealing_thread/planner/mod.rs

+4
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ pub fn default_plan() -> &'static str {
3939
PLANNER_NAME_SEALER
4040
}
4141

42+
use niporep::NiPoRepPlanner;
4243
use plan;
4344

4445
use self::{
@@ -90,6 +91,9 @@ pub(crate) fn create_sealer(
9091
PLANNER_NAME_WDPOST => {
9192
Ok(Box::new(WdPostSealer::new(st.sealing_ctrl(ctx))))
9293
}
94+
PLANNER_NAME_NIPOREP => {
95+
Ok(Box::new(CommonSealer::<NiPoRepPlanner>::new(ctx, st)?))
96+
}
9397
unknown => Err(anyhow!("unknown planner: {}", unknown)),
9498
}
9599
}

0 commit comments

Comments
 (0)