feat: correlation ID middleware, share price chart, manifest generator, and wave contributor docs#618
Merged
edehvictor merged 1 commit intoMay 28, 2026
Conversation
…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
|
@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. |
|
@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! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR addresses four issues from the Stellar Wave contributor program:
X-Correlation-Idfrom 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.docs/contributor-guide.mdcovering issue claiming via comment template, branch/PR naming conventions, closing-keyword format, review expectations, and Drips points handling.GET /api/vaults/:vaultId/share-price-historybackend route (with deterministic fixture fallback when no DB is available) and aSharePriceChartReact component with 1M/3M/All range selectors, loading/empty/error/retry states, and a period delta summary line.contracts/scripts/generate-manifest.jsscript 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 updatedscripts/README.mdwith a post-deployment workflow.Changes by area
Backend (
server/)server/src/middleware/correlationId.ts— newcorrelationIdMiddleware; exportsgetCorrelationIdandgetRequestIdhelpersserver/src/middleware/requestLogger.ts— updated to logcorrelationIdalongsiderequestIdserver/src/routes/sharePriceHistory.ts— newGET /api/vaults/:vaultId/share-price-historyrouteserver/src/app.ts— registers both new middleware and routeserver/src/__tests__/correlationId.test.ts— 8 tests covering propagation, generation, validation, and header echoserver/src/__tests__/sharePriceHistory.test.ts— 7 tests covering fixture fallback, shape, pagination, and invalid param handlingFrontend (
client/)client/src/components/charts/SharePriceChart.tsx— chart component following the same pattern asApyHistoryChartclient/src/components/charts/__tests__/SharePriceChart.test.tsx— 7 tests covering loading, success, empty, error/retry, invalid-row handling, and range buttonsContracts (
contracts/)contracts/scripts/generate-manifest.js— manifest generator scriptcontracts/scripts/deployment-manifest.example.json— sample output fixturecontracts/scripts/README.md— documents manifest generator usage and post-deployment workflowcontracts/__tests__/generateManifest.test.ts— 7 tests covering valid manifest generation, invalid network, malformed IDs, missing input, empty IDs, all three networks, and timestamp formatDocs (
docs/)docs/contributor-guide.md— new "Stellar Wave" section (issue claiming, branch naming, PR linking, review expectations, Drips points)Type of Change
Verification Commands
npm run lint/npm run test(Frontend/Backend)cargo fmt/cargo clippy/cargo test(Smart Contracts)UI Snapshot Checklist
SharePriceChartis a new component added for use in vault detail viewsCloses
Closes #611
Closes #559
Closes #545
Closes #549