Enum Class IssuanceWarrant.Form
- All Implemented Interfaces:
Serializable,Comparable<IssuanceWarrant.Form>,Constable
- Enclosing class:
IssuanceWarrant
One field, four forms, so every verifier has one code path and an unknown shape is refused rather than guessed at.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>> -
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionA terminal credential the stall issued, and can burn, signed the digest.The stall itself signed the sale digest.Nothing outside the issuing service authorised this, and the issuer has SIGNED that.A payment processor moved money into the stall's own account. -
Method Summary
Modifier and TypeMethodDescriptionstatic IssuanceWarrant.FormParses a wire token, or throws.static IssuanceWarrant.FormReturns the enum constant of this class with the specified name.static IssuanceWarrant.Form[]values()Returns an array containing the constants of this enum class, in the order they are declared.wire()The lowercase token that appears on the wire.
-
Enum Constant Details
-
MERCHANT
The stall itself signed the sale digest. Verifiable offline againstissuer.This is prevention: a compromised issuing service cannot produce one, because it does not hold the stall's key.
-
PROCESSOR
A payment processor moved money into the stall's own account.A claim, not a proof, at verification time. The issuing service is the thing that reads the processor, so a compromised service can assert a charge that does not exist. What changes is that the assertion is falsifiable by a party outside the trust boundary: the stall, reading its own dashboard, resolves it to "no such charge". The forgery survives the instant and does not survive reconciliation.
It is also economically self-defeating. Forging a large coupon this way requires routing that much real money into the victim's own account.
-
DELEGATED
A terminal credential the stall issued, and can burn, signed the digest.Prevention, and revocable. Verification is two steps: the signature against the credential's lock key, then that the credential was minted by
issuer. Doing only the first accepts a credential the attacker minted for themselves. -
NONE
Nothing outside the issuing service authorised this, and the issuer has SIGNED that.Not the same as an absent tag. An absent tag means the voucher predates warrants and the issuer said nothing;
NONEis a positive statement. Conflating them lets a compromised service strip a warrant and have it read as legacy.
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-
wire
The lowercase token that appears on the wire. -
fromWire
Parses a wire token, or throws.Throws rather than returning null or a default: an unrecognised form is a voucher produced by something this build does not understand, and treating it as
NONEwould silently downgrade it.
-