[RelayMiner] feat: relay miner routes to multiple backend URLs based on RPC Type#1633
[RelayMiner] feat: relay miner routes to multiple backend URLs based on RPC Type#1633commoddity merged 31 commits intomainfrom
Conversation
…vice configs for different RPC types
red-0ne
left a comment
There was a problem hiding this comment.
Great addition!
Thanks for keeping the config backward compatible.
Uniqueness of the RPC configs is guaranteed 👍
Left a few comments but no major blockers.
Olshansk
left a comment
There was a problem hiding this comment.
Biggest issue I see right now is the fact that we're changing configs, not updating docs, and some naming discrepencies.
…poktroll into rpc-type-backend-selection
…rpc-type-backend-selection
…network/poktroll into rpc-type-backend-selection
Olshansk
left a comment
There was a problem hiding this comment.
Posted a fair number of changes, but we're close!
Should be g2g after this round.
Olshansk
left a comment
There was a problem hiding this comment.
@commoddity I'm publishing a partial (early) review to make sure one of the comments gets out early.
Will keep reviewing.
Olshansk
left a comment
There was a problem hiding this comment.
@commoddity I squashed and merged my review here: #1669
LGTM otherwise. Let's merge it in!
* pokt/main: (34 commits) [RelayMiner] feat: relay miner routes to multiple backend URLs based on RPC Type (#1633) [Morse Recovery] Added new addresses for recovery (#1667) [DOCS][SERVICE] Adding danger for Grove employees on mainnet service creation (#1666) [Foundation] Remove `pulsar` (#1661) [RelayMiner] Add timeout support and improved logging to query clients (#1657) [RelayMiner] Replace buffer copying with explicit cleanup pattern in SafeReadBody (#1658) [Testing] Fixing flaky unit tests to make CI more reliable (#1662) [Scripts] Notes, events and queries to query `block` events and `tx` events (#1660) [Morse Recovery] Add recovery addresses for issue #1654 (#1656) Refactor Tiltfile structure and enhance Pocketdex support. (#1640) [Morse Recovery] Updated Recovery Allowlist (#1651) [RelayMiner] Improve SafeReadBody concurrency safety by copying buffer data (#1650) Add a configurable max body size parameter to RelayMiner configuration. (#1566) Update upgrade_tx_v0.1.25_alpha.json feat: Improve relay request unmarshaling error handling and logging (#1649) [Docs] v0.1.25/26 upgrage artifacts (#1648) Remove settlement result from `EventClaimSettled` in `v0.127` release. (#1647) Revert "feat: Remove settlement result from EventClaimSettled" (#1643) [Code Health] Fix linter issues & attempt to fix flaky tests (#1646) Updating config-path-x.yaml with: schema header, owned app for config-path-1 ...
* pokt/chore/ibc: fix: TODOs fix: onchain upgrade [RelayMiner] feat: relay miner routes to multiple backend URLs based on RPC Type (#1633) [Morse Recovery] Added new addresses for recovery (#1667) [DOCS][SERVICE] Adding danger for Grove employees on mainnet service creation (#1666) [Foundation] Remove `pulsar` (#1661) [RelayMiner] Add timeout support and improved logging to query clients (#1657) [RelayMiner] Replace buffer copying with explicit cleanup pattern in SafeReadBody (#1658) [Testing] Fixing flaky unit tests to make CI more reliable (#1662) [Scripts] Notes, events and queries to query `block` events and `tx` events (#1660) [Morse Recovery] Add recovery addresses for issue #1654 (#1656) First review
* chore/localnet/tilt: (88 commits) [Disk Utilization] refactor: remove unnecessary Msg.*Response fields (#1670) [RelayMiner] Bump SMT version (#1675) [IBC] Prepare pocket for IBC connectivity (#1262) fix: TODOs fix: onchain upgrade [RelayMiner] feat: relay miner routes to multiple backend URLs based on RPC Type (#1633) [Morse Recovery] Added new addresses for recovery (#1667) [DOCS][SERVICE] Adding danger for Grove employees on mainnet service creation (#1666) [Foundation] Remove `pulsar` (#1661) [RelayMiner] Add timeout support and improved logging to query clients (#1657) [RelayMiner] Replace buffer copying with explicit cleanup pattern in SafeReadBody (#1658) [Testing] Fixing flaky unit tests to make CI more reliable (#1662) [Scripts] Notes, events and queries to query `block` events and `tx` events (#1660) [Morse Recovery] Add recovery addresses for issue #1654 (#1656) fixup! upgrade fixup! upgrade revertme: testing fixup! upgrade Refactor Tiltfile structure and enhance Pocketdex support. (#1640) [Morse Recovery] Updated Recovery Allowlist (#1651) ...
* chore/ibc-axelar: (92 commits) [Disk Utilization] refactor: remove unnecessary Msg.*Response fields (#1670) [RelayMiner] Bump SMT version (#1675) [IBC] Prepare pocket for IBC connectivity (#1262) fix: TODOs fix: onchain upgrade [RelayMiner] feat: relay miner routes to multiple backend URLs based on RPC Type (#1633) [Morse Recovery] Added new addresses for recovery (#1667) [DOCS][SERVICE] Adding danger for Grove employees on mainnet service creation (#1666) [Foundation] Remove `pulsar` (#1661) [RelayMiner] Add timeout support and improved logging to query clients (#1657) [RelayMiner] Replace buffer copying with explicit cleanup pattern in SafeReadBody (#1658) [Testing] Fixing flaky unit tests to make CI more reliable (#1662) [Scripts] Notes, events and queries to query `block` events and `tx` events (#1660) [Morse Recovery] Add recovery addresses for issue #1654 (#1656) fixup! upgrade fixup! upgrade revertme: testing fixup! upgrade Refactor Tiltfile structure and enhance Pocketdex support. (#1640) [Morse Recovery] Updated Recovery Allowlist (#1651) ...
* chore/ibc-axelar: (88 commits) [Disk Utilization] refactor: remove unnecessary Msg.*Response fields (#1670) [RelayMiner] Bump SMT version (#1675) [IBC] Prepare pocket for IBC connectivity (#1262) fix: TODOs fix: onchain upgrade [RelayMiner] feat: relay miner routes to multiple backend URLs based on RPC Type (#1633) [Morse Recovery] Added new addresses for recovery (#1667) [DOCS][SERVICE] Adding danger for Grove employees on mainnet service creation (#1666) [Foundation] Remove `pulsar` (#1661) [RelayMiner] Add timeout support and improved logging to query clients (#1657) [RelayMiner] Replace buffer copying with explicit cleanup pattern in SafeReadBody (#1658) [Testing] Fixing flaky unit tests to make CI more reliable (#1662) [Scripts] Notes, events and queries to query `block` events and `tx` events (#1660) [Morse Recovery] Add recovery addresses for issue #1654 (#1656) fixup! upgrade fixup! upgrade revertme: testing fixup! upgrade Refactor Tiltfile structure and enhance Pocketdex support. (#1640) [Morse Recovery] Updated Recovery Allowlist (#1651) ...
🌿 Summary
Enhances the Relay Miner to dynamically route incoming requests to different backend URLs based on the RPC type specified in the request header, enabling greater flexibility in handling protocol-specific relays.
NOTE: This PR specifically intends to be backward-compatible by introducing RPC-type specific service configs in addition to the default service config.
This means the YAML structure of the Relay Miner config is unchanged so the new functionality may be added in addition to existing configs but does not require NRs to change their config structure.
🌱 Primary Changes:
rpc_type_service_configsYAML field.RPC-Typeheader and selecting the corresponding service configuration.RPCTypeenum with validation logic to support known RPC types (e.g.,json_rpc,rest).🍃 Secondary changes:
ServiceConfigandRPCTypeServiceConfigs.ServiceConfigtoServiceConfigacross the codebase for alignment.🛠️ Type of change
Select one or more from the following:
🤯 Sanity Checklist