build: enable goimports and varcheck linters (#16446)
This commit is contained in:
		
				
					committed by
					
						
						Felix Lange
					
				
			
			
				
	
			
			
			
						parent
						
							7605e63cb9
						
					
				
				
					commit
					ba1030b6b8
				
			
							
								
								
									
										3
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								Makefile
									
									
									
									
									
								
							@@ -37,6 +37,9 @@ ios:
 | 
				
			|||||||
test: all
 | 
					test: all
 | 
				
			||||||
	build/env.sh go run build/ci.go test
 | 
						build/env.sh go run build/ci.go test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					lint: ## Run linters.
 | 
				
			||||||
 | 
						build/env.sh go run build/ci.go lint
 | 
				
			||||||
 | 
					
 | 
				
			||||||
clean:
 | 
					clean:
 | 
				
			||||||
	rm -fr build/_workspace/pkg/ $(GOBIN)/*
 | 
						rm -fr build/_workspace/pkg/ $(GOBIN)/*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -53,11 +53,9 @@ const (
 | 
				
			|||||||
	ledgerOpGetConfiguration ledgerOpcode = 0x06 // Returns specific wallet application configuration
 | 
						ledgerOpGetConfiguration ledgerOpcode = 0x06 // Returns specific wallet application configuration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ledgerP1DirectlyFetchAddress    ledgerParam1 = 0x00 // Return address directly from the wallet
 | 
						ledgerP1DirectlyFetchAddress    ledgerParam1 = 0x00 // Return address directly from the wallet
 | 
				
			||||||
	ledgerP1ConfirmFetchAddress     ledgerParam1 = 0x01 // Require a user confirmation before returning the address
 | 
					 | 
				
			||||||
	ledgerP1InitTransactionData     ledgerParam1 = 0x00 // First transaction data block for signing
 | 
						ledgerP1InitTransactionData     ledgerParam1 = 0x00 // First transaction data block for signing
 | 
				
			||||||
	ledgerP1ContTransactionData     ledgerParam1 = 0x80 // Subsequent transaction data block for signing
 | 
						ledgerP1ContTransactionData     ledgerParam1 = 0x80 // Subsequent transaction data block for signing
 | 
				
			||||||
	ledgerP2DiscardAddressChainCode ledgerParam2 = 0x00 // Do not return the chain code along with the address
 | 
						ledgerP2DiscardAddressChainCode ledgerParam2 = 0x00 // Do not return the chain code along with the address
 | 
				
			||||||
	ledgerP2ReturnAddressChainCode  ledgerParam2 = 0x01 // Require a user confirmation before returning the address
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// errLedgerReplyInvalidHeader is the error message returned by a Ledger data exchange
 | 
					// errLedgerReplyInvalidHeader is the error message returned by a Ledger data exchange
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -329,7 +329,10 @@ func doLint(cmdline []string) {
 | 
				
			|||||||
	// Run fast linters batched together
 | 
						// Run fast linters batched together
 | 
				
			||||||
	configs := []string{
 | 
						configs := []string{
 | 
				
			||||||
		"--vendor",
 | 
							"--vendor",
 | 
				
			||||||
 | 
							"--tests",
 | 
				
			||||||
		"--disable-all",
 | 
							"--disable-all",
 | 
				
			||||||
 | 
							"--enable=goimports",
 | 
				
			||||||
 | 
							"--enable=varcheck",
 | 
				
			||||||
		"--enable=vet",
 | 
							"--enable=vet",
 | 
				
			||||||
		"--enable=gofmt",
 | 
							"--enable=gofmt",
 | 
				
			||||||
		"--enable=misspell",
 | 
							"--enable=misspell",
 | 
				
			||||||
@@ -340,7 +343,7 @@ func doLint(cmdline []string) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	// Run slow linters one by one
 | 
						// Run slow linters one by one
 | 
				
			||||||
	for _, linter := range []string{"unconvert", "gosimple"} {
 | 
						for _, linter := range []string{"unconvert", "gosimple"} {
 | 
				
			||||||
		configs = []string{"--vendor", "--deadline=10m", "--disable-all", "--enable=" + linter}
 | 
							configs = []string{"--vendor", "--tests", "--deadline=10m", "--disable-all", "--enable=" + linter}
 | 
				
			||||||
		build.MustRunCommand(filepath.Join(GOBIN, "gometalinter.v2"), append(configs, packages...)...)
 | 
							build.MustRunCommand(filepath.Join(GOBIN, "gometalinter.v2"), append(configs, packages...)...)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										18
									
								
								build/goimports.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										18
									
								
								build/goimports.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					find_files() {
 | 
				
			||||||
 | 
					  find . -not \( \
 | 
				
			||||||
 | 
					      \( \
 | 
				
			||||||
 | 
					        -wholename '.github' \
 | 
				
			||||||
 | 
					        -o -wholename './build/_workspace' \
 | 
				
			||||||
 | 
					        -o -wholename './build/bin' \
 | 
				
			||||||
 | 
					        -o -wholename './crypto/bn256' \
 | 
				
			||||||
 | 
					        -o -wholename '*/vendor/*' \
 | 
				
			||||||
 | 
					      \) -prune \
 | 
				
			||||||
 | 
					    \) -name '*.go'
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GOFMT="gofmt -s -w";
 | 
				
			||||||
 | 
					GOIMPORTS="goimports -w";
 | 
				
			||||||
 | 
					find_files | xargs $GOFMT;
 | 
				
			||||||
 | 
					find_files | xargs $GOIMPORTS;
 | 
				
			||||||
@@ -53,10 +53,6 @@ var (
 | 
				
			|||||||
		Name:  "json",
 | 
							Name:  "json",
 | 
				
			||||||
		Usage: "output JSON instead of human-readable format",
 | 
							Usage: "output JSON instead of human-readable format",
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	messageFlag = cli.StringFlag{
 | 
					 | 
				
			||||||
		Name:  "message",
 | 
					 | 
				
			||||||
		Usage: "the file that contains the message to sign/verify",
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func main() {
 | 
					func main() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,12 +18,13 @@
 | 
				
			|||||||
package consensus
 | 
					package consensus
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
 | 
						"math/big"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/ethereum/go-ethereum/common"
 | 
						"github.com/ethereum/go-ethereum/common"
 | 
				
			||||||
	"github.com/ethereum/go-ethereum/core/state"
 | 
						"github.com/ethereum/go-ethereum/core/state"
 | 
				
			||||||
	"github.com/ethereum/go-ethereum/core/types"
 | 
						"github.com/ethereum/go-ethereum/core/types"
 | 
				
			||||||
	"github.com/ethereum/go-ethereum/params"
 | 
						"github.com/ethereum/go-ethereum/params"
 | 
				
			||||||
	"github.com/ethereum/go-ethereum/rpc"
 | 
						"github.com/ethereum/go-ethereum/rpc"
 | 
				
			||||||
	"math/big"
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ChainReader defines a small collection of methods needed to access the local
 | 
					// ChainReader defines a small collection of methods needed to access the local
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,7 +17,6 @@
 | 
				
			|||||||
package asm
 | 
					package asm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"errors"
 | 
					 | 
				
			||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
	"math/big"
 | 
						"math/big"
 | 
				
			||||||
	"os"
 | 
						"os"
 | 
				
			||||||
@@ -264,11 +263,6 @@ func (err compileError) Error() string {
 | 
				
			|||||||
	return fmt.Sprintf("%d syntax error: unexpected %v, expected %v", err.lineno, err.got, err.want)
 | 
						return fmt.Sprintf("%d syntax error: unexpected %v, expected %v", err.lineno, err.got, err.want)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var (
 | 
					 | 
				
			||||||
	errExpBol            = errors.New("expected beginning of line")
 | 
					 | 
				
			||||||
	errExpElementOrLabel = errors.New("expected beginning of line")
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func compileErr(c token, got, want string) error {
 | 
					func compileErr(c token, got, want string) error {
 | 
				
			||||||
	return compileError{
 | 
						return compileError{
 | 
				
			||||||
		got:    got,
 | 
							got:    got,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -38,8 +38,6 @@ import (
 | 
				
			|||||||
const (
 | 
					const (
 | 
				
			||||||
	// chainHeadChanSize is the size of channel listening to ChainHeadEvent.
 | 
						// chainHeadChanSize is the size of channel listening to ChainHeadEvent.
 | 
				
			||||||
	chainHeadChanSize = 10
 | 
						chainHeadChanSize = 10
 | 
				
			||||||
	// rmTxChanSize is the size of channel listening to RemovedTransactionEvent.
 | 
					 | 
				
			||||||
	rmTxChanSize = 10
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -33,7 +33,6 @@ import (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
	ErrInvalidSig = errors.New("invalid transaction v, r, s values")
 | 
						ErrInvalidSig = errors.New("invalid transaction v, r, s values")
 | 
				
			||||||
	errNoSigner   = errors.New("missing signing methods")
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// deriveSigner makes a *best* guess about which signer to use.
 | 
					// deriveSigner makes a *best* guess about which signer to use.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,7 +31,6 @@ import (
 | 
				
			|||||||
var (
 | 
					var (
 | 
				
			||||||
	bigZero                  = new(big.Int)
 | 
						bigZero                  = new(big.Int)
 | 
				
			||||||
	tt255                    = math.BigPow(2, 255)
 | 
						tt255                    = math.BigPow(2, 255)
 | 
				
			||||||
	tt256                    = math.BigPow(2, 256)
 | 
					 | 
				
			||||||
	errWriteProtection       = errors.New("evm: write protection")
 | 
						errWriteProtection       = errors.New("evm: write protection")
 | 
				
			||||||
	errReturnDataOutOfBounds = errors.New("evm: return data out of bounds")
 | 
						errReturnDataOutOfBounds = errors.New("evm: return data out of bounds")
 | 
				
			||||||
	errExecutionReverted     = errors.New("evm: execution reverted")
 | 
						errExecutionReverted     = errors.New("evm: execution reverted")
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,9 +6,12 @@ package bn256
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"crypto/rand"
 | 
						"crypto/rand"
 | 
				
			||||||
 | 
						"testing"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"github.com/stretchr/testify/require"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func ExamplePair() {
 | 
					func TestExamplePair(t *testing.T) {
 | 
				
			||||||
	// This implements the tripartite Diffie-Hellman algorithm from "A One
 | 
						// This implements the tripartite Diffie-Hellman algorithm from "A One
 | 
				
			||||||
	// Round Protocol for Tripartite Diffie-Hellman", A. Joux.
 | 
						// Round Protocol for Tripartite Diffie-Hellman", A. Joux.
 | 
				
			||||||
	// http://www.springerlink.com/content/cddc57yyva0hburb/fulltext.pdf
 | 
						// http://www.springerlink.com/content/cddc57yyva0hburb/fulltext.pdf
 | 
				
			||||||
@@ -40,4 +43,9 @@ func ExamplePair() {
 | 
				
			|||||||
	k3.ScalarMult(k3, c)
 | 
						k3.ScalarMult(k3, c)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// k1, k2 and k3 will all be equal.
 | 
						// k1, k2 and k3 will all be equal.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						require.Equal(t, k1, k2)
 | 
				
			||||||
 | 
						require.Equal(t, k1, k3)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						require.Equal(t, len(np), 4) //Avoid gometalinter varcheck err on np
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -72,13 +72,3 @@ func (eth *LightEthereum) startBloomHandlers() {
 | 
				
			|||||||
		}()
 | 
							}()
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
const (
 | 
					 | 
				
			||||||
	// bloomConfirms is the number of confirmation blocks before a bloom section is
 | 
					 | 
				
			||||||
	// considered probably final and its rotated bits are calculated.
 | 
					 | 
				
			||||||
	bloomConfirms = 256
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// bloomThrottling is the time to wait between processing two consecutive index
 | 
					 | 
				
			||||||
	// sections. It's useful during chain upgrades to prevent disk overload.
 | 
					 | 
				
			||||||
	bloomThrottling = 100 * time.Millisecond
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -73,7 +73,6 @@ const (
 | 
				
			|||||||
	// and a short term value which is adjusted exponentially with a factor of
 | 
						// and a short term value which is adjusted exponentially with a factor of
 | 
				
			||||||
	// pstatRecentAdjust with each dial/connection and also returned exponentially
 | 
						// pstatRecentAdjust with each dial/connection and also returned exponentially
 | 
				
			||||||
	// to the average with the time constant pstatReturnToMeanTC
 | 
						// to the average with the time constant pstatReturnToMeanTC
 | 
				
			||||||
	pstatRecentAdjust   = 0.1
 | 
					 | 
				
			||||||
	pstatReturnToMeanTC = time.Hour
 | 
						pstatReturnToMeanTC = time.Hour
 | 
				
			||||||
	// node address selection weight is dropped by a factor of exp(-addrFailDropLn) after
 | 
						// node address selection weight is dropped by a factor of exp(-addrFailDropLn) after
 | 
				
			||||||
	// each unsuccessful connection (restored after a successful one)
 | 
						// each unsuccessful connection (restored after a successful one)
 | 
				
			||||||
@@ -83,9 +82,6 @@ const (
 | 
				
			|||||||
	responseScoreTC = time.Millisecond * 100
 | 
						responseScoreTC = time.Millisecond * 100
 | 
				
			||||||
	delayScoreTC    = time.Second * 5
 | 
						delayScoreTC    = time.Second * 5
 | 
				
			||||||
	timeoutPow      = 10
 | 
						timeoutPow      = 10
 | 
				
			||||||
	// peerSelectMinWeight is added to calculated weights at request peer selection
 | 
					 | 
				
			||||||
	// to give poorly performing peers a little chance of coming back
 | 
					 | 
				
			||||||
	peerSelectMinWeight = 0.005
 | 
					 | 
				
			||||||
	// initStatsWeight is used to initialize previously unknown peers with good
 | 
						// initStatsWeight is used to initialize previously unknown peers with good
 | 
				
			||||||
	// statistics to give a chance to prove themselves
 | 
						// statistics to give a chance to prove themselves
 | 
				
			||||||
	initStatsWeight = 1
 | 
						initStatsWeight = 1
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -25,11 +25,6 @@ import (
 | 
				
			|||||||
	"github.com/ethereum/go-ethereum/light"
 | 
						"github.com/ethereum/go-ethereum/light"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const (
 | 
					 | 
				
			||||||
	//forceSyncCycle      = 10 * time.Second // Time interval to force syncs, even if few peers are available
 | 
					 | 
				
			||||||
	minDesiredPeerCount = 5 // Amount of peers desired to start syncing
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// syncer is responsible for periodically synchronising with the network, both
 | 
					// syncer is responsible for periodically synchronising with the network, both
 | 
				
			||||||
// downloading hashes and blocks as well as handling the announcement handler.
 | 
					// downloading hashes and blocks as well as handling the announcement handler.
 | 
				
			||||||
func (pm *ProtocolManager) syncer() {
 | 
					func (pm *ProtocolManager) syncer() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -49,7 +49,6 @@ var (
 | 
				
			|||||||
// Timeouts
 | 
					// Timeouts
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
	respTimeout = 500 * time.Millisecond
 | 
						respTimeout = 500 * time.Millisecond
 | 
				
			||||||
	sendTimeout = 500 * time.Millisecond
 | 
					 | 
				
			||||||
	expiration  = 20 * time.Second
 | 
						expiration  = 20 * time.Second
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ntpFailureThreshold = 32               // Continuous timeouts after which to check NTP
 | 
						ntpFailureThreshold = 32               // Continuous timeouts after which to check NTP
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -36,7 +36,6 @@ import (
 | 
				
			|||||||
var (
 | 
					var (
 | 
				
			||||||
	errInvalidEvent = errors.New("invalid in current state")
 | 
						errInvalidEvent = errors.New("invalid in current state")
 | 
				
			||||||
	errNoQuery      = errors.New("no pending query")
 | 
						errNoQuery      = errors.New("no pending query")
 | 
				
			||||||
	errWrongAddress = errors.New("unknown sender address")
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
@@ -828,11 +827,10 @@ type nodeEvent uint
 | 
				
			|||||||
//go:generate stringer -type=nodeEvent
 | 
					//go:generate stringer -type=nodeEvent
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
	invalidEvent nodeEvent = iota // zero is reserved
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Packet type events.
 | 
						// Packet type events.
 | 
				
			||||||
	// These correspond to packet types in the UDP protocol.
 | 
						// These correspond to packet types in the UDP protocol.
 | 
				
			||||||
	pingPacket
 | 
						pingPacket = iota + 1
 | 
				
			||||||
	pongPacket
 | 
						pongPacket
 | 
				
			||||||
	findnodePacket
 | 
						findnodePacket
 | 
				
			||||||
	neighborsPacket
 | 
						neighborsPacket
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,24 +4,14 @@ package discv5
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import "strconv"
 | 
					import "strconv"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const (
 | 
					const _nodeEvent_name = "pongTimeoutpingTimeoutneighboursTimeout"
 | 
				
			||||||
	_nodeEvent_name_0 = "invalidEventpingPacketpongPacketfindnodePacketneighborsPacketfindnodeHashPackettopicRegisterPackettopicQueryPackettopicNodesPacket"
 | 
					 | 
				
			||||||
	_nodeEvent_name_1 = "pongTimeoutpingTimeoutneighboursTimeout"
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
var (
 | 
					var _nodeEvent_index = [...]uint8{0, 11, 22, 39}
 | 
				
			||||||
	_nodeEvent_index_0 = [...]uint8{0, 12, 22, 32, 46, 61, 79, 98, 114, 130}
 | 
					 | 
				
			||||||
	_nodeEvent_index_1 = [...]uint8{0, 11, 22, 39}
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (i nodeEvent) String() string {
 | 
					func (i nodeEvent) String() string {
 | 
				
			||||||
	switch {
 | 
						i -= 264
 | 
				
			||||||
	case 0 <= i && i <= 8:
 | 
						if i >= nodeEvent(len(_nodeEvent_index)-1) {
 | 
				
			||||||
		return _nodeEvent_name_0[_nodeEvent_index_0[i]:_nodeEvent_index_0[i+1]]
 | 
							return "nodeEvent(" + strconv.FormatInt(int64(i+264), 10) + ")"
 | 
				
			||||||
	case 265 <= i && i <= 267:
 | 
					 | 
				
			||||||
		i -= 265
 | 
					 | 
				
			||||||
		return _nodeEvent_name_1[_nodeEvent_index_1[i]:_nodeEvent_index_1[i+1]]
 | 
					 | 
				
			||||||
	default:
 | 
					 | 
				
			||||||
		return "nodeEvent(" + strconv.FormatInt(int64(i), 10) + ")"
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						return _nodeEvent_name[_nodeEvent_index[i]:_nodeEvent_index[i+1]]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -38,7 +38,6 @@ const (
 | 
				
			|||||||
	hashBits   = len(common.Hash{}) * 8
 | 
						hashBits   = len(common.Hash{}) * 8
 | 
				
			||||||
	nBuckets   = hashBits + 1 // Number of buckets
 | 
						nBuckets   = hashBits + 1 // Number of buckets
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	maxBondingPingPongs = 16
 | 
					 | 
				
			||||||
	maxFindnodeFailures = 5
 | 
						maxFindnodeFailures = 5
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -36,25 +36,17 @@ const Version = 4
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// Errors
 | 
					// Errors
 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
	errPacketTooSmall   = errors.New("too small")
 | 
						errPacketTooSmall = errors.New("too small")
 | 
				
			||||||
	errBadPrefix        = errors.New("bad prefix")
 | 
						errBadPrefix      = errors.New("bad prefix")
 | 
				
			||||||
	errExpired          = errors.New("expired")
 | 
						errTimeout        = errors.New("RPC timeout")
 | 
				
			||||||
	errUnsolicitedReply = errors.New("unsolicited reply")
 | 
					 | 
				
			||||||
	errUnknownNode      = errors.New("unknown node")
 | 
					 | 
				
			||||||
	errTimeout          = errors.New("RPC timeout")
 | 
					 | 
				
			||||||
	errClockWarp        = errors.New("reply deadline too far in the future")
 | 
					 | 
				
			||||||
	errClosed           = errors.New("socket closed")
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Timeouts
 | 
					// Timeouts
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
	respTimeout = 500 * time.Millisecond
 | 
						respTimeout = 500 * time.Millisecond
 | 
				
			||||||
	queryDelay  = 1000 * time.Millisecond
 | 
					 | 
				
			||||||
	expiration  = 20 * time.Second
 | 
						expiration  = 20 * time.Second
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ntpFailureThreshold = 32               // Continuous timeouts after which to check NTP
 | 
						driftThreshold = 10 * time.Second // Allowed clock drift before warning user
 | 
				
			||||||
	ntpWarningCooldown  = 10 * time.Minute // Minimum amount of time to pass before repeating NTP warning
 | 
					 | 
				
			||||||
	driftThreshold      = 10 * time.Second // Allowed clock drift before warning user
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RPC request structures
 | 
					// RPC request structures
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,7 +24,6 @@ import (
 | 
				
			|||||||
	"reflect"
 | 
						"reflect"
 | 
				
			||||||
	"sync"
 | 
						"sync"
 | 
				
			||||||
	"testing"
 | 
						"testing"
 | 
				
			||||||
	"time"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/davecgh/go-spew/spew"
 | 
						"github.com/davecgh/go-spew/spew"
 | 
				
			||||||
	"github.com/ethereum/go-ethereum/common"
 | 
						"github.com/ethereum/go-ethereum/common"
 | 
				
			||||||
@@ -38,11 +37,7 @@ func init() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// shared test variables
 | 
					// shared test variables
 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
	futureExp          = uint64(time.Now().Add(10 * time.Hour).Unix())
 | 
						testLocal = rpcEndpoint{IP: net.ParseIP("3.3.3.3").To4(), UDP: 5, TCP: 6}
 | 
				
			||||||
	testTarget         = NodeID{0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1}
 | 
					 | 
				
			||||||
	testRemote         = rpcEndpoint{IP: net.ParseIP("1.1.1.1").To4(), UDP: 1, TCP: 2}
 | 
					 | 
				
			||||||
	testLocalAnnounced = rpcEndpoint{IP: net.ParseIP("2.2.2.2").To4(), UDP: 3, TCP: 4}
 | 
					 | 
				
			||||||
	testLocal          = rpcEndpoint{IP: net.ParseIP("3.3.3.3").To4(), UDP: 5, TCP: 6}
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// type udpTest struct {
 | 
					// type udpTest struct {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -46,7 +46,6 @@ const ID_SECP256k1_KECCAK = ID("secp256k1-keccak") // the default identity schem
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
	errNoID           = errors.New("unknown or unspecified identity scheme")
 | 
						errNoID           = errors.New("unknown or unspecified identity scheme")
 | 
				
			||||||
	errInvalidSigsize = errors.New("invalid signature size")
 | 
					 | 
				
			||||||
	errInvalidSig     = errors.New("invalid signature")
 | 
						errInvalidSig     = errors.New("invalid signature")
 | 
				
			||||||
	errNotSorted      = errors.New("record key/value pairs are not sorted by key")
 | 
						errNotSorted      = errors.New("record key/value pairs are not sorted by key")
 | 
				
			||||||
	errDuplicateKey   = errors.New("record contains duplicate key")
 | 
						errDuplicateKey   = errors.New("record contains duplicate key")
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -47,8 +47,6 @@ const (
 | 
				
			|||||||
	discMsg      = 0x01
 | 
						discMsg      = 0x01
 | 
				
			||||||
	pingMsg      = 0x02
 | 
						pingMsg      = 0x02
 | 
				
			||||||
	pongMsg      = 0x03
 | 
						pongMsg      = 0x03
 | 
				
			||||||
	getPeersMsg  = 0x04
 | 
					 | 
				
			||||||
	peersMsg     = 0x05
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// protoHandshake is the RLP structure of the protocol handshake.
 | 
					// protoHandshake is the RLP structure of the protocol handshake.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,12 +19,13 @@
 | 
				
			|||||||
package fuse
 | 
					package fuse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"bazil.org/fuse"
 | 
					 | 
				
			||||||
	"bazil.org/fuse/fs"
 | 
					 | 
				
			||||||
	"golang.org/x/net/context"
 | 
					 | 
				
			||||||
	"os"
 | 
						"os"
 | 
				
			||||||
	"path/filepath"
 | 
						"path/filepath"
 | 
				
			||||||
	"sync"
 | 
						"sync"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"bazil.org/fuse"
 | 
				
			||||||
 | 
						"bazil.org/fuse/fs"
 | 
				
			||||||
 | 
						"golang.org/x/net/context"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,9 +17,10 @@
 | 
				
			|||||||
package fuse
 | 
					package fuse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"github.com/ethereum/go-ethereum/swarm/api"
 | 
					 | 
				
			||||||
	"sync"
 | 
						"sync"
 | 
				
			||||||
	"time"
 | 
						"time"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"github.com/ethereum/go-ethereum/swarm/api"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -54,7 +54,6 @@ const (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	// key prefixes for leveldb storage
 | 
						// key prefixes for leveldb storage
 | 
				
			||||||
	kpIndex = 0
 | 
						kpIndex = 0
 | 
				
			||||||
	kpData  = 1
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -83,11 +83,6 @@ func NewNetStore(hash SwarmHasher, lstore *LocalStore, cloud CloudStore, params
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const (
 | 
					 | 
				
			||||||
	// maximum number of peers that a retrieved message is delivered to
 | 
					 | 
				
			||||||
	requesterCount = 3
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
	// timeout interval before retrieval is timed out
 | 
						// timeout interval before retrieval is timed out
 | 
				
			||||||
	searchTimeout = 3 * time.Second
 | 
						searchTimeout = 3 * time.Second
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -32,10 +32,6 @@ import (
 | 
				
			|||||||
	"github.com/ethereum/go-ethereum/rpc"
 | 
						"github.com/ethereum/go-ethereum/rpc"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const (
 | 
					 | 
				
			||||||
	filterTimeout = 300 // filters are considered timeout out after filterTimeout seconds
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
	ErrSymAsym              = errors.New("specify either a symmetric or an asymmetric key")
 | 
						ErrSymAsym              = errors.New("specify either a symmetric or an asymmetric key")
 | 
				
			||||||
	ErrInvalidSymmetricKey  = errors.New("invalid symmetric key")
 | 
						ErrInvalidSymmetricKey  = errors.New("invalid symmetric key")
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -32,10 +32,6 @@ import (
 | 
				
			|||||||
	"github.com/ethereum/go-ethereum/rpc"
 | 
						"github.com/ethereum/go-ethereum/rpc"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const (
 | 
					 | 
				
			||||||
	filterTimeout = 300 // filters are considered timeout out after filterTimeout seconds
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// List of errors
 | 
					// List of errors
 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
	ErrSymAsym              = errors.New("specify either a symmetric or an asymmetric key")
 | 
						ErrSymAsym              = errors.New("specify either a symmetric or an asymmetric key")
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user