Skip to content

Support Ponder subgraph schemas in umbra-js and frontend#712

Open
garyghayrat wants to merge 4 commits into
masterfrom
feat-ponder-sh
Open

Support Ponder subgraph schemas in umbra-js and frontend#712
garyghayrat wants to merge 4 commits into
masterfrom
feat-ponder-sh

Conversation

@garyghayrat

@garyghayrat garyghayrat commented Mar 11, 2026

Copy link
Copy Markdown
Member

Summary

  • add Ponder-compatible subgraph queries for announcement and stealth key scans
  • auto-detect Ponder vs legacy subgraph schemas and fall back when Ponder fields are unavailable
  • wire the frontend to the new subgraph configuration and add schema compatibility coverage

Testing

  • add umbra-js/test/subgraph-schema.test.ts

Results

Older accounts benefit the most, and newer accounts not as much (like the base example).

Chain Before After Time Saved % Improvement
Mainnet 18s 7s 11s 61.1%
Optimism 48s 27s 21s 43.8%
Polygon 31s 15s 16s 51.6%
Base 8s 7s 1s 12.5%
Arbitrum 61s 42s 19s 31.1%

Average percentage improvement across chains: 40.0%

@netlify

netlify Bot commented Mar 11, 2026

Copy link
Copy Markdown

Deploy Preview for jolly-shaw-20fe62 ready!

Name Link
🔨 Latest commit db73aba
🔍 Latest deploy log https://app.netlify.com/projects/jolly-shaw-20fe62/deploys/6a4d6806e342880008f1d96a
😎 Deploy Preview https://deploy-preview-712--jolly-shaw-20fe62.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Add compatibility fetching and tests for both Ponder and legacy subgraph schemas, wire frontend chain configs to explicit subgraph URLs, and restore the frontend Umbra API default to the production endpoint.
@garyghayrat garyghayrat marked this pull request as ready for review July 6, 2026 15:29

@marcomariscal marcomariscal left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Requesting changes: PONDER_SUBGRAPH_URL is now required in practice, but missing it silently disables subgraph scanning. The current deploy preview bundle has no Ponder URL, so L2 receive scans fall back to RPC and throw on Optimism/Polygon/Base.

Please fail the build or keep the legacy per-chain fallback until the new env is configured everywhere. Also add a smoke test we can run against preview/prod that verifies the built app has a Ponder URL and a basic Ponder scan succeeds.

@garyghayrat

garyghayrat commented Jul 7, 2026

Copy link
Copy Markdown
Member Author

Requesting changes: PONDER_SUBGRAPH_URL is now required in practice, but missing it silently disables subgraph scanning. The current deploy preview bundle has no Ponder URL, so L2 receive scans fall back to RPC and throw on Optimism/Polygon/Base.

Please fail the build or keep the legacy per-chain fallback until the new env is configured everywhere. Also add a smoke test we can run against preview/prod that verifies the built app has a Ponder URL and a basic Ponder scan succeeds.

db73aba

@garyghayrat garyghayrat requested a review from marcomariscal July 7, 2026 20:58
@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown

Coverage after merging feat-ponder-sh into master will be

85.87%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
contracts-periphery/src
   UmbraBatchSend.sol100%100%100%100%
   UniswapWithdrawHook.sol100%100%100%100%
umbra-js/src
   ethers.ts74.58%100%58.33%100%
   types.ts50%100%0%100%
umbra-js/src/classes
   KeyPair.ts98.54%97.62%100%98.75%248, 250
   RandomNumber.ts100%100%100%100%
   StealthKeyRegistry.ts100%100%100%100%
   TxHistoryProvider.ts81.48%65%80%93.10%12, 17, 20, 23, 29, 43, 48, 54, 8
   Umbra.ts82.65%72.22%90.91%87.89%167–168, 189, 262–263, 331, 349–352, 388–389, 420, 435, 438, 445–447, 449, 456, 459, 464, 464, 466, 466, 466, 466, 466–467, 469–470, 500, 500, 500, 502, 502, 502, 504, 504, 504, 504–505, 505, 505–507, 523–524, 589–591, 62, 62, 632, 687, 691, 737, 750–751, 761–762, 776, 784–785, 815–816, 891–892, 895, 898–899, 905–907, 914, 914, 914–917, 952, 954–955, 955–956
umbra-js/src/utils
   cns.ts50%33.33%50%55%33–36, 40, 40, 40, 40, 40–41, 44–46
   constants.ts100%100%100%100%
   ens.ts36.11%25%33.33%40%25–27, 35, 56–57, 57, 57–58, 63–64, 66, 70, 70, 70, 70, 70–71, 75–77
   sharedSecret.ts83.05%72.73%100%87.88%24, 27–28, 42–43, 47–48, 62, 62–63
   utils.ts76.59%69.92%81.08%81.02%111–112, 1234–1235, 1247–1248, 137, 145, 145, 161–163, 165–167, 173, 195–196, 222–224, 224, 224–225, 225, 225, 246, 311, 314, 319, 323, 327, 337, 349–354, 356–363, 363, 363, 363, 363, 363, 363–364, 366, 376, 404, 415, 425–426, 433–434, 441, 451, 451–452, 452–453, 458, 488–489, 498–499, 519–521, 534–535, 539–540, 561–563, 572, 645, 652, 652–653, 653, 653–654, 654, 656, 660, 723, 725–726, 735, 735, 735–736, 738, 741, 750–751, 792, 809, 809, 809, 838, 860–862, 865, 875, 887, 887–888, 893, 895–896, 907–911, 924, 926, 977–978, 978, 978–980, 980, 980, 991
umbra-js/test
   testPrivateKeys.ts100%100%100%100%
   utils.ts100%100%100%100%

@marcomariscal marcomariscal left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looks good. Gary addressed the requested fallback/build-guard issue and added the preview/prod Ponder smoke test. I ran the smoke test against the Netlify preview and it passed.

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.

2 participants