{"version":3,"file":"client.cjs","sources":["../../../../src/zk/client.ts"],"sourcesContent":["import { defineLazyMethod } from \"../rpc/lazy\";\nimport type { RpcCaller } from \"../rpc/caller\";\nimport type {\n  GetCompressedBalanceByOwnerFn,\n  GetCompressedBalanceFn,\n  GetCompressedMintTokenHoldersFn,\n  GetCompressedTokenAccountBalanceFn,\n  GetCompressedTokenAccountsByDelegateFn,\n  GetCompressedTokenAccountsByOwnerFn,\n  GetCompressedTokenBalancesByOwnerFn,\n  GetCompressedTokenBalancesByOwnerV2Fn,\n  GetCompressionSignaturesForAccountFn,\n  GetCompressionSignaturesForAddressFn,\n  GetCompressionSignaturesForOwnerFn,\n  GetCompressionSignaturesForTokenOwnerFn,\n  GetIndexerHealthFn,\n  GetIndexerSlotFn,\n  GetLatestCompressionSignaturesFn,\n  GetLatestNonVotingSignaturesFn,\n  GetMultipleCompressedAccountProofsFn,\n  GetMultipleCompressedAccountsFn,\n  GetSignaturesForAssetFn,\n  GetValidityProofFn,\n  GetTransactionWithCompressionInfoFn,\n  GetMultipleNewAddressProofsFn,\n  GetMultipleNewAddressProofsV2Fn,\n  GetCompressedAccountsByOwnerFn,\n  GetCompressedAccountProofFn,\n  GetCompressedAccountFn,\n} from \"./types\";\n\n/**\n * Client for ZK compression RPC methods (Light Protocol).\n *\n * Provides access to compressed accounts, compressed tokens, Merkle proofs,\n * validity proofs, and compression-related transaction history.\n */\nexport interface ZkClientLazy {\n  /** Get a single compressed account by address or hash. */\n  getCompressedAccount: GetCompressedAccountFn;\n  /** Get a Merkle proof for a compressed account. */\n  getCompressedAccountProof: GetCompressedAccountProofFn;\n  /** Get compressed accounts owned by a program. */\n  getCompressedAccountsByOwner: GetCompressedAccountsByOwnerFn;\n  /** Get the lamport balance of a compressed account. */\n  getCompressedBalance: GetCompressedBalanceFn;\n  /** Get the total compressed lamport balance for an owner. */\n  getCompressedBalanceByOwner: GetCompressedBalanceByOwnerFn;\n  /** Get all holders of a compressed token mint. */\n  getCompressedMintTokenHolders: GetCompressedMintTokenHoldersFn;\n  /** Get the token balance of a compressed token account. */\n  getCompressedTokenAccountBalance: GetCompressedTokenAccountBalanceFn;\n  /** Get compressed token accounts by their delegate. */\n  getCompressedTokenAccountsByDelegate: GetCompressedTokenAccountsByDelegateFn;\n  /** Get compressed token accounts owned by a wallet. */\n  getCompressedTokenAccountsByOwner: GetCompressedTokenAccountsByOwnerFn;\n  /** Get compressed token balances by owner (V1). */\n  getCompressedTokenBalancesByOwner: GetCompressedTokenBalancesByOwnerFn;\n  /** Get compressed token balances by owner (V2 — uses `items` instead of `token_balances`). */\n  getCompressedTokenBalancesByOwnerV2: GetCompressedTokenBalancesByOwnerV2Fn;\n  /** Get signatures for a specific compressed account. */\n  getCompressionSignaturesForAccount: GetCompressionSignaturesForAccountFn;\n  /** Get compression-related signatures for an address. */\n  getCompressionSignaturesForAddress: GetCompressionSignaturesForAddressFn;\n  /** Get compression-related signatures for an owner. */\n  getCompressionSignaturesForOwner: GetCompressionSignaturesForOwnerFn;\n  /** Get compression-related signatures for a token owner. */\n  getCompressionSignaturesForTokenOwner: GetCompressionSignaturesForTokenOwnerFn;\n  /** Check whether the compression indexer is healthy. */\n  getIndexerHealth: GetIndexerHealthFn;\n  /** Get the latest slot indexed by the compression indexer. */\n  getIndexerSlot: GetIndexerSlotFn;\n  /** Get the most recent compression-related signatures. */\n  getLatestCompressionSignatures: GetLatestCompressionSignaturesFn;\n  /** Get the most recent non-voting signatures. */\n  getLatestNonVotingSignatures: GetLatestNonVotingSignaturesFn;\n  /** Get Merkle proofs for multiple compressed accounts in a batch. */\n  getMultipleCompressedAccountProofs: GetMultipleCompressedAccountProofsFn;\n  /** Get multiple compressed accounts by address or hash. */\n  getMultipleCompressedAccounts: GetMultipleCompressedAccountsFn;\n  /** Get new address non-inclusion proofs (V1). */\n  getMultipleNewAddressProofs: GetMultipleNewAddressProofsFn;\n  /** Get new address non-inclusion proofs (V2 — with tree specification). */\n  getMultipleNewAddressProofsV2: GetMultipleNewAddressProofsV2Fn;\n  /** Get a transaction with its compression state changes. */\n  getTransactionWithCompressionInfo: GetTransactionWithCompressionInfoFn;\n  /** Get a ZK validity proof for account inclusion and address non-inclusion. */\n  getValidityProof: GetValidityProofFn;\n  /** Get signatures for a compressed asset. */\n  getSignaturesForAsset: GetSignaturesForAssetFn;\n}\n\nexport const makeZkClientLazy = (call: RpcCaller): ZkClientLazy => {\n  const obj: any = {};\n\n  defineLazyMethod<ZkClientLazy, GetCompressedAccountFn>(\n    obj,\n    \"getCompressedAccount\",\n    async () => {\n      const { makeGetCompressedAccount } = await import(\n        \"./methods/getCompressedAccount\"\n      );\n      return makeGetCompressedAccount(call);\n    }\n  );\n\n  defineLazyMethod<ZkClientLazy, GetCompressedAccountProofFn>(\n    obj,\n    \"getCompressedAccountProof\",\n    async () => {\n      const { makeGetCompressedAccountProof } = await import(\n        \"./methods/getCompressedAccountProof\"\n      );\n      return makeGetCompressedAccountProof(call);\n    }\n  );\n\n  defineLazyMethod(obj, \"getCompressedAccountsByOwner\", async () => {\n    const { makeGetCompressedAccountsByOwner } = await import(\n      \"./methods/getCompressedAccountsByOwner\"\n    );\n    return makeGetCompressedAccountsByOwner(call);\n  });\n\n  defineLazyMethod(obj, \"getCompressedBalance\", async () => {\n    const { makeGetCompressedBalance } = await import(\n      \"./methods/getCompressedBalance\"\n    );\n    return makeGetCompressedBalance(call);\n  });\n\n  defineLazyMethod<ZkClientLazy, GetCompressedBalanceByOwnerFn>(\n    obj,\n    \"getCompressedBalanceByOwner\",\n    async () => {\n      const { makeGetCompressedBalanceByOwner } = await import(\n        \"./methods/getCompressedBalanceByOwner\"\n      );\n      return makeGetCompressedBalanceByOwner(call);\n    }\n  );\n\n  defineLazyMethod<ZkClientLazy, GetCompressedMintTokenHoldersFn>(\n    obj,\n    \"getCompressedMintTokenHolders\",\n    async () => {\n      const { makeGetCompressedMintTokenHolders } = await import(\n        \"./methods/getCompressedMintTokenHolders\"\n      );\n      return makeGetCompressedMintTokenHolders(call);\n    }\n  );\n\n  defineLazyMethod<ZkClientLazy, GetCompressedTokenAccountBalanceFn>(\n    obj,\n    \"getCompressedTokenAccountBalance\",\n    async () => {\n      const { makeGetCompressedTokenAccountBalance } = await import(\n        \"./methods/getCompressedTokenAccountBalance\"\n      );\n      return makeGetCompressedTokenAccountBalance(call);\n    }\n  );\n\n  defineLazyMethod<ZkClientLazy, GetCompressedTokenAccountsByDelegateFn>(\n    obj,\n    \"getCompressedTokenAccountsByDelegate\",\n    async () => {\n      const { makeGetCompressedTokenAccountsByDelegate } = await import(\n        \"./methods/getCompressedTokenAccountsByDelegate\"\n      );\n      return makeGetCompressedTokenAccountsByDelegate(call);\n    }\n  );\n\n  defineLazyMethod<ZkClientLazy, GetCompressedTokenAccountsByOwnerFn>(\n    obj,\n    \"getCompressedTokenAccountsByOwner\",\n    async () => {\n      const { makeGetCompressedTokenAccountsByOwner } = await import(\n        \"./methods/getCompressedTokenAccountsByOwner\"\n      );\n      return makeGetCompressedTokenAccountsByOwner(call);\n    }\n  );\n\n  defineLazyMethod<ZkClientLazy, GetCompressedTokenBalancesByOwnerFn>(\n    obj,\n    \"getCompressedTokenBalancesByOwner\",\n    async () => {\n      const { makeGetCompressedTokenBalancesByOwner } = await import(\n        \"./methods/getCompressedTokenBalancesByOwner\"\n      );\n      return makeGetCompressedTokenBalancesByOwner(call);\n    }\n  );\n\n  defineLazyMethod<ZkClientLazy, GetCompressedTokenBalancesByOwnerV2Fn>(\n    obj,\n    \"getCompressedTokenBalancesByOwnerV2\",\n    async () => {\n      const { makeGetCompressedTokenBalancesByOwnerV2 } = await import(\n        \"./methods/getCompressedTokenBalancesByOwnerV2\"\n      );\n      return makeGetCompressedTokenBalancesByOwnerV2(call);\n    }\n  );\n\n  defineLazyMethod<ZkClientLazy, GetCompressionSignaturesForAccountFn>(\n    obj,\n    \"getCompressionSignaturesForAccount\",\n    async () => {\n      const { makeGetCompressionSignaturesForAccount } = await import(\n        \"./methods/getCompressionSignaturesForAccount\"\n      );\n      return makeGetCompressionSignaturesForAccount(call);\n    }\n  );\n\n  defineLazyMethod<ZkClientLazy, GetCompressionSignaturesForAddressFn>(\n    obj,\n    \"getCompressionSignaturesForAddress\",\n    async () => {\n      const { makeGetCompressionSignaturesForAddress } = await import(\n        \"./methods/getCompressionSignaturesForAddress\"\n      );\n      return makeGetCompressionSignaturesForAddress(call);\n    }\n  );\n\n  defineLazyMethod<ZkClientLazy, GetCompressionSignaturesForOwnerFn>(\n    obj,\n    \"getCompressionSignaturesForOwner\",\n    async () => {\n      const { makeGetCompressionSignaturesForOwner } = await import(\n        \"./methods/getCompressionSignaturesForOwner\"\n      );\n      return makeGetCompressionSignaturesForOwner(call);\n    }\n  );\n\n  defineLazyMethod<ZkClientLazy, GetCompressionSignaturesForTokenOwnerFn>(\n    obj,\n    \"getCompressionSignaturesForTokenOwner\",\n    async () => {\n      const { makeGetCompressionSignaturesForTokenOwner } = await import(\n        \"./methods/getCompressionSignaturesForTokenOwner\"\n      );\n      return makeGetCompressionSignaturesForTokenOwner(call);\n    }\n  );\n\n  defineLazyMethod<ZkClientLazy, GetIndexerHealthFn>(\n    obj,\n    \"getIndexerHealth\",\n    async () => {\n      const { makeGetIndexerHealth } = await import(\n        \"./methods/getIndexerHealth\"\n      );\n      return makeGetIndexerHealth(call);\n    }\n  );\n\n  defineLazyMethod<ZkClientLazy, GetIndexerSlotFn>(\n    obj,\n    \"getIndexerSlot\",\n    async () => {\n      const { makeGetIndexerSlot } = await import(\"./methods/getIndexerSlot\");\n      return makeGetIndexerSlot(call);\n    }\n  );\n\n  defineLazyMethod<ZkClientLazy, GetLatestCompressionSignaturesFn>(\n    obj,\n    \"getLatestCompressionSignatures\",\n    async () => {\n      const { makeGetLatestCompressionSignatures } = await import(\n        \"./methods/getLatestCompressionSignatures\"\n      );\n      return makeGetLatestCompressionSignatures(call);\n    }\n  );\n\n  defineLazyMethod<ZkClientLazy, GetLatestNonVotingSignaturesFn>(\n    obj,\n    \"getLatestNonVotingSignatures\",\n    async () => {\n      const { makeGetLatestNonVotingSignatures } = await import(\n        \"./methods/getLatestNonVotingSignatures\"\n      );\n      return makeGetLatestNonVotingSignatures(call);\n    }\n  );\n\n  defineLazyMethod<ZkClientLazy, GetMultipleCompressedAccountProofsFn>(\n    obj,\n    \"getMultipleCompressedAccountProofs\",\n    async () => {\n      const { makeGetMultipleCompressedAccountProofs } = await import(\n        \"./methods/getMultipleCompressedAccountProofs\"\n      );\n      return makeGetMultipleCompressedAccountProofs(call);\n    }\n  );\n\n  defineLazyMethod<ZkClientLazy, GetMultipleCompressedAccountsFn>(\n    obj,\n    \"getMultipleCompressedAccounts\",\n    async () => {\n      const { makeGetMultipleCompressedAccounts } = await import(\n        \"./methods/getMultipleCompressedAccounts\"\n      );\n      return makeGetMultipleCompressedAccounts(call);\n    }\n  );\n\n  defineLazyMethod<ZkClientLazy, GetMultipleNewAddressProofsFn>(\n    obj,\n    \"getMultipleNewAddressProofs\",\n    async () => {\n      const { makeGetMultipleNewAddressProofs } = await import(\n        \"./methods/getMultipleNewAddressProofs\"\n      );\n      return makeGetMultipleNewAddressProofs(call);\n    }\n  );\n\n  defineLazyMethod<ZkClientLazy, GetMultipleNewAddressProofsV2Fn>(\n    obj,\n    \"getMultipleNewAddressProofsV2\",\n    async () => {\n      const { makeGetMultipleNewAddressProofsV2 } = await import(\n        \"./methods/getMultipleNewAddressProofsV2\"\n      );\n      return makeGetMultipleNewAddressProofsV2(call);\n    }\n  );\n\n  defineLazyMethod<ZkClientLazy, GetTransactionWithCompressionInfoFn>(\n    obj,\n    \"getTransactionWithCompressionInfo\",\n    async () => {\n      const { makeGetTransactionWithCompressionInfo } = await import(\n        \"./methods/getTransactionWithCompressionInfo\"\n      );\n      return makeGetTransactionWithCompressionInfo(call);\n    }\n  );\n\n  defineLazyMethod<ZkClientLazy, GetValidityProofFn>(\n    obj,\n    \"getValidityProof\",\n    async () => {\n      const { makeGetValidityProof } = await import(\n        \"./methods/getValidityProof\"\n      );\n      return makeGetValidityProof(call);\n    }\n  );\n\n  defineLazyMethod<ZkClientLazy, GetSignaturesForAssetFn>(\n    obj,\n    \"getSignaturesForAsset\",\n    async () => {\n      const { makeGetSignaturesForAsset } = await import(\n        \"./methods/getSignaturesForAsset\"\n      );\n      return makeGetSignaturesForAsset(call);\n    }\n  );\n\n  return obj as ZkClientLazy;\n};\n"],"names":["defineLazyMethod"],"mappings":"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"}