Add Content-Type to the beacon chain response headers whitelist.
Without this, REST endpoints returning SSZ binary data (e.g.
/eth/v2/debug/beacon/states) are mislabeled as application/json
by dproxy, breaking client-side parsing.
Companion fix: drpcorg/dproxy#2348
* Implement Solana head detection strategies with metrics tracking and testing
* Add benchmark tests for Solana BlockSubscribe and SlotSubscribe strategies
* Implement metrics logging and strategy configuration for Solana head detection
* Add metrics logging and comparison for SLOT_SUBSCRIBE strategy
* Refactor SolanaChainSpecificTest: Consolidate tests for slotSubscribe strategy, remove BlockSubscribe tests, and enhance caching logic. Delete SolanaStrategyBenchmark for performance comparison.
* add synthetic parentHash, improve tests
* Fix linter
* Optimize Solana getLatestBlock to use single getEpochInfo call
Replace two separate RPC calls (getSlot + getBlockHeight) with a single getEpochInfo call that returns both absoluteSlot and blockHeight
* Enhance height estimation logic in SolanaChainSpecific: Implement optimistic height estimation and improve error handling for RPC failures. Update tests to validate new behavior.
* Refactor height verification in SolanaChainSpecific: Replace getBlockHeight with getEpochInfo for improved efficiency and accuracy in height estimation. Update logic to handle actual slot and height retrieval.
* Add WebSocket subscription support for Ripple and migrate to ledger_closed
- Replace deprecated `ledger` RPC method with `ledger_closed` for polling
- Add WebSocket subscription support for Ripple ledger stream
- Add RippleCommandParams for native Ripple WS command format (uses "command" instead of "method")
- Extend ResponseWSParser to handle Ripple subscription format (type: "ledgerClosed")
- Update WsSubscriptionsImpl to extract stream type for Ripple subscriptions
- Implement getFromHeader() for parsing ledgerClosed WS events
- Add RippleLedgerStreamEvent data class for WS subscription events
- Add unit tests for ResponseWSParser and RippleChainSpecific
* Remove legacy format
* Add Shibarium Bor bridge RPC methods to allowlist and selector
* Limit Bor receipts-by-block to Shibarium only
* revert EthereumCallSelector.kt
---------
Co-authored-by: a10zn8 <a1.cyb3r@gmail.com>
* Add additional method detection patterns and support for new RPC methods
* Add additional RPC method detections and error handling for missing arguments