les: fix megacheck warnings (#14941)
* les: fix megacheck warnings * les: fixed testGetProofs
This commit is contained in:
parent
d375193797
commit
fff6e03a79
@ -70,8 +70,7 @@ type LightEthereum struct {
|
|||||||
networkId uint64
|
networkId uint64
|
||||||
netRPCService *ethapi.PublicNetAPI
|
netRPCService *ethapi.PublicNetAPI
|
||||||
|
|
||||||
quitSync chan struct{}
|
wg sync.WaitGroup
|
||||||
wg sync.WaitGroup
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(ctx *node.ServiceContext, config *eth.Config) (*LightEthereum, error) {
|
func New(ctx *node.ServiceContext, config *eth.Config) (*LightEthereum, error) {
|
||||||
|
@ -157,9 +157,7 @@ func (peer *ServerNode) QueueRequest(reqID, maxCost uint64) {
|
|||||||
|
|
||||||
peer.bufEstimate -= maxCost
|
peer.bufEstimate -= maxCost
|
||||||
peer.sumCost += maxCost
|
peer.sumCost += maxCost
|
||||||
if reqID >= 0 {
|
peer.pending[reqID] = peer.sumCost
|
||||||
peer.pending[reqID] = peer.sumCost
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// GotReply adjusts estimated buffer value according to the value included in
|
// GotReply adjusts estimated buffer value according to the value included in
|
||||||
|
@ -69,8 +69,6 @@ func errResp(code errCode, format string, v ...interface{}) error {
|
|||||||
return fmt.Errorf("%v - %v", code, fmt.Sprintf(format, v...))
|
return fmt.Errorf("%v - %v", code, fmt.Sprintf(format, v...))
|
||||||
}
|
}
|
||||||
|
|
||||||
type hashFetcherFn func(common.Hash) error
|
|
||||||
|
|
||||||
type BlockChain interface {
|
type BlockChain interface {
|
||||||
HasHeader(hash common.Hash) bool
|
HasHeader(hash common.Hash) bool
|
||||||
GetHeader(hash common.Hash, number uint64) *types.Header
|
GetHeader(hash common.Hash, number uint64) *types.Header
|
||||||
@ -119,10 +117,6 @@ type ProtocolManager struct {
|
|||||||
quitSync chan struct{}
|
quitSync chan struct{}
|
||||||
noMorePeers chan struct{}
|
noMorePeers chan struct{}
|
||||||
|
|
||||||
syncMu sync.Mutex
|
|
||||||
syncing bool
|
|
||||||
syncDone chan struct{}
|
|
||||||
|
|
||||||
// wait group is used for graceful shutdowns during downloading
|
// wait group is used for graceful shutdowns during downloading
|
||||||
// and processing
|
// and processing
|
||||||
wg *sync.WaitGroup
|
wg *sync.WaitGroup
|
||||||
|
@ -305,7 +305,7 @@ func testGetReceipt(t *testing.T, protocol int) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Tests that trie merkle proofs can be retrieved
|
// Tests that trie merkle proofs can be retrieved
|
||||||
func TestGetProofsLes1(t *testing.T) { testGetReceipt(t, 1) }
|
func TestGetProofsLes1(t *testing.T) { testGetProofs(t, 1) }
|
||||||
|
|
||||||
func testGetProofs(t *testing.T, protocol int) {
|
func testGetProofs(t *testing.T, protocol int) {
|
||||||
// Assemble the test environment
|
// Assemble the test environment
|
||||||
@ -327,7 +327,7 @@ func testGetProofs(t *testing.T, protocol int) {
|
|||||||
for _, acc := range accounts {
|
for _, acc := range accounts {
|
||||||
req := ProofReq{
|
req := ProofReq{
|
||||||
BHash: header.Hash(),
|
BHash: header.Hash(),
|
||||||
Key: acc[:],
|
Key: crypto.Keccak256(acc[:]),
|
||||||
}
|
}
|
||||||
proofreqs = append(proofreqs, req)
|
proofreqs = append(proofreqs, req)
|
||||||
|
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
package les
|
package les
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"crypto/ecdsa"
|
|
||||||
"crypto/rand"
|
"crypto/rand"
|
||||||
"math/big"
|
"math/big"
|
||||||
"sync"
|
"sync"
|
||||||
@ -140,7 +139,7 @@ func newTestProtocolManager(lightSync bool, blocks int, generator func(int, *cor
|
|||||||
Alloc: core.GenesisAlloc{testBankAddress: {Balance: testBankFunds}},
|
Alloc: core.GenesisAlloc{testBankAddress: {Balance: testBankFunds}},
|
||||||
}
|
}
|
||||||
genesis = gspec.MustCommit(db)
|
genesis = gspec.MustCommit(db)
|
||||||
chain BlockChain
|
chain BlockChain
|
||||||
)
|
)
|
||||||
if peers == nil {
|
if peers == nil {
|
||||||
peers = newPeerSet()
|
peers = newPeerSet()
|
||||||
@ -189,45 +188,6 @@ func newTestProtocolManagerMust(t *testing.T, lightSync bool, blocks int, genera
|
|||||||
return pm
|
return pm
|
||||||
}
|
}
|
||||||
|
|
||||||
// testTxPool is a fake, helper transaction pool for testing purposes
|
|
||||||
type testTxPool struct {
|
|
||||||
pool []*types.Transaction // Collection of all transactions
|
|
||||||
added chan<- []*types.Transaction // Notification channel for new transactions
|
|
||||||
|
|
||||||
lock sync.RWMutex // Protects the transaction pool
|
|
||||||
}
|
|
||||||
|
|
||||||
// AddTransactions appends a batch of transactions to the pool, and notifies any
|
|
||||||
// listeners if the addition channel is non nil
|
|
||||||
func (p *testTxPool) AddBatch(txs []*types.Transaction) {
|
|
||||||
p.lock.Lock()
|
|
||||||
defer p.lock.Unlock()
|
|
||||||
|
|
||||||
p.pool = append(p.pool, txs...)
|
|
||||||
if p.added != nil {
|
|
||||||
p.added <- txs
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetTransactions returns all the transactions known to the pool
|
|
||||||
func (p *testTxPool) GetTransactions() types.Transactions {
|
|
||||||
p.lock.RLock()
|
|
||||||
defer p.lock.RUnlock()
|
|
||||||
|
|
||||||
txs := make([]*types.Transaction, len(p.pool))
|
|
||||||
copy(txs, p.pool)
|
|
||||||
|
|
||||||
return txs
|
|
||||||
}
|
|
||||||
|
|
||||||
// newTestTransaction create a new dummy transaction.
|
|
||||||
func newTestTransaction(from *ecdsa.PrivateKey, nonce uint64, datasize int) *types.Transaction {
|
|
||||||
tx := types.NewTransaction(nonce, common.Address{}, big.NewInt(0), big.NewInt(100000), big.NewInt(0), make([]byte, datasize))
|
|
||||||
tx, _ = types.SignTx(tx, types.HomesteadSigner{}, from)
|
|
||||||
|
|
||||||
return tx
|
|
||||||
}
|
|
||||||
|
|
||||||
// testPeer is a simulated peer to allow testing direct network calls.
|
// testPeer is a simulated peer to allow testing direct network calls.
|
||||||
type testPeer struct {
|
type testPeer struct {
|
||||||
net p2p.MsgReadWriter // Network layer reader/writer to simulate remote messaging
|
net p2p.MsgReadWriter // Network layer reader/writer to simulate remote messaging
|
||||||
|
@ -38,10 +38,7 @@ var (
|
|||||||
errNotRegistered = errors.New("peer is not registered")
|
errNotRegistered = errors.New("peer is not registered")
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const maxResponseErrors = 50 // number of invalid responses tolerated (makes the protocol less brittle but still avoids spam)
|
||||||
maxHeadInfoLen = 20
|
|
||||||
maxResponseErrors = 50 // number of invalid responses tolerated (makes the protocol less brittle but still avoids spam)
|
|
||||||
)
|
|
||||||
|
|
||||||
type peer struct {
|
type peer struct {
|
||||||
*p2p.Peer
|
*p2p.Peer
|
||||||
|
@ -23,7 +23,6 @@ import (
|
|||||||
"math/big"
|
"math/big"
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
"github.com/ethereum/go-ethereum/core/types"
|
|
||||||
"github.com/ethereum/go-ethereum/rlp"
|
"github.com/ethereum/go-ethereum/rlp"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -105,12 +104,6 @@ var errorToString = map[int]string{
|
|||||||
ErrHandshakeMissingKey: "Key missing from handshake message",
|
ErrHandshakeMissingKey: "Key missing from handshake message",
|
||||||
}
|
}
|
||||||
|
|
||||||
type chainManager interface {
|
|
||||||
GetBlockHashesFromHash(hash common.Hash, amount uint64) (hashes []common.Hash)
|
|
||||||
GetBlock(hash common.Hash) (block *types.Block)
|
|
||||||
Status() (td *big.Int, currentBlock common.Hash, genesisBlock common.Hash)
|
|
||||||
}
|
|
||||||
|
|
||||||
// announceData is the network packet for the block announcements.
|
// announceData is the network packet for the block announcements.
|
||||||
type announceData struct {
|
type announceData struct {
|
||||||
Hash common.Hash // Hash of one particular block being announced
|
Hash common.Hash // Hash of one particular block being announced
|
||||||
@ -118,11 +111,6 @@ type announceData struct {
|
|||||||
Td *big.Int // Total difficulty of one particular block being announced
|
Td *big.Int // Total difficulty of one particular block being announced
|
||||||
ReorgDepth uint64
|
ReorgDepth uint64
|
||||||
Update keyValueList
|
Update keyValueList
|
||||||
|
|
||||||
haveHeaders uint64 // we have the headers of the remote peer's chain up to this number
|
|
||||||
headKnown bool
|
|
||||||
requested bool
|
|
||||||
next *announceData
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type blockInfo struct {
|
type blockInfo struct {
|
||||||
@ -131,12 +119,6 @@ type blockInfo struct {
|
|||||||
Td *big.Int // Total difficulty of one particular block being announced
|
Td *big.Int // Total difficulty of one particular block being announced
|
||||||
}
|
}
|
||||||
|
|
||||||
// getBlockHashesData is the network packet for the hash based hash retrieval.
|
|
||||||
type getBlockHashesData struct {
|
|
||||||
Hash common.Hash
|
|
||||||
Amount uint64
|
|
||||||
}
|
|
||||||
|
|
||||||
// getBlockHeadersData represents a block header query.
|
// getBlockHeadersData represents a block header query.
|
||||||
type getBlockHeadersData struct {
|
type getBlockHeadersData struct {
|
||||||
Origin hashOrNumber // Block from which to retrieve headers
|
Origin hashOrNumber // Block from which to retrieve headers
|
||||||
@ -181,15 +163,6 @@ func (hn *hashOrNumber) DecodeRLP(s *rlp.Stream) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// newBlockData is the network packet for the block propagation message.
|
|
||||||
type newBlockData struct {
|
|
||||||
Block *types.Block
|
|
||||||
TD *big.Int
|
|
||||||
}
|
|
||||||
|
|
||||||
// blockBodiesData is the network packet for block content distribution.
|
|
||||||
type blockBodiesData []*types.Body
|
|
||||||
|
|
||||||
// CodeData is the network response packet for a node data retrieval.
|
// CodeData is the network response packet for a node data retrieval.
|
||||||
type CodeData []struct {
|
type CodeData []struct {
|
||||||
Value []byte
|
Value []byte
|
||||||
|
@ -44,7 +44,6 @@ type LesServer struct {
|
|||||||
defParams *flowcontrol.ServerParams
|
defParams *flowcontrol.ServerParams
|
||||||
lesTopic discv5.Topic
|
lesTopic discv5.Topic
|
||||||
quitSync chan struct{}
|
quitSync chan struct{}
|
||||||
stopped bool
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewLesServer(eth *eth.Ethereum, config *eth.Config) (*LesServer, error) {
|
func NewLesServer(eth *eth.Ethereum, config *eth.Config) (*LesServer, error) {
|
||||||
@ -118,16 +117,6 @@ func (list RequestCostList) decode() requestCostTable {
|
|||||||
return table
|
return table
|
||||||
}
|
}
|
||||||
|
|
||||||
func (table requestCostTable) encode() RequestCostList {
|
|
||||||
list := make(RequestCostList, len(table))
|
|
||||||
for idx, code := range reqList {
|
|
||||||
list[idx].MsgCode = code
|
|
||||||
list[idx].BaseCost = table[code].baseCost
|
|
||||||
list[idx].ReqCost = table[code].reqCost
|
|
||||||
}
|
|
||||||
return list
|
|
||||||
}
|
|
||||||
|
|
||||||
type linReg struct {
|
type linReg struct {
|
||||||
sumX, sumY, sumXX, sumXY float64
|
sumX, sumY, sumXX, sumXY float64
|
||||||
cnt uint64
|
cnt uint64
|
||||||
|
Loading…
Reference in New Issue
Block a user