Index events only from the configured pool and deployment block. A log counts only when its transaction receipt succeeded.

Value-flow events

Withdrawal is the settlement event and carries the nullifier. There is no separate spent-nullifier event and no withdrawal output commitment.

Tree events

An expired root leaves the deposit intact. Rebuild membership against a newer accepted root that still contains the same bundle commitment.

Fee and control events

When a flow is complete

For a deposit, match a successful receipt at the configured pool with CommitmentInserted for the prepared commitment, amount, payload, and leaf index. RootAccepted should identify that same commitment. For a withdrawal, match a successful receipt with the pool’s spent-nullifier mapping and one Withdrawal event containing the intended nullifier, destination, gross amount, net amount, fee, and payload. Completion requires a successful receipt and the expected event. If either is missing, keep the original request identity and reconcile before trying again.