Context
On-chain Soroban transactions (subscription charges, credit transfers, SLA claims) can fail due to insufficient gas, contract state, or auth errors, wasting fees and causing poor UX.
Current Limitation/Problem
Transactions are submitted without simulation. Users pay fees for failed transactions and get cryptic error messages.
Expected Outcome
Pre-submission transaction simulation using Soroban simulation API: validate gas, auth requirements, predicted state changes, and expected results before wallet signature.
Acceptance Criteria
Technical Scope
- backend/simulation/ - new domain module
- backend/simulation/connectors/ - Soroban RPC simulation client
- mobile/app/services/ - TransactionSimulationService
- mobile/app/components/ - SimulationResultSheet (bottom sheet component)
- contracts/simulation/ - helper contract for dry-run state access
Context
On-chain Soroban transactions (subscription charges, credit transfers, SLA claims) can fail due to insufficient gas, contract state, or auth errors, wasting fees and causing poor UX.
Current Limitation/Problem
Transactions are submitted without simulation. Users pay fees for failed transactions and get cryptic error messages.
Expected Outcome
Pre-submission transaction simulation using Soroban simulation API: validate gas, auth requirements, predicted state changes, and expected results before wallet signature.
Acceptance Criteria
Technical Scope