# This file configures github.com/golangci/golangci-lint. version: '2' run: tests: true linters: default: none enable: - bidichk - copyloopvar - durationcheck - gocheckcompilerdirectives - govet - ineffassign - mirror - misspell - reassign - revive # only certain checks enabled - staticcheck - unconvert - unused - usetesting - whitespace ### linters we tried and will not be using: ### # - 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 settings: staticcheck: checks: # disable Quickfixes - -QF1* revive: enable-all-rules: false # here we enable specific useful rules # see https://golangci-lint.run/usage/linters/#revive for supported rules rules: - name: receiver-naming severity: warning disabled: false exclude: - '' exclusions: generated: lax presets: - comments - common-false-positives - legacy - std-error-handling rules: - linters: - deadcode - staticcheck path: crypto/bn256/cloudflare/optate.go - linters: - revive path: crypto/bn256/ - path: cmd/utils/flags.go text: "SA1019: cfg.TxLookupLimit is deprecated: use 'TransactionHistory' instead." - path: cmd/utils/flags.go text: "SA1019: ethconfig.Defaults.TxLookupLimit is deprecated: use 'TransactionHistory' instead." - path: internal/build/pgp.go text: 'SA1019: "golang.org/x/crypto/openpgp" is deprecated: this package is unmaintained except for security fixes.' - path: core/vm/contracts.go text: 'SA1019: "golang.org/x/crypto/ripemd160" is deprecated: RIPEMD-160 is a legacy hash and should not be used for new applications.' - path: (.+)\.go$ text: 'SA1019: event.TypeMux is deprecated: use Feed' - path: (.+)\.go$ text: 'SA1019: strings.Title is deprecated' - path: (.+)\.go$ text: 'SA1019: strings.Title has been deprecated since Go 1.18 and an alternative has been available since Go 1.0: The rule Title uses for word boundaries does not handle Unicode punctuation properly. Use golang.org/x/text/cases instead.' - path: (.+)\.go$ text: 'SA1029: should not use built-in type string as key for value' paths: - core/genesis_alloc.go - third_party$ - builtin$ - examples$ formatters: enable: - goimports settings: gofmt: simplify: true exclusions: generated: lax paths: - core/genesis_alloc.go - third_party$ - builtin$ - examples$