Labels: security, interoperability, priority:high
Body:
Problem
mint, burn, transfer, transfer_from, and approve in both wpi-token and (pre-removal) mock-usdc emit no events. Wallets, explorers, and any future indexer/relayer confirmation logic cannot observe token activity on-chain.
Proposed fix
Add env.events().publish(...) calls matching the conventional ("transfer", from, to), ("mint", admin, to), ("burn", admin, from), ("approve", from, spender) topic/data shape used by other Soroban token contracts, so block explorers (StellarExpert) and wallets render history correctly.
Acceptance criteria
Every state-mutating function emits an event
Event shape verified against StellarExpert/Freighter rendering on testnet
Labels: security, interoperability, priority:high
Body:
Problem
mint, burn, transfer, transfer_from, and approve in both wpi-token and (pre-removal) mock-usdc emit no events. Wallets, explorers, and any future indexer/relayer confirmation logic cannot observe token activity on-chain.
Proposed fix
Add env.events().publish(...) calls matching the conventional ("transfer", from, to), ("mint", admin, to), ("burn", admin, from), ("approve", from, spender) topic/data shape used by other Soroban token contracts, so block explorers (StellarExpert) and wallets render history correctly.
Acceptance criteria
Every state-mutating function emits an event
Event shape verified against StellarExpert/Freighter rendering on testnet