From fff6e03a792b0e0a84943e2c3764c39b2840458a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felf=C3=B6ldi=20Zsolt?= Date: Tue, 8 Aug 2017 17:31:08 +0100 Subject: [PATCH] les: fix megacheck warnings (#14941) * les: fix megacheck warnings * les: fixed testGetProofs --- les/backend.go | 3 +-- les/flowcontrol/control.go | 4 +--- les/handler.go | 6 ------ les/handler_test.go | 4 ++-- les/helper_test.go | 42 +------------------------------------- les/peer.go | 5 +---- les/protocol.go | 27 ------------------------ les/server.go | 11 ---------- 8 files changed, 6 insertions(+), 96 deletions(-) diff --git a/les/backend.go b/les/backend.go index 658c73c6ee..a4e7726717 100644 --- a/les/backend.go +++ b/les/backend.go @@ -70,8 +70,7 @@ type LightEthereum struct { networkId uint64 netRPCService *ethapi.PublicNetAPI - quitSync chan struct{} - wg sync.WaitGroup + wg sync.WaitGroup } func New(ctx *node.ServiceContext, config *eth.Config) (*LightEthereum, error) { diff --git a/les/flowcontrol/control.go b/les/flowcontrol/control.go index e40e693464..d50eb809cc 100644 --- a/les/flowcontrol/control.go +++ b/les/flowcontrol/control.go @@ -157,9 +157,7 @@ func (peer *ServerNode) QueueRequest(reqID, maxCost uint64) { peer.bufEstimate -= 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 diff --git a/les/handler.go b/les/handler.go index f50abaaa3e..234b6e998b 100644 --- a/les/handler.go +++ b/les/handler.go @@ -69,8 +69,6 @@ func errResp(code errCode, format string, v ...interface{}) error { return fmt.Errorf("%v - %v", code, fmt.Sprintf(format, v...)) } -type hashFetcherFn func(common.Hash) error - type BlockChain interface { HasHeader(hash common.Hash) bool GetHeader(hash common.Hash, number uint64) *types.Header @@ -119,10 +117,6 @@ type ProtocolManager struct { quitSync chan struct{} noMorePeers chan struct{} - syncMu sync.Mutex - syncing bool - syncDone chan struct{} - // wait group is used for graceful shutdowns during downloading // and processing wg *sync.WaitGroup diff --git a/les/handler_test.go b/les/handler_test.go index 5df1d3463a..b1f1aa0951 100644 --- a/les/handler_test.go +++ b/les/handler_test.go @@ -305,7 +305,7 @@ func testGetReceipt(t *testing.T, protocol int) { } // 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) { // Assemble the test environment @@ -327,7 +327,7 @@ func testGetProofs(t *testing.T, protocol int) { for _, acc := range accounts { req := ProofReq{ BHash: header.Hash(), - Key: acc[:], + Key: crypto.Keccak256(acc[:]), } proofreqs = append(proofreqs, req) diff --git a/les/helper_test.go b/les/helper_test.go index 52fddd117a..7dccfc4582 100644 --- a/les/helper_test.go +++ b/les/helper_test.go @@ -20,7 +20,6 @@ package les import ( - "crypto/ecdsa" "crypto/rand" "math/big" "sync" @@ -140,7 +139,7 @@ func newTestProtocolManager(lightSync bool, blocks int, generator func(int, *cor Alloc: core.GenesisAlloc{testBankAddress: {Balance: testBankFunds}}, } genesis = gspec.MustCommit(db) - chain BlockChain + chain BlockChain ) if peers == nil { peers = newPeerSet() @@ -189,45 +188,6 @@ func newTestProtocolManagerMust(t *testing.T, lightSync bool, blocks int, genera 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. type testPeer struct { net p2p.MsgReadWriter // Network layer reader/writer to simulate remote messaging diff --git a/les/peer.go b/les/peer.go index 791d0da24f..3ba2df3fe8 100644 --- a/les/peer.go +++ b/les/peer.go @@ -38,10 +38,7 @@ var ( errNotRegistered = errors.New("peer is not registered") ) -const ( - maxHeadInfoLen = 20 - maxResponseErrors = 50 // number of invalid responses tolerated (makes the protocol less brittle but still avoids spam) -) +const maxResponseErrors = 50 // number of invalid responses tolerated (makes the protocol less brittle but still avoids spam) type peer struct { *p2p.Peer diff --git a/les/protocol.go b/les/protocol.go index 46da2b8c8b..33d930ee0c 100644 --- a/les/protocol.go +++ b/les/protocol.go @@ -23,7 +23,6 @@ import ( "math/big" "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/rlp" ) @@ -105,12 +104,6 @@ var errorToString = map[int]string{ 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. type announceData struct { 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 ReorgDepth uint64 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 { @@ -131,12 +119,6 @@ type blockInfo struct { 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. type getBlockHeadersData struct { Origin hashOrNumber // Block from which to retrieve headers @@ -181,15 +163,6 @@ func (hn *hashOrNumber) DecodeRLP(s *rlp.Stream) error { 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. type CodeData []struct { Value []byte diff --git a/les/server.go b/les/server.go index 2ff715ea85..39ef0efffe 100644 --- a/les/server.go +++ b/les/server.go @@ -44,7 +44,6 @@ type LesServer struct { defParams *flowcontrol.ServerParams lesTopic discv5.Topic quitSync chan struct{} - stopped bool } func NewLesServer(eth *eth.Ethereum, config *eth.Config) (*LesServer, error) { @@ -118,16 +117,6 @@ func (list RequestCostList) decode() requestCostTable { 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 { sumX, sumY, sumXX, sumXY float64 cnt uint64