Repository: smartcontractkit/chainlink
Pull request #17960: Migrate to glangci-lint 2.x
Author: login: chainchad
Created: 2025-05-30T17:11:24Z | Merged: 2025-05-30T18:39:18Z

The [GHA cache service](https://github.blog/changelog/2025-03-20-notification-of-upcoming-breaking-changes-in-github-actions/#decommissioned-cache-service-brownouts) is being sunset so we need to use the latest golangci-lint action which is compatible with the new GHA caching.

See: https://golangci-lint.run/product/migration-guide

Ran `golangci-lint migrate` to update the yaml config.

Running a CI lint test here: https://github.com/smartcontractkit/chainlink/actions/runs/15352570456?pr=17960 (`make golangic-lint` works locally).


Diff:
diff --git a/.github/actions/golangci-lint/action.yml b/.github/actions/golangci-lint/action.yml
index a608a215106..f2b98beccfa 100644
--- a/.github/actions/golangci-lint/action.yml
+++ b/.github/actions/golangci-lint/action.yml
@@ -65,11 +65,11 @@ runs:
         fi
 
     - name: Golangci-lint
-      uses: golangci/golangci-lint-action@38e1018663fa5173f3968ea0777460d3de38f256 # v5.3.0
+      uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9 # v8.0.0
       with:
-        version: v1.64.7
+        version: v2.1.6
         only-new-issues: true
-        args: --out-format colored-line-number,checkstyle:golangci-lint-report.xml
+        args: --output.checkstyle.path=golangci-lint-report.xml
         working-directory: ${{ steps.set-working-directory.outputs.golangci-lint-working-directory }}
 
     - name: Print Golangci-lint report results
diff --git a/.golangci.yml b/.golangci.yml
index 3ffd6280778..d94ddf769c0 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -1,5 +1,5 @@
+version: "2"
 run:
-  timeout: 15m
   allow-parallel-runners: true
 linters:
   enable:
@@ -12,7 +12,6 @@ linters:
     - fatcontext
     - ginkgolinter
     - gocritic
-    - goimports
     - gosec
     - loggercheck
     - mirror
@@ -28,158 +27,168 @@ linters:
     - testifylint
     - unconvert
     - whitespace
-linters-settings:
-  exhaustive:
-    default-signifies-exhaustive: true
-  goimports:
-    local-prefixes: github.com/smartcontractkit/chainlink
-  golint:
-    min-confidence: 1.0
-  gosec:
-    excludes:
-      - G101
-      - G104
-      # - G204
-      # - G304
-      # - G404
-  govet:
-    enable:
-      - shadow
-    settings:
-      printf:
-        # Additionally check chainlink custom loggers
-        funcs:
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracef
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infof
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infof
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracef
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalf
-  revive:
-    confidence: 0.8
-    rules:
-      - name: blank-imports
-      - name: context-as-argument
-      - name: context-keys-type
-      - name: dot-imports
-      - name: error-return
-      - name: error-strings
-      - name: error-naming
-      - name: exported
-      - name: if-return
-      - name: increment-decrement
-      - name: var-naming
-      - name: var-declaration
-      - name: package-comments
-      - name: range
-      - name: receiver-naming
-      - name: time-naming
-      # - name: unexported-return
-      - name: indent-error-flow
-      - name: errorf
-      - name: empty-block
-      - name: superfluous-else
-      # - name: unused-parameter
-      - name: unreachable-code
-      - name: redefines-builtin-id
-      - name: waitgroup-by-value
-      - name: unconditional-recursion
-      - name: struct-tag
-      - name: string-format
-      - name: string-of-int
-      - name: range-val-address
-      - name: range-val-in-closure
-      - name: modifies-value-receiver
-      - name: modifies-parameter
-      - name: identical-branches
-      - name: get-return
-      # - name: flag-parameter
-      - name: early-return
-      - name: defer
-      - name: constant-logical-expr
-      # - name: confusing-naming
-      # - name: confusing-results
-      - name: bool-literal-in-expr
-      - name: atomic
-  depguard:
-    rules:
-      main:
-        list-mode: lax
-        deny:
-          - pkg: cosmossdk.io/errors
-            desc: Use the standard library instead
-          - pkg: github.com/gofrs/uuid
-            desc: Use github.com/google/uuid instead
-          - pkg: github.com/jackc/pgx3
-            desc: Use github.com/jackc/pgx4 instead
-          - pkg: github.com/jackc/pgx5
-            desc: Use github.com/jackc/pgx4 instead
-          - pkg: github.com/satori/go.uuid
-            desc: Use github.com/google/uuid instead
-          - pkg: github.com/test-go/testify/assert
-            desc: Use github.com/stretchr/testify/assert instead
-          - pkg: github.com/test-go/testify/mock
-            desc: Use github.com/stretchr/testify/mock instead
-          - pkg: github.com/test-go/testify/require
-            desc: Use github.com/stretchr/testify/require instead
-# TODO https://smartcontract-it.atlassian.net/browse/BCI-2589
-#          - pkg: go.uber.org/multierr
-#            desc: Use the standard library instead, for example https://pkg.go.dev/errors#Join
-          - pkg: gopkg.in/guregu/null.v1
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: gopkg.in/guregu/null.v2
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: gopkg.in/guregu/null.v3
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: github.com/go-gorm/gorm
-            desc: Use github.com/jmoiron/sqlx directly instead
-          - pkg: github.com/smartcontractkit/chainlink-integrations/evm
-            desc: Use github.com/smartcontractkit/chainlink-evm instead
-          - pkg: github.com/consul/sdk/freeport
-            desc: Use github.com/smartcontractkit/freeport instead
-  loggercheck:
-    # Check that *w logging functions have even number of args (i.e., well formed key-value pairs).
+  settings:
+    depguard:
+      rules:
+        main:
+          list-mode: lax
+          deny:
+            - pkg: cosmossdk.io/errors
+              desc: Use the standard library instead
+            - pkg: github.com/gofrs/uuid
+              desc: Use github.com/google/uuid instead
+            - pkg: github.com/jackc/pgx3
+              desc: Use github.com/jackc/pgx4 instead
+            - pkg: github.com/jackc/pgx5
+              desc: Use github.com/jackc/pgx4 instead
+            - pkg: github.com/satori/go.uuid
+              desc: Use github.com/google/uuid instead
+            - pkg: github.com/test-go/testify/assert
+              desc: Use github.com/stretchr/testify/assert instead
+            - pkg: github.com/test-go/testify/mock
+              desc: Use github.com/stretchr/testify/mock instead
+            - pkg: github.com/test-go/testify/require
+              desc: Use github.com/stretchr/testify/require instead
+            # TODO https://smartcontract-it.atlassian.net/browse/BCI-2589
+            #          - pkg: go.uber.org/multierr
+            #            desc: Use the standard library instead, for example https://pkg.go.dev/errors#Join
+            - pkg: gopkg.in/guregu/null.v1
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: gopkg.in/guregu/null.v2
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: gopkg.in/guregu/null.v3
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: github.com/go-gorm/gorm
+              desc: Use github.com/jmoiron/sqlx directly instead
+            - pkg: github.com/smartcontractkit/chainlink-integrations/evm
+              desc: Use github.com/smartcontractkit/chainlink-evm instead
+            - pkg: github.com/consul/sdk/freeport
+              desc: Use github.com/smartcontractkit/freeport instead
+    exhaustive:
+      default-signifies-exhaustive: true
+    gosec:
+      excludes:
+        - G101
+        - G104
+        # - G204
+        # - G304
+        # - G404
+    govet:
+      enable:
+        - shadow
+      settings:
+        printf:
+          # Additionally check chainlink custom loggers
+          funcs:
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracef
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infof
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infof
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracef
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalf
+    loggercheck:
+      # Check that *w logging functions have even number of args (i.e., well formed key-value pairs).
+      rules:
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracew
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infow
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infow
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracew
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).With
+    nolintlint:
+      require-explanation: true
+      require-specific: true
+    revive:
+      confidence: 0.8
+      rules:
+        - name: blank-imports
+        - name: context-as-argument
+        - name: context-keys-type
+        - name: dot-imports
+        - name: error-return
+        - name: error-strings
+        - name: error-naming
+        - name: exported
+        - name: if-return
+        - name: increment-decrement
+        - name: var-naming
+        - name: var-declaration
+        - name: package-comments
+        - name: range
+        - name: receiver-naming
+        - name: time-naming
+        # - name: unexported-return
+        - name: indent-error-flow
+        - name: errorf
+        - name: empty-block
+        - name: superfluous-else
+        # - name: unused-parameter
+        - name: unreachable-code
+        - name: redefines-builtin-id
+        - name: waitgroup-by-value
+        - name: unconditional-recursion
+        - name: struct-tag
+        - name: string-format
+        - name: string-of-int
+        - name: range-val-address
+        - name: range-val-in-closure
+        - name: modifies-value-receiver
+        - name: modifies-parameter
+        - name: identical-branches
+        - name: get-return
+        # - name: flag-parameter
+        - name: early-return
+        - name: defer
+        - name: constant-logical-expr
+        # - name: confusing-naming
+        # - name: confusing-results
+        - name: bool-literal-in-expr
+        - name: atomic
+  exclusions:
+    generated: lax
+    presets:
+      - comments
+      - common-false-positives
+      - legacy
+      - std-error-handling
     rules:
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracew
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infow
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infow
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracew
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).With
-  nolintlint:
-    require-specific: true
-    require-explanation: true
+      - linters:
+          - gosec
+        path: test
+        text: "^G404:"
 issues:
   max-same-issues: 0
-  exclude-rules:
-    - path: test
-      text: "^G404:"
-      linters:
-        - gosec
-  exclude-files:
-    - evm/ # need to move files here for evm extraction that have outstanding issues
+formatters:
+  enable:
+    - goimports
+  settings:
+    goimports:
+      local-prefixes:
+        - github.com/smartcontractkit/chainlink
+  exclusions:
+    generated: lax
diff --git a/.tool-versions b/.tool-versions
index 8283c0b4cd0..6dcf15c46b5 100644
--- a/.tool-versions
+++ b/.tool-versions
@@ -4,6 +4,6 @@ nodejs 20.13.1
 pnpm 10.6.5
 postgres 15.1
 helm 3.10.3
-golangci-lint 1.64.7
+golangci-lint 2.1.6
 protoc 29.3
 python 3.10.5
\ No newline at end of file
diff --git a/GNUmakefile b/GNUmakefile
index 9bf03498159..810801526ee 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -203,7 +203,7 @@ config-docs: ## Generate core node configuration documentation
 .PHONY: golangci-lint
 golangci-lint: ## Run golangci-lint for all issues.
 	[ -d "./golangci-lint" ] || mkdir ./golangci-lint && \
-	docker run --rm -v $(shell pwd):/app -w /app golangci/golangci-lint:v1.64.7 golangci-lint run --max-issues-per-linter 0 --max-same-issues 0 | tee ./golangci-lint/$(shell date +%Y-%m-%d_%H:%M:%S).txt
+	docker run --rm -v $(shell pwd):/app -w /app golangci/golangci-lint:v2.1.6 golangci-lint run --max-issues-per-linter 0 --max-same-issues 0 | tee ./golangci-lint/$(shell date +%Y-%m-%d_%H:%M:%S).txt
 
 .PHONY: modgraph
 modgraph:
diff --git a/deployment/.golangci.yml b/deployment/.golangci.yml
index 22056535ddd..3c7881e416e 100644
--- a/deployment/.golangci.yml
+++ b/deployment/.golangci.yml
@@ -1,5 +1,5 @@
+version: "2"
 run:
-  timeout: 15m
   allow-parallel-runners: true
 linters:
   enable:
@@ -11,7 +11,6 @@ linters:
     - fatcontext
     - ginkgolinter
     - gocritic
-    - goimports
     - gosec
     - loggercheck
     - mirror
@@ -26,176 +25,181 @@ linters:
     - testifylint
     - unconvert
     - whitespace
-linters-settings:
-  exhaustive:
-    default-signifies-exhaustive: true
-  goimports:
-    local-prefixes: github.com/smartcontractkit/chainlink
-  golint:
-    min-confidence: 0.999
-  gosec:
-    excludes:
-      - G101
-  govet:
-    enable:
-      - shadow
-    settings:
-      printf:
-        # Additionally check chainlink custom loggers
-        funcs:
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracef
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infof
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infof
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracef
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalf
-  revive:
-    confidence: 0.8
-    rules:
-      - name: blank-imports
-      - name: context-as-argument
-      - name: context-keys-type
-      - name: dot-imports
-      - name: error-return
-      - name: error-strings
-      - name: error-naming
-      - name: exported
-      - name: if-return
-      - name: increment-decrement
-      - name: var-naming
-      - name: var-declaration
-      - name: package-comments
-      - name: range
-      - name: receiver-naming
-      - name: time-naming
-      - name: unexported-return
-      - name: indent-error-flow
-      - name: errorf
-      - name: empty-block
-      - name: superfluous-else
-      # - name: unused-parameter
-      - name: unreachable-code
-      - name: redefines-builtin-id
-      - name: waitgroup-by-value
-      - name: unconditional-recursion
-      - name: struct-tag
-      - name: string-format
-      - name: string-of-int
-      - name: range-val-address
-      - name: range-val-in-closure
-      - name: modifies-value-receiver
-      - name: modifies-parameter
-      - name: identical-branches
-      - name: get-return
-      # - name: flag-parameter // probably one we should work on doing better at in the future
-      - name: early-return
-      - name: defer
-      - name: constant-logical-expr
-      - name: confusing-naming
-      - name: confusing-results
-      - name: bool-literal-in-expr
-      - name: atomic
-  depguard:
-    rules:
-      main:
-        list-mode: lax
-        deny:
-          - pkg: cosmossdk.io/errors
-            desc: Use the standard library instead
-          - pkg: github.com/gofrs/uuid
-            desc: Use github.com/google/uuid instead
-          - pkg: github.com/jackc/pgx3
-            desc: Use github.com/jackc/pgx4 instead
-          - pkg: github.com/jackc/pgx5
-            desc: Use github.com/jackc/pgx4 instead
-          - pkg: github.com/satori/go.uuid
-            desc: Use github.com/google/uuid instead
-          - pkg: github.com/test-go/testify/assert
-            desc: Use github.com/stretchr/testify/assert instead
-          - pkg: github.com/test-go/testify/mock
-            desc: Use github.com/stretchr/testify/mock instead
-          - pkg: github.com/test-go/testify/require
-            desc: Use github.com/stretchr/testify/require instead
-          - pkg: go.uber.org/multierr
-            desc: Use the standard library instead, for example https://pkg.go.dev/errors#Join
-          - pkg: gopkg.in/guregu/null.v1
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: gopkg.in/guregu/null.v2
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: gopkg.in/guregu/null.v3
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: github.com/go-gorm/gorm
-            desc: Use github.com/jmoiron/sqlx directly instead
-          - pkg: github.com/smartcontractkit/chainlink-integrations/evm
-            desc: Use github.com/smartcontractkit/chainlink-evm instead
-          - pkg: github.com/smartcontractkit/ccip-owner-contracts/pkg/proposal
-            desc: Use github.com/smartcontractkit/mcms instead
-  loggercheck:
-    # Check that *w logging functions have even number of args (i.e., well formed key-value pairs).
+  settings:
+    depguard:
+      rules:
+        main:
+          list-mode: lax
+          deny:
+            - pkg: cosmossdk.io/errors
+              desc: Use the standard library instead
+            - pkg: github.com/gofrs/uuid
+              desc: Use github.com/google/uuid instead
+            - pkg: github.com/jackc/pgx3
+              desc: Use github.com/jackc/pgx4 instead
+            - pkg: github.com/jackc/pgx5
+              desc: Use github.com/jackc/pgx4 instead
+            - pkg: github.com/satori/go.uuid
+              desc: Use github.com/google/uuid instead
+            - pkg: github.com/test-go/testify/assert
+              desc: Use github.com/stretchr/testify/assert instead
+            - pkg: github.com/test-go/testify/mock
+              desc: Use github.com/stretchr/testify/mock instead
+            - pkg: github.com/test-go/testify/require
+              desc: Use github.com/stretchr/testify/require instead
+            - pkg: go.uber.org/multierr
+              desc: Use the standard library instead, for example https://pkg.go.dev/errors#Join
+            - pkg: gopkg.in/guregu/null.v1
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: gopkg.in/guregu/null.v2
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: gopkg.in/guregu/null.v3
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: github.com/go-gorm/gorm
+              desc: Use github.com/jmoiron/sqlx directly instead
+            - pkg: github.com/smartcontractkit/chainlink-integrations/evm
+              desc: Use github.com/smartcontractkit/chainlink-evm instead
+            - pkg: github.com/smartcontractkit/ccip-owner-contracts/pkg/proposal
+              desc: Use github.com/smartcontractkit/mcms instead
+    exhaustive:
+      default-signifies-exhaustive: true
+    gosec:
+      excludes:
+        - G101
+    govet:
+      enable:
+        - shadow
+      settings:
+        printf:
+          funcs:
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracef
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infof
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infof
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracef
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalf
+    loggercheck:
+      rules:
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracew
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infow
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infow
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracew
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).With
+    nolintlint:
+      require-explanation: true
+      require-specific: true
+    revive:
+      confidence: 0.8
+      rules:
+        - name: blank-imports
+        - name: context-as-argument
+        - name: context-keys-type
+        - name: dot-imports
+        - name: error-return
+        - name: error-strings
+        - name: error-naming
+        - name: exported
+        - name: if-return
+        - name: increment-decrement
+        - name: var-naming
+        - name: var-declaration
+        - name: package-comments
+        - name: range
+        - name: receiver-naming
+        - name: time-naming
+        - name: unexported-return
+        - name: indent-error-flow
+        - name: errorf
+        - name: empty-block
+        - name: superfluous-else
+        - name: unreachable-code
+        - name: redefines-builtin-id
+        - name: waitgroup-by-value
+        - name: unconditional-recursion
+        - name: struct-tag
+        - name: string-format
+        - name: string-of-int
+        - name: range-val-address
+        - name: range-val-in-closure
+        - name: modifies-value-receiver
+        - name: modifies-parameter
+        - name: identical-branches
+        - name: get-return
+        - name: early-return
+        - name: defer
+        - name: constant-logical-expr
+        - name: confusing-naming
+        - name: confusing-results
+        - name: bool-literal-in-expr
+        - name: atomic
+  exclusions:
+    generated: lax
+    presets:
+      - comments
+      - common-false-positives
+      - legacy
+      - std-error-handling
     rules:
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracew
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infow
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infow
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracew
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).With
-  nolintlint:
-    require-specific: true
-    require-explanation: true
-issues:
-  exclude-rules:
-    # when performing simple refactor, the usage of addressbook will fail CI, this is a temporary ignore
-    - text: "SA1019: (.*).ExistingAddresses is deprecated: AddressBook is deprecated"
-      linters:
+      - linters:
           - staticcheck
-    - text: "^var-naming: don't use an underscore in package name"
-      linters:
+        text: "SA1019: (.*).ExistingAddresses is deprecated: AddressBook is deprecated"
+      - linters:
+          - revive
+        text: "^var-naming: don't use an underscore in package name"
+      - linters:
+          - revive
+        path: memory/(.+)\.go
+      - linters:
+          - gosec
+        text: "^G404: Use of weak random number generator"
+      - linters:
+          - govet
+        text: declaration of "err" shadows
+      - linters:
           - revive
-    - path: memory/(.+)\.go
-      linters:
-        - revive
-    - text: "^G404: Use of weak random number generator"
-      linters:
-        - gosec
-    - linters:
-        - govet
-      text: "declaration of \"err\" shadows"
-    # ignore false positive by revive on the function names (ID, Version, Description) clash between sequence and operation
-    - path: operations/operation.go
-      text: "^confusing-naming:"
-      linters:
-        - revive
-    - path: operations/sequence.go
-      text: "^confusing-naming:"
-      linters:
-        - revive
-    # ignore false positive by revive on function names for BaseDataStore interface implementations
-    - path: datastore/memory_datastore.go
-      text: "^confusing-naming:"
-      linters:
-        - revive
+        path: operations/operation.go
+        text: "^confusing-naming:"
+      - linters:
+          - revive
+        path: operations/sequence.go
+        text: "^confusing-naming:"
+      - linters:
+          - revive
+        path: datastore/memory_datastore.go
+        text: "^confusing-naming:"
+
+formatters:
+  enable:
+    - goimports
+  settings:
+    goimports:
+      local-prefixes:
+        - github.com/smartcontractkit/chainlink
+  exclusions:
+    generated: lax
diff --git a/integration-tests/.golangci.yml b/integration-tests/.golangci.yml
index 3e3fad177eb..53b51f2c274 100644
--- a/integration-tests/.golangci.yml
+++ b/integration-tests/.golangci.yml
@@ -1,5 +1,5 @@
+version: "2"
 run:
-  timeout: 15m
   allow-parallel-runners: true
 linters:
   enable:
@@ -11,7 +11,6 @@ linters:
     - fatcontext
     - ginkgolinter
     - gocritic
-    - goimports
     - gosec
     - loggercheck
     - mirror
@@ -27,150 +26,155 @@ linters:
     - testifylint
     - unconvert
     - whitespace
