Index

A B C D E F G H I M N O P Q R S T U V W X 
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 fingerprint record 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.
IssuerKeyRegistry - Interface in xyz.tcheeric.cashu.voucher.app.ports
Resolves the public key an issuer is known to sign with.
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

MapIssuerKeyRegistry - Class in xyz.tcheeric.cashu.voucher.app.adapter
An IssuerKeyRegistry backed by a fixed map of issuer id to public key.
MapIssuerKeyRegistry(Map<String, String>) - Constructor for class xyz.tcheeric.cashu.voucher.app.adapter.MapIssuerKeyRegistry
 
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, IssuerKeyRegistry) - 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.

O

of(String, String) - Static method in class xyz.tcheeric.cashu.voucher.app.adapter.MapIssuerKeyRegistry
A registry holding a single issuer, the usual shape for one merchant.

P

processPaymentPayload(VoucherPaymentPayload, VoucherPaymentRequest) - Method in class xyz.tcheeric.cashu.voucher.app.MerchantVerificationService
Validates a NUT-18V payment payload structure against the original request.
publicKeyFor(String) - Method in class xyz.tcheeric.cashu.voucher.app.adapter.MapIssuerKeyRegistry
 
publicKeyFor(String) - Method in interface xyz.tcheeric.cashu.voucher.app.ports.IssuerKeyRegistry
The public key registered for an issuer.
publish(SignedVoucher, VoucherStatus) - Method in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherLedgerPort
Publishes a voucher to the public ledger with the given status.
publish(SignedVoucher, VoucherStatus, boolean) - Method in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherLedgerPort
Publishes a voucher to the public ledger with the given status and split flag.
publish(SignedVoucher, VoucherStatus, boolean, String) - Method in interface xyz.tcheeric.cashu.voucher.app.ports.VoucherLedgerPort
Publishes a voucher to the public ledger with the given status, split flag, and parent voucher ID.

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 redeemedAt record component.
redeemedBy() - Method in record class xyz.tcheeric.cashu.voucher.app.ports.VoucherRedemptionPort.RedemptionRecord
Returns the value of the redeemedBy record 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 RedemptionRecord record 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 voucherId record 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
Why verification needs this - Search tag in interface xyz.tcheeric.cashu.voucher.app.ports.IssuerKeyRegistry
Section

X

xyz.tcheeric.cashu.voucher.app - package xyz.tcheeric.cashu.voucher.app
 
xyz.tcheeric.cashu.voucher.app.adapter - package xyz.tcheeric.cashu.voucher.app.adapter
 
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
 
A B C D E F G H I M N O P Q R S T U V W X 
All Classes and Interfaces|All Packages