Skip to content

feat: correlation ID middleware, share price chart, manifest generator, and wave contributor docs#618

Merged
edehvictor merged 1 commit into
edehvictor:mainfrom
Akanimoh12:feat/issues-611-559-545-549
May 28, 2026
Merged

feat: correlation ID middleware, share price chart, manifest generator, and wave contributor docs#618
edehvictor merged 1 commit into
edehvictor:mainfrom
Akanimoh12:feat/issues-611-559-545-549

Conversation

@Akanimoh12
Copy link
Copy Markdown
Contributor

Summary

This PR addresses four issues from the Stellar Wave contributor program:

  • Create Backend Request Correlation ID Middleware #611 — Backend request correlation ID middleware: reads X-Correlation-Id from incoming requests, generates a UUID when absent, and echoes both the correlation ID and a fresh per-hop request ID in response headers and structured logs.
  • Document How to Claim and Close Wave Issues #559 — Wave contributor documentation: new section in docs/contributor-guide.md covering issue claiming via comment template, branch/PR naming conventions, closing-keyword format, review expectations, and Drips points handling.
  • Create Historical Share Price Chart #545 — Historical share price chart: GET /api/vaults/:vaultId/share-price-history backend route (with deterministic fixture fallback when no DB is available) and a SharePriceChart React component with 1M/3M/All range selectors, loading/empty/error/retry states, and a period delta summary line.
  • Add Contract Deployment Manifest Generator #549 — Contract deployment manifest generator: contracts/scripts/generate-manifest.js script that produces a JSON manifest (contract IDs, network, commit SHA, timestamp) after each deployment run, with contract ID validation, registry cross-reference warnings, a sample fixture, and updated scripts/README.md with a post-deployment workflow.

Changes by area

Backend (server/)

  • server/src/middleware/correlationId.ts — new correlationIdMiddleware; exports getCorrelationId and getRequestId helpers
  • server/src/middleware/requestLogger.ts — updated to log correlationId alongside requestId
  • server/src/routes/sharePriceHistory.ts — new GET /api/vaults/:vaultId/share-price-history route
  • server/src/app.ts — registers both new middleware and route
  • server/src/__tests__/correlationId.test.ts — 8 tests covering propagation, generation, validation, and header echo
  • server/src/__tests__/sharePriceHistory.test.ts — 7 tests covering fixture fallback, shape, pagination, and invalid param handling

Frontend (client/)

  • client/src/components/charts/SharePriceChart.tsx — chart component following the same pattern as ApyHistoryChart
  • client/src/components/charts/__tests__/SharePriceChart.test.tsx — 7 tests covering loading, success, empty, error/retry, invalid-row handling, and range buttons

Contracts (contracts/)

  • contracts/scripts/generate-manifest.js — manifest generator script
  • contracts/scripts/deployment-manifest.example.json — sample output fixture
  • contracts/scripts/README.md — documents manifest generator usage and post-deployment workflow
  • contracts/__tests__/generateManifest.test.ts — 7 tests covering valid manifest generation, invalid network, malformed IDs, missing input, empty IDs, all three networks, and timestamp format

Docs (docs/)

  • docs/contributor-guide.md — new "Stellar Wave" section (issue claiming, branch naming, PR linking, review expectations, Drips points)

Type of Change

  • New feature (non-breaking change which adds functionality)
  • Documentation update

Verification Commands

  • npm run lint / npm run test (Frontend/Backend)
  • cargo fmt / cargo clippy / cargo test (Smart Contracts)

UI Snapshot Checklist

  • No visual changes to existing components — SharePriceChart is a new component added for use in vault detail views

Closes

Closes #611
Closes #559
Closes #545
Closes #549

…r, and wave contributor docs (edehvictor#611 edehvictor#545 edehvictor#549 edehvictor#559)

- Add correlationIdMiddleware that reads X-Correlation-Id from incoming requests, generates a UUID when absent, and echoes both the correlation ID and a fresh per-hop request ID back in response headers and structured logs (issue edehvictor#611)
- Expose GET /api/vaults/:vaultId/share-price-history route with deterministic fixture fallback; add SharePriceChart React component with 1M/3M/All range selector, empty/error/retry states, and period delta summary (issue edehvictor#545)
- Add generate-manifest.js script to produce a traceable deployment manifest (contract IDs, network, commit SHA, timestamp) with contract ID validation and registry cross-reference warnings; includes sample fixture and updated scripts/README (issue edehvictor#549)
- Extend docs/contributor-guide.md with a dedicated Stellar Wave section covering issue claiming, branch/PR naming, closing-keyword format, review expectations, and Drips points handling (issue edehvictor#559)

Closes edehvictor#611
Closes edehvictor#559
Closes edehvictor#545
Closes edehvictor#549
@vercel
Copy link
Copy Markdown

vercel Bot commented May 28, 2026

@Akanimoh12 is attempting to deploy a commit to the Edeh Victor's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented May 28, 2026

@Akanimoh12 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@edehvictor edehvictor merged commit 923f0a9 into edehvictor:main May 28, 2026
9 of 12 checks 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

2 participants