Files affected (5+): Frontend/src/hooks/useVault.ts, Frontend/src/lib/stellar.ts, Frontend/src/lib/api.ts, Frontend/src/stores/index.ts, Frontend/src/types/index.ts, Frontend/src/features/vaults/CreateVault.tsx, Frontend/src/features/vaults/VaultList.tsx, Frontend/src/features/vaults/VaultDetail.tsx
Description: useVault generates random IDs and directly changes local balances without creating or confirming a Soroban transaction.
Acceptance criteria:
Create vaults and deposits through wallet-signed transactions.
Show pending, failed, and confirmed transaction states.
Refresh vault state from authoritative backend/chain sources.
Prevent duplicate submission and optimistic double counting.
Files affected (5+): Frontend/src/hooks/useVault.ts, Frontend/src/lib/stellar.ts, Frontend/src/lib/api.ts, Frontend/src/stores/index.ts, Frontend/src/types/index.ts, Frontend/src/features/vaults/CreateVault.tsx, Frontend/src/features/vaults/VaultList.tsx, Frontend/src/features/vaults/VaultDetail.tsx
Description: useVault generates random IDs and directly changes local balances without creating or confirming a Soroban transaction.
Acceptance criteria:
Create vaults and deposits through wallet-signed transactions.
Show pending, failed, and confirmed transaction states.
Refresh vault state from authoritative backend/chain sources.
Prevent duplicate submission and optimistic double counting.