Index
All Classes and Interfaces|All Packages
A
- Architecture - Search tag in class xyz.tcheeric.cashu.voucher.app.VoucherService
- Section
B
- backup(List<SignedVoucher>, String) - Method in class xyz.tcheeric.cashu.voucher.app.VoucherService
-
Backs up vouchers to private user storage.
- backup(List<SignedVoucher>, String) - Method in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherBackupPort
-
Backs up a list of vouchers to private user storage.
- backupAll(List<StoredVoucher>, String) - Method in class xyz.tcheeric.cashu.voucher.app.VoucherBackupService
-
Backs up all vouchers regardless of their backup status.
- backupIfNeeded(List<StoredVoucher>, String) - Method in class xyz.tcheeric.cashu.voucher.app.VoucherBackupService
-
Backs up vouchers that need backing up (incremental backup).
- Backup Strategy - Search tag in class xyz.tcheeric.cashu.voucher.app.VoucherBackupService
- Section
C
- Concurrency Safety - Search tag in class xyz.tcheeric.cashu.voucher.app.VoucherRedemptionService
- Section
D
- deleteBackups(String) - Method in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherBackupPort
-
Deletes all backups for the given user.
- Design Principles - Search tag in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherBackupPort
- Section
- Design Principles - Search tag in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherLedgerPort
- Section
E
- equals(Object) - Method in record class xyz.tcheeric.cashu.voucher.app.ports.VoucherRedemptionPort.RedemptionRecord
-
Indicates whether some other object is "equal to" this one.
- Example Usage - Search tag in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherBackupPort
- Section
- Example Usage - Search tag in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherLedgerPort
- Section
- exists(String) - Method in class xyz.tcheeric.cashu.voucher.app.VoucherService
-
Checks if a voucher exists in the public ledger.
- exists(String) - Method in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherLedgerPort
-
Checks if a voucher exists in the ledger.
F
- failure(String) - Static method in class xyz.tcheeric.cashu.voucher.app.MerchantVerificationService.VerificationResult
-
Creates a failed verification result with a single error.
- failure(String) - Static method in class xyz.tcheeric.cashu.voucher.app.dto.RedeemVoucherResponse
-
Creates a failed redemption response.
- failure(String, String) - Static method in class xyz.tcheeric.cashu.voucher.app.dto.RedeemVoucherResponse
-
Creates a failed redemption response with error code.
- failure(List<String>) - Static method in class xyz.tcheeric.cashu.voucher.app.MerchantVerificationService.VerificationResult
-
Creates a failed verification result with multiple errors.
- fingerprint() - Method in record class xyz.tcheeric.cashu.voucher.app.ports.VoucherRedemptionPort.RedemptionRecord
-
Returns the value of the
fingerprintrecord component. - from(String, VoucherPaymentRequest) - Static method in class xyz.tcheeric.cashu.voucher.app.dto.GeneratePaymentRequestResponse
-
Creates a successful response from an encoded request and parsed object.
- from(SignedVoucher) - Static method in class xyz.tcheeric.cashu.voucher.app.dto.StoredVoucher
-
Creates a StoredVoucher from a SignedVoucher with current timestamp.
- from(SignedVoucher, String) - Static method in class xyz.tcheeric.cashu.voucher.app.dto.StoredVoucher
-
Creates a StoredVoucher with a user label.
G
- generatePaymentRequest(GeneratePaymentRequestDTO) - Method in class xyz.tcheeric.cashu.voucher.app.VoucherService
-
Generates a NUT-18V VoucherPaymentRequest for receiving voucher payments.
- GeneratePaymentRequestDTO - Class in xyz.tcheeric.cashu.voucher.app.dto
-
Request DTO for generating a NUT-18V VoucherPaymentRequest.
- GeneratePaymentRequestDTO() - Constructor for class xyz.tcheeric.cashu.voucher.app.dto.GeneratePaymentRequestDTO
- GeneratePaymentRequestResponse - Class in xyz.tcheeric.cashu.voucher.app.dto
-
Response DTO for generating a NUT-18V VoucherPaymentRequest.
- GeneratePaymentRequestResponse() - Constructor for class xyz.tcheeric.cashu.voucher.app.dto.GeneratePaymentRequestResponse
- getAmount() - Method in class xyz.tcheeric.cashu.voucher.app.dto.IssueVoucherResponse
-
The face value of the voucher (convenience accessor).
- getAmount() - Method in class xyz.tcheeric.cashu.voucher.app.dto.RedeemVoucherResponse
-
The amount redeemed (convenience accessor from voucher if not set directly).
- getAmount() - Method in class xyz.tcheeric.cashu.voucher.app.dto.StoredVoucher
-
Convenience accessor for face value.
- getErrorMessage() - Method in class xyz.tcheeric.cashu.voucher.app.MerchantVerificationService.VerificationResult
-
Gets a formatted error message.
- getErrors() - Method in class xyz.tcheeric.cashu.voucher.app.MerchantVerificationService.VerificationResult
-
Gets an unmodifiable view of the errors.
- getExpiresAt() - Method in class xyz.tcheeric.cashu.voucher.app.dto.StoredVoucher
-
Convenience accessor for expiry.
- getMaxExpiryDays() - Method in class xyz.tcheeric.cashu.voucher.app.VoucherIssuanceService
-
Gets the maximum allowed expiry in days.
- getMaxVoucherAmount() - Method in class xyz.tcheeric.cashu.voucher.app.VoucherIssuanceService
-
Gets the maximum allowed voucher amount.
- getRedemption(String) - Method in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherRedemptionPort
-
Retrieves redemption details for a fingerprint.
- getRedemptionRecord(SignedVoucher) - Method in class xyz.tcheeric.cashu.voucher.app.VoucherRedemptionService
-
Gets redemption details for a voucher.
- getUnit() - Method in class xyz.tcheeric.cashu.voucher.app.dto.IssueVoucherResponse
-
The currency unit (convenience accessor).
- getUnit() - Method in class xyz.tcheeric.cashu.voucher.app.dto.RedeemVoucherResponse
-
The currency unit (convenience accessor from voucher if not set directly).
- getUnit() - Method in class xyz.tcheeric.cashu.voucher.app.dto.StoredVoucher
-
Convenience accessor for unit.
- getVoucherId() - Method in class xyz.tcheeric.cashu.voucher.app.dto.IssueVoucherResponse
-
The unique voucher identifier (convenience accessor).
- getVoucherId() - Method in class xyz.tcheeric.cashu.voucher.app.dto.RedeemVoucherResponse
-
The voucher ID (convenience accessor from voucher if not set directly).
- getVoucherId() - Method in class xyz.tcheeric.cashu.voucher.app.dto.StoredVoucher
-
Convenience accessor for voucher ID.
H
- hasBackups(String) - Method in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherBackupPort
-
Checks if backups exist for the given user.
- hashCode() - Method in record class xyz.tcheeric.cashu.voucher.app.ports.VoucherRedemptionPort.RedemptionRecord
-
Returns a hash code value for this object.
- Hexagonal Architecture - Search tag in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherBackupPort
- Section
- Hexagonal Architecture - Search tag in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherLedgerPort
- Section
- Hexagonal Architecture - Search tag in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherRedemptionPort
- Section
I
- Implementation Notes - Search tag in xyz.tcheeric.cashu.voucher.app.ports.VoucherBackupPort.backup(List<SignedVoucher>, String)
- Section
- Implementation Notes - Search tag in xyz.tcheeric.cashu.voucher.app.ports.VoucherBackupPort.restore(String)
- Section
- isExpired() - Method in class xyz.tcheeric.cashu.voucher.app.dto.StoredVoucher
-
Checks if the voucher is expired.
- isRedeemed(String) - Method in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherRedemptionPort
-
Checks if a voucher fingerprint has already been redeemed.
- isRedeemed(SignedVoucher) - Method in class xyz.tcheeric.cashu.voucher.app.VoucherRedemptionService
-
Checks if a voucher has been redeemed based on its fingerprint.
- isStatusStale(long) - Method in class xyz.tcheeric.cashu.voucher.app.dto.StoredVoucher
-
Checks if the cached status is stale (older than threshold).
- issue(IssueVoucherRequest) - Method in class xyz.tcheeric.cashu.voucher.app.VoucherService
-
Issues a new voucher.
- issueVoucher(IssueVoucherRequest) - Method in class xyz.tcheeric.cashu.voucher.app.VoucherIssuanceService
-
Issues a new voucher with policy enforcement.
- IssueVoucherRequest - Class in xyz.tcheeric.cashu.voucher.app.dto
-
Request DTO for issuing a new voucher.
- IssueVoucherRequest() - Constructor for class xyz.tcheeric.cashu.voucher.app.dto.IssueVoucherRequest
- IssueVoucherResponse - Class in xyz.tcheeric.cashu.voucher.app.dto
-
Response DTO for voucher issuance.
- IssueVoucherResponse() - Constructor for class xyz.tcheeric.cashu.voucher.app.dto.IssueVoucherResponse
M
- markBackedUp() - Method in class xyz.tcheeric.cashu.voucher.app.dto.StoredVoucher
-
Marks the voucher as backed up (sets lastBackupAt to now).
- markRedeemed(String) - Method in class xyz.tcheeric.cashu.voucher.app.MerchantVerificationService
-
Marks a voucher as redeemed in the ledger.
- MerchantVerificationService - Class in xyz.tcheeric.cashu.voucher.app
-
Service for merchant-side voucher verification and redemption (Model B).
- MerchantVerificationService(VoucherLedgerPort) - Constructor for class xyz.tcheeric.cashu.voucher.app.MerchantVerificationService
-
Constructs a MerchantVerificationService.
- MerchantVerificationService.VerificationResult - Class in xyz.tcheeric.cashu.voucher.app
-
Result of voucher verification.
- Model B Constraint - Search tag in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherLedgerPort
- Section
- Model B Enforcement - Search tag in class xyz.tcheeric.cashu.voucher.app.VoucherRedemptionService
- Section
N
- needsBackup() - Method in class xyz.tcheeric.cashu.voucher.app.dto.StoredVoucher
-
Checks if the voucher needs backup.
P
- processPaymentPayload(VoucherPaymentPayload, VoucherPaymentRequest) - Method in class xyz.tcheeric.cashu.voucher.app.MerchantVerificationService
-
Validates a NUT-18V payment payload structure against the original request.
- publish(SignedVoucher, VoucherStatus) - Method in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherLedgerPort
-
Publishes a voucher to the public ledger with the given status.
Q
- queryStatus(String) - Method in class xyz.tcheeric.cashu.voucher.app.VoucherService
-
Queries the current status of a voucher from the public ledger.
- queryStatus(String) - Method in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherLedgerPort
-
Queries the current status of a voucher from the ledger.
- queryVoucher(String) - Method in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherLedgerPort
-
Queries the full voucher details from the ledger.
R
- redeem(RedeemVoucherRequest, SignedVoucher) - Method in class xyz.tcheeric.cashu.voucher.app.MerchantVerificationService
-
Redeems a voucher (verify + mark as redeemed).
- redeem(SignedVoucher, String, boolean) - Method in class xyz.tcheeric.cashu.voucher.app.VoucherRedemptionService
-
Attempts to redeem a voucher with duplicate protection.
- redeem(SignedVoucher, String) - Method in class xyz.tcheeric.cashu.voucher.app.VoucherRedemptionService
-
Convenience method for redeeming with default online verification.
- redeemedAt() - Method in record class xyz.tcheeric.cashu.voucher.app.ports.VoucherRedemptionPort.RedemptionRecord
-
Returns the value of the
redeemedAtrecord component. - redeemedBy() - Method in record class xyz.tcheeric.cashu.voucher.app.ports.VoucherRedemptionPort.RedemptionRecord
-
Returns the value of the
redeemedByrecord component. - RedeemVoucherRequest - Class in xyz.tcheeric.cashu.voucher.app.dto
-
Request DTO for redeeming a voucher (Model B - merchant side).
- RedeemVoucherRequest() - Constructor for class xyz.tcheeric.cashu.voucher.app.dto.RedeemVoucherRequest
- RedeemVoucherResponse - Class in xyz.tcheeric.cashu.voucher.app.dto
-
Response DTO for voucher redemption.
- RedeemVoucherResponse() - Constructor for class xyz.tcheeric.cashu.voucher.app.dto.RedeemVoucherResponse
- RedemptionRecord(String, String, String, Instant) - Constructor for record class xyz.tcheeric.cashu.voucher.app.ports.VoucherRedemptionPort.RedemptionRecord
-
Creates an instance of a
RedemptionRecordrecord class. - Responsibilities - Search tag in class xyz.tcheeric.cashu.voucher.app.VoucherIssuanceService
- Section
- Responsibilities - Search tag in class xyz.tcheeric.cashu.voucher.app.VoucherService
- Section
- restore(String) - Method in class xyz.tcheeric.cashu.voucher.app.VoucherBackupService
-
Restores vouchers from backup without merging.
- restore(String) - Method in class xyz.tcheeric.cashu.voucher.app.VoucherService
-
Restores vouchers from private user storage.
- restore(String) - Method in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherBackupPort
-
Restores vouchers from private user storage.
- restoreAndMerge(List<StoredVoucher>, String) - Method in class xyz.tcheeric.cashu.voucher.app.VoucherBackupService
-
Restores vouchers from backup and merges with local vouchers.
S
- Security Considerations - Search tag in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherBackupPort
- Section
- Security Model - Search tag in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherRedemptionPort
- Section
- StoredVoucher - Class in xyz.tcheeric.cashu.voucher.app.dto
-
DTO for storing voucher metadata in wallet state.
- StoredVoucher() - Constructor for class xyz.tcheeric.cashu.voucher.app.dto.StoredVoucher
- success() - Static method in class xyz.tcheeric.cashu.voucher.app.MerchantVerificationService.VerificationResult
-
Creates a successful verification result.
- success(SignedVoucher) - Static method in class xyz.tcheeric.cashu.voucher.app.dto.RedeemVoucherResponse
-
Creates a successful redemption response.
T
- Token Creation - Search tag in class xyz.tcheeric.cashu.voucher.app.dto.IssueVoucherResponse
- Section
- toString() - Method in record class xyz.tcheeric.cashu.voucher.app.ports.VoucherRedemptionPort.RedemptionRecord
-
Returns a string representation of this record class.
- tryRecordRedemption(String, String, String) - Method in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherRedemptionPort
-
Attempts to record a voucher redemption atomically.
- Typical Flow - Search tag in class xyz.tcheeric.cashu.voucher.app.MerchantVerificationService
- Section
U
- updateStatus(String, VoucherStatus) - Method in class xyz.tcheeric.cashu.voucher.app.VoucherService
-
Updates the status of a voucher in the public ledger.
- updateStatus(String, VoucherStatus) - Method in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherLedgerPort
-
Updates the status of an existing voucher in the ledger.
- updateStatus(VoucherStatus) - Method in class xyz.tcheeric.cashu.voucher.app.dto.StoredVoucher
-
Updates the cached status and timestamp.
- Usage Example - Search tag in class xyz.tcheeric.cashu.voucher.app.MerchantVerificationService
- Section
- Usage Example - Search tag in class xyz.tcheeric.cashu.voucher.app.VoucherBackupService
- Section
- Usage Example - Search tag in class xyz.tcheeric.cashu.voucher.app.VoucherIssuanceService
- Section
- Usage Example - Search tag in class xyz.tcheeric.cashu.voucher.app.VoucherService
- Section
- Usage Example - Search tag in class xyz.tcheeric.cashu.voucher.app.dto.GeneratePaymentRequestDTO
- Section
- Usage Example - Search tag in class xyz.tcheeric.cashu.voucher.app.dto.GeneratePaymentRequestResponse
- Section
- Usage Example - Search tag in class xyz.tcheeric.cashu.voucher.app.dto.IssueVoucherRequest
- Section
- Usage Example - Search tag in class xyz.tcheeric.cashu.voucher.app.dto.IssueVoucherResponse
- Section
- Usage Example - Search tag in class xyz.tcheeric.cashu.voucher.app.dto.RedeemVoucherRequest
- Section
- Usage Example - Search tag in class xyz.tcheeric.cashu.voucher.app.dto.RedeemVoucherResponse
- Section
- Usage Example - Search tag in class xyz.tcheeric.cashu.voucher.app.dto.StoredVoucher
- Section
- Usage Example - Search tag in xyz.tcheeric.cashu.voucher.app.VoucherService.generatePaymentRequest(GeneratePaymentRequestDTO)
- Section
V
- validatePaymentPayload(VoucherPaymentPayload, VoucherPaymentRequest) - Method in class xyz.tcheeric.cashu.voucher.app.MerchantVerificationService
-
Validates a NUT-18V payment payload against the original payment request.
- Verification Modes - Search tag in class xyz.tcheeric.cashu.voucher.app.MerchantVerificationService
- Section
- VerificationResult() - Constructor for class xyz.tcheeric.cashu.voucher.app.MerchantVerificationService.VerificationResult
- verifyBackup(List<String>, String) - Method in class xyz.tcheeric.cashu.voucher.app.VoucherBackupService
-
Verifies backup integrity by restoring and comparing.
- verifyOffline(SignedVoucher, String) - Method in class xyz.tcheeric.cashu.voucher.app.MerchantVerificationService
-
Verifies a voucher offline (signature + expiry only).
- verifyOnline(SignedVoucher, String) - Method in class xyz.tcheeric.cashu.voucher.app.MerchantVerificationService
-
Verifies a voucher online (offline checks + ledger status).
- VoucherBackupPort - Interface in xyz.tcheeric.cashu.voucher.app.ports
-
Port for voucher backup operations (private user storage).
- VoucherBackupService - Class in xyz.tcheeric.cashu.voucher.app
-
Service for managing voucher backup operations.
- VoucherBackupService(VoucherService) - Constructor for class xyz.tcheeric.cashu.voucher.app.VoucherBackupService
-
Constructs a VoucherBackupService.
- voucherId() - Method in record class xyz.tcheeric.cashu.voucher.app.ports.VoucherRedemptionPort.RedemptionRecord
-
Returns the value of the
voucherIdrecord component. - VoucherIssuanceService - Class in xyz.tcheeric.cashu.voucher.app
-
Service for voucher issuance with mint-specific integration logic.
- VoucherIssuanceService(VoucherService) - Constructor for class xyz.tcheeric.cashu.voucher.app.VoucherIssuanceService
-
Constructs a VoucherIssuanceService with default limits.
- VoucherIssuanceService(VoucherService, long, int) - Constructor for class xyz.tcheeric.cashu.voucher.app.VoucherIssuanceService
-
Constructs a VoucherIssuanceService with custom limits.
- VoucherLedgerPort - Interface in xyz.tcheeric.cashu.voucher.app.ports
-
Port for voucher ledger operations (public audit trail).
- VoucherRedemptionPort - Interface in xyz.tcheeric.cashu.voucher.app.ports
-
Port for voucher redemption tracking with duplicate detection.
- VoucherRedemptionPort.RedemptionRecord - Record Class in xyz.tcheeric.cashu.voucher.app.ports
-
Redemption record containing details of when and by whom a voucher was redeemed.
- VoucherRedemptionService - Class in xyz.tcheeric.cashu.voucher.app
-
Service for secure voucher redemption with duplicate protection.
- VoucherRedemptionService(VoucherLedgerPort, VoucherRedemptionPort) - Constructor for class xyz.tcheeric.cashu.voucher.app.VoucherRedemptionService
-
Constructs a VoucherRedemptionService with required dependencies.
- VoucherService - Class in xyz.tcheeric.cashu.voucher.app
-
Main voucher service that orchestrates use cases.
- VoucherService(VoucherLedgerPort, VoucherBackupPort, String, String) - Constructor for class xyz.tcheeric.cashu.voucher.app.VoucherService
-
Constructs a VoucherService with the required dependencies.
W
- Why Backup is Needed - Search tag in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherBackupPort
- Section
X
- xyz.tcheeric.cashu.voucher.app - package xyz.tcheeric.cashu.voucher.app
- xyz.tcheeric.cashu.voucher.app.dto - package xyz.tcheeric.cashu.voucher.app.dto
- xyz.tcheeric.cashu.voucher.app.ports - package xyz.tcheeric.cashu.voucher.app.ports
All Classes and Interfaces|All Packages