Description:
To make the frontend indexer perfectly accurate without needing to replicate complex Soroban time-math in JavaScript, the contract should emit exact balances on every state-changing interaction.
Acceptance Criteria:
[ ] Update GrantPaused, GrantResumed, and GrantWithdrawn event definitions.
[ ] Include current_accrued_amount and remaining_total_funds in the payload for every event.
Labels: events, dx