Skip to content

CCIP-9735: Removing LBTC validation in set candidate changeset#21583

Merged
b-gopalswami merged 4 commits intodevelopfrom
bg/ccip-9735-lbtc
Mar 19, 2026
Merged

CCIP-9735: Removing LBTC validation in set candidate changeset#21583
b-gopalswami merged 4 commits intodevelopfrom
bg/ccip-9735-lbtc

Conversation

@b-gopalswami
Copy link
Copy Markdown
Contributor

This pull request simplifies the validation logic for LBTC handler configuration in the cs_ccip_home.go file. The main change is the removal of the previously implemented LBTC config validation, which was deemed unnecessary and potentially misleading. Now, the code relies on user-provided addresses and clear plugin failure in case of misconfiguration, rather than preemptive validation.

Validation logic changes:

  • Removed the validateLBTCConfig function, eliminating checks for LBTC source pool addresses against the on-chain state and EVM client. This avoids giving users a false sense of security, since there is no standard Lombard token or pool stored in state.
  • Updated the validateExecOffchainConfig function to skip LBTC-specific validation and return nil directly, with explanatory comments about the rationale.

Dependency cleanup:

  • Removed the unused import of token_pool from the file, as it is no longer needed after removing LBTC validation.

Jira: https://smartcontract-it.atlassian.net/browse/CCIP-9735

@b-gopalswami b-gopalswami requested a review from a team as a code owner March 18, 2026 15:26
Copilot AI review requested due to automatic review settings March 18, 2026 15:26
@b-gopalswami b-gopalswami requested review from a team as code owners March 18, 2026 15:26
@github-actions
Copy link
Copy Markdown
Contributor

👋 b-gopalswami, thanks for creating this pull request!

To help reviewers, please consider creating future PRs as drafts first. This allows you to self-review and make any final changes before notifying the team.

Once you're ready, you can mark it as "Ready for review" to request feedback. Thanks!

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 18, 2026

✅ No conflicts with other open PRs targeting develop

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 (changes validation behavior in deployment changeset config paths)

This PR removes LBTC-specific pre-validation from the CCIP home changeset, aiming to avoid misleading “validation” against non-canonical on-chain state and to rely on plugin failure for misconfiguration detection instead.

Changes:

  • Removed the LBTC handler config validation (validateLBTCConfig) and its dependency on token_pool.
  • Updated validateExecOffchainConfig to skip LBTC-specific validation with an explanatory comment block.

Comment thread deployment/ccip/changeset/v1_6/cs_ccip_home.go Outdated
Comment thread deployment/ccip/changeset/v1_6/cs_ccip_home.go
bukata-sa
bukata-sa previously approved these changes Mar 18, 2026
@b-gopalswami b-gopalswami enabled auto-merge March 18, 2026 16:07
@trunk-io
Copy link
Copy Markdown

trunk-io Bot commented Mar 18, 2026

Static BadgeStatic BadgeStatic BadgeStatic Badge

Failed Test Failure Summary Logs
Test_CRE_V2_HTTP_Action_CRUD_Regression The test 'Test_CRE_V2_HTTP_Action_CRUD_Regression' failed during execution. Logs ↗︎
Test_CRE_V2_HTTP_Action_CRUD_Regression/[v2]_HTTP_Action_fails_with_oversized_request_body The test failed during an HTTP action request with an oversized request body, indicating that the request was too large to process. Logs ↗︎

View Full Report ↗︎Docs

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

@winder winder left a comment

Choose a reason for hiding this comment

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

This doesn't make sense. The validation you're disabling would allow misconfigurations to be deployed on production.

The source pool address is defined outside of the durable pipeline:
https://github.com/smartcontractkit/chainlink-deployments/blob/a02e2006d0372493794bca721aa53847f875a1e2/domains/ccip/shared/configs/mainnet/config.go#L751

@b-gopalswami
Copy link
Copy Markdown
Contributor Author

This doesn't make sense. The validation you're disabling would allow misconfigurations to be deployed on production.

The source pool address is defined outside of the durable pipeline: https://github.com/smartcontractkit/chainlink-deployments/blob/a02e2006d0372493794bca721aa53847f875a1e2/domains/ccip/shared/configs/mainnet/config.go#L751

@winder The existing validation doesn't really adds any value. It just gives us false hope that there is a validation. It just loads the given address as token pool and trying to call GetToken method. This validation will pass for any pool and there is no specific validation that this is valid Lombard pool.
https://github.com/smartcontractkit/chainlink/pull/21583/changes#diff-3ab7b3159b26540efd60b40eba7d0ed3fdb5667d285694c850c11b17185d0962L251-L268

We are not storing their pool or token address in our AddressBook or Datastore either. Not just one token like USDC, they have more than one token at this point and may have more in the future as well.

I have a ticket to expand LBTC for Solana and the existing validation doesn't supports non-evm. I was trying to enable a support for Solana but the existing validation itself doesn't makes much sense to me.

Copy link
Copy Markdown
Contributor

@winder winder left a comment

Choose a reason for hiding this comment

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

This change only removes the validation against the CLD Environment. Static validations around required parameters are still performed.

@b-gopalswami b-gopalswami added this pull request to the merge queue Mar 19, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Mar 19, 2026
@b-gopalswami b-gopalswami added this pull request to the merge queue Mar 19, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Mar 19, 2026
@b-gopalswami b-gopalswami added this pull request to the merge queue Mar 19, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Mar 19, 2026
@b-gopalswami b-gopalswami enabled auto-merge March 19, 2026 16:41
@b-gopalswami b-gopalswami added this pull request to the merge queue Mar 19, 2026
@cl-sonarqube-production
Copy link
Copy Markdown

Merged via the queue into develop with commit 515514d Mar 19, 2026
274 of 276 checks passed
@b-gopalswami b-gopalswami deleted the bg/ccip-9735-lbtc branch March 19, 2026 17:38
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.

6 participants