-linters-settings:
-  exhaustive:
-    default-signifies-exhaustive: true
-  goimports:
-    local-prefixes: github.com/smartcontractkit/chainlink
-  golint:
-    min-confidence: 0.999
-  gosec:
-    excludes:
-      - G101
-  govet:
-    enable:
-      - shadow
-    settings:
-      printf:
-        # Additionally check chainlink custom loggers
-        funcs:
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracef
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infof
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infof
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracef
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalf
-  revive:
-    confidence: 0.8
-    rules:
-      - name: blank-imports
-      - name: context-as-argument
-      - name: context-keys-type
-      - name: dot-imports
-      - name: error-return
-      - name: error-strings
-      - name: error-naming
-      - name: exported
-      - name: if-return
-      - name: increment-decrement
-      - name: var-naming
-      - name: var-declaration
-      - name: package-comments
-      - name: range
-      - name: receiver-naming
-      - name: time-naming
-      - name: unexported-return
-      - name: indent-error-flow
-      - name: errorf
-      - name: empty-block
-      - name: superfluous-else
-      # - name: unused-parameter
-      - name: unreachable-code
-      - name: redefines-builtin-id
-      - name: waitgroup-by-value
-      - name: unconditional-recursion
-      - name: struct-tag
-      - name: string-format
-      - name: string-of-int
-      - name: range-val-address
-      - name: range-val-in-closure
-      - name: modifies-value-receiver
-      - name: modifies-parameter
-      - name: identical-branches
-      - name: get-return
-      # - name: flag-parameter // probably one we should work on doing better at in the future
-      - name: early-return
-      - name: defer
-      - name: constant-logical-expr
-      - name: confusing-naming
-      - name: confusing-results
-      - name: bool-literal-in-expr
-      - name: atomic
-  depguard:
-    rules:
-      main:
-        list-mode: lax
-        deny:
-          - pkg: cosmossdk.io/errors
-            desc: Use the standard library instead
-          - pkg: github.com/gofrs/uuid
-            desc: Use github.com/google/uuid instead
-          - pkg: github.com/jackc/pgx3
-            desc: Use github.com/jackc/pgx4 instead
-          - pkg: github.com/jackc/pgx5
-            desc: Use github.com/jackc/pgx4 instead
-          - pkg: github.com/satori/go.uuid
-            desc: Use github.com/google/uuid instead
-          - pkg: github.com/test-go/testify/assert
-            desc: Use github.com/stretchr/testify/assert instead
-          - pkg: github.com/test-go/testify/mock
-            desc: Use github.com/stretchr/testify/mock instead
-          - pkg: github.com/test-go/testify/require
-            desc: Use github.com/stretchr/testify/require instead
-          - pkg: go.uber.org/multierr
-            desc: Use the standard library instead, for example https://pkg.go.dev/errors#Join
-          - pkg: gopkg.in/guregu/null.v1
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: gopkg.in/guregu/null.v2
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: gopkg.in/guregu/null.v3
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: github.com/go-gorm/gorm
-            desc: Use github.com/jmoiron/sqlx directly instead
-          - pkg: github.com/smartcontractkit/chainlink-integrations/evm
-            desc: Use github.com/smartcontractkit/chainlink-evm instead
-  loggercheck:
-    # Check that *w logging functions have even number of args (i.e., well formed key-value pairs).
+  settings:
+    depguard:
+      rules:
+        main:
+          list-mode: lax
+          deny:
+            - pkg: cosmossdk.io/errors
+              desc: Use the standard library instead
+            - pkg: github.com/gofrs/uuid
+              desc: Use github.com/google/uuid instead
+            - pkg: github.com/jackc/pgx3
+              desc: Use github.com/jackc/pgx4 instead
+            - pkg: github.com/jackc/pgx5
+              desc: Use github.com/jackc/pgx4 instead
+            - pkg: github.com/satori/go.uuid
+              desc: Use github.com/google/uuid instead
+            - pkg: github.com/test-go/testify/assert
+              desc: Use github.com/stretchr/testify/assert instead
+            - pkg: github.com/test-go/testify/mock
+              desc: Use github.com/stretchr/testify/mock instead
+            - pkg: github.com/test-go/testify/require
+              desc: Use github.com/stretchr/testify/require instead
+            - pkg: go.uber.org/multierr
+              desc: Use the standard library instead, for example https://pkg.go.dev/errors#Join
+            - pkg: gopkg.in/guregu/null.v1
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: gopkg.in/guregu/null.v2
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: gopkg.in/guregu/null.v3
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: github.com/go-gorm/gorm
+              desc: Use github.com/jmoiron/sqlx directly instead
+            - pkg: github.com/smartcontractkit/chainlink-integrations/evm
+              desc: Use github.com/smartcontractkit/chainlink-evm instead
+    exhaustive:
+      default-signifies-exhaustive: true
+    gosec:
+      excludes:
+        - G101
+    govet:
+      enable:
+        - shadow
+      settings:
+        printf:
+          funcs:
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracef
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infof
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infof
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracef
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalf
+    loggercheck:
+      rules:
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracew
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infow
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infow
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracew
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).With
+    nolintlint:
+      require-explanation: true
+      require-specific: true
+    revive:
+      confidence: 0.8
+      rules:
+        - name: blank-imports
+        - name: context-as-argument
+        - name: context-keys-type
+        - name: dot-imports
+        - name: error-return
+        - name: error-strings
+        - name: error-naming
+        - name: exported
+        - name: if-return
+        - name: increment-decrement
+        - name: var-naming
+        - name: var-declaration
+        - name: package-comments
+        - name: range
+        - name: receiver-naming
+        - name: time-naming
+        - name: unexported-return
+        - name: indent-error-flow
+        - name: errorf
+        - name: empty-block
+        - name: superfluous-else
+        - name: unreachable-code
+        - name: redefines-builtin-id
+        - name: waitgroup-by-value
+        - name: unconditional-recursion
+        - name: struct-tag
+        - name: string-format
+        - name: string-of-int
+        - name: range-val-address
+        - name: range-val-in-closure
+        - name: modifies-value-receiver
+        - name: modifies-parameter
+        - name: identical-branches
+        - name: get-return
+        - name: early-return
+        - name: defer
+        - name: constant-logical-expr
+        - name: confusing-naming
+        - name: confusing-results
+        - name: bool-literal-in-expr
+        - name: atomic
+  exclusions:
+    generated: lax
+    presets:
+      - comments
+      - common-false-positives
+      - legacy
+      - std-error-handling
     rules:
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracew
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infow
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infow
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracew
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).With
-  nolintlint:
-    require-specific: true
-    require-explanation: true
-issues:
-  exclude-rules:
-    - text: "^G404: Use of weak random number generator"
-      linters:
-        - gosec
-    - linters:
-        - govet
-      text: "declaration of \"err\" shadows"
+      - linters:
+          - gosec
+        text: "^G404: Use of weak random number generator"
+      - linters:
+          - govet
+        text: declaration of "err" shadows
+formatters:
+  enable:
+    - goimports
+  settings:
+    goimports:
+      local-prefixes:
+        - github.com/smartcontractkit/chainlink
diff --git a/integration-tests/.tool-versions b/integration-tests/.tool-versions
index 3bf27b3bcb2..9cf8e36f99c 100644
--- a/integration-tests/.tool-versions
+++ b/integration-tests/.tool-versions
@@ -2,5 +2,5 @@ golang 1.23.3
 k3d 5.4.6
 kubectl 1.25.5
 nodejs 20.13.1
-golangci-lint 1.64.7
+golangci-lint 2.1.6
 task 3.35.1


Reviews:
user: login: chainchad
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-30T17:13:04Z
user: login: chainchad
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-30T17:13:17Z
user: login: chainchad
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-30T17:13:57Z
user: login: chainchad
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-30T17:14:41Z
user: login: jmank88
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-30T17:20:29Z
user: login: jmank88
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-30T17:20:51Z
user: login: jmank88
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-30T17:22:30Z
user: login: chainchad
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-30T17:23:12Z
user: login: chainchad
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-30T17:26:03Z
user: login: chainchad
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-30T17:27:38Z
user: login: jmank88
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-05-30T18:06:22Z
user: login: gustavogama-cll
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-05-30T18:07:04Z
user: login: erikburt
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-30T18:07:12Z
user: login: erikburt
state: APPROVED
author_association: COLLABORATOR
submitted_at: 2025-05-30T18:07:14Z
user: login: chainchad
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-30T18:10:30Z

Review comments:
diff_hunk: @@ -65,11 +65,11 @@ runs:
         fi
 
     - name: Golangci-lint
-      uses: golangci/golangci-lint-action@38e1018663fa5173f3968ea0777460d3de38f256 # v5.3.0
+      uses: golangci/golangci-lint-action@dx-942/golangci-lint-upgrade # TODO - use released version.
path: .github/actions/golangci-lint/action.yml
user: login: chainchad
body: TODO
created_at: 2025-05-30T17:13:04Z
author_association: COLLABORATOR
diff_hunk: @@ -65,11 +65,11 @@ runs:
         fi
 
     - name: Golangci-lint
-      uses: golangci/golangci-lint-action@38e1018663fa5173f3968ea0777460d3de38f256 # v5.3.0
+      uses: golangci/golangci-lint-action@dx-942/golangci-lint-upgrade # TODO - use released version.
       with:
-        version: v1.64.7
+        version: v2.1.6
         only-new-issues: true
-        args: --out-format colored-line-number,checkstyle:golangci-lint-report.xml
path: .github/actions/golangci-lint/action.yml
user: login: chainchad
body: Looks like lines are colored by default now
created_at: 2025-05-30T17:13:17Z
author_association: COLLABORATOR
diff_hunk: @@ -1,5 +1,5 @@
+version: "2"
 run:
-  timeout: 15m
path: .golangci.yml
user: login: chainchad
body: > WARN The configuration `run.timeout` is ignored. By default, in v2, the timeout is disabled.
created_at: 2025-05-30T17:13:57Z
author_association: COLLABORATOR
diff_hunk: @@ -12,7 +12,6 @@ linters:
     - fatcontext
     - ginkgolinter
     - gocritic
-    - goimports
path: .golangci.yml
user: login: chainchad
body: https://golangci-lint.run/product/migration-guide/#lintersenableformatter_name
created_at: 2025-05-30T17:14:41Z
author_association: COLLABORATOR
diff_hunk: @@ -28,158 +27,178 @@ linters:
     - testifylint
     - unconvert
     - whitespace
-linters-settings:
-  exhaustive:
-    default-signifies-exhaustive: true
-  goimports:
-    local-prefixes: github.com/smartcontractkit/chainlink
-  golint:
-    min-confidence: 1.0
-  gosec:
-    excludes:
-      - G101
-      - G104
-      # - G204
-      # - G304
-      # - G404
-  govet:
-    enable:
-      - shadow
-    settings:
-      printf:
-        # Additionally check chainlink custom loggers
-        funcs:
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracef
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infof
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infof
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracef
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalf
-  revive:
-    confidence: 0.8
-    rules:
-      - name: blank-imports
-      - name: context-as-argument
-      - name: context-keys-type
-      - name: dot-imports
-      - name: error-return
-      - name: error-strings
-      - name: error-naming
-      - name: exported
-      - name: if-return
-      - name: increment-decrement
-      - name: var-naming
-      - name: var-declaration
-      - name: package-comments
-      - name: range
-      - name: receiver-naming
-      - name: time-naming
-      # - name: unexported-return
-      - name: indent-error-flow
-      - name: errorf
-      - name: empty-block
-      - name: superfluous-else
-      # - name: unused-parameter
-      - name: unreachable-code
-      - name: redefines-builtin-id
-      - name: waitgroup-by-value
-      - name: unconditional-recursion
-      - name: struct-tag
-      - name: string-format
-      - name: string-of-int
-      - name: range-val-address
-      - name: range-val-in-closure
-      - name: modifies-value-receiver
-      - name: modifies-parameter
-      - name: identical-branches
-      - name: get-return
-      # - name: flag-parameter
-      - name: early-return
-      - name: defer
-      - name: constant-logical-expr
-      # - name: confusing-naming
-      # - name: confusing-results
-      - name: bool-literal-in-expr
-      - name: atomic
-  depguard:
-    rules:
-      main:
-        list-mode: lax
-        deny:
-          - pkg: cosmossdk.io/errors
-            desc: Use the standard library instead
-          - pkg: github.com/gofrs/uuid
-            desc: Use github.com/google/uuid instead
-          - pkg: github.com/jackc/pgx3
-            desc: Use github.com/jackc/pgx4 instead
-          - pkg: github.com/jackc/pgx5
-            desc: Use github.com/jackc/pgx4 instead
-          - pkg: github.com/satori/go.uuid
-            desc: Use github.com/google/uuid instead
-          - pkg: github.com/test-go/testify/assert
-            desc: Use github.com/stretchr/testify/assert instead
-          - pkg: github.com/test-go/testify/mock
-            desc: Use github.com/stretchr/testify/mock instead
-          - pkg: github.com/test-go/testify/require
-            desc: Use github.com/stretchr/testify/require instead
-# TODO https://smartcontract-it.atlassian.net/browse/BCI-2589
-#          - pkg: go.uber.org/multierr
-#            desc: Use the standard library instead, for example https://pkg.go.dev/errors#Join
-          - pkg: gopkg.in/guregu/null.v1
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: gopkg.in/guregu/null.v2
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: gopkg.in/guregu/null.v3
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: github.com/go-gorm/gorm
-            desc: Use github.com/jmoiron/sqlx directly instead
-          - pkg: github.com/smartcontractkit/chainlink-integrations/evm
-            desc: Use github.com/smartcontractkit/chainlink-evm instead
-          - pkg: github.com/consul/sdk/freeport
-            desc: Use github.com/smartcontractkit/freeport instead
-  loggercheck:
-    # Check that *w logging functions have even number of args (i.e., well formed key-value pairs).
+  settings:
+    depguard:
+      rules:
+        main:
+          list-mode: lax
+          deny:
+            - pkg: cosmossdk.io/errors
+              desc: Use the standard library instead
+            - pkg: github.com/gofrs/uuid
+              desc: Use github.com/google/uuid instead
+            - pkg: github.com/jackc/pgx3
+              desc: Use github.com/jackc/pgx4 instead
+            - pkg: github.com/jackc/pgx5
+              desc: Use github.com/jackc/pgx4 instead
+            - pkg: github.com/satori/go.uuid
+              desc: Use github.com/google/uuid instead
+            - pkg: github.com/test-go/testify/assert
+              desc: Use github.com/stretchr/testify/assert instead
+            - pkg: github.com/test-go/testify/mock
+              desc: Use github.com/stretchr/testify/mock instead
+            - pkg: github.com/test-go/testify/require
+              desc: Use github.com/stretchr/testify/require instead
+            # TODO https://smartcontract-it.atlassian.net/browse/BCI-2589
+            #          - pkg: go.uber.org/multierr
+            #            desc: Use the standard library instead, for example https://pkg.go.dev/errors#Join
+            - pkg: gopkg.in/guregu/null.v1
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: gopkg.in/guregu/null.v2
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: gopkg.in/guregu/null.v3
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: github.com/go-gorm/gorm
+              desc: Use github.com/jmoiron/sqlx directly instead
+            - pkg: github.com/smartcontractkit/chainlink-integrations/evm
+              desc: Use github.com/smartcontractkit/chainlink-evm instead
+            - pkg: github.com/consul/sdk/freeport
+              desc: Use github.com/smartcontractkit/freeport instead
+    exhaustive:
+      default-signifies-exhaustive: true
+    gosec:
+      excludes:
+        - G101
+        - G104
+        # - G204
+        # - G304
+        # - G404
+    govet:
+      enable:
+        - shadow
+      settings:
+        printf:
+          # Additionally check chainlink custom loggers
+          funcs:
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracef
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infof
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infof
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracef
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalf
+    loggercheck:
+      # Check that *w logging functions have even number of args (i.e., well formed key-value pairs).
+      rules:
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracew
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infow
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infow
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracew
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).With
+    nolintlint:
+      require-explanation: true
+      require-specific: true
+    revive:
+      confidence: 0.8
+      rules:
+        - name: blank-imports
+        - name: context-as-argument
+        - name: context-keys-type
+        - name: dot-imports
+        - name: error-return
+        - name: error-strings
+        - name: error-naming
+        - name: exported
+        - name: if-return
+        - name: increment-decrement
+        - name: var-naming
+        - name: var-declaration
+        - name: package-comments
+        - name: range
+        - name: receiver-naming
+        - name: time-naming
+        # - name: unexported-return
+        - name: indent-error-flow
+        - name: errorf
+        - name: empty-block
+        - name: superfluous-else
+        # - name: unused-parameter
+        - name: unreachable-code
+        - name: redefines-builtin-id
+        - name: waitgroup-by-value
+        - name: unconditional-recursion
+        - name: struct-tag
+        - name: string-format
+        - name: string-of-int
+        - name: range-val-address
+        - name: range-val-in-closure
+        - name: modifies-value-receiver
+        - name: modifies-parameter
+        - name: identical-branches
+        - name: get-return
+        # - name: flag-parameter
+        - name: early-return
+        - name: defer
+        - name: constant-logical-expr
+        # - name: confusing-naming
+        # - name: confusing-results
+        - name: bool-literal-in-expr
+        - name: atomic
+  exclusions:
+    generated: lax
+    presets:
+      - comments
+      - common-false-positives
+      - legacy
+      - std-error-handling
     rules:
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracew
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infow
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infow
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracew
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).With
-  nolintlint:
-    require-specific: true
-    require-explanation: true
+      - linters:
+          - gosec
+        path: test
+        text: "^G404:"
+    paths:
+      - evm/ # need to move files here for evm extraction that have outstanding issues
+      - third_party$
+      - builtin$
+      - examples$
 issues:
   max-same-issues: 0
-  exclude-rules:
-    - path: test
-      text: "^G404:"
-      linters:
-        - gosec
-  exclude-files:
-    - evm/ # need to move files here for evm extraction that have outstanding issues
+formatters:
+  enable:
+    - goimports
+  settings:
+    goimports:
+      local-prefixes:
+        - github.com/smartcontractkit/chainlink
+  exclusions:
+    generated: lax
+    paths:
+      - evm/
path: .golangci.yml
user: login: jmank88
body: We are past this part of the extraction:
```suggestion
```
Actually I don't know why any of these paths need to be here :thinking: 
created_at: 2025-05-30T17:20:29Z
author_association: CONTRIBUTOR
diff_hunk: @@ -28,158 +27,178 @@ linters:
     - testifylint
     - unconvert
     - whitespace
