-
Step 1: Inspect
contract/src/batch.rsto confirm the Sorobanbatch_chargeentrypoint signature and emitted events. -
Step 2: Implement
buildBatchChargeTx+simulateBatchChargeinfrontend/src/stellar.tsmatching the contract signature. -
Step 3: Update
frontend/src/components/MerchantDashboard.tsx:- Filter due subscribers (
nextChargeAtin the past) - Add “Charge due subscribers” button enabled only when due exist
- Submit via
useTransaction - After confirmation, parse events from the confirmed tx and show per-subscriber Charged/Skipped/Failed
- Filter due subscribers (
-
Step 4: Update
frontend/src/__tests__/MerchantDashboard.test.tsxto cover button enabled/disabled and results rendering (mock event parsing + tx submission). -
Step 5: Run frontend tests (
cd frontend && npm test) and fix any issues.