Skip to content

remove borsh encoder from encoder factory#22269

Merged
jmank88 merged 11 commits into
developfrom
cleanup-encoder-factory
May 7, 2026
Merged

remove borsh encoder from encoder factory#22269
jmank88 merged 11 commits into
developfrom
cleanup-encoder-factory

Conversation

@Unheilbar
Copy link
Copy Markdown
Collaborator

@Unheilbar Unheilbar commented Apr 30, 2026

Originally, it was planned to be used by Securemint project in v1 workflows. The project never was launched making this code unused. It helps to get rid of solana dependency from core.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 30, 2026

✅ No conflicts with other open PRs targeting develop

@trunk-io
Copy link
Copy Markdown

trunk-io Bot commented Apr 30, 2026

Static BadgeStatic BadgeStatic BadgeStatic Badge

View Full Report ↗︎Docs

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 30, 2026

CORA - Pending Reviewers

All codeowners have approved! ✅

Legend: ✅ Approved | ❌ Changes Requested | 💬 Commented | 🚫 Dismissed | ⏳ Pending | ❓ Unknown

For more details, see the full review summary.

@github-actions
Copy link
Copy Markdown
Contributor

I see you updated files related to core. Please run make gocs in the root directory to add a changeset as well as in the text include at least one of the following tags:

  • #added For any new functionality added.
  • #breaking_change For any functionality that requires manual action for the node to boot.
  • #bugfix For bug fixes.
  • #changed For any change to the existing functionality.
  • #db_update For any feature that introduces updates to database schema.
  • #deprecation_notice For any upcoming deprecation functionality.
  • #internal For changesets that need to be excluded from the final changelog.
  • #nops For any feature that is NOP facing and needs to be in the official Release Notes for the release.
  • #removed For any functionality/config that is removed.
  • #updated For any functionality that is updated.
  • #wip For any change that is not ready yet and external communication about it should be held off till it is feature complete.

@Unheilbar Unheilbar marked this pull request as ready for review May 1, 2026 12:55
@Unheilbar Unheilbar requested review from a team as code owners May 1, 2026 12:55
Copilot AI review requested due to automatic review settings May 1, 2026 12:55
@Unheilbar Unheilbar requested review from a team as code owners May 1, 2026 12:55
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Risk Rating: MEDIUM

Removes the OCR3 Borsh/Solana encoder (and SecureMint aggregator wiring) from the core capabilities factories to reduce unused functionality and associated dependencies, while bumping chainlink-common to a version that matches the dependent upstream change.

Changes:

  • Remove EncoderBorsh/Solana encoder support from core/capabilities.NewEncoder and adjust the encoder factory test accordingly.
  • Remove secure_mint aggregator instantiation from core/capabilities.NewAggregator.
  • Bump github.com/smartcontractkit/chainlink-common across multiple modules/sums and align a few submodule go directives to 1.26.2.

Reviewed changes

Copilot reviewed 17 out of 28 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
core/capabilities/encoder_factory.go Removes Solana/Borsh encoder creation path from the encoder factory.
core/capabilities/encoder_factory_test.go Updates unit test setup to no longer build Solana/Borsh encoder config.
core/capabilities/aggregator_factory.go Removes SecureMint aggregator case from the aggregator factory switch.
go.mod / go.sum Bumps chainlink-common pseudo-version and updates sums accordingly.
deployment/go.mod / deployment/go.sum Same chainlink-common bump for deployment module.
core/scripts/go.mod / core/scripts/go.sum Same chainlink-common bump for scripts module.
devenv/go.mod / devenv/go.sum Same chainlink-common bump; sums updated for transitive deps.
integration-tests/go.mod / integration-tests/go.sum Same chainlink-common bump for integration tests.
integration-tests/load/go.mod / integration-tests/load/go.sum Same chainlink-common bump for load tests module.
system-tests/lib/go.mod / system-tests/lib/go.sum Same chainlink-common bump for system test lib module.
system-tests/tests/go.mod / system-tests/tests/go.sum Same chainlink-common bump for system tests module.
system-tests/tests/canaries_sentinels/.../go.mod / go.sum Same chainlink-common bump for that submodule.
core/scripts/cre/environment/examples/.../go.mod / go.sum Same chainlink-common bump for workflow examples.
system-tests/tests/smoke/cre/aptos/*/go.mod Updates submodule go directive to 1.26.2.

@@ -38,8 +38,6 @@ func NewAggregator(name string, config values.Map, lggr logger.Logger) (types.Ag
return aggregators.NewReduceAggregator(config)
case string(LLOStreamsAggregator):
return datafeeds.NewLLOAggregator(config)
Copy link

Copilot AI May 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SecureMintAggregator is still defined (and its comment implies support), but NewAggregator no longer handles secure_mint and will return "not supported". This is confusing for callers and can be an unintended breaking change; either remove/deprecate the constant/comment, or keep the case and return a clearer error indicating the aggregator was removed/unsupported.

Suggested change
return datafeeds.NewLLOAggregator(config)
return datafeeds.NewLLOAggregator(config)
case string(SecureMintAggregator):
return nil, fmt.Errorf("aggregator %s has been removed and is no longer supported", name)

Copilot uses AI. Check for mistakes.
@Unheilbar Unheilbar requested a review from jmank88 May 1, 2026 13:20
@mchain0
Copy link
Copy Markdown
Contributor

mchain0 commented May 6, 2026

I don't understand the dependency on the common repo - if we remove usages let's just remove them here to cut out dependency from common, not sure why we would need to even update common if it's only about removing stuff from use?

@Unheilbar Unheilbar force-pushed the cleanup-encoder-factory branch from e9d1ef7 to 8175666 Compare May 6, 2026 11:40
jmank88
jmank88 previously approved these changes May 6, 2026
mchain0
mchain0 previously approved these changes May 6, 2026
@Unheilbar Unheilbar dismissed stale reviews from mchain0 and jmank88 via ccdf41f May 6, 2026 12:07
@Unheilbar Unheilbar requested review from jmank88 and mchain0 May 6, 2026 17:50
jmank88
jmank88 previously approved these changes May 6, 2026
mchain0
mchain0 previously approved these changes May 7, 2026
jmank88
jmank88 previously approved these changes May 7, 2026
@Unheilbar Unheilbar dismissed stale reviews from jmank88 and mchain0 via 3236023 May 7, 2026 16:10
@cl-sonarqube-production
Copy link
Copy Markdown

@Unheilbar Unheilbar requested review from jmank88 and mchain0 May 7, 2026 17:06
@jmank88 jmank88 added this pull request to the merge queue May 7, 2026
Merged via the queue into develop with commit 7322155 May 7, 2026
217 of 218 checks passed
@jmank88 jmank88 deleted the cleanup-encoder-factory branch May 7, 2026 18:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants