Skip to content

feat: harden ExecuteTransaction verification (#304)#306

Merged
jorgecuesta merged 2 commits into
stagingfrom
feature/execute-tx-verify-hardening
Jun 10, 2026
Merged

feat: harden ExecuteTransaction verification (#304)#306
jorgecuesta merged 2 commits into
stagingfrom
feature/execute-tx-verify-hardening

Conversation

@miguel502

Copy link
Copy Markdown
Contributor
  • ExecutePendingTransactions now schedules children with bounded concurrency (pLimit) + Promise.allSettled instead of a serial await loop, so one slow tx no longer blocks the rest. Matches the SupplierStatus pattern.

  • A START_TO_CLOSE verify timeout is now classified as inconclusive (own verifyTimedOut flag

  • distinct log line) rather than an unexpected verification error, keeping it distinguishable from a genuine not-found. for triage.
  • getTransactionFromBlock clamps the scan window to the chain head (skips future/never-produced heights) and fetches candidate blocks in parallel with a bounded worker pool (BLOCK_SCAN_CONCURRENCY) to cap the per-scan RPC burst.

- ExecutePendingTransactions now schedules children with bounded concurrency (pLimit) +
Promise.allSettled instead of a serial await loop, so one slow tx no longer blocks the
rest. Matches the SupplierStatus pattern.

- A START_TO_CLOSE verify timeout is now classified as inconclusive (own verifyTimedOut flag
+ distinct log line) rather than an unexpected verification error, keeping it
distinguishable from a genuine not-found. for triage.

- getTransactionFromBlock clamps the scan window to the chain head (skips
future/never-produced heights) and fetches candidate blocks in parallel with a bounded
worker pool (BLOCK_SCAN_CONCURRENCY) to cap the per-scan RPC burst.
Align with the SupplierStatus/SupplierRemediation pattern: tolerate a
partial failure (one bad tx must not block the rest) but surface a
WorkflowError when every scheduled child failed, so a systemic problem
(RPC/DB down) no longer completes green. Guard the empty-batch case
where every() over [] would vacuously throw. Also fix the stray
unindented results line.
@jorgecuesta jorgecuesta added the release Trigger staging deploy on merge to staging label Jun 10, 2026
@jorgecuesta jorgecuesta merged commit f7c9c29 into staging Jun 10, 2026
7 checks passed
@jorgecuesta jorgecuesta deleted the feature/execute-tx-verify-hardening branch June 10, 2026 17:53
@github-actions github-actions Bot mentioned this pull request Jun 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release Trigger staging deploy on merge to staging

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants