Skip to content

Commit

Permalink
Merge pull request #11482 from filecoin-project/fix/lp-winning
Browse files Browse the repository at this point in the history
fix: lotus-provider: Fix winning PoSt
  • Loading branch information
snadrus authored Dec 5, 2023
2 parents 956ac8a + 943c223 commit 2d75cc5
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions provider/lpwinning/winning_task.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,8 @@ import (
"bytes"
"context"
"crypto/rand"
"database/sql"
"encoding/binary"
"encoding/json"
"errors"
"time"

"github.com/ipfs/go-cid"
Expand Down Expand Up @@ -579,12 +577,13 @@ func (t *WinPostTask) mineBasic(ctx context.Context) {
taskFn(func(id harmonytask.TaskID, tx *harmonydb.Tx) (shouldCommit bool, seriousError error) {
// First we check if the mining base includes blocks we may have mined previously to avoid getting slashed
// select mining_tasks where epoch==base_epoch if win=true to maybe get base block cid which has to be included in our tipset
var baseBlockCid string
err := tx.QueryRow(`SELECT mined_cid FROM mining_tasks WHERE epoch = $1 AND sp_id = $2 AND won = true`, baseEpoch, spID).Scan(&baseBlockCid)
if err != nil && !errors.Is(err, sql.ErrNoRows) {
var baseBlockCids []string
err := tx.Select(&baseBlockCids, `SELECT mined_cid FROM mining_tasks WHERE epoch = $1 AND sp_id = $2 AND won = true`, baseEpoch, spID)
if err != nil {
return false, xerrors.Errorf("querying mining_tasks: %w", err)
}
if baseBlockCid != "" {
if len(baseBlockCids) >= 1 {
baseBlockCid := baseBlockCids[0]
c, err := cid.Parse(baseBlockCid)
if err != nil {
return false, xerrors.Errorf("parsing mined_cid: %w", err)
Expand Down

0 comments on commit 2d75cc5

Please sign in to comment.