{"version":3,"file":"client.eager.cjs","sources":["../../../../src/enhanced/client.eager.ts"],"sourcesContent":["import {\n  type GetEnhancedTransactionsRequest,\n  type GetEnhancedTransactionsResponse,\n  type GetEnhancedTransactionsByAddressRequest,\n  type GetEnhancedTransactionsByAddressResponse,\n} from \"./types\";\nimport { getSDKHeaders } from \"../http\";\n\nexport interface EnhancedTxClient {\n  getTransactions: (\n    params: GetEnhancedTransactionsRequest\n  ) => Promise<GetEnhancedTransactionsResponse>;\n\n  getTransactionsByAddress: (\n    params: GetEnhancedTransactionsByAddressRequest\n  ) => Promise<GetEnhancedTransactionsByAddressResponse>;\n}\n\nconst qs = (obj: Record<string, unknown | undefined>): string => {\n  const s = Object.entries(obj)\n    .filter(([, v]) => v !== undefined && v !== null)\n    .map(\n      ([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(String(v))}`\n    )\n    .join(\"&\");\n\n  return s ? `?${s}` : \"\";\n};\n\nconst handle = async <T>(res: Response): Promise<T> => {\n  const text = await res.text();\n  const json = text ? JSON.parse(text) : undefined;\n\n  if (!res.ok) {\n    const message =\n      json?.error?.message ??\n      json?.message ??\n      res.statusText ??\n      \"Unknown Helius error\";\n    throw new Error(`Helius HTTP ${res.status}: ${message}`);\n  }\n\n  return json as T;\n};\n\nexport const makeEnhancedTxClientEager = (\n  apiKey: string,\n  network: \"mainnet\" | \"devnet\" = \"mainnet\",\n  userAgent?: string\n): EnhancedTxClient => {\n  const base =\n    network === \"devnet\"\n      ? \"https://api-devnet.helius.xyz/v0\"\n      : \"https://api.helius.xyz/v0\";\n\n  const getTransactions: EnhancedTxClient[\"getTransactions\"] = async ({\n    transactions,\n    commitment,\n  }) => {\n    const url = `${base}/transactions` + qs({ \"api-key\": apiKey, commitment });\n\n    const res = await fetch(url, {\n      method: \"POST\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n        ...getSDKHeaders(userAgent),\n      },\n      body: JSON.stringify({ transactions }),\n    });\n\n    return handle<GetEnhancedTransactionsResponse>(res);\n  };\n\n  const getTransactionsByAddress: EnhancedTxClient[\"getTransactionsByAddress\"] =\n    async ({\n      address,\n      beforeSignature,\n      afterSignature,\n      commitment,\n      source,\n      type,\n      limit,\n      gtSlot,\n      gteSlot,\n      ltSlot,\n      lteSlot,\n      gtTime,\n      gteTime,\n      ltTime,\n      lteTime,\n      sortOrder,\n    }) => {\n      const url =\n        `${base}/addresses/${address}/transactions` +\n        qs({\n          \"api-key\": apiKey,\n          \"before-signature\": beforeSignature,\n          \"after-signature\": afterSignature,\n          commitment,\n          source,\n          type,\n          limit,\n          \"gt-slot\": gtSlot,\n          \"gte-slot\": gteSlot,\n          \"lt-slot\": ltSlot,\n          \"lte-slot\": lteSlot,\n          \"gt-time\": gtTime,\n          \"gte-time\": gteTime,\n          \"lt-time\": ltTime,\n          \"lte-time\": lteTime,\n          \"sort-order\": sortOrder,\n        });\n\n      const res = await fetch(url, {\n        method: \"GET\",\n        headers: getSDKHeaders(userAgent),\n      });\n      return handle<GetEnhancedTransactionsByAddressResponse>(res);\n    };\n\n  return {\n    getTransactions,\n    getTransactionsByAddress,\n  };\n};\n"],"names":["getSDKHeaders"],"mappings":"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"}