Repository navigation
feat: HSM relayer signer, bundle splitting, virtualized audit logs, MFE sandbox (#1574 #1573 #1571 #1570) - #1736
Merged
ayomideadeniran merged 2 commits intoOct 22, 2026
Conversation
…FE sandbox - BE-002 (StellarDevHub#1574): AWS KMS / Vault Transit Ed25519 signing engine with hash-chained audit records carrying the IAM/Vault request id; software signer restricted to development/test; relayer fee-bump service. - FE-050 (StellarDevHub#1573): next/dynamic boundaries for Monaco, ReactFlow and chart modules, async-only cache groups, deferred layout widgets, next/font, hover/focus prefetch for course links. - FE-048 (StellarDevHub#1571): react-window audit log grid with column resizing, multi-column sort, debounced search, JSON inspector and CSV export. - FE-047 (StellarDevHub#1570): sandboxed micro-frontend container with a typed, token-gated postMessage RPC bridge for signing and progress events. Closes StellarDevHub#1574 Closes StellarDevHub#1573 Closes StellarDevHub#1571 Closes StellarDevHub#1570 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@emmzy4tech is attempting to deploy a commit to the Ayomide Adeniran's projects Team on Vercel. A member of the Team first needs to authorize it. |
Contributor
|
Thank you for your contribution! This PR is currently under review. If I find any incorrect implementation or issues, I will leave comments on what needs to be adjusted next. |
|
@emmzy4tech 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.
Closes #1574
Closes #1573
Closes #1571
Closes #1570
BE-002 — AWS KMS & Vault HSM custodial relayer signer (#1574)
backend/src/services/kmsSignerService.ts: Ed25519 signing offloaded to AWS KMS (ECC_NIST_EDWARDS25519,ED25519_SHA_512RAW) or HashiCorp Vault Transit. Only the 32-byte transaction hash leaves the process; the private key never enters application memory. Every signature is verified against the custodial public key before use.request_id. Only SHA-256 digests are logged, never the payload or signature bytes.NODE_ENV=development|test. In production with no HSM configured, startup fails.backend/src/config/vault.ts: dependency-free Vault client (token / Kubernetes / AppRole auth, token caching, timeouts) plus a least-privilege policy template.backend/src/services/stellarService.ts: relayer service that fee-bumps, signs via the HSM, and submits envelopes. It refuses unsigned inner transactions and fees above the cap.backend/.env.example.FE-050 — Bundle splitting & CWV (#1573)
next/dynamic.splitChunkswith async-only cache groups for the heavy editor, canvas, chart and EVM/WASM libraries.next/fontreplaces the render-blocking Google Fonts stylesheet.optimizePackageImports.FE-048 — Virtualized audit log grid (#1571)
/admin/audit-logsusesVirtualizedLogTable(react-windowList): only the rows on screen are rendered. Columns resize and shift-click adds secondary sort columns.LogDetailModal: JSON payload inspector, rendered withoutdangerouslySetInnerHTML.FE-047 — Micro-frontend sandbox (#1570)
MicroFrontendContainer: iframe withsandbox="allow-scripts allow-same-origin", a restrictive Permissions Policy andno-referrer. Widgets on the host origin are rejected, because withallow-same-originthey could escape the sandbox.rpcBridge.ts: typedpostMessageRPC. Each message is checked for source window, exact origin, size, envelope shape, per-mount session token, rate limit, method allowlist, granted permission and valid params. Responses are posted only to the manifest origin, never*.Testing
backend/tests/kmsSignerService.test.ts,frontend/src/services/sandbox/__tests__/rpcBridge.test.tsandfrontend/src/hooks/__tests__/useAuditLogs.test.ts.node_moduleswere not installed locally, so the jest/vitest suites,tscandnext buildwere not run. Instead:npm testin both packages,next build+npm run check:bundle, and Lighthouse, to confirm the 180 kB / LCP / INP targets.🤖 Generated with Claude Code