## What's new ### API module additions - ProtocolParameters: data class for fee calculation params - PaymentRequest: transaction request model - SignedTransaction: signed transaction result model - TransactionBuilder: interface for building/signing transactions - PaymentStatusPoller: interface for polling tx confirmation ### CardanoClient updates - Added getProtocolParameters() to interface - Implemented in KoiosCardanoClient with retry logic ### Implementation - DefaultTransactionBuilder: builds and signs transactions using cardano-client-lib - Largest-first UTXO selection - Fee calculation via protocol parameters - Min UTXO validation (1 ADA minimum) - Secure key handling (zeroed after use) - DefaultPaymentStatusPoller: polls Koios for tx confirmation - 10s polling interval, 60 attempts max (~10 minutes) - Emits TxStatus.PENDING -> CONFIRMED/FAILED flow ### Test module - FakeTransactionBuilder: configurable success/failure responses - FakePaymentStatusPoller: configurable status sequences - Updated FakeCardanoClient with getProtocolParameters() ### Unit tests - TransactionBuilderTest: UTXO selection, fee calculation, error handling - PaymentStatusPollerTest: polling behavior, error recovery |
||
|---|---|---|
| .. | ||
| src/main | ||
| build.gradle.kts | ||