Skip to content

fix: resolve issues #891, #892, #893, #894 - #994

Open
ahmadadebayo78-boop wants to merge 1 commit into
WHEELBACK:mainfrom
ahmadadebayo78-boop:fix/issues-891-892-893-894
Open

ahmadadebayo78-boop wants to merge 1 commit into
WHEELBACK:mainfrom
ahmadadebayo78-boop:fix/issues-891-892-893-894

Conversation

@ahmadadebayo78-boop

Copy link
Copy Markdown
Contributor

#893 — compliance.ts: import cacheDelete and call it after both /compliance/allow and /compliance/block succeed so the stale compliance:status:{address} cache entry is evicted immediately.

#891 — treasury.ts: after executeSettlementWithBalanceCheck returns a confirmed tx_hash, updateOne the settlement document to status=Executed + executed_tx_hash so it no longer stays Pending.

#894 — treasury.ts: remove the try/catch that swallowed errors from executeSettlementWithBalanceCheck and re-emitted them as HTTP 4xx/5xx JSON responses — this masked FAILED contract transactions as apparent successes. Errors now propagate through asyncHandler to the central error middleware. Also replace the broken res.locals.logger reference in the standalone helper function with the module-level logger import.

#892 — invoices.ts: before calling createInvoice, look up the most recent compliance audit record for the merchant address; if the latest event is address_blocked, throw a 403 ForbiddenError so compliance- rejected addresses cannot initiate invoice payments. Adds the missing requireMerchantApiKey import and ForbiddenError / compliance collection imports required by this guard.

.gitignore: add *.orig, *.bak, *.rej, .node_repl_history, Thumbs.db:encryptable, ehthumbs.db, Desktop.ini, Python pycache and bytecode patterns.

Pull Request

Summary

  • Describe the purpose of this PR in one or two sentences.

Checklist

  • PR description includes: Closes #[issue_id]
  • Tests added or updated
  • ABI snapshot updated if contract sources changed (abis/ and COMEBACKHERE-contracts/)
  • Screenshots attached if UI changed
  • Documentation updated if needed

Notes

…LBACK#894

WHEELBACK#893 — compliance.ts: import cacheDelete and call it after both
/compliance/allow and /compliance/block succeed so the stale
compliance:status:{address} cache entry is evicted immediately.

WHEELBACK#891 — treasury.ts: after executeSettlementWithBalanceCheck returns
a confirmed tx_hash, updateOne the settlement document to
status=Executed + executed_tx_hash so it no longer stays Pending.

WHEELBACK#894 — treasury.ts: remove the try/catch that swallowed errors from
executeSettlementWithBalanceCheck and re-emitted them as HTTP 4xx/5xx
JSON responses — this masked FAILED contract transactions as apparent
successes. Errors now propagate through asyncHandler to the central
error middleware. Also replace the broken res.locals.logger reference
in the standalone helper function with the module-level logger import.

WHEELBACK#892 — invoices.ts: before calling createInvoice, look up the most
recent compliance audit record for the merchant address; if the latest
event is address_blocked, throw a 403 ForbiddenError so compliance-
rejected addresses cannot initiate invoice payments. Adds the missing
requireMerchantApiKey import and ForbiddenError / compliance collection
imports required by this guard.

.gitignore: add *.orig, *.bak, *.rej, .node_repl_history,
Thumbs.db:encryptable, ehthumbs.db, Desktop.ini, Python __pycache__
and bytecode patterns.
@drips-wave

drips-wave Bot commented Oct 19, 2026

Copy link
Copy Markdown

@ahmadadebayo78-boop 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant