Skip to content

feat: added IS_MODULARIZED axios header for MirrorNodeClient #3626

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 4, 2025

Conversation

quiet-node
Copy link
Contributor

Description

This PR adds support for the Is-Modularized header in Mirror Node requests through a new configuration flag, USE_MIRROR_NODE_MODULARIZED_SERVICES, allowing controlled routing of traffic to modularized services within the Mirror Node.

Context

Currently, only a small percentage of Mirror Node traffic on Previewnet is routed to modularized services, with a gradual increase planned until full adoption across all networks.

For now, the Relay explicitly sets this to false to ensure traffic follows the non-modularized flow. Once the Mirror Node fully transitions, this will be updated to true as a default value.

Changes

  • Added USE_MIRROR_NODE_MODULARIZED_SERVICES configuration flag (default: false)
  • Modified request headers to include Is-Modularized with appropriate string conversion
  • Updated documentation to reflect the new configuration option

Related issue(s):

Fixes #3623

Checklist

  • Documented (Code comments, README, etc.)
  • Tested (unit, integration, etc.)

@quiet-node quiet-node added the enhancement New feature or request label Apr 4, 2025
@quiet-node quiet-node added this to the 0.68.0 milestone Apr 4, 2025
@quiet-node quiet-node self-assigned this Apr 4, 2025
@quiet-node quiet-node requested review from a team as code owners April 4, 2025 01:19
@quiet-node quiet-node requested a review from konstantinabl April 4, 2025 01:19
@quiet-node quiet-node linked an issue Apr 4, 2025 that may be closed by this pull request
Copy link

github-actions bot commented Apr 4, 2025

Test Results

 22 files   -  1  298 suites  +20   34m 40s ⏱️ - 3m 1s
631 tests  -  1  622 ✅ + 2  4 💤 ±0  5 ❌  - 3 
839 runs   - 31  828 ✅  - 25  6 💤 +1  5 ❌  - 7 

For more details on these failures, see this check.

Results for commit fa4a3a5. ± Comparison against base commit 7077237.

This pull request removes 5 and adds 4 tests. Note that renamed tests count towards both.
"after all" hook in "RPC Server Acceptance Tests" ‑ RPC Server Acceptance Tests "after all" hook in "RPC Server Acceptance Tests"
"before all" hook for "should associate to a token" ‑ RPC Server Acceptance Tests Acceptance tests @tokencreate HTS Precompile Token Create Acceptance Tests "before all" hook for "should associate to a token"
"before all" hook for "should execute "eth_getCode" for hts token" ‑ RPC Server Acceptance Tests Acceptance tests @api-batch-2 RPC Server Acceptance Tests eth_getCode "before all" hook for "should execute "eth_getCode" for hts token"
"before all" hook in "RPC Server Acceptance Tests" ‑ RPC Server Acceptance Tests Acceptance tests @api-batch-1 RPC Server Acceptance Tests RPC Server Acceptance Tests "before all" hook in "RPC Server Acceptance Tests"
"before each" hook for "should execute "eth_getStorageAt" request to get current state changes" ‑ RPC Server Acceptance Tests Acceptance tests @api-batch-2 RPC Server Acceptance Tests "before each" hook for "should execute "eth_getStorageAt" request to get current state changes"
"after all" hook for "@release should execute "eth_estimateGas" for contract call, using a standard websocket" ‑ RPC Server Acceptance Tests Acceptance tests @web-socket-batch-1 eth_estimateGas "after all" hook for "@release should execute "eth_estimateGas" for contract call, using a standard websocket"
"before all" hook for "Function calling HederaTokenService.isToken(token)" ‑ RPC Server Acceptance Tests Acceptance tests @api-batch-3 RPC Server Acceptance Tests eth_call with contract that calls precompiles "before all" hook for "Function calling HederaTokenService.isToken(token)"
"before all" hook in "@tokenmanagement HTS Precompile Token Management Acceptance Tests" ‑ RPC Server Acceptance Tests Acceptance tests @tokenmanagement HTS Precompile Token Management Acceptance Tests "before all" hook in "@tokenmanagement HTS Precompile Token Management Acceptance Tests"
"before each" hook for "Should allow different accounts associated in the same HbarSpendingPlan to contribute to the same budget" ‑ RPC Server Acceptance Tests Acceptance tests @hbarlimiter HBAR Limiter Acceptance Tests HBAR Rate Limit Tests HBAR Rate Limit For Different Spending Plan Tiers @hbarlimiter-batch2 Preconfigured Tiers PRIVILEGED Tier "before each" hook for "Should allow different accounts associated in the same HbarSpendingPlan to contribute to the same budget"

♻️ This comment has been updated with latest results.

Copy link

@Ferparishuertas Ferparishuertas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@natanasow natanasow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@quiet-node quiet-node merged commit d268f12 into main Apr 4, 2025
38 of 40 checks passed
@quiet-node quiet-node deleted the 3623-enforce-non-modularization-flow-on-mn branch April 4, 2025 15:38
quiet-node added a commit that referenced this pull request Apr 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Enforce Non Modularization FLOW on MN
3 participants