Skip to content

fix: strict Stellar key validation in ConnectWalletDto + maintainer runbook#506

Merged
Eniola3321 merged 1 commit into
ANYTECHS:mainfrom
mogbonjubolaolasunkanmi-art:fix/issue-445-446-connect-wallet-dto-and-runbook
Jun 26, 2026
Merged

fix: strict Stellar key validation in ConnectWalletDto + maintainer runbook#506
Eniola3321 merged 1 commit into
ANYTECHS:mainfrom
mogbonjubolaolasunkanmi-art:fix/issue-445-446-connect-wallet-dto-and-runbook

Conversation

@mogbonjubolaolasunkanmi-art

Copy link
Copy Markdown
Contributor

Summary

Resolves two open issues in a single commit.

Closes #446[Wallet] Create ConnectWalletDto

Enhanced CreateWalletConnectionDto in src/wallets/dto/connect-wallet.dto.ts with strict Stellar public key validation and proof-of-ownership fields:

  • publicKey@Length(56, 56) + @Matches(/^G[A-Z2-7]{55}$/): enforces G-prefix, Base32 alphabet, exact 56-character length.
  • signature — required string; Base64-encoded wallet signature of the nonce.
  • signedMessage — required string; the plaintext nonce that was signed (proves key ownership).
  • Clear, actionable @ApiProperty descriptions for Swagger / frontend integration.

Closes #445Create Maintainer Runbook Documentation

Created docs/runbook.md covering:

  • Deployment — step-by-step (git pull → migrate → build → start), Docker setup, environment checklist, rollback procedure.
  • Monitoring/health, /metrics endpoint, key Prometheus metrics, recommended alert thresholds.
  • Queue recovery — all six BullMQ queues, inspecting/retrying failed jobs, clearing rate-limit counters, Soroban circuit-breaker reset.
  • Incident response — P1 (API down) through P5 (social posting failures) playbooks with root-cause checklist and resolution steps.
  • Useful commands reference table.

Testing

  • TypeScript compilation passes (pre-existing unrelated errors in nft-mint.service.spec.ts and earnings.service.ts are not introduced by this PR — confirmed by checking the base branch).
  • class-validator decorators are consistent with patterns used throughout the codebase (e.g. auth/dto/signup.dto.ts, nft/dto/mint-clip.dto.ts).

…iner runbook

Issue ANYTECHS#446: Add publicKey field (56-char G-prefix Base32), signature, and
signedMessage fields to CreateWalletConnectionDto with class-validator decorators.

Issue ANYTECHS#445: Create docs/runbook.md covering deployment steps, environment
checklist, monitoring endpoints/metrics, BullMQ queue recovery procedures,
and incident response playbooks for P1–P5 scenarios.

Closes ANYTECHS#446
Closes ANYTECHS#445
@drips-wave

drips-wave Bot commented Jun 24, 2026

Copy link
Copy Markdown

@mogbonjubolaolasunkanmi-art 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

@Eniola3321 Eniola3321 merged commit d3c81cc into ANYTECHS:main Jun 26, 2026
2 of 3 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

Development

Successfully merging this pull request may close these issues.

[Wallet] Create ConnectWalletDto Create Maintainer Runbook Documentation

2 participants