Address review
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
This commit is contained in:
parent
9032163c5a
commit
f018e870dc
@ -22,6 +22,16 @@ type Ticket struct {
|
|||||||
VRFProof []byte
|
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 {
|
type BeaconEntry struct {
|
||||||
Round uint64
|
Round uint64
|
||||||
Data []byte
|
Data []byte
|
||||||
|
@ -6,12 +6,10 @@ import (
|
|||||||
"crypto/rand"
|
"crypto/rand"
|
||||||
"encoding/binary"
|
"encoding/binary"
|
||||||
"fmt"
|
"fmt"
|
||||||
"math/big"
|
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/filecoin-project/lotus/chain/gen/slashfilter"
|
"github.com/filecoin-project/lotus/chain/gen/slashfilter"
|
||||||
"github.com/minio/blake2b-simd"
|
|
||||||
|
|
||||||
"github.com/filecoin-project/go-address"
|
"github.com/filecoin-project/go-address"
|
||||||
"github.com/filecoin-project/specs-actors/actors/abi"
|
"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)
|
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,
|
// 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 {
|
if err != nil {
|
||||||
return nil, xerrors.Errorf("failed to select messages for block: %w", err)
|
return nil, xerrors.Errorf("failed to select messages for block: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -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)
|
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)
|
return a.Mpool.SelectMessages(ts, ticketQuality)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user