StealthTransferState
Defined in: ootle/src/stealth/transfer.ts:28
Mutable internal state accumulated by a StealthTransfer builder.
Properties
Section titled “Properties”inputsToSpend
Section titled “inputsToSpend”inputsToSpend:
Map<string, {input:StealthInput;owner:string; }>
Defined in: ootle/src/stealth/transfer.ts:47
Stealth UTXOs to spend, keyed by their commitment hex alone (insertion-ordered,
duplicates rejected). A commitment uniquely identifies a UTXO within the builder’s
single resource, and a UTXO has exactly one owner — so keying by commitment (not
owner+commitment) prevents the same UTXO being registered twice under different owner
labels, which the engine would reject as a self-double-spend. Each value carries the
input alongside its owner address (the one-time spend signer). The Map preserves
insertion order so the masks aggregate and the inputs statement is built in the
same order — required for the balance proof to verify.
outputs
Section titled “outputs”outputs:
Output[]
Defined in: ootle/src/stealth/transfer.ts:48
resource
Section titled “resource”resource:
string
Defined in: ootle/src/stealth/transfer.ts:29
revealedInput
Section titled “revealedInput”revealedInput: {
amount:bigint;source:string; } |null
Defined in: ootle/src/stealth/transfer.ts:36
The revealed-source account and the total amount withdrawn from it, or null for a
stealth-input-only spend. Coupling the source and amount in one tagged field encodes the
invariant — a revealed input always has a source — in the type system, so consumers can
narrow without “unreachable” guards.
revealedOutputAmount
Section titled “revealedOutputAmount”revealedOutputAmount:
bigint
Defined in: ootle/src/stealth/transfer.ts:49