forked from cerc-io/plugeth
a907d7e81a
This enables the following linters - typecheck - unused - staticcheck - bidichk - durationcheck - exportloopref - gosec WIth a few exceptions. - We use a deprecated protobuf in trezor. I didn't want to mess with that, since I cannot meaningfully test any changes there. - The deprecated TypeMux is used in a few places still, so the warning for it is silenced for now. - Using string type in context.WithValue is apparently wrong, one should use a custom type, to prevent collisions between different places in the hierarchy of callers. That should be fixed at some point, but may require some attention. - The warnings for using weak random generator are squashed, since we use a lot of random without need for cryptographic guarantees.
71 lines
2.0 KiB
YAML
71 lines
2.0 KiB
YAML
# This file configures github.com/golangci/golangci-lint.
|
|
|
|
run:
|
|
timeout: 20m
|
|
tests: true
|
|
# default is true. Enables skipping of directories:
|
|
# vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
|
|
skip-dirs-use-default: true
|
|
skip-files:
|
|
- core/genesis_alloc.go
|
|
|
|
linters:
|
|
disable-all: true
|
|
enable:
|
|
- deadcode
|
|
- goconst
|
|
- goimports
|
|
- gosimple
|
|
- govet
|
|
- ineffassign
|
|
- misspell
|
|
- unconvert
|
|
- varcheck
|
|
- typecheck
|
|
- unused
|
|
- staticcheck
|
|
- bidichk
|
|
- durationcheck
|
|
- exportloopref
|
|
- gosec
|
|
|
|
#- structcheck # lots of false positives
|
|
#- errcheck #lot of false positives
|
|
# - contextcheck
|
|
# - errchkjson # lots of false positives
|
|
# - errorlint # this check crashes
|
|
# - exhaustive # silly check
|
|
# - makezero # false positives
|
|
# - nilerr # several intentional
|
|
|
|
linters-settings:
|
|
gofmt:
|
|
simplify: true
|
|
goconst:
|
|
min-len: 3 # minimum length of string constant
|
|
min-occurrences: 6 # minimum number of occurrences
|
|
gosec:
|
|
excludes:
|
|
- G404 # Use of weak random number generator - lots of FP
|
|
- G107 # Potential http request -- those are intentional
|
|
- G306 # G306: Expect WriteFile permissions to be 0600 or less
|
|
|
|
issues:
|
|
exclude-rules:
|
|
- path: crypto/bn256/cloudflare/optate.go
|
|
linters:
|
|
- deadcode
|
|
- staticcheck
|
|
- path: internal/build/pgp.go
|
|
text: 'SA1019: package golang.org/x/crypto/openpgp is deprecated'
|
|
- path: core/vm/contracts.go
|
|
text: 'SA1019: package golang.org/x/crypto/ripemd160 is deprecated'
|
|
- path: accounts/usbwallet/trezor.go
|
|
text: 'SA1019: package github.com/golang/protobuf/proto is deprecated'
|
|
- path: accounts/usbwallet/trezor/
|
|
text: 'SA1019: package github.com/golang/protobuf/proto is deprecated'
|
|
exclude:
|
|
- 'SA1019: event.TypeMux is deprecated: use Feed'
|
|
- 'SA1019: strings.Title is deprecated'
|
|
- 'SA1029: should not use built-in type string as key for value'
|
|
- 'G306: Expect WriteFile permissions to be 0600 or less' |