feat: implement #492 - Link successor key versions on rotation - #631
Closed
sommy92 wants to merge 2 commits into
Closed
feat: implement #492 - Link successor key versions on rotation#631sommy92 wants to merge 2 commits into
sommy92 wants to merge 2 commits into
Conversation
- Added keyVersion support to GenerateKeyRequest interface - generateKey now uses request.keyVersion ?? 1 instead of hardcoded 1 - rotateKey derives keyVersion = predecessor.keyVersion + 1 and passes it to generateKey - Successor wallet is created with explicit keyVersion from generated key material - Added missing EventEmitter2 and RequestContextService DI injection - Added event emissions for key.generated and key.signed events - Fixed EventEmitterModule import in KeyManagementModule - Added KeyValidationCacheService to module providers - Updated unit tests with key version linking test - Added keyVersion to mock data in test fixtures
|
@sommy92 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! 🚀 |
Issue #493: Clear private keys from orchestrator API responses - Added ResponseRedactionInterceptor to globally redact sensitive fields (privateKey, encryptedSecret, apiKey, token, etc.) from all API responses - Recursively scans nested objects and arrays for sensitive patterns - Added comprehensive unit tests (10 tests) Issue #495: Add request id propagation across services - Added RequestIdInterceptor to ensure every HTTP request has a unique x-request-id header propagated via AsyncLocalStorage/RequestContextService - Interceptor reads from header or generates UUID, sets response header, and bootstraps into context for downstream services - Added comprehensive unit tests (4 tests) Issue #707: Idempotent settlement on duplicate tradeId - Added Settlement Prisma model with unique tradeId constraint - Created SettlementModule with service and controller for idempotent settlement processing using tradeId as idempotency key - Service handles race conditions (P2002) with cache fallback + direct DB lookup - Added comprehensive unit tests (9 tests) Misc: - Updated Wallet model with sentSettlements/receivedSettlements relations - Registered global interceptors (RequestIdInterceptor, ResponseRedactionInterceptor) and SettlementModule in AppModule
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.
This PR
Closes #492