bug: Monitor & Review hashes show Pending status even when complete or failed #47
Labels
No labels
agent:implement
agent:ready
backend
bug
cannot-reproduce
confirmed
desktop
docs
documentation
duplicate
enhancement
feature
frontend
good first issue
help wanted
high-risk
in-review
invalid
mobile
needs-triage
P0-critical
P1-high
P2-medium
P3-low
qa
QA
question
ready
report
responsive
security
security-escalate
smart-contract
solana
tablet
test-pass
ux
wallet-issue
wallet:keplr
wallet:metamask
wallet:station
wallet:walletconnect
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
code/cl8y-bridge-monorepo#47
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Frontend Bug Report
Issue Title
Environment
Steps to Reproduce
/verify)Expected Behavior
Actual Behavior
Severity
Evidence (screenshots / recordings)
Console Errors (if available)
Transaction Hash (if applicable)
Source
Fix committed:
f71db17fix: resolve execution status for deposit-only hashes in Monitor & ReviewChanges in this commit:
packages/frontend/src/services/hashMonitor.ts— After the initial deposit/withdraw merge phase, a new resolution step queriesgetPendingWithdraw(hash)on EVM destination chains andpending_withdrawon Cosmos destination chains to populateexecuted/cancelled/approvedflags for deposit-only entries. Previously these entries always showed PENDING because EVM executed withdrawals are removed fromgetPendingWithdrawHashes(the enumerable set) and deposit events carry no execution flags. The mapping data (pendingWithdraws[hash]) is still available and now queried directly.packages/contracts-terraclassic/bridge/src/query.rs— Added TODO comment onquery_pending_withdrawalsto remove executed/cancelled entries fromPENDING_WITHDRAWSstorage in a future update (mirroring EVM's_pendingWithdrawHashes.remove()).This should resolve the remaining 40/42 hashes that were still showing PENDING in the All view. Leaving issue open for QA verification.
Ready to verify in 0.1.54+
@brouieIf verified please close, otherwise comment remaining outstanding problemsassigned to @Brouie
Reminder: New transactions correctly show VERIFIED status. 32 older hashes still show PENDING. The inferStatus fix works for entries with executed=true flag, but the monitor fetch does not populate executed flag for older entries. May need a one-time re-check of old hashes against on-chain state.
mentioned in commit
2dc9c8fe80Fix pushed:
fix/issue-47-pending-hash-recheck(2dc9c8f)fix: periodic recheck of pending hashes and mark invalid as not-foundRoot cause: the monitor fetched hashes on page load and resolved execution status only for entries with a known
destChainBytes4. Older deposits (and entries without destination metadata) were never rechecked, so they stayed PENDING even after the withdrawal was executed on-chain.Changes
hashMonitor.ts—resolveDepositExecutionStatusnow brute-forces all configured chains (BSC, opBNB, Terra) for entries missingdestChainBytes4. NewrecheckPendingHashes()export queries every chain for a list of pending hashes and returns execution/cancellation status or anotFoundflag.useHashMonitor.ts— Added a 30-second periodic interval that callsrecheckPendingHashes()for all hashes still showing PENDING. Updates are applied in-place without a full page refetch. Hashes not found on any chain are marked asunknown(displayed as "Not Found").HashMonitorSection.tsx— Added a "Not Found" filter tab. Refresh button shows "Rechecking…" during background checks.This should resolve all 32 remaining PENDING hashes — they will auto-update to VERIFIED within one recheck cycle (≤30s) after page load.
@brouie Please verify on the deployed build:
If verified, please close the issue.
Verified on deployed build (2026-03-13):
[✓] Previously-stuck PENDING hashes now show VERIFIED — all 32 resolved
[✓] Recent transfers (BSC→Terra, Terra→BSC, Terra→opBNB from 3/12) show correct lifecycle
[✓] Not Found filter tab present and functional
[✓] No regressions on Verify page
All hashes showing VERIFIED. Fix confirmed working.
mentioned in issue #55
mentioned in merge request !143