WalletStealthAuthorizer
Defined in: ootle/src/stealth/authorizer.ts:91
Authorizes a StealthTransferSpec produced by StealthTransfer: unblinds any stealth inputs, signs the balance proof, hydrates + patches the statement, then returns an AuthorizedTransfer that produces one-time spend-key authorizations and seals the envelope. Handles both the revealed-only path and the full stealth-input spend path.
Methods
Section titled “Methods”prepare()
Section titled “prepare()”prepare(
provider):Promise<AuthorizedTransfer>
Defined in: ootle/src/stealth/authorizer.ts:131
Hydrate + sign the transfer:
- resolve each stealth input — fetch its UTXO, unblind it to recover the mask, and remember the sender public nonce (revealed-only → no inputs, no fetch);
- aggregate the input masks (
Mask.zero()when there are no stealth inputs); - sign the balance proof over the (already-canonical) inputs/outputs statement JSONs;
- build the complete (hydrated) statement and pre-flight
validateTransfer; - patch the unsigned tx’s sole stealth instruction with the hydrated statement.
Returns an AuthorizedTransfer that owns the hydrated state and can produce one-time spend-key authorizations or seal the envelope. The authorizer is not mutated.
Parameters
Section titled “Parameters”provider
Section titled “provider”Read-only chain access (fetches the input UTXOs).
Returns
Section titled “Returns”Promise<AuthorizedTransfer>
fromSpec()
Section titled “fromSpec()”
staticfromSpec(wallet,spec,options?):WalletStealthAuthorizer
Defined in: ootle/src/stealth/authorizer.ts:107
Build an authorizer from a builder spec.
Parameters
Section titled “Parameters”wallet
Section titled “wallet”The multi-signer wallet (supplies the account-key + one-time signatures).
The spec from StealthTransfer.prepare.
options?
Section titled “options?”WalletStealthAuthorizerOptions = {}
Optional viewSecret, account-signature toggle, crypto seam.
Returns
Section titled “Returns”WalletStealthAuthorizer