Skip to content

Commit

Permalink
les: fix megacheck warnings (ethereum#14941)
Browse files Browse the repository at this point in the history
* les: fix megacheck warnings

* les: fixed testGetProofs
  • Loading branch information
zsfelfoldi authored and karalabe committed Aug 8, 2017
1 parent d375193 commit fff6e03
Showing 8 changed files with 6 additions and 96 deletions.
3 changes: 1 addition & 2 deletions les/backend.go
Original file line number Diff line number Diff line change
@@ -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) {
4 changes: 1 addition & 3 deletions les/flowcontrol/control.go
Original file line number Diff line number Diff line change
@@ -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
6 changes: 0 additions & 6 deletions les/handler.go
Original file line number Diff line number Diff line change
@@ -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
4 changes: 2 additions & 2 deletions les/handler_test.go
Original file line number Diff line number Diff line change
@@ -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)

42 changes: 1 addition & 41 deletions les/helper_test.go
Original file line number Diff line number Diff line change
@@ -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
5 changes: 1 addition & 4 deletions les/peer.go
Original file line number Diff line number Diff line change
@@ -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
27 changes: 0 additions & 27 deletions les/protocol.go
Original file line number Diff line number Diff line change
@@ -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,24 +104,13 @@ 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
Number uint64 // Number of one particular block being announced
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
11 changes: 0 additions & 11 deletions les/server.go
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit fff6e03

Please sign in to comment.