fix: display oracle router activity events - #774
Conversation
|
🚅 Deployed to the euler-lite-pr-774 environment in euler-lite(dev,PR previews)
|
Resolve oracle route assets into a compact pair summary while preserving linked addresses in expanded details. Use semantic labels for oracle router governance events.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: euler-xyz/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (4)
📝 WalkthroughWalkthroughActivity formatting now supports EVK oracle events, asset pairs, token symbols, resolved vaults, and address fallbacks. Activity rows render summaries and avatars for collapsed and expanded address details. The Euler SDK dependency is updated to 1.2.5. ChangesActivity display enhancements
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint install timed out. The project may have too many dependencies for the sandbox. Comment |
Lead 'Resolved vault updated' events with the resolved vault link so the collapsed row shows the named vault instead of a raw asset address, and resolve the asset field into its token symbol with an asset icon, matching the oracle route display.
Vault-typed change fields the registry cannot resolve — e.g. a non-Euler ERC-4626 configured as a router resolved vault — previously rendered as a shortened address linking to a dead internal vault page. Fall back to the token symbol (lazily read on-chain) with an explorer link instead.
Vault-typed activity change fields previously ran every address through the registry's on-chain fetch fallback, which probes unknown contracts as securitize/EVK vaults. Check the SDK vault resolver (factory-membership backed) first: addresses it does not recognize as Euler vaults skip the registry fetch and deterministically render as their raw token symbol, falling back to the shortened address.
…d-vault-asset-name-f5eb91
Brings the normalized oracle-router activity event types the Activity display references, fixing typecheck against the published SDK.
There was a problem hiding this comment.
Review summary
No high-severity DeFi, security, or stack defects found. This PR is display-only: it allowlists EulerRouter governance events in the EVK Activity feed, formats oracle asset pairs / resolved vaults, and gates registry fetches on SDK factory membership so non-Euler ERC-4626 resolved vaults do not get dead internal vault links.
Reviewed: utils/activity-display.ts, components/entities/activity/ActivityEventRow.vue, tests/utils/activity-display.test.ts, SDK bump @eulerxyz/euler-v2-sdk 1.2.4 → 1.2.5 · Traced beyond the diff: fetchVaultCategory / useVaultRegistry.getOrFetch / resolveUnknown, useTokenSymbolResolver, ActivityAddress.vue linkKind routing, useActivityFeed display allowlist path · Protocol skills consulted: euler-irm-oracles
Not flagged
- Factory-membership gating before
getOrFetchintentionally skipsresolveUnknown’s securitize/EVault fallback for unclassified addresses; that prevents bogus registry entries and dead/lend/...links for external resolved vaults, at the cost of explorer-only labeling when SDK metadata is temporarilyUnknown. - No fund-moving flows, approvals, geo/screening/terms gates, secrets, or
v-htmlsinks were introduced; token symbols render via text interpolation / avatar labels. - Preferring upstream
event.labelover local normalized labels is the pre-existingformatActivityEventLabelcontract and was not newly weakened here.
Sent by Cursor Automation: Lite PR Reviewer
LeonardEulerXYZ
left a comment
There was a problem hiding this comment.
Reviewed exact head 9ef588753195df5bfbda99b070feb182138d0fef.
No blocking findings.
Validation performed:
- reviewed the complete five-file diff and the affected activity feed, address-label, token-symbol, vault-registry, and SDK query paths
- compared installed SDK 1.2.4 → 1.2.5: only the package version and four activity event constants/types changed; no new runtime code, scripts, or dependencies
- focused activity-display suite: 33/33 passed
- full local suite under Node 24/npm 11: 169 files passed, 1 skipped; 1,612 tests passed, 1 skipped
- local lint: 0 errors (6 unrelated pre-existing warnings); typecheck and production build passed
- headed Railway preview smoke on desktop and mobile against Monad eAUSD-20: governance-only filtering,
USD / PT-AUSD-8OCT2026labeling, oracle/router expansion, cursor pagination, and resolved-vault labeling all rendered correctly - GitHub CI, CodeRabbit, Cursor review, and Railway preview checks are green
The only failed browser request was optional WalletConnect telemetry (pulse.walletconnect.org, 403); app/API/RPC requests and page runtime were clean.
|
Post-merge follow-up from delayed independent review: Medium — token-symbol cache is not safely scoped across network changes
Impact is display correctness rather than transaction execution, but these rows describe oracle governance state, so cross-chain mislabeling is material enough to fix. Suggested fresh remediation PR:
A second async path at This arrived after merge, so it could not supersede the approval in time. |


Summary
Changes
Oracle route updatedandOracle governor updated.asset0andasset1symbols into one compactAsset pairsummary, with both explorer-linked addresses available when expanded.Resolved vault updatedentries with the resolved vault link and decode the asset address into its token symbol with an icon.Test plan
AUSD / PT-AUSD-8OCT2026on the target Monad vault.Summary by CodeRabbit