Skip to content

Resolve transmitter keys via chainreg instead of per-family keys#1155

Open
ogtownsend wants to merge 7 commits into
mainfrom
ogt/add-solana-signer-support
Open

Resolve transmitter keys via chainreg instead of per-family keys#1155
ogtownsend wants to merge 7 commits into
mainfrom
ogt/add-solana-signer-support

Conversation

@ogtownsend

@ogtownsend ogtownsend commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Description

Adds Solana executor signer support to devenv and removes the per chain family transmitter wiring

This PR moves bootstrap keys into the chainreg registry:

  • BootstrapKeys now exposes a generic PublicKeys map[string]string (keyed by full keystore key name) plus a PublicKeyHex(keyName) accessor, instead of one named field per family. FetchBootstrapKeys populates it generically and no longer derives a family-specific address itself.
  • New chainreg.ExecutorInfo interface (ExecutorTransmitterKeyName(), ExecutorTransmitterAddress(keys)) registered via Registration.ExecutorInfo, with Registry.GetExecutorTransmitterKeyName / GetExecutorTransmitterAddress lookups. EVM registers its own ExecutorInfo.
  • New families (Solana, stellar, etc.) register theirs from their own repo so there shouldn't be any need for shared devenv edits

Testing

  • go build ./... and cd build/devenv && go build ./... both pass.
  • go test ./chainreg/... passes, including new TestRegistryGetExecutorTransmitterInfo and TestRegistryAddMergesExecutorInfo covering the registry lookups and merge.
  • Tested with Solana devenv and new transmitter funding logic, sending messages EVM<-->Solana: https://github.com/smartcontractkit/chainlink-ccip-solana/pull/201

Checklist

  • Breaking changes documented in changelog (see changelog directory)
  • Cross link related PRs (in this or other repositories)
  • just lint fix - no new lint errors
  • just generate - mocks and protobufs are up to date

Comment thread build/devenv/services/bootstrap.go Outdated
Comment thread executor/const.go Outdated
Comment thread build/devenv/chainreg/types.go
Comment thread build/devenv/chainreg/types.go
Comment thread build/devenv/chainreg/registry.go Outdated
@ogtownsend ogtownsend changed the title add solana signer support Resolve transmitter keys via chainreg instead of per-family keys Jun 11, 2026
@github-actions

Copy link
Copy Markdown

Code coverage report:

Package main ogt/add-solana-signer-support Diff
github.com/smartcontractkit/chainlink-ccv/aggregator 49.35% 49.35% +0.00%
github.com/smartcontractkit/chainlink-ccv/bootstrap 52.96% 52.96% +0.00%
github.com/smartcontractkit/chainlink-ccv/cli 65.13% 65.13% +0.00%
github.com/smartcontractkit/chainlink-ccv/cmd 15.54% 15.54% +0.00%
github.com/smartcontractkit/chainlink-ccv/common 54.19% 54.19% +0.00%
github.com/smartcontractkit/chainlink-ccv/executor 45.97% 45.97% +0.00%
github.com/smartcontractkit/chainlink-ccv/indexer 36.06% 36.05% -0.01%
github.com/smartcontractkit/chainlink-ccv/integration 45.89% 45.89% +0.00%
github.com/smartcontractkit/chainlink-ccv/pkg 84.62% 84.62% +0.00%
github.com/smartcontractkit/chainlink-ccv/pricer 0.00% 0.00% +0.00%
github.com/smartcontractkit/chainlink-ccv/protocol 63.06% 63.06% +0.00%
github.com/smartcontractkit/chainlink-ccv/verifier 34.48% 34.48% +0.00%
Total 46.40% 46.30% -0.10%

@ogtownsend ogtownsend marked this pull request as ready for review June 11, 2026 22:30
@ogtownsend ogtownsend requested review from a team as code owners June 11, 2026 22:30
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.

2 participants