π Description
services/transaction-builder.ts declares the ITransactionBuilder interface (buildEmergencyTransfer β XDR, calculateEmergencyFee), but there is no production implementation wired to @stellar/stellar-sdk. The emergency-transfer UI (components/Dashboard/EmergencyTransferModal.tsx and app/emergency-transfer/page.tsx) therefore cannot produce a real signable transaction.
This issue implements a concrete builder that constructs a payment transaction (native or asset+issuer), supports an optional memo, applies an emergency fee multiplier, and returns base64 XDR.
Why this matters: the modal collects amount, speed, and recipient but produces nothing to sign β the feature is presentational until a real builder exists.
π― Requirements & Context
Functional requirements
Context & constraints
π οΈ Suggested Execution
git checkout -b feature/transaction-builder-impl
- Implement + TSDoc each method.
- vitest unit tests: valid native build, asset build, memo too long rejected, fee multiplier correctness, invalid destination rejected.
npx vitest run && npx tsc --noEmit && npm run lint
feat(services): implement stellar-sdk TransactionBuilder for emergency transfers
β
Acceptance Criteria & Guidelines
| Requirement |
Target |
ITransactionBuilder fully implemented |
Required |
| Returns valid base64 XDR |
Required |
| Memo + amount + address validation |
Required |
| Test coverage |
β₯ 90% |
tsc --noEmit, lint clean |
Required |
| Timeframe |
96 hours from assignment |
π¬ Community & Support
Join the RemitWise contributor community on Discord: https://discord.gg/CtQuPZFMA
Comment to claim and ask questions in the channel. π
π Description
services/transaction-builder.tsdeclares theITransactionBuilderinterface (buildEmergencyTransferβ XDR,calculateEmergencyFee), but there is no production implementation wired to@stellar/stellar-sdk. The emergency-transfer UI (components/Dashboard/EmergencyTransferModal.tsxandapp/emergency-transfer/page.tsx) therefore cannot produce a real signable transaction.This issue implements a concrete builder that constructs a payment transaction (native or asset+issuer), supports an optional memo, applies an emergency fee multiplier, and returns base64 XDR.
π― Requirements & Context
Functional requirements
services/transaction-builder-service.ts, which already exists as a stub) ofITransactionBuilder.TransactionBuilderpayment op withAsset.native()ornew Asset(code, issuer)and serialize to XDR.calculateEmergencyFee(emergency vs regular) returning a string.Context & constraints
lib/contracts/network-resolution.ts/lib/config/stellar.ts.π οΈ Suggested Execution
β Acceptance Criteria & Guidelines
ITransactionBuilderfully implementedtsc --noEmit,lintclean㪠Community & Support
Join the RemitWise contributor community on Discord: https://discord.gg/CtQuPZFMA
Comment to claim and ask questions in the channel. π