{
  "generatedAt": "2026-09-07",
  "packages": [
    {
      "id": "kit",
      "name": "@hazbase/kit",
      "version": "0.9.0",
      "commit": "565194209fef8b76baf8f7a8501cb9c01c7c599d",
      "repository": "https://github.com/hazbase/kit",
      "exports": [
        ".",
        "./wallet",
        "./x402",
        "./extension",
        "./browser",
        "./escrow",
        "./voting",
        "./browser.global"
      ],
      "entries": [
        {
          "name": "ContractBuilder",
          "imports": [
            "@hazbase/kit"
          ],
          "kind": "class",
          "signature": "class ContractBuilder",
          "description": "",
          "methods": [
            {
              "name": "create",
              "signature": "static create(init: BuilderInit): ContractBuilder",
              "description": ""
            },
            {
              "name": "withRelayer",
              "signature": "withRelayer(cfg: RelayerCfg): ContractBuilder",
              "description": ""
            },
            {
              "name": "build",
              "signature": "build(): any",
              "description": ""
            }
          ],
          "file": "src/ContractBuilder.ts",
          "line": 15
        },
        {
          "name": "HAZBASE_X402_BRIDGE_VERSION",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "constant",
          "signature": "export const HAZBASE_X402_BRIDGE_VERSION: 1",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 14
        },
        {
          "name": "HAZBASE_X402_BRIDGE_REQUEST",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "constant",
          "signature": "export const HAZBASE_X402_BRIDGE_REQUEST: \"hazbase:x402:request\"",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 15
        },
        {
          "name": "HAZBASE_X402_BRIDGE_DETECTED",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "constant",
          "signature": "export const HAZBASE_X402_BRIDGE_DETECTED: \"hazbase:x402:detected\"",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 16
        },
        {
          "name": "HAZBASE_X402_BRIDGE_PAYMENT",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "constant",
          "signature": "export const HAZBASE_X402_BRIDGE_PAYMENT: \"hazbase:x402:payment\"",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 17
        },
        {
          "name": "HAZBASE_X402_BRIDGE_ERROR",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "constant",
          "signature": "export const HAZBASE_X402_BRIDGE_ERROR: \"hazbase:x402:error\"",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 18
        },
        {
          "name": "HAZBASE_WALLET_ADDRESS_REQUEST",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "constant",
          "signature": "export const HAZBASE_WALLET_ADDRESS_REQUEST: \"hazbase:wallet:address-request\"",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 19
        },
        {
          "name": "HAZBASE_WALLET_ADDRESS_RESPONSE",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "constant",
          "signature": "export const HAZBASE_WALLET_ADDRESS_RESPONSE: \"hazbase:wallet:address-response\"",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 20
        },
        {
          "name": "HAZBASE_WALLET_LINK_REQUEST",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "constant",
          "signature": "export const HAZBASE_WALLET_LINK_REQUEST: \"hazbase:wallet:link-request\"",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 21
        },
        {
          "name": "HAZBASE_WALLET_LINK_RESPONSE",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "constant",
          "signature": "export const HAZBASE_WALLET_LINK_RESPONSE: \"hazbase:wallet:link-response\"",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 22
        },
        {
          "name": "HAZBASE_WALLET_OPERATION_REQUEST",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "constant",
          "signature": "export const HAZBASE_WALLET_OPERATION_REQUEST: \"hazbase:wallet:operation-request\"",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 23
        },
        {
          "name": "HAZBASE_WALLET_OPERATION_ACK",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "constant",
          "signature": "export const HAZBASE_WALLET_OPERATION_ACK: \"hazbase:wallet:operation-ack\"",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 24
        },
        {
          "name": "HAZBASE_WALLET_OPERATION_RESULT",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "constant",
          "signature": "export const HAZBASE_WALLET_OPERATION_RESULT: \"hazbase:wallet:operation-result\"",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 25
        },
        {
          "name": "HAZBASE_WALLET_OPERATION_ERROR",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "constant",
          "signature": "export const HAZBASE_WALLET_OPERATION_ERROR: \"hazbase:wallet:operation-error\"",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 26
        },
        {
          "name": "WalletOperationRequest",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "type",
          "signature": "export type WalletOperationRequest = {\n  chainId: number;\n  account: string;\n  policyKey: string;\n  calls: Array<{ to: string; value: string; data: string }>;\n  grantToken: string;\n  metadata?: Record<string, unknown>;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 34
        },
        {
          "name": "RequestWalletOperationOptions",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "type",
          "signature": "export type RequestWalletOperationOptions = {\n  request: WalletOperationRequest;\n  id?: string;\n  origin?: string;\n  targetWindow?: Window;\n  ackTimeoutMs?: number;\n  timeoutMs?: number;\n  retryIntervalMs?: number;\n  signal?: AbortSignal;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 43
        },
        {
          "name": "RequestWalletOperationResult",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "type",
          "signature": "export type RequestWalletOperationResult =\n  | { ok: true; id: string; result: Record<string, unknown>; message: Record<string, unknown> }\n  | { ok: false; id: string; reason?: string; timedOut?: boolean; acknowledged?: boolean; message?: Record<string, unknown> }",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 54
        },
        {
          "name": "RequestWalletAddressOptions",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "type",
          "signature": "export type RequestWalletAddressOptions = {\n  id?: string;\n  version?: number;\n  purpose?: string;\n  targetWindow?: Window;\n  origin?: string;\n  timeoutMs?: number;\n  retryIntervalMs?: number;\n  signal?: AbortSignal;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 58
        },
        {
          "name": "RequestWalletAddressResult",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "type",
          "signature": "export type RequestWalletAddressResult =\n  | { ok: true; address: string; id: string; message: Record<string, unknown> }\n  | { ok: false; id: string; reason?: string; timedOut?: boolean; message?: Record<string, unknown> }",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 69
        },
        {
          "name": "RequestWalletLinkOptions",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "type",
          "signature": "export type RequestWalletLinkOptions = {\n  id?: string;\n  purpose?: string;\n  origin?: string;\n  apiEndpoint?: string;\n  fetcher?: typeof fetch;\n  targetWindow?: Window;\n  timeoutMs?: number;\n  retryIntervalMs?: number;\n  signal?: AbortSignal;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 73
        },
        {
          "name": "RequestWalletLinkResult",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "type",
          "signature": "export type RequestWalletLinkResult =\n  | ({ ok: true; id: string; address: string; proof: string; message: Record<string, unknown> } & VerifyWalletLinkResult)\n  | { ok: false; id: string; reason?: string; timedOut?: boolean; message?: Record<string, unknown>; challenge?: WalletLinkChallengeResult }",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 85
        },
        {
          "name": "WalletLinkHandoff",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "type",
          "signature": "export type WalletLinkHandoff = {\n  challenge: WalletLinkChallengeResult;\n  returnUrl: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 89
        },
        {
          "name": "WalletLinkProofFragment",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "type",
          "signature": "export type WalletLinkProofFragment = {\n  challengeId: string;\n  nonce: string;\n  proof: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 94
        },
        {
          "name": "WalletOperationHandoff",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "type",
          "signature": "export type WalletOperationHandoff = {\n  id: string;\n  request: WalletOperationRequest;\n  origin: string;\n  returnUrl: string;\n  createdAt: string;\n  expiresAt: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 100
        },
        {
          "name": "WalletOperationResultFragment",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "type",
          "signature": "export type WalletOperationResultFragment = {\n  id: string;\n  ok: boolean;\n  result?: Record<string, unknown>;\n  reason?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 109
        },
        {
          "name": "ConsumeWalletOperationResultOptions",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "type",
          "signature": "export type ConsumeWalletOperationResultOptions = {\n  input?: string;\n  replaceState?: boolean;\n  resultParam?: string;\n  expectedId?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 116
        },
        {
          "name": "ConsumeWalletAddressOptions",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "type",
          "signature": "export type ConsumeWalletAddressOptions = {\n  input?: string;\n  paramNames?: string[];\n  replaceState?: boolean;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 123
        },
        {
          "name": "WalletAddressPwaUrlOptions",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "type",
          "signature": "export type WalletAddressPwaUrlOptions = {\n  returnUrl?: string;\n  returnParam?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 129
        },
        {
          "name": "WalletLinkPwaUrlOptions",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "type",
          "signature": "export type WalletLinkPwaUrlOptions = {\n  challenge: WalletLinkChallengeResult;\n  returnUrl?: string;\n  requestParam?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 134
        },
        {
          "name": "WalletOperationPwaUrlOptions",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "type",
          "signature": "export type WalletOperationPwaUrlOptions = {\n  id: string;\n  request: WalletOperationRequest;\n  origin?: string;\n  returnUrl?: string;\n  requestParam?: string;\n  ttlMs?: number;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 140
        },
        {
          "name": "CreateX402WalletUrlOptions",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "type",
          "signature": "export type CreateX402WalletUrlOptions = {\n  sourceUrl: string;\n  title?: string;\n  completionMode?: 'fragment';\n  completionParam?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 149
        },
        {
          "name": "SaveX402HandoffOptions",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "type",
          "signature": "export type SaveX402HandoffOptions = {\n  storagePrefix?: string;\n  ttlMs?: number;\n  sourceUrl: string;\n  pageTitle?: string;\n  completionMode?: 'fragment';\n  completionParam?: string;\n  storage?: Storage;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 156
        },
        {
          "name": "PublishX402RequestOptions",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "type",
          "signature": "export type PublishX402RequestOptions = SaveX402HandoffOptions & {\n  scriptId?: string;\n  removeUrlParams?: string[];\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 166
        },
        {
          "name": "PostX402BridgeRequestOptions",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "type",
          "signature": "export type PostX402BridgeRequestOptions = {\n  id?: string;\n  x402: Record<string, unknown>;\n  sourceUrl: string;\n  title?: string;\n  completionMode?: 'fragment';\n  completionParam?: string;\n  origin?: string;\n  targetWindow?: Window;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 171
        },
        {
          "name": "HazbaseX402ContentEnvelope",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "type",
          "signature": "export type HazbaseX402ContentEnvelope = {\n  x402: Record<string, unknown>;\n  sourceUrl: string;\n  completionMode?: 'fragment';\n  completionParam?: string;\n  bridgeRequestId?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 182
        },
        {
          "name": "HazbaseRuntimeLike",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "type",
          "signature": "export type HazbaseRuntimeLike = {\n  id?: string;\n  lastError?: { message?: string };\n  sendMessage?: (message: unknown, callback?: (response: unknown) => void) => void;\n  onMessage?: {\n    addListener?: (listener: (message: unknown) => void) => void;\n    removeListener?: (listener: (message: unknown) => void) => void;\n  };\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 190
        },
        {
          "name": "InstallHazbaseWalletContentBridgeOptions",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "type",
          "signature": "export type InstallHazbaseWalletContentBridgeOptions = {\n  runtime?: HazbaseRuntimeLike;\n  stateKey?: string;\n  walletLinkSelector?: string;\n  walletName?: string;\n  openX402MessageType: string;\n  receiveAddressMessageType?: string;\n  receiveWalletLinkMessageType?: string;\n  receiveOwnerOperationMessageType?: string;\n  runtimePaymentMessageType: string;\n  runtimeCancelledMessageType: string;\n  runtimeOwnerOperationResultMessageType?: string;\n  runtimeOwnerOperationCancelledMessageType?: string;\n  legacyAddressRequestType?: string;\n  legacyAddressResponseType?: string;\n  unavailableMessage?: string;\n  walletOpenFailedMessage?: string;\n  paymentCancelledMessage?: string;\n  capabilities?: Record<string, unknown>;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 200
        },
        {
          "name": "installHazbaseWalletContentBridge",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "function",
          "signature": "export function installHazbaseWalletContentBridge(\n  options: InstallHazbaseWalletContentBridgeOptions,\n): () => void",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 221
        },
        {
          "name": "readX402EnvelopeFromPage",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension"
          ],
          "kind": "function",
          "signature": "export function readX402EnvelopeFromPage(): HazbaseX402ContentEnvelope | null",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 397
        },
        {
          "name": "createHazbaseRequestId",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function createHazbaseRequestId(prefix = 'hazbase'): string",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 401
        },
        {
          "name": "normalizeEvmAddress",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function normalizeEvmAddress(value: unknown): string",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 409
        },
        {
          "name": "requestWalletOperation",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function requestWalletOperation(\n  options: RequestWalletOperationOptions,\n): Promise<RequestWalletOperationResult>",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 414
        },
        {
          "name": "shortenAddress",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function shortenAddress(value: unknown, options: { head?: number; tail?: number; fallback?: string } = {}): string",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 515
        },
        {
          "name": "consumeWalletAddressFromFragment",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function consumeWalletAddressFromFragment(options: ConsumeWalletAddressOptions = {}): string",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 524
        },
        {
          "name": "createWalletAddressReturnUrl",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function createWalletAddressReturnUrl(input = globalThis.location?.href ?? ''): string",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 545
        },
        {
          "name": "createWalletAddressPwaUrl",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function createWalletAddressPwaUrl(walletUrl: string, options: WalletAddressPwaUrlOptions = {}): string",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 552
        },
        {
          "name": "createWalletLinkPwaUrl",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function createWalletLinkPwaUrl(walletUrl: string, options: WalletLinkPwaUrlOptions): string",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 558
        },
        {
          "name": "readWalletLinkHandoffFromUrl",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function readWalletLinkHandoffFromUrl(\n  input = globalThis.location?.href ?? '',\n  requestParam = 'walletLinkRequest',\n): WalletLinkHandoff | null",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 572
        },
        {
          "name": "createWalletLinkReturnUrl",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function createWalletLinkReturnUrl(returnUrl: string, result: WalletLinkProofFragment): string",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 600
        },
        {
          "name": "createWalletOperationPwaUrl",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function createWalletOperationPwaUrl(\n  walletUrl: string,\n  options: WalletOperationPwaUrlOptions,\n): string",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 610
        },
        {
          "name": "readWalletOperationHandoffFromUrl",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function readWalletOperationHandoffFromUrl(\n  input = globalThis.location?.href ?? '',\n  requestParam = 'walletOperationRequest',\n): WalletOperationHandoff | null",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 642
        },
        {
          "name": "createWalletOperationReturnUrl",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function createWalletOperationReturnUrl(\n  returnUrl: string,\n  result: WalletOperationResultFragment,\n  resultParam = 'walletOperationResult',\n): string",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 688
        },
        {
          "name": "consumeWalletOperationResultFromFragment",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function consumeWalletOperationResultFromFragment(\n  inputOrOptions: string | ConsumeWalletOperationResultOptions = globalThis.location?.href ?? '',\n  legacyReplaceState = true,\n  legacyResultParam = 'walletOperationResult',\n): WalletOperationResultFragment | null",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 711
        },
        {
          "name": "consumeWalletLinkProofFromFragment",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function consumeWalletLinkProofFromFragment(\n  input = globalThis.location?.href ?? '',\n  replaceState = true,\n): WalletLinkProofFragment | null",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 762
        },
        {
          "name": "verifyWalletLinkProof",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export async function verifyWalletLinkProof(\n  proof: WalletLinkProofFragment,\n  options: { origin?: string; apiEndpoint?: string; fetcher?: typeof fetch } = {},\n): Promise<VerifyWalletLinkResult>",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 788
        },
        {
          "name": "verifyWalletLinkSession",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export async function verifyWalletLinkSession(\n  linkSessionToken: string,\n  options: { origin?: string; apiEndpoint?: string; fetcher?: typeof fetch } = {},\n): Promise<VerifyWalletLinkSessionResult>",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 802
        },
        {
          "name": "consumeAndVerifyWalletLinkFromFragment",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export async function consumeAndVerifyWalletLinkFromFragment(\n  options: { input?: string; replaceState?: boolean; origin?: string; apiEndpoint?: string; fetcher?: typeof fetch } = {},\n): Promise<VerifyWalletLinkResult | null>",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 816
        },
        {
          "name": "requestWalletLink",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export async function requestWalletLink(options: RequestWalletLinkOptions = {}): Promise<RequestWalletLinkResult>",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 827
        },
        {
          "name": "requestWalletAddress",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function requestWalletAddress(options: RequestWalletAddressOptions = {}): Promise<RequestWalletAddressResult>",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 935
        },
        {
          "name": "createX402WalletUrl",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function createX402WalletUrl(\n  walletUrl: string,\n  x402: Record<string, unknown>,\n  options: CreateX402WalletUrlOptions,\n): string",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 999
        },
        {
          "name": "setX402RequestScript",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function setX402RequestScript(\n  x402: Record<string, unknown>,\n  options: { scriptId?: string; sourceUrl?: string; completionMode?: 'fragment'; completionParam?: string } = {},\n): void",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 1013
        },
        {
          "name": "saveX402Handoff",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function saveX402Handoff(paymentRequestId: string, x402: Record<string, unknown>, options: SaveX402HandoffOptions): void",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 1025
        },
        {
          "name": "removeX402UrlParams",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function removeX402UrlParams(paramNames: string[] = [\n  'x402',\n  'x402Body',\n  'sourceUrl',\n  'resourceUrl',\n  'title',\n  'x402Completion',\n  'x402CompletionParam',\n]): void",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 1046
        },
        {
          "name": "publishX402Request",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function publishX402Request(paymentRequestId: string, x402: Record<string, unknown>, options: PublishX402RequestOptions): void",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 1067
        },
        {
          "name": "postX402BridgeRequest",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/extension",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function postX402BridgeRequest(options: PostX402BridgeRequestOptions): string",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 1078
        },
        {
          "name": "VOTING_METHOD_IDS",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/browser",
            "@hazbase/kit/voting"
          ],
          "kind": "constant",
          "signature": "export const VOTING_METHOD_IDS: { readonly SINGLE_CHOICE: \"single-choice@1\"; readonly RANKED_CHOICE_IRV: \"ranked-choice-irv@1\"; }",
          "description": "",
          "methods": [],
          "file": "src/voting.ts",
          "line": 3
        },
        {
          "name": "VotingMethodId",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/voting"
          ],
          "kind": "type",
          "signature": "export type VotingMethodId =\n  (typeof VOTING_METHOD_IDS)[keyof typeof VOTING_METHOD_IDS]",
          "description": "",
          "methods": [],
          "file": "src/voting.ts",
          "line": 8
        },
        {
          "name": "OptionId",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/voting"
          ],
          "kind": "type",
          "signature": "export type OptionId = string",
          "description": "",
          "methods": [],
          "file": "src/voting.ts",
          "line": 10
        },
        {
          "name": "TallyOutcome",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/voting"
          ],
          "kind": "type",
          "signature": "export type TallyOutcome = \"winner\" | \"tie\" | \"no-valid-ballots\"",
          "description": "",
          "methods": [],
          "file": "src/voting.ts",
          "line": 11
        },
        {
          "name": "TallyOption",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/voting"
          ],
          "kind": "type",
          "signature": "export interface TallyOption {\n  id: OptionId;\n  tieBreakRank: number;\n}",
          "description": "",
          "methods": [],
          "file": "src/voting.ts",
          "line": 13
        },
        {
          "name": "WeightedBallot",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/voting"
          ],
          "kind": "type",
          "signature": "export interface WeightedBallot {\n  id: string;\n  weight: bigint;\n  rankings: readonly OptionId[];\n}",
          "description": "",
          "methods": [],
          "file": "src/voting.ts",
          "line": 18
        },
        {
          "name": "SingleChoiceConfig",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/voting"
          ],
          "kind": "type",
          "signature": "export interface SingleChoiceConfig {\n  method: typeof VOTING_METHOD_IDS.SINGLE_CHOICE;\n}",
          "description": "",
          "methods": [],
          "file": "src/voting.ts",
          "line": 24
        },
        {
          "name": "RankedChoiceIrvConfig",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/voting"
          ],
          "kind": "type",
          "signature": "export interface RankedChoiceIrvConfig {\n  method: typeof VOTING_METHOD_IDS.RANKED_CHOICE_IRV;\n  allowPartialRanking: true;\n  maxRankings: number;\n  majorityBasis: \"continuing-weight\";\n  eliminationTieBreak: \"previous-round-then-option-order\";\n  finalTie: \"return-tie\";\n}",
          "description": "",
          "methods": [],
          "file": "src/voting.ts",
          "line": 28
        },
        {
          "name": "TallyConfig",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/voting"
          ],
          "kind": "type",
          "signature": "export type TallyConfig = SingleChoiceConfig | RankedChoiceIrvConfig",
          "description": "",
          "methods": [],
          "file": "src/voting.ts",
          "line": 37
        },
        {
          "name": "TallyInput",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/voting"
          ],
          "kind": "type",
          "signature": "export interface TallyInput {\n  options: readonly TallyOption[];\n  ballots: readonly WeightedBallot[];\n  config: TallyConfig;\n}",
          "description": "",
          "methods": [],
          "file": "src/voting.ts",
          "line": 39
        },
        {
          "name": "TallyRound",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/voting"
          ],
          "kind": "type",
          "signature": "export interface TallyRound {\n  round: number;\n  activeOptionIds: readonly OptionId[];\n  tallies: Readonly<Record<OptionId, bigint>>;\n  continuingWeight: bigint;\n  exhaustedWeight: bigint;\n  eliminatedOptionId?: OptionId;\n  majorityThreshold: bigint;\n}",
          "description": "",
          "methods": [],
          "file": "src/voting.ts",
          "line": 45
        },
        {
          "name": "TallyResult",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/voting"
          ],
          "kind": "type",
          "signature": "export interface TallyResult {\n  method: VotingMethodId;\n  outcome: TallyOutcome;\n  winnerOptionId?: OptionId;\n  totalBallotWeight: bigint;\n  finalContinuingWeight: bigint;\n  finalExhaustedWeight: bigint;\n  rounds: readonly TallyRound[];\n  configHash: string;\n  ballotSetHash: string;\n  resultHash: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/voting.ts",
          "line": 55
        },
        {
          "name": "VotingTallyErrorCode",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/voting"
          ],
          "kind": "type",
          "signature": "export type VotingTallyErrorCode =\n  | \"invalid-config\"\n  | \"invalid-option-count\"\n  | \"invalid-option-id\"\n  | \"duplicate-option-id\"\n  | \"invalid-tie-break-rank\"\n  | \"duplicate-tie-break-rank\"\n  | \"non-contiguous-tie-break-rank\"\n  | \"invalid-ballot-id\"\n  | \"duplicate-ballot-id\"\n  | \"invalid-ballot-weight\"\n  | \"empty-ranking\"\n  | \"ranking-too-long\"\n  | \"unknown-ranked-option\"\n  | \"duplicate-ranked-option\"\n  | \"invalid-single-choice-ranking\"",
          "description": "",
          "methods": [],
          "file": "src/voting.ts",
          "line": 68
        },
        {
          "name": "VotingTallyError",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/browser",
            "@hazbase/kit/voting"
          ],
          "kind": "class",
          "signature": "class VotingTallyError",
          "description": "",
          "methods": [
            {
              "name": "constructor",
              "signature": "constructor(code: VotingTallyErrorCode, message: string, path?: string)",
              "description": ""
            }
          ],
          "file": "src/voting.ts",
          "line": 85
        },
        {
          "name": "VOTING_CONTRACT_METHOD_IDS",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/browser",
            "@hazbase/kit/voting"
          ],
          "kind": "constant",
          "signature": "export const VOTING_CONTRACT_METHOD_IDS: Readonly<Record<VotingMethodId, string>>",
          "description": "",
          "methods": [],
          "file": "src/voting.ts",
          "line": 108
        },
        {
          "name": "validateTallyInput",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/browser",
            "@hazbase/kit/voting"
          ],
          "kind": "function",
          "signature": "export function validateTallyInput(input: TallyInput): void",
          "description": "",
          "methods": [],
          "file": "src/voting.ts",
          "line": 133
        },
        {
          "name": "hashTallyConfig",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/browser",
            "@hazbase/kit/voting"
          ],
          "kind": "function",
          "signature": "export function hashTallyConfig(\n  options: readonly TallyOption[],\n  config: TallyConfig,\n): string",
          "description": "",
          "methods": [],
          "file": "src/voting.ts",
          "line": 267
        },
        {
          "name": "hashWeightedBallot",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/browser",
            "@hazbase/kit/voting"
          ],
          "kind": "function",
          "signature": "export function hashWeightedBallot(ballot: WeightedBallot): string",
          "description": "",
          "methods": [],
          "file": "src/voting.ts",
          "line": 307
        },
        {
          "name": "hashBallotSet",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/browser",
            "@hazbase/kit/voting"
          ],
          "kind": "function",
          "signature": "export function hashBallotSet(ballots: readonly WeightedBallot[]): string",
          "description": "",
          "methods": [],
          "file": "src/voting.ts",
          "line": 321
        },
        {
          "name": "tallyVotes",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/browser",
            "@hazbase/kit/voting"
          ],
          "kind": "function",
          "signature": "export function tallyVotes(input: TallyInput): TallyResult",
          "description": "",
          "methods": [],
          "file": "src/voting.ts",
          "line": 583
        },
        {
          "name": "HazbaseWalletApiErrorBody",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type HazbaseWalletApiErrorBody = {\n  message?: string | { message?: string; code?: string; errorCode?: string };\n  error?: string;\n  reason?: string;\n  code?: string;\n  errorCode?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 1
        },
        {
          "name": "HazbaseWalletApiError",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "class",
          "signature": "class HazbaseWalletApiError",
          "description": "",
          "methods": [
            {
              "name": "constructor",
              "signature": "constructor(message: string, status: number, code?: string, body?: HazbaseWalletApiErrorBody)",
              "description": ""
            }
          ],
          "file": "src/wallet.ts",
          "line": 9
        },
        {
          "name": "DEFAULT_HAZBASE_API_ENDPOINT",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "constant",
          "signature": "export const DEFAULT_HAZBASE_API_ENDPOINT: \"https://api.hazbase.com\"",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 23
        },
        {
          "name": "HazbaseWalletClientOptions",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type HazbaseWalletClientOptions = {\n  apiEndpoint?: string;\n  fetcher?: typeof fetch;\n  headers?: Record<string, string>;\n  requestId?: () => string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 25
        },
        {
          "name": "WalletTokenSummary",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type WalletTokenSummary = {\n  tokenId?: string;\n  chainId: number;\n  address: string;\n  symbol: string;\n  name: string;\n  decimals: number;\n  standard: string;\n  transferable: boolean;\n  whitelistRequired: boolean;\n  voucherRedeemEnabled: boolean;\n  blockExplorerUrl?: string | null;\n  metadata?: Record<string, unknown>;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 32
        },
        {
          "name": "WalletTokenBalance",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type WalletTokenBalance = {\n  raw: string;\n  formatted: string;\n  decimals: number;\n  symbol: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 47
        },
        {
          "name": "ListTokensInput",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type ListTokensInput = {\n  chainId?: number;\n  endpoint?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 54
        },
        {
          "name": "ListTokensResult",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type ListTokensResult = {\n  tokens: WalletTokenSummary[];\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 59
        },
        {
          "name": "GetTokenInfoInput",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type GetTokenInfoInput = {\n  chainId?: number;\n  token: string;\n  endpoint?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 64
        },
        {
          "name": "GetTokenInfoResult",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type GetTokenInfoResult = {\n  token: WalletTokenSummary;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 70
        },
        {
          "name": "GetBalanceInput",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type GetBalanceInput = {\n  chainId?: number;\n  token: string;\n  account: string;\n  endpoint?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 75
        },
        {
          "name": "GetBalanceResult",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type GetBalanceResult = {\n  chainId: number;\n  account: string;\n  token: WalletTokenSummary;\n  balance: WalletTokenBalance;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 82
        },
        {
          "name": "X402PaymentActivityDetails",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type X402PaymentActivityDetails = {\n  paymentRequestId: string;\n  paymentAttemptId?: string;\n  xPaymentHash?: string;\n  scheme?: string;\n  network?: string | null;\n  resourceId?: string;\n  resourceUrl?: string;\n  description?: string | null;\n  mimeType?: string | null;\n  amountAtomic?: string;\n  payTo?: string;\n  payoutKind?: string;\n  status?: string;\n  paidAt?: string | null;\n  settledAt?: string | null;\n  relayMode?: string;\n  submittedUserOpHash?: string | null;\n  proof?: Record<string, unknown> | null;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 90
        },
        {
          "name": "WalletActivityItem",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type WalletActivityItem = {\n  id: string;\n  kind?: string;\n  direction: string;\n  chainId: number;\n  account: string;\n  tokenAddress: string;\n  from: string;\n  to: string;\n  counterparty: string;\n  amount: WalletTokenBalance;\n  transactionHash: string;\n  blockNumber: number;\n  blockHash: string;\n  logIndex: number;\n  transactionIndex: number;\n  at?: string | null;\n  status?: string;\n  x402?: X402PaymentActivityDetails;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 111
        },
        {
          "name": "GetActivityInput",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type GetActivityInput = {\n  chainId?: number;\n  token: string;\n  account: string;\n  limit?: number;\n  cursor?: string;\n  fromBlock?: number;\n  toBlock?: number;\n  endpoint?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 132
        },
        {
          "name": "GetActivityResult",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type GetActivityResult = {\n  chainId: number;\n  account: string;\n  token: WalletTokenSummary;\n  activities: WalletActivityItem[];\n  nextCursor?: string | null;\n  range?: {\n    fromBlock: number;\n    toBlock: number;\n    latestBlock: number;\n  };\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 143
        },
        {
          "name": "PrepareTransferInput",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type PrepareTransferInput = {\n  chainId?: number;\n  token: string;\n  account: string;\n  recipient: string;\n  amount: string;\n  metadata?: Record<string, unknown>;\n  endpoint?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 157
        },
        {
          "name": "PrepareTransferResult",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type PrepareTransferResult = {\n  chainId: number;\n  account: string;\n  recipient: string;\n  token: WalletTokenSummary;\n  amount: {\n    input: string;\n    raw: string;\n    formatted: string;\n    decimals: number;\n    symbol: string;\n  };\n  execution: {\n    target: string;\n    value: string;\n    data: string;\n    method: string;\n    selector: string;\n  };\n  policy: {\n    authorization: string;\n    sessionEligible: boolean;\n    sponsored: boolean;\n  };\n  display: {\n    title: string;\n    subtitle: string;\n    from: string;\n    to: string;\n    assetSymbol: string;\n    assetName: string;\n  };\n  metadata?: Record<string, unknown>;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 167
        },
        {
          "name": "SubmitTransferInput",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type SubmitTransferInput = {\n  emailSession: string;\n  chainId?: number;\n  token: string;\n  account: string;\n  recipient: string;\n  amount: string;\n  deviceBindingId: string;\n  highTrustToken: string;\n  accountSalt?: string;\n  paymasterValiditySec?: number;\n  waitForReceipt?: boolean;\n  metadata?: Record<string, unknown>;\n  endpoint?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 203
        },
        {
          "name": "SubmitTransferResult",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type SubmitTransferResult = {\n  chainId: number;\n  token: WalletTokenSummary;\n  transfer: {\n    account: string;\n    recipient: string;\n    amount: PrepareTransferResult['amount'];\n    execution: PrepareTransferResult['execution'];\n  };\n  relayMode?: string;\n  bundlerRpcUrl?: string;\n  entryPointAddress?: string;\n  smartAccountAddress: string;\n  nonce: string;\n  initCode: string;\n  localUserOpHash?: string | null;\n  submittedUserOpHash?: string | null;\n  transactionHash?: string | null;\n  gasEstimate?: Record<string, unknown>;\n  receipt?: Record<string, unknown> | null;\n  metadata?: Record<string, unknown>;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 219
        },
        {
          "name": "GetTransferStatusInput",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type GetTransferStatusInput = {\n  emailSession: string;\n  chainId?: number;\n  token: string;\n  account: string;\n  recipient: string;\n  amount: string;\n  userOpHash: string;\n  transactionHash?: string;\n  relayMode?: string;\n  metadata?: Record<string, unknown>;\n  endpoint?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 243
        },
        {
          "name": "GetTransferStatusResult",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type GetTransferStatusResult = {\n  chainId: number;\n  token: WalletTokenSummary;\n  account: string;\n  recipient: string;\n  amount: PrepareTransferResult['amount'];\n  submittedUserOpHash: string;\n  transactionHash?: string | null;\n  confirmed: boolean;\n  blockNumber?: number;\n  logIndex?: number;\n  retryAfterMs?: number;\n  errorCode?: string;\n  status: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 257
        },
        {
          "name": "OwnerOperationCall",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type OwnerOperationCall = {\n  to: string;\n  value: string;\n  data: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 273
        },
        {
          "name": "PrepareOwnerOperationInput",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type PrepareOwnerOperationInput = {\n  chainId: number;\n  account: string;\n  policyKey: string;\n  calls: OwnerOperationCall[];\n  grantToken: string;\n  metadata?: Record<string, unknown>;\n  endpoint?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 279
        },
        {
          "name": "PrepareOwnerOperationResult",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type PrepareOwnerOperationResult = {\n  chainId: number;\n  account: string;\n  operation: {\n    policyKey: string;\n    displayName: string;\n    calls: Array<OwnerOperationCall & { selector: string }>;\n  };\n  policy: {\n    authorization: string;\n    sessionEligible: boolean;\n    sponsored: boolean;\n    maxCalls: number;\n    maxNativeValueWei: string;\n  };\n  metadata?: Record<string, unknown>;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 289
        },
        {
          "name": "SubmitOwnerOperationInput",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type SubmitOwnerOperationInput = PrepareOwnerOperationInput & {\n  emailSession: string;\n  deviceBindingId: string;\n  highTrustToken: string;\n  accountSalt?: string;\n  paymasterValiditySec?: string;\n  waitForReceipt?: boolean;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 308
        },
        {
          "name": "SubmitOwnerOperationResult",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type SubmitOwnerOperationResult = {\n  chainId: number;\n  operation: PrepareOwnerOperationResult['operation'];\n  policy: PrepareOwnerOperationResult['policy'];\n  relayMode?: string;\n  bundlerRpcUrl?: string | null;\n  entryPointAddress?: string;\n  smartAccountAddress: string;\n  nonce: string;\n  initCode: string;\n  localUserOpHash?: string | null;\n  submittedUserOpHash?: string | null;\n  transactionHash?: string | null;\n  gasEstimate?: Record<string, unknown>;\n  receipt?: Record<string, unknown> | null;\n  metadata?: Record<string, unknown>;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 317
        },
        {
          "name": "GetOwnerOperationStatusInput",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type GetOwnerOperationStatusInput = {\n  emailSession: string;\n  chainId: number;\n  account: string;\n  userOpHash: string;\n  transactionHash?: string;\n  relayMode?: string;\n  endpoint?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 336
        },
        {
          "name": "GetOwnerOperationStatusResult",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type GetOwnerOperationStatusResult = {\n  chainId: number;\n  account: string;\n  userOpHash: string;\n  transactionHash?: string | null;\n  confirmed: boolean;\n  blockNumber?: number;\n  logIndex?: number;\n  retryAfterMs?: number;\n  relayMode?: string;\n  errorCode?: string;\n  status: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 346
        },
        {
          "name": "PayX402WithHazbaseWalletInput",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type PayX402WithHazbaseWalletInput = {\n  emailSession: string;\n  paymentRequestId: string;\n  smartAccountAddress: string;\n  deviceBindingId: string;\n  highTrustToken: string;\n  accountSalt?: string;\n  waitForReceipt?: boolean;\n  expectedAmountAtomic?: string;\n  expectedPayTo?: string;\n  endpoint?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 360
        },
        {
          "name": "X402HazbaseWalletPaymentResult",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type X402HazbaseWalletPaymentResult = {\n  paymentRequestId: string;\n  paymentAttemptId: string;\n  xPaymentHash: string;\n  paid: boolean;\n  verified: boolean;\n  settled: boolean;\n  payer: string;\n  chainId: number;\n  network: string;\n  relayMode?: string;\n  submittedUserOpHash?: string | null;\n  transactionHash?: string | null;\n  gasEstimate?: Record<string, unknown>;\n  xPayment?: string | null;\n  receipt?: Record<string, unknown> | null;\n  status?: string;\n  errorCode?: string;\n  retryAfterMs?: number;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 373
        },
        {
          "name": "GetX402HazbaseWalletPaymentStatusInput",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type GetX402HazbaseWalletPaymentStatusInput = {\n  emailSession: string;\n  paymentRequestId: string;\n  paymentAttemptId: string;\n  endpoint?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 394
        },
        {
          "name": "CreateWalletLinkChallengeInput",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type CreateWalletLinkChallengeInput = {\n  origin: string;\n  purpose?: string;\n  endpoint?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 401
        },
        {
          "name": "WalletLinkChallengeResult",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type WalletLinkChallengeResult = {\n  challengeId: string;\n  nonce: string;\n  origin: string;\n  purpose: string;\n  expiresAt: string;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 407
        },
        {
          "name": "ApproveWalletLinkInput",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type ApproveWalletLinkInput = {\n  emailSession: string;\n  challengeId: string;\n  nonce: string;\n  walletAddress: string;\n  chainId: number;\n  endpoint?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 416
        },
        {
          "name": "ApproveWalletLinkResult",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type ApproveWalletLinkResult = {\n  challengeId: string;\n  proof: string;\n  expiresAt: string;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 425
        },
        {
          "name": "VerifyWalletLinkInput",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type VerifyWalletLinkInput = {\n  challengeId: string;\n  nonce: string;\n  proof: string;\n  origin: string;\n  endpoint?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 432
        },
        {
          "name": "VerifyWalletLinkResult",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type VerifyWalletLinkResult = {\n  verified: true;\n  walletAddress: string;\n  chainId: number;\n  origin: string;\n  purpose: string;\n  assurance: 'authenticated_wallet_session';\n  expiresAt: string;\n  linkSessionToken: string;\n  linkSessionExpiresAt: string;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 440
        },
        {
          "name": "VerifyWalletLinkSessionInput",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type VerifyWalletLinkSessionInput = {\n  linkSessionToken: string;\n  origin: string;\n  endpoint?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 453
        },
        {
          "name": "VerifyWalletLinkSessionResult",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type VerifyWalletLinkSessionResult = {\n  verified: true;\n  linkSessionId: string;\n  walletAddress: string;\n  chainId: number;\n  origin: string;\n  purpose: string;\n  assurance: 'authenticated_wallet_session';\n  linkSessionExpiresAt: string;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 459
        },
        {
          "name": "HazbaseWalletClient",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "type",
          "signature": "export type HazbaseWalletClient = ReturnType<typeof createHazbaseWalletClient>",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 471
        },
        {
          "name": "createHazbaseWalletClient",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/wallet"
          ],
          "kind": "function",
          "signature": "export function createHazbaseWalletClient(options: HazbaseWalletClientOptions = {})",
          "description": "",
          "methods": [],
          "file": "src/wallet.ts",
          "line": 473
        },
        {
          "name": "X402CompletionMode",
          "imports": [
            "@hazbase/kit/x402"
          ],
          "kind": "type",
          "signature": "export type X402CompletionMode = 'fragment'",
          "description": "",
          "methods": [],
          "file": "src/x402.ts",
          "line": 1
        },
        {
          "name": "X402AssetPolicy",
          "imports": [
            "@hazbase/kit/x402"
          ],
          "kind": "type",
          "signature": "export type X402AssetPolicy = {\n  asset?: string;\n  address?: string;\n  assetKey?: string;\n  tokenId?: string;\n  decimals?: number;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402.ts",
          "line": 3
        },
        {
          "name": "X402RequirementSelectionOptions",
          "imports": [
            "@hazbase/kit/x402"
          ],
          "kind": "type",
          "signature": "export type X402RequirementSelectionOptions = {\n  scheme?: string;\n  networks?: string[];\n  assets?: X402AssetPolicy[];\n  defaultDecimals?: number;\n  requirePayTo?: boolean;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402.ts",
          "line": 11
        },
        {
          "name": "HazbaseX402Requirement",
          "imports": [
            "@hazbase/kit/x402"
          ],
          "kind": "type",
          "signature": "export type HazbaseX402Requirement = {\n  scheme: string;\n  network: string;\n  paymentRequestId: string;\n  resource: string;\n  description?: string;\n  mimeType?: string;\n  payTo: string;\n  asset: string;\n  assetKey?: string;\n  amountAtomic: string;\n  amountFormatted: string;\n  decimals: number;\n  maxTimeoutSeconds?: number;\n  raw: Record<string, unknown>;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402.ts",
          "line": 19
        },
        {
          "name": "HazbaseX402Request",
          "imports": [
            "@hazbase/kit/x402"
          ],
          "kind": "type",
          "signature": "export type HazbaseX402Request = {\n  paymentRequestId: string;\n  sourceUrl: string;\n  pageTitle?: string;\n  completionMode?: X402CompletionMode;\n  completionParam?: string;\n  bridgeRequestId?: string;\n  detectedAt: string;\n  requirement: HazbaseX402Requirement;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402.ts",
          "line": 36
        },
        {
          "name": "SummarizeX402RequestContext",
          "imports": [
            "@hazbase/kit/x402"
          ],
          "kind": "type",
          "signature": "export type SummarizeX402RequestContext = {\n  sourceUrl: string;\n  pageTitle?: string;\n  detectedAt?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402.ts",
          "line": 47
        },
        {
          "name": "ReadX402RequestOptions",
          "imports": [
            "@hazbase/kit/x402"
          ],
          "kind": "type",
          "signature": "export type ReadX402RequestOptions = X402RequirementSelectionOptions & {\n  handoffStoragePrefix?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402.ts",
          "line": 53
        },
        {
          "name": "ResolveX402RequestOptions",
          "imports": [
            "@hazbase/kit/x402"
          ],
          "kind": "type",
          "signature": "export type ResolveX402RequestOptions = ReadX402RequestOptions & {\n  fetcher?: typeof fetch;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402.ts",
          "line": 57
        },
        {
          "name": "isX402RequestExpired",
          "imports": [
            "@hazbase/kit/x402"
          ],
          "kind": "function",
          "signature": "export function isX402RequestExpired(\n  request: Pick<HazbaseX402Request, 'detectedAt' | 'requirement'>,\n  nowMs: number,\n  options: { minTtlSeconds?: number; maxTtlSeconds?: number } = {},\n): boolean",
          "description": "",
          "methods": [],
          "file": "src/x402.ts",
          "line": 61
        },
        {
          "name": "parseX402ResponseBody",
          "imports": [
            "@hazbase/kit/x402"
          ],
          "kind": "function",
          "signature": "export function parseX402ResponseBody(input: string): Record<string, unknown> | null",
          "description": "",
          "methods": [],
          "file": "src/x402.ts",
          "line": 75
        },
        {
          "name": "summarizeX402Request",
          "imports": [
            "@hazbase/kit/x402"
          ],
          "kind": "function",
          "signature": "export function summarizeX402Request(\n  x402: Record<string, unknown>,\n  context: SummarizeX402RequestContext,\n  options: X402RequirementSelectionOptions = {},\n): HazbaseX402Request | null",
          "description": "",
          "methods": [],
          "file": "src/x402.ts",
          "line": 82
        },
        {
          "name": "readX402RequestFromUrl",
          "imports": [
            "@hazbase/kit/x402"
          ],
          "kind": "function",
          "signature": "export function readX402RequestFromUrl(\n  input = globalThis.location?.href ?? '',\n  options: ReadX402RequestOptions = {},\n): HazbaseX402Request | null",
          "description": "",
          "methods": [],
          "file": "src/x402.ts",
          "line": 104
        },
        {
          "name": "resolveX402RequestFromUrl",
          "imports": [
            "@hazbase/kit/x402"
          ],
          "kind": "function",
          "signature": "export async function resolveX402RequestFromUrl(\n  input = globalThis.location?.href ?? '',\n  options: ResolveX402RequestOptions = {},\n): Promise<HazbaseX402Request | null>",
          "description": "",
          "methods": [],
          "file": "src/x402.ts",
          "line": 140
        },
        {
          "name": "selectX402Requirement",
          "imports": [
            "@hazbase/kit/x402"
          ],
          "kind": "function",
          "signature": "export function selectX402Requirement(\n  x402: Record<string, unknown>,\n  options: X402RequirementSelectionOptions = {},\n): Omit<HazbaseX402Requirement, 'paymentRequestId'> | null",
          "description": "",
          "methods": [],
          "file": "src/x402.ts",
          "line": 168
        },
        {
          "name": "encodeX402ForUrl",
          "imports": [
            "@hazbase/kit/x402",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function encodeX402ForUrl(x402: Record<string, unknown>): string",
          "description": "",
          "methods": [],
          "file": "src/x402.ts",
          "line": 219
        },
        {
          "name": "decodeX402Param",
          "imports": [
            "@hazbase/kit/x402",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function decodeX402Param(input: string): string | null",
          "description": "",
          "methods": [],
          "file": "src/x402.ts",
          "line": 223
        },
        {
          "name": "parseJsonRecord",
          "imports": [
            "@hazbase/kit/x402",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function parseJsonRecord(input: string): Record<string, unknown> | null",
          "description": "",
          "methods": [],
          "file": "src/x402.ts",
          "line": 241
        },
        {
          "name": "safeCompletionParam",
          "imports": [
            "@hazbase/kit/x402",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function safeCompletionParam(value: string | null): string | null",
          "description": "",
          "methods": [],
          "file": "src/x402.ts",
          "line": 250
        },
        {
          "name": "base64UrlEncode",
          "imports": [
            "@hazbase/kit/x402",
            "@hazbase/kit/browser"
          ],
          "kind": "function",
          "signature": "export function base64UrlEncode(value: string): string",
          "description": "",
          "methods": [],
          "file": "src/x402.ts",
          "line": 255
        },
        {
          "name": "AgreementManagerHelper",
          "imports": [
            "@hazbase/kit"
          ],
          "kind": "class",
          "signature": "class AgreementManagerHelper",
          "description": "",
          "methods": [
            {
              "name": "deploy",
              "signature": "static async deploy(\n    args: DeployArgs,\n    signer: ethers.Signer,\n    opts?: Partial<Omit<DeployViaFactoryOptions, \"contractType\" | \"implABI\" | \"initArgs\" | \"signer\">>,\n  ): Promise<DeployResult>",
              "description": "Deploy a new AgreementManager proxy and return a connected helper.\nPurpose: Initialize a two-step offer manager with optional escrow and meta-tx."
            },
            {
              "name": "attach",
              "signature": "static attach(address: Address, runner: ContractRunner, ops?: OptionalArgs): AgreementManagerHelper",
              "description": "Attach to an existing AgreementManager at `address`.\nPurpose: Bind helper to a deployed proxy for calls and transactions."
            },
            {
              "name": "connect",
              "signature": "connect(runner: ContractRunner): AgreementManagerHelper",
              "description": "Return a new helper bound to a different signer/runner.\nPurpose: Swap wallet/provider without re-attaching."
            },
            {
              "name": "offer",
              "signature": "async offer(a: OfferArgs): Promise<{ offerId: Bytes32; receipt: TransactionReceipt }>",
              "description": "Create an offer and (optionally) escrow assets into the contract.\nPurpose: Persist an issuer-signed offer; escrow occurs if `tokenAddress != 0x0`."
            },
            {
              "name": "cancelOffer",
              "signature": "async cancelOffer(offerId: Bytes32): Promise<TransactionReceipt>",
              "description": "Cancel an offered (non-expired) offer; issuer only.\nPurpose: Return escrow to issuer and remove the offer."
            },
            {
              "name": "acceptOffer",
              "signature": "async acceptOffer(offerId: Bytes32, investorSig: BytesLike): Promise<TransactionReceipt>",
              "description": "Accept an offered (non-expired) offer as investor or delegated market.\nPurpose: Transfer escrow to investor and finalize agreement."
            },
            {
              "name": "rejectOffer",
              "signature": "async rejectOffer(offerId: Bytes32): Promise<TransactionReceipt>",
              "description": "Reject an offered (non-expired) offer; investor only.\nPurpose: Return escrow to issuer and delete the offer."
            },
            {
              "name": "raiseDispute",
              "signature": "async raiseDispute(offerId: Bytes32, evidenceURI: string): Promise<{ disputeId: Bytes32; receipt: TransactionReceipt }>",
              "description": "Raise a dispute record (no fund movement).\nPurpose: Persist a dispute with an evidence pointer."
            },
            {
              "name": "setDisputeStatus",
              "signature": "async setDisputeStatus(id: Bytes32, newStatus: DisputeStatus): Promise<TransactionReceipt>",
              "description": "Set dispute status (GUARDIAN_ROLE).\nPurpose: Administrative status transition (no fund movement)."
            },
            {
              "name": "getOffer",
              "signature": "async getOffer(id: Bytes32): Promise<OfferStruct>",
              "description": "Get a stored Offer by id."
            },
            {
              "name": "getDispute",
              "signature": "async getDispute(id: Bytes32): Promise<DisputeStruct>",
              "description": "Read a stored Dispute by id."
            },
            {
              "name": "nextNonce",
              "signature": "async nextNonce(issuer: Address): Promise<bigint>",
              "description": "Next nonce value expected to be unused for an issuer."
            },
            {
              "name": "usedNonces",
              "signature": "async usedNonces(issuer: Address, nonce: BigNumberish): Promise<boolean>",
              "description": "Used-nonce check (public mapping)."
            },
            {
              "name": "currentNonce",
              "signature": "async currentNonce(issuer: Address): Promise<bigint>",
              "description": "Current nonce counter (public mapping; equals `nextNonce`)."
            },
            {
              "name": "isSettled",
              "signature": "async isSettled(id: Bytes32): Promise<boolean>",
              "description": "Settlement flag (true after successful acceptance)."
            },
            {
              "name": "contractType",
              "signature": "async contractType(): Promise<string>",
              "description": "Contract type string (\"AgreementManager\")."
            },
            {
              "name": "contractVersion",
              "signature": "async contractVersion(): Promise<string>",
              "description": "Contract semantic version (\"1\")."
            },
            {
              "name": "isTrustedForwarder",
              "signature": "async isTrustedForwarder(fwd: Address): Promise<boolean>",
              "description": "ERC-2771 meta-tx forwarder check."
            },
            {
              "name": "supportsInterface",
              "signature": "async supportsInterface(iid: BytesLike): Promise<boolean>",
              "description": "ERC-165 support check."
            },
            {
              "name": "pause",
              "signature": "async pause(): Promise<TransactionReceipt>",
              "description": "Pause state-changing entrypoints (PAUSER_ROLE)."
            },
            {
              "name": "unpause",
              "signature": "async unpause(): Promise<TransactionReceipt>",
              "description": "Unpause state-changing entrypoints (PAUSER_ROLE)."
            },
            {
              "name": "computeOfferId",
              "signature": "static computeOfferId(x: {\n    issuer: Address;\n    investor: Address;\n    tokenAddress: Address;\n    partition: Bytes32;\n    tokenId: BigNumberish;\n    amount: BigNumberish;\n    classId: BigNumberish;\n    nonceId: BigNumberish;\n    documentHash: Bytes32;\n    documentURI: string;\n    expiry: BigNumberish;\n    nonce: BigNumberish;\n  }): Bytes32",
              "description": "Compute deterministic `offerId` exactly as the contract does (keccak256(abi.encode(...))).\nPurpose: Pre-compute ids client-side and reconcile with events/storage."
            },
            {
              "name": "buildOfferDigest",
              "signature": "static buildOfferDigest(\n    chainId: number,\n    verifyingContract: Address,\n    offer: {\n      issuer: Address; investor: Address; tokenAddress: Address; partition: Bytes32;\n      tokenId: BigNumberish; amount: BigNumberish; classId: BigNumberish; nonceId: BigNumberish;\n      documentHash: Bytes32; documentURI: string; expiry: BigNumberish; nonce: BigNumberish;\n    }\n  ): Bytes32",
              "description": "Build the EIP-712 digest used by both issuer and investor for a given offer.\nPurpose: Pre-validate signatures or generate them off-chain."
            },
            {
              "name": "signOffer",
              "signature": "static async signOffer(\n    signer: ethers.Signer,\n    chainId: number,\n    verifyingContract: Address,\n    offer: {\n      issuer: Address; investor: Address; tokenAddress: Address; partition: Bytes32;\n      tokenId: BigNumberish; amount: BigNumberish; classId: BigNumberish; nonceId: BigNumberish;\n      documentHash: Bytes32; documentURI: string; expiry: BigNumberish; nonce: BigNumberish;\n    }\n  ): Promise<string>",
              "description": "Sign an Offer (issuer or investor).\nPurpose: Helper for tests/tools to produce correct EIP-712 signatures."
            },
            {
              "name": "recoverOfferSigner",
              "signature": "static recoverOfferSigner(\n    chainId: number,\n    verifyingContract: Address,\n    offer: {\n      issuer: Address; investor: Address; tokenAddress: Address; partition: Bytes32;\n      tokenId: BigNumberish; amount: BigNumberish; classId: BigNumberish; nonceId: BigNumberish;\n      documentHash: Bytes32; documentURI: string; expiry: BigNumberish; nonce: BigNumberish;\n    },\n    sig: SignatureLike\n  ): Address",
              "description": "Recover signer from a provided signature over an offer payload."
            },
            {
              "name": "queryOfferCreated",
              "signature": "async queryOfferCreated(from?: number | string, to?: number | string)",
              "description": "Query `OfferCreated(offerId, issuer, investor)` events."
            },
            {
              "name": "queryOfferCancelled",
              "signature": "async queryOfferCancelled(from?: number | string, to?: number | string)",
              "description": "Query `OfferCancelled(offerId)` events."
            },
            {
              "name": "queryOfferSettled",
              "signature": "async queryOfferSettled(from?: number | string, to?: number | string)",
              "description": "Query `OfferSettled(...)` events."
            },
            {
              "name": "queryOfferRejected",
              "signature": "async queryOfferRejected(from?: number | string, to?: number | string)",
              "description": "Query `OfferRejected(offerId)` events."
            },
            {
              "name": "queryOfferCleanedUp",
              "signature": "async queryOfferCleanedUp(from?: number | string, to?: number | string)",
              "description": "Query `OfferCleanedUp(offerId)` events."
            },
            {
              "name": "queryDisputeRaised",
              "signature": "async queryDisputeRaised(from?: number | string, to?: number | string)",
              "description": "Query `DisputeRaised(disputeId, offerId, claimant, evidenceURI)` events."
            },
            {
              "name": "queryDisputeStatusChanged",
              "signature": "async queryDisputeStatusChanged(from?: number | string, to?: number | string)",
              "description": "Query `DisputeStatusChanged(disputeId, newStatus)` events."
            }
          ],
          "file": "src/helpers/AgreementManagerHelper.ts",
          "line": 187
        },
        {
          "name": "BondTokenHelper",
          "imports": [
            "@hazbase/kit"
          ],
          "kind": "class",
          "signature": "class BondTokenHelper",
          "description": "",
          "methods": [
            {
              "name": "deploy",
              "signature": "static async deploy(\n    args: DeployArgs,\n    signer: ethers.Signer,\n    opts?: Partial<Omit<DeployViaFactoryOptions, \"contractType\"|\"implABI\"|\"initArgs\"|\"signer\">>\n  ): Promise<DeployResult>",
              "description": "Deploy a new BondToken proxy and return a connected helper.\nPurpose: Initialize an ERC-3475 Class/Nonce bond token with snapshots, whitelist, and EIP-712 permit."
            },
            {
              "name": "attach",
              "signature": "static attach(address: string, runner: ContractRunner, ops?: OptionalArgs): BondTokenHelper",
              "description": "Attach to an existing BondToken at `address`.\nPurpose: Bind a helper to an already deployed instance."
            },
            {
              "name": "connect",
              "signature": "connect(runner: ContractRunner): BondTokenHelper",
              "description": "Return a new helper bound to a different signer/runner.\nPurpose: Swap wallet/provider without re-attaching."
            },
            {
              "name": "createClass",
              "signature": "async createClass(classId: BigNumberish, data: Values[]): Promise<TransactionReceipt>",
              "description": "Create a new class with metadata (MINTER_ROLE)."
            },
            {
              "name": "createNonce",
              "signature": "async createNonce(classId: BigNumberish, nonceId: BigNumberish, data: Values[]): Promise<TransactionReceipt>",
              "description": "Create a new nonce under an existing class (MINTER_ROLE)."
            },
            {
              "name": "setClassTransferable",
              "signature": "async setClassTransferable(classId: BigNumberish, ok: boolean): Promise<TransactionReceipt>",
              "description": "Toggle class transferability (MINTER_ROLE)."
            },
            {
              "name": "setWhitelist",
              "signature": "async setWhitelist(registry: string): Promise<TransactionReceipt>",
              "description": "Configure an external whitelist registry (MINTER_ROLE)."
            },
            {
              "name": "issue",
              "signature": "async issue(to: string, classId: BigNumberish, nonceId: BigNumberish, amount: BigNumberish): Promise<TransactionReceipt>",
              "description": "Mint bond units to `to` for (classId, nonceId) (MINTER_ROLE, whenNotPaused)."
            },
            {
              "name": "transfer",
              "signature": "async transfer(to: string, classId: BigNumberish, nonceId: BigNumberish, amount: BigNumberish): Promise<TransactionReceipt>",
              "description": "Transfer bond units from caller to `to` (whenNotPaused)."
            },
            {
              "name": "operatorTransferFrom",
              "signature": "async operatorTransferFrom(\n    from: string, to: string, classId: BigNumberish, nonceId: BigNumberish, amount: BigNumberish\n  ): Promise<TransactionReceipt>",
              "description": "Operator transfer with approval (or MINTER_ROLE) (whenNotPaused)."
            },
            {
              "name": "redeem",
              "signature": "async redeem(classId: BigNumberish, nonceId: BigNumberish, amount: BigNumberish): Promise<TransactionReceipt>",
              "description": "Redeem (burn) from caller (whenNotPaused)."
            },
            {
              "name": "burn",
              "signature": "async burn(from: string, classId: BigNumberish, nonceId: BigNumberish, amount: BigNumberish): Promise<TransactionReceipt>",
              "description": "Burn from an arbitrary holder (MINTER_ROLE, whenNotPaused)."
            },
            {
              "name": "setApprovalForAll",
              "signature": "async setApprovalForAll(operator: string, approved: boolean): Promise<TransactionReceipt>",
              "description": "Approve or revoke an operator for all of caller’s positions."
            },
            {
              "name": "isApprovedForAll",
              "signature": "async isApprovedForAll(owner: string, operator: string): Promise<boolean>",
              "description": "Check operator approval for `owner`."
            },
            {
              "name": "nonces",
              "signature": "async nonces(owner: string): Promise<bigint>",
              "description": "Read current EIP-712 permit nonce for `owner`."
            },
            {
              "name": "permitForAll",
              "signature": "async permitForAll(\n    owner: string,\n    operator: string,\n    approved: boolean,\n    deadline: BigNumberish,\n    vrs: SigParts\n  ): Promise<TransactionReceipt>",
              "description": "Submit an on-chain PermitForAll (gasless approval) using a signature."
            },
            {
              "name": "signPermitForAll",
              "signature": "async signPermitForAll(\n    signer: ethers.Signer,\n    payload: Omit<PermitForAllStruct, \"nonce\">,\n    chainId: number,\n    verifyingContract: string,\n    currentNonce: bigint\n  ): Promise<string>",
              "description": "Produce an EIP-712 signature for PermitForAll (off-chain)."
            },
            {
              "name": "snapshot",
              "signature": "async snapshot(): Promise<{ id: bigint | null; receipt: TransactionReceipt }>",
              "description": "Create a new snapshot id (MINTER_ROLE).\nPurpose: Finalize “dirty” balances/supply and increment `_snapId`."
            },
            {
              "name": "balanceOfAt",
              "signature": "async balanceOfAt(holder: string, classId: BigNumberish, nonceId: BigNumberish, id: BigNumberish): Promise<bigint>",
              "description": "Historical balance at snapshot `id`."
            },
            {
              "name": "totalSupplyAt",
              "signature": "async totalSupplyAt(classId: BigNumberish, nonceId: BigNumberish, id: BigNumberish): Promise<bigint>",
              "description": "Historical total supply at snapshot `id`."
            },
            {
              "name": "balanceOf",
              "signature": "async balanceOf(owner: string, classId: BigNumberish, nonceId: BigNumberish): Promise<bigint>",
              "description": "Current balance for (classId, nonceId)."
            },
            {
              "name": "totalSupply",
              "signature": "async totalSupply(classId: BigNumberish, nonceId: BigNumberish): Promise<bigint>",
              "description": "Current total supply for (classId, nonceId)."
            },
            {
              "name": "classTransferable",
              "signature": "async classTransferable(classId: BigNumberish): Promise<boolean>",
              "description": "Class transferability flag (public mapping)."
            },
            {
              "name": "classData",
              "signature": "async classData(classId: BigNumberish): Promise<Values[]>",
              "description": "Return all class metadata pairs."
            },
            {
              "name": "nonceData",
              "signature": "async nonceData(classId: BigNumberish, nonceId: BigNumberish): Promise<Values[]>",
              "description": "Return all nonce metadata pairs."
            },
            {
              "name": "classDataAt",
              "signature": "async classDataAt(classId: BigNumberish, index: BigNumberish): Promise<{ key: string; value: string }>",
              "description": "Indexed class metadata accessor (key,value)."
            },
            {
              "name": "supportsInterface",
              "signature": "async supportsInterface(iid: BytesLike): Promise<boolean>",
              "description": "ERC-165 interface support."
            },
            {
              "name": "pause",
              "signature": "async pause(): Promise<TransactionReceipt>",
              "description": "Pause state-changing entrypoints (PAUSER_ROLE)."
            },
            {
              "name": "unpause",
              "signature": "async unpause(): Promise<TransactionReceipt>",
              "description": "Unpause state-changing entrypoints (PAUSER_ROLE)."
            },
            {
              "name": "queryClassCreated",
              "signature": "async queryClassCreated(from?: number | string, to?: number | string)",
              "description": "Query `ClassCreated(classId)` events."
            },
            {
              "name": "queryNonceCreated",
              "signature": "async queryNonceCreated(from?: number | string, to?: number | string)",
              "description": "Query `NonceCreated(classId, nonceId)` events."
            },
            {
              "name": "queryTransfer",
              "signature": "async queryTransfer(from?: number | string, to?: number | string)",
              "description": "Query `Transfer(from,to,classId,nonceId,amount)` events."
            },
            {
              "name": "queryRedeemed",
              "signature": "async queryRedeemed(from?: number | string, to?: number | string)",
              "description": "Query `Redeemed(from,classId,nonceId,amount)` events."
            },
            {
              "name": "queryClassTransferableSet",
              "signature": "async queryClassTransferableSet(from?: number | string, to?: number | string)",
              "description": "Query `ClassTransferableSet(classId,allowed)` events."
            },
            {
              "name": "querySnapshot",
              "signature": "async querySnapshot(from?: number | string, to?: number | string)",
              "description": "Query `Snapshot(id)` events."
            }
          ],
          "file": "src/helpers/BondTokenHelper.ts",
          "line": 93
        },
        {
          "name": "DebtManagerHelper",
          "imports": [
            "@hazbase/kit"
          ],
          "kind": "class",
          "signature": "class DebtManagerHelper",
          "description": "",
          "methods": [
            {
              "name": "deploy",
              "signature": "static async deploy(\n    args: DeployArgs,\n    signer: ethers.Signer,\n    opts?: Partial<\n      Omit<\n        DeployViaFactoryOptions,\n        \"contractType\" | \"implABI\" | \"initArgs\" | \"signer\"\n      >\n    >\n  ): Promise<DeployResult>",
              "description": "Deploy a new DebtManager proxy and return a connected helper.\nPurpose: Initialize a snapshot-based bond/debt lifecycle manager."
            },
            {
              "name": "attach",
              "signature": "static attach(address: Address, runner: ContractRunner, ops?: OptionalArgs): DebtManagerHelper",
              "description": "Attach to an existing DebtManager at `address`.\nPurpose: Bind helper to a deployed proxy/implementation for calls/txs."
            },
            {
              "name": "connect",
              "signature": "connect(runner: ContractRunner): DebtManagerHelper",
              "description": "Return a new helper bound to a different signer/runner.\nPurpose: Swap wallet/provider without re-attaching."
            },
            {
              "name": "createTranche",
              "signature": "async createTranche(a: CreateTrancheArgs): Promise<TransactionReceipt>",
              "description": "Create a new tranche (class/nonce) and register it as PENDING.\nPurpose: Set base tokens & economics before adding coupon schedule."
            },
            {
              "name": "addCouponSchedule",
              "signature": "async addCouponSchedule(\n    idx: BigNumberish,\n    payDate: BigNumberish,\n    rateBps: BigNumberish\n  ): Promise<TransactionReceipt>",
              "description": "Append a coupon epoch (strictly increasing by payDate).\nPurpose: Build the schedule; first append moves PENDING → ACTIVE."
            },
            {
              "name": "payCoupon",
              "signature": "async payCoupon(\n    idx: BigNumberish,\n    epoch: number,\n    totalAmount: BigNumberish\n  ): Promise<TransactionReceipt>",
              "description": "Provision coupon funds and take a snapshot for an epoch.\nPurpose: Record snapshot & per-unit payout, enabling holder claims."
            },
            {
              "name": "payCouponWithPermit",
              "signature": "async payCouponWithPermit(\n    idx: BigNumberish,\n    epoch: number,\n    totalAmount: BigNumberish,\n    deadline: BigNumberish,\n    sig: { v: number; r: BytesLike; s: BytesLike }\n  ): Promise<TransactionReceipt>",
              "description": "Pay coupon using EIP-2612 `permit` on coupon token.\nPurpose: Fund coupon in a single tx with gasless token approval."
            },
            {
              "name": "notifyCall",
              "signature": "async notifyCall(idx: BigNumberish): Promise<TransactionReceipt>",
              "description": "Notify CALL (issuer side). After notice period, holders can execute call.\nPurpose: Move ACTIVE → CALLED, start call notice countdown."
            },
            {
              "name": "depositPrincipal",
              "signature": "async depositPrincipal(\n    idx: BigNumberish,\n    amount: BigNumberish\n  ): Promise<TransactionReceipt>",
              "description": "Deposit principal into tranche pool (issuer funding).\nPurpose: Top up `principalPool`; required before payouts/redemptions."
            },
            {
              "name": "notifySupplyChange",
              "signature": "async notifySupplyChange(idx: BigNumberish): Promise<TransactionReceipt>",
              "description": "Notify that debt token total supply changed externally.\nPurpose: Recompute `requiredPrincipal` = principalPerUnit × totalSupply\n         delta since last cache; keeps funding requirements consistent."
            },
            {
              "name": "checkDefault",
              "signature": "async checkDefault(idx: BigNumberish): Promise<TransactionReceipt>",
              "description": "Check & flag default if next unpaid coupon exceeded grace.\nPurpose: Set status → DEFAULTED when due + grace < now and unpaid."
            },
            {
              "name": "closeTranche",
              "signature": "async closeTranche(\n    idx: BigNumberish,\n    to: Address\n  ): Promise<TransactionReceipt>",
              "description": "Close tranche at/after maturity (issuer sweep).\nPurpose: Mark MATURED and sweep remaining funds to `to` (after grace),\n         or enforce all coupons claimed if within grace."
            },
            {
              "name": "claimCoupon",
              "signature": "async claimCoupon(\n    idx: BigNumberish,\n    epoch: number\n  ): Promise<TransactionReceipt>",
              "description": "Claim coupon for an epoch based on snapshot balance.\nPurpose: Receiver gets `balanceOfAt * perUnit` for epoch snapshot."
            },
            {
              "name": "executeCall",
              "signature": "async executeCall(\n    idx: BigNumberish,\n    amount: BigNumberish\n  ): Promise<TransactionReceipt>",
              "description": "Execute CALL after issuer notice period.\nPurpose: Burn `amount` units and receive call price × principal."
            },
            {
              "name": "givePutNotice",
              "signature": "async givePutNotice(idx: BigNumberish): Promise<TransactionReceipt>",
              "description": "File a PUT notice (requires current positive balance).\nPurpose: Start put notice countdown for the caller."
            },
            {
              "name": "exercisePut",
              "signature": "async exercisePut(\n    idx: BigNumberish,\n    amount: BigNumberish\n  ): Promise<TransactionReceipt>",
              "description": "Execute PUT after notice period.\nPurpose: Burn `amount` units and receive put price × principal."
            },
            {
              "name": "redeemAtMaturity",
              "signature": "async redeemAtMaturity(\n    idx: BigNumberish,\n    amount: BigNumberish\n  ): Promise<TransactionReceipt>",
              "description": "Redeem principal at/after maturity (ACTIVE or PUT_NOTICE).\nPurpose: Burn `amount` units and receive `principalPerUnit * amount`."
            },
            {
              "name": "tranchesLength",
              "signature": "async tranchesLength(): Promise<bigint>",
              "description": "Number of tranches created.\nPurpose: Utility to enumerate tranche indices."
            },
            {
              "name": "trancheInfo",
              "signature": "async trancheInfo(idx: BigNumberish): Promise<TrancheInfo>",
              "description": "Read key tranche metadata (see `TrancheInfo`).\nPurpose: Fetch static economics & addresses for UI/services."
            },
            {
              "name": "couponCount",
              "signature": "async couponCount(idx: BigNumberish): Promise<number>",
              "description": "Number of coupon epochs on a tranche.\nPurpose: Iterate coupon schedule for display or reconciliation."
            },
            {
              "name": "couponMeta",
              "signature": "async couponMeta(idx: BigNumberish, ep: number): Promise<CouponMeta>",
              "description": "Return coupon epoch metadata (no snapshot/perUnit in this view).\nPurpose: Show coupon calendar and payout progress."
            },
            {
              "name": "isClaimed",
              "signature": "async isClaimed(\n    idx: BigNumberish,\n    ep: number,\n    owner: Address\n  ): Promise<boolean>",
              "description": "Public convenience: whether `owner` claimed coupon `ep` for tranche `idx`.\nPurpose: Wallet UI: hide claim button when already claimed."
            },
            {
              "name": "pause",
              "signature": "async pause(): Promise<TransactionReceipt>",
              "description": "Pause state-changing entrypoints (PAUSER_ROLE).\nPurpose: Emergency stop to halt coupon/put/call/redemptions."
            },
            {
              "name": "unpause",
              "signature": "async unpause(): Promise<TransactionReceipt>",
              "description": "Unpause state-changing entrypoints (PAUSER_ROLE).\nPurpose: Resume operations after an emergency."
            },
            {
              "name": "queryTrancheCreated",
              "signature": "async queryTrancheCreated(from?: number | string, to?: number | string)",
              "description": "Query `TrancheCreated(idx,maturity)` events."
            },
            {
              "name": "queryCouponScheduleAdded",
              "signature": "async queryCouponScheduleAdded(\n    from?: number | string,\n    to?: number | string\n  )",
              "description": "Query `CouponScheduleAdded(idx,epoch,payDate,rateBps)` events."
            },
            {
              "name": "queryCouponPaid",
              "signature": "async queryCouponPaid(from?: number | string, to?: number | string)",
              "description": "Query `CouponPaid(idx,epoch,totalAmount)` events."
            },
            {
              "name": "queryCouponClaimed",
              "signature": "async queryCouponClaimed(from?: number | string, to?: number | string)",
              "description": "Query `CouponClaimed(idx,epoch,holder,amount)` events."
            },
            {
              "name": "queryCallNotified",
              "signature": "async queryCallNotified(from?: number | string, to?: number | string)",
              "description": "Query `CallNotified(idx)` events."
            },
            {
              "name": "queryCalled",
              "signature": "async queryCalled(from?: number | string, to?: number | string)",
              "description": "Query `Called(idx,holder,amount,pay)` events."
            },
            {
              "name": "queryPutNotified",
              "signature": "async queryPutNotified(from?: number | string, to?: number | string)",
              "description": "Query `PutNotified(idx,holder)` events."
            },
            {
              "name": "queryPutExecuted",
              "signature": "async queryPutExecuted(from?: number | string, to?: number | string)",
              "description": "Query `PutExecuted(idx,holder,amount)` events."
            },
            {
              "name": "queryDefaulted",
              "signature": "async queryDefaulted(from?: number | string, to?: number | string)",
              "description": "Query `Defaulted(idx,missedEpoch)` events."
            },
            {
              "name": "queryPrincipalRedeemed",
              "signature": "async queryPrincipalRedeemed(from?: number | string, to?: number | string)",
              "description": "Query `PrincipalRedeemed(idx,holder,amount)` events."
            },
            {
              "name": "queryTrancheClosed",
              "signature": "async queryTrancheClosed(from?: number | string, to?: number | string)",
              "description": "Query `TrancheClosed(idx,to)` events."
            },
            {
              "name": "queryPrincipalFunded",
              "signature": "async queryPrincipalFunded(from?: number | string, to?: number | string)",
              "description": "Query `PrincipalFunded(idx,amount)` events."
            },
            {
              "name": "querySupplyAdjusted",
              "signature": "async querySupplyAdjusted(from?: number | string, to?: number | string)",
              "description": "Query `SupplyAdjusted(idx,dUnits,dPrincipal)` events."
            },
            {
              "name": "buildLeaf",
              "signature": "static buildLeaf(index: number, holder: Address, amount: bigint): Bytes32",
              "description": "(Legacy) Build a leaf = keccak256(abi.encodePacked(index, holder, amount))\nNote: Current `DebtManager` uses snapshot-based coupon distribution,\n      not Merkle-based claims. Kept for backwards-compatible tooling."
            }
          ],
          "file": "src/helpers/DebtManagerHelper.ts",
          "line": 141
        },
        {
          "name": "EmergencyPauseManagerHelper",
          "imports": [
            "@hazbase/kit"
          ],
          "kind": "class",
          "signature": "class EmergencyPauseManagerHelper",
          "description": "",
          "methods": [
            {
              "name": "deploy",
              "signature": "static async deploy(\n    { admin, forwarders }: DeployArgs,\n    signer: ethers.Signer,\n    opts?: Partial<Omit<DeployViaFactoryOptions, 'contractType' | 'implABI' | 'initArgs' | 'signer'>>\n  ): Promise<DeployResult>",
              "description": "Deploy a new EmergencyPauseManager proxy via your factory helper.\n- Initializes with: `initialize(admin, forwarders)`."
            },
            {
              "name": "attach",
              "signature": "static attach(address: Address, runner: ContractRunner, ops?: OptionalArgs): EmergencyPauseManagerHelper",
              "description": "Attach an existing EmergencyPauseManager at `address`."
            },
            {
              "name": "connect",
              "signature": "connect(runner: ContractRunner): EmergencyPauseManagerHelper",
              "description": "Return a new helper bound to a different runner/signer."
            },
            {
              "name": "registerPausable",
              "signature": "async registerPausable(target: Address): Promise<TransactionReceipt>",
              "description": "Register a new Pausable-compatible target contract."
            },
            {
              "name": "removePausable",
              "signature": "async removePausable(target: Address): Promise<TransactionReceipt>",
              "description": "Remove a previously registered target."
            },
            {
              "name": "getTargets",
              "signature": "async getTargets(): Promise<Address[]>",
              "description": "Return the full list of registered targets."
            },
            {
              "name": "pauseAll",
              "signature": "async pauseAll(): Promise<TransactionReceipt>",
              "description": "Batch-call `pause()` on all registered targets.\n- Emits `PausedAll(msg.sender)` after attempting all targets.\n- For each target failure, emits `PauseFailed(target)`; the batch continues."
            },
            {
              "name": "unpauseAll",
              "signature": "async unpauseAll(): Promise<TransactionReceipt>",
              "description": "Batch-call `unpause()` on all registered targets.\n- Emits `UnpausedAll(msg.sender)` after attempting all targets.\n- For each target failure, emits `UnpauseFailed(target)`; the batch continues."
            },
            {
              "name": "checkAllPaused",
              "signature": "async checkAllPaused(): Promise<boolean>",
              "description": "Check if **all** targets currently report `paused() == true`.\n- Internally uses `staticcall` to each target’s `paused()`; returns `false` if any call fails."
            },
            {
              "name": "maxTargets",
              "signature": "async maxTargets(): Promise<bigint>",
              "description": "Read `MAX_TARGETS` constant from the contract, if exposed as public."
            },
            {
              "name": "queryTargetRegistered",
              "signature": "async queryTargetRegistered(from?: number | string, to?: number | string)",
              "description": "Query `TargetRegistered(target)` events."
            },
            {
              "name": "queryTargetRemoved",
              "signature": "async queryTargetRemoved(from?: number | string, to?: number | string)",
              "description": "Query `TargetRemoved(target)` events."
            },
            {
              "name": "queryPausedAll",
              "signature": "async queryPausedAll(from?: number | string, to?: number | string)",
              "description": "Query `PausedAll(pauser)` events."
            },
            {
              "name": "queryUnpausedAll",
              "signature": "async queryUnpausedAll(from?: number | string, to?: number | string)",
              "description": "Query `UnpausedAll(pauser)` events."
            },
            {
              "name": "queryPauseFailed",
              "signature": "async queryPauseFailed(from?: number | string, to?: number | string)",
              "description": "Query `PauseFailed(target)` events."
            },
            {
              "name": "queryUnpauseFailed",
              "signature": "async queryUnpauseFailed(from?: number | string, to?: number | string)",
              "description": "Query `UnpauseFailed(target)` events."
            },
            {
              "name": "grantRole",
              "signature": "async grantRole(role: string, account: Address): Promise<TransactionReceipt>",
              "description": "Grant a role (bytes32) to an account. Requires `DEFAULT_ADMIN_ROLE`."
            },
            {
              "name": "revokeRole",
              "signature": "async revokeRole(role: string, account: Address): Promise<TransactionReceipt>",
              "description": "Revoke a role (bytes32) from an account. Requires `DEFAULT_ADMIN_ROLE`."
            },
            {
              "name": "renounceRole",
              "signature": "async renounceRole(role: string, account: Address): Promise<TransactionReceipt>",
              "description": "Renounce a role (bytes32) for the connected signer (self)."
            },
            {
              "name": "hasRole",
              "signature": "async hasRole(role: string, account: Address): Promise<boolean>",
              "description": "Check if `account` holds `role`."
            }
          ],
          "file": "src/helpers/EmergencyPauseManagerHelper.ts",
          "line": 69
        },
        {
          "name": "FlexibleTokenHelper",
          "imports": [
            "@hazbase/kit"
          ],
          "kind": "class",
          "signature": "class FlexibleTokenHelper",
          "description": "",
          "methods": [
            {
              "name": "deploy",
              "signature": "static async deploy(\n    args: DeployArgs,\n    signer: ethers.Signer,\n    opts?: Partial<Omit<DeployViaFactoryOptions, \"contractType\" | \"implABI\" | \"initArgs\" | \"signer\">>,\n  ): Promise<DeployResult>",
              "description": "Deploy a new FlexibleToken proxy and return a connected helper.\nPurpose: Initialize a configurable ERC20Votes token with optional cap and soul-bound behavior."
            },
            {
              "name": "attach",
              "signature": "static attach(address: Address, runner: ContractRunner, ops?: OptionalArgs): FlexibleTokenHelper",
              "description": "Attach to an existing FlexibleToken at `address`.\nPurpose: Create a helper bound to a deployed proxy or implementation."
            },
            {
              "name": "connect",
              "signature": "connect(runner: ContractRunner): FlexibleTokenHelper",
              "description": "Return a new helper bound to a different signer/runner.\nPurpose: Swap execution context (e.g., change wallet) without re-attaching."
            },
            {
              "name": "mint",
              "signature": "async mint(to: Address, amount: BigNumberish): Promise<TransactionReceipt>",
              "description": "Mint tokens to `to` (MINTER_ROLE required, whenNotPaused).\nPurpose: Increase supply within cap (if non-zero)."
            },
            {
              "name": "batchMint",
              "signature": "async batchMint(to: readonly Address[], amounts: readonly BigNumberish[]): Promise<TransactionReceipt>",
              "description": "Batch mint to multiple recipients (MINTER_ROLE, whenNotPaused).\nPurpose: Gas-efficient distribution; checks aggregated cap if set."
            },
            {
              "name": "transfer",
              "signature": "async transfer(to: string, amount: BigNumberish)",
              "description": ""
            },
            {
              "name": "approve",
              "signature": "async approve(spender: string, amount: BigNumberish)",
              "description": ""
            },
            {
              "name": "burn",
              "signature": "async burn(from: Address, amount: BigNumberish): Promise<TransactionReceipt>",
              "description": "Burn tokens from `from` (MINTER_ROLE required, whenNotPaused).\nPurpose: Decrease supply from a specific holder."
            },
            {
              "name": "batchBurn",
              "signature": "async batchBurn(from: readonly Address[], amounts: readonly BigNumberish[]): Promise<TransactionReceipt>",
              "description": "Batch burn from multiple holders (MINTER_ROLE, whenNotPaused).\nPurpose: Gas-efficient reduction across many addresses."
            },
            {
              "name": "redeemVoucher",
              "signature": "async redeemVoucher(\n    voucher: MintVoucher,\n    sig: BytesLike\n  ): Promise<{ amount: bigint; digest: Bytes32; receipt: TransactionReceipt }>",
              "description": "Redeem an off-chain signed MintVoucher (nonReentrant, whenNotPaused).\nPurpose: Authorized airdrop/mint flow without granting MINTER_ROLE to relayer."
            },
            {
              "name": "computeVoucherDigest",
              "signature": "computeVoucherDigest(chainId: number, name: string, voucher: MintVoucher): Bytes32",
              "description": "Compute the EIP-712 digest for a MintVoucher exactly as the contract does.\nPurpose: Pre-validate signatures or generate them off-chain."
            },
            {
              "name": "signVoucher",
              "signature": "async signVoucher(\n    signer: ethers.Signer,\n    chainId: number,\n    name: string,\n    voucher: MintVoucher\n  ): Promise<string>",
              "description": "Sign a MintVoucher with a signer (wallet must match `voucher.issuer`).\nPurpose: Helper for tests/off-chain distribution tools."
            },
            {
              "name": "setCap",
              "signature": "async setCap(newCap: BigNumberish): Promise<TransactionReceipt>",
              "description": "Update the cap; 0 means unlimited (ADMIN_ROLE).\nPurpose: Change maximum total supply limit."
            },
            {
              "name": "setWhitelist",
              "signature": "async setWhitelist(registry: Address): Promise<TransactionReceipt>",
              "description": "Configure/replace the whitelist registry (GUARDIAN_ROLE).\nPurpose: Enforce allow-listing on sender & recipient for transfers when set."
            },
            {
              "name": "pause",
              "signature": "async pause(): Promise<TransactionReceipt>",
              "description": "Pause state-changing entrypoints (PAUSER_ROLE).\nPurpose: Emergency stop for mint/burn/transfer."
            },
            {
              "name": "unpause",
              "signature": "async unpause(): Promise<TransactionReceipt>",
              "description": "Unpause state-changing entrypoints (PAUSER_ROLE).\nPurpose: Resume operations after pause."
            },
            {
              "name": "delegate",
              "signature": "async delegate(delegatee: Address): Promise<TransactionReceipt>",
              "description": "Delegate voting power to `delegatee`. \nPurpose: Assign the caller’s voting power to another address."
            },
            {
              "name": "delegateBySig",
              "signature": "async delegateBySig(\n    delegatee: Address,\n    nonce: BigNumberish,\n    expiry: BigNumberish,\n    v: number,\n    r: BytesLike,\n    s: BytesLike\n  ): Promise<TransactionReceipt>",
              "description": "Delegate by signature (gasless).\nPurpose: Off-chain signed delegation usable by a relayer."
            },
            {
              "name": "delegates",
              "signature": "async delegates(account: Address): Promise<Address>",
              "description": "Current delegate for `account`."
            },
            {
              "name": "getVotes",
              "signature": "getVotes(account: Address): AmountLike",
              "description": "Current votes for `account` (latest checkpoint)."
            },
            {
              "name": "getPastVotes",
              "signature": "getPastVotes(account: Address, blockNumber: BigNumberish): AmountLike",
              "description": "Past votes for `account` at `blockNumber`."
            },
            {
              "name": "getPastTotalSupply",
              "signature": "getPastTotalSupply(blockNumber: BigNumberish): AmountLike",
              "description": "Past total supply at `blockNumber` (for quorum calculations)."
            },
            {
              "name": "permit",
              "signature": "async permit(\n    owner: Address,\n    spender: Address,\n    value: BigNumberish,\n    deadline: BigNumberish,\n    v: number,\n    r: BytesLike,\n    s: BytesLike\n  ): Promise<TransactionReceipt>",
              "description": "ERC20 Permit (EIP-2612) approval with signature.\nPurpose: Approve `spender` for `value` without on-chain tx by owner."
            },
            {
              "name": "nonces",
              "signature": "async nonces(owner: Address): Promise<bigint>",
              "description": "Current nonce for `owner` (required for permit)."
            },
            {
              "name": "format",
              "signature": "async format(amountRaw: bigint | string): Promise<string>",
              "description": ""
            },
            {
              "name": "parse",
              "signature": "async parse(amountHuman: string | number): Promise<bigint>",
              "description": "Parses a human-readable amount (e.g., \"1.5\") to a raw on-chain integer."
            },
            {
              "name": "cap",
              "signature": "cap(): AmountLike",
              "description": "Max total supply; 0 means unlimited."
            },
            {
              "name": "transferable",
              "signature": "async transferable(): Promise<boolean>",
              "description": "Soul-bound mode flag; false disables normal transfers."
            },
            {
              "name": "whitelist",
              "signature": "async whitelist(): Promise<Address>",
              "description": "Whitelist registry address (0x0 if disabled)."
            },
            {
              "name": "redeemed",
              "signature": "async redeemed(digest: Bytes32): Promise<boolean>",
              "description": "Redeemed status for a voucher digest (replay protection)."
            },
            {
              "name": "isTrustedForwarder",
              "signature": "async isTrustedForwarder(forwarder: Address): Promise<boolean>",
              "description": "ERC-2771: true if `forwarder` is a trusted meta-tx forwarder."
            },
            {
              "name": "name",
              "signature": "async name(): Promise<string>",
              "description": "ERC-20 name."
            },
            {
              "name": "symbol",
              "signature": "async symbol(): Promise<string | undefined>",
              "description": "ERC-20 symbol."
            },
            {
              "name": "decimals",
              "signature": "async decimals(): Promise<number>",
              "description": "ERC-20 decimals."
            },
            {
              "name": "totalSupply",
              "signature": "totalSupply(): AmountLike",
              "description": "Total token supply."
            },
            {
              "name": "balanceOf",
              "signature": "balanceOf(account: string): AmountLike",
              "description": "Balance of `account`."
            },
            {
              "name": "allowance",
              "signature": "allowance(owner: Address, spender: Address): AmountLike",
              "description": "Allowance from `owner` to `spender`."
            },
            {
              "name": "queryCapChanged",
              "signature": "async queryCapChanged(from?: number | string, to?: number | string)",
              "description": "Query `CapChanged(oldCap,newCap)` events within a block range."
            },
            {
              "name": "queryWhitelistConfigured",
              "signature": "async queryWhitelistConfigured(from?: number | string, to?: number | string)",
              "description": "Query `WhitelistConfigured(whitelist)` events."
            },
            {
              "name": "queryVoucherRedeemed",
              "signature": "async queryVoucherRedeemed(from?: number | string, to?: number | string)",
              "description": "Query `VoucherRedeemed(digest,to,amount)` events."
            }
          ],
          "file": "src/helpers/FlexibleTokenHelper.ts",
          "line": 146
        },
        {
          "name": "GenericGovernorHelper",
          "imports": [
            "@hazbase/kit"
          ],
          "kind": "class",
          "signature": "class GenericGovernorHelper",
          "description": "",
          "methods": [
            {
              "name": "deploy",
              "signature": "static async deploy(\n    args: DeployArgs,\n    signer: ethers.Signer,\n    opts?: Partial<\n      Omit<\n        DeployViaFactoryOptions,\n        \"contractType\" | \"implABI\" | \"initArgs\" | \"signer\"\n      >\n    >\n  ): Promise<DeployResult>",
              "description": "Deploy a new Governor proxy and return a connected helper."
            },
            {
              "name": "attach",
              "signature": "static attach(address: Address, runner: ContractRunner, ops?: OptionalArgs): GenericGovernorHelper",
              "description": "Attach to an existing Governor proxy at `address`."
            },
            {
              "name": "connect",
              "signature": "connect(runner: ContractRunner): GenericGovernorHelper",
              "description": "Return a new helper bound to a different signer/runner."
            },
            {
              "name": "propose",
              "signature": "async propose(p: ProposalArgs): Promise<bigint>",
              "description": "Create a proposal with explicit voting window (extended overload)."
            },
            {
              "name": "proposeChild",
              "signature": "async proposeChild(\n    sharedId: bigint | number,\n    p: ProposalArgs\n  ): Promise<bigint>",
              "description": "Mirror a proposal from a parent (Meta) into this child (requires META_ROLE)."
            },
            {
              "name": "queue",
              "signature": "async queue(proposalId: bigint | number): Promise<bigint | null>",
              "description": "Queue the proposal into the Timelock (GovernorTimelockControl)."
            },
            {
              "name": "execute",
              "signature": "async execute(proposalId: bigint | number): Promise<TransactionReceipt>",
              "description": "Execute the queued proposal (Timelock calls the targets).\n\nSolidity:\n  function execute(address[] targets, uint256[] values, bytes[] calldatas, bytes32 descriptionHash)\n    external payable returns (uint256 proposalId);"
            },
            {
              "name": "cancel",
              "signature": "async cancel(proposalId: bigint | number): Promise<TransactionReceipt>",
              "description": "Cancel a pending/active proposal (if allowed by rules/timelock).\n\nSolidity:\n  function cancel(address[] targets, uint256[] values, bytes[] calldatas, bytes32 descriptionHash)\n    external returns (uint256 proposalId);"
            },
            {
              "name": "castVote",
              "signature": "async castVote(\n    proposalId: bigint | number,\n    support: 0 | 1 | 2\n  ): Promise<TransactionReceipt>",
              "description": "Cast a simple vote (0=Against, 1=For, 2=Abstain)."
            },
            {
              "name": "castVoteWithReason",
              "signature": "async castVoteWithReason(\n    proposalId: bigint | number,\n    support: 0 | 1 | 2,\n    reason: string\n  ): Promise<TransactionReceipt>",
              "description": "Cast a vote with a reason (stored on-chain)."
            },
            {
              "name": "castVoteWithReasonAndParams",
              "signature": "async castVoteWithReasonAndParams(\n    proposalId: bigint | number,\n    support: 0 | 1 | 2,\n    reason: string,\n    params: BytesLike\n  ): Promise<TransactionReceipt>",
              "description": "Optional: cast vote with params (GovernorCountingSimple supports this overload)."
            },
            {
              "name": "updateStrategy",
              "signature": "async updateStrategy(id4: BytesLike, newAddr: Address): Promise<TransactionReceipt>",
              "description": "Change default weight strategy (onlyGovernance). Emits `DefaultStrategySet`."
            },
            {
              "name": "defaultStrategy",
              "signature": "async defaultStrategy(): Promise<Address>",
              "description": "Current default weight strategy address."
            },
            {
              "name": "getProposalDetails",
              "signature": "async getProposalDetails(id: bigint | number): Promise<ProposalDetails>",
              "description": "Read back extended proposal details stored on-chain."
            },
            {
              "name": "tally",
              "signature": "async tally(\n    id: bigint | number\n  ): Promise<{ yesVotes: bigint; noVotes: bigint; supply: bigint }>",
              "description": "Tally for/against and total supply at snapshot (helper view)."
            },
            {
              "name": "getStartTime",
              "signature": "async getStartTime(id: bigint | number): Promise<bigint>",
              "description": "Custom start timestamp for proposal id."
            },
            {
              "name": "getEndTime",
              "signature": "async getEndTime(id: bigint | number): Promise<bigint>",
              "description": "Custom end timestamp for proposal id."
            },
            {
              "name": "state",
              "signature": "async state(id: bigint | number): Promise<number>",
              "description": "Governor state (honors timestamp window via .sol override)."
            },
            {
              "name": "proposalNeedsQueuing",
              "signature": "async proposalNeedsQueuing(id: bigint | number): Promise<boolean>",
              "description": "Whether this proposal needs timelock queuing."
            },
            {
              "name": "quorum",
              "signature": "async quorum(blockNumber: bigint | number): Promise<bigint>",
              "description": "Quorum at a given block (strategy-based)."
            },
            {
              "name": "proposalThreshold",
              "signature": "async proposalThreshold(): Promise<bigint>",
              "description": "Proposal threshold from GovernorSettings (could be strategy-based upstream)."
            },
            {
              "name": "proposalOrigin",
              "signature": "async proposalOrigin(id: bigint | number): Promise<Origin>",
              "description": "Origin of the proposal (Standalone or Meta)."
            },
            {
              "name": "token",
              "signature": "async token(): Promise<Address>",
              "description": "Underlying IVotes token address."
            },
            {
              "name": "timelock",
              "signature": "async timelock(): Promise<Address>",
              "description": "Timelock controller address."
            },
            {
              "name": "updateForwarder",
              "signature": "async updateForwarder(\n    forwarder: Address,\n    trust: boolean\n  ): Promise<TransactionReceipt>",
              "description": "Update an ERC-2771 trusted forwarder (ADMIN_ROLE only)."
            },
            {
              "name": "supportsInterface",
              "signature": "async supportsInterface(iid: BytesLike): Promise<boolean>",
              "description": "ERC-165 interface support (aggregated across parents)."
            },
            {
              "name": "META_ROLE",
              "signature": "async META_ROLE(): Promise<Bytes32>",
              "description": "Read META_ROLE value (public constant in .sol)."
            },
            {
              "name": "ADMIN_ROLE",
              "signature": "async ADMIN_ROLE(): Promise<Bytes32>",
              "description": "Read ADMIN_ROLE value (public constant exposed by RolesCommon)."
            },
            {
              "name": "grantRole",
              "signature": "async grantRole(role: BytesLike, account: Address): Promise<TransactionReceipt>",
              "description": "Grant a role (bytes32) to an account (DEFAULT_ADMIN_ROLE required)."
            },
            {
              "name": "revokeRole",
              "signature": "async revokeRole(role: BytesLike, account: Address): Promise<TransactionReceipt>",
              "description": "Revoke a role (bytes32) from an account (DEFAULT_ADMIN_ROLE required)."
            },
            {
              "name": "renounceRole",
              "signature": "async renounceRole(role: BytesLike, account: Address): Promise<TransactionReceipt>",
              "description": "Renounce a role for the connected signer."
            },
            {
              "name": "hasRole",
              "signature": "async hasRole(role: BytesLike, account: Address): Promise<boolean>",
              "description": "Check if `account` holds `role`."
            },
            {
              "name": "descriptionHash",
              "signature": "static descriptionHash(description: string): Bytes32",
              "description": "Compute OZ Governor descriptionHash = keccak256(utf8(description))."
            },
            {
              "name": "hashProposal",
              "signature": "async hashProposal(args: {\n    targets: readonly Address[];\n    values: readonly (bigint | number)[];\n    calldatas: readonly BytesLike[];\n    description: string;\n  }): Promise<bigint>",
              "description": "On-chain pure id computation (matches Governor’s hasher)."
            },
            {
              "name": "queryProposalCreated",
              "signature": "async queryProposalCreated(from?: number | string, to?: number | string)",
              "description": "Query `ProposalCreated` events."
            },
            {
              "name": "queryProposalQueued",
              "signature": "async queryProposalQueued(from?: number | string, to?: number | string)",
              "description": "Query `ProposalQueued` events."
            },
            {
              "name": "queryProposalExecuted",
              "signature": "async queryProposalExecuted(from?: number | string, to?: number | string)",
              "description": "Query `ProposalExecuted` events."
            },
            {
              "name": "queryVoteCast",
              "signature": "async queryVoteCast(from?: number | string, to?: number | string)",
              "description": "Query `VoteCast` events."
            },
            {
              "name": "queryDefaultStrategySet",
              "signature": "async queryDefaultStrategySet(from?: number | string, to?: number | string)",
              "description": "Query `DefaultStrategySet(id,address)` events."
            }
          ],
          "file": "src/helpers/GenericGovernorHelper.ts",
          "line": 106
        },
        {
          "name": "MarketManagerHelper",
          "imports": [
            "@hazbase/kit"
          ],
          "kind": "class",
          "signature": "class MarketManagerHelper",
          "description": "",
          "methods": [
            {
              "name": "deploy",
              "signature": "static async deploy(\n    args: DeployArgs,\n    signer: ethers.Signer,\n    opts?: Partial<Omit<DeployViaFactoryOptions, \"contractType\" | \"implABI\" | \"initArgs\" | \"signer\">>,\n  ): Promise<DeployResult>",
              "description": "Deploy a new MarketManager proxy and return a connected helper.\nPurpose: Initialize market with fee router and protocol bps."
            },
            {
              "name": "attach",
              "signature": "static attach(address: Address, runner: ContractRunner, ops?: OptionalArgs): MarketManagerHelper",
              "description": "Attach to an existing MarketManager at `address`.\nPurpose: Bind helper to a deployed proxy for calls/transactions."
            },
            {
              "name": "connect",
              "signature": "connect(runner: ContractRunner): MarketManagerHelper",
              "description": "Return a new helper bound to a different signer/runner.\nPurpose: Swap wallet/provider without re-attaching."
            },
            {
              "name": "setFee",
              "signature": "async setFee(bps: number, to: Address): Promise<TransactionReceipt>",
              "description": "Update protocol fee and fee router (ADMIN_ROLE).\nPurpose: Change `feeBps` and set Splitter to receive fees."
            },
            {
              "name": "setPaymentToken",
              "signature": "async setPaymentToken(token: Address, allowed: boolean): Promise<TransactionReceipt>",
              "description": "Allow or disallow a payment token (ADMIN_ROLE).\nPurpose: Configure which ERC20s are acceptable as `paymentToken`."
            },
            {
              "name": "setWhitelist",
              "signature": "async setWhitelist(registry: Address): Promise<TransactionReceipt>",
              "description": "Configure (or clear) KYC registry (ADMIN_ROLE).\nPurpose: When set, buyers must be whitelisted."
            },
            {
              "name": "createAsk",
              "signature": "async createAsk(\n    asset: Asset,\n    price: bigint,\n    paymentToken: string,\n    quantity: bigint,\n    params?: {\n      maxPerWallet?: number;\n      startTime?: number;\n      endTime?: number;\n      royaltyReceiver?: string;\n      royaltyBps?: number;\n      agreement?: string;\n      offerId?: string;\n    }\n  ): Promise<{ askId: bigint; receipt: ethers.TransactionReceipt }>",
              "description": "Create a fixed-price listing.\nPurpose: Escrow assets and register an `Ask` unless delegated via AgreementManager."
            },
            {
              "name": "cancelAsk",
              "signature": "async cancelAsk(askId: BigNumberish): Promise<TransactionReceipt>",
              "description": "Cancel an ask (seller only).\nPurpose: Remove an active listing and release escrow if any."
            },
            {
              "name": "fillAsk",
              "signature": "async fillAsk(\n    askId: BigNumberish,\n    qty: BigNumberish,\n    opts?: { permit?: PermitData; investorSig?: BytesLike; value?: bigint }\n  ): Promise<{ receipt: TransactionReceipt; totals?: { totalPaid: bigint; fee: bigint; royalty: bigint; net: bigint } }>",
              "description": "Buy from an ask; auto-selects call with/without permit/investorSig.\nPurpose: Transfer assets seller→buyer and route payment with fee/royalty."
            },
            {
              "name": "fillVoucher",
              "signature": "async fillVoucher(\n    v: Voucher,\n    qty: BigNumberish,\n    sig: BytesLike,\n    opts?: { permit?: PermitData; value?: bigint }\n  ): Promise<{ receipt: TransactionReceipt; totals?: { totalPaid: bigint; fee: bigint; royalty: bigint; net: bigint } }>",
              "description": "Redeem an EIP-712 `Voucher` (lazy listing).\nPurpose: Seller-signed order; buyer (or relayer) executes on-chain."
            },
            {
              "name": "computeVoucherDigest",
              "signature": "computeVoucherDigest(chainId: number, voucher: Voucher): Bytes32",
              "description": "Compute the exact EIP-712 digest used by the contract for a voucher.\nPurpose: Pre-validate signatures or generate them off-chain."
            },
            {
              "name": "signVoucher",
              "signature": "async signVoucher(signer: ethers.Signer, chainId: number, voucher: Voucher): Promise<string>",
              "description": "Sign a voucher with a signer (wallet must be `voucher.seller`).\nPurpose: Helper for tests and distribution tooling."
            },
            {
              "name": "flushFees",
              "signature": "async flushFees(token: Address, maxAmount: BigNumberish): Promise<TransactionReceipt>",
              "description": "Flush pending ERC20 fee to Splitter (nonReentrant, whenNotPaused).\nPurpose: Route accrued protocol fees; accrues to `pendingFee` on failure."
            },
            {
              "name": "flushNative",
              "signature": "async flushNative(maxAmount: BigNumberish): Promise<TransactionReceipt>",
              "description": "Flush pending native fee to Splitter (nonReentrant, whenNotPaused).\nPurpose: Route accrued protocol fees in ETH; accrues to `pendingNative` on failure."
            },
            {
              "name": "asksLength",
              "signature": "async asksLength(): Promise<bigint>",
              "description": "Number of asks created (use indices `[0, asksLength)` for enumeration)."
            },
            {
              "name": "ask",
              "signature": "async ask(id: BigNumberish): Promise<Ask>",
              "description": "Read ask by id (full struct)."
            },
            {
              "name": "voucherFilled",
              "signature": "async voucherFilled(digest: Bytes32): Promise<bigint>",
              "description": "How many units of a voucher digest have been filled."
            },
            {
              "name": "feeBps",
              "signature": "async feeBps(): Promise<number>",
              "description": "Protocol fee bps (public variable)."
            },
            {
              "name": "splitter",
              "signature": "async splitter(): Promise<Address>",
              "description": "Current Splitter address (public variable)."
            },
            {
              "name": "kyc",
              "signature": "async kyc(): Promise<Address>",
              "description": "Current KYC whitelist registry (0x0 if unset)."
            },
            {
              "name": "isPaymentTokenAllowed",
              "signature": "async isPaymentTokenAllowed(token: Address): Promise<boolean>",
              "description": "Whether an ERC20 is allowed as a payment token (address(0) denotes ETH)."
            },
            {
              "name": "pendingFee",
              "signature": "async pendingFee(token: Address): Promise<bigint>",
              "description": "Pending ERC20 protocol fee for a given token."
            },
            {
              "name": "pendingNative",
              "signature": "async pendingNative(): Promise<bigint>",
              "description": "Pending native (ETH) protocol fee."
            },
            {
              "name": "supportsInterface",
              "signature": "async supportsInterface(iid: BytesLike): Promise<boolean>",
              "description": "ERC165 support check (via AccessControlUpgradeable)."
            },
            {
              "name": "pause",
              "signature": "async pause(): Promise<TransactionReceipt>",
              "description": "Pause state-changing entrypoints (PAUSER_ROLE)."
            },
            {
              "name": "unpause",
              "signature": "async unpause(): Promise<TransactionReceipt>",
              "description": "Unpause state-changing entrypoints (PAUSER_ROLE)."
            },
            {
              "name": "queryAskCreated",
              "signature": "async queryAskCreated(from?: number | string, to?: number | string)",
              "description": "Query `AskCreated(askId, seller, asset, qty, price, payToken)` events."
            },
            {
              "name": "queryAskCancelled",
              "signature": "async queryAskCancelled(from?: number | string, to?: number | string)",
              "description": "Query `AskCancelled(askId)` events."
            },
            {
              "name": "queryAskFilled",
              "signature": "async queryAskFilled(from?: number | string, to?: number | string)",
              "description": "Query `AskFilled(askId, buyer, qty, totalPaid, fee, royalty, net)` events."
            },
            {
              "name": "queryVoucherFilled",
              "signature": "async queryVoucherFilled(from?: number | string, to?: number | string)",
              "description": "Query `VoucherFilled(h, buyer, qty, totalPaid, fee, royalty, net)` events."
            },
            {
              "name": "queryFeePending",
              "signature": "async queryFeePending(from?: number | string, to?: number | string)",
              "description": "Query `FeePending(token, amount)` events."
            },
            {
              "name": "queryFeeFlushed",
              "signature": "async queryFeeFlushed(from?: number | string, to?: number | string)",
              "description": "Query `FeeFlushed(token, amount)` events."
            },
            {
              "name": "assetERC20",
              "signature": "static assetERC20(token: Address, amountPerUnit: bigint): Asset",
              "description": "Build an ERC-20 asset descriptor."
            },
            {
              "name": "assetERC721",
              "signature": "static assetERC721(token: Address, tokenId: bigint): Asset",
              "description": "Build an ERC-721 asset descriptor."
            },
            {
              "name": "assetERC1155",
              "signature": "static assetERC1155(token: Address, id: bigint, amountPerUnit: bigint): Asset",
              "description": "Build an ERC-1155 asset descriptor."
            },
            {
              "name": "assetBond",
              "signature": "static assetBond(token: Address, classId: bigint, nonceId: bigint, unitsPerTicket: bigint): Asset",
              "description": "Build a BOND asset descriptor (ERC-3475-like)."
            }
          ],
          "file": "src/helpers/MarketManagerHelper.ts",
          "line": 173
        },
        {
          "name": "MetaGovernorHelper",
          "imports": [
            "@hazbase/kit"
          ],
          "kind": "class",
          "signature": "class MetaGovernorHelper",
          "description": "",
          "methods": [
            {
              "name": "deploy",
              "signature": "static async deploy(\n    args: DeployArgs,\n    signer: ethers.Signer,\n    opts?: Partial<Omit<DeployViaFactoryOptions, \"contractType\" | \"implABI\" | \"initArgs\" | \"signer\">>\n  ): Promise<DeployResult>",
              "description": "Deploy a new MetaGovernor proxy and return a connected helper."
            },
            {
              "name": "attach",
              "signature": "static attach(address: Address, runner: ContractRunner, ops?: OptionalArgs): MetaGovernorHelper",
              "description": "Attach to an existing MetaGovernor at `address`."
            },
            {
              "name": "connect",
              "signature": "connect(runner: ContractRunner): MetaGovernorHelper",
              "description": "Return a new helper bound to a different signer/runner."
            },
            {
              "name": "propose",
              "signature": "async propose(\n    p: ProposalTypeKey | number,\n    targets: readonly Address[],\n    values: readonly (bigint | number)[],\n    calldatas: readonly ethers.BytesLike[],\n    desc: string,\n    startTs: bigint | number,\n    endTs: bigint | number\n  ): Promise<bigint>",
              "description": "Create a proposal on BOTH child governors with a shared id."
            },
            {
              "name": "finalize",
              "signature": "async finalize(id: bigint | number): Promise<TransactionReceipt>",
              "description": "Finalize after BOTH children are `Succeeded` and combined rules pass."
            },
            {
              "name": "state",
              "signature": "async state(id: bigint | number): Promise<number>",
              "description": "Governor state (MetaGovernor’s view)."
            },
            {
              "name": "proposalNeedsQueuing",
              "signature": "async proposalNeedsQueuing(id: bigint | number): Promise<boolean>",
              "description": "Whether proposals require queuing (timelock)."
            },
            {
              "name": "votingDelay",
              "signature": "async votingDelay(): Promise<bigint>",
              "description": "Voting delay placeholder (meta uses children windows)."
            },
            {
              "name": "votingPeriod",
              "signature": "async votingPeriod(): Promise<bigint>",
              "description": "Voting period placeholder (meta uses children windows)."
            },
            {
              "name": "proposalThreshold",
              "signature": "async proposalThreshold(): Promise<bigint>",
              "description": "Proposal threshold passthrough (from Governor base)."
            },
            {
              "name": "econ",
              "signature": "async econ(): Promise<Address>",
              "description": "Read addresses configured on meta."
            },
            {
              "name": "soc",
              "signature": "async soc(): Promise<Address>",
              "description": ""
            },
            {
              "name": "timelock",
              "signature": "async timelock(): Promise<Address>",
              "description": "Timelock controller address (inherited getter)."
            },
            {
              "name": "baseFactorsOf",
              "signature": "async baseFactorsOf(p: ProposalTypeKey | number): Promise<Factors>",
              "description": "Base combination factors for a proposal type (bp each for eco/soc YES/NO)."
            },
            {
              "name": "quorumRuleOf",
              "signature": "async quorumRuleOf(p: ProposalTypeKey | number): Promise<QuorumRule>",
              "description": "Child turnout quorum (bp of each child total supply)."
            },
            {
              "name": "superRuleOf",
              "signature": "async superRuleOf(p: ProposalTypeKey | number): Promise<SuperRule>",
              "description": "Super-majority rule: YES-share threshold and combined turnout threshold."
            },
            {
              "name": "getEconVotes",
              "signature": "async getEconVotes(account: Address, timepoint: bigint | number): Promise<bigint>",
              "description": "Economic child voting power at `timepoint`."
            },
            {
              "name": "getSocVotes",
              "signature": "async getSocVotes(account: Address, timepoint: bigint | number): Promise<bigint>",
              "description": "Social child voting power at `timepoint`."
            },
            {
              "name": "updateForwarder",
              "signature": "async updateForwarder(forwarder: Address, trust: boolean): Promise<TransactionReceipt>",
              "description": "Add/remove a trusted ERC-2771 forwarder. Requires DEFAULT_ADMIN_ROLE."
            },
            {
              "name": "supportsInterface",
              "signature": "async supportsInterface(iid: string): Promise<boolean>",
              "description": "ERC165 interface support (aggregated across parents)."
            },
            {
              "name": "hashProposal",
              "signature": "async hashProposal(args: {\n    targets: readonly Address[];\n    values:  readonly (bigint | number)[];\n    calldatas: readonly ethers.BytesLike[];\n    description: string;\n  }): Promise<bigint>",
              "description": "On-chain, pure proposal id computation (matches MetaGovernor.sol)."
            },
            {
              "name": "queryFinalized",
              "signature": "async queryFinalized(from?: number | string, to?: number | string)",
              "description": "Query `Finalized(id, yes, no, sender)` events."
            }
          ],
          "file": "src/helpers/MetaGovernorHelper.ts",
          "line": 92
        },
        {
          "name": "MultiTrustCredentialHelper",
          "imports": [
            "@hazbase/kit"
          ],
          "kind": "class",
          "signature": "class MultiTrustCredentialHelper",
          "description": "",
          "methods": [
            {
              "name": "deploy",
              "signature": "static async deploy(\n    args: DeployArgs,\n    signer: ethers.Signer,\n    opts?: Partial<Omit<DeployViaFactoryOptions, 'contractType' | 'implABI' | 'initArgs' | 'signer'>>\n  ): Promise<DeployResult>",
              "description": "Deploy a new MTC proxy via your factory helper.\n- Initializes with: `initialize(admin, verifier, forwarders)`."
            },
            {
              "name": "attach",
              "signature": "static attach(address: Address, runner: ContractRunner, ops?: OptionalArgs): MultiTrustCredentialHelper",
              "description": "Attach an existing MTC at `address`."
            },
            {
              "name": "connect",
              "signature": "connect(runner: ContractRunner): MultiTrustCredentialHelper",
              "description": "Return a new helper bound to a different runner/signer."
            },
            {
              "name": "registerMetric",
              "signature": "async registerMetric(\n    id         : Bytes32 | string,\n    label      : string,\n    roleName   : Bytes32 | string,\n    commitment : boolean,\n    mask       : CompareMaskKey | number,\n  ): Promise<TransactionReceipt>",
              "description": "Register a new metric type."
            },
            {
              "name": "setCompareMask",
              "signature": "async setCompareMask(id: Bytes32 | string, mask: CompareMaskKey | number): Promise<TransactionReceipt>",
              "description": "Update compare mask for a metric (writer role required)."
            },
            {
              "name": "mint",
              "signature": "async mint(to: Address, input: MetricInputStruct): Promise<TransactionReceipt>",
              "description": "Mint credential (if absent) and set a metric in one call."
            },
            {
              "name": "mintBatch",
              "signature": "async mintBatch(arr: MintItemStruct[]): Promise<TransactionReceipt>",
              "description": "Batch mint and/or write metrics."
            },
            {
              "name": "updateMetric",
              "signature": "async updateMetric(tokenId: bigint, upd: MetricUpdateStruct): Promise<TransactionReceipt>",
              "description": "Update a metric for an existing token."
            },
            {
              "name": "updateMetricBatch",
              "signature": "async updateMetricBatch(arr: UpdateItemStruct[]): Promise<TransactionReceipt>",
              "description": "Batch update metrics."
            },
            {
              "name": "updateVerifier",
              "signature": "async updateVerifier(_verifier?: Address): Promise<TransactionReceipt>",
              "description": ""
            },
            {
              "name": "getProofReadiness",
              "signature": "async getProofReadiness(requiredGrants: readonly ProofRoleGrant[] = []): Promise<ProofReadiness>",
              "description": ""
            },
            {
              "name": "assertProofReadiness",
              "signature": "async assertProofReadiness(requiredGrants: readonly ProofRoleGrant[] = []): Promise<void>",
              "description": ""
            },
            {
              "name": "getIntegratedProofReadiness",
              "signature": "async getIntegratedProofReadiness({\n    kpiRegistry,\n    requiredGrants = [],\n    requiredKpiWriterRoles = [],\n  }: {\n    kpiRegistry?: Address | KpiRegistryHelper;\n    requiredGrants?: readonly ProofRoleGrant[];\n    requiredKpiWriterRoles?: readonly (Bytes32 | string)[];\n  } = {}): Promise<IntegratedProofReadiness>",
              "description": ""
            },
            {
              "name": "assertIntegratedProofReadiness",
              "signature": "async assertIntegratedProofReadiness(args: {\n    kpiRegistry?: Address | KpiRegistryHelper;\n    requiredGrants?: readonly ProofRoleGrant[];\n    requiredKpiWriterRoles?: readonly (Bytes32 | string)[];\n  } = {}): Promise<void>",
              "description": ""
            },
            {
              "name": "configureProofFlow",
              "signature": "async configureProofFlow({\n    verifier,\n    roleGrants = [],\n  }: {\n    verifier?: Address;\n    roleGrants?: readonly ProofRoleGrant[];\n  }): Promise<{ verifierReceipt?: TransactionReceipt; roleReceipts: TransactionReceipt[]; readiness: ProofReadiness }>",
              "description": ""
            },
            {
              "name": "proveMetric",
              "signature": "async proveMetric(\n    tokenId: bigint,\n    metricId: Bytes32 | string,\n    a: readonly [string, string],\n    b: readonly [[string, string], [string, string]],\n    c: readonly [string, string],\n    pubSignals: readonly [bigint, bigint, bigint, bigint, bigint, bigint]\n  ): Promise<boolean>",
              "description": "Verify a zk proof against stored metric / mask rules."
            },
            {
              "name": "proveGroupMetric",
              "signature": "async proveGroupMetric(\n    tokenId: bigint,\n    metricId: Bytes32 | string,\n    a: readonly [string, string],\n    b: readonly [[string, string], [string, string]],\n    c: readonly [string, string],\n    pubSignals: readonly [bigint, bigint, bigint, bigint, bigint, bigint]\n  ): Promise<boolean>",
              "description": ""
            },
            {
              "name": "toPredicateType",
              "signature": "static toPredicateType(v: Bytes32 | string): Bytes32",
              "description": "Convert a predicate label or bytes32 into the on-chain predicateType (bytes32 keccak)."
            },
            {
              "name": "setPredicateAllowed",
              "signature": "async setPredicateAllowed(\n    metricId: Bytes32 | string,\n    predicateType: Bytes32 | string,\n    allowed: boolean\n  ): Promise<TransactionReceipt>",
              "description": "Enable/disable a predicate for a metric (ADMIN_ROLE required)."
            },
            {
              "name": "setPredicateProfile",
              "signature": "async setPredicateProfile(\n    metricId: Bytes32 | string,\n    predicateType: Bytes32 | string,\n    predVerifier: Address,\n    signalsLen: number,\n    anchorIndex: number,\n    addrIndex: number,\n    epochIndex: number,\n    epochCheck: boolean,\n    requireMaskZero: boolean\n  ): Promise<TransactionReceipt>",
              "description": "Set predicate verification profile (ADMIN_ROLE required)."
            },
            {
              "name": "setPredicateEpoch",
              "signature": "async setPredicateEpoch(\n    metricId: Bytes32 | string,\n    predicateType: Bytes32 | string,\n    epoch: bigint\n  ): Promise<TransactionReceipt>",
              "description": "Set predicate epoch/version (ADMIN_ROLE required)."
            },
            {
              "name": "provePredicate",
              "signature": "async provePredicate(\n    tokenId: bigint,\n    metricId: Bytes32 | string,\n    predicateType: Bytes32 | string,\n    proof: { a: readonly [string, string], b: readonly [[string, string], [string, string]], c: readonly [string, string] },\n    publicSignals: readonly bigint[]\n  ): Promise<boolean>",
              "description": "Prove an arbitrary predicate (ZKEx). Proof must be Groth16-style (a,b,c)."
            },
            {
              "name": "slash",
              "signature": "async slash(offender: Address, metricId: Bytes32 | string, penalty: number | bigint): Promise<TransactionReceipt>",
              "description": "Slash (reduce) a numeric metric for an offender (SLASHER_ROLE required)."
            },
            {
              "name": "pause",
              "signature": "async pause(): Promise<TransactionReceipt>",
              "description": "Pause state-changing entrypoints (PAUSER_ROLE)."
            },
            {
              "name": "unpause",
              "signature": "async unpause(): Promise<TransactionReceipt>",
              "description": "Unpause state-changing entrypoints (PAUSER_ROLE)."
            },
            {
              "name": "metricRoleOf",
              "signature": "async metricRoleOf(metricId: Bytes32 | string): Promise<Bytes32>",
              "description": "Read writer role (bytes32) for a metric id."
            },
            {
              "name": "metricLabelOf",
              "signature": "async metricLabelOf(metricId: Bytes32 | string): Promise<string>",
              "description": "Read human-readable label for a metric id."
            },
            {
              "name": "isCommitment",
              "signature": "async isCommitment(metricId: Bytes32 | string): Promise<boolean>",
              "description": "True if the metric is marked as commitment-only."
            },
            {
              "name": "compareMaskOf",
              "signature": "async compareMaskOf(metricId: Bytes32 | string): Promise<number>",
              "description": "Compare mask (0..7) for a metric id."
            },
            {
              "name": "verifier",
              "signature": "async verifier(): Promise<Address>",
              "description": "Current zk verifier address (public variable)."
            },
            {
              "name": "queryMetricRegistered",
              "signature": "async queryMetricRegistered(from?: number | string, to?: number | string)",
              "description": "Query `MetricRegistered(id,label,role,mask)` events."
            },
            {
              "name": "queryMetricUpdated",
              "signature": "async queryMetricUpdated(from?: number | string, to?: number | string)",
              "description": "Query `MetricUpdated(tokenId,metricId,newValue,leafFull)` events."
            },
            {
              "name": "querySlash",
              "signature": "async querySlash(from?: number | string, to?: number | string)",
              "description": "Query `Slash(tokenId,metricId,penalty)` events."
            },
            {
              "name": "queryVerifierSet",
              "signature": "async queryVerifierSet(from?: number | string, to?: number | string)",
              "description": "Query `VerifierSet(verifier)` events (emitted on initialize)."
            },
            {
              "name": "grantRole",
              "signature": "async grantRole(role: Bytes32 | string, account: Address): Promise<TransactionReceipt>",
              "description": "Grant a role (bytes32) to an account. Requires DEFAULT_ADMIN_ROLE."
            },
            {
              "name": "revokeRole",
              "signature": "async revokeRole(role: Bytes32 | string, account: Address): Promise<TransactionReceipt>",
              "description": "Revoke a role (bytes32) from an account. Requires DEFAULT_ADMIN_ROLE."
            },
            {
              "name": "renounceRole",
              "signature": "async renounceRole(role: Bytes32 | string, account: Address): Promise<TransactionReceipt>",
              "description": "Renounce a role (bytes32) for the connected signer (self)."
            },
            {
              "name": "hasRole",
              "signature": "async hasRole(role: Bytes32 | string, account: Address): Promise<boolean>",
              "description": "Check if `account` holds `role`."
            },
            {
              "name": "tokenIdFor",
              "signature": "static tokenIdFor(owner: Address): bigint",
              "description": "Deterministic tokenId convention used on-chain: uint256(uint160(owner))."
            }
          ],
          "file": "src/helpers/MultiTrustCredentialHelper.ts",
          "line": 187
        },
        {
          "name": "PooledEscrowStatus",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/escrow"
          ],
          "kind": "enum",
          "signature": "export enum PooledEscrowStatus {\n  None = 0,\n  Open = 1,\n  Released = 2,\n  Refundable = 3,\n  Closed = 4,\n}",
          "description": "",
          "methods": [],
          "file": "src/helpers/PooledTokenEscrowHelper.ts",
          "line": 15
        },
        {
          "name": "PooledEscrowRecord",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/escrow"
          ],
          "kind": "type",
          "signature": "export interface PooledEscrowRecord {\n  token: Address;\n  creator: Address;\n  beneficiary: Address;\n  authorizer: Address;\n  expiresAt: bigint;\n  status: PooledEscrowStatus;\n  beneficiaryNonce: bigint;\n  totalDeposited: bigint;\n  totalReleased: bigint;\n  totalRefunded: bigint;\n  metadataHash: Bytes32;\n}",
          "description": "",
          "methods": [],
          "file": "src/helpers/PooledTokenEscrowHelper.ts",
          "line": 23
        },
        {
          "name": "CreatePooledEscrowArgs",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/escrow"
          ],
          "kind": "type",
          "signature": "export interface CreatePooledEscrowArgs {\n  escrowId: Bytes32;\n  token: Address;\n  beneficiary?: Address;\n  authorizer?: Address;\n  expiresAt?: bigint | number;\n  metadataHash?: Bytes32;\n}",
          "description": "",
          "methods": [],
          "file": "src/helpers/PooledTokenEscrowHelper.ts",
          "line": 37
        },
        {
          "name": "BeneficiaryAssignment",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/escrow"
          ],
          "kind": "type",
          "signature": "export interface BeneficiaryAssignment {\n  escrowId: Bytes32;\n  beneficiary: Address;\n  nonce: bigint | number;\n  deadline: bigint | number;\n}",
          "description": "",
          "methods": [],
          "file": "src/helpers/PooledTokenEscrowHelper.ts",
          "line": 46
        },
        {
          "name": "PreparedContractCall",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/escrow"
          ],
          "kind": "type",
          "signature": "export interface PreparedContractCall {\n  to: Address;\n  data: string;\n  value: bigint;\n}",
          "description": "",
          "methods": [],
          "file": "src/helpers/PooledTokenEscrowHelper.ts",
          "line": 53
        },
        {
          "name": "ApprovalCallOptions",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/escrow"
          ],
          "kind": "type",
          "signature": "export interface ApprovalCallOptions {\n  /** Add `approve(spender, 0)` before the exact approval for strict ERC-20s. */\n  resetAllowance?: boolean;\n}",
          "description": "",
          "methods": [],
          "file": "src/helpers/PooledTokenEscrowHelper.ts",
          "line": 59
        },
        {
          "name": "DeployPooledEscrowOptions",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/escrow"
          ],
          "kind": "type",
          "signature": "export interface DeployPooledEscrowOptions {\n  factory?: Address;\n  implOwner?: Address;\n  initFn?: string;\n  version?: number;\n}",
          "description": "",
          "methods": [],
          "file": "src/helpers/PooledTokenEscrowHelper.ts",
          "line": 64
        },
        {
          "name": "DeployPooledEscrowResult",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/escrow"
          ],
          "kind": "type",
          "signature": "export interface DeployPooledEscrowResult {\n  address: Address;\n  receipt: TransactionReceipt;\n  helper: PooledTokenEscrowHelper;\n}",
          "description": "",
          "methods": [],
          "file": "src/helpers/PooledTokenEscrowHelper.ts",
          "line": 71
        },
        {
          "name": "PooledTokenEscrowHelperOptions",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/escrow"
          ],
          "kind": "type",
          "signature": "export interface PooledTokenEscrowHelperOptions {\n  abi?: InterfaceAbi;\n}",
          "description": "",
          "methods": [],
          "file": "src/helpers/PooledTokenEscrowHelper.ts",
          "line": 77
        },
        {
          "name": "BENEFICIARY_ASSIGNMENT_TYPES",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/escrow"
          ],
          "kind": "constant",
          "signature": "export const BENEFICIARY_ASSIGNMENT_TYPES: { BeneficiaryAssignment: { name: string; type: string; }[]; }",
          "description": "",
          "methods": [],
          "file": "src/helpers/PooledTokenEscrowHelper.ts",
          "line": 87
        },
        {
          "name": "PooledTokenEscrowHelper",
          "imports": [
            "@hazbase/kit",
            "@hazbase/kit/escrow"
          ],
          "kind": "class",
          "signature": "class PooledTokenEscrowHelper",
          "description": "Developer-friendly wrapper for the generic PooledTokenEscrow contract.",
          "methods": [
            {
              "name": "constructor",
              "signature": "constructor(\n    address: Address,\n    runner: ContractRunner | null,\n    options?: PooledTokenEscrowHelperOptions,\n  )",
              "description": ""
            },
            {
              "name": "attach",
              "signature": "static attach(\n    address: Address,\n    runner: ContractRunner | null,\n    options?: PooledTokenEscrowHelperOptions,\n  ): PooledTokenEscrowHelper",
              "description": ""
            },
            {
              "name": "connect",
              "signature": "connect(runner: ContractRunner): PooledTokenEscrowHelper",
              "description": ""
            },
            {
              "name": "deploy",
              "signature": "static async deploy(\n    admin: Address,\n    signer: Signer,\n    options: DeployPooledEscrowOptions = {},\n  ): Promise<DeployPooledEscrowResult>",
              "description": ""
            },
            {
              "name": "createEscrow",
              "signature": "async createEscrow(args: CreatePooledEscrowArgs): Promise<TransactionReceipt>",
              "description": ""
            },
            {
              "name": "deposit",
              "signature": "async deposit(\n    escrowId: Bytes32,\n    contributionId: Bytes32,\n    amount: bigint | number,\n  ): Promise<TransactionReceipt>",
              "description": ""
            },
            {
              "name": "assignBeneficiary",
              "signature": "async assignBeneficiary(\n    assignment: BeneficiaryAssignment,\n    authorization: string,\n  ): Promise<TransactionReceipt>",
              "description": ""
            },
            {
              "name": "claim",
              "signature": "async claim(escrowId: Bytes32): Promise<TransactionReceipt>",
              "description": ""
            },
            {
              "name": "withdrawOpenContribution",
              "signature": "async withdrawOpenContribution(escrowId: Bytes32): Promise<TransactionReceipt>",
              "description": ""
            },
            {
              "name": "cancelEscrow",
              "signature": "async cancelEscrow(escrowId: Bytes32): Promise<TransactionReceipt>",
              "description": ""
            },
            {
              "name": "enableRefunds",
              "signature": "async enableRefunds(escrowId: Bytes32): Promise<TransactionReceipt>",
              "description": ""
            },
            {
              "name": "refund",
              "signature": "async refund(escrowId: Bytes32): Promise<TransactionReceipt>",
              "description": ""
            },
            {
              "name": "getEscrow",
              "signature": "async getEscrow(escrowId: Bytes32): Promise<PooledEscrowRecord>",
              "description": ""
            },
            {
              "name": "contributionOf",
              "signature": "async contributionOf(escrowId: Bytes32, contributor: Address): Promise<bigint>",
              "description": ""
            },
            {
              "name": "refundedOf",
              "signature": "async refundedOf(escrowId: Bytes32, contributor: Address): Promise<bigint>",
              "description": ""
            },
            {
              "name": "refundableOf",
              "signature": "async refundableOf(escrowId: Bytes32, contributor: Address): Promise<bigint>",
              "description": ""
            },
            {
              "name": "withdrawableOf",
              "signature": "async withdrawableOf(escrowId: Bytes32, contributor: Address): Promise<bigint>",
              "description": ""
            },
            {
              "name": "contributionAmount",
              "signature": "async contributionAmount(escrowId: Bytes32, contributionId: Bytes32): Promise<bigint>",
              "description": ""
            },
            {
              "name": "lockedBalanceOf",
              "signature": "async lockedBalanceOf(token: Address): Promise<bigint>",
              "description": ""
            },
            {
              "name": "buildCreateEscrowCall",
              "signature": "buildCreateEscrowCall(args: CreatePooledEscrowArgs): PreparedContractCall",
              "description": ""
            },
            {
              "name": "buildDepositCall",
              "signature": "buildDepositCall(\n    escrowId: Bytes32,\n    contributionId: Bytes32,\n    amount: bigint | number,\n  ): PreparedContractCall",
              "description": ""
            },
            {
              "name": "buildApproveAndDepositCalls",
              "signature": "buildApproveAndDepositCalls(\n    token: Address,\n    escrowId: Bytes32,\n    contributionId: Bytes32,\n    amount: bigint | number,\n    options: ApprovalCallOptions = {},\n  ): PreparedContractCall[]",
              "description": "Build calls for smart-account batching. The allowance is exact by default.\nSet `resetAllowance` for ERC-20s that require zeroing an existing allowance."
            },
            {
              "name": "buildAssignBeneficiaryCall",
              "signature": "buildAssignBeneficiaryCall(\n    assignment: BeneficiaryAssignment,\n    authorization: string,\n  ): PreparedContractCall",
              "description": ""
            },
            {
              "name": "buildClaimCall",
              "signature": "buildClaimCall(escrowId: Bytes32): PreparedContractCall",
              "description": ""
            },
            {
              "name": "buildWithdrawOpenContributionCall",
              "signature": "buildWithdrawOpenContributionCall(escrowId: Bytes32): PreparedContractCall",
              "description": ""
            },
            {
              "name": "buildRefundCall",
              "signature": "buildRefundCall(escrowId: Bytes32): PreparedContractCall",
              "description": ""
            },
            {
              "name": "buildCancelCall",
              "signature": "buildCancelCall(escrowId: Bytes32): PreparedContractCall",
              "description": ""
            },
            {
              "name": "beneficiaryAssignmentTypedData",
              "signature": "static beneficiaryAssignmentTypedData(\n    chainId: bigint | number,\n    verifyingContract: Address,\n    assignment: BeneficiaryAssignment,\n  )",
              "description": ""
            },
            {
              "name": "beneficiaryAssignmentDigest",
              "signature": "static beneficiaryAssignmentDigest(\n    chainId: bigint | number,\n    verifyingContract: Address,\n    assignment: BeneficiaryAssignment,\n  ): string",
              "description": ""
            },
            {
              "name": "signBeneficiaryAssignment",
              "signature": "async signBeneficiaryAssignment(\n    signer: Signer,\n    assignment: BeneficiaryAssignment,\n  ): Promise<string>",
              "description": ""
            }
          ],
          "file": "src/helpers/PooledTokenEscrowHelper.ts",
          "line": 97
        },
        {
          "name": "PrivilegeEditionHelper",
          "imports": [
            "@hazbase/kit"
          ],
          "kind": "class",
          "signature": "class PrivilegeEditionHelper",
          "description": "",
          "methods": [
            {
              "name": "deploy",
              "signature": "static async deploy(\n    args: DeployArgs,\n    signer: ethers.Signer,\n    opts?: Partial<Omit<DeployViaFactoryOptions, \"contractType\" | \"implABI\" | \"initArgs\" | \"signer\">>,\n  ): Promise<DeployResult>",
              "description": "Deploy a new PrivilegeEdition proxy and return a connected helper.\nPurpose: Initialize an ERC-1155 collection with royalties, EIP-712, meta-tx, and votes."
            },
            {
              "name": "attach",
              "signature": "static attach(address: Address, runner: ContractRunner, ops?: OptionalArgs): PrivilegeEditionHelper",
              "description": "Attach to an existing PrivilegeEdition at `address`.\nPurpose: Bind helper to a deployed proxy for calls/transactions."
            },
            {
              "name": "connect",
              "signature": "connect(runner: ContractRunner): PrivilegeEditionHelper",
              "description": "Return a new helper bound to a different signer/runner.\nPurpose: Swap wallet/provider without re-attaching."
            },
            {
              "name": "setDefaultRoyalty",
              "signature": "async setDefaultRoyalty(receiver: Address, feeBps: number): Promise<TransactionReceipt>",
              "description": "Set default royalty parameters (ERC-2981).\nPurpose: Configure marketplace royalty distribution."
            },
            {
              "name": "deleteDefaultRoyalty",
              "signature": "async deleteDefaultRoyalty(): Promise<TransactionReceipt>",
              "description": "Delete default royalty parameters (ERC-2981).\nPurpose: Remove royalty info; per-id settings, if any, remain."
            },
            {
              "name": "lockSupply",
              "signature": "async lockSupply(id: bigint | number, cap: bigint | number): Promise<TransactionReceipt>",
              "description": "Lock (cap) total supply for a given id.\nPurpose: Enforce maximum mintable units; 0 means unlocked/unlimited before locking."
            },
            {
              "name": "setTier",
              "signature": "async setTier(id: bigint | number, newTier: number): Promise<TransactionReceipt>",
              "description": "Set voting tier for an id before any mint has occurred.\nPurpose: Adjust per-id voting weight factor (0..255)."
            },
            {
              "name": "setWhitelist",
              "signature": "async setWhitelist(registry: Address): Promise<TransactionReceipt>",
              "description": "Configure (or clear) the whitelist registry.\nPurpose: When set, transfers require both sender and recipient to be whitelisted."
            },
            {
              "name": "pause",
              "signature": "async pause(): Promise<TransactionReceipt>",
              "description": "Pause state-changing entrypoints (PAUSER_ROLE).\nPurpose: Emergency stop for mints/transfers/redeems."
            },
            {
              "name": "unpause",
              "signature": "async unpause(): Promise<TransactionReceipt>",
              "description": "Unpause state-changing entrypoints (PAUSER_ROLE).\nPurpose: Resume operations after pause."
            },
            {
              "name": "mint",
              "signature": "async mint(\n    to: Address,\n    id: bigint | number,\n    amt: bigint | number,\n    uri: string,\n    tier: number,\n    exp: bigint | number,\n    rType: bigint | number\n  ): Promise<TransactionReceipt>",
              "description": "Mint directly (MINTER_ROLE).\nPurpose: Create/mint an edition and set its metadata & reward type."
            },
            {
              "name": "redeemVoucher",
              "signature": "async redeemVoucher(\n    voucher: MintVoucher,\n    sig: BytesLike,\n    rType: bigint | number\n  ): Promise<TransactionReceipt>",
              "description": "Redeem an EIP-712 MintVoucher (lazy mint) (MINTER signature required).\nPurpose: Gas-efficient distribution; issuer signs off-chain, user (or relayer) submits on-chain."
            },
            {
              "name": "redeem",
              "signature": "async redeem(from: Address, id: bigint | number, amount: bigint | number): Promise<TransactionReceipt>",
              "description": "Redeem (burn) tokens for rewards.\nPurpose: Holder burns `amount` of `id`; downstream system credits the off-chain reward."
            },
            {
              "name": "batchRedeem",
              "signature": "async batchRedeem(\n    from: Address,\n    ids: readonly (bigint | number)[],\n    amounts: readonly (bigint | number)[]\n  ): Promise<TransactionReceipt>",
              "description": "Batch version of `redeem`.\nPurpose: Burn multiple ids in a single transaction."
            },
            {
              "name": "permitForAll",
              "signature": "async permitForAll(\n    owner: Address,\n    operator: Address,\n    approved: boolean,\n    deadline: bigint | number,\n    vrs: { v: number; r: BytesLike; s: BytesLike }\n  ): Promise<TransactionReceipt>",
              "description": "Permit-for-all (EIP-712) — gasless operator approval.\nPurpose: Approve or revoke `operator` for all of `owner`’s editions using a signature."
            },
            {
              "name": "sweepExpired",
              "signature": "async sweepExpired(ids: readonly (bigint | number)[]): Promise<TransactionReceipt>",
              "description": "Burn all **expired** balances of the caller for a set of ids.\nPurpose: Self-sweep; reverts if nothing is expired."
            },
            {
              "name": "sweepExpiredFrom",
              "signature": "async sweepExpiredFrom(from: Address, ids: readonly (bigint | number)[]): Promise<TransactionReceipt>",
              "description": "Admin sweep: burn **expired** balances of `from` for a set of ids (MINTER_ROLE).\nPurpose: Operational cleanup for expired editions."
            },
            {
              "name": "contractType",
              "signature": "async contractType(): Promise<string>",
              "description": "Contract type string (for factory/registry UIs)."
            },
            {
              "name": "contractVersion",
              "signature": "async contractVersion(): Promise<string>",
              "description": "Contract semantic version string."
            },
            {
              "name": "contractURI",
              "signature": "async contractURI(): Promise<string>",
              "description": "Base URI currently stored in ERC1155."
            },
            {
              "name": "uri",
              "signature": "async uri(id: bigint | number): Promise<string>",
              "description": "Per-id token URI (falls back to base when empty)."
            },
            {
              "name": "totalSupply",
              "signature": "async totalSupply(id: bigint | number): Promise<bigint>",
              "description": "Total supply for a given id (minted − burned)."
            },
            {
              "name": "totalMinted",
              "signature": "async totalMinted(id: bigint | number): Promise<bigint>",
              "description": "Cumulative minted amount for id."
            },
            {
              "name": "maxSupply",
              "signature": "async maxSupply(id: bigint | number): Promise<bigint>",
              "description": "Max supply cap for id (0 = unlocked/unlimited)."
            },
            {
              "name": "rewardTypeOf",
              "signature": "async rewardTypeOf(id: bigint | number): Promise<bigint>",
              "description": "Arbitrary reward type associated to id."
            },
            {
              "name": "whitelist",
              "signature": "async whitelist(): Promise<Address>",
              "description": "Current whitelist registry address (0x0 if disabled)."
            },
            {
              "name": "isTrustedForwarder",
              "signature": "async isTrustedForwarder(fwd: Address): Promise<boolean>",
              "description": "ERC-2771 meta-tx forwarder check."
            },
            {
              "name": "soulbound",
              "signature": "async soulbound(): Promise<boolean>",
              "description": "Soulbound flag (true blocks non-mint/non-burn transfers between EOAs)."
            },
            {
              "name": "supportsInterface",
              "signature": "async supportsInterface(iid: BytesLike): Promise<boolean>",
              "description": "ERC165 support check."
            },
            {
              "name": "computeVoucherDigest",
              "signature": "computeVoucherDigest(chainId: number, voucher: MintVoucher): Bytes32",
              "description": "Compute the exact EIP-712 digest used by `redeemVoucher` for a given domain and voucher.\nPurpose: Pre-validate signatures or generate them off-chain."
            },
            {
              "name": "signVoucher",
              "signature": "async signVoucher(\n    signer: ethers.Signer,\n    chainId: number,\n    voucher: MintVoucher\n  ): Promise<string>",
              "description": "Sign a MintVoucher (wallet must match `voucher.issuer`).\nPurpose: Helper for tests or distribution tooling to produce signatures."
            },
            {
              "name": "queryMetadataUpdate",
              "signature": "async queryMetadataUpdate(from?: number | string, to?: number | string)",
              "description": "Query `MetadataUpdate(id)` events."
            },
            {
              "name": "queryRewardRedeemed",
              "signature": "async queryRewardRedeemed(from?: number | string, to?: number | string)",
              "description": "Query `RewardRedeemed(user,id,amount)` events."
            },
            {
              "name": "queryTransferSingle",
              "signature": "async queryTransferSingle(from?: number | string, to?: number | string)",
              "description": "Query ERC1155 `TransferSingle` events."
            },
            {
              "name": "queryTransferBatch",
              "signature": "async queryTransferBatch(from?: number | string, to?: number | string)",
              "description": "Query ERC1155 `TransferBatch` events."
            },
            {
              "name": "queryApprovalForAll",
              "signature": "async queryApprovalForAll(from?: number | string, to?: number | string)",
              "description": "Query ERC1155 `ApprovalForAll` events."
            }
          ],
          "file": "src/helpers/PrivilegeEditionHelper.ts",
          "line": 124
        },
        {
          "name": "PrivilegeNFTHelper",
          "imports": [
            "@hazbase/kit"
          ],
          "kind": "class",
          "signature": "class PrivilegeNFTHelper",
          "description": "",
          "methods": [
            {
              "name": "deploy",
              "signature": "static async deploy(\n    args: DeployArgs,\n    signer: ethers.Signer,\n    opts?: Partial<Omit<DeployViaFactoryOptions, \"contractType\" | \"implABI\" | \"initArgs\" | \"signer\">>,\n  ): Promise<DeployResult>",
              "description": "Deploy a new PrivilegeNFT proxy and return a connected helper.\nPurpose: Initialize an ERC-721 collection with royalties, voting tiers, EIP-712, and meta-tx."
            },
            {
              "name": "attach",
              "signature": "static attach(address: Address, runner: ContractRunner, ops?: OptionalArgs): PrivilegeNFTHelper",
              "description": "Attach to an existing PrivilegeNFT at `address`.\nPurpose: Bind helper to a deployed proxy for calls/transactions."
            },
            {
              "name": "connect",
              "signature": "connect(runner: ContractRunner): PrivilegeNFTHelper",
              "description": "Return a new helper bound to a different signer/runner.\nPurpose: Swap wallet/provider without re-attaching."
            },
            {
              "name": "setDefaultRoyalty",
              "signature": "async setDefaultRoyalty(receiver: Address, feeBps: number): Promise<TransactionReceipt>",
              "description": "Set default royalty parameters (ERC-2981).\nPurpose: Configure marketplace royalty distribution."
            },
            {
              "name": "deleteDefaultRoyalty",
              "signature": "async deleteDefaultRoyalty(): Promise<TransactionReceipt>",
              "description": "Delete default royalty parameters (ERC-2981).\nPurpose: Remove royalty info; per-token settings, if any, remain."
            },
            {
              "name": "setTier",
              "signature": "async setTier(id: bigint | number, newTier: number): Promise<TransactionReceipt>",
              "description": "Set voting tier for a token id **before** mint.\nPurpose: Adjust per-id voting weight factor (0..255)."
            },
            {
              "name": "setWhitelist",
              "signature": "async setWhitelist(registry: Address): Promise<TransactionReceipt>",
              "description": "Configure (or clear) the whitelist registry.\nPurpose: When set, transfers require both sender and recipient to be whitelisted."
            },
            {
              "name": "pause",
              "signature": "async pause(): Promise<TransactionReceipt>",
              "description": "Pause state-changing entrypoints (PAUSER_ROLE).\nPurpose: Emergency stop for mints/transfers/redeems."
            },
            {
              "name": "unpause",
              "signature": "async unpause(): Promise<TransactionReceipt>",
              "description": "Unpause state-changing entrypoints (PAUSER_ROLE).\nPurpose: Resume operations after pause."
            },
            {
              "name": "mint",
              "signature": "async mint(\n    to: Address,\n    id: bigint | number,\n    uri: string,\n    tier: number,\n    exp: bigint | number,\n    rType: bigint | number\n  ): Promise<TransactionReceipt>",
              "description": "Mint directly (MINTER_ROLE).\nPurpose: Create a token id and set its metadata & reward type."
            },
            {
              "name": "redeemVoucher",
              "signature": "async redeemVoucher(\n    voucher: MintVoucher,\n    sig: BytesLike,\n    rType: bigint | number\n  ): Promise<TransactionReceipt>",
              "description": "Redeem an EIP-712 MintVoucher (lazy mint) (MINTER signature required).\nPurpose: Gas-efficient distribution; issuer signs off-chain, user (or relayer) submits on-chain."
            },
            {
              "name": "redeem",
              "signature": "async redeem(from: Address, id: bigint | number): Promise<TransactionReceipt>",
              "description": "Redeem (burn) a token for rewards.\nPurpose: Holder burns token `id`; downstream system credits the off-chain reward."
            },
            {
              "name": "permitForAll",
              "signature": "async permitForAll(\n    owner: Address,\n    operator: Address,\n    approved: boolean,\n    deadline: bigint | number,\n    vrs: { v: number; r: BytesLike; s: BytesLike }\n  ): Promise<TransactionReceipt>",
              "description": "Permit-for-all (EIP-712) — gasless operator approval.\nPurpose: Approve or revoke `operator` for all of `owner`’s NFTs using a signature."
            },
            {
              "name": "sweepExpired",
              "signature": "async sweepExpired(id: bigint | number): Promise<TransactionReceipt>",
              "description": "Sweep: burn **expired** token owned by the caller.\nPurpose: Self-cleanup for expired NFTs. Reverts if not expired."
            },
            {
              "name": "sweepExpiredFrom",
              "signature": "async sweepExpiredFrom(from: Address, id: bigint | number): Promise<TransactionReceipt>",
              "description": "Admin sweep: burn **expired** token owned by `from` (MINTER_ROLE).\nPurpose: Operational cleanup for expired NFTs."
            },
            {
              "name": "setApprovalForAll",
              "signature": "async setApprovalForAll(operator: Address, approved: boolean): Promise<TransactionReceipt>",
              "description": "setApprovalForAll — standard ERC-721 operator approval.\nPurpose: Approve or revoke `operator` for all tokens."
            },
            {
              "name": "approve",
              "signature": "async approve(to: Address, tokenId: bigint | number): Promise<TransactionReceipt>",
              "description": "approve — approve an operator for a single token.\nPurpose: Allow `to` to transfer `tokenId`."
            },
            {
              "name": "safeTransferFrom",
              "signature": "async safeTransferFrom(\n    from: Address,\n    to: Address,\n    tokenId: bigint | number,\n    data: BytesLike = \"0x\"\n  ): Promise<TransactionReceipt>",
              "description": "safeTransferFrom — standard ERC-721 transfer (with receiver check).\nPurpose: Move `tokenId` from `from` to `to`."
            },
            {
              "name": "contractType",
              "signature": "async contractType(): Promise<string>",
              "description": "Contract type string (for factory/registry UIs)."
            },
            {
              "name": "contractVersion",
              "signature": "async contractVersion(): Promise<string>",
              "description": "Contract semantic version string."
            },
            {
              "name": "contractURI",
              "signature": "async contractURI(): Promise<string>",
              "description": "Base URI currently stored in the contract (collection URI)."
            },
            {
              "name": "tokenURI",
              "signature": "async tokenURI(id: bigint | number): Promise<string>",
              "description": "tokenURI for a specific token id."
            },
            {
              "name": "totalSupply",
              "signature": "async totalSupply(): Promise<bigint>",
              "description": "Current total supply (number of existing tokens)."
            },
            {
              "name": "totalMinted",
              "signature": "async totalMinted(): Promise<bigint>",
              "description": "Cumulative minted tokens so far (may include burned)."
            },
            {
              "name": "maxSupply",
              "signature": "async maxSupply(): Promise<bigint>",
              "description": "Max supply cap for the whole collection (0 = unlimited)."
            },
            {
              "name": "rewardTypeOf",
              "signature": "async rewardTypeOf(id: bigint | number): Promise<bigint>",
              "description": "Arbitrary reward type associated to a token id."
            },
            {
              "name": "tierOf",
              "signature": "async tierOf(id: bigint | number): Promise<number>",
              "description": "Voting tier for a token id (0..255)."
            },
            {
              "name": "expiresAtOf",
              "signature": "async expiresAtOf(id: bigint | number): Promise<bigint>",
              "description": "Expiry timestamp for a token id (unix seconds)."
            },
            {
              "name": "whitelist",
              "signature": "async whitelist(): Promise<Address>",
              "description": "Current whitelist registry address (0x0 if disabled)."
            },
            {
              "name": "ownerOf",
              "signature": "async ownerOf(id: bigint | number): Promise<Address>",
              "description": "Owner of token id."
            },
            {
              "name": "isTrustedForwarder",
              "signature": "async isTrustedForwarder(fwd: Address): Promise<boolean>",
              "description": "ERC-2771 meta-tx forwarder check."
            },
            {
              "name": "soulbound",
              "signature": "async soulbound(): Promise<boolean>",
              "description": "Soulbound flag (true blocks non-mint/non-burn transfers between EOAs)."
            },
            {
              "name": "supportsInterface",
              "signature": "async supportsInterface(iid: BytesLike): Promise<boolean>",
              "description": "ERC165 support check."
            },
            {
              "name": "computeVoucherDigest",
              "signature": "computeVoucherDigest(chainId: number, voucher: MintVoucher): Bytes32",
              "description": "Compute the exact EIP-712 digest used by `redeemVoucher` for a given domain and voucher.\nPurpose: Pre-validate signatures or generate them off-chain."
            },
            {
              "name": "signVoucher",
              "signature": "async signVoucher(\n    signer: ethers.Signer,\n    chainId: number,\n    voucher: MintVoucher\n  ): Promise<string>",
              "description": "Sign a MintVoucher (wallet must match `voucher.issuer`).\nPurpose: Helper for tests or distribution tooling to produce signatures."
            },
            {
              "name": "queryMetadataUpdate",
              "signature": "async queryMetadataUpdate(from?: number | string, to?: number | string)",
              "description": "Query `MetadataUpdate(id)` events."
            },
            {
              "name": "queryRewardRedeemed",
              "signature": "async queryRewardRedeemed(from?: number | string, to?: number | string)",
              "description": "Query `RewardRedeemed(user,id)` events."
            },
            {
              "name": "queryTransfer",
              "signature": "async queryTransfer(from?: number | string, to?: number | string)",
              "description": "Query ERC-721 `Transfer` events."
            },
            {
              "name": "queryApproval",
              "signature": "async queryApproval(from?: number | string, to?: number | string)",
              "description": "Query ERC-721 `Approval` events."
            },
            {
              "name": "queryApprovalForAll",
              "signature": "async queryApprovalForAll(from?: number | string, to?: number | string)",
              "description": "Query ERC-721 `ApprovalForAll` events."
            }
          ],
          "file": "src/helpers/PrivilegeNFTHelper.ts",
          "line": 111
        },
        {
          "name": "ReservePoolHelper",
          "imports": [
            "@hazbase/kit"
          ],
          "kind": "class",
          "signature": "class ReservePoolHelper",
          "description": "",
          "methods": [
            {
              "name": "attach",
              "signature": "static attach(address: Address, runner: ContractRunner, ops?: OptionalArgs): ReservePoolHelper",
              "description": "Attach an existing ReservePool at `address`."
            },
            {
              "name": "connect",
              "signature": "connect(runner: ContractRunner): ReservePoolHelper",
              "description": "Return a new helper bound to a different signer/runner."
            },
            {
              "name": "deploy",
              "signature": "static async deploy(\n    args: DeployArgs,\n    signer: ethers.Signer,\n    opts?: Partial<Omit<DeployViaFactoryOptions,\n      \"contractType\" | \"implABI\" | \"initArgs\" | \"signer\">>\n  ): Promise<DeployResult>",
              "description": "Deploy a new ReservePool proxy via your factory helper.\n- The underlying implementation will be initialized with:\n    initialize(admin, router, protocolToken, forwarders)"
            },
            {
              "name": "fundLiquidity",
              "signature": "async fundLiquidity(\n    token : Address,\n    amount: bigint,\n  ): Promise<TransactionReceipt>",
              "description": "Fund the **liquidity** bucket for `token` by `amount`.\n- Native ETH is intentionally rejected because buy-back flow remains ERC20-only.\n- If ERC20, performs `approveIfNeeded(token, this.address, amount)` and calls `fundLiquidity`."
            },
            {
              "name": "fundCompensation",
              "signature": "async fundCompensation(\n    token : Address,\n    amount: bigint,\n  ): Promise<TransactionReceipt>",
              "description": "Fund the **compensation** bucket for `token` by `amount`.\n- If `token == 0x0`, sends native ETH with `value = amount`.\n- If ERC20, performs `approveIfNeeded(token, this.address, amount)` and calls `fundCompensation`."
            },
            {
              "name": "triggerBuyBack",
              "signature": "async triggerBuyBack(\n    tokenIn     : Address,\n    amountIn    : bigint,\n    minAmountOut: bigint,\n    path        : readonly Address[],\n  ): Promise<bigint>",
              "description": "Execute a **forced buy-back** from `tokenIn` to `protocolToken` via router.\n- Deducts `amountIn` from the liquidity bucket and swaps along `path`.\n- Enforces cooldown: `block.timestamp - lastBuyBackAt[tokenIn] >= buyBackCooldown`.\n- Path **must** start with `tokenIn` and end with `protocolToken`.\n- Emits `BuyBackExecuted`."
            },
            {
              "name": "payCompensation",
              "signature": "async payCompensation(\n    token : Address,\n    to    : Address,\n    amount: bigint,\n  ): Promise<TransactionReceipt>",
              "description": "Pay compensation from the **compensation** bucket. Emits `CompensationPaid`."
            },
            {
              "name": "sweep",
              "signature": "async sweep(\n    token         : Address,\n    amount        : bigint,\n    toCompensation: boolean,\n  ): Promise<TransactionReceipt>",
              "description": "Sweep between buckets for `token`.\n- If `toCompensation = true`: moves from liquidity → compensation.\n- If `toCompensation = false`: moves from compensation → liquidity.\nEmits `Sweep`."
            },
            {
              "name": "setBuyBackCooldown",
              "signature": "async setBuyBackCooldown(newCooldownSeconds: bigint): Promise<TransactionReceipt>",
              "description": "Update the global buy-back cooldown. Only GUARDIAN_ROLE. Emits `BuyBackCooldownUpdated`."
            },
            {
              "name": "pause",
              "signature": "async pause(): Promise<TransactionReceipt>",
              "description": "Pause state-changing entrypoints. Only PAUSER_ROLE."
            },
            {
              "name": "unpause",
              "signature": "async unpause(): Promise<TransactionReceipt>",
              "description": "Unpause state-changing entrypoints. Only PAUSER_ROLE."
            },
            {
              "name": "liquidityOf",
              "signature": "async liquidityOf(token: Address): Promise<bigint>",
              "description": "Read the liquidity bucket for `token`."
            },
            {
              "name": "compensationOf",
              "signature": "async compensationOf(token: Address): Promise<bigint>",
              "description": "Read the compensation bucket for `token`."
            },
            {
              "name": "lastBuyBackAt",
              "signature": "async lastBuyBackAt(tokenIn: Address): Promise<bigint>",
              "description": "Last buy-back timestamp (per tokenIn)."
            },
            {
              "name": "buyBackCooldown",
              "signature": "async buyBackCooldown(): Promise<bigint>",
              "description": "Global buy-back cooldown (seconds)."
            },
            {
              "name": "router",
              "signature": "async router(): Promise<Address>",
              "description": "AMM router address used by the pool."
            },
            {
              "name": "protocolToken",
              "signature": "async protocolToken(): Promise<Address>",
              "description": "Protocol token address (buy-back target; must be `path[path.length-1]`)."
            },
            {
              "name": "queryLiquidityFunded",
              "signature": "async queryLiquidityFunded(from?: number | string, to?: number | string)",
              "description": "Query `LiquidityFunded` events."
            },
            {
              "name": "queryCompensationFunded",
              "signature": "async queryCompensationFunded(from?: number | string, to?: number | string)",
              "description": "Query `CompensationFunded` events."
            },
            {
              "name": "queryBuyBackExecuted",
              "signature": "async queryBuyBackExecuted(from?: number | string, to?: number | string)",
              "description": "Query `BuyBackExecuted` events."
            },
            {
              "name": "queryCompensationPaid",
              "signature": "async queryCompensationPaid(from?: number | string, to?: number | string)",
              "description": "Query `CompensationPaid` events."
            },
            {
              "name": "querySweep",
              "signature": "async querySweep(from?: number | string, to?: number | string)",
              "description": "Query `Sweep` events."
            },
            {
              "name": "queryBuyBackCooldownUpdated",
              "signature": "async queryBuyBackCooldownUpdated(from?: number | string, to?: number | string)",
              "description": "Query `BuyBackCooldownUpdated` events."
            }
          ],
          "file": "src/helpers/ReservePoolHelper.ts",
          "line": 90
        },
        {
          "name": "SplitterHelper",
          "imports": [
            "@hazbase/kit"
          ],
          "kind": "class",
          "signature": "class SplitterHelper",
          "description": "",
          "methods": [
            {
              "name": "deploy",
              "signature": "static async deploy(\n    {\n      admin,\n      routes,\n      trustedForwarders = [],\n    }: {\n      admin: string;\n      routes: readonly Route[];\n      trustedForwarders?: readonly string[];\n    },\n    signer: ethers.Signer,\n    opts?: Partial<Omit<DeployViaFactoryOptions, 'contractType' | 'implABI' | 'initArgs' | 'signer'>>\n  ): Promise<DeployResult>",
              "description": "Deploy a new Splitter proxy via your factory helper.\n- Initializes with: `initialize(admin, routes, forwarders)`.\n- `routes` must be 1..10 entries and sum of `bps` must be exactly 10,000.\n- `reserveBucket` must be explicit for each route."
            },
            {
              "name": "attach",
              "signature": "static attach(address: Address, runner: ContractRunner, ops?: OptionalArgs): SplitterHelper",
              "description": "Attach to an existing Splitter at `address`."
            },
            {
              "name": "connect",
              "signature": "connect(runner: ContractRunner): SplitterHelper",
              "description": "Return a new helper bound to a different runner/signer."
            },
            {
              "name": "routeERC20",
              "signature": "async routeERC20(token: string, amount: bigint): Promise<TransactionReceipt>",
              "description": "Route ERC-20 `amount` according to current `routes`."
            },
            {
              "name": "routeNative",
              "signature": "async routeNative(amount: bigint): Promise<TransactionReceipt>",
              "description": "Route native ETH (msg.value) according to current `routes`."
            },
            {
              "name": "setRoutes",
              "signature": "async setRoutes(routes: readonly Route[]): Promise<TransactionReceipt>",
              "description": "Update route set (governance). Requires `GOVERNOR_ROLE` on-chain.\n- Contract enforces: 1..10 items, `bps` in [1, 10_000], and sum == 10_000.\n- Remainder/dust is always assigned to index 0 during distribution."
            },
            {
              "name": "getRoutes",
              "signature": "async getRoutes(): Promise<Route[]>",
              "description": "Fetch current routes (best-effort by probing indices 0..9).\n- Splitter stores `Route[] public routes;` but does not expose `.length`.\n- Contract limits size to 10, so we probe up to 10 and stop on first revert."
            },
            {
              "name": "pendingOf",
              "signature": "async pendingOf(addr: string): Promise<bigint>",
              "description": "Read pending native (wei) for `addr` accrued from failed deliveries."
            },
            {
              "name": "claimPendingNative",
              "signature": "async claimPendingNative(): Promise<TransactionReceipt>",
              "description": "Claim caller’s pending native. Emits `PendingClaimed(msg.sender, amount)`."
            },
            {
              "name": "sweepPendingNative",
              "signature": "async sweepPendingNative(dest: string, amount: bigint): Promise<TransactionReceipt>",
              "description": "Sweep `amount` from `dest`’s pending native to the same `dest` (governance).\n- Requires `GOVERNOR_ROLE` on-chain."
            },
            {
              "name": "pause",
              "signature": "async pause(): Promise<TransactionReceipt>",
              "description": "Pause state-changing entrypoints. Requires `PAUSER_ROLE` on-chain."
            },
            {
              "name": "unpause",
              "signature": "async unpause(): Promise<TransactionReceipt>",
              "description": "Unpause state-changing entrypoints. Requires `PAUSER_ROLE` on-chain."
            },
            {
              "name": "queryFeeSplit",
              "signature": "async queryFeeSplit(from?: number | string, to?: number | string)",
              "description": "Query `FeeSplit(total, asset, nativePath)` events."
            },
            {
              "name": "queryRoutesUpdated",
              "signature": "async queryRoutesUpdated(from?: number | string, to?: number | string)",
              "description": "Query `RoutesUpdated()` events."
            },
            {
              "name": "queryNativePending",
              "signature": "async queryNativePending(from?: number | string, to?: number | string)",
              "description": "Query `NativePending(dest, amount)` events (native delivery fallback)."
            },
            {
              "name": "queryPendingClaimed",
              "signature": "async queryPendingClaimed(from?: number | string, to?: number | string)",
              "description": "Query `PendingClaimed(dest, amount)` events."
            },
            {
              "name": "normalizeReserveBucket",
              "signature": "static normalizeReserveBucket(bucket: ReserveBucketInput): ReserveBucketValue",
              "description": ""
            },
            {
              "name": "normalizeRoutes",
              "signature": "static normalizeRoutes(routes: readonly Route[])",
              "description": ""
            },
            {
              "name": "lintRoutes",
              "signature": "static lintRoutes(routes: readonly Route[], assetKind: RoutedAssetKind = 'erc20'): RouteLintResult",
              "description": ""
            },
            {
              "name": "assertAssetCompatibleRoutes",
              "signature": "static assertAssetCompatibleRoutes(routes: readonly Route[], assetKind: RoutedAssetKind = 'erc20'): void",
              "description": ""
            },
            {
              "name": "assertRoutes",
              "signature": "static assertRoutes(routes: readonly Route[]): void",
              "description": "Validate routes: 1..10 entries, each `bps` in [1, 10000], sum == 10000, no zero dest."
            }
          ],
          "file": "src/helpers/SplitterHelper.ts",
          "line": 98
        },
        {
          "name": "StakingHelper",
          "imports": [
            "@hazbase/kit"
          ],
          "kind": "class",
          "signature": "class StakingHelper",
          "description": "",
          "methods": [
            {
              "name": "deploy",
              "signature": "static async deploy(\n    args: DeployArgs,\n    signer: ethers.Signer,\n    opts?: Partial<Omit<DeployViaFactoryOptions, \"contractType\" | \"implABI\" | \"initArgs\" | \"signer\">>\n  ): Promise<DeployResult>",
              "description": "Deploy a new staking proxy and return a connected helper."
            },
            {
              "name": "attach",
              "signature": "static attach(address: Address, runner: ContractRunner, ops?: OptionalArgs): StakingHelper",
              "description": "Attach to an existing staking proxy at `address`."
            },
            {
              "name": "connect",
              "signature": "connect(runner: ContractRunner): StakingHelper",
              "description": "Return a new helper bound to a different signer/runner."
            },
            {
              "name": "deposit",
              "signature": "async deposit(amount: bigint): Promise<TransactionReceipt>",
              "description": "Fund rewards and (re)start emission. Requires ADMIN_ROLE.\n\nSolidity:\n function deposit(uint256 amount)\n   external onlyRole(ADMIN_ROLE) nonReentrant whenNotPaused updatePool;"
            },
            {
              "name": "withdraw",
              "signature": "async withdraw(to: Address): Promise<TransactionReceipt>",
              "description": "Withdraw leftover rewards after the emission window ended. Requires ADMIN_ROLE.\n\nSolidity:\n function withdraw(address to)\n   external nonReentrant whenNotPaused onlyRole(ADMIN_ROLE);"
            },
            {
              "name": "setCooldown",
              "signature": "async setCooldown(seconds: number | bigint): Promise<TransactionReceipt>",
              "description": "Set stake cooldown seconds (0 disables). Requires ADMIN_ROLE."
            },
            {
              "name": "setRewardPrecision",
              "signature": "async setRewardPrecision(p: number): Promise<TransactionReceipt>",
              "description": "Set rounding precision (≤ 18) for payout rounding. Requires ADMIN_ROLE."
            },
            {
              "name": "setDepositFee",
              "signature": "async setDepositFee(bps: number, treasury: Address = ZeroAddress as Address): Promise<TransactionReceipt>",
              "description": "Configure deposit fee (0..500 bps) and fee recipient (ZeroAddress ⇒ burn). Requires ADMIN_ROLE."
            },
            {
              "name": "setArrowlist",
              "signature": "async setArrowlist(token: Address, allowed: boolean): Promise<TransactionReceipt>",
              "description": "Allow or disallow a token for staking (arrowlist). Requires ADMIN_ROLE."
            },
            {
              "name": "setWhitelist",
              "signature": "async setWhitelist(registry: Address): Promise<TransactionReceipt>",
              "description": "Set (or clear) the whitelist registry. Requires MINTER_ROLE."
            },
            {
              "name": "stakeERC20",
              "signature": "async stakeERC20(token: Address, amount: bigint): Promise<TransactionReceipt>",
              "description": "Stake ERC20 tokens (token must be arrowlisted). Requires whitelist if registry is set.\nCaller must `approve(pool, amount)` on the ERC20 beforehand.\n\nSolidity:\n function stakeERC20(address token, uint256 amount)\n   external onlyWhitelisted nonReentrant updatePool;"
            },
            {
              "name": "unstakeERC20",
              "signature": "async unstakeERC20(token: Address, amount: bigint): Promise<TransactionReceipt>",
              "description": "Unstake ERC20 tokens.\n\nSolidity:\n function unstakeERC20(address token, uint256 amount)\n   external nonReentrant updatePool;"
            },
            {
              "name": "stakeERC721",
              "signature": "async stakeERC721(token: Address, tokenId: bigint): Promise<TransactionReceipt>",
              "description": "Stake one ERC721 token (collection must be arrowlisted). Requires whitelist if registry is set."
            },
            {
              "name": "unstakeERC721",
              "signature": "async unstakeERC721(token: Address, tokenId: bigint): Promise<TransactionReceipt>",
              "description": "Unstake one ERC721 token."
            },
            {
              "name": "stakeERC1155",
              "signature": "async stakeERC1155(token: Address, id: bigint, amount: bigint): Promise<TransactionReceipt>",
              "description": "Stake ERC1155 units (collection must be arrowlisted). Requires whitelist if registry is set."
            },
            {
              "name": "unstakeERC1155",
              "signature": "async unstakeERC1155(token: Address, id: bigint, amount: bigint): Promise<TransactionReceipt>",
              "description": "Unstake ERC1155 units."
            },
            {
              "name": "claim",
              "signature": "async claim(token: Address, id: bigint): Promise<TransactionReceipt>",
              "description": "Claim accrued reward for a given (token,id) position of the caller. Requires whitelist if registry is set.\n\nSolidity:\n function claim(address token, uint256 id)\n   external onlyWhitelisted nonReentrant updatePool;"
            },
            {
              "name": "scheduleAction",
              "signature": "async scheduleAction(p: ActionParams): Promise<{ id: bigint; receipt: TransactionReceipt }>",
              "description": "Schedule a call to `target` with `value` and `data`. Returns the action id extracted from the event."
            },
            {
              "name": "executeAction",
              "signature": "async executeAction(id: bigint): Promise<{ success: boolean | null; receipt: TransactionReceipt }>",
              "description": "Execute a scheduled action when due; returns the `success` flag if found in events."
            },
            {
              "name": "pendingReward",
              "signature": "pendingReward(token: Address, id: bigint, user: Address): Promise<bigint>",
              "description": "Compute rounded pending reward for a user position (applies `rewardPrecision`)."
            },
            {
              "name": "pendingRawReward",
              "signature": "pendingRawReward(token: Address, id: bigint, user: Address): Promise<bigint>",
              "description": "Compute raw (unrounded) pending reward for a user position."
            },
            {
              "name": "position",
              "signature": "async position(token: Address, id: bigint, user: Address): Promise<Position>",
              "description": "Read stored position (shares, rewardDebt)."
            },
            {
              "name": "actionsLength",
              "signature": "actionsLength(): Promise<bigint>",
              "description": "Number of scheduled actions stored on-chain."
            },
            {
              "name": "rewardToken",
              "signature": "rewardToken(): Promise<Address>",
              "description": ""
            },
            {
              "name": "whitelist",
              "signature": "whitelist(): Promise<Address>",
              "description": ""
            },
            {
              "name": "rewardRate",
              "signature": "rewardRate(): Promise<bigint>",
              "description": ""
            },
            {
              "name": "finishAt",
              "signature": "finishAt(): Promise<bigint>",
              "description": ""
            },
            {
              "name": "reservedReward",
              "signature": "reservedReward(): Promise<bigint>",
              "description": ""
            },
            {
              "name": "rewardsDuration",
              "signature": "rewardsDuration(): Promise<bigint>",
              "description": ""
            },
            {
              "name": "rewardPrecision",
              "signature": "rewardPrecision(): Promise<number>",
              "description": ""
            },
            {
              "name": "totalShares",
              "signature": "totalShares(): Promise<bigint>",
              "description": ""
            },
            {
              "name": "accRewardPerShare",
              "signature": "accRewardPerShare(): Promise<bigint>",
              "description": ""
            },
            {
              "name": "lastUpdate",
              "signature": "lastUpdate(): Promise<bigint>",
              "description": ""
            },
            {
              "name": "cooldownSecs",
              "signature": "cooldownSecs(): Promise<bigint>",
              "description": ""
            },
            {
              "name": "depositFeeBps",
              "signature": "depositFeeBps(): Promise<number>",
              "description": ""
            },
            {
              "name": "feeTreasury",
              "signature": "feeTreasury(): Promise<Address>",
              "description": ""
            },
            {
              "name": "isArrowed",
              "signature": "isArrowed(token: Address): Promise<boolean>",
              "description": ""
            },
            {
              "name": "lastStakeAt",
              "signature": "lastStakeAt(user: Address): Promise<bigint>",
              "description": ""
            },
            {
              "name": "pause",
              "signature": "async pause(): Promise<TransactionReceipt>",
              "description": "Pause state-changing entrypoints. Requires PAUSER_ROLE."
            },
            {
              "name": "unpause",
              "signature": "async unpause(): Promise<TransactionReceipt>",
              "description": "Unpause state-changing entrypoints. Requires PAUSER_ROLE."
            },
            {
              "name": "queryStaked",
              "signature": "async queryStaked(from?: number | string, to?: number | string)",
              "description": "Query `Staked(user, token, id, amount)` events."
            },
            {
              "name": "queryUnstaked",
              "signature": "async queryUnstaked(from?: number | string, to?: number | string)",
              "description": "Query `Unstaked(user, token, id, amount)` events."
            },
            {
              "name": "queryRewardClaimed",
              "signature": "async queryRewardClaimed(from?: number | string, to?: number | string)",
              "description": "Query `RewardClaimed(user, amount)` events."
            },
            {
              "name": "queryActionScheduled",
              "signature": "async queryActionScheduled(from?: number | string, to?: number | string)",
              "description": "Query `ActionScheduled(id, target, selector, executeAfter, recurring)` events."
            },
            {
              "name": "queryActionExecuted",
              "signature": "async queryActionExecuted(from?: number | string, to?: number | string)",
              "description": "Query `ActionExecuted(id, target, success)` events."
            },
            {
              "name": "queryCooldownUpdated",
              "signature": "async queryCooldownUpdated(from?: number | string, to?: number | string)",
              "description": "Query `CooldownUpdated(_secs)` events."
            },
            {
              "name": "queryDepositFeeUpdated",
              "signature": "async queryDepositFeeUpdated(from?: number | string, to?: number | string)",
              "description": "Query `DepositFeeUpdated(_bps, _treasury)` events."
            },
            {
              "name": "queryTokenArrowed",
              "signature": "async queryTokenArrowed(from?: number | string, to?: number | string)",
              "description": "Query `TokenArrowed(token, allowed)` events."
            }
          ],
          "file": "src/helpers/StakingHelper.ts",
          "line": 97
        },
        {
          "name": "TimelockControllerHelper",
          "imports": [
            "@hazbase/kit"
          ],
          "kind": "class",
          "signature": "class TimelockControllerHelper",
          "description": "",
          "methods": [
            {
              "name": "deploy",
              "signature": "static async deploy(\n    args: DeployArgs,\n    signer: ethers.Signer,\n    opts?: Partial<\n      Omit<\n        DeployViaFactoryOptions,\n        \"contractType\" | \"implABI\" | \"initArgs\" | \"signer\"\n      >\n    >\n  ): Promise<DeployResult>",
              "description": "Deploy a new TimelockController proxy and return a connected helper."
            },
            {
              "name": "attach",
              "signature": "static attach(address: Address, runner: ContractRunner, ops?: OptionalArgs)",
              "description": "Attach to an existing TimelockController at `address`."
            },
            {
              "name": "connect",
              "signature": "connect(runner: ContractRunner): TimelockControllerHelper",
              "description": "Return a new helper bound to a different signer/runner."
            },
            {
              "name": "schedule",
              "signature": "async schedule(\n    target: Address,\n    value: BigNumberish,\n    data: BytesLike,\n    predecessor: BytesLike = ZERO_BYTES32,\n    salt: BytesLike,\n    delay: BigNumberish\n  ): Promise<TransactionReceipt>",
              "description": "Schedule a single operation."
            },
            {
              "name": "scheduleBatch",
              "signature": "async scheduleBatch(\n    targets: readonly Address[],\n    values: readonly BigNumberish[],\n    datas: readonly BytesLike[],\n    predecessor: BytesLike = ZERO_BYTES32,\n    salt: BytesLike,\n    delay: BigNumberish\n  ): Promise<TransactionReceipt>",
              "description": "Schedule a batch of operations.\nArrays must have equal length; each index is a separate call under one operation id.\n\nSolidity:\n  function scheduleBatch(address[] targets, uint256[] values, bytes[] datas,\n                         bytes32 predecessor, bytes32 salt, uint256 delay) external;"
            },
            {
              "name": "execute",
              "signature": "async execute(\n    target: Address,\n    value: BigNumberish,\n    data: BytesLike,\n    predecessor: BytesLike = ZERO_BYTES32,\n    salt: BytesLike\n  ): Promise<TransactionReceipt>",
              "description": "Execute a single operation (must be READY).\n\nSolidity:\n  function execute(address target, uint256 value, bytes data,\n                   bytes32 predecessor, bytes32 salt) external payable;"
            },
            {
              "name": "executeBatch",
              "signature": "async executeBatch(\n    targets: readonly Address[],\n    values: readonly BigNumberish[],\n    datas: readonly BytesLike[],\n    predecessor: BytesLike = ZERO_BYTES32,\n    salt: BytesLike\n  ): Promise<TransactionReceipt>",
              "description": "Execute a batch operation (must be READY).\n\nSolidity:\n  function executeBatch(address[] targets, uint256[] values, bytes[] datas,\n                        bytes32 predecessor, bytes32 salt) external payable;"
            },
            {
              "name": "cancel",
              "signature": "async cancel(id: BytesLike): Promise<TransactionReceipt>",
              "description": "Cancel a scheduled (pending/waiting) operation.\n\nSolidity:\n  function cancel(bytes32 id) external;"
            },
            {
              "name": "minDelay",
              "signature": "async minDelay(): Promise<bigint>",
              "description": "Read the current minimum delay."
            },
            {
              "name": "scheduleUpdateDelay",
              "signature": "async scheduleUpdateDelay(params: {\n    newDelay: BigNumberish;\n    salt: BytesLike;\n    delay: BigNumberish;\n    predecessor?: BytesLike;\n  }): Promise<{ id: Bytes32; receipt: TransactionReceipt }>",
              "description": "Schedule a self-call to update the minimum delay via the timelock.\nThis is the canonical way to change delay (only the timelock can call `updateDelay`)."
            },
            {
              "name": "hashOperation",
              "signature": "async hashOperation(\n    target: Address,\n    value: BigNumberish,\n    data: BytesLike,\n    predecessor: BytesLike,\n    salt: BytesLike\n  ): Promise<Bytes32>",
              "description": "Hash for a single operation (pure on-chain function)."
            },
            {
              "name": "hashOperationBatch",
              "signature": "async hashOperationBatch(\n    targets: readonly Address[],\n    values: readonly BigNumberish[],\n    datas: readonly BytesLike[],\n    predecessor: BytesLike,\n    salt: BytesLike\n  ): Promise<Bytes32>",
              "description": "Hash for a batch operation (pure on-chain function)."
            },
            {
              "name": "timestamp",
              "signature": "async timestamp(id: BytesLike): Promise<bigint>",
              "description": "Operation timestamp (0 if unset or executed)."
            },
            {
              "name": "operationState",
              "signature": "async operationState(id: BytesLike): Promise<OperationState>",
              "description": "Operation finite state (Unset / Waiting / Ready / Done)."
            },
            {
              "name": "isOperation",
              "signature": "async isOperation(id: BytesLike): Promise<boolean>",
              "description": "True if operation exists (any state except Unset)."
            },
            {
              "name": "isOperationPending",
              "signature": "async isOperationPending(id: BytesLike): Promise<boolean>",
              "description": "True if operation is pending (registered but not ready)."
            },
            {
              "name": "isOperationReady",
              "signature": "async isOperationReady(id: BytesLike): Promise<boolean>",
              "description": "True if operation is ready (delay elapsed, not done)."
            },
            {
              "name": "isOperationDone",
              "signature": "async isOperationDone(id: BytesLike): Promise<boolean>",
              "description": "True if operation is executed (done)."
            },
            {
              "name": "TIMELOCK_ADMIN_ROLE",
              "signature": "async TIMELOCK_ADMIN_ROLE(): Promise<Bytes32>",
              "description": "Read role ids (bytes32) from the contract."
            },
            {
              "name": "PROPOSER_ROLE",
              "signature": "async PROPOSER_ROLE(): Promise<Bytes32>",
              "description": ""
            },
            {
              "name": "EXECUTOR_ROLE",
              "signature": "async EXECUTOR_ROLE(): Promise<Bytes32>",
              "description": ""
            },
            {
              "name": "CANCELLER_ROLE",
              "signature": "async CANCELLER_ROLE(): Promise<Bytes32>",
              "description": ""
            },
            {
              "name": "grantRole",
              "signature": "async grantRole(role: BytesLike, account: Address): Promise<TransactionReceipt>",
              "description": "Grant a role (bytes32) to an account (DEFAULT_ADMIN_ROLE required)."
            },
            {
              "name": "revokeRole",
              "signature": "async revokeRole(role: BytesLike, account: Address): Promise<TransactionReceipt>",
              "description": "Revoke a role (bytes32) from an account (DEFAULT_ADMIN_ROLE required)."
            },
            {
              "name": "renounceRole",
              "signature": "async renounceRole(role: BytesLike, account: Address): Promise<TransactionReceipt>",
              "description": "Renounce a role (bytes32) for the connected signer."
            },
            {
              "name": "hasRole",
              "signature": "async hasRole(role: BytesLike, account: Address): Promise<boolean>",
              "description": "Check if `account` holds `role`."
            },
            {
              "name": "supportsInterface",
              "signature": "async supportsInterface(iid: BytesLike): Promise<boolean>",
              "description": "ERC165 support check (useful for interface probing)."
            },
            {
              "name": "queryCallScheduled",
              "signature": "async queryCallScheduled(from?: number | string, to?: number | string)",
              "description": "Query `CallScheduled(id,index,target,value,data,predecessor,delay)` events."
            },
            {
              "name": "queryCallExecuted",
              "signature": "async queryCallExecuted(from?: number | string, to?: number | string)",
              "description": "Query `CallExecuted(id,index,target,value,data)` events."
            },
            {
              "name": "queryCancelled",
              "signature": "async queryCancelled(from?: number | string, to?: number | string)",
              "description": "Query `Cancelled(id)` events."
            },
            {
              "name": "queryMinDelayChange",
              "signature": "async queryMinDelayChange(from?: number | string, to?: number | string)",
              "description": "Query `MinDelayChange(old,new)` events."
            }
          ],
          "file": "src/helpers/TimelockControllerHelper.ts",
          "line": 79
        },
        {
          "name": "WhitelistHelper",
          "imports": [
            "@hazbase/kit"
          ],
          "kind": "class",
          "signature": "class WhitelistHelper",
          "description": "",
          "methods": [
            {
              "name": "deploy",
              "signature": "static async deploy(\n    args: DeployArgs,\n    signer: ethers.Signer,\n    opts?: Partial<\n      Omit<\n        DeployViaFactoryOptions,\n        \"contractType\" | \"implABI\" | \"initArgs\" | \"signer\"\n      >\n    >\n  ): Promise<DeployResult>",
              "description": "Deploy a new WhitelistUpgradeable proxy and return a connected helper.\nPurpose: Initialize a KYC/allowlist registry with admin- and ZK-managed entries."
            },
            {
              "name": "attach",
              "signature": "static attach(address: Address, runner: ContractRunner, ops?: OptionalArgs): WhitelistHelper",
              "description": "Attach to an existing WhitelistUpgradeable at `address`.\nPurpose: Create a helper bound to a deployed proxy."
            },
            {
              "name": "connect",
              "signature": "connect(runner: ContractRunner): WhitelistHelper",
              "description": "Return a new helper bound to a different signer/runner.\nPurpose: Swap execution context (e.g., change wallet) without re-attaching."
            },
            {
              "name": "addBasic",
              "signature": "async addBasic(user: Address): Promise<TransactionReceipt>",
              "description": "Add one address as `Basic` (onlyRole(ADMIN_ROLE))."
            },
            {
              "name": "removeBasic",
              "signature": "async removeBasic(user: Address): Promise<TransactionReceipt>",
              "description": "Remove one address (set to `None`) (onlyRole(ADMIN_ROLE))."
            },
            {
              "name": "addBasicBatch",
              "signature": "async addBasicBatch(users: readonly Address[]): Promise<TransactionReceipt>",
              "description": "Batch add addresses as `Basic` (onlyRole(ADMIN_ROLE))."
            },
            {
              "name": "removeBasicBatch",
              "signature": "async removeBasicBatch(\n    users: readonly Address[]\n  ): Promise<TransactionReceipt>",
              "description": "Batch remove addresses (set to `None`) (onlyRole(ADMIN_ROLE))."
            },
            {
              "name": "addZK",
              "signature": "async addZK(\n    to: Address,\n    a: ProofA,\n    b: ProofB,\n    c: ProofC,\n    pubSignals: PubSignals\n  ): Promise<{ nullifier: Bytes32; receipt: TransactionReceipt }>",
              "description": "Add an address as `ZK` by verifying a Groth16 proof (onlyRole(VERIFIER_ROLE)).\nPurpose: Trust-minimized allowlisting against the current Merkle root."
            },
            {
              "name": "setRoot",
              "signature": "async setRoot(newRoot: Bytes32): Promise<TransactionReceipt>",
              "description": "Update the active Merkle root (onlyRole(VERIFIER_ROLE)).\nPurpose: Rotate the cohort root used for zk verification."
            },
            {
              "name": "setVerifier",
              "signature": "async setVerifier(v: Address): Promise<TransactionReceipt>",
              "description": "Replace the Groth16 verifier contract (onlyRole(ADMIN_ROLE)).\nPurpose: Swap verifier implementation if needed."
            },
            {
              "name": "pause",
              "signature": "async pause(): Promise<TransactionReceipt>",
              "description": "Pause state-changing entrypoints (onlyRole(PAUSER_ROLE)).\nPurpose: Emergency stop for add/remove/root updates."
            },
            {
              "name": "unpause",
              "signature": "async unpause(): Promise<TransactionReceipt>",
              "description": "Unpause state-changing entrypoints (onlyRole(PAUSER_ROLE)).\nPurpose: Resume operations after pause."
            },
            {
              "name": "isWhitelisted",
              "signature": "async isWhitelisted(user: Address): Promise<boolean>",
              "description": "True if a user is whitelisted at any level (`Basic` or `ZK`)."
            },
            {
              "name": "kycLevel",
              "signature": "async kycLevel(user: Address): Promise<KYCLevel>",
              "description": "Get the KYC level for a user."
            },
            {
              "name": "usedNullifier",
              "signature": "async usedNullifier(nullifier: Bytes32): Promise<boolean>",
              "description": "Check if a nullifier hash has already been consumed."
            },
            {
              "name": "currentRoot",
              "signature": "async currentRoot(): Promise<Bytes32>",
              "description": "Current Merkle root used for zk verification."
            },
            {
              "name": "verifier",
              "signature": "async verifier(): Promise<Address>",
              "description": "Current verifier contract address."
            },
            {
              "name": "isTrustedForwarder",
              "signature": "async isTrustedForwarder(fwd: Address): Promise<boolean>",
              "description": "ERC-2771: true if `forwarder` is a trusted meta-tx forwarder."
            },
            {
              "name": "VERIFIER_ROLE",
              "signature": "async VERIFIER_ROLE(): Promise<Bytes32>",
              "description": "Read VERIFIER_ROLE selector."
            },
            {
              "name": "grantRole",
              "signature": "async grantRole(role: BytesLike, account: Address): Promise<TransactionReceipt>",
              "description": "Grant a role (bytes32) to an account (DEFAULT_ADMIN_ROLE required)."
            },
            {
              "name": "revokeRole",
              "signature": "async revokeRole(role: BytesLike, account: Address): Promise<TransactionReceipt>",
              "description": "Revoke a role (bytes32) from an account (DEFAULT_ADMIN_ROLE required)."
            },
            {
              "name": "renounceRole",
              "signature": "async renounceRole(role: BytesLike, account: Address): Promise<TransactionReceipt>",
              "description": "Renounce a role (bytes32) for the connected signer."
            },
            {
              "name": "hasRole",
              "signature": "async hasRole(role: BytesLike, account: Address): Promise<boolean>",
              "description": "Check if `account` holds `role`."
            },
            {
              "name": "queryWhitelistUpdated",
              "signature": "async queryWhitelistUpdated(from?: number | string, to?: number | string)",
              "description": "Query `WhitelistUpdated(user, level)` events."
            },
            {
              "name": "queryBatchWhitelistUpdated",
              "signature": "async queryBatchWhitelistUpdated(from?: number | string, to?: number | string)",
              "description": "Query `BatchWhitelistUpdated(count, level)` events."
            },
            {
              "name": "queryRootUpdated",
              "signature": "async queryRootUpdated(from?: number | string, to?: number | string)",
              "description": "Query `RootUpdated(oldRoot, newRoot)` events."
            },
            {
              "name": "queryVerifierSet",
              "signature": "async queryVerifierSet(from?: number | string, to?: number | string)",
              "description": "Query `VerifierSet(oldVerifier, newVerifier)` events."
            },
            {
              "name": "queryZKAdded",
              "signature": "async queryZKAdded(from?: number | string, to?: number | string)",
              "description": "Query `ZKAdded(user)` events."
            }
          ],
          "file": "src/helpers/WhitelistHelper.ts",
          "line": 89
        }
      ]
    },
    {
      "id": "auth",
      "name": "@hazbase/auth",
      "version": "0.6.1",
      "commit": "612e763a5b8286ac88e85c8625a0ef9cf130fe83",
      "repository": "https://github.com/hazbase/auth",
      "exports": [
        ".",
        "./extension"
      ],
      "entries": [
        {
          "name": "HazbaseApiErrorBody",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export type HazbaseApiErrorBody = {\n  message?: string | { message?: string; code?: string; errorCode?: string };\n  error?: string;\n  reason?: string;\n  code?: string;\n  errorCode?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 63
        },
        {
          "name": "HazbaseApiError",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "class",
          "signature": "class HazbaseApiError",
          "description": "",
          "methods": [
            {
              "name": "constructor",
              "signature": "constructor(message: string, status: number, code?: string, body?: HazbaseApiErrorBody)",
              "description": ""
            }
          ],
          "file": "src/auth.ts",
          "line": 71
        },
        {
          "name": "HazbasePasskeyErrorCode",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export type HazbasePasskeyErrorCode =\n  | 'passkey_cancelled'\n  | 'passkey_timeout'\n  | 'browser_no_passkey'\n  | 'https_required'\n  | 'passkey_unavailable'",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 85
        },
        {
          "name": "HazbasePasskeyError",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "class",
          "signature": "class HazbasePasskeyError",
          "description": "",
          "methods": [
            {
              "name": "constructor",
              "signature": "constructor(code: HazbasePasskeyErrorCode, message?: string)",
              "description": ""
            }
          ],
          "file": "src/auth.ts",
          "line": 92
        },
        {
          "name": "CurrentPasskeyPartnerOriginOptions",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface CurrentPasskeyPartnerOriginOptions {\n  clientKey: string;\n  location?: Pick<Location, 'origin' | 'protocol' | 'hostname'>;\n  secureContext?: boolean;\n  allowIpHostname?: boolean;\n}",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 102
        },
        {
          "name": "PasskeyAvailabilityOptions",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface PasskeyAvailabilityOptions {\n  location?: Pick<Location, 'protocol' | 'hostname'>;\n  secureContext?: boolean;\n  allowIpHostname?: boolean;\n}",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 109
        },
        {
          "name": "RegisterPasskeyRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface RegisterPasskeyRequest {\n  emailSession: string;\n  deviceId?: string;\n  deviceLabel?: string;\n  partnerOrigin?: PasskeyPartnerOriginOptions;\n  metadata?: Record<string, unknown>;\n  challengeEndpoint?: string;\n  completeEndpoint?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 115
        },
        {
          "name": "AssertPasskeyRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface AssertPasskeyRequest {\n  emailSession: string;\n  purpose?: PasskeyAssertionPurpose;\n  deviceBindingId?: string;\n  partnerOrigin?: PasskeyPartnerOriginOptions;\n  challengeEndpoint?: string;\n  completeEndpoint?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 125
        },
        {
          "name": "listSupportedChains",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function listSupportedChains({\n  endpoint = '/api/meta/chains',\n}: {\n  endpoint?: string;\n} = {}): Promise<SupportedChainsResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 236
        },
        {
          "name": "listTokens",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function listTokens({\n  chainId,\n  endpoint = '/api/wallet/tokens',\n}: ListTokensRequest & { endpoint?: string } = {}): Promise<ListTokensResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 244
        },
        {
          "name": "getTokenInfo",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function getTokenInfo({\n  chainId,\n  token,\n  endpoint = '/api/wallet/token-info',\n}: GetTokenInfoRequest & { endpoint?: string }): Promise<GetTokenInfoResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 252
        },
        {
          "name": "getBalance",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function getBalance({\n  chainId,\n  token,\n  account,\n  endpoint = '/api/wallet/balance',\n}: GetBalanceRequest & { endpoint?: string }): Promise<GetBalanceResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 263
        },
        {
          "name": "getActivity",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function getActivity({\n  chainId,\n  token,\n  account,\n  limit,\n  cursor,\n  fromBlock,\n  toBlock,\n  endpoint = '/api/wallet/activity',\n}: GetActivityRequest & { endpoint?: string }): Promise<GetActivityResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 276
        },
        {
          "name": "prepareTransfer",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function prepareTransfer({\n  chainId,\n  token,\n  account,\n  recipient,\n  amount,\n  metadata,\n  endpoint = '/api/wallet/transfer/prepare',\n}: PrepareTransferRequest & { endpoint?: string }): Promise<PrepareTransferResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 297
        },
        {
          "name": "submitTransfer",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function submitTransfer({\n  emailSession,\n  chainId,\n  token,\n  account,\n  recipient,\n  amount,\n  deviceBindingId,\n  highTrustToken,\n  accountSalt,\n  paymasterValiditySec,\n  waitForReceipt,\n  metadata,\n  endpoint = '/api/wallet/transfer/submit',\n}: SubmitTransferRequest & { endpoint?: string }): Promise<SubmitTransferResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 316
        },
        {
          "name": "signInWithWallet",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function signInWithWallet(\n  {\n    signer,\n    buildMessage = (nonce: string) => `Please sign to authorize user with nonce: ${nonce}`,\n  }: {\n    signer: ethers.JsonRpcSigner;\n    buildMessage?: (nonce: string) => string;\n  },\n): Promise<SignInResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 346
        },
        {
          "name": "requestEmailOtp",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function requestEmailOtp({\n  email,\n  purpose = 'smart_wallet_sign_in',\n  functionId,\n  endpoint = '/api/auth/email/request-otp',\n}: {\n  email: string;\n  purpose?: string;\n  functionId?: number;\n  endpoint?: string;\n}): Promise<EmailOtpRequestResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 367
        },
        {
          "name": "verifyEmailOtp",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function verifyEmailOtp({\n  email,\n  code,\n  purpose = 'smart_wallet_sign_in',\n  functionId,\n  endpoint = '/api/auth/email/verify-otp',\n}: {\n  email: string;\n  code: string;\n  purpose?: string;\n  functionId?: number;\n  endpoint?: string;\n}): Promise<EmailOtpSessionResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 389
        },
        {
          "name": "refreshEmailSession",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function refreshEmailSession({\n  refreshToken,\n  endpoint = '/api/auth/email/refresh-session',\n}: {\n  refreshToken: string;\n  endpoint?: string;\n}): Promise<EmailSessionRefreshResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 413
        },
        {
          "name": "createStepUpBrowserBinding",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function createStepUpBrowserBinding(): Promise<StepUpBrowserBinding>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 423
        },
        {
          "name": "requestEmailStepUp",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function requestEmailStepUp({\n  emailSession,\n  purpose,\n  browserBindingHash,\n  origin,\n  returnUrl,\n  endpoint = '/api/auth/step-up/email/request',\n}: {\n  emailSession: string;\n  purpose: string;\n  browserBindingHash: string;\n  origin?: string;\n  returnUrl?: string;\n  endpoint?: string;\n}): Promise<EmailStepUpRequestResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 434
        },
        {
          "name": "completeEmailStepUp",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function completeEmailStepUp({\n  emailSession,\n  challengeId,\n  purpose,\n  browserBindingSecret,\n  token,\n  code,\n  origin,\n  endpoint = '/api/auth/step-up/email/complete',\n}: {\n  emailSession: string;\n  challengeId: string;\n  purpose: string;\n  browserBindingSecret: string;\n  token?: string;\n  code?: string;\n  origin?: string;\n  endpoint?: string;\n}): Promise<StepUpResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 459
        },
        {
          "name": "completePasskeyStepUp",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function completePasskeyStepUp({\n  emailSession,\n  purpose,\n  highTrustToken,\n  origin,\n  endpoint = '/api/auth/step-up/passkey/complete',\n}: {\n  emailSession: string;\n  purpose: string;\n  highTrustToken: string;\n  origin?: string;\n  endpoint?: string;\n}): Promise<StepUpResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 489
        },
        {
          "name": "verifyStepUpAssurance",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function verifyStepUpAssurance({\n  emailSession,\n  assuranceToken,\n  purpose,\n  minimumAssurance = 'email_link',\n  origin,\n  endpoint = '/api/auth/step-up/verify',\n}: {\n  emailSession: string;\n  assuranceToken: string;\n  purpose: string;\n  minimumAssurance?: StepUpAssurance;\n  origin?: string;\n  endpoint?: string;\n}): Promise<StepUpVerificationResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 510
        },
        {
          "name": "readEmailStepUpHandoff",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export function readEmailStepUpHandoff(fragment?: string): EmailStepUpHandoff | null",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 534
        },
        {
          "name": "consumeEmailStepUpHandoffFromLocation",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export function consumeEmailStepUpHandoffFromLocation({\n  clear = true,\n}: {\n  clear?: boolean;\n} = {}): EmailStepUpHandoff | null",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 554
        },
        {
          "name": "requestPasskeyRegistrationChallenge",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function requestPasskeyRegistrationChallenge({\n  emailSession,\n  deviceId,\n  deviceLabel,\n  partnerOrigin,\n  endpoint = '/api/auth/passkey/register/challenge',\n}: {\n  emailSession: string;\n  deviceId?: string;\n  deviceLabel?: string;\n  partnerOrigin?: PasskeyPartnerOriginOptions;\n  endpoint?: string;\n}): Promise<PasskeyRegistrationChallengeResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 570
        },
        {
          "name": "completePasskeyRegistration",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function completePasskeyRegistration({\n  emailSession,\n  challengeId,\n  credential,\n  deviceId,\n  deviceLabel,\n  metadata,\n  endpoint = '/api/auth/passkey/register/complete',\n}: CompletePasskeyRegistrationRequest & { endpoint?: string }): Promise<CompletePasskeyRegistrationResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 592
        },
        {
          "name": "requestPasskeyAssertionChallenge",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function requestPasskeyAssertionChallenge({\n  emailSession,\n  purpose = 'reauth',\n  deviceBindingId,\n  partnerOrigin,\n  endpoint = '/api/auth/passkey/assert/challenge',\n}: {\n  emailSession: string;\n  purpose?: PasskeyAssertionPurpose;\n  deviceBindingId?: string;\n  partnerOrigin?: PasskeyPartnerOriginOptions;\n  endpoint?: string;\n}): Promise<PasskeyAssertionChallengeResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 610
        },
        {
          "name": "completePasskeyAssertion",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function completePasskeyAssertion({\n  emailSession,\n  challengeId,\n  credential,\n  purpose,\n  deviceBindingId,\n  endpoint = '/api/auth/passkey/assert/complete',\n}: CompletePasskeyAssertionRequest & { endpoint?: string }): Promise<CompletePasskeyAssertionResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 632
        },
        {
          "name": "registerPasskey",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function registerPasskey({\n  emailSession,\n  deviceId,\n  deviceLabel,\n  partnerOrigin,\n  metadata,\n  challengeEndpoint,\n  completeEndpoint,\n}: RegisterPasskeyRequest): Promise<CompletePasskeyRegistrationResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 648
        },
        {
          "name": "assertPasskey",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function assertPasskey({\n  emailSession,\n  purpose = 'reauth',\n  deviceBindingId,\n  partnerOrigin,\n  challengeEndpoint,\n  completeEndpoint,\n}: AssertPasskeyRequest): Promise<CompletePasskeyAssertionResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 676
        },
        {
          "name": "canUseDirectPartnerPasskey",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export function canUseDirectPartnerPasskey(options: PasskeyAvailabilityOptions = {}): boolean",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 702
        },
        {
          "name": "getCurrentPasskeyPartnerOrigin",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export function getCurrentPasskeyPartnerOrigin(options: CurrentPasskeyPartnerOriginOptions): PasskeyPartnerOriginOptions",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 713
        },
        {
          "name": "canUsePasskeyCredential",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export function canUsePasskeyCredential(): boolean",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 725
        },
        {
          "name": "createPasskeyRegistrationCredential",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function createPasskeyRegistrationCredential(\n  challenge: PasskeyRegistrationChallengeResult,\n): Promise<PasskeyRegistrationCredential>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 731
        },
        {
          "name": "createPasskeyAssertionCredential",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function createPasskeyAssertionCredential(\n  challenge: PasskeyAssertionChallengeResult,\n): Promise<PasskeyAssertionCredential>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 792
        },
        {
          "name": "requestPasskeyAccountDescriptor",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function requestPasskeyAccountDescriptor({\n  emailSession,\n  deviceBindingId,\n  accountSalt,\n  chainId,\n  accountVariant,\n  endpoint = '/api/auth/account/descriptor',\n}: {\n  emailSession: string;\n  deviceBindingId: string;\n  accountSalt?: string;\n  chainId?: number;\n  accountVariant?: string;\n  endpoint?: string;\n}): Promise<PasskeyAccountDescriptorResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 826
        },
        {
          "name": "bootstrapPasskeyAccount",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function bootstrapPasskeyAccount({\n  emailSession,\n  deviceBindingId,\n  highTrustToken,\n  accountSalt,\n  chainId,\n  accountVariant,\n  metadata,\n  endpoint = '/api/auth/account/bootstrap',\n}: BootstrapPasskeyAccountRequest & { endpoint?: string }): Promise<BootstrapPasskeyAccountResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 849
        },
        {
          "name": "lookupPasskeyAccount",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function lookupPasskeyAccount({\n  emailSession,\n  deviceBindingId,\n  smartAccountAddress,\n  chainId,\n  endpoint = '/api/auth/account/lookup',\n}: LookupPasskeyAccountRequest & { endpoint?: string }): Promise<LookupPasskeyAccountResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 869
        },
        {
          "name": "authorizeOwnerUserOp",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function authorizeOwnerUserOp({\n  emailSession,\n  deviceBindingId,\n  highTrustToken,\n  smartAccountAddress,\n  chainId,\n  userOpHash,\n  validForSec,\n  endpoint = '/api/auth/account/authorize-userop',\n}: OwnerUserOpAuthorizationRequest & { endpoint?: string }): Promise<OwnerUserOpAuthorizationResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 883
        },
        {
          "name": "startEmbeddedSession",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function startEmbeddedSession({\n  emailSession,\n  smartAccountAddress,\n  chainId,\n  deviceBindingId,\n  actionProfileKey,\n  highTrustToken,\n  sessionKeyAddress,\n  metadata,\n  endpoint = '/api/wallet/session/start',\n}: StartEmbeddedSessionRequest & { endpoint?: string }): Promise<EmbeddedSessionGrantResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 903
        },
        {
          "name": "endEmbeddedSession",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function endEmbeddedSession({\n  emailSession,\n  embeddedSessionId,\n  endpoint = '/api/wallet/session/end',\n}: EndEmbeddedSessionRequest & { endpoint?: string }): Promise<void>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 925
        },
        {
          "name": "grantEmbeddedSession",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function grantEmbeddedSession({\n  emailSession,\n  embeddedSessionId,\n  smartAccountAddress,\n  deviceBindingId,\n  highTrustToken,\n  endpoint = '/api/wallet/session/grant',\n}: GrantEmbeddedSessionRequest & { endpoint?: string }): Promise<EmbeddedSessionGrantResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 933
        },
        {
          "name": "executeEmbeddedSession",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function executeEmbeddedSession({\n  emailSession,\n  embeddedSessionId,\n  userOp,\n  target,\n  data,\n  value,\n  paymasterValiditySec,\n  metadata,\n  waitForReceipt,\n  endpoint = '/api/wallet/session/execute',\n}: ExecuteEmbeddedSessionRequest & { endpoint?: string }): Promise<ExecuteEmbeddedSessionResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 949
        },
        {
          "name": "listPasskeyDevices",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function listPasskeyDevices({\n  emailSession,\n  endpoint = '/api/auth/account/devices',\n}: ListPasskeyDevicesRequest & { endpoint?: string }): Promise<ListPasskeyDevicesResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 973
        },
        {
          "name": "revokePasskeyDevice",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function revokePasskeyDevice({\n  emailSession,\n  deviceBindingId,\n  highTrustToken,\n  endpoint = '/api/auth/account/revoke-device',\n}: RevokePasskeyDeviceRequest & { endpoint?: string }): Promise<RevokePasskeyDeviceResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 980
        },
        {
          "name": "listEmbeddedSessions",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function listEmbeddedSessions({\n  emailSession,\n  endpoint = '/api/auth/account/sessions',\n}: ListEmbeddedSessionsRequest & { endpoint?: string }): Promise<ListEmbeddedSessionsResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 989
        },
        {
          "name": "revokeEmbeddedSession",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function revokeEmbeddedSession({\n  emailSession,\n  embeddedSessionId,\n  highTrustToken,\n  endpoint = '/api/auth/account/revoke-session',\n}: RevokeEmbeddedSessionRequest & { endpoint?: string }): Promise<RevokeEmbeddedSessionResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 996
        },
        {
          "name": "sponsorUserOp",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function sponsorUserOp({\n  emailSession,\n  embeddedSessionId,\n  sender,\n  nonce,\n  initCode,\n  callData,\n  callGasLimit,\n  verificationGasLimit,\n  preVerificationGas,\n  maxFeePerGas,\n  maxPriorityFeePerGas,\n  target,\n  data,\n  value,\n  paymasterValiditySec,\n  signingMode,\n  metadata,\n  endpoint = '/api/wallet/sponsor-action',\n}: SponsorUserOpRequest & { endpoint?: string }): Promise<SponsorUserOpResult>",
          "description": "",
          "methods": [],
          "file": "src/auth.ts",
          "line": 1005
        },
        {
          "name": "setClientKey",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export function setClientKey(key: string): void",
          "description": "Call once at app bootstrap.",
          "methods": [],
          "file": "src/config.ts",
          "line": 19
        },
        {
          "name": "setApiEndpoint",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export function setApiEndpoint(uri?: string): void",
          "description": "Set api endpoint.",
          "methods": [],
          "file": "src/config.ts",
          "line": 26
        },
        {
          "name": "getApiEndpoint",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export function getApiEndpoint(): string",
          "description": "",
          "methods": [],
          "file": "src/config.ts",
          "line": 30
        },
        {
          "name": "ensureClientKeyActive",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function ensureClientKeyActive(functionId: number): Promise<string>",
          "description": "-----------------------------------------------------\nNEW: Validate key with backend, cached after first\n-----------------------------------------------------",
          "methods": [],
          "file": "src/config.ts",
          "line": 54
        },
        {
          "name": "createRequestTransaction",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function createRequestTransaction({\n    functionId,\n    walletAddress,\n    transactionHash,\n    apiRequests = [],\n    status,\n    reason,\n    isCount = true,\n  }: {\n    functionId: number,\n    status: string,\n    walletAddress?: string,\n    transactionHash?: string,\n    apiRequests?: any,\n    reason?: string,\n    isCount?: boolean\n  }) : Promise<void>",
          "description": "",
          "methods": [],
          "file": "src/config.ts",
          "line": 75
        },
        {
          "name": "API_ENDPOINT",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "constant",
          "signature": "export const API_ENDPOINT: \"https://api.hazbase.com\"",
          "description": "hazBase default auth API",
          "methods": [],
          "file": "src/constants.ts",
          "line": 2
        },
        {
          "name": "PasskeyBridgeMode",
          "imports": [
            "@hazbase/auth/extension"
          ],
          "kind": "type",
          "signature": "export type PasskeyBridgeMode = 'registration' | 'assertion'",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 8
        },
        {
          "name": "PasskeyBridgeResult",
          "imports": [
            "@hazbase/auth/extension"
          ],
          "kind": "type",
          "signature": "export type PasskeyBridgeResult =\n  | {\n      ok: true;\n      mode: 'registration';\n      requestId: string;\n      registration: CompletePasskeyRegistrationResult;\n    }\n  | {\n      ok: true;\n      mode: 'assertion';\n      requestId: string;\n      assertion: CompletePasskeyAssertionResult;\n    }\n  | {\n      ok: false;\n      mode?: PasskeyBridgeMode;\n      requestId?: string;\n      reason: string;\n      code?: string;\n    }",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 10
        },
        {
          "name": "PasskeyBridgeRunInput",
          "imports": [
            "@hazbase/auth/extension"
          ],
          "kind": "type",
          "signature": "export type PasskeyBridgeRunInput = {\n  mode: PasskeyBridgeMode;\n  emailSession: string;\n  apiEndpoint?: string;\n  purpose?: PasskeyAssertionPurpose;\n  deviceBindingId?: string;\n  deviceLabel?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 31
        },
        {
          "name": "PasskeyBridgeSurface",
          "imports": [
            "@hazbase/auth/extension"
          ],
          "kind": "type",
          "signature": "export type PasskeyBridgeSurface = {\n  windowId?: number;\n  tabId?: number;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 40
        },
        {
          "name": "CreatePasskeyBridgeControllerOptions",
          "imports": [
            "@hazbase/auth/extension"
          ],
          "kind": "type",
          "signature": "export type CreatePasskeyBridgeControllerOptions = {\n  extensionId: string;\n  fallbackApiEndpoint?: string;\n  openBridgeWindow: (url: string) => Promise<PasskeyBridgeSurface>;\n  timeoutMs?: number;\n  createRequestId?: () => string;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 45
        },
        {
          "name": "PasskeyBridgeRuntimeLike",
          "imports": [
            "@hazbase/auth/extension"
          ],
          "kind": "type",
          "signature": "export type PasskeyBridgeRuntimeLike = {\n  lastError?: { message?: string };\n  sendMessage?: (message: unknown, callback: (response: PasskeyBridgeResult) => void) => void;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 53
        },
        {
          "name": "RequestExtensionPasskeyBridgeOptions",
          "imports": [
            "@hazbase/auth/extension"
          ],
          "kind": "type",
          "signature": "export type RequestExtensionPasskeyBridgeOptions = {\n  runtime?: PasskeyBridgeRuntimeLike;\n  messageType?: string;\n  unavailableMessage?: string;\n  failedMessage?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 58
        },
        {
          "name": "RequestPasskeyBridgePopupOptions",
          "imports": [
            "@hazbase/auth/extension"
          ],
          "kind": "type",
          "signature": "export type RequestPasskeyBridgePopupOptions = {\n  bridgeEndpoint?: string;\n  returnOrigin?: string;\n  timeoutMs?: number;\n  windowName?: string;\n  windowFeatures?: string;\n  openWindow?: (url: string, name: string, features: string) => Window | null;\n}",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 65
        },
        {
          "name": "PasskeyBridgeExternalMessageResult",
          "imports": [
            "@hazbase/auth/extension"
          ],
          "kind": "type",
          "signature": "export type PasskeyBridgeExternalMessageResult =\n  | { handled: true; response: { ok: true } | { ok: false; reason: string } }\n  | { handled: false; response?: undefined }",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 74
        },
        {
          "name": "createPasskeyBridgeController",
          "imports": [
            "@hazbase/auth/extension"
          ],
          "kind": "function",
          "signature": "export function createPasskeyBridgeController(options: CreatePasskeyBridgeControllerOptions)",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 87
        },
        {
          "name": "requestExtensionPasskeyBridge",
          "imports": [
            "@hazbase/auth/extension"
          ],
          "kind": "function",
          "signature": "export function requestExtensionPasskeyBridge(\n  input: PasskeyBridgeRunInput,\n  options: RequestExtensionPasskeyBridgeOptions = {},\n): Promise<PasskeyBridgeResult>",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 180
        },
        {
          "name": "createPasskeyBridgeUrl",
          "imports": [
            "@hazbase/auth/extension"
          ],
          "kind": "function",
          "signature": "export function createPasskeyBridgeUrl(input: PasskeyBridgeRunInput & {\n  bridgeEndpoint: string;\n  extensionId?: string;\n  returnOrigin?: string;\n  requestId: string;\n}): string",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 208
        },
        {
          "name": "requestPasskeyBridgePopup",
          "imports": [
            "@hazbase/auth/extension"
          ],
          "kind": "function",
          "signature": "export function requestPasskeyBridgePopup(\n  input: PasskeyBridgeRunInput,\n  options: RequestPasskeyBridgePopupOptions = {},\n): Promise<PasskeyBridgeResult>",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 227
        },
        {
          "name": "normalizePasskeyBridgeEndpoint",
          "imports": [
            "@hazbase/auth/extension"
          ],
          "kind": "function",
          "signature": "export function normalizePasskeyBridgeEndpoint(value: unknown, fallback = API_ENDPOINT): string",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 307
        },
        {
          "name": "normalizePasskeyBridgeResult",
          "imports": [
            "@hazbase/auth/extension"
          ],
          "kind": "function",
          "signature": "export function normalizePasskeyBridgeResult(record: Record<string, unknown>): PasskeyBridgeResult",
          "description": "",
          "methods": [],
          "file": "src/extension.ts",
          "line": 318
        },
        {
          "name": "SUPPORTED_X402_BUYER_NETWORKS",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "constant",
          "signature": "export const SUPPORTED_X402_BUYER_NETWORKS: { readonly base: { readonly chainId: 8453; readonly label: \"Base\"; readonly eip712Name: \"USD Coin\"; readonly eip712Version: \"2\"; readonly usdcName: \"USD Coin\"; readonly usdcVersion: \"2\"; readonly usdcAddress: \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\"; }; readonly 'base-sepolia': { readonly chainId: 84532; readonly label: \"Base Sepolia\"; readonly eip712Name: \"USDC\"; readonly eip712Version: \"2\"; readonly usdcName: \"USDC\"; readonly usdcVersion: \"2\"; readonly usdcAddress: \"0x036CbD53842c5426634e7929541eC2318f3dCF7e\"; }; readonly polygon: { readonly chainId: 137; readonly label: \"Polygon\"; readonly eip712Name: \"USD Coin\"; readonly eip712Version: \"2\"; readonly usdcName: \"USD Coin\"; readonly usdcVersion: \"2\"; readonly usdcAddress: \"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359\"; }; readonly 'polygon-amoy': { readonly chainId: 80002; readonly label: \"Polygon Amoy\"; readonly eip712Name: \"USDC\"; readonly eip712Version: \"2\"; readonly usdcName: \"USDC\"; readonly usdcVersion: \"2\"; readonly usdcAddress: \"0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582\"; }; }",
          "description": "",
          "methods": [],
          "file": "src/payments.ts",
          "line": 84
        },
        {
          "name": "listSupportedPayments",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function listSupportedPayments({\n  endpoint = '/api/meta/payments',\n}: {\n  endpoint?: string;\n} = {}): Promise<SupportedPaymentsResult>",
          "description": "",
          "methods": [],
          "file": "src/payments.ts",
          "line": 164
        },
        {
          "name": "buildX402Requirements",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function buildX402Requirements({\n  emailSession,\n  endpoint = '/api/payments/x402/requirements',\n  ...body\n}: X402RequirementsRequest & { endpoint?: string }): Promise<X402RequirementsResult>",
          "description": "",
          "methods": [],
          "file": "src/payments.ts",
          "line": 172
        },
        {
          "name": "verifyX402Payment",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function verifyX402Payment({\n  endpoint = '/api/payments/x402/verify',\n  ...body\n}: X402VerifyRequest & { endpoint?: string }): Promise<X402VerifyResult>",
          "description": "",
          "methods": [],
          "file": "src/payments.ts",
          "line": 180
        },
        {
          "name": "settleX402Payment",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function settleX402Payment({\n  endpoint = '/api/payments/x402/settle',\n  ...body\n}: X402SettleRequest & { endpoint?: string }): Promise<X402SettleResult>",
          "description": "",
          "methods": [],
          "file": "src/payments.ts",
          "line": 187
        },
        {
          "name": "parseX402ResponseBody",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export function parseX402ResponseBody(input: string | X402ResponseBody): X402ResponseBody",
          "description": "",
          "methods": [],
          "file": "src/payments.ts",
          "line": 194
        },
        {
          "name": "selectX402PaymentRequirement",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export function selectX402PaymentRequirement(\n  x402: X402ResponseBody,\n  {\n    scheme = 'exact',\n    networks = Object.keys(SUPPORTED_X402_BUYER_NETWORKS),\n  }: {\n    scheme?: string;\n    networks?: string[];\n  } = {},\n): X402Requirement",
          "description": "",
          "methods": [],
          "file": "src/payments.ts",
          "line": 212
        },
        {
          "name": "getX402PaymentRequestId",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export function getX402PaymentRequestId(x402: X402ResponseBody, requirement?: X402Requirement): string",
          "description": "",
          "methods": [],
          "file": "src/payments.ts",
          "line": 237
        },
        {
          "name": "buildX402PaymentHeader",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function buildX402PaymentHeader({\n  requirement,\n  privateKey,\n  nonce,\n  validAfter,\n  validBefore,\n  now = Math.floor(Date.now() / 1000),\n  maxValue,\n  expectedPayTo,\n  expectedAsset,\n}: BuildX402PaymentHeaderRequest): Promise<BuildX402PaymentHeaderResult>",
          "description": "",
          "methods": [],
          "file": "src/payments.ts",
          "line": 245
        },
        {
          "name": "decodeXPaymentResponseHeader",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export function decodeXPaymentResponseHeader(value?: string | null): Record<string, unknown> | null",
          "description": "",
          "methods": [],
          "file": "src/payments.ts",
          "line": 338
        },
        {
          "name": "payX402WithHazbaseWallet",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "function",
          "signature": "export async function payX402WithHazbaseWallet({\n  emailSession,\n  endpoint = '/api/payments/x402/hazbase-wallet/pay',\n  ...body\n}: X402HazbaseWalletPayRequest & { endpoint?: string }): Promise<X402HazbaseWalletPayResult>",
          "description": "",
          "methods": [],
          "file": "src/payments.ts",
          "line": 351
        },
        {
          "name": "SignInResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface SignInResult {\n  walletAddress: string;\n  accessToken: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 1
        },
        {
          "name": "SupportedChainSummary",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface SupportedChainSummary {\n  chainId: number;\n  key: string;\n  name: string;\n  kind: 'testnet' | 'mainnet';\n  rpcUrl: string;\n  bundlerRpcUrl?: string | null;\n  entryPointAddress: string;\n  paymasterAddress?: string | null;\n  defaultAccountVariant?: string;\n  defaultProfileKey?: string | null;\n  blockExplorerUrl?: string | null;\n  capabilities?: {\n    owner: boolean;\n    session: boolean;\n    sponsor: boolean;\n    firstPartyProfiles: boolean;\n  };\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 6
        },
        {
          "name": "SupportedChainsResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface SupportedChainsResult {\n  defaultChainId: number;\n  chains: SupportedChainSummary[];\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 26
        },
        {
          "name": "EmailOtpAccountSummary",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface EmailOtpAccountSummary {\n  smartAccountAddress: string;\n  chainId: number;\n  accountVariant?: string;\n  relayMode?: string;\n  primaryDeviceBindingId?: string;\n  updatedAt?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 32
        },
        {
          "name": "EmailOtpRequestResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface EmailOtpRequestResult {\n  email: string;\n  challengeId?: string;\n  requestId?: string;\n  expiresAt?: string;\n  status?: string;\n  debugCode?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 41
        },
        {
          "name": "EmailOtpSessionResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface EmailOtpSessionResult {\n  email: string;\n  accessToken: string;\n  refreshToken?: string;\n  sessionId?: string;\n  userId?: string;\n  ownerBootstrapRequired?: boolean;\n  smartAccountAddress?: string;\n  accountVariant?: string;\n  relayMode?: string;\n  accounts?: EmailOtpAccountSummary[];\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 50
        },
        {
          "name": "EmailSessionRefreshResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface EmailSessionRefreshResult {\n  email: string;\n  accessToken: string;\n  refreshToken: string;\n  sessionId: string;\n  userId: string;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 63
        },
        {
          "name": "StepUpAssurance",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export type StepUpAssurance = 'email_link' | 'passkey'",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 72
        },
        {
          "name": "StepUpBrowserBinding",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface StepUpBrowserBinding {\n  secret: string;\n  hash: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 74
        },
        {
          "name": "EmailStepUpHandoff",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface EmailStepUpHandoff {\n  version: 1;\n  challengeId: string;\n  token: string;\n  origin: string;\n  purpose: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 79
        },
        {
          "name": "EmailStepUpRequestResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface EmailStepUpRequestResult {\n  challengeId: string;\n  origin: string;\n  purpose: string;\n  expiresAt: string;\n  status?: string;\n  debugCode?: string;\n  debugLink?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 87
        },
        {
          "name": "StepUpResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface StepUpResult {\n  assuranceToken: string;\n  assurance: StepUpAssurance;\n  purpose: string;\n  origin: string;\n  expiresAt: string;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 97
        },
        {
          "name": "StepUpVerificationResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface StepUpVerificationResult {\n  verified: boolean;\n  assuranceId: string;\n  assurance: StepUpAssurance;\n  purpose: string;\n  origin: string;\n  expiresAt: string;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 106
        },
        {
          "name": "PasskeyAssertionPurpose",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export type PasskeyAssertionPurpose = 'bootstrap' | 'migration' | 'reauth' | 'session'",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 116
        },
        {
          "name": "PasskeyAlgorithm",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export type PasskeyAlgorithm = 'ES256' | 'RS256'",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 117
        },
        {
          "name": "PasskeyPartnerOriginOptions",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface PasskeyPartnerOriginOptions {\n  origin: string;\n  rpId?: string;\n  clientKey?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 119
        },
        {
          "name": "PasskeyRegistrationChallengeResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface PasskeyRegistrationChallengeResult {\n  challengeId: string;\n  challenge: string;\n  rpId: string;\n  rpName: string;\n  origin: string;\n  userHandle: string;\n  userName: string;\n  userDisplayName: string;\n  timeoutMs?: number;\n  excludeCredentialIds?: string[];\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 125
        },
        {
          "name": "PasskeyRegistrationCredential",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface PasskeyRegistrationCredential {\n  username: string;\n  credential: {\n    id: string;\n    publicKey: string;\n    algorithm: PasskeyAlgorithm;\n  };\n  authenticatorData: string;\n  clientData: string;\n  attestationData?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 139
        },
        {
          "name": "CompletePasskeyRegistrationRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface CompletePasskeyRegistrationRequest {\n  emailSession: string;\n  challengeId: string;\n  credential: PasskeyRegistrationCredential;\n  deviceId?: string;\n  deviceLabel?: string;\n  metadata?: Record<string, unknown>;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 151
        },
        {
          "name": "CompletePasskeyRegistrationResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface CompletePasskeyRegistrationResult {\n  deviceBindingId: string;\n  credentialId: string;\n  status?: string;\n  userId?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 160
        },
        {
          "name": "PasskeyAssertionChallengeResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface PasskeyAssertionChallengeResult {\n  challengeId: string;\n  challenge: string;\n  rpId: string;\n  origin: string;\n  timeoutMs?: number;\n  purpose: PasskeyAssertionPurpose;\n  deviceBindingId?: string;\n  credentialIds?: string[];\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 167
        },
        {
          "name": "PasskeyAssertionCredential",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface PasskeyAssertionCredential {\n  credentialId: string;\n  authenticatorData: string;\n  clientData: string;\n  signature: string;\n  userHandle?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 179
        },
        {
          "name": "CompletePasskeyAssertionRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface CompletePasskeyAssertionRequest {\n  emailSession: string;\n  challengeId: string;\n  credential: PasskeyAssertionCredential;\n  purpose?: PasskeyAssertionPurpose;\n  deviceBindingId?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 187
        },
        {
          "name": "CompletePasskeyAssertionResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface CompletePasskeyAssertionResult {\n  deviceBindingId: string;\n  credentialId: string;\n  purpose: PasskeyAssertionPurpose;\n  assertedAt?: string;\n  highTrustToken?: string;\n  highTrustExpiresAt?: string;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 195
        },
        {
          "name": "PasskeyAccountDescriptorResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface PasskeyAccountDescriptorResult {\n  chainId: number;\n  factoryAddress: string;\n  ownerValidator: string;\n  ownerConfig: string;\n  ownerConfigHash: string;\n  predictedAccountAddress: string;\n  accountSalt: string;\n  accountVariant?: string;\n  relayMode?: string;\n  credentialId?: string;\n  deviceBindingId?: string;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 205
        },
        {
          "name": "BootstrapPasskeyAccountRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface BootstrapPasskeyAccountRequest {\n  emailSession: string;\n  deviceBindingId: string;\n  highTrustToken: string;\n  accountSalt?: string;\n  chainId?: number;\n  accountVariant?: string;\n  metadata?: Record<string, unknown>;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 220
        },
        {
          "name": "BootstrapPasskeyAccountResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface BootstrapPasskeyAccountResult extends PasskeyAccountDescriptorResult {\n  smartAccountAddress: string;\n  userId?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 230
        },
        {
          "name": "LookupPasskeyAccountRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface LookupPasskeyAccountRequest {\n  emailSession: string;\n  deviceBindingId?: string;\n  smartAccountAddress?: string;\n  chainId?: number;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 235
        },
        {
          "name": "LookupPasskeyAccountResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface LookupPasskeyAccountResult {\n  smartAccountAddress?: string;\n  ownerValidator?: string;\n  ownerConfigHash?: string;\n  accountVariant?: string;\n  relayMode?: string;\n  accountSalt?: string;\n  chainId?: number;\n  primaryDeviceBindingId?: string;\n  credentialId?: string;\n  deviceBindingId?: string;\n  status?: string;\n  [key: string]: unknown;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 242
        },
        {
          "name": "OwnerUserOpAuthorizationRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface OwnerUserOpAuthorizationRequest {\n  emailSession: string;\n  deviceBindingId: string;\n  highTrustToken: string;\n  smartAccountAddress: string;\n  chainId?: number;\n  userOpHash: string;\n  validForSec?: number;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 257
        },
        {
          "name": "OwnerUserOpAuthorizationResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface OwnerUserOpAuthorizationResult {\n  ownerValidator: string;\n  ownerConfigHash: string;\n  accountVariant?: string;\n  relayMode?: string;\n  validAfter: number;\n  validUntil: number;\n  signatureType: number;\n  signaturePayload: string;\n  accountSignature: string;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 267
        },
        {
          "name": "StartEmbeddedSessionRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface StartEmbeddedSessionRequest {\n  emailSession: string;\n  smartAccountAddress: string;\n  chainId?: number;\n  deviceBindingId: string;\n  actionProfileKey: string;\n  highTrustToken: string;\n  sessionKeyAddress?: string;\n  metadata?: Record<string, unknown>;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 280
        },
        {
          "name": "EmbeddedSessionGrantResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface EmbeddedSessionGrantResult {\n  sessionId?: string;\n  chainId?: number;\n  sessionKeyAddress?: string;\n  validUntil?: string | number;\n  level?: number | string;\n  profileKey?: string;\n  gasBudgetInitial?: string;\n  gasBudgetRemaining?: string;\n  accountVariant?: string;\n  grantStatus?: string;\n  grantTxHash?: string;\n  revokeTxHash?: string;\n  revokeStatus?: string;\n  sessionVersion?: number;\n  grantedTargets?: string[];\n  grantedSelectors?: Record<string, string[]>;\n  relayMode?: string;\n  submittedUserOpHash?: string | null;\n  receipt?: Record<string, unknown> | null;\n  status?: string;\n  [key: string]: unknown;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 291
        },
        {
          "name": "GrantEmbeddedSessionRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface GrantEmbeddedSessionRequest {\n  emailSession: string;\n  embeddedSessionId: string;\n  smartAccountAddress: string;\n  deviceBindingId: string;\n  highTrustToken: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 315
        },
        {
          "name": "ExecuteEmbeddedSessionUserOp",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface ExecuteEmbeddedSessionUserOp {\n  sender: string;\n  nonce: string;\n  initCode?: string;\n  callData: string;\n  callGasLimit: string;\n  verificationGasLimit: string;\n  preVerificationGas?: string;\n  maxFeePerGas?: string;\n  maxPriorityFeePerGas?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 323
        },
        {
          "name": "ExecuteEmbeddedSessionRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface ExecuteEmbeddedSessionRequest {\n  emailSession: string;\n  embeddedSessionId: string;\n  userOp: ExecuteEmbeddedSessionUserOp;\n  target: string;\n  data: string;\n  value?: string;\n  paymasterValiditySec?: string;\n  metadata?: Record<string, unknown>;\n  waitForReceipt?: boolean;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 335
        },
        {
          "name": "ExecuteEmbeddedSessionResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface ExecuteEmbeddedSessionResult {\n  chainId?: number;\n  accountVariant?: string;\n  relayMode?: string;\n  bundlerRpcUrl?: string;\n  rpcUrl?: string;\n  smartAccountAddress?: string;\n  relayerAddress?: string;\n  beneficiary?: string;\n  nonce?: string;\n  initCode?: string;\n  target?: string;\n  data?: string;\n  value?: string;\n  localUserOpHash?: string;\n  submittedUserOpHash?: string | null;\n  transactionHash?: string;\n  receipt?: Record<string, unknown> | null;\n  sponsor?: SponsorUserOpResult;\n  status?: string;\n  [key: string]: unknown;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 347
        },
        {
          "name": "EndEmbeddedSessionRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface EndEmbeddedSessionRequest {\n  emailSession: string;\n  embeddedSessionId: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 370
        },
        {
          "name": "PasskeyDeviceRecord",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface PasskeyDeviceRecord {\n  deviceBindingId: string;\n  credentialId: string;\n  label?: string | null;\n  displayDeviceId?: string | null;\n  status: string;\n  createdAt?: string;\n  lastAssertedAt?: string | null;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 375
        },
        {
          "name": "ListPasskeyDevicesRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface ListPasskeyDevicesRequest {\n  emailSession: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 385
        },
        {
          "name": "ListPasskeyDevicesResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface ListPasskeyDevicesResult {\n  devices: PasskeyDeviceRecord[];\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 389
        },
        {
          "name": "RevokePasskeyDeviceRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface RevokePasskeyDeviceRequest {\n  emailSession: string;\n  deviceBindingId: string;\n  highTrustToken: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 394
        },
        {
          "name": "RevokePasskeyDeviceResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface RevokePasskeyDeviceResult {\n  deviceBindingId: string;\n  cascadedEmbeddedSessions?: boolean;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 400
        },
        {
          "name": "EmbeddedSessionRecord",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface EmbeddedSessionRecord {\n  embeddedSessionId: string;\n  smartAccountAddress: string;\n  chainId?: number;\n  deviceBindingId: string;\n  actionProfileKey: string;\n  sessionKeyAddress?: string;\n  validUntil?: string;\n  gasBudgetRemaining?: string;\n  createdAt?: string;\n  accountVariant?: string;\n  grantStatus?: string;\n  grantTxHash?: string | null;\n  sessionVersion?: number;\n  relayMode?: string | null;\n  lastExecutionTxHash?: string | null;\n  lastExecutionAt?: string | null;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 406
        },
        {
          "name": "ListEmbeddedSessionsRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface ListEmbeddedSessionsRequest {\n  emailSession: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 425
        },
        {
          "name": "ListEmbeddedSessionsResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface ListEmbeddedSessionsResult {\n  sessions: EmbeddedSessionRecord[];\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 429
        },
        {
          "name": "RevokeEmbeddedSessionRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface RevokeEmbeddedSessionRequest {\n  emailSession: string;\n  embeddedSessionId: string;\n  highTrustToken: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 434
        },
        {
          "name": "RevokeEmbeddedSessionResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface RevokeEmbeddedSessionResult {\n  embeddedSessionId: string;\n  chainId?: number;\n  accountVariant?: string;\n  relayMode?: string;\n  revokeTxHash?: string | null;\n  submittedUserOpHash?: string | null;\n  revokeStatus?: string;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 440
        },
        {
          "name": "SessionSigningMode",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export type SessionSigningMode = 'none' | 'session'",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 451
        },
        {
          "name": "SponsorUserOpRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface SponsorUserOpRequest {\n  emailSession: string;\n  embeddedSessionId: string;\n  sender: string;\n  nonce: string;\n  initCode?: string;\n  callData: string;\n  callGasLimit: string;\n  verificationGasLimit: string;\n  preVerificationGas?: string;\n  maxFeePerGas?: string;\n  maxPriorityFeePerGas?: string;\n  target: string;\n  data: string;\n  value?: string;\n  paymasterValiditySec?: string;\n  signingMode?: SessionSigningMode;\n  metadata?: Record<string, unknown>;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 453
        },
        {
          "name": "SponsorUserOpResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface SponsorUserOpResult {\n  decisionId: string;\n  approved: boolean;\n  expiresAt: string;\n  profileKey: string;\n  chainId?: number | null;\n  paymasterAndData: string;\n  validAfter: number;\n  validUntil: number;\n  paymasterAddress: string;\n  sponsoredUserOpHash?: string;\n  sessionKeyAddress?: string;\n  accountSignature?: string;\n  signingMode?: SessionSigningMode;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 473
        },
        {
          "name": "WalletTokenStandard",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export type WalletTokenStandard = 'erc20' | 'flexible-token' | string",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 490
        },
        {
          "name": "WalletTokenSummary",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface WalletTokenSummary {\n  tokenId?: string;\n  chainId: number;\n  address: string;\n  symbol: string;\n  name: string;\n  decimals: number;\n  standard: WalletTokenStandard;\n  transferable: boolean;\n  whitelistRequired: boolean;\n  voucherRedeemEnabled: boolean;\n  blockExplorerUrl?: string | null;\n  metadata?: Record<string, unknown>;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 492
        },
        {
          "name": "ListTokensRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface ListTokensRequest {\n  chainId?: number;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 507
        },
        {
          "name": "ListTokensResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface ListTokensResult {\n  chainId: number;\n  tokens: WalletTokenSummary[];\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 511
        },
        {
          "name": "GetTokenInfoRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface GetTokenInfoRequest {\n  chainId?: number;\n  token: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 517
        },
        {
          "name": "GetTokenInfoResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface GetTokenInfoResult {\n  chainId: number;\n  token: WalletTokenSummary;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 522
        },
        {
          "name": "GetBalanceRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface GetBalanceRequest extends GetTokenInfoRequest {\n  account: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 528
        },
        {
          "name": "WalletTokenBalance",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface WalletTokenBalance {\n  raw: string;\n  formatted: string;\n  decimals: number;\n  symbol: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 532
        },
        {
          "name": "GetBalanceResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface GetBalanceResult {\n  chainId: number;\n  account: string;\n  token: WalletTokenSummary;\n  balance: WalletTokenBalance;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 539
        },
        {
          "name": "GetActivityRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface GetActivityRequest extends GetBalanceRequest {\n  limit?: number;\n  cursor?: string;\n  fromBlock?: number;\n  toBlock?: number;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 547
        },
        {
          "name": "WalletActivityDirection",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export type WalletActivityDirection = 'in' | 'out' | 'self' | string",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 554
        },
        {
          "name": "WalletActivityEntry",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface WalletActivityEntry {\n  id: string;\n  direction: WalletActivityDirection;\n  chainId: number;\n  account: string;\n  tokenAddress: string;\n  from: string;\n  to: string;\n  counterparty: string;\n  amount: WalletTokenBalance;\n  transactionHash: string;\n  blockNumber: number;\n  blockHash: string;\n  logIndex: number;\n  transactionIndex: number;\n  at?: string | null;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 556
        },
        {
          "name": "GetActivityResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface GetActivityResult {\n  chainId: number;\n  account: string;\n  token: WalletTokenSummary;\n  activities: WalletActivityEntry[];\n  nextCursor?: string | null;\n  range?: {\n    fromBlock: number;\n    toBlock: number;\n    latestBlock: number;\n  };\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 575
        },
        {
          "name": "PrepareTransferRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface PrepareTransferRequest extends GetBalanceRequest {\n  recipient: string;\n  amount: string;\n  metadata?: Record<string, unknown>;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 589
        },
        {
          "name": "PreparedTransferExecution",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface PreparedTransferExecution {\n  target: string;\n  value: string;\n  data: string;\n  method: string;\n  selector: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 595
        },
        {
          "name": "PreparedTransferPolicy",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface PreparedTransferPolicy {\n  authorization: 'owner-reauth' | 'session' | string;\n  sessionEligible: boolean;\n  sponsored: boolean;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 603
        },
        {
          "name": "PreparedTransferDisplay",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface PreparedTransferDisplay {\n  title: string;\n  subtitle: string;\n  from: string;\n  to: string;\n  assetSymbol: string;\n  assetName: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 609
        },
        {
          "name": "PrepareTransferResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface PrepareTransferResult {\n  chainId: number;\n  account: string;\n  recipient: string;\n  token: WalletTokenSummary;\n  amount: {\n    input: string;\n    raw: string;\n    formatted: string;\n    decimals: number;\n    symbol: string;\n  };\n  execution: PreparedTransferExecution;\n  policy: PreparedTransferPolicy;\n  display: PreparedTransferDisplay;\n  metadata?: Record<string, unknown>;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 618
        },
        {
          "name": "SubmitTransferRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface SubmitTransferRequest extends PrepareTransferRequest {\n  emailSession: string;\n  deviceBindingId: string;\n  highTrustToken: string;\n  accountSalt?: string;\n  paymasterValiditySec?: string;\n  waitForReceipt?: boolean;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 637
        },
        {
          "name": "SubmitTransferResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface SubmitTransferResult {\n  chainId: number;\n  token: WalletTokenSummary;\n  transfer: {\n    account: string;\n    recipient: string;\n    amount: PrepareTransferResult['amount'];\n    execution: PreparedTransferExecution;\n  };\n  relayMode?: string;\n  bundlerRpcUrl?: string;\n  entryPointAddress?: string;\n  smartAccountAddress: string;\n  nonce: string;\n  initCode: string;\n  localUserOpHash: string;\n  submittedUserOpHash: string;\n  transactionHash?: string | null;\n  gasEstimate?: Record<string, unknown>;\n  receipt?: Record<string, unknown> | null;\n  metadata?: Record<string, unknown>;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 646
        },
        {
          "name": "PaymentNetworkSummary",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface PaymentNetworkSummary {\n  network: string;\n  name: string;\n  chainId: number | null;\n  kind: 'testnet' | 'mainnet';\n  family?: 'evm' | 'liquid';\n  scheme?: string;\n  enabled?: boolean;\n  asset: string;\n  assetAddress: string;\n  assetId?: string;\n  decimals: number;\n  eip712?: {\n    name: string;\n    version: string;\n  } | null;\n  assets?: Array<{\n    asset: string;\n    symbol: string;\n    name: string;\n    assetAddress: string;\n    assetId?: string;\n    decimals: number;\n    settlementMode?: string;\n    eip712?: {\n      name: string;\n      version: string;\n    } | null;\n  }>;\n  hazbaseWalletPayoutAvailable?: boolean;\n  capabilities?: {\n    owner: boolean;\n    session: boolean;\n    sponsor: boolean;\n    firstPartyProfiles: boolean;\n  };\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 669
        },
        {
          "name": "SupportedPaymentsResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface SupportedPaymentsResult {\n  defaultNetwork: string;\n  networks: PaymentNetworkSummary[];\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 707
        },
        {
          "name": "PaymentPayoutMethod",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export type PaymentPayoutMethod =\n  | {\n      kind: 'external_eoa';\n      address: string;\n    }\n  | {\n      kind: 'hazbase_wallet';\n      address?: never;\n    }",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 713
        },
        {
          "name": "X402Requirement",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface X402Requirement {\n  scheme: string;\n  network: string;\n  maxAmountRequired: string;\n  resource: string;\n  description?: string;\n  mimeType?: string;\n  payTo: string;\n  maxTimeoutSeconds?: number;\n  asset: string;\n  extra?: Record<string, unknown>;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 723
        },
        {
          "name": "X402ResponseBody",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface X402ResponseBody {\n  x402Version: number;\n  accepts: X402Requirement[];\n  error: string;\n  paymentRequestId?: string;\n  hazbase?: {\n    paymentRequestId?: string;\n  };\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 736
        },
        {
          "name": "X402RequirementsRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface X402RequirementsRequest {\n  emailSession?: string;\n  resourceId: string;\n  resourceUrl: string;\n  description?: string;\n  mimeType?: string;\n  network: string;\n  asset: string;\n  priceAtomic: string;\n  payoutMethod: PaymentPayoutMethod;\n  metadata?: Record<string, unknown>;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 746
        },
        {
          "name": "X402RequirementsResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface X402RequirementsResult {\n  paymentRequestId: string;\n  chainId: number;\n  network: string;\n  asset: string;\n  payoutAddress: string;\n  payoutKind: string;\n  payoutOriginKind?: string;\n  x402: X402ResponseBody;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 759
        },
        {
          "name": "X402VerifyRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface X402VerifyRequest {\n  paymentRequestId: string;\n  xPayment: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 771
        },
        {
          "name": "X402VerifyResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface X402VerifyResult {\n  paymentRequestId: string;\n  paymentAttemptId?: string;\n  xPaymentHash?: string;\n  verified: boolean;\n  invalidReason?: string;\n  errorCode?: string;\n  payer?: string | null;\n  network?: string;\n  facilitator?: Record<string, unknown>;\n  responsePreview?: {\n    headers?: Record<string, string>;\n    body?: Record<string, unknown>;\n  };\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 776
        },
        {
          "name": "X402SettleRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface X402SettleRequest {\n  paymentRequestId: string;\n  xPayment: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 793
        },
        {
          "name": "X402SettleResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface X402SettleResult {\n  paymentRequestId: string;\n  paymentAttemptId?: string;\n  xPaymentHash?: string;\n  settled: boolean;\n  errorCode?: string;\n  transactionHash?: string | null;\n  facilitator?: Record<string, unknown>;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 798
        },
        {
          "name": "X402PaymentAuthorization",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface X402PaymentAuthorization {\n  from: string;\n  to: string;\n  value: string;\n  validAfter: string;\n  validBefore: string;\n  nonce: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 809
        },
        {
          "name": "X402PaymentPayload",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface X402PaymentPayload {\n  x402Version: number;\n  scheme: string;\n  network: string;\n  asset?: string;\n  paymentRequestId?: string;\n  payload: {\n    signature: string;\n    authorization: X402PaymentAuthorization;\n  };\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 818
        },
        {
          "name": "BuildX402PaymentHeaderRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface BuildX402PaymentHeaderRequest {\n  requirement: X402Requirement;\n  privateKey: string;\n  nonce?: string;\n  validAfter?: string | number;\n  validBefore?: string | number;\n  now?: number;\n  /**\n   * Caller-supplied spend cap (atomic units). If the server-quoted\n   * `requirement.maxAmountRequired` exceeds this, signing is rejected.\n   */\n  maxValue?: string | number | bigint;\n  /** Require the server's payTo recipient to match this address, else reject. */\n  expectedPayTo?: string;\n  /** Require the server's asset token to match this address, else reject. */\n  expectedAsset?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 830
        },
        {
          "name": "BuildX402PaymentHeaderResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface BuildX402PaymentHeaderResult {\n  header: string;\n  payer: string;\n  payload: X402PaymentPayload;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 848
        },
        {
          "name": "X402HazbaseWalletPayRequest",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface X402HazbaseWalletPayRequest {\n  emailSession: string;\n  paymentRequestId: string;\n  deviceBindingId: string;\n  highTrustToken: string;\n  smartAccountAddress?: string;\n  accountSalt?: string;\n  waitForReceipt?: boolean;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 854
        },
        {
          "name": "X402HazbaseWalletPayResult",
          "imports": [
            "@hazbase/auth"
          ],
          "kind": "type",
          "signature": "export interface X402HazbaseWalletPayResult {\n  paymentRequestId: string;\n  paymentAttemptId?: string;\n  xPaymentHash?: string;\n  paid: boolean;\n  verified?: boolean;\n  settled?: boolean;\n  payer?: string;\n  chainId?: number;\n  network?: string;\n  relayMode?: string;\n  submittedUserOpHash?: string | null;\n  transactionHash?: string | null;\n  gasEstimate?: Record<string, unknown>;\n  xPayment: string;\n  receipt?: Record<string, unknown> | null;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 864
        }
      ]
    },
    {
      "id": "react",
      "name": "@hazbase/react",
      "version": "0.5.0",
      "commit": "a247589cade033f26910e57c22ea20b0f5dba5a1",
      "repository": "https://github.com/hazbase/react",
      "exports": [
        ".",
        "./wallet"
      ],
      "entries": [
        {
          "name": "Hex",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type Hex = `0x${string}`",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 1
        },
        {
          "name": "Status",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type Status = 'disconnected' | 'connecting' | 'connected' | 'locked'",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 3
        },
        {
          "name": "ChainConfig",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface ChainConfig {\n  id: number;\n  name: string;\n  rpcUrls: string[];\n  icon?: string;\n  nativeCurrency?: {\n    name: string;\n    symbol: string;\n    decimals: number;\n  };\n  blockExplorers?: { name: string; url: string }[];\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 5
        },
        {
          "name": "SupportedChainSummary",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface SupportedChainSummary {\n  chainId: number;\n  key: string;\n  name: string;\n  kind: 'testnet' | 'mainnet';\n  rpcUrl: string;\n  bundlerRpcUrl?: string | null;\n  entryPointAddress: Hex | string;\n  paymasterAddress?: Hex | string | null;\n  defaultAccountVariant?: string;\n  defaultProfileKey?: string | null;\n  blockExplorerUrl?: string | null;\n  capabilities?: {\n    owner: boolean;\n    session: boolean;\n    sponsor: boolean;\n    firstPartyProfiles: boolean;\n  };\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 18
        },
        {
          "name": "SupportedChainsResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface SupportedChainsResult {\n  defaultChainId: number;\n  chains: SupportedChainSummary[];\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 38
        },
        {
          "name": "EmailOtpAccountSummary",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface EmailOtpAccountSummary {\n  smartAccountAddress: Hex;\n  chainId: number;\n  accountVariant?: string;\n  relayMode?: string;\n  primaryDeviceBindingId?: string;\n  updatedAt?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 44
        },
        {
          "name": "EmailOtpSession",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface EmailOtpSession {\n  email: string;\n  accessToken: string;\n  refreshToken?: string;\n  sessionId?: string;\n  userId?: string;\n  ownerBootstrapRequired?: boolean;\n  smartAccountAddress?: Hex;\n  accountVariant?: string;\n  relayMode?: string;\n  accounts?: EmailOtpAccountSummary[];\n  [key: string]: unknown;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 53
        },
        {
          "name": "EmbeddedSessionGrant",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface EmbeddedSessionGrant {\n  sessionId?: string;\n  chainId?: number;\n  sessionKeyAddress?: Hex;\n  validUntil?: string | number;\n  level?: number | string;\n  profileKey?: string;\n  gasBudgetInitial?: string;\n  gasBudgetRemaining?: string;\n  accountVariant?: string;\n  grantStatus?: string;\n  grantTxHash?: Hex | string;\n  revokeTxHash?: Hex | string | null;\n  revokeStatus?: string;\n  sessionVersion?: number;\n  grantedTargets?: Hex[];\n  grantedSelectors?: Record<string, Hex[] | string[]>;\n  relayMode?: string;\n  submittedUserOpHash?: Hex | string | null;\n  receipt?: Record<string, unknown> | null;\n  [key: string]: unknown;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 67
        },
        {
          "name": "PasskeyDeviceRecord",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface PasskeyDeviceRecord {\n  deviceBindingId: string;\n  credentialId: string;\n  label?: string | null;\n  displayDeviceId?: string | null;\n  status: string;\n  createdAt?: string;\n  lastAssertedAt?: string | null;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 90
        },
        {
          "name": "PasskeyDeviceInventory",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface PasskeyDeviceInventory {\n  devices: PasskeyDeviceRecord[];\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 100
        },
        {
          "name": "RevokePasskeyDeviceResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface RevokePasskeyDeviceResult {\n  deviceBindingId: string;\n  cascadedEmbeddedSessions?: boolean;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 105
        },
        {
          "name": "EmbeddedSessionRecord",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface EmbeddedSessionRecord {\n  embeddedSessionId: string;\n  smartAccountAddress: Hex;\n  chainId?: number;\n  deviceBindingId: string;\n  actionProfileKey: string;\n  sessionKeyAddress?: Hex;\n  validUntil?: string;\n  gasBudgetRemaining?: string;\n  createdAt?: string;\n  accountVariant?: string;\n  grantStatus?: string;\n  grantTxHash?: Hex | string | null;\n  sessionVersion?: number;\n  relayMode?: string | null;\n  lastExecutionTxHash?: Hex | string | null;\n  lastExecutionAt?: string | null;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 111
        },
        {
          "name": "EmbeddedSessionInventory",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface EmbeddedSessionInventory {\n  sessions: EmbeddedSessionRecord[];\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 130
        },
        {
          "name": "RevokeEmbeddedSessionResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface RevokeEmbeddedSessionResult {\n  embeddedSessionId: string;\n  chainId?: number;\n  accountVariant?: string;\n  relayMode?: string;\n  revokeTxHash?: Hex | string | null;\n  submittedUserOpHash?: Hex | string | null;\n  revokeStatus?: string;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 135
        },
        {
          "name": "PasskeyAssertionPurpose",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type PasskeyAssertionPurpose = 'bootstrap' | 'migration' | 'reauth' | 'session'",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 146
        },
        {
          "name": "PasskeyAlgorithm",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type PasskeyAlgorithm = 'ES256' | 'RS256'",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 147
        },
        {
          "name": "PasskeyFlowStep",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type PasskeyFlowStep =\n  | 'signed_out'\n  | 'otp_requested'\n  | 'email_verified'\n  | 'passkey_bound'\n  | 'high_trust_ready'\n  | 'account_ready'\n  | 'session_ready'\n  | 'session_granted'\n  | 'error'",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 148
        },
        {
          "name": "PasskeyRegistrationChallengeResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface PasskeyRegistrationChallengeResult {\n  challengeId: string;\n  challenge: string;\n  rpId: string;\n  rpName: string;\n  origin: string;\n  userHandle: string;\n  userName: string;\n  userDisplayName: string;\n  timeoutMs?: number;\n  excludeCredentialIds?: string[];\n  status?: string;\n  [key: string]: unknown;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 159
        },
        {
          "name": "PasskeyRegistrationCredential",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface PasskeyRegistrationCredential {\n  username: string;\n  credential: {\n    id: string;\n    publicKey: string;\n    algorithm: PasskeyAlgorithm;\n  };\n  authenticatorData: string;\n  clientData: string;\n  attestationData?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 174
        },
        {
          "name": "PasskeyRegistrationResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface PasskeyRegistrationResult {\n  deviceBindingId: string;\n  credentialId: string;\n  status?: string;\n  userId?: string;\n  [key: string]: unknown;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 186
        },
        {
          "name": "PasskeyAssertionChallengeResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface PasskeyAssertionChallengeResult {\n  challengeId: string;\n  challenge: string;\n  rpId: string;\n  origin: string;\n  timeoutMs?: number;\n  purpose: PasskeyAssertionPurpose;\n  deviceBindingId?: string;\n  credentialIds?: string[];\n  status?: string;\n  [key: string]: unknown;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 194
        },
        {
          "name": "PasskeyAssertionCredential",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface PasskeyAssertionCredential {\n  credentialId: string;\n  authenticatorData: string;\n  clientData: string;\n  signature: string;\n  userHandle?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 207
        },
        {
          "name": "PasskeyAssertionResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface PasskeyAssertionResult {\n  deviceBindingId: string;\n  credentialId: string;\n  purpose: PasskeyAssertionPurpose;\n  assertedAt?: string;\n  highTrustToken?: string;\n  highTrustExpiresAt?: string;\n  status?: string;\n  [key: string]: unknown;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 215
        },
        {
          "name": "PasskeyAccountDescriptor",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface PasskeyAccountDescriptor {\n  chainId: number;\n  factoryAddress: Hex;\n  ownerValidator: Hex;\n  ownerConfig: Hex;\n  ownerConfigHash: Hex;\n  predictedAccountAddress: Hex;\n  accountSalt: string;\n  accountVariant?: string;\n  relayMode?: string;\n  credentialId?: string;\n  deviceBindingId?: string;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 226
        },
        {
          "name": "PasskeyAccountBootstrapResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface PasskeyAccountBootstrapResult extends PasskeyAccountDescriptor {\n  smartAccountAddress: Hex;\n  userId?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 241
        },
        {
          "name": "PasskeyAccountReadyResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface PasskeyAccountReadyResult extends PasskeyAccountDescriptor {\n  smartAccountAddress: Hex;\n  bootstrapped: boolean;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 246
        },
        {
          "name": "OwnerUserOpAuthorization",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface OwnerUserOpAuthorization {\n  ownerValidator: Hex;\n  ownerConfigHash: Hex;\n  accountVariant?: string;\n  relayMode?: string;\n  validAfter: number;\n  validUntil: number;\n  signatureType: number;\n  signaturePayload: Hex;\n  accountSignature: Hex;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 251
        },
        {
          "name": "SessionSigningMode",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type SessionSigningMode = 'none' | 'session'",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 264
        },
        {
          "name": "SponsorUserOpResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface SponsorUserOpResult {\n  decisionId: string;\n  approved: boolean;\n  expiresAt: string;\n  profileKey: string;\n  chainId?: number | null;\n  paymasterAndData: Hex;\n  validAfter: number;\n  validUntil: number;\n  paymasterAddress: Hex;\n  sponsoredUserOpHash?: Hex;\n  sessionKeyAddress?: Hex;\n  accountSignature?: Hex;\n  signingMode?: SessionSigningMode;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 266
        },
        {
          "name": "WalletTokenStandard",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type WalletTokenStandard = 'erc20' | 'flexible-token' | string",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 283
        },
        {
          "name": "WalletTokenSummary",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface WalletTokenSummary {\n  tokenId?: string;\n  chainId: number;\n  address: Hex | string;\n  symbol: string;\n  name: string;\n  decimals: number;\n  standard: WalletTokenStandard;\n  transferable: boolean;\n  whitelistRequired: boolean;\n  voucherRedeemEnabled: boolean;\n  blockExplorerUrl?: string | null;\n  metadata?: Record<string, unknown>;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 285
        },
        {
          "name": "WalletTokenInventory",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface WalletTokenInventory {\n  chainId: number;\n  tokens: WalletTokenSummary[];\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 300
        },
        {
          "name": "WalletTokenInfoResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface WalletTokenInfoResult {\n  chainId: number;\n  token: WalletTokenSummary;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 306
        },
        {
          "name": "WalletTokenBalance",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface WalletTokenBalance {\n  raw: string;\n  formatted: string;\n  decimals: number;\n  symbol: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 312
        },
        {
          "name": "WalletTokenBalanceResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface WalletTokenBalanceResult {\n  chainId: number;\n  account: Hex | string;\n  token: WalletTokenSummary;\n  balance: WalletTokenBalance;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 319
        },
        {
          "name": "WalletActivityDirection",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type WalletActivityDirection = 'in' | 'out' | 'self' | string",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 327
        },
        {
          "name": "WalletActivityEntry",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface WalletActivityEntry {\n  id: string;\n  direction: WalletActivityDirection;\n  chainId: number;\n  account: Hex | string;\n  tokenAddress: Hex | string;\n  from: Hex | string;\n  to: Hex | string;\n  counterparty: Hex | string;\n  amount: WalletTokenBalance;\n  transactionHash: Hex | string;\n  blockNumber: number;\n  blockHash: Hex | string;\n  logIndex: number;\n  transactionIndex: number;\n  at?: string | null;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 329
        },
        {
          "name": "WalletActivityResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface WalletActivityResult {\n  chainId: number;\n  account: Hex | string;\n  token: WalletTokenSummary;\n  activities: WalletActivityEntry[];\n  nextCursor?: string | null;\n  range?: {\n    fromBlock: number;\n    toBlock: number;\n    latestBlock: number;\n  };\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 348
        },
        {
          "name": "PreparedTransferExecution",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface PreparedTransferExecution {\n  target: Hex | string;\n  value: string;\n  data: Hex | string;\n  method: string;\n  selector: Hex | string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 362
        },
        {
          "name": "PreparedTransferPolicy",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface PreparedTransferPolicy {\n  authorization: 'owner-reauth' | 'session' | string;\n  sessionEligible: boolean;\n  sponsored: boolean;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 370
        },
        {
          "name": "PreparedTransferResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface PreparedTransferResult {\n  chainId: number;\n  account: Hex | string;\n  recipient: Hex | string;\n  token: WalletTokenSummary;\n  amount: {\n    input: string;\n    raw: string;\n    formatted: string;\n    decimals: number;\n    symbol: string;\n  };\n  execution: PreparedTransferExecution;\n  policy: PreparedTransferPolicy;\n  display: {\n    title: string;\n    subtitle: string;\n    from: Hex | string;\n    to: Hex | string;\n    assetSymbol: string;\n    assetName: string;\n  };\n  metadata?: Record<string, unknown>;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 376
        },
        {
          "name": "SubmitTransferResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface SubmitTransferResult {\n  chainId: number;\n  token: WalletTokenSummary;\n  transfer: {\n    account: Hex | string;\n    recipient: Hex | string;\n    amount: PreparedTransferResult['amount'];\n    execution: PreparedTransferExecution;\n  };\n  relayMode?: string;\n  bundlerRpcUrl?: string;\n  entryPointAddress?: string;\n  smartAccountAddress: Hex | string;\n  nonce: string;\n  initCode: Hex | string;\n  localUserOpHash: Hex | string;\n  submittedUserOpHash: Hex | string;\n  transactionHash?: Hex | string | null;\n  gasEstimate?: Record<string, unknown>;\n  receipt?: Record<string, unknown> | null;\n  metadata?: Record<string, unknown>;\n  status?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 402
        },
        {
          "name": "DirectRelayExecutionResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface DirectRelayExecutionResult {\n  chainId?: number;\n  accountVariant?: string;\n  relayMode?: string;\n  bundlerRpcUrl?: string;\n  rpcUrl?: string;\n  smartAccountAddress?: Hex;\n  relayerAddress?: Hex;\n  beneficiary?: Hex;\n  nonce?: string;\n  initCode?: Hex;\n  target?: Hex;\n  data?: Hex;\n  value?: string;\n  localUserOpHash?: Hex;\n  submittedUserOpHash?: Hex | string | null;\n  transactionHash?: Hex;\n  receipt?: Record<string, unknown> | null;\n  sponsor?: SponsorUserOpResult;\n  status?: string;\n  [key: string]: unknown;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 426
        },
        {
          "name": "UserOperationDraft",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface UserOperationDraft {\n  sender: Hex;\n  nonce: bigint | number | string;\n  initCode?: Hex;\n  callData: Hex;\n  callGasLimit: bigint | number | string;\n  verificationGasLimit: bigint | number | string;\n  preVerificationGas?: bigint | number | string;\n  maxFeePerGas?: bigint | number | string;\n  maxPriorityFeePerGas?: bigint | number | string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 449
        },
        {
          "name": "BundlerUserOperation",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface BundlerUserOperation extends UserOperationDraft {\n  preVerificationGas: bigint | number | string;\n  maxFeePerGas: bigint | number | string;\n  maxPriorityFeePerGas: bigint | number | string;\n  paymasterAndData?: Hex;\n  signature?: Hex;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 461
        },
        {
          "name": "BundlerSendResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface BundlerSendResult {\n  userOpHash: Hex;\n  transactionHash?: Hex;\n  receipt?: Record<string, unknown> | null;\n  userOp: BundlerUserOperation & {\n    paymasterAndData: Hex;\n    signature: Hex;\n  };\n  sponsor: SponsorUserOpResult;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 469
        },
        {
          "name": "HazbasePasskeyClient",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface HazbasePasskeyClient {\n  listSupportedChains(): Promise<SupportedChainsResult>;\n  listTokens(input?: { chainId?: number }): Promise<WalletTokenInventory>;\n  getTokenInfo(input: { chainId?: number; token: string }): Promise<WalletTokenInfoResult>;\n  getBalance(input: { chainId?: number; token: string; account: Hex | string }): Promise<WalletTokenBalanceResult>;\n  getActivity(input: {\n    chainId?: number;\n    token: string;\n    account: Hex | string;\n    limit?: number;\n    cursor?: string;\n    fromBlock?: number;\n    toBlock?: number;\n  }): Promise<WalletActivityResult>;\n  prepareTransfer(input: {\n    chainId?: number;\n    token: string;\n    account: Hex | string;\n    recipient: Hex | string;\n    amount: string;\n    metadata?: Record<string, unknown>;\n  }): Promise<PreparedTransferResult>;\n  submitTransfer(input: {\n    emailSession: EmailOtpSession;\n    chainId?: number;\n    token: string;\n    account: Hex | string;\n    recipient: Hex | string;\n    amount: string;\n    deviceBindingId: string;\n    highTrustToken: string;\n    accountSalt?: string;\n    paymasterValiditySec?: string;\n    waitForReceipt?: boolean;\n    metadata?: Record<string, unknown>;\n  }): Promise<SubmitTransferResult>;\n  sendOtp(input: { email: string; purpose?: string }): Promise<unknown>;\n  verifyOtp(input: { email: string; code: string; purpose?: string }): Promise<EmailOtpSession>;\n  registerPasskey(input: { emailSession: EmailOtpSession; deviceId?: string; deviceLabel?: string }): Promise<PasskeyRegistrationResult>;\n  assertPasskey(input: { emailSession: EmailOtpSession; purpose?: PasskeyAssertionPurpose; deviceBindingId?: string }): Promise<PasskeyAssertionResult>;\n  getAccountDescriptor(input: { emailSession: EmailOtpSession; deviceBindingId: string; accountSalt?: string; chainId?: number; accountVariant?: string }): Promise<PasskeyAccountDescriptor>;\n  bootstrapAccount(input: {\n    emailSession: EmailOtpSession;\n    deviceBindingId: string;\n    highTrustToken: string;\n    accountSalt?: string;\n    chainId?: number;\n    accountVariant?: string;\n    metadata?: Record<string, unknown>;\n  }): Promise<PasskeyAccountBootstrapResult>;\n  lookupAccount(input: { emailSession: EmailOtpSession; deviceBindingId?: string; smartAccountAddress?: Hex; chainId?: number }): Promise<Record<string, unknown>>;\n  authorizeOwnerUserOp(input: {\n    emailSession: EmailOtpSession;\n    deviceBindingId: string;\n    highTrustToken: string;\n    smartAccountAddress: Hex;\n    chainId?: number;\n    userOpHash: Hex;\n    validForSec?: number;\n  }): Promise<OwnerUserOpAuthorization>;\n  startSession(input: {\n    emailSession: EmailOtpSession;\n    deviceBindingId: string;\n    smartAccountAddress: Hex;\n    chainId?: number;\n    actionProfileKey: string;\n    highTrustToken: string;\n    sessionKeyAddress?: Hex;\n    metadata?: Record<string, unknown>;\n  }): Promise<EmbeddedSessionGrant>;\n  grantSession(input: {\n    emailSession: EmailOtpSession;\n    embeddedSessionId: string;\n    smartAccountAddress: Hex;\n    deviceBindingId: string;\n    highTrustToken: string;\n  }): Promise<EmbeddedSessionGrant>;\n  executeSession(input: {\n    emailSession: EmailOtpSession;\n    embeddedSessionId: string;\n    userOp: UserOperationDraft;\n    target: Hex;\n    data: Hex;\n    value?: bigint | number | string;\n    paymasterValiditySec?: string;\n    metadata?: Record<string, unknown>;\n    waitForReceipt?: boolean;\n  }): Promise<DirectRelayExecutionResult>;\n  endSession(input: { emailSession: EmailOtpSession; embeddedSessionId: string }): Promise<void>;\n  listPasskeyDevices(input: { emailSession: EmailOtpSession }): Promise<PasskeyDeviceInventory>;\n  revokePasskeyDevice(input: {\n    emailSession: EmailOtpSession;\n    deviceBindingId: string;\n    highTrustToken: string;\n  }): Promise<RevokePasskeyDeviceResult>;\n  listEmbeddedSessions(input: { emailSession: EmailOtpSession }): Promise<EmbeddedSessionInventory>;\n  revokeEmbeddedSession(input: {\n    emailSession: EmailOtpSession;\n    embeddedSessionId: string;\n    highTrustToken: string;\n  }): Promise<RevokeEmbeddedSessionResult>;\n  sponsorUserOp(input: {\n    emailSession: EmailOtpSession;\n    embeddedSessionId: string;\n    userOp: UserOperationDraft;\n    target: Hex;\n    data: Hex;\n    value?: bigint | number | string;\n    paymasterValiditySec?: string;\n    signingMode?: SessionSigningMode;\n    metadata?: Record<string, unknown>;\n  }): Promise<SponsorUserOpResult>;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 480
        },
        {
          "name": "createHazbasePasskeyClient",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function createHazbasePasskeyClient(\n  options: HazbasePasskeyClientOptions = {},\n): HazbasePasskeyClient",
          "description": "Creates a default passkey client by composing `@hazbase/auth` backend calls\nwith the browser WebAuthn credential helpers bundled in `@hazbase/react`.",
          "methods": [],
          "file": "src/client/createHazbasePasskeyClient.ts",
          "line": 57
        },
        {
          "name": "useAccountSecurity",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function useAccountSecurity(): AccountSecurityState & AccountSecurityActions",
          "description": "Wraps the backend-first account security APIs with a small React state layer.\n\nThis hook intentionally stays focused on inventory + revoke operations so\nproduct teams can build security settings screens without wiring raw client\ncalls, step-up state, or refresh flows by hand.",
          "methods": [],
          "file": "src/hooks/useAccountSecurity.ts",
          "line": 37
        },
        {
          "name": "useAddress",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function useAddress(): { address: Hex | null; isConnected: boolean }",
          "description": "",
          "methods": [],
          "file": "src/hooks/useAddress.ts",
          "line": 5
        },
        {
          "name": "UseHazbaseWalletClientOptions",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface UseHazbaseWalletClientOptions extends Partial<HazbaseWalletClientOptions> {\n  client?: HazbaseWalletClient | null;\n}",
          "description": "",
          "methods": [],
          "file": "src/hooks/useHazbaseWalletClient.ts",
          "line": 12
        },
        {
          "name": "useHazbaseWalletClient",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function useHazbaseWalletClient(options: UseHazbaseWalletClientOptions = {}): HazbaseWalletClient",
          "description": "",
          "methods": [],
          "file": "src/hooks/useHazbaseWalletClient.ts",
          "line": 16
        },
        {
          "name": "HazbaseWalletQueryStatus",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type HazbaseWalletQueryStatus = 'idle' | 'loading' | 'success' | 'error'",
          "description": "",
          "methods": [],
          "file": "src/hooks/useHazbaseWalletClient.ts",
          "line": 28
        },
        {
          "name": "UseTokenBalanceOptions",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface UseTokenBalanceOptions extends Omit<GetBalanceInput, 'account' | 'token'>, UseHazbaseWalletClientOptions {\n  account?: string | null;\n  token?: string | null;\n  enabled?: boolean;\n  onError?: (error: Error) => void;\n  onSuccess?: (result: GetBalanceResult) => void;\n}",
          "description": "",
          "methods": [],
          "file": "src/hooks/useHazbaseWalletClient.ts",
          "line": 30
        },
        {
          "name": "UseTokenBalanceResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface UseTokenBalanceResult {\n  result: GetBalanceResult | null;\n  balance: GetBalanceResult['balance'] | null;\n  status: HazbaseWalletQueryStatus;\n  error: Error | null;\n  refresh: () => Promise<GetBalanceResult | null>;\n}",
          "description": "",
          "methods": [],
          "file": "src/hooks/useHazbaseWalletClient.ts",
          "line": 38
        },
        {
          "name": "useTokenBalance",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function useTokenBalance(options: UseTokenBalanceOptions): UseTokenBalanceResult",
          "description": "",
          "methods": [],
          "file": "src/hooks/useHazbaseWalletClient.ts",
          "line": 46
        },
        {
          "name": "UseWalletActivityOptions",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface UseWalletActivityOptions extends Omit<GetActivityInput, 'account' | 'token'>, UseHazbaseWalletClientOptions {\n  account?: string | null;\n  token?: string | null;\n  enabled?: boolean;\n  onError?: (error: Error) => void;\n  onSuccess?: (result: GetActivityResult) => void;\n}",
          "description": "",
          "methods": [],
          "file": "src/hooks/useHazbaseWalletClient.ts",
          "line": 90
        },
        {
          "name": "UseWalletActivityResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface UseWalletActivityResult {\n  result: GetActivityResult | null;\n  activities: GetActivityResult['activities'];\n  status: HazbaseWalletQueryStatus;\n  error: Error | null;\n  refresh: () => Promise<GetActivityResult | null>;\n}",
          "description": "",
          "methods": [],
          "file": "src/hooks/useHazbaseWalletClient.ts",
          "line": 98
        },
        {
          "name": "useWalletActivity",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function useWalletActivity(options: UseWalletActivityOptions): UseWalletActivityResult",
          "description": "",
          "methods": [],
          "file": "src/hooks/useHazbaseWalletClient.ts",
          "line": 106
        },
        {
          "name": "useNetwork",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function useNetwork()",
          "description": "",
          "methods": [],
          "file": "src/hooks/useNetwork.ts",
          "line": 5
        },
        {
          "name": "usePasskeyAccount",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function usePasskeyAccount()",
          "description": "Returns the high-level passkey account flow API.\n\nThe main entry points are `sendOtp`, `verifyOtp`, `ensurePasskey`,\n`ensureAccount`, `ensureSession`, `sponsorAndSend`, and the execute helpers.\nLow-level backend calls remain available under `raw` for advanced integrations.",
          "methods": [],
          "file": "src/hooks/usePasskeyAccount.ts",
          "line": 11
        },
        {
          "name": "usePasskeyOnboarding",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function usePasskeyOnboarding()",
          "description": "Thin onboarding helper focused on the \"OTP -> passkey -> account\" path.\n\nThis keeps first-party app screens small when they only need to bootstrap or\nrecover an account and do not care about the lower-level session/sponsor API.",
          "methods": [],
          "file": "src/hooks/usePasskeyOnboarding.ts",
          "line": 11
        },
        {
          "name": "useSigner",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function useSigner()",
          "description": "",
          "methods": [],
          "file": "src/hooks/useSigner.ts",
          "line": 4
        },
        {
          "name": "WalletAddressLinkStatus",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type WalletAddressLinkStatus = 'idle' | 'connected' | 'requesting' | 'redirecting' | 'error'",
          "description": "",
          "methods": [],
          "file": "src/hooks/useWalletAddressLink.ts",
          "line": 10
        },
        {
          "name": "UseWalletAddressLinkOptions",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface UseWalletAddressLinkOptions extends RequestWalletAddressOptions {\n  enabled?: boolean;\n  initialAddress?: string | null;\n  storageKey?: string;\n  autoReadUrl?: boolean;\n  urlParams?: string[];\n  onAddress?: (address: string, result?: RequestWalletAddressResult) => void;\n  onResult?: (result: RequestWalletAddressResult) => void;\n}",
          "description": "",
          "methods": [],
          "file": "src/hooks/useWalletAddressLink.ts",
          "line": 12
        },
        {
          "name": "UseWalletAddressLinkResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface UseWalletAddressLinkResult {\n  address: string | null;\n  status: WalletAddressLinkStatus;\n  result: RequestWalletAddressResult | null;\n  isConnected: boolean;\n  connect: () => Promise<RequestWalletAddressResult>;\n  clear: () => void;\n  setAddress: (address: string | null) => boolean;\n}",
          "description": "",
          "methods": [],
          "file": "src/hooks/useWalletAddressLink.ts",
          "line": 22
        },
        {
          "name": "useWalletAddressLink",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function useWalletAddressLink(options: UseWalletAddressLinkOptions = {}): UseWalletAddressLinkResult",
          "description": "",
          "methods": [],
          "file": "src/hooks/useWalletAddressLink.ts",
          "line": 33
        },
        {
          "name": "WalletLinkStatus",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type WalletLinkStatus = 'idle' | 'restoring' | 'requesting' | 'redirecting' | 'connected' | 'error'",
          "description": "",
          "methods": [],
          "file": "src/hooks/useWalletLink.ts",
          "line": 16
        },
        {
          "name": "UseWalletLinkOptions",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface UseWalletLinkOptions extends RequestWalletLinkOptions {\n  enabled?: boolean;\n  walletUrl?: string;\n  returnUrl?: string;\n  storageKey?: string;\n  autoRestore?: boolean;\n  autoConsumeReturn?: boolean;\n  fallbackToPwa?: boolean;\n  onLinked?: (result: VerifyWalletLinkResult | VerifyWalletLinkSessionResult) => void;\n  onResult?: (result: RequestWalletLinkResult) => void;\n}",
          "description": "",
          "methods": [],
          "file": "src/hooks/useWalletLink.ts",
          "line": 18
        },
        {
          "name": "UseWalletLinkResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface UseWalletLinkResult {\n  walletAddress: string | null;\n  chainId: number | null;\n  status: WalletLinkStatus;\n  error: string | null;\n  isConnected: boolean;\n  connect: () => Promise<RequestWalletLinkResult>;\n  clear: () => void;\n}",
          "description": "",
          "methods": [],
          "file": "src/hooks/useWalletLink.ts",
          "line": 30
        },
        {
          "name": "useWalletLink",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function useWalletLink(options: UseWalletLinkOptions = {}): UseWalletLinkResult",
          "description": "",
          "methods": [],
          "file": "src/hooks/useWalletLink.ts",
          "line": 40
        },
        {
          "name": "useX402Client",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function useX402Client()",
          "description": "",
          "methods": [],
          "file": "src/hooks/useX402Client.ts",
          "line": 4
        },
        {
          "name": "X402ExtensionBridgeStatus",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type X402ExtensionBridgeStatus = 'idle' | 'announced' | 'detected' | 'paid' | 'error'",
          "description": "",
          "methods": [],
          "file": "src/hooks/useX402ExtensionBridge.ts",
          "line": 11
        },
        {
          "name": "UseX402ExtensionBridgeOptions",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface UseX402ExtensionBridgeOptions {\n  x402?: Record<string, unknown> | null;\n  sourceUrl: string;\n  title?: string;\n  paymentRequestId?: string | null;\n  completion?: X402BridgeCompletion;\n  enabled?: boolean;\n  autoAnnounce?: boolean;\n  targetOrigin?: string;\n  allowedOrigins?: string[];\n  sourceWindow?: Window | null;\n  onDetected?: (message: X402BridgeDetectedMessage) => void;\n  onPayment?: (message: X402BridgePaymentMessage) => void;\n  onError?: (message: X402BridgeErrorMessage) => void;\n}",
          "description": "",
          "methods": [],
          "file": "src/hooks/useX402ExtensionBridge.ts",
          "line": 13
        },
        {
          "name": "UseX402ExtensionBridgeResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface UseX402ExtensionBridgeResult {\n  status: X402ExtensionBridgeStatus;\n  requestId: string | null;\n  detected: X402BridgeDetectedMessage[];\n  payment: X402BridgePaymentMessage | null;\n  error: X402BridgeErrorMessage | null;\n  announce: () => string | null;\n}",
          "description": "",
          "methods": [],
          "file": "src/hooks/useX402ExtensionBridge.ts",
          "line": 29
        },
        {
          "name": "useX402ExtensionBridge",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function useX402ExtensionBridge(options: UseX402ExtensionBridgeOptions): UseX402ExtensionBridgeResult",
          "description": "",
          "methods": [],
          "file": "src/hooks/useX402ExtensionBridge.ts",
          "line": 38
        },
        {
          "name": "X402RequirementStatus",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type X402RequirementStatus = 'idle' | 'loading' | 'ready' | 'error'",
          "description": "",
          "methods": [],
          "file": "src/hooks/useX402Requirement.ts",
          "line": 5
        },
        {
          "name": "UseX402RequirementOptions",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface UseX402RequirementOptions {\n  enabled?: boolean;\n  initialData?: X402RequirementResult | null;\n  onError?: (error: Error) => void;\n  onSuccess?: (result: X402RequirementResult) => void;\n}",
          "description": "",
          "methods": [],
          "file": "src/hooks/useX402Requirement.ts",
          "line": 7
        },
        {
          "name": "UseX402RequirementResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface UseX402RequirementResult {\n  data: X402RequirementResult | null;\n  status: X402RequirementStatus;\n  error: Error | null;\n  refresh: () => Promise<X402RequirementResult>;\n}",
          "description": "",
          "methods": [],
          "file": "src/hooks/useX402Requirement.ts",
          "line": 14
        },
        {
          "name": "useX402Requirement",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function useX402Requirement(\n  input: CreateX402RequirementInput | null | undefined,\n  options: UseX402RequirementOptions = {},\n): UseX402RequirementResult",
          "description": "",
          "methods": [],
          "file": "src/hooks/useX402Requirement.ts",
          "line": 21
        },
        {
          "name": "X402SettlementStatus",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type X402SettlementStatus = 'idle' | 'settling' | 'settled' | 'error'",
          "description": "",
          "methods": [],
          "file": "src/hooks/useX402Settlement.ts",
          "line": 5
        },
        {
          "name": "UseX402SettlementOptions",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface UseX402SettlementOptions {\n  paymentRequestId?: string | null;\n  autoReadUrl?: boolean;\n  completionParam?: string;\n  clearUrlOnRead?: boolean;\n  onError?: (error: Error) => void;\n  onSettled?: (result: X402SettlementResult) => void;\n}",
          "description": "",
          "methods": [],
          "file": "src/hooks/useX402Settlement.ts",
          "line": 7
        },
        {
          "name": "UseX402SettlementResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface UseX402SettlementResult {\n  xPayment: string | null;\n  returnedPayment: X402PaymentFromUrl | null;\n  result: X402SettlementResult | null;\n  status: X402SettlementStatus;\n  error: Error | null;\n  settle: (xPayment: string) => Promise<X402SettlementResult>;\n  clearReturnParam: () => void;\n}",
          "description": "",
          "methods": [],
          "file": "src/hooks/useX402Settlement.ts",
          "line": 16
        },
        {
          "name": "useX402Settlement",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function useX402Settlement(options: UseX402SettlementOptions = {}): UseX402SettlementResult",
          "description": "",
          "methods": [],
          "file": "src/hooks/useX402Settlement.ts",
          "line": 26
        },
        {
          "name": "UseX402WalletHandoffInput",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface UseX402WalletHandoffInput {\n  x402?: Record<string, unknown> | null;\n  walletUrl?: string;\n  sourceUrl: string;\n  title?: string;\n  completion?: X402CompletionMode;\n  completionParam?: string;\n  target?: '_self' | '_blank';\n}",
          "description": "",
          "methods": [],
          "file": "src/hooks/useX402WalletHandoff.ts",
          "line": 5
        },
        {
          "name": "UseX402WalletHandoffResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface UseX402WalletHandoffResult {\n  walletUrl: string | null;\n  openWallet: (event?: { preventDefault?: () => void }) => void;\n}",
          "description": "",
          "methods": [],
          "file": "src/hooks/useX402WalletHandoff.ts",
          "line": 15
        },
        {
          "name": "useX402WalletHandoff",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function useX402WalletHandoff(input: UseX402WalletHandoffInput): UseX402WalletHandoffResult",
          "description": "",
          "methods": [],
          "file": "src/hooks/useX402WalletHandoff.ts",
          "line": 20
        },
        {
          "name": "encodeSmartAccountExecute",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function encodeSmartAccountExecute(target: Hex, value: bigint | number | string, data: Hex): Hex",
          "description": "Encodes SmartAccount.execute(address,uint256,bytes).",
          "methods": [],
          "file": "src/userop/accountExecute.ts",
          "line": 42
        },
        {
          "name": "encodeSmartAccountExecuteBatch",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function encodeSmartAccountExecuteBatch(calls: SmartAccountCall[]): Hex",
          "description": "Encodes SmartAccount.executeBatch(address[],uint256[],bytes[]).",
          "methods": [],
          "file": "src/userop/accountExecute.ts",
          "line": 47
        },
        {
          "name": "createExecuteUserOp",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function createExecuteUserOp(input: CreateExecuteUserOpInput): BundlerUserOperation",
          "description": "Creates a bundler-ready draft that routes one inner call through SmartAccount.execute(...).",
          "methods": [],
          "file": "src/userop/accountExecute.ts",
          "line": 59
        },
        {
          "name": "createExecuteBatchUserOp",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function createExecuteBatchUserOp(input: CreateExecuteBatchUserOpInput): BundlerUserOperation",
          "description": "Creates a bundler-ready draft that routes multiple inner calls through SmartAccount.executeBatch(...).",
          "methods": [],
          "file": "src/userop/accountExecute.ts",
          "line": 74
        },
        {
          "name": "WALLET_ADDRESS_BRIDGE_VERSION",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "constant",
          "signature": "export const WALLET_ADDRESS_BRIDGE_VERSION: 1",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 1
        },
        {
          "name": "WALLET_ADDRESS_REQUEST",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "constant",
          "signature": "export const WALLET_ADDRESS_REQUEST: \"hazbase:wallet:address-request\"",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 2
        },
        {
          "name": "WALLET_ADDRESS_RESPONSE",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "constant",
          "signature": "export const WALLET_ADDRESS_RESPONSE: \"hazbase:wallet:address-response\"",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 3
        },
        {
          "name": "DEFAULT_WALLET_ADDRESS_URL_PARAMS",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "constant",
          "signature": "export const DEFAULT_WALLET_ADDRESS_URL_PARAMS: string[]",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 5
        },
        {
          "name": "WalletAddressBridgeRequestType",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type WalletAddressBridgeRequestType = typeof WALLET_ADDRESS_REQUEST",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 10
        },
        {
          "name": "WalletAddressBridgeResponseType",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type WalletAddressBridgeResponseType = typeof WALLET_ADDRESS_RESPONSE",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 11
        },
        {
          "name": "WalletAddressResultSource",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type WalletAddressResultSource = 'extension' | 'pwa' | 'url'",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 13
        },
        {
          "name": "WalletAddressRequestMessage",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface WalletAddressRequestMessage {\n  type: typeof WALLET_ADDRESS_REQUEST;\n  version: typeof WALLET_ADDRESS_BRIDGE_VERSION;\n  id: string;\n  purpose?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 15
        },
        {
          "name": "WalletAddressBridgeRequestMessage",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type WalletAddressBridgeRequestMessage = WalletAddressRequestMessage",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 22
        },
        {
          "name": "WalletAddressResponseMessage",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface WalletAddressResponseMessage {\n  type: typeof WALLET_ADDRESS_RESPONSE;\n  version: typeof WALLET_ADDRESS_BRIDGE_VERSION;\n  id?: string;\n  ok?: boolean;\n  address?: string;\n  reason?: string;\n  source?: WalletAddressResultSource;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 24
        },
        {
          "name": "CreateWalletAddressRequestInput",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface CreateWalletAddressRequestInput {\n  id?: string;\n  purpose?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 34
        },
        {
          "name": "PostWalletAddressRequestOptions",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface PostWalletAddressRequestOptions {\n  targetWindow?: Window;\n  targetOrigin?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 39
        },
        {
          "name": "ListenForWalletAddressResponsesOptions",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface ListenForWalletAddressResponsesOptions {\n  targetWindow?: Window;\n  allowedOrigins?: string[];\n  requestId?: string | null;\n  sourceWindow?: Window | null;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 44
        },
        {
          "name": "CreateWalletAddressUrlInput",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface CreateWalletAddressUrlInput {\n  walletUrl: string;\n  returnUrl: string;\n  returnUrlParam?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 51
        },
        {
          "name": "WalletAddressFromUrl",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface WalletAddressFromUrl {\n  address: string;\n  param: string;\n  source: 'hash' | 'search';\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 57
        },
        {
          "name": "ReadWalletAddressFromUrlOptions",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface ReadWalletAddressFromUrlOptions {\n  params?: string[];\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 63
        },
        {
          "name": "RequestWalletAddressFailureReason",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type RequestWalletAddressFailureReason =\n  | 'timeout'\n  | 'pwa_redirect'\n  | 'invalid_response'\n  | 'unsupported'\n  | 'cancelled'",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 67
        },
        {
          "name": "RequestWalletAddressResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type RequestWalletAddressResult =\n  | {\n      ok: true;\n      address: string;\n      source: WalletAddressResultSource;\n      message: WalletAddressResponseMessage;\n    }\n  | {\n      ok: false;\n      reason: RequestWalletAddressFailureReason;\n      message?: string;\n      walletUrl?: string;\n    }",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 74
        },
        {
          "name": "RequestWalletAddressOptions",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface RequestWalletAddressOptions {\n  walletUrl?: string;\n  returnUrl?: string;\n  returnUrlParam?: string;\n  purpose?: string;\n  timeoutMs?: number;\n  retryIntervalMs?: number;\n  targetWindow?: Window;\n  targetOrigin?: string;\n  allowedOrigins?: string[];\n  sourceWindow?: Window | null;\n  fallbackToPwa?: boolean;\n  pwaTarget?: '_self' | '_blank';\n}",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 88
        },
        {
          "name": "WalletAddressResponseHandler",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type WalletAddressResponseHandler = (message: WalletAddressResponseMessage, event: MessageEvent) => void",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 103
        },
        {
          "name": "normalizeWalletAddress",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function normalizeWalletAddress(value: unknown): string",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 105
        },
        {
          "name": "shortWalletAddress",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function shortWalletAddress(value: unknown, start = 6, end = 4): string",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 110
        },
        {
          "name": "createWalletAddressRequest",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function createWalletAddressRequest(input: CreateWalletAddressRequestInput = {}): WalletAddressRequestMessage",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 116
        },
        {
          "name": "postWalletAddressRequest",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function postWalletAddressRequest(\n  input: CreateWalletAddressRequestInput = {},\n  options: PostWalletAddressRequestOptions = {},\n): string",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 125
        },
        {
          "name": "listenForWalletAddressResponses",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function listenForWalletAddressResponses(\n  handler: WalletAddressResponseHandler,\n  options: ListenForWalletAddressResponsesOptions = {},\n): () => void",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 136
        },
        {
          "name": "isWalletAddressResponseMessage",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function isWalletAddressResponseMessage(value: unknown): value is WalletAddressResponseMessage",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 152
        },
        {
          "name": "createWalletAddressUrl",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function createWalletAddressUrl(input: CreateWalletAddressUrlInput): string",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 164
        },
        {
          "name": "readWalletAddressFromUrl",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function readWalletAddressFromUrl(\n  input: string | URL = defaultLocationHref(),\n  options: ReadWalletAddressFromUrlOptions = {},\n): WalletAddressFromUrl | null",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 171
        },
        {
          "name": "requestWalletAddress",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function requestWalletAddress(options: RequestWalletAddressOptions = {}): Promise<RequestWalletAddressResult>",
          "description": "",
          "methods": [],
          "file": "src/wallet/address.ts",
          "line": 186
        },
        {
          "name": "X402_BRIDGE_VERSION",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "constant",
          "signature": "export const X402_BRIDGE_VERSION: 1",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 3
        },
        {
          "name": "X402_BRIDGE_REQUEST",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "constant",
          "signature": "export const X402_BRIDGE_REQUEST: \"hazbase:x402:request\"",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 4
        },
        {
          "name": "X402_BRIDGE_DETECTED",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "constant",
          "signature": "export const X402_BRIDGE_DETECTED: \"hazbase:x402:detected\"",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 5
        },
        {
          "name": "X402_BRIDGE_PAYMENT",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "constant",
          "signature": "export const X402_BRIDGE_PAYMENT: \"hazbase:x402:payment\"",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 6
        },
        {
          "name": "X402_BRIDGE_ERROR",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "constant",
          "signature": "export const X402_BRIDGE_ERROR: \"hazbase:x402:error\"",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 7
        },
        {
          "name": "X402BridgeMessageType",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type X402BridgeMessageType =\n  | typeof X402_BRIDGE_REQUEST\n  | typeof X402_BRIDGE_DETECTED\n  | typeof X402_BRIDGE_PAYMENT\n  | typeof X402_BRIDGE_ERROR",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 9
        },
        {
          "name": "X402BridgeCompletion",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface X402BridgeCompletion {\n  mode: X402CompletionMode;\n  param?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 15
        },
        {
          "name": "X402BridgeRequestInput",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface X402BridgeRequestInput {\n  id?: string;\n  sourceUrl: string;\n  title?: string;\n  x402: Record<string, unknown>;\n  completion?: X402BridgeCompletion;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 20
        },
        {
          "name": "X402BridgeWalletInfo",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface X402BridgeWalletInfo {\n  name?: string;\n  extensionId?: string;\n  [key: string]: unknown;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 28
        },
        {
          "name": "X402BridgeCapabilities",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface X402BridgeCapabilities {\n  sidePanel?: boolean;\n  pwaHandoff?: boolean;\n  postMessagePayment?: boolean;\n  [key: string]: unknown;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 34
        },
        {
          "name": "X402BridgeRequestMessage",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface X402BridgeRequestMessage {\n  type: typeof X402_BRIDGE_REQUEST;\n  version: typeof X402_BRIDGE_VERSION;\n  id: string;\n  sourceUrl: string;\n  title?: string;\n  x402: Record<string, unknown>;\n  completion?: X402BridgeCompletion;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 41
        },
        {
          "name": "X402BridgeDetectedMessage",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface X402BridgeDetectedMessage {\n  type: typeof X402_BRIDGE_DETECTED;\n  version: typeof X402_BRIDGE_VERSION;\n  id?: string;\n  wallet?: X402BridgeWalletInfo;\n  capabilities?: X402BridgeCapabilities;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 51
        },
        {
          "name": "X402BridgePaymentMessage",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface X402BridgePaymentMessage {\n  type: typeof X402_BRIDGE_PAYMENT;\n  version: typeof X402_BRIDGE_VERSION;\n  id?: string;\n  paymentRequestId: string;\n  xPayment: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 59
        },
        {
          "name": "X402BridgeErrorMessage",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface X402BridgeErrorMessage {\n  type: typeof X402_BRIDGE_ERROR;\n  version: typeof X402_BRIDGE_VERSION;\n  id?: string;\n  code: string;\n  message?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 67
        },
        {
          "name": "X402BridgeMessage",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type X402BridgeMessage =\n  | X402BridgeRequestMessage\n  | X402BridgeDetectedMessage\n  | X402BridgePaymentMessage\n  | X402BridgeErrorMessage",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 75
        },
        {
          "name": "X402BridgeMessageHandler",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type X402BridgeMessageHandler = (message: X402BridgeMessage, event: MessageEvent) => void",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 81
        },
        {
          "name": "PostX402BridgeRequestOptions",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface PostX402BridgeRequestOptions {\n  targetWindow?: Window;\n  targetOrigin?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 83
        },
        {
          "name": "ListenForX402BridgeMessagesOptions",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface ListenForX402BridgeMessagesOptions {\n  targetWindow?: Window;\n  allowedOrigins?: string[];\n  requestId?: string | null;\n  sourceWindow?: Window | null;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 88
        },
        {
          "name": "createX402BridgeRequest",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function createX402BridgeRequest(input: X402BridgeRequestInput): X402BridgeRequestMessage",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 95
        },
        {
          "name": "postX402BridgeRequest",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function postX402BridgeRequest(\n  input: X402BridgeRequestInput,\n  options: PostX402BridgeRequestOptions = {},\n): string",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 107
        },
        {
          "name": "listenForX402BridgeMessages",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function listenForX402BridgeMessages(\n  handler: X402BridgeMessageHandler,\n  options: ListenForX402BridgeMessagesOptions = {},\n): () => void",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 118
        },
        {
          "name": "isX402BridgeMessage",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function isX402BridgeMessage(value: unknown): value is X402BridgeMessage",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 134
        },
        {
          "name": "isX402BridgeRequestMessage",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function isX402BridgeRequestMessage(value: unknown): value is X402BridgeRequestMessage",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 143
        },
        {
          "name": "isX402BridgeDetectedMessage",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function isX402BridgeDetectedMessage(value: unknown): value is X402BridgeDetectedMessage",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 154
        },
        {
          "name": "isX402BridgePaymentMessage",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function isX402BridgePaymentMessage(value: unknown): value is X402BridgePaymentMessage",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 163
        },
        {
          "name": "isX402BridgeErrorMessage",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function isX402BridgeErrorMessage(value: unknown): value is X402BridgeErrorMessage",
          "description": "",
          "methods": [],
          "file": "src/x402/bridge.ts",
          "line": 172
        },
        {
          "name": "HazbaseX402Error",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "class",
          "signature": "class HazbaseX402Error",
          "description": "",
          "methods": [
            {
              "name": "constructor",
              "signature": "constructor(message: string, options: { status?: number; body?: unknown; code?: string } = {})",
              "description": ""
            }
          ],
          "file": "src/x402/client.ts",
          "line": 17
        },
        {
          "name": "createHazbaseX402Client",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function createHazbaseX402Client(config: HazbaseX402ClientConfig = {}): HazbaseX402Client",
          "description": "",
          "methods": [],
          "file": "src/x402/client.ts",
          "line": 31
        },
        {
          "name": "parseX402Payload",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function parseX402Payload(input: string): Record<string, unknown> | null",
          "description": "",
          "methods": [],
          "file": "src/x402/payload.ts",
          "line": 1
        },
        {
          "name": "extractX402PayloadsFromHtml",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function extractX402PayloadsFromHtml(input: string): Record<string, unknown>[]",
          "description": "",
          "methods": [],
          "file": "src/x402/payload.ts",
          "line": 7
        },
        {
          "name": "serializeX402ScriptTag",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function serializeX402ScriptTag(x402: Record<string, unknown>): string",
          "description": "",
          "methods": [],
          "file": "src/x402/payload.ts",
          "line": 17
        },
        {
          "name": "scriptSafeJson",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function scriptSafeJson(value: unknown): string",
          "description": "",
          "methods": [],
          "file": "src/x402/payload.ts",
          "line": 21
        },
        {
          "name": "parseJsonRecord",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function parseJsonRecord(input: string): Record<string, unknown> | null",
          "description": "",
          "methods": [],
          "file": "src/x402/payload.ts",
          "line": 28
        },
        {
          "name": "isRecord",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function isRecord(value: unknown): value is Record<string, unknown>",
          "description": "",
          "methods": [],
          "file": "src/x402/payload.ts",
          "line": 37
        },
        {
          "name": "X402Network",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type X402Network = string",
          "description": "",
          "methods": [],
          "file": "src/x402/types.ts",
          "line": 1
        },
        {
          "name": "X402Asset",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type X402Asset = string",
          "description": "",
          "methods": [],
          "file": "src/x402/types.ts",
          "line": 2
        },
        {
          "name": "X402CompletionMode",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type X402CompletionMode = 'fragment' | 'none'",
          "description": "",
          "methods": [],
          "file": "src/x402/types.ts",
          "line": 3
        },
        {
          "name": "X402Fetch",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export type X402Fetch = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>",
          "description": "",
          "methods": [],
          "file": "src/x402/types.ts",
          "line": 4
        },
        {
          "name": "HazbaseX402ClientConfig",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface HazbaseX402ClientConfig {\n  apiEndpoint?: string;\n  fetch?: X402Fetch;\n  requestId?: () => string;\n  completionParams?: string[];\n}",
          "description": "",
          "methods": [],
          "file": "src/x402/types.ts",
          "line": 6
        },
        {
          "name": "X402PayoutMethod",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface X402PayoutMethod {\n  kind: string;\n  address?: string;\n  [key: string]: unknown;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402/types.ts",
          "line": 13
        },
        {
          "name": "CreateX402RequirementInput",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface CreateX402RequirementInput {\n  resourceId: string;\n  resourceUrl: string;\n  description?: string;\n  mimeType?: string;\n  network: X402Network;\n  asset: X402Asset;\n  assetAddress?: string;\n  priceAtomic: string;\n  payoutMethod: X402PayoutMethod;\n  metadata?: Record<string, unknown>;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402/types.ts",
          "line": 19
        },
        {
          "name": "X402RequirementResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface X402RequirementResult {\n  paymentRequestId: string;\n  x402: Record<string, unknown>;\n  status?: string;\n  [key: string]: unknown;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402/types.ts",
          "line": 32
        },
        {
          "name": "SettleX402PaymentInput",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface SettleX402PaymentInput {\n  paymentRequestId: string;\n  xPayment: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402/types.ts",
          "line": 39
        },
        {
          "name": "X402SettlementResult",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface X402SettlementResult {\n  settled: boolean;\n  verified?: boolean;\n  payer?: string | null;\n  transactionHash?: string | null;\n  status?: string;\n  errorCode?: string;\n  invalidReason?: string;\n  [key: string]: unknown;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402/types.ts",
          "line": 44
        },
        {
          "name": "X402WalletHandoffInput",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface X402WalletHandoffInput {\n  walletUrl: string;\n  x402: Record<string, unknown>;\n  sourceUrl: string;\n  title?: string;\n  completion?: X402CompletionMode;\n  completionParam?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402/types.ts",
          "line": 55
        },
        {
          "name": "X402PaymentFromUrl",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface X402PaymentFromUrl {\n  xPayment: string;\n  param: string;\n  source: 'hash' | 'search';\n}",
          "description": "",
          "methods": [],
          "file": "src/x402/types.ts",
          "line": 64
        },
        {
          "name": "ReadX402PaymentFromUrlOptions",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface ReadX402PaymentFromUrlOptions {\n  params?: string[];\n}",
          "description": "",
          "methods": [],
          "file": "src/x402/types.ts",
          "line": 70
        },
        {
          "name": "HazbaseX402Client",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "type",
          "signature": "export interface HazbaseX402Client {\n  createRequirement(input: CreateX402RequirementInput): Promise<X402RequirementResult>;\n  settlePayment(input: SettleX402PaymentInput): Promise<X402SettlementResult>;\n  createWalletUrl(input: X402WalletHandoffInput): string;\n  readPaymentFromUrl(input?: string | URL, options?: ReadX402PaymentFromUrlOptions): X402PaymentFromUrl | null;\n  parsePayload(input: string): Record<string, unknown> | null;\n}",
          "description": "",
          "methods": [],
          "file": "src/x402/types.ts",
          "line": 74
        },
        {
          "name": "DEFAULT_X402_COMPLETION_PARAMS",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "constant",
          "signature": "export const DEFAULT_X402_COMPLETION_PARAMS: string[]",
          "description": "",
          "methods": [],
          "file": "src/x402/url.ts",
          "line": 7
        },
        {
          "name": "createX402WalletUrl",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function createX402WalletUrl(input: X402WalletHandoffInput): string",
          "description": "",
          "methods": [],
          "file": "src/x402/url.ts",
          "line": 9
        },
        {
          "name": "readX402PaymentFromUrl",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function readX402PaymentFromUrl(\n  input: string | URL = defaultLocationHref(),\n  options: ReadX402PaymentFromUrlOptions = {},\n): X402PaymentFromUrl | null",
          "description": "",
          "methods": [],
          "file": "src/x402/url.ts",
          "line": 19
        },
        {
          "name": "base64UrlEncode",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function base64UrlEncode(value: string): string",
          "description": "",
          "methods": [],
          "file": "src/x402/url.ts",
          "line": 33
        },
        {
          "name": "base64UrlDecode",
          "imports": [
            "@hazbase/react"
          ],
          "kind": "function",
          "signature": "export function base64UrlDecode(value: string): string | null",
          "description": "",
          "methods": [],
          "file": "src/x402/url.ts",
          "line": 40
        }
      ]
    },
    {
      "id": "factory",
      "name": "@hazbase/factory",
      "version": "0.2.1",
      "commit": "35b081f2a4b2d3361aa6fce62da12c8a2fc2caf4",
      "repository": "https://github.com/hazbase/factory",
      "exports": [
        ".",
        "./cli"
      ],
      "entries": [
        {
          "name": "main",
          "imports": [
            "@hazbase/factory/cli"
          ],
          "kind": "function",
          "signature": "export async function main(argv: string[])",
          "description": "",
          "methods": [],
          "file": "src/cli.ts",
          "line": 22
        },
        {
          "name": "Address",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "type",
          "signature": "export type Address = string",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 8
        },
        {
          "name": "Bytes32",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "type",
          "signature": "export type Bytes32 = string",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 9
        },
        {
          "name": "FactoryConnectionOptions",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "type",
          "signature": "export interface FactoryConnectionOptions {\n  chainId?: number;\n  factoryAddress?: Address;\n  rpcUrl?: string;\n  signer?: Signer;\n  provider?: Provider;\n  privateKey?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 11
        },
        {
          "name": "DeployContractOptions",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "type",
          "signature": "export interface DeployContractOptions extends FactoryConnectionOptions {\n  abi: InterfaceAbi;\n  bytecode: BytesLike;\n  args?: readonly unknown[];\n}",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 20
        },
        {
          "name": "DeployContractResult",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "type",
          "signature": "export interface DeployContractResult {\n  address: Address;\n  txHash: string;\n  receipt: TransactionReceipt;\n}",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 26
        },
        {
          "name": "SetImplementationOptions",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "type",
          "signature": "export interface SetImplementationOptions extends FactoryConnectionOptions {\n  implementation: Address;\n  contractType: string;\n  initSignature?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 32
        },
        {
          "name": "SetImplementationResult",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "type",
          "signature": "export interface SetImplementationResult {\n  factoryAddress: Address;\n  implementation: Address;\n  contractType: string;\n  contractTypeHash: Bytes32;\n  version: number;\n  initSelector?: string;\n  policy?: {\n    cloneable: boolean;\n    initRequired: boolean;\n    initSelector: string;\n  };\n  txHash: string;\n  receipt: TransactionReceipt;\n}",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 38
        },
        {
          "name": "DeployViaFactoryOptions",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "type",
          "signature": "export interface DeployViaFactoryOptions extends FactoryConnectionOptions {\n  implementationOwner: Address;\n  contractType: string;\n  fnSignature: string;\n  fnArgs?: readonly unknown[];\n}",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 54
        },
        {
          "name": "DeployViaFactoryByVersionOptions",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "type",
          "signature": "export interface DeployViaFactoryByVersionOptions extends DeployViaFactoryOptions {\n  version: BigNumberish;\n}",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 61
        },
        {
          "name": "DeployViaFactoryResult",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "type",
          "signature": "export interface DeployViaFactoryResult {\n  factoryAddress: Address;\n  implementationOwner: Address;\n  contractType: string;\n  contractTypeHash: Bytes32;\n  initData: string;\n  proxy: Address;\n  predictedProxy?: Address;\n  txHash: string;\n  receipt: TransactionReceipt;\n}",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 65
        },
        {
          "name": "ImplementationPolicy",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "type",
          "signature": "export interface ImplementationPolicy {\n  isSet: boolean;\n  cloneable: boolean;\n  initRequired: boolean;\n  initSelector: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 77
        },
        {
          "name": "GetImplementationPolicyOptions",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "type",
          "signature": "export interface GetImplementationPolicyOptions extends FactoryConnectionOptions {\n  owner: Address;\n  contractType: string;\n  version: BigNumberish;\n}",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 84
        },
        {
          "name": "GetLatestImplementationOptions",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "type",
          "signature": "export interface GetLatestImplementationOptions extends FactoryConnectionOptions {\n  owner: Address;\n  contractType: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 90
        },
        {
          "name": "GetImplementationByVersionOptions",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "type",
          "signature": "export interface GetImplementationByVersionOptions extends GetLatestImplementationOptions {\n  version: BigNumberish;\n}",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 95
        },
        {
          "name": "ImplementationVersion",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "type",
          "signature": "export interface ImplementationVersion {\n  implementation: Address;\n  timestamp: bigint;\n}",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 99
        },
        {
          "name": "GetDeployedContractOptions",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "type",
          "signature": "export interface GetDeployedContractOptions extends FactoryConnectionOptions {\n  owner: Address;\n  index: BigNumberish;\n}",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 104
        },
        {
          "name": "getContractTypeHash",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "function",
          "signature": "export function getContractTypeHash(contractType: string): Bytes32",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 109
        },
        {
          "name": "getInitSelector",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "function",
          "signature": "export function getInitSelector(initSignature: string): string",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 113
        },
        {
          "name": "encodeInitData",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "function",
          "signature": "export function encodeInitData(fnSignature: string, fnArgs: readonly unknown[] = []): string",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 121
        },
        {
          "name": "resolveRpcUrl",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "function",
          "signature": "export function resolveRpcUrl(chainId?: number, rpcUrl?: string): string",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 128
        },
        {
          "name": "resolveFactoryAddress",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "function",
          "signature": "export function resolveFactoryAddress(chainId?: number, factoryAddress?: Address): Address",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 141
        },
        {
          "name": "getFactoryContract",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "function",
          "signature": "export function getFactoryContract(options: FactoryConnectionOptions): ethers.Contract",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 150
        },
        {
          "name": "createSigner",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "function",
          "signature": "export async function createSigner(options: FactoryConnectionOptions): Promise<Signer>",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 155
        },
        {
          "name": "createProvider",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "function",
          "signature": "export function createProvider(options: FactoryConnectionOptions): Provider",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 170
        },
        {
          "name": "assertChainId",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "function",
          "signature": "export async function assertChainId(provider: Provider | null | undefined, expected?: number): Promise<void>",
          "description": "Verify the RPC the provider is actually connected to matches the requested\nchainId before any signing/broadcasting. Without this, a mismatched RPC URL\n(e.g. a generic RPC_URL set for another network, or a wrong --rpcUrl) would\ncause the deployer key to sign and broadcast a real transaction on the wrong\nchain. No-op when chainId is not specified or the provider is absent.",
          "methods": [],
          "file": "src/index.ts",
          "line": 182
        },
        {
          "name": "deployContract",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "function",
          "signature": "export async function deployContract(options: DeployContractOptions): Promise<DeployContractResult>",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 193
        },
        {
          "name": "setImplementation",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "function",
          "signature": "export async function setImplementation(options: SetImplementationOptions): Promise<SetImplementationResult>",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 206
        },
        {
          "name": "deployViaFactory",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "function",
          "signature": "export async function deployViaFactory(options: DeployViaFactoryOptions): Promise<DeployViaFactoryResult>",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 238
        },
        {
          "name": "deployViaFactoryByVersion",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "function",
          "signature": "export async function deployViaFactoryByVersion(\n  options: DeployViaFactoryByVersionOptions,\n): Promise<DeployViaFactoryResult>",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 265
        },
        {
          "name": "getLatestImplementation",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "function",
          "signature": "export async function getLatestImplementation(options: GetLatestImplementationOptions): Promise<Address>",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 300
        },
        {
          "name": "getImplementationByVersion",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "function",
          "signature": "export async function getImplementationByVersion(\n  options: GetImplementationByVersionOptions,\n): Promise<ImplementationVersion>",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 310
        },
        {
          "name": "getImplementationPolicy",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "function",
          "signature": "export async function getImplementationPolicy(\n  options: GetImplementationPolicyOptions,\n): Promise<ImplementationPolicy>",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 326
        },
        {
          "name": "getDeployedContract",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "function",
          "signature": "export async function getDeployedContract(options: GetDeployedContractOptions): Promise<Address>",
          "description": "",
          "methods": [],
          "file": "src/index.ts",
          "line": 344
        },
        {
          "name": "FACTORY_ADDRESS",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "constant",
          "signature": "export const FACTORY_ADDRESS: Record<number, string>",
          "description": "",
          "methods": [],
          "file": "src/constants/index.ts",
          "line": 1
        },
        {
          "name": "RPC_URLs",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "constant",
          "signature": "export const RPC_URLs: Record<number, string>",
          "description": "",
          "methods": [],
          "file": "src/constants/index.ts",
          "line": 23
        },
        {
          "name": "FactoryABI",
          "imports": [
            "@hazbase/factory"
          ],
          "kind": "constant",
          "signature": "export const FactoryABI: readonly [\"event ImplementationVersionAdded(address indexed owner, bytes32 indexed contractType, uint32 indexed version, address implementation)\", \"event ContractDeployed(address indexed implementationOwner, bytes32 indexed contractType, address indexed proxy, address deployer)\", \"function setImplementation(bytes32 contractType, address impl)\", \"function setImplementationWithPolicy(bytes32 contractType, address impl, bool cloneable, bool initRequired, bytes4 initSelector)\", \"function getLatestImplementation(address owner, bytes32 contractType) view returns (address)\", \"function getImplementationByVersion(address owner, bytes32 contractType, uint32 version) view returns (address impl, uint256 timestamp)\", \"function getImplementationPolicy(address owner, bytes32 contractType, uint32 version) view returns ((bool isSet, bool cloneable, bool initRequired, bytes4 initSelector))\", \"event ImplementationPolicySet(address indexed owner, bytes32 indexed contractType, uint32 indexed version, bool cloneable, bool initRequired, bytes4 initSelector)\", \"function deployContract(address implementationOwner, bytes32 contractType, bytes initData) returns (address)\", \"function deployContractByVersion(address implementationOwner, bytes32 contractType, uint32 version, bytes initData) returns (address)\", \"function deployedContracts(address owner, uint256 index) view returns (address)\"]",
          "description": "",
          "methods": [],
          "file": "src/constants/index.ts",
          "line": 45
        }
      ]
    },
    {
      "id": "relayer",
      "name": "@hazbase/relayer",
      "version": "0.0.20",
      "commit": "7b82783421a1fee2eab0f20b3a41b3dbe245593b",
      "repository": "https://github.com/hazbase/relayer",
      "exports": [
        "."
      ],
      "entries": [
        {
          "name": "generateRelayerAuthCode",
          "imports": [
            "@hazbase/relayer"
          ],
          "kind": "function",
          "signature": "export async function generateRelayerAuthCode(\n  { accessToken, chainId, contractAddress, type = 'relayer_auth' }: {\n    accessToken: string;\n    chainId: number;\n    contractAddress: string;\n    type?: string;\n  }\n): Promise<string>",
          "description": "Obtain a one‑time “code” from HAZAMA BASE for relayer auth.",
          "methods": [],
          "file": "src/codeGen.ts",
          "line": 5
        },
        {
          "name": "RELAYERS",
          "imports": [
            "@hazbase/relayer"
          ],
          "kind": "constant",
          "signature": "export const RELAYERS: Record<string, { forwarderAddress: string }>",
          "description": "---------------------------------------------------------\nNetwork name → Forwarder address\n--------------------------------------------------------",
          "methods": [],
          "file": "src/constants.ts",
          "line": 4
        },
        {
          "name": "CHAIN_ID_TO_NETWORK",
          "imports": [
            "@hazbase/relayer"
          ],
          "kind": "constant",
          "signature": "export const CHAIN_ID_TO_NETWORK: Record<number, string>",
          "description": "---------------------------------------------------------\nChainId → Network name\n--------------------------------------------------------",
          "methods": [],
          "file": "src/constants.ts",
          "line": 42
        },
        {
          "name": "TOKEN_ABI",
          "imports": [
            "@hazbase/relayer"
          ],
          "kind": "constant",
          "signature": "export const TOKEN_ABI: readonly [\"function decimals() view returns(uint8)\", \"function transfer(address,uint256) external returns(bool)\", \"function nonces(address) view returns(uint256)\"]",
          "description": "---------------------------------------------------------\nERC‑20 minimal ABI (transfer, decimals, nonces)\n--------------------------------------------------------",
          "methods": [],
          "file": "src/constants.ts",
          "line": 73
        },
        {
          "name": "FORWARDER_ABI",
          "imports": [
            "@hazbase/relayer"
          ],
          "kind": "constant",
          "signature": "export const FORWARDER_ABI: readonly [\"function getNonce(address) view returns (uint256)\", \"function execute((address from,address to,uint256 value,uint256 gas,uint256 nonce,bytes data),bytes) payable returns (bytes)\"]",
          "description": "---------------------------------------------------------\nEIP‑712 Forwarder ABI (subset)\n--------------------------------------------------------",
          "methods": [],
          "file": "src/constants.ts",
          "line": 82
        },
        {
          "name": "buildForwardRequest",
          "imports": [
            "@hazbase/relayer"
          ],
          "kind": "function",
          "signature": "export async function buildForwardRequest(\n  { signer, tokenAddress, chainId }: {\n    signer: ethers.JsonRpcSigner;\n    tokenAddress: string;\n    chainId: number;\n  }\n): Promise<ForwardRequest>",
          "description": "Build a ForwardRequest for ERC‑20 transfer.",
          "methods": [],
          "file": "src/forward.ts",
          "line": 10
        },
        {
          "name": "makeDomain",
          "imports": [
            "@hazbase/relayer"
          ],
          "kind": "function",
          "signature": "export function makeDomain(chainId: number): Domain",
          "description": "Create EIP‑712 domain for the given chain.",
          "methods": [],
          "file": "src/forward.ts",
          "line": 42
        },
        {
          "name": "signForwardRequest",
          "imports": [
            "@hazbase/relayer"
          ],
          "kind": "function",
          "signature": "export async function signForwardRequest(\n  { signer, domain, request }: {\n    signer: ethers.JsonRpcSigner;\n    domain: Domain;\n    request: ForwardRequest;\n  }\n): Promise<string>",
          "description": "Sign EIP‑712 ForwardRequest.",
          "methods": [],
          "file": "src/forward.ts",
          "line": 54
        },
        {
          "name": "forwardCall",
          "imports": [
            "@hazbase/relayer"
          ],
          "kind": "function",
          "signature": "export async function forwardCall(p: ForwardCallParams): Promise<string>",
          "description": "Generic meta‑tx call via forwarder (GSNv2).",
          "methods": [],
          "file": "src/forwardCall.ts",
          "line": 19
        },
        {
          "name": "sendRelayerTransaction",
          "imports": [
            "@hazbase/relayer"
          ],
          "kind": "function",
          "signature": "export async function sendRelayerTransaction(\n  { chainId, code, request, signature }: {\n    chainId: number;\n    code: string;\n    request: ForwardRequest;\n    signature: string;\n  }\n): Promise<string>",
          "description": "Send a signed ForwardRequest to the HAZAMA BASE relayer.",
          "methods": [],
          "file": "src/relayer.ts",
          "line": 8
        },
        {
          "name": "ForwardRequest",
          "imports": [
            "@hazbase/relayer"
          ],
          "kind": "type",
          "signature": "export interface ForwardRequest {\n    from:  string;\n    to:    string;\n    value: string;\n    gas:   number;\n    nonce: number;\n    data:  string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 1
        },
        {
          "name": "Domain",
          "imports": [
            "@hazbase/relayer"
          ],
          "kind": "type",
          "signature": "export interface Domain {\n    name:              string;\n    version:           string;\n    chainId:           number;\n    verifyingContract: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 10
        },
        {
          "name": "getRelayerUrl",
          "imports": [
            "@hazbase/relayer"
          ],
          "kind": "function",
          "signature": "export function getRelayerUrl(chainId: number): string",
          "description": "Resolve relayer endpoint for the given chain.",
          "methods": [],
          "file": "src/utils.ts",
          "line": 7
        },
        {
          "name": "getForwarderAddress",
          "imports": [
            "@hazbase/relayer"
          ],
          "kind": "function",
          "signature": "export function getForwarderAddress(chainId: number): string",
          "description": "Returns the forwarder address for a given chainId.\nThrows if the chain is unsupported or not configured.",
          "methods": [],
          "file": "src/utils.ts",
          "line": 18
        },
        {
          "name": "bigintReplacer",
          "imports": [
            "@hazbase/relayer"
          ],
          "kind": "function",
          "signature": "export function bigintReplacer(_k: string, v: any): any",
          "description": "Replace bigint with string when JSON‑serialising",
          "methods": [],
          "file": "src/utils.ts",
          "line": 30
        }
      ]
    },
    {
      "id": "storage",
      "name": "@hazbase/storage",
      "version": "0.0.8",
      "commit": "aee6e6dfd76f324d031524b145c99ffa0d7bd977",
      "repository": "https://github.com/hazbase/storage",
      "exports": [
        "."
      ],
      "entries": [
        {
          "name": "unpin",
          "imports": [
            "@hazbase/storage"
          ],
          "kind": "function",
          "signature": "export async function unpin(cid: CID): Promise<any>",
          "description": "Unpin (remove) a CID from Pinata.",
          "methods": [],
          "file": "src/manager.ts",
          "line": 7
        },
        {
          "name": "CID",
          "imports": [
            "@hazbase/storage"
          ],
          "kind": "type",
          "signature": "export type CID = string",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 1
        },
        {
          "name": "PinResult",
          "imports": [
            "@hazbase/storage"
          ],
          "kind": "type",
          "signature": "export interface PinResult {\n  hash: CID;\n  url: string;\n  uploadedAt: string;\n  filesize: number;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 3
        },
        {
          "name": "PinResponse",
          "imports": [
            "@hazbase/storage"
          ],
          "kind": "type",
          "signature": "export interface PinResponse {\n  result: PinResult[];\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 10
        },
        {
          "name": "UploadOptions",
          "imports": [
            "@hazbase/storage"
          ],
          "kind": "type",
          "signature": "export interface UploadOptions {\n  name?: string;\n  folder?: string;\n  contentType?: string;\n  /** Optional cap on number of files per upload (defense-in-depth; off by default). */\n  maxFileCount?: number;\n  /** Optional cap on per-file size in bytes (defense-in-depth; off by default). */\n  maxFileSize?: number;\n}",
          "description": "",
          "methods": [],
          "file": "src/types.ts",
          "line": 14
        },
        {
          "name": "pinFile",
          "imports": [
            "@hazbase/storage"
          ],
          "kind": "function",
          "signature": "export async function pinFile(files: File[] | Blob[] | Buffer[], opts: UploadOptions = {}): Promise<PinResult[]>",
          "description": "File / Blob / Buffer -> CID",
          "methods": [],
          "file": "src/uploader.ts",
          "line": 7
        },
        {
          "name": "gatewayUrl",
          "imports": [
            "@hazbase/storage"
          ],
          "kind": "function",
          "signature": "export function gatewayUrl(cid: CID, gateway = 'https://gateway.pinata.cloud/ipfs/'): string",
          "description": "",
          "methods": [],
          "file": "src/utils.ts",
          "line": 19
        }
      ]
    },
    {
      "id": "zk",
      "name": "@hazbase/zk",
      "version": "0.1.1",
      "commit": "b4e5e18d6224e80aae90184c175a9ee500102ce2",
      "repository": "https://github.com/hazbase/zk",
      "exports": [
        "."
      ],
      "entries": [
        {
          "name": "NaturalKYC",
          "imports": [
            "@hazbase/zk"
          ],
          "kind": "type",
          "signature": "export interface NaturalKYC {\n  govId:       string;\n  name:        string;\n  dobYMD:      number;\n  country:     number;\n  salt?:       bigint;\n}",
          "description": "",
          "methods": [],
          "file": "src/merkle.ts",
          "line": 13
        },
        {
          "name": "CorporateKYC",
          "imports": [
            "@hazbase/zk"
          ],
          "kind": "type",
          "signature": "export interface CorporateKYC {\n  corpId:      string;\n  name:        string;\n  incDateYMD:  number;\n  country:     number;\n  role?:       string;\n  salt?:       bigint;\n}",
          "description": "",
          "methods": [],
          "file": "src/merkle.ts",
          "line": 21
        },
        {
          "name": "KYCInput",
          "imports": [
            "@hazbase/zk"
          ],
          "kind": "type",
          "signature": "export type KYCInput = NaturalKYC | CorporateKYC",
          "description": "",
          "methods": [],
          "file": "src/merkle.ts",
          "line": 30
        },
        {
          "name": "ProofBundle",
          "imports": [
            "@hazbase/zk"
          ],
          "kind": "type",
          "signature": "export interface ProofBundle {\n  proof: { a: readonly [string, string], b: readonly [[string, string], [string, string]], c: readonly [string, string] };\n  publicSignals: readonly [bigint, bigint, bigint, bigint, bigint, bigint];  // [mode, root, nullifier, addr, threshold, leaf]\n  /**\n   * Full witness input INCLUDING private signals (idNull, score, rand, domain).\n   * ⚠️ SECRET — never transmit, log, or persist server-side. Sending this to a\n   * relayer/backend leaks the nullifier secret and commitment randomness. To\n   * share a proof, send ONLY { proof, publicSignals }.\n   */\n  input: Record<string, string | string[]>;\n  /** The idNull used to create the nullifier. ⚠️ SECRET — do not transmit/log/persist. */\n  idNull: bigint;\n  /** Merkle root/anchor used in publicSignals[1] */\n  anchorRoot?: bigint;\n  /** Commitment used as publicSignals[5] (field element) */\n  leafCommitment?: bigint;\n  /** Commitment salts (commitment randomness). ⚠️ SECRET — keep client-side only. */\n  kycSalt?: bigint;\n  rand?: bigint;\n}",
          "description": "",
          "methods": [],
          "file": "src/merkle.ts",
          "line": 32
        },
        {
          "name": "MerklePath",
          "imports": [
            "@hazbase/zk"
          ],
          "kind": "type",
          "signature": "export interface MerklePath {\n  /** Anchor root (publicSignals[1]) */\n  root: bigint;\n  /** Merkle siblings (depth = 20) */\n  siblings: bigint[];\n  /** Merkle path positions (0/1, depth = 20) */\n  pathPos: bigint[];\n  /** Optional leaf index for debugging */\n  index?: number;\n}",
          "description": "",
          "methods": [],
          "file": "src/merkle.ts",
          "line": 53
        },
        {
          "name": "GenerateProofOpts",
          "imports": [
            "@hazbase/zk"
          ],
          "kind": "type",
          "signature": "export interface GenerateProofOpts {\n  mode?: ProofMode;        // ★ default \"KYC\"\n  threshold?: bigint;      // ★ SCORE\n  score?: bigint;          // ★ SCORE\n  wasmPath? : string;      // compiled circuit.wasm\n  zkeyPath? : string;      // final proving key\n  /**\n   * Merkle path provided by issuer for the leaf (treeLeaf).\n   * This is required. The prover MUST NOT recompute root locally from currentRoot.\n   */\n  merklePath?: MerklePath;\n  /** @deprecated Do not use. Root-only cannot reconstruct Merkle tree deterministically. */\n  currentRoot?: bigint;\n  /** @deprecated Do not use. */\n  nextIndex?: number;\n  /** Nullifier secret (do NOT reuse across contexts) */\n  idNull?: bigint;\n  /** Optional KYC salt (used only when mode==0) */\n  kycSalt?: bigint;\n  /** Optional score/range/delta randomness */\n  rand?: bigint;\n  chainId?: number;\n  /** MTC contract address used for domain separation */\n  mtcAddress?: string;\n  /** @deprecated Use mtcAddress */\n  verifierAddress?: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/merkle.ts",
          "line": 165
        },
        {
          "name": "deriveIdNull",
          "imports": [
            "@hazbase/zk"
          ],
          "kind": "function",
          "signature": "export async function deriveIdNull(signer: ethers.Signer, opts?: any): Promise<bigint>",
          "description": "",
          "methods": [],
          "file": "src/merkle.ts",
          "line": 200
        },
        {
          "name": "genValues",
          "imports": [
            "@hazbase/zk"
          ],
          "kind": "function",
          "signature": "export async function genValues(n: bigint, opts?: GenerateProofOpts): Promise<any>",
          "description": "",
          "methods": [],
          "file": "src/merkle.ts",
          "line": 215
        },
        {
          "name": "genScoreCommitment",
          "imports": [
            "@hazbase/zk"
          ],
          "kind": "function",
          "signature": "export async function genScoreCommitment(score: bigint, rand?: bigint)",
          "description": "",
          "methods": [],
          "file": "src/merkle.ts",
          "line": 237
        },
        {
          "name": "GenValuesWithAnchorOpts",
          "imports": [
            "@hazbase/zk"
          ],
          "kind": "type",
          "signature": "export interface GenValuesWithAnchorOpts extends Omit<GenerateProofOpts, \"mode\"|\"threshold\"|\"score\"> {\n  score: bigint;\n  walletAddress: string;\n  currentRoot?: bigint;\n  nextIndex?: number;\n  chainId: number;\n  mtcAddress: string;\n}",
          "description": "",
          "methods": [],
          "file": "src/merkle.ts",
          "line": 248
        },
        {
          "name": "genValuesWithAnchor",
          "imports": [
            "@hazbase/zk"
          ],
          "kind": "function",
          "signature": "export async function genValuesWithAnchor(opts: GenValuesWithAnchorOpts)",
          "description": "generate commitment AND compute anchorRoot by inserting into a local tree.",
          "methods": [],
          "file": "src/merkle.ts",
          "line": 258
        },
        {
          "name": "generateProof",
          "imports": [
            "@hazbase/zk"
          ],
          "kind": "function",
          "signature": "export async function generateProof(\n  kyc: KYCInput,\n  walletAddress: string,\n  opts?: GenerateProofOpts\n): Promise<ProofBundle>",
          "description": "",
          "methods": [],
          "file": "src/merkle.ts",
          "line": 299
        },
        {
          "name": "FpPrime",
          "imports": [
            "@hazbase/zk"
          ],
          "kind": "constant",
          "signature": "export const FpPrime: () => Promise<any>",
          "description": "",
          "methods": [],
          "file": "src/merkle.ts",
          "line": 476
        },
        {
          "name": "generateProofAllowlist",
          "imports": [
            "@hazbase/zk"
          ],
          "kind": "function",
          "signature": "export async function generateProofAllowlist(args: GenerateArgsStrict)",
          "description": "generateProofAllowlist()\nStrict end-to-end prover that:\n 1) Builds allow-tree path for `value` from `list` (deterministic)\n 2) Builds issuer-tree path for (value,salt,addr,domain)\n 3) Recomputes and checks both roots locally\n 4) Constructs inputs in the exact public/private order the circuit expects\n 5) Produces Groth16 proof and verifies it (defensive check)",
          "methods": [],
          "file": "src/merkle_group.ts",
          "line": 212
        },
        {
          "name": "buildAllowFromList",
          "imports": [
            "@hazbase/zk"
          ],
          "kind": "function",
          "signature": "export async function buildAllowFromList(values: FieldLike[], target: FieldLike, depth = 16): Promise<AllowPath>",
          "description": "Build an allowlist proof for `target` from `values` with fixed depth (default 16).\nDeterministically canonicalizes, builds the tree, selects the target index, and verifies locally.",
          "methods": [],
          "file": "src/merkle_group.ts",
          "line": 324
        },
        {
          "name": "buildIssuerForUser",
          "imports": [
            "@hazbase/zk"
          ],
          "kind": "function",
          "signature": "export async function buildIssuerForUser(value: FieldLike, salt: FieldLike, addrFelt: FieldLike, domainFelt: FieldLike, index = 0, depth = 20): Promise<IssuerPath>",
          "description": "Build a single-entry issuer path for (value,salt,addr,domain) at an index (default 0).\nProduces siblings/indices suitable for the circuit's issuer tree constraints.",
          "methods": [],
          "file": "src/merkle_group.ts",
          "line": 367
        }
      ]
    }
  ],
  "walletApi": [
    {
      "id": "listTokens",
      "name": "listTokens",
      "method": "GET",
      "path": "/api/wallet/tokens",
      "input": "ListTokensInput",
      "result": "ListTokensResult",
      "signature": "listTokens(input: ListTokensInput = {}): Promise<ListTokensResult>",
      "fields": [
        {
          "name": "chainId",
          "type": "number",
          "required": false,
          "description": ""
        },
        {
          "name": "endpoint",
          "type": "string",
          "required": false,
          "description": ""
        }
      ],
      "response": "export type ListTokensResult = {\n  tokens: WalletTokenSummary[];\n  status?: string;\n};",
      "bearer": false,
      "stepUp": false,
      "line": 508
    },
    {
      "id": "getTokenInfo",
      "name": "getTokenInfo",
      "method": "POST",
      "path": "/api/wallet/token-info",
      "input": "GetTokenInfoInput",
      "result": "GetTokenInfoResult",
      "signature": "getTokenInfo(input: GetTokenInfoInput): Promise<GetTokenInfoResult>",
      "fields": [
        {
          "name": "chainId",
          "type": "number",
          "required": false,
          "description": ""
        },
        {
          "name": "token",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "endpoint",
          "type": "string",
          "required": false,
          "description": ""
        }
      ],
      "response": "export type GetTokenInfoResult = {\n  token: WalletTokenSummary;\n  status?: string;\n};",
      "bearer": false,
      "stepUp": false,
      "line": 514
    },
    {
      "id": "getBalance",
      "name": "getBalance",
      "method": "POST",
      "path": "/api/wallet/balance",
      "input": "GetBalanceInput",
      "result": "GetBalanceResult",
      "signature": "getBalance(input: GetBalanceInput): Promise<GetBalanceResult>",
      "fields": [
        {
          "name": "chainId",
          "type": "number",
          "required": false,
          "description": ""
        },
        {
          "name": "token",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "account",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "endpoint",
          "type": "string",
          "required": false,
          "description": ""
        }
      ],
      "response": "export type GetBalanceResult = {\n  chainId: number;\n  account: string;\n  token: WalletTokenSummary;\n  balance: WalletTokenBalance;\n  status?: string;\n};",
      "bearer": false,
      "stepUp": false,
      "line": 523
    },
    {
      "id": "getActivity",
      "name": "getActivity",
      "method": "POST",
      "path": "/api/wallet/activity",
      "input": "GetActivityInput",
      "result": "GetActivityResult",
      "signature": "getActivity(input: GetActivityInput): Promise<GetActivityResult>",
      "fields": [
        {
          "name": "chainId",
          "type": "number",
          "required": false,
          "description": ""
        },
        {
          "name": "token",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "account",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "limit",
          "type": "number",
          "required": false,
          "description": ""
        },
        {
          "name": "cursor",
          "type": "string",
          "required": false,
          "description": ""
        },
        {
          "name": "fromBlock",
          "type": "number",
          "required": false,
          "description": ""
        },
        {
          "name": "toBlock",
          "type": "number",
          "required": false,
          "description": ""
        },
        {
          "name": "endpoint",
          "type": "string",
          "required": false,
          "description": ""
        }
      ],
      "response": "export type GetActivityResult = {\n  chainId: number;\n  account: string;\n  token: WalletTokenSummary;\n  activities: WalletActivityItem[];\n  nextCursor?: string | null;\n  range?: {\n    fromBlock: number;\n    toBlock: number;\n    latestBlock: number;\n  };\n  status?: string;\n};",
      "bearer": false,
      "stepUp": false,
      "line": 533
    },
    {
      "id": "prepareTransfer",
      "name": "prepareTransfer",
      "method": "POST",
      "path": "/api/wallet/transfer/prepare",
      "input": "PrepareTransferInput",
      "result": "PrepareTransferResult",
      "signature": "prepareTransfer(input: PrepareTransferInput): Promise<PrepareTransferResult>",
      "fields": [
        {
          "name": "chainId",
          "type": "number",
          "required": false,
          "description": ""
        },
        {
          "name": "token",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "account",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "recipient",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "amount",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "metadata",
          "type": "Record<string, unknown>",
          "required": false,
          "description": ""
        },
        {
          "name": "endpoint",
          "type": "string",
          "required": false,
          "description": ""
        }
      ],
      "response": "export type PrepareTransferResult = {\n  chainId: number;\n  account: string;\n  recipient: string;\n  token: WalletTokenSummary;\n  amount: {\n    input: string;\n    raw: string;\n    formatted: string;\n    decimals: number;\n    symbol: string;\n  };\n  execution: {\n    target: string;\n    value: string;\n    data: string;\n    method: string;\n    selector: string;\n  };\n  policy: {\n    authorization: string;\n    sessionEligible: boolean;\n    sponsored: boolean;\n  };\n  display: {\n    title: string;\n    subtitle: string;\n    from: string;\n    to: string;\n    assetSymbol: string;\n    assetName: string;\n  };\n  metadata?: Record<string, unknown>;\n  status?: string;\n};",
      "bearer": false,
      "stepUp": false,
      "line": 547
    },
    {
      "id": "submitTransfer",
      "name": "submitTransfer",
      "method": "POST",
      "path": "/api/wallet/transfer/submit",
      "input": "SubmitTransferInput",
      "result": "SubmitTransferResult",
      "signature": "submitTransfer(input: SubmitTransferInput): Promise<SubmitTransferResult>",
      "fields": [
        {
          "name": "emailSession",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "chainId",
          "type": "number",
          "required": false,
          "description": ""
        },
        {
          "name": "token",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "account",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "recipient",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "amount",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "deviceBindingId",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "highTrustToken",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "accountSalt",
          "type": "string",
          "required": false,
          "description": ""
        },
        {
          "name": "paymasterValiditySec",
          "type": "number",
          "required": false,
          "description": ""
        },
        {
          "name": "waitForReceipt",
          "type": "boolean",
          "required": false,
          "description": ""
        },
        {
          "name": "metadata",
          "type": "Record<string, unknown>",
          "required": false,
          "description": ""
        },
        {
          "name": "endpoint",
          "type": "string",
          "required": false,
          "description": ""
        }
      ],
      "response": "export type SubmitTransferResult = {\n  chainId: number;\n  token: WalletTokenSummary;\n  transfer: {\n    account: string;\n    recipient: string;\n    amount: PrepareTransferResult['amount'];\n    execution: PrepareTransferResult['execution'];\n  };\n  relayMode?: string;\n  bundlerRpcUrl?: string;\n  entryPointAddress?: string;\n  smartAccountAddress: string;\n  nonce: string;\n  initCode: string;\n  localUserOpHash?: string | null;\n  submittedUserOpHash?: string | null;\n  transactionHash?: string | null;\n  gasEstimate?: Record<string, unknown>;\n  receipt?: Record<string, unknown> | null;\n  metadata?: Record<string, unknown>;\n  status?: string;\n};",
      "bearer": true,
      "stepUp": true,
      "line": 560
    },
    {
      "id": "getTransferStatus",
      "name": "getTransferStatus",
      "method": "POST",
      "path": "/api/wallet/transfer/status",
      "input": "GetTransferStatusInput",
      "result": "GetTransferStatusResult",
      "signature": "getTransferStatus(input: GetTransferStatusInput): Promise<GetTransferStatusResult>",
      "fields": [
        {
          "name": "emailSession",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "chainId",
          "type": "number",
          "required": false,
          "description": ""
        },
        {
          "name": "token",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "account",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "recipient",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "amount",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "userOpHash",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "transactionHash",
          "type": "string",
          "required": false,
          "description": ""
        },
        {
          "name": "relayMode",
          "type": "string",
          "required": false,
          "description": ""
        },
        {
          "name": "metadata",
          "type": "Record<string, unknown>",
          "required": false,
          "description": ""
        },
        {
          "name": "endpoint",
          "type": "string",
          "required": false,
          "description": ""
        }
      ],
      "response": "export type GetTransferStatusResult = {\n  chainId: number;\n  token: WalletTokenSummary;\n  account: string;\n  recipient: string;\n  amount: PrepareTransferResult['amount'];\n  submittedUserOpHash: string;\n  transactionHash?: string | null;\n  confirmed: boolean;\n  blockNumber?: number;\n  logIndex?: number;\n  retryAfterMs?: number;\n  errorCode?: string;\n  status: string;\n};",
      "bearer": true,
      "stepUp": false,
      "line": 579
    },
    {
      "id": "prepareOwnerOperation",
      "name": "prepareOwnerOperation",
      "method": "POST",
      "path": "/api/wallet/operation/prepare",
      "input": "PrepareOwnerOperationInput",
      "result": "PrepareOwnerOperationResult",
      "signature": "prepareOwnerOperation(input: PrepareOwnerOperationInput): Promise<PrepareOwnerOperationResult>",
      "fields": [
        {
          "name": "chainId",
          "type": "number",
          "required": true,
          "description": ""
        },
        {
          "name": "account",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "policyKey",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "calls",
          "type": "OwnerOperationCall[]",
          "required": true,
          "description": ""
        },
        {
          "name": "grantToken",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "metadata",
          "type": "Record<string, unknown>",
          "required": false,
          "description": ""
        },
        {
          "name": "endpoint",
          "type": "string",
          "required": false,
          "description": ""
        }
      ],
      "response": "export type PrepareOwnerOperationResult = {\n  chainId: number;\n  account: string;\n  operation: {\n    policyKey: string;\n    displayName: string;\n    calls: Array<OwnerOperationCall & { selector: string }>;\n  };\n  policy: {\n    authorization: string;\n    sessionEligible: boolean;\n    sponsored: boolean;\n    maxCalls: number;\n    maxNativeValueWei: string;\n  };\n  metadata?: Record<string, unknown>;\n  status?: string;\n};",
      "bearer": false,
      "stepUp": false,
      "line": 596
    },
    {
      "id": "submitOwnerOperation",
      "name": "submitOwnerOperation",
      "method": "POST",
      "path": "/api/wallet/operation/submit",
      "input": "SubmitOwnerOperationInput",
      "result": "SubmitOwnerOperationResult",
      "signature": "submitOwnerOperation(input: SubmitOwnerOperationInput): Promise<SubmitOwnerOperationResult>",
      "fields": [
        {
          "name": "chainId",
          "type": "number",
          "required": true,
          "description": ""
        },
        {
          "name": "account",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "policyKey",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "calls",
          "type": "OwnerOperationCall[]",
          "required": true,
          "description": ""
        },
        {
          "name": "grantToken",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "metadata",
          "type": "Record<string, unknown>",
          "required": false,
          "description": ""
        },
        {
          "name": "endpoint",
          "type": "string",
          "required": false,
          "description": ""
        },
        {
          "name": "emailSession",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "deviceBindingId",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "highTrustToken",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "accountSalt",
          "type": "string",
          "required": false,
          "description": ""
        },
        {
          "name": "paymasterValiditySec",
          "type": "string",
          "required": false,
          "description": ""
        },
        {
          "name": "waitForReceipt",
          "type": "boolean",
          "required": false,
          "description": ""
        }
      ],
      "response": "export type SubmitOwnerOperationResult = {\n  chainId: number;\n  operation: PrepareOwnerOperationResult['operation'];\n  policy: PrepareOwnerOperationResult['policy'];\n  relayMode?: string;\n  bundlerRpcUrl?: string | null;\n  entryPointAddress?: string;\n  smartAccountAddress: string;\n  nonce: string;\n  initCode: string;\n  localUserOpHash?: string | null;\n  submittedUserOpHash?: string | null;\n  transactionHash?: string | null;\n  gasEstimate?: Record<string, unknown>;\n  receipt?: Record<string, unknown> | null;\n  metadata?: Record<string, unknown>;\n  status?: string;\n};",
      "bearer": true,
      "stepUp": true,
      "line": 609
    },
    {
      "id": "getOwnerOperationStatus",
      "name": "getOwnerOperationStatus",
      "method": "POST",
      "path": "/api/wallet/operation/status",
      "input": "GetOwnerOperationStatusInput",
      "result": "GetOwnerOperationStatusResult",
      "signature": "getOwnerOperationStatus(input: GetOwnerOperationStatusInput): Promise<GetOwnerOperationStatusResult>",
      "fields": [
        {
          "name": "emailSession",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "chainId",
          "type": "number",
          "required": true,
          "description": ""
        },
        {
          "name": "account",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "userOpHash",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "transactionHash",
          "type": "string",
          "required": false,
          "description": ""
        },
        {
          "name": "relayMode",
          "type": "string",
          "required": false,
          "description": ""
        },
        {
          "name": "endpoint",
          "type": "string",
          "required": false,
          "description": ""
        }
      ],
      "response": "export type GetOwnerOperationStatusResult = {\n  chainId: number;\n  account: string;\n  userOpHash: string;\n  transactionHash?: string | null;\n  confirmed: boolean;\n  blockNumber?: number;\n  logIndex?: number;\n  retryAfterMs?: number;\n  relayMode?: string;\n  errorCode?: string;\n  status: string;\n};",
      "bearer": true,
      "stepUp": false,
      "line": 628
    },
    {
      "id": "payX402WithHazbaseWallet",
      "name": "payX402WithHazbaseWallet",
      "method": "POST",
      "path": "/api/payments/x402/hazbase-wallet/pay",
      "input": "PayX402WithHazbaseWalletInput",
      "result": "X402HazbaseWalletPaymentResult",
      "signature": "payX402WithHazbaseWallet(input: PayX402WithHazbaseWalletInput): Promise<X402HazbaseWalletPaymentResult>",
      "fields": [
        {
          "name": "emailSession",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "paymentRequestId",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "smartAccountAddress",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "deviceBindingId",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "highTrustToken",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "accountSalt",
          "type": "string",
          "required": false,
          "description": ""
        },
        {
          "name": "waitForReceipt",
          "type": "boolean",
          "required": false,
          "description": ""
        },
        {
          "name": "expectedAmountAtomic",
          "type": "string",
          "required": false,
          "description": ""
        },
        {
          "name": "expectedPayTo",
          "type": "string",
          "required": false,
          "description": ""
        },
        {
          "name": "endpoint",
          "type": "string",
          "required": false,
          "description": ""
        }
      ],
      "response": "export type X402HazbaseWalletPaymentResult = {\n  paymentRequestId: string;\n  paymentAttemptId: string;\n  xPaymentHash: string;\n  paid: boolean;\n  verified: boolean;\n  settled: boolean;\n  payer: string;\n  chainId: number;\n  network: string;\n  relayMode?: string;\n  submittedUserOpHash?: string | null;\n  transactionHash?: string | null;\n  gasEstimate?: Record<string, unknown>;\n  xPayment?: string | null;\n  receipt?: Record<string, unknown> | null;\n  status?: string;\n  errorCode?: string;\n  retryAfterMs?: number;\n};",
      "bearer": true,
      "stepUp": true,
      "line": 641
    },
    {
      "id": "getX402HazbaseWalletPaymentStatus",
      "name": "getX402HazbaseWalletPaymentStatus",
      "method": "POST",
      "path": "/api/payments/x402/hazbase-wallet/status",
      "input": "GetX402HazbaseWalletPaymentStatusInput",
      "result": "X402HazbaseWalletPaymentResult",
      "signature": "getX402HazbaseWalletPaymentStatus(\n      input: GetX402HazbaseWalletPaymentStatusInput,\n    ): Promise<X402HazbaseWalletPaymentResult>",
      "fields": [
        {
          "name": "emailSession",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "paymentRequestId",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "paymentAttemptId",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "endpoint",
          "type": "string",
          "required": false,
          "description": ""
        }
      ],
      "response": "export type X402HazbaseWalletPaymentResult = {\n  paymentRequestId: string;\n  paymentAttemptId: string;\n  xPaymentHash: string;\n  paid: boolean;\n  verified: boolean;\n  settled: boolean;\n  payer: string;\n  chainId: number;\n  network: string;\n  relayMode?: string;\n  submittedUserOpHash?: string | null;\n  transactionHash?: string | null;\n  gasEstimate?: Record<string, unknown>;\n  xPayment?: string | null;\n  receipt?: Record<string, unknown> | null;\n  status?: string;\n  errorCode?: string;\n  retryAfterMs?: number;\n};",
      "bearer": true,
      "stepUp": false,
      "line": 657
    },
    {
      "id": "createWalletLinkChallenge",
      "name": "createWalletLinkChallenge",
      "method": "POST",
      "path": "/api/wallet/link/challenge",
      "input": "CreateWalletLinkChallengeInput",
      "result": "WalletLinkChallengeResult",
      "signature": "createWalletLinkChallenge(input: CreateWalletLinkChallengeInput): Promise<WalletLinkChallengeResult>",
      "fields": [
        {
          "name": "origin",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "purpose",
          "type": "string",
          "required": false,
          "description": ""
        },
        {
          "name": "endpoint",
          "type": "string",
          "required": false,
          "description": ""
        }
      ],
      "response": "export type WalletLinkChallengeResult = {\n  challengeId: string;\n  nonce: string;\n  origin: string;\n  purpose: string;\n  expiresAt: string;\n  status?: string;\n};",
      "bearer": false,
      "stepUp": false,
      "line": 673
    },
    {
      "id": "approveWalletLink",
      "name": "approveWalletLink",
      "method": "POST",
      "path": "/api/wallet/link/approve",
      "input": "ApproveWalletLinkInput",
      "result": "ApproveWalletLinkResult",
      "signature": "approveWalletLink(input: ApproveWalletLinkInput): Promise<ApproveWalletLinkResult>",
      "fields": [
        {
          "name": "emailSession",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "challengeId",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "nonce",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "walletAddress",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "chainId",
          "type": "number",
          "required": true,
          "description": ""
        },
        {
          "name": "endpoint",
          "type": "string",
          "required": false,
          "description": ""
        }
      ],
      "response": "export type ApproveWalletLinkResult = {\n  challengeId: string;\n  proof: string;\n  expiresAt: string;\n  status?: string;\n};",
      "bearer": true,
      "stepUp": false,
      "line": 682
    },
    {
      "id": "verifyWalletLink",
      "name": "verifyWalletLink",
      "method": "POST",
      "path": "/api/wallet/link/verify",
      "input": "VerifyWalletLinkInput",
      "result": "VerifyWalletLinkResult",
      "signature": "verifyWalletLink(input: VerifyWalletLinkInput): Promise<VerifyWalletLinkResult>",
      "fields": [
        {
          "name": "challengeId",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "nonce",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "proof",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "origin",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "endpoint",
          "type": "string",
          "required": false,
          "description": ""
        }
      ],
      "response": "export type VerifyWalletLinkResult = {\n  verified: true;\n  walletAddress: string;\n  chainId: number;\n  origin: string;\n  purpose: string;\n  assurance: 'authenticated_wallet_session';\n  expiresAt: string;\n  linkSessionToken: string;\n  linkSessionExpiresAt: string;\n  status?: string;\n};",
      "bearer": false,
      "stepUp": false,
      "line": 694
    },
    {
      "id": "verifyWalletLinkSession",
      "name": "verifyWalletLinkSession",
      "method": "POST",
      "path": "/api/wallet/link/session/verify",
      "input": "VerifyWalletLinkSessionInput",
      "result": "VerifyWalletLinkSessionResult",
      "signature": "verifyWalletLinkSession(input: VerifyWalletLinkSessionInput): Promise<VerifyWalletLinkSessionResult>",
      "fields": [
        {
          "name": "linkSessionToken",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "origin",
          "type": "string",
          "required": true,
          "description": ""
        },
        {
          "name": "endpoint",
          "type": "string",
          "required": false,
          "description": ""
        }
      ],
      "response": "export type VerifyWalletLinkSessionResult = {\n  verified: true;\n  linkSessionId: string;\n  walletAddress: string;\n  chainId: number;\n  origin: string;\n  purpose: string;\n  assurance: 'authenticated_wallet_session';\n  linkSessionExpiresAt: string;\n  status?: string;\n};",
      "bearer": false,
      "stepUp": false,
      "line": 705
    }
  ]
}
