Skip to content

basic stellar support in ccv#626

Merged
FelixFan1992 merged 82 commits intomainfrom
feature/setup-stellar
Mar 23, 2026
Merged

basic stellar support in ccv#626
FelixFan1992 merged 82 commits intomainfrom
feature/setup-stellar

Conversation

@faisal-chainlink
Copy link
Copy Markdown
Contributor

No description provided.

Comment thread integration/pkg/sourcereader/stellar/source_reader.go Outdated
Comment thread integration/pkg/sourcereader/stellar/source_reader.go Outdated
Comment thread integration/pkg/sourcereader/stellar/source_reader.go Outdated
@FelixFan1992 FelixFan1992 changed the title (WIP) Setup Stellar basic stellar support in ccv Mar 20, 2026
@FelixFan1992 FelixFan1992 marked this pull request as ready for review March 23, 2026 18:47
@FelixFan1992 FelixFan1992 requested a review from skudasov as a code owner March 23, 2026 18:47
Copilot AI review requested due to automatic review settings March 23, 2026 18:47
@FelixFan1992 FelixFan1992 requested a review from a team as a code owner March 23, 2026 18:47
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

This PR updates dependencies and extends the dev environment EVM implementation to recognize Stellar as a supported chain family for CCV-related configuration and message extra-args serialization.

Changes:

  • Bump github.com/smartcontractkit/chain-selectors to v1.0.97 (and propagate sum updates across modules).
  • Update several indirect AWS SDK v2 dependencies and github.com/go-errors/errors.
  • Add Stellar handling in dev environment logic (extra-args serialization and address length selection) and populate Stellar signer info in topology enrichment.

Reviewed changes

Copilot reviewed 4 out of 7 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
indexer/cmd/oapigen/go.sum Updates chain-selectors sums for the oapigen module.
go.sum Reflects updated dependency graph (AWS SDK v2 components, go-errors/errors, chain-selectors).
go.mod Bumps chain-selectors; updates indirect AWS SDK v2 deps; adds indirect go-errors/errors v1.5.1.
build/devenv/fakes/go.sum Updates chain-selectors sums for devenv fakes module.
build/devenv/fakes/go.mod Bumps indirect chain-selectors to v1.0.97.
build/devenv/evm/impl.go Adds Stellar as a destination family for extra-args serialization and uses 32-byte address length for Stellar in selector wiring.
build/devenv/environment.go Adds Stellar signer address enrichment using bootstrap EdDSA public key.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread build/devenv/evm/impl.go
panic(fmt.Sprintf("unsupported message extra args version: %d", opts.Version))
}
case chainsel.FamilyStellar:
return serializeExtraArgsV3(opts)
Copy link

Copilot AI Mar 23, 2026

Choose a reason for hiding this comment

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

For FamilyStellar, serializeExtraArgs always returns V3 encoding regardless of opts.Version. This silently ignores caller intent and can produce mismatched extra-args for Stellar without any error (unlike the EVM/Canton and Solana branches which validate supported versions). Consider explicitly validating opts.Version (e.g., only allow 3) and panic/error with a family-qualified message when an unsupported version is provided.

Suggested change
return serializeExtraArgsV3(opts)
switch opts.Version {
case 3: // StellarExtraArgsV3 (uses EVMExtraArgsV3 encoding)
return serializeExtraArgsV3(opts)
default:
panic(fmt.Sprintf("unsupported message extra args version for family %s: %d", destFamily, opts.Version))
}

Copilot uses AI. Check for mistakes.
Comment thread build/devenv/evm/impl.go
panic(fmt.Sprintf("unsupported message extra args version: %d", opts.Version))
}
case chainsel.FamilyStellar:
return serializeExtraArgsV3(opts)
Copy link

Copilot AI Mar 23, 2026

Choose a reason for hiding this comment

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

New Stellar-specific behavior was added (extra-args serialization), but there don’t appear to be any tests exercising Stellar destinations (no Stellar references under build/devenv/tests). Adding at least a small unit/integration test that asserts Stellar uses the expected extra-args version/encoding would help prevent regressions as more families/versions are added.

Suggested change
return serializeExtraArgsV3(opts)
switch opts.Version {
case 3: // Stellar currently uses EVMExtraArgsV3 encoding
return serializeExtraArgsV3(opts)
default:
panic(fmt.Sprintf("unsupported message extra args version for family %s: %d", destFamily, opts.Version))
}

Copilot uses AI. Check for mistakes.
@github-actions
Copy link
Copy Markdown

Code coverage report:

Package main feature/setup-stellar diff
github.com/smartcontractkit/chainlink-ccv/aggregator 47.79% 47.79% +0.00%
github.com/smartcontractkit/chainlink-ccv/bootstrap 42.35% 42.35% +0.00%
github.com/smartcontractkit/chainlink-ccv/cli 86.39% 86.39% +0.00%
github.com/smartcontractkit/chainlink-ccv/cmd 0.00% 0.00% +0.00%
github.com/smartcontractkit/chainlink-ccv/common 50.74% 50.74% +0.00%
github.com/smartcontractkit/chainlink-ccv/executor 46.42% 46.42% +0.00%
github.com/smartcontractkit/chainlink-ccv/indexer 42.75% 42.70% -0.05%
github.com/smartcontractkit/chainlink-ccv/integration 45.27% 45.38% +0.11%
github.com/smartcontractkit/chainlink-ccv/pkg 100.00% 100.00% +0.00%
github.com/smartcontractkit/chainlink-ccv/pricer 0.00% 0.00% +0.00%
github.com/smartcontractkit/chainlink-ccv/protocol 68.69% 68.69% +0.00%
github.com/smartcontractkit/chainlink-ccv/verifier 33.10% 33.10% +0.00%

@FelixFan1992 FelixFan1992 enabled auto-merge March 23, 2026 19:00
@FelixFan1992 FelixFan1992 added this pull request to the merge queue Mar 23, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Mar 23, 2026
@FelixFan1992 FelixFan1992 added this pull request to the merge queue Mar 23, 2026
Merged via the queue into main with commit 4d17c66 Mar 23, 2026
26 of 27 checks passed
@FelixFan1992 FelixFan1992 deleted the feature/setup-stellar branch March 23, 2026 19:20
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.

4 participants