-linters-settings:
-  exhaustive:
-    default-signifies-exhaustive: true
-  goimports:
-    local-prefixes: github.com/smartcontractkit/chainlink
-  golint:
-    min-confidence: 1.0
-  gosec:
-    excludes:
-      - G101
-      - G104
-      # - G204
-      # - G304
-      # - G404
-  govet:
-    enable:
-      - shadow
-    settings:
-      printf:
-        # Additionally check chainlink custom loggers
-        funcs:
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracef
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infof
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infof
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracef
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalf
-  revive:
-    confidence: 0.8
-    rules:
-      - name: blank-imports
-      - name: context-as-argument
-      - name: context-keys-type
-      - name: dot-imports
-      - name: error-return
-      - name: error-strings
-      - name: error-naming
-      - name: exported
-      - name: if-return
-      - name: increment-decrement
-      - name: var-naming
-      - name: var-declaration
-      - name: package-comments
-      - name: range
-      - name: receiver-naming
-      - name: time-naming
-      # - name: unexported-return
-      - name: indent-error-flow
-      - name: errorf
-      - name: empty-block
-      - name: superfluous-else
-      # - name: unused-parameter
-      - name: unreachable-code
-      - name: redefines-builtin-id
-      - name: waitgroup-by-value
-      - name: unconditional-recursion
-      - name: struct-tag
-      - name: string-format
-      - name: string-of-int
-      - name: range-val-address
-      - name: range-val-in-closure
-      - name: modifies-value-receiver
-      - name: modifies-parameter
-      - name: identical-branches
-      - name: get-return
-      # - name: flag-parameter
-      - name: early-return
-      - name: defer
-      - name: constant-logical-expr
-      # - name: confusing-naming
-      # - name: confusing-results
-      - name: bool-literal-in-expr
-      - name: atomic
-  depguard:
-    rules:
-      main:
-        list-mode: lax
-        deny:
-          - pkg: cosmossdk.io/errors
-            desc: Use the standard library instead
-          - pkg: github.com/gofrs/uuid
-            desc: Use github.com/google/uuid instead
-          - pkg: github.com/jackc/pgx3
-            desc: Use github.com/jackc/pgx4 instead
-          - pkg: github.com/jackc/pgx5
-            desc: Use github.com/jackc/pgx4 instead
-          - pkg: github.com/satori/go.uuid
-            desc: Use github.com/google/uuid instead
-          - pkg: github.com/test-go/testify/assert
-            desc: Use github.com/stretchr/testify/assert instead
-          - pkg: github.com/test-go/testify/mock
-            desc: Use github.com/stretchr/testify/mock instead
-          - pkg: github.com/test-go/testify/require
-            desc: Use github.com/stretchr/testify/require instead
-# TODO https://smartcontract-it.atlassian.net/browse/BCI-2589
-#          - pkg: go.uber.org/multierr
-#            desc: Use the standard library instead, for example https://pkg.go.dev/errors#Join
-          - pkg: gopkg.in/guregu/null.v1
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: gopkg.in/guregu/null.v2
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: gopkg.in/guregu/null.v3
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: github.com/go-gorm/gorm
-            desc: Use github.com/jmoiron/sqlx directly instead
-          - pkg: github.com/smartcontractkit/chainlink-integrations/evm
-            desc: Use github.com/smartcontractkit/chainlink-evm instead
-          - pkg: github.com/consul/sdk/freeport
-            desc: Use github.com/smartcontractkit/freeport instead
-  loggercheck:
-    # Check that *w logging functions have even number of args (i.e., well formed key-value pairs).
+  settings:
+    depguard:
+      rules:
+        main:
+          list-mode: lax
+          deny:
+            - pkg: cosmossdk.io/errors
+              desc: Use the standard library instead
+            - pkg: github.com/gofrs/uuid
+              desc: Use github.com/google/uuid instead
+            - pkg: github.com/jackc/pgx3
+              desc: Use github.com/jackc/pgx4 instead
+            - pkg: github.com/jackc/pgx5
+              desc: Use github.com/jackc/pgx4 instead
+            - pkg: github.com/satori/go.uuid
+              desc: Use github.com/google/uuid instead
+            - pkg: github.com/test-go/testify/assert
+              desc: Use github.com/stretchr/testify/assert instead
+            - pkg: github.com/test-go/testify/mock
+              desc: Use github.com/stretchr/testify/mock instead
+            - pkg: github.com/test-go/testify/require
+              desc: Use github.com/stretchr/testify/require instead
+            # TODO https://smartcontract-it.atlassian.net/browse/BCI-2589
+            #          - pkg: go.uber.org/multierr
+            #            desc: Use the standard library instead, for example https://pkg.go.dev/errors#Join
+            - pkg: gopkg.in/guregu/null.v1
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: gopkg.in/guregu/null.v2
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: gopkg.in/guregu/null.v3
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: github.com/go-gorm/gorm
+              desc: Use github.com/jmoiron/sqlx directly instead
+            - pkg: github.com/smartcontractkit/chainlink-integrations/evm
+              desc: Use github.com/smartcontractkit/chainlink-evm instead
+            - pkg: github.com/consul/sdk/freeport
+              desc: Use github.com/smartcontractkit/freeport instead
+    exhaustive:
+      default-signifies-exhaustive: true
+    gosec:
+      excludes:
+        - G101
+        - G104
+        # - G204
+        # - G304
+        # - G404
+    govet:
+      enable:
+        - shadow
+      settings:
+        printf:
+          # Additionally check chainlink custom loggers
+          funcs:
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracef
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infof
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infof
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracef
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalf
+    loggercheck:
+      # Check that *w logging functions have even number of args (i.e., well formed key-value pairs).
+      rules:
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracew
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infow
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infow
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracew
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).With
+    nolintlint:
+      require-explanation: true
+      require-specific: true
+    revive:
+      confidence: 0.8
+      rules:
+        - name: blank-imports
+        - name: context-as-argument
+        - name: context-keys-type
+        - name: dot-imports
+        - name: error-return
+        - name: error-strings
+        - name: error-naming
+        - name: exported
+        - name: if-return
+        - name: increment-decrement
+        - name: var-naming
+        - name: var-declaration
+        - name: package-comments
+        - name: range
+        - name: receiver-naming
+        - name: time-naming
+        # - name: unexported-return
+        - name: indent-error-flow
+        - name: errorf
+        - name: empty-block
+        - name: superfluous-else
+        # - name: unused-parameter
+        - name: unreachable-code
+        - name: redefines-builtin-id
+        - name: waitgroup-by-value
+        - name: unconditional-recursion
+        - name: struct-tag
+        - name: string-format
+        - name: string-of-int
+        - name: range-val-address
+        - name: range-val-in-closure
+        - name: modifies-value-receiver
+        - name: modifies-parameter
+        - name: identical-branches
+        - name: get-return
+        # - name: flag-parameter
+        - name: early-return
+        - name: defer
+        - name: constant-logical-expr
+        # - name: confusing-naming
+        # - name: confusing-results
+        - name: bool-literal-in-expr
+        - name: atomic
+  exclusions:
+    generated: lax
+    presets:
+      - comments
+      - common-false-positives
+      - legacy
+      - std-error-handling
     rules:
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracew
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infow
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infow
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracew
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).With
-  nolintlint:
-    require-specific: true
-    require-explanation: true
+      - linters:
+          - gosec
+        path: test
+        text: "^G404:"
+    paths:
+      - evm/ # need to move files here for evm extraction that have outstanding issues
+      - third_party$
+      - builtin$
+      - examples$
 issues:
   max-same-issues: 0
-  exclude-rules:
-    - path: test
-      text: "^G404:"
-      linters:
-        - gosec
-  exclude-files:
-    - evm/ # need to move files here for evm extraction that have outstanding issues
+formatters:
+  enable:
+    - goimports
+  settings:
+    goimports:
+      local-prefixes:
+        - github.com/smartcontractkit/chainlink
+  exclusions:
+    generated: lax
+    paths:
+      - evm/
path: .golangci.yml
user: login: jmank88
body: oh and this exclusions blocks is duplicated
created_at: 2025-05-30T17:20:51Z
author_association: CONTRIBUTOR
diff_hunk: @@ -26,176 +25,188 @@ linters:
     - testifylint
     - unconvert
     - whitespace
-linters-settings:
-  exhaustive:
-    default-signifies-exhaustive: true
-  goimports:
-    local-prefixes: github.com/smartcontractkit/chainlink
-  golint:
-    min-confidence: 0.999
-  gosec:
-    excludes:
-      - G101
-  govet:
-    enable:
-      - shadow
-    settings:
-      printf:
-        # Additionally check chainlink custom loggers
-        funcs:
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracef
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infof
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infof
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracef
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalf
-  revive:
-    confidence: 0.8
-    rules:
-      - name: blank-imports
-      - name: context-as-argument
-      - name: context-keys-type
-      - name: dot-imports
-      - name: error-return
-      - name: error-strings
-      - name: error-naming
-      - name: exported
-      - name: if-return
-      - name: increment-decrement
-      - name: var-naming
-      - name: var-declaration
-      - name: package-comments
-      - name: range
-      - name: receiver-naming
-      - name: time-naming
-      - name: unexported-return
-      - name: indent-error-flow
-      - name: errorf
-      - name: empty-block
-      - name: superfluous-else
-      # - name: unused-parameter
-      - name: unreachable-code
-      - name: redefines-builtin-id
-      - name: waitgroup-by-value
-      - name: unconditional-recursion
-      - name: struct-tag
-      - name: string-format
-      - name: string-of-int
-      - name: range-val-address
-      - name: range-val-in-closure
-      - name: modifies-value-receiver
-      - name: modifies-parameter
-      - name: identical-branches
-      - name: get-return
-      # - name: flag-parameter // probably one we should work on doing better at in the future
-      - name: early-return
-      - name: defer
-      - name: constant-logical-expr
-      - name: confusing-naming
-      - name: confusing-results
-      - name: bool-literal-in-expr
-      - name: atomic
-  depguard:
-    rules:
-      main:
-        list-mode: lax
-        deny:
-          - pkg: cosmossdk.io/errors
-            desc: Use the standard library instead
-          - pkg: github.com/gofrs/uuid
-            desc: Use github.com/google/uuid instead
-          - pkg: github.com/jackc/pgx3
-            desc: Use github.com/jackc/pgx4 instead
-          - pkg: github.com/jackc/pgx5
-            desc: Use github.com/jackc/pgx4 instead
-          - pkg: github.com/satori/go.uuid
-            desc: Use github.com/google/uuid instead
-          - pkg: github.com/test-go/testify/assert
-            desc: Use github.com/stretchr/testify/assert instead
-          - pkg: github.com/test-go/testify/mock
-            desc: Use github.com/stretchr/testify/mock instead
-          - pkg: github.com/test-go/testify/require
-            desc: Use github.com/stretchr/testify/require instead
-          - pkg: go.uber.org/multierr
-            desc: Use the standard library instead, for example https://pkg.go.dev/errors#Join
-          - pkg: gopkg.in/guregu/null.v1
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: gopkg.in/guregu/null.v2
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: gopkg.in/guregu/null.v3
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: github.com/go-gorm/gorm
-            desc: Use github.com/jmoiron/sqlx directly instead
-          - pkg: github.com/smartcontractkit/chainlink-integrations/evm
-            desc: Use github.com/smartcontractkit/chainlink-evm instead
-          - pkg: github.com/smartcontractkit/ccip-owner-contracts/pkg/proposal
-            desc: Use github.com/smartcontractkit/mcms instead
-  loggercheck:
-    # Check that *w logging functions have even number of args (i.e., well formed key-value pairs).
+  settings:
+    depguard:
+      rules:
+        main:
+          list-mode: lax
+          deny:
+            - pkg: cosmossdk.io/errors
+              desc: Use the standard library instead
+            - pkg: github.com/gofrs/uuid
+              desc: Use github.com/google/uuid instead
+            - pkg: github.com/jackc/pgx3
+              desc: Use github.com/jackc/pgx4 instead
+            - pkg: github.com/jackc/pgx5
+              desc: Use github.com/jackc/pgx4 instead
+            - pkg: github.com/satori/go.uuid
+              desc: Use github.com/google/uuid instead
+            - pkg: github.com/test-go/testify/assert
+              desc: Use github.com/stretchr/testify/assert instead
+            - pkg: github.com/test-go/testify/mock
+              desc: Use github.com/stretchr/testify/mock instead
+            - pkg: github.com/test-go/testify/require
+              desc: Use github.com/stretchr/testify/require instead
+            - pkg: go.uber.org/multierr
+              desc: Use the standard library instead, for example https://pkg.go.dev/errors#Join
+            - pkg: gopkg.in/guregu/null.v1
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: gopkg.in/guregu/null.v2
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: gopkg.in/guregu/null.v3
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: github.com/go-gorm/gorm
+              desc: Use github.com/jmoiron/sqlx directly instead
+            - pkg: github.com/smartcontractkit/chainlink-integrations/evm
+              desc: Use github.com/smartcontractkit/chainlink-evm instead
+            - pkg: github.com/smartcontractkit/ccip-owner-contracts/pkg/proposal
+              desc: Use github.com/smartcontractkit/mcms instead
+    exhaustive:
+      default-signifies-exhaustive: true
+    gosec:
+      excludes:
+        - G101
+    govet:
+      enable:
+        - shadow
+      settings:
+        printf:
+          funcs:
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracef
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infof
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infof
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracef
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalf
+    loggercheck:
+      rules:
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracew
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infow
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infow
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracew
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).With
+    nolintlint:
+      require-explanation: true
+      require-specific: true
+    revive:
+      confidence: 0.8
+      rules:
+        - name: blank-imports
+        - name: context-as-argument
+        - name: context-keys-type
+        - name: dot-imports
+        - name: error-return
+        - name: error-strings
+        - name: error-naming
+        - name: exported
+        - name: if-return
+        - name: increment-decrement
+        - name: var-naming
+        - name: var-declaration
+        - name: package-comments
+        - name: range
+        - name: receiver-naming
+        - name: time-naming
+        - name: unexported-return
+        - name: indent-error-flow
+        - name: errorf
+        - name: empty-block
+        - name: superfluous-else
+        - name: unreachable-code
+        - name: redefines-builtin-id
+        - name: waitgroup-by-value
+        - name: unconditional-recursion
+        - name: struct-tag
+        - name: string-format
+        - name: string-of-int
+        - name: range-val-address
+        - name: range-val-in-closure
+        - name: modifies-value-receiver
+        - name: modifies-parameter
+        - name: identical-branches
+        - name: get-return
+        - name: early-return
+        - name: defer
+        - name: constant-logical-expr
+        - name: confusing-naming
+        - name: confusing-results
+        - name: bool-literal-in-expr
+        - name: atomic
+  exclusions:
+    generated: lax
+    presets:
+      - comments
+      - common-false-positives
+      - legacy
+      - std-error-handling
     rules:
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracew
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infow
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infow
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracew
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).With
-  nolintlint:
-    require-specific: true
-    require-explanation: true
-issues:
-  exclude-rules:
-    # when performing simple refactor, the usage of addressbook will fail CI, this is a temporary ignore
-    - text: "SA1019: (.*).ExistingAddresses is deprecated: AddressBook is deprecated"
-      linters:
+      - linters:
           - staticcheck
-    - text: "^var-naming: don't use an underscore in package name"
-      linters:
+        text: 'SA1019: (.*).ExistingAddresses is deprecated: AddressBook is deprecated'
+      - linters:
+          - revive
+        text: '^var-naming: don''t use an underscore in package name'
+      - linters:
+          - revive
+        path: memory/(.+)\.go
+      - linters:
+          - gosec
+        text: '^G404: Use of weak random number generator'
+      - linters:
+          - govet
+        text: declaration of "err" shadows
+      - linters:
           - revive
-    - path: memory/(.+)\.go
-      linters:
-        - revive
-    - text: "^G404: Use of weak random number generator"
-      linters:
-        - gosec
-    - linters:
-        - govet
-      text: "declaration of \"err\" shadows"
-    # ignore false positive by revive on the function names (ID, Version, Description) clash between sequence and operation
-    - path: operations/operation.go
-      text: "^confusing-naming:"
-      linters:
-        - revive
-    - path: operations/sequence.go
-      text: "^confusing-naming:"
-      linters:
-        - revive
-    # ignore false positive by revive on function names for BaseDataStore interface implementations
-    - path: datastore/memory_datastore.go
-      text: "^confusing-naming:"
-      linters:
-        - revive
+        path: operations/operation.go
+        text: '^confusing-naming:'
+      - linters:
+          - revive
+        path: operations/sequence.go
+        text: '^confusing-naming:'
+      - linters:
+          - revive
+        path: datastore/memory_datastore.go
+        text: '^confusing-naming:'
+    paths:
+      - third_party$
+      - builtin$
+      - examples$
path: deployment/.golangci.yml
user: login: jmank88
body: Where are these coming from? Did the tool add them because v1 did it by default or something?
I think we can drop them safely :shrug: 
created_at: 2025-05-30T17:22:29Z
author_association: CONTRIBUTOR
diff_hunk: @@ -28,158 +27,178 @@ linters:
     - testifylint
     - unconvert
     - whitespace
-linters-settings:
-  exhaustive:
-    default-signifies-exhaustive: true
-  goimports:
-    local-prefixes: github.com/smartcontractkit/chainlink
-  golint:
-    min-confidence: 1.0
-  gosec:
-    excludes:
-      - G101
-      - G104
-      # - G204
-      # - G304
-      # - G404
-  govet:
-    enable:
-      - shadow
-    settings:
-      printf:
-        # Additionally check chainlink custom loggers
-        funcs:
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracef
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infof
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infof
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracef
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalf
-  revive:
-    confidence: 0.8
-    rules:
-      - name: blank-imports
-      - name: context-as-argument
-      - name: context-keys-type
-      - name: dot-imports
-      - name: error-return
-      - name: error-strings
-      - name: error-naming
-      - name: exported
-      - name: if-return
-      - name: increment-decrement
-      - name: var-naming
-      - name: var-declaration
-      - name: package-comments
-      - name: range
-      - name: receiver-naming
-      - name: time-naming
-      # - name: unexported-return
-      - name: indent-error-flow
-      - name: errorf
-      - name: empty-block
-      - name: superfluous-else
-      # - name: unused-parameter
-      - name: unreachable-code
-      - name: redefines-builtin-id
-      - name: waitgroup-by-value
-      - name: unconditional-recursion
-      - name: struct-tag
-      - name: string-format
-      - name: string-of-int
-      - name: range-val-address
-      - name: range-val-in-closure
-      - name: modifies-value-receiver
-      - name: modifies-parameter
-      - name: identical-branches
-      - name: get-return
-      # - name: flag-parameter
-      - name: early-return
-      - name: defer
-      - name: constant-logical-expr
-      # - name: confusing-naming
-      # - name: confusing-results
-      - name: bool-literal-in-expr
-      - name: atomic
-  depguard:
-    rules:
-      main:
-        list-mode: lax
-        deny:
-          - pkg: cosmossdk.io/errors
-            desc: Use the standard library instead
-          - pkg: github.com/gofrs/uuid
-            desc: Use github.com/google/uuid instead
-          - pkg: github.com/jackc/pgx3
-            desc: Use github.com/jackc/pgx4 instead
-          - pkg: github.com/jackc/pgx5
-            desc: Use github.com/jackc/pgx4 instead
-          - pkg: github.com/satori/go.uuid
-            desc: Use github.com/google/uuid instead
-          - pkg: github.com/test-go/testify/assert
-            desc: Use github.com/stretchr/testify/assert instead
-          - pkg: github.com/test-go/testify/mock
-            desc: Use github.com/stretchr/testify/mock instead
-          - pkg: github.com/test-go/testify/require
-            desc: Use github.com/stretchr/testify/require instead
-# TODO https://smartcontract-it.atlassian.net/browse/BCI-2589
-#          - pkg: go.uber.org/multierr
-#            desc: Use the standard library instead, for example https://pkg.go.dev/errors#Join
-          - pkg: gopkg.in/guregu/null.v1
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: gopkg.in/guregu/null.v2
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: gopkg.in/guregu/null.v3
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: github.com/go-gorm/gorm
-            desc: Use github.com/jmoiron/sqlx directly instead
-          - pkg: github.com/smartcontractkit/chainlink-integrations/evm
-            desc: Use github.com/smartcontractkit/chainlink-evm instead
-          - pkg: github.com/consul/sdk/freeport
-            desc: Use github.com/smartcontractkit/freeport instead
-  loggercheck:
-    # Check that *w logging functions have even number of args (i.e., well formed key-value pairs).
+  settings:
+    depguard:
+      rules:
+        main:
+          list-mode: lax
+          deny:
+            - pkg: cosmossdk.io/errors
+              desc: Use the standard library instead
+            - pkg: github.com/gofrs/uuid
+              desc: Use github.com/google/uuid instead
+            - pkg: github.com/jackc/pgx3
+              desc: Use github.com/jackc/pgx4 instead
+            - pkg: github.com/jackc/pgx5
+              desc: Use github.com/jackc/pgx4 instead
+            - pkg: github.com/satori/go.uuid
+              desc: Use github.com/google/uuid instead
+            - pkg: github.com/test-go/testify/assert
+              desc: Use github.com/stretchr/testify/assert instead
+            - pkg: github.com/test-go/testify/mock
+              desc: Use github.com/stretchr/testify/mock instead
+            - pkg: github.com/test-go/testify/require
+              desc: Use github.com/stretchr/testify/require instead
+            # TODO https://smartcontract-it.atlassian.net/browse/BCI-2589
+            #          - pkg: go.uber.org/multierr
+            #            desc: Use the standard library instead, for example https://pkg.go.dev/errors#Join
+            - pkg: gopkg.in/guregu/null.v1
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: gopkg.in/guregu/null.v2
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: gopkg.in/guregu/null.v3
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: github.com/go-gorm/gorm
+              desc: Use github.com/jmoiron/sqlx directly instead
+            - pkg: github.com/smartcontractkit/chainlink-integrations/evm
+              desc: Use github.com/smartcontractkit/chainlink-evm instead
+            - pkg: github.com/consul/sdk/freeport
+              desc: Use github.com/smartcontractkit/freeport instead
+    exhaustive:
+      default-signifies-exhaustive: true
+    gosec:
+      excludes:
+        - G101
+        - G104
+        # - G204
+        # - G304
+        # - G404
+    govet:
+      enable:
+        - shadow
+      settings:
+        printf:
+          # Additionally check chainlink custom loggers
+          funcs:
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracef
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infof
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infof
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracef
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalf
+    loggercheck:
+      # Check that *w logging functions have even number of args (i.e., well formed key-value pairs).
+      rules:
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracew
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infow
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infow
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracew
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).With
+    nolintlint:
+      require-explanation: true
+      require-specific: true
+    revive:
+      confidence: 0.8
+      rules:
+        - name: blank-imports
+        - name: context-as-argument
+        - name: context-keys-type
+        - name: dot-imports
+        - name: error-return
+        - name: error-strings
+        - name: error-naming
+        - name: exported
+        - name: if-return
+        - name: increment-decrement
+        - name: var-naming
+        - name: var-declaration
+        - name: package-comments
+        - name: range
+        - name: receiver-naming
+        - name: time-naming
+        # - name: unexported-return
+        - name: indent-error-flow
+        - name: errorf
+        - name: empty-block
+        - name: superfluous-else
+        # - name: unused-parameter
+        - name: unreachable-code
+        - name: redefines-builtin-id
+        - name: waitgroup-by-value
+        - name: unconditional-recursion
+        - name: struct-tag
+        - name: string-format
+        - name: string-of-int
+        - name: range-val-address
+        - name: range-val-in-closure
+        - name: modifies-value-receiver
+        - name: modifies-parameter
+        - name: identical-branches
+        - name: get-return
+        # - name: flag-parameter
+        - name: early-return
+        - name: defer
+        - name: constant-logical-expr
+        # - name: confusing-naming
+        # - name: confusing-results
+        - name: bool-literal-in-expr
+        - name: atomic
+  exclusions:
+    generated: lax
+    presets:
+      - comments
+      - common-false-positives
+      - legacy
+      - std-error-handling
     rules:
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracew
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infow
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infow
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracew
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).With
-  nolintlint:
-    require-specific: true
-    require-explanation: true
+      - linters:
+          - gosec
+        path: test
+        text: "^G404:"
+    paths:
+      - evm/ # need to move files here for evm extraction that have outstanding issues
+      - third_party$
+      - builtin$
+      - examples$
 issues:
   max-same-issues: 0
-  exclude-rules:
-    - path: test
-      text: "^G404:"
-      linters:
-        - gosec
-  exclude-files:
-    - evm/ # need to move files here for evm extraction that have outstanding issues
+formatters:
+  enable:
+    - goimports
+  settings:
+    goimports:
+      local-prefixes:
+        - github.com/smartcontractkit/chainlink
+  exclusions:
+    generated: lax
+    paths:
+      - evm/
path: .golangci.yml
user: login: chainchad
body: Removed all in bfa2c816c0
created_at: 2025-05-30T17:23:12Z
author_association: COLLABORATOR
diff_hunk: @@ -26,176 +25,188 @@ linters:
     - testifylint
     - unconvert
     - whitespace
-linters-settings:
-  exhaustive:
-    default-signifies-exhaustive: true
-  goimports:
-    local-prefixes: github.com/smartcontractkit/chainlink
-  golint:
-    min-confidence: 0.999
-  gosec:
-    excludes:
-      - G101
-  govet:
-    enable:
-      - shadow
-    settings:
-      printf:
-        # Additionally check chainlink custom loggers
-        funcs:
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracef
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infof
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infof
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracef
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalf
-  revive:
-    confidence: 0.8
-    rules:
-      - name: blank-imports
-      - name: context-as-argument
-      - name: context-keys-type
-      - name: dot-imports
-      - name: error-return
-      - name: error-strings
-      - name: error-naming
-      - name: exported
-      - name: if-return
-      - name: increment-decrement
-      - name: var-naming
-      - name: var-declaration
-      - name: package-comments
-      - name: range
-      - name: receiver-naming
-      - name: time-naming
-      - name: unexported-return
-      - name: indent-error-flow
-      - name: errorf
-      - name: empty-block
-      - name: superfluous-else
-      # - name: unused-parameter
-      - name: unreachable-code
-      - name: redefines-builtin-id
-      - name: waitgroup-by-value
-      - name: unconditional-recursion
-      - name: struct-tag
-      - name: string-format
-      - name: string-of-int
-      - name: range-val-address
-      - name: range-val-in-closure
-      - name: modifies-value-receiver
-      - name: modifies-parameter
-      - name: identical-branches
-      - name: get-return
-      # - name: flag-parameter // probably one we should work on doing better at in the future
-      - name: early-return
-      - name: defer
-      - name: constant-logical-expr
-      - name: confusing-naming
-      - name: confusing-results
-      - name: bool-literal-in-expr
-      - name: atomic
-  depguard:
-    rules:
-      main:
-        list-mode: lax
-        deny:
-          - pkg: cosmossdk.io/errors
-            desc: Use the standard library instead
-          - pkg: github.com/gofrs/uuid
-            desc: Use github.com/google/uuid instead
-          - pkg: github.com/jackc/pgx3
-            desc: Use github.com/jackc/pgx4 instead
-          - pkg: github.com/jackc/pgx5
-            desc: Use github.com/jackc/pgx4 instead
-          - pkg: github.com/satori/go.uuid
-            desc: Use github.com/google/uuid instead
-          - pkg: github.com/test-go/testify/assert
-            desc: Use github.com/stretchr/testify/assert instead
-          - pkg: github.com/test-go/testify/mock
-            desc: Use github.com/stretchr/testify/mock instead
-          - pkg: github.com/test-go/testify/require
-            desc: Use github.com/stretchr/testify/require instead
-          - pkg: go.uber.org/multierr
-            desc: Use the standard library instead, for example https://pkg.go.dev/errors#Join
-          - pkg: gopkg.in/guregu/null.v1
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: gopkg.in/guregu/null.v2
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: gopkg.in/guregu/null.v3
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: github.com/go-gorm/gorm
-            desc: Use github.com/jmoiron/sqlx directly instead
-          - pkg: github.com/smartcontractkit/chainlink-integrations/evm
-            desc: Use github.com/smartcontractkit/chainlink-evm instead
-          - pkg: github.com/smartcontractkit/ccip-owner-contracts/pkg/proposal
-            desc: Use github.com/smartcontractkit/mcms instead
-  loggercheck:
-    # Check that *w logging functions have even number of args (i.e., well formed key-value pairs).
+  settings:
+    depguard:
+      rules:
+        main:
+          list-mode: lax
+          deny:
+            - pkg: cosmossdk.io/errors
+              desc: Use the standard library instead
+            - pkg: github.com/gofrs/uuid
+              desc: Use github.com/google/uuid instead
+            - pkg: github.com/jackc/pgx3
+              desc: Use github.com/jackc/pgx4 instead
+            - pkg: github.com/jackc/pgx5
+              desc: Use github.com/jackc/pgx4 instead
+            - pkg: github.com/satori/go.uuid
+              desc: Use github.com/google/uuid instead
+            - pkg: github.com/test-go/testify/assert
+              desc: Use github.com/stretchr/testify/assert instead
+            - pkg: github.com/test-go/testify/mock
+              desc: Use github.com/stretchr/testify/mock instead
+            - pkg: github.com/test-go/testify/require
+              desc: Use github.com/stretchr/testify/require instead
+            - pkg: go.uber.org/multierr
+              desc: Use the standard library instead, for example https://pkg.go.dev/errors#Join
+            - pkg: gopkg.in/guregu/null.v1
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: gopkg.in/guregu/null.v2
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: gopkg.in/guregu/null.v3
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: github.com/go-gorm/gorm
+              desc: Use github.com/jmoiron/sqlx directly instead
+            - pkg: github.com/smartcontractkit/chainlink-integrations/evm
+              desc: Use github.com/smartcontractkit/chainlink-evm instead
+            - pkg: github.com/smartcontractkit/ccip-owner-contracts/pkg/proposal
+              desc: Use github.com/smartcontractkit/mcms instead
+    exhaustive:
+      default-signifies-exhaustive: true
+    gosec:
+      excludes:
+        - G101
+    govet:
+      enable:
+        - shadow
+      settings:
+        printf:
+          funcs:
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracef
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infof
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infof
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracef
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalf
+    loggercheck:
+      rules:
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracew
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infow
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infow
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracew
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).With
+    nolintlint:
+      require-explanation: true
+      require-specific: true
+    revive:
+      confidence: 0.8
+      rules:
+        - name: blank-imports
+        - name: context-as-argument
+        - name: context-keys-type
+        - name: dot-imports
+        - name: error-return
+        - name: error-strings
+        - name: error-naming
+        - name: exported
+        - name: if-return
+        - name: increment-decrement
+        - name: var-naming
+        - name: var-declaration
+        - name: package-comments
+        - name: range
+        - name: receiver-naming
+        - name: time-naming
+        - name: unexported-return
+        - name: indent-error-flow
+        - name: errorf
+        - name: empty-block
+        - name: superfluous-else
+        - name: unreachable-code
+        - name: redefines-builtin-id
+        - name: waitgroup-by-value
+        - name: unconditional-recursion
+        - name: struct-tag
+        - name: string-format
+        - name: string-of-int
+        - name: range-val-address
+        - name: range-val-in-closure
+        - name: modifies-value-receiver
+        - name: modifies-parameter
+        - name: identical-branches
+        - name: get-return
+        - name: early-return
+        - name: defer
+        - name: constant-logical-expr
+        - name: confusing-naming
+        - name: confusing-results
+        - name: bool-literal-in-expr
+        - name: atomic
+  exclusions:
+    generated: lax
+    presets:
+      - comments
+      - common-false-positives
+      - legacy
+      - std-error-handling
     rules:
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracew
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infow
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infow
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracew
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).With
-  nolintlint:
-    require-specific: true
-    require-explanation: true
-issues:
-  exclude-rules:
-    # when performing simple refactor, the usage of addressbook will fail CI, this is a temporary ignore
-    - text: "SA1019: (.*).ExistingAddresses is deprecated: AddressBook is deprecated"
-      linters:
+      - linters:
           - staticcheck
-    - text: "^var-naming: don't use an underscore in package name"
-      linters:
+        text: 'SA1019: (.*).ExistingAddresses is deprecated: AddressBook is deprecated'
+      - linters:
+          - revive
+        text: '^var-naming: don''t use an underscore in package name'
+      - linters:
+          - revive
+        path: memory/(.+)\.go
+      - linters:
+          - gosec
+        text: '^G404: Use of weak random number generator'
+      - linters:
+          - govet
+        text: declaration of "err" shadows
+      - linters:
           - revive
-    - path: memory/(.+)\.go
-      linters:
-        - revive
-    - text: "^G404: Use of weak random number generator"
-      linters:
-        - gosec
-    - linters:
-        - govet
-      text: "declaration of \"err\" shadows"
-    # ignore false positive by revive on the function names (ID, Version, Description) clash between sequence and operation
-    - path: operations/operation.go
-      text: "^confusing-naming:"
-      linters:
-        - revive
-    - path: operations/sequence.go
-      text: "^confusing-naming:"
-      linters:
-        - revive
-    # ignore false positive by revive on function names for BaseDataStore interface implementations
-    - path: datastore/memory_datastore.go
-      text: "^confusing-naming:"
-      linters:
-        - revive
+        path: operations/operation.go
+        text: '^confusing-naming:'
+      - linters:
+          - revive
+        path: operations/sequence.go
+        text: '^confusing-naming:'
+      - linters:
+          - revive
+        path: datastore/memory_datastore.go
+        text: '^confusing-naming:'
+    paths:
+      - third_party$
+      - builtin$
+      - examples$
path: deployment/.golangci.yml
user: login: chainchad
body: Yeah, the `golangci-lint migrate` command must have added them. I'll remove them everywhere.
created_at: 2025-05-30T17:26:03Z
author_association: COLLABORATOR
diff_hunk: @@ -26,176 +25,188 @@ linters:
     - testifylint
     - unconvert
     - whitespace
-linters-settings:
-  exhaustive:
-    default-signifies-exhaustive: true
-  goimports:
-    local-prefixes: github.com/smartcontractkit/chainlink
-  golint:
-    min-confidence: 0.999
-  gosec:
-    excludes:
-      - G101
-  govet:
-    enable:
-      - shadow
-    settings:
-      printf:
-        # Additionally check chainlink custom loggers
-        funcs:
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracef
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infof
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalf
-          - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infof
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationf
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracef
-          - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalf
-  revive:
-    confidence: 0.8
-    rules:
-      - name: blank-imports
-      - name: context-as-argument
-      - name: context-keys-type
-      - name: dot-imports
-      - name: error-return
-      - name: error-strings
-      - name: error-naming
-      - name: exported
-      - name: if-return
-      - name: increment-decrement
-      - name: var-naming
-      - name: var-declaration
-      - name: package-comments
-      - name: range
-      - name: receiver-naming
-      - name: time-naming
-      - name: unexported-return
-      - name: indent-error-flow
-      - name: errorf
-      - name: empty-block
-      - name: superfluous-else
-      # - name: unused-parameter
-      - name: unreachable-code
-      - name: redefines-builtin-id
-      - name: waitgroup-by-value
-      - name: unconditional-recursion
-      - name: struct-tag
-      - name: string-format
-      - name: string-of-int
-      - name: range-val-address
-      - name: range-val-in-closure
-      - name: modifies-value-receiver
-      - name: modifies-parameter
-      - name: identical-branches
-      - name: get-return
-      # - name: flag-parameter // probably one we should work on doing better at in the future
-      - name: early-return
-      - name: defer
-      - name: constant-logical-expr
-      - name: confusing-naming
-      - name: confusing-results
-      - name: bool-literal-in-expr
-      - name: atomic
-  depguard:
-    rules:
-      main:
-        list-mode: lax
-        deny:
-          - pkg: cosmossdk.io/errors
-            desc: Use the standard library instead
-          - pkg: github.com/gofrs/uuid
-            desc: Use github.com/google/uuid instead
-          - pkg: github.com/jackc/pgx3
-            desc: Use github.com/jackc/pgx4 instead
-          - pkg: github.com/jackc/pgx5
-            desc: Use github.com/jackc/pgx4 instead
-          - pkg: github.com/satori/go.uuid
-            desc: Use github.com/google/uuid instead
-          - pkg: github.com/test-go/testify/assert
-            desc: Use github.com/stretchr/testify/assert instead
-          - pkg: github.com/test-go/testify/mock
-            desc: Use github.com/stretchr/testify/mock instead
-          - pkg: github.com/test-go/testify/require
-            desc: Use github.com/stretchr/testify/require instead
-          - pkg: go.uber.org/multierr
-            desc: Use the standard library instead, for example https://pkg.go.dev/errors#Join
-          - pkg: gopkg.in/guregu/null.v1
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: gopkg.in/guregu/null.v2
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: gopkg.in/guregu/null.v3
-            desc: Use gopkg.in/guregu/null.v4 instead
-          - pkg: github.com/go-gorm/gorm
-            desc: Use github.com/jmoiron/sqlx directly instead
-          - pkg: github.com/smartcontractkit/chainlink-integrations/evm
-            desc: Use github.com/smartcontractkit/chainlink-evm instead
-          - pkg: github.com/smartcontractkit/ccip-owner-contracts/pkg/proposal
-            desc: Use github.com/smartcontractkit/mcms instead
-  loggercheck:
-    # Check that *w logging functions have even number of args (i.e., well formed key-value pairs).
+  settings:
+    depguard:
+      rules:
+        main:
+          list-mode: lax
+          deny:
+            - pkg: cosmossdk.io/errors
+              desc: Use the standard library instead
+            - pkg: github.com/gofrs/uuid
+              desc: Use github.com/google/uuid instead
+            - pkg: github.com/jackc/pgx3
+              desc: Use github.com/jackc/pgx4 instead
+            - pkg: github.com/jackc/pgx5
+              desc: Use github.com/jackc/pgx4 instead
+            - pkg: github.com/satori/go.uuid
+              desc: Use github.com/google/uuid instead
+            - pkg: github.com/test-go/testify/assert
+              desc: Use github.com/stretchr/testify/assert instead
+            - pkg: github.com/test-go/testify/mock
+              desc: Use github.com/stretchr/testify/mock instead
+            - pkg: github.com/test-go/testify/require
+              desc: Use github.com/stretchr/testify/require instead
+            - pkg: go.uber.org/multierr
+              desc: Use the standard library instead, for example https://pkg.go.dev/errors#Join
+            - pkg: gopkg.in/guregu/null.v1
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: gopkg.in/guregu/null.v2
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: gopkg.in/guregu/null.v3
+              desc: Use gopkg.in/guregu/null.v4 instead
+            - pkg: github.com/go-gorm/gorm
+              desc: Use github.com/jmoiron/sqlx directly instead
+            - pkg: github.com/smartcontractkit/chainlink-integrations/evm
+              desc: Use github.com/smartcontractkit/chainlink-evm instead
+            - pkg: github.com/smartcontractkit/ccip-owner-contracts/pkg/proposal
+              desc: Use github.com/smartcontractkit/mcms instead
+    exhaustive:
+      default-signifies-exhaustive: true
+    gosec:
+      excludes:
+        - G101
+    govet:
+      enable:
+        - shadow
+      settings:
+        printf:
+          funcs:
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracef
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infof
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalf
+            - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infof
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationf
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracef
+            - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalf
+    loggercheck:
+      rules:
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracew
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infow
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalw
+        - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infow
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracew
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalw
+        - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).With
+    nolintlint:
+      require-explanation: true
+      require-specific: true
+    revive:
+      confidence: 0.8
+      rules:
+        - name: blank-imports
+        - name: context-as-argument
+        - name: context-keys-type
+        - name: dot-imports
+        - name: error-return
+        - name: error-strings
+        - name: error-naming
+        - name: exported
+        - name: if-return
+        - name: increment-decrement
+        - name: var-naming
+        - name: var-declaration
+        - name: package-comments
+        - name: range
+        - name: receiver-naming
+        - name: time-naming
+        - name: unexported-return
+        - name: indent-error-flow
+        - name: errorf
+        - name: empty-block
+        - name: superfluous-else
+        - name: unreachable-code
+        - name: redefines-builtin-id
+        - name: waitgroup-by-value
+        - name: unconditional-recursion
+        - name: struct-tag
+        - name: string-format
+        - name: string-of-int
+        - name: range-val-address
+        - name: range-val-in-closure
+        - name: modifies-value-receiver
+        - name: modifies-parameter
+        - name: identical-branches
+        - name: get-return
+        - name: early-return
+        - name: defer
+        - name: constant-logical-expr
+        - name: confusing-naming
+        - name: confusing-results
+        - name: bool-literal-in-expr
+        - name: atomic
+  exclusions:
+    generated: lax
+    presets:
+      - comments
+      - common-false-positives
+      - legacy
+      - std-error-handling
     rules:
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracew
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infow
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalw
-      - (github.com/smartcontractkit/chainlink/v2/core/logger.SugaredLogger).AssumptionViolationw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Debugw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Infow
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Warnw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Errorw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Panicw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.Logger).Fatalw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).AssumptionViolationw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Tracew
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).Criticalw
-      - (github.com/smartcontractkit/chainlink-common/pkg/logger.SugaredLogger).With
-  nolintlint:
-    require-specific: true
-    require-explanation: true
-issues:
-  exclude-rules:
-    # when performing simple refactor, the usage of addressbook will fail CI, this is a temporary ignore
-    - text: "SA1019: (.*).ExistingAddresses is deprecated: AddressBook is deprecated"
-      linters:
+      - linters:
           - staticcheck
-    - text: "^var-naming: don't use an underscore in package name"
-      linters:
+        text: 'SA1019: (.*).ExistingAddresses is deprecated: AddressBook is deprecated'
+      - linters:
+          - revive
+        text: '^var-naming: don''t use an underscore in package name'
+      - linters:
+          - revive
+        path: memory/(.+)\.go
+      - linters:
+          - gosec
+        text: '^G404: Use of weak random number generator'
+      - linters:
+          - govet
+        text: declaration of "err" shadows
+      - linters:
           - revive
-    - path: memory/(.+)\.go
-      linters:
-        - revive
-    - text: "^G404: Use of weak random number generator"
-      linters:
-        - gosec
-    - linters:
-        - govet
-      text: "declaration of \"err\" shadows"
-    # ignore false positive by revive on the function names (ID, Version, Description) clash between sequence and operation
-    - path: operations/operation.go
-      text: "^confusing-naming:"
-      linters:
-        - revive
-    - path: operations/sequence.go
-      text: "^confusing-naming:"
-      linters:
-        - revive
-    # ignore false positive by revive on function names for BaseDataStore interface implementations
-    - path: datastore/memory_datastore.go
-      text: "^confusing-naming:"
-      linters:
-        - revive
+        path: operations/operation.go
+        text: '^confusing-naming:'
+      - linters:
+          - revive
+        path: operations/sequence.go
+        text: '^confusing-naming:'
+      - linters:
+          - revive
+        path: datastore/memory_datastore.go
+        text: '^confusing-naming:'
+    paths:
+      - third_party$
+      - builtin$
+      - examples$
path: deployment/.golangci.yml
user: login: chainchad
body: 4e3dce7f29
created_at: 2025-05-30T17:27:38Z
author_association: COLLABORATOR
diff_hunk: @@ -1,5 +1,5 @@
+version: "2"
 run:
-  timeout: 15m
path: .golangci.yml
user: login: erikburt
body: can we add this to the job then?
created_at: 2025-05-30T18:07:12Z
author_association: COLLABORATOR
diff_hunk: @@ -1,5 +1,5 @@
+version: "2"
 run:
-  timeout: 15m
path: .golangci.yml
user: login: chainchad
body: Good thought. This is already in the queue so I created https://github.com/smartcontractkit/chainlink/pull/17961 for it.
created_at: 2025-05-30T18:10:29Z
author_association: COLLABORATOR

PR comments:
user: login: chainchad
created_at: 2025-05-30T17:54:24Z
body: (Sorry for the reviewer alert blast. I marked this a ready for review when there was a test commit still on here.)
author_association: COLLABORATOR
user: login: cl-sonarqube-production[bot]
created_at: 2025-05-30T18:03:50Z
body: ## [![Quality Gate passed](https://raw.githubusercontent.com/SonarSource/sonarqube-static-resources/master/v104/checks/QualityGateBadge/passed-16px.png 'Quality Gate passed')](https://sonarqube.main.prod.cldev.sh/dashboard?id=smartcontractkit_chainlink&pullRequest=17960) **Quality Gate passed**  
Issues  
[![](https://raw.githubusercontent.com/SonarSource/sonarqube-static-resources/master/v104/common/passed-16px.png '')](https://sonarqube.main.prod.cldev.sh/project/issues?id=smartcontractkit_chainlink&pullRequest=17960&resolved=false) [0 New issues](https://sonarqube.main.prod.cldev.sh/project/issues?id=smartcontractkit_chainlink&pullRequest=17960&resolved=false)  
[![](https://raw.githubusercontent.com/SonarSource/sonarqube-static-resources/master/v104/common/fixed-16px.png '')](https://sonarqube.main.prod.cldev.sh/project/issues?id=smartcontractkit_chainlink&fixedInPullRequest=17960) [0 Fixed issues](https://sonarqube.main.prod.cldev.sh/project/issues?id=smartcontractkit_chainlink&fixedInPullRequest=17960)  
[![](https://raw.githubusercontent.com/SonarSource/sonarqube-static-resources/master/v104/common/accepted-16px.png '')](https://sonarqube.main.prod.cldev.sh/project/issues?id=smartcontractkit_chainlink&pullRequest=17960&issueStatuses=ACCEPTED) [0 Accepted issues](https://sonarqube.main.prod.cldev.sh/project/issues?id=smartcontractkit_chainlink&pullRequest=17960&issueStatuses=ACCEPTED)

Measures  
[![](https://raw.githubusercontent.com/SonarSource/sonarqube-static-resources/master/v104/common/passed-16px.png '')](https://sonarqube.main.prod.cldev.sh/security_hotspots?id=smartcontractkit_chainlink&pullRequest=17960) [0 Security Hotspots](https://sonarqube.main.prod.cldev.sh/security_hotspots?id=smartcontractkit_chainlink&pullRequest=17960)  
![](https://raw.githubusercontent.com/SonarSource/sonarqube-static-resources/master/v104/common/no-data-16px.png '') No data about Coverage  
![](https://raw.githubusercontent.com/SonarSource/sonarqube-static-resources/master/v104/common/no-data-16px.png '') No data about Duplication  
  
[See analysis details on SonarQube](https://sonarqube.main.prod.cldev.sh/dashboard?id=smartcontractkit_chainlink&pullRequest=17960)


author_association: NONE