Skip to content

feat(CHAIN-3398): support optional wssUrl in Solana adapter config#67

Merged
jackchuma merged 1 commit intomainfrom
feat/optional-wss-url
Apr 2, 2026
Merged

feat(CHAIN-3398): support optional wssUrl in Solana adapter config#67
jackchuma merged 1 commit intomainfrom
feat/optional-wss-url

Conversation

@jackchuma
Copy link
Copy Markdown
Collaborator

Summary

  • Adds an optional wssUrl field to SolanaAdapterConfig and SolanaChainAdapter, allowing callers to specify a dedicated WebSocket endpoint for RPC subscriptions instead of always deriving one from the HTTP rpcUrl. This is needed for providers that expose separate HTTP and WebSocket endpoints.
  • Refactors validateRpcUrl into a shared validateUrlScheme helper and introduces validateWssUrl (accepts ws: / wss: schemes).
  • Propagates wssUrl through BaseToSvmRouteAdapter, SvmToBaseRouteAdapter, and SolanaEngine.
  • Adds comprehensive unit tests for validateWssUrl and makeSolanaAdapter wssUrl handling.

Allow callers to provide an explicit WebSocket URL for RPC
subscriptions instead of always deriving it from the HTTP rpcUrl.
This is needed for providers that expose different endpoints for
HTTP and WebSocket connections.

- Add optional wssUrl to SolanaAdapterConfig / SolanaChainAdapter
- Add validateWssUrl (ws:/wss: scheme check) and refactor
  validateRpcUrl to share a common validateUrlScheme helper
- Propagate wssUrl through route adapters into SolanaEngine
- Add comprehensive unit tests for the new validation and config
@jackchuma jackchuma changed the title feat: support optional wssUrl in Solana adapter config feat(CHAIN-3398): support optional wssUrl in Solana adapter config Apr 2, 2026
@linear
Copy link
Copy Markdown

linear bot commented Apr 2, 2026

@jackchuma jackchuma merged commit 5f83cd9 into main Apr 2, 2026
5 checks passed
@jackchuma jackchuma deleted the feat/optional-wss-url branch April 2, 2026 15:50
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.

1 participant