Description:
While Soroban restricts some reentrancy natively, complex cross-contract calls (like staking unvested tokens or interacting with a DeFi protocol during a claim hook) could still open vectors for logical reentrancy.
Acceptance Criteria:
[ ] Create a malicious mock contract that attempts to call revoke() or create_vault() while inside a claim() callback.
[ ] Ensure the contract safely traps the error or relies on strict CEI (Checks-Effects-Interactions) to prevent state corruption.
Labels: testing, securit