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
* add Robinhood Chain testnet support
Update emerald-grpc submodule with CHAIN_ROBINHOOD__TESTNET = 10190.
* update submodules to include TAC chain merge
Sync emerald-grpc and public submodules to latest.
* 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