/** * Wallet-agnostic shielding. * * `shield()` builds an unsigned transaction that deposits public funds into the * privacy pool, creating a note owned by an arbitrary recipient. Any external * wallet — a browser extension, or a third-party platform's managed wallet — * signs and submits it. The SDK never touches a secret key. * * ```ts * const owner = await resolveShieldOwner({ username: "alice" }); * const { transaction, note, proofCache } = await shield({ * connection, amount, mint, owner, * signer: { publicKey: wallet.publicKey }, * prover: createTransactionProver(artifacts), * }); * * const signed = await wallet.signTransaction(transaction); * const sig = await connection.sendRawTransaction(signed.serialize()); * ``` * * On blockhash expiry, `rebuild(result, { connection })` re-assembles with a * fresh blockhash and deadline without re-proving. */ export { shield, rebuild, serializeProofCache, deserializeProofCache } from "./shield.js"; export { buildShieldV1 } from "./v1.js"; export type { ShieldV1Transaction } from "./v1.js"; export { resolveShieldOwner, unsafeShieldOwner } from "./owner.js"; export { finalizeShield } from "./finalize.js"; export { preflightShield } from "./preflight.js"; export { buildTransactInstruction, TRANSACT_ACCOUNT_NAMES } from "./ix.js"; export type { TransactAccounts, TransactArgs } from "./ix.js"; export { sharedDepositAlt, explicitAlt, auditDepositAlt, expectedDepositAltKeys, requiredAltKeys, SHARED_DEPOSIT_ALT, SHARED_ALT_MINTS, } from "./alt.js"; export { onChainTreeSource, staticTreeSource, memoryCache, noCache } from "./ports.js"; export { ShieldError, mapShieldError, extractProgramCode, } from "./errors.js"; export type { ShieldErrorCode, ShieldRetryClass, ShieldErrorRemedy } from "./errors.js"; export { SHIELD_COMPUTE_UNIT_LIMIT, SHIELD_COMPUTE_UNIT_PRICE_MICRO_LAMPORTS, SHIELD_COMPUTE_UNITS_MEASURED_TYPICAL, MAX_TRANSACTION_BYTES, SIGNATURE_BYTES, TRANSACT_INSTRUCTION_DATA_BYTES, NULLIFIER_MARKER_ACCOUNT_BYTES, NULLIFIER_MARKERS_PER_TRANSACT, DEFAULT_DEADLINE_SECONDS, } from "./computeBudget.js"; export type { ShieldOwner, ShieldSigner, ShieldParams, ShieldResult, ShieldNote, ShieldProofCache, ShieldQuote, TreeSource, AltSource, ShieldCachePort, DepositTarget, PreflightOptions, } from "./types.js";