Skip to content

fix: resolve issues #116, #117, #118, #121 (Stellar Wave) - #226

Merged
LaGodxy merged 1 commit into
MettaChain:mainfrom
DanielCharis1:fix/issues-116-117-118-121
Apr 28, 2026
Merged

fix: resolve issues #116, #117, #118, #121 (Stellar Wave)#226
LaGodxy merged 1 commit into
MettaChain:mainfrom
DanielCharis1:fix/issues-116-117-118-121

Conversation

@DanielCharis1

@DanielCharis1 DanielCharis1 commented Apr 28, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes all four issues assigned to DanielCharis1 in a single PR.


#121 – Docs: Document smart contract integration points

Added docs/smart-contract-integration.md covering:

  • Contract addresses per network and env-var configuration
  • ABI file location and update process
  • Event listeners and their handlers (table + code example)
  • Transaction flow diagram (text)
  • Error code reference table
  • Security considerations

#118 – Optimize Tailwind CSS bundle with PurgeCSS

Tailwind v4 uses CSS-based config (no tailwind.config.js). Content scanning is built-in, but two gaps were addressed in src/app/globals.css:

  • Added explicit @source directive so the scanner covers all src/**/*.{ts,tsx} files.
  • Added @layer utilities safelist for runtime-constructed risk/severity colour classes (.text-risk-*, .bg-risk-*) that the static scanner cannot detect.

No visual regressions – only new utility classes were added.


#117 – Add comprehensive audit logging for security events

Extended SecurityAuditLogger in src/utils/security/auditLogger.ts with five new methods:

Method Event type
logAuthFailure auth_failure
logSettingsChange settings_change
logKycStatusChange kyc_status_change
logTransactionInitiation transaction_initiation
logTransactionCompletion transaction_completion

All five event types were also added to the AuditLogEntry.eventType union.


#116 – Implement proper loading states with React Suspense

  • Created src/components/PropertyPageSkeleton.tsx – skeleton that matches the properties page layout (already imported by /properties/page.tsx).
  • Added loading.tsx files for three routes (Next.js App Router automatic Suspense):
    • src/app/properties/loading.tsx
    • src/app/properties/[id]/loading.tsx
    • src/app/dashboard/loading.tsx
  • Error boundaries were already present via existing error.tsx files on each route.

Testing

  • TypeScript: no new errors introduced (npx tsc --noEmit – pre-existing errors are unrelated to this PR).
  • All new files are pure additions or additive changes to existing files.

Closes #116
closes #117
closes #118
closes #121

…ettaChain#121

- MettaChain#121: Add smart contract integration docs (docs/smart-contract-integration.md)
  covering contract addresses, ABI management, event listeners, transaction
  flow, error codes, and security considerations.

- MettaChain#118: Optimize Tailwind CSS bundle (Tailwind v4)
  Add explicit @source directive for static scanning and @layer utilities
  safelist for runtime-constructed risk/severity colour classes.

- MettaChain#117: Extend audit logging for all security events
  Add logAuthFailure, logSettingsChange, logKycStatusChange,
  logTransactionInitiation, and logTransactionCompletion methods to
  SecurityAuditLogger, covering all events listed in the issue.

- MettaChain#116: Add React Suspense loading states
  Create PropertyPageSkeleton component and loading.tsx files for
  /properties, /properties/[id], and /dashboard routes. Error boundaries
  were already present via error.tsx files.
@drips-wave

drips-wave Bot commented Apr 28, 2026

Copy link
Copy Markdown

@DanielCharis1 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

@LaGodxy
LaGodxy merged commit 26528aa into MettaChain:main Apr 28, 2026
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