Address review

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
This commit is contained in:
Jakub Sztandera 2020-08-11 23:35:06 +02:00
parent 9032163c5a
commit f018e870dc
No known key found for this signature in database
GPG Key ID: 9A9AF56F8B3879BA
3 changed files with 11 additions and 10 deletions

View File

@ -22,6 +22,16 @@ type Ticket struct {
VRFProof []byte
}
func (t *Ticket) Quality() float64 {
ticketHash := blake2b.Sum256(t.VRFProof)
ticketNum := BigFromBytes(ticketHash[:]).Int
ticketDenu := big.NewInt(1)
ticketDenu.Lsh(ticketDenu, 256)
tv, _ := new(big.Rat).SetFrac(ticketNum, ticketDenu).Float64()
tq := 1 - tv
return tq
}
type BeaconEntry struct {
Round uint64
Data []byte

View File

@ -6,12 +6,10 @@ import (
"crypto/rand"
"encoding/binary"
"fmt"
"math/big"
"sync"
"time"
"github.com/filecoin-project/lotus/chain/gen/slashfilter"
"github.com/minio/blake2b-simd"
"github.com/filecoin-project/go-address"
"github.com/filecoin-project/specs-actors/actors/abi"
@ -392,14 +390,8 @@ func (m *Miner) mineOne(ctx context.Context, base *MiningBase) (*types.BlockMsg,
return nil, xerrors.Errorf("failed to compute winning post proof: %w", err)
}
ticketHash := blake2b.Sum256(ticket.VRFProof)
ticketNum := types.BigFromBytes(ticketHash[:]).Int
ticketDenu := big.NewInt(1)
ticketDenu.Lsh(ticketDenu, 256)
tq, _ := new(big.Rat).SetFrac(ticketNum, ticketDenu).Float64()
tq = 1 - tq
// get pending messages early,
msgs, err := m.api.MpoolSelect(context.TODO(), base.TipSet.Key(), tq)
msgs, err := m.api.MpoolSelect(context.TODO(), base.TipSet.Key(), ticket.Quality())
if err != nil {
return nil, xerrors.Errorf("failed to select messages for block: %w", err)
}

View File

@ -43,7 +43,6 @@ func (a *MpoolAPI) MpoolSelect(ctx context.Context, tsk types.TipSetKey, ticketQ
return nil, xerrors.Errorf("loading tipset %s: %w", tsk, err)
}
// TODO FIXME compute (or pass in) the actual ticket quality!
return a.Mpool.SelectMessages(ts, ticketQuality)
}