{"version":3,"sources":["../src/const.ts","../src/providers.tsx","../src/hooks/client.ts","../src/hooks/account.ts","../src/hooks/balance.ts","../src/hooks/latest-blockhash.ts","../src/hooks/program-accounts.ts","../src/hooks/recent-prioritization-fees.ts","../src/hooks/signature-statuses.ts","../src/hooks/signatures-for-address.ts","../src/hooks/slot.ts","../src/hooks/token-account.ts","../src/hooks/token-mint.ts","../src/hooks/transaction.ts","../src/index.ts"],"names":["address","useQuery","fetchEncodedAccount","assertAccountExists"],"mappings":"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","file":"index.native.mjs","sourcesContent":["/**\n * @private\n */\nexport const GILL_NAME = \"gill\";\n\nexport const GILL_HOOK_CLIENT_KEY = \"gill-client\";\n","\"use client\";\n\nimport React from \"react\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { GILL_HOOK_CLIENT_KEY } from \"./const\";\nimport type { SolanaClient } from \"gill\";\n\n/**\n * Provider to utilize gill hooks for Solana\n */\nexport function SolanaProvider({\n  client,\n  children,\n  queryClient = new QueryClient(),\n}: {\n  client: SolanaClient;\n  children: React.ReactNode;\n  queryClient?: QueryClient;\n}) {\n  queryClient.setQueryData([GILL_HOOK_CLIENT_KEY], client);\n  return <QueryClientProvider client={queryClient}>{children}</QueryClientProvider>;\n}\n","import { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\nimport { createSolanaClient, type SolanaClient } from \"gill\";\nimport { GILL_HOOK_CLIENT_KEY } from \"../const\";\n\n/**\n * Get the current Solana client (including `rpc` and `rpcSubscriptions`)\n */\nexport function useSolanaClient(): SolanaClient {\n  const { data: config } = useQuery<SolanaClient>({\n    queryKey: [GILL_HOOK_CLIENT_KEY],\n    staleTime: Infinity,\n    // fallback data should not be reached if used within `SolanaProvider`\n    // since we set the initial value. but just in case => devnet\n    initialData: createSolanaClient({\n      urlOrMoniker: \"devnet\",\n    }),\n  });\n  return config;\n}\n\n/**\n * Update your Solana client (including `rpc` and `rpcSubscriptions`)\n */\nexport function useUpdateSolanaClient() {\n  const queryClient = useQueryClient();\n  return useMutation({\n    mutationFn: async (newClient: SolanaClient): Promise<SolanaClient> => {\n      queryClient.setQueryData([GILL_HOOK_CLIENT_KEY], newClient);\n      return newClient;\n    },\n    onSuccess: () => {\n      // Invalidate any queries that might depend on the Solana client\n      queryClient.invalidateQueries({ queryKey: [GILL_HOOK_CLIENT_KEY] });\n\n      /**\n       * todo: research more here\n       * removing queries here will force the cache to update automatically, but can result in the waterfall of data fetching\n       * but it seems that without it, the client side data does not auto refetch when the SolanaClient is changed :/\n       */\n      // queryClient.removeQueries({\n      //   predicate: (query) => {\n      //     return query.queryKey.length >= 2 && query.queryKey[0] === GILL_HOOK_CLIENT_KEY;\n      //   },\n      // });\n\n      queryClient.prefetchQuery({ queryKey: [GILL_HOOK_CLIENT_KEY] });\n      queryClient.refetchQueries({\n        queryKey: [GILL_HOOK_CLIENT_KEY],\n      });\n    },\n  });\n}\n","\"use client\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport type { Account, Address, Decoder, FetchAccountConfig, Simplify } from \"gill\";\nimport { assertAccountExists, decodeAccount, fetchEncodedAccount } from \"gill\";\nimport { GILL_HOOK_CLIENT_KEY } from \"../const\";\nimport { useSolanaClient } from \"./client\";\nimport type { GillUseRpcHook } from \"./types\";\n\ntype RpcConfig = Simplify<Omit<FetchAccountConfig, \"abortSignal\">>;\n\ntype UseAccountResponse<TAddress extends string = string, TData extends Uint8Array | object = Uint8Array> = Account<\n  TData,\n  TAddress\n> & {\n  exists: true;\n};\n\ntype UseAccountInput<\n  TConfig extends RpcConfig = RpcConfig,\n  TAddress extends string = string,\n  TDecodedData extends object = Uint8Array,\n> = GillUseRpcHook<TConfig> & {\n  /**\n   * Address of the account to get the balance of\n   */\n  address: TAddress | Address;\n  /**\n   * Account decoder that can decode the account's `data` byte array value\n   */\n  decoder?: Decoder<TDecodedData>;\n};\n\n/**\n * Get the account info for an address using the Solana RPC method of\n * [`getAccountInfo`](https://solana.com/docs/rpc/http/getaccountinfo)\n */\nexport function useAccount<\n  TConfig extends RpcConfig = RpcConfig,\n  TAddress extends string = string,\n  TDecodedData extends object = Uint8Array,\n>({ options, config, abortSignal, address, decoder }: UseAccountInput<TConfig, TAddress, TDecodedData>) {\n  const { rpc } = useSolanaClient();\n\n  if (abortSignal) {\n    // @ts-expect-error we stripped the `abortSignal` from the type but are now adding it back in\n    config = {\n      ...(config || {}),\n      abortSignal,\n    };\n  }\n\n  const { data, ...rest } = useQuery({\n    networkMode: \"offlineFirst\",\n    ...options,\n    queryKey: [GILL_HOOK_CLIENT_KEY, \"getAccountInfo\", address],\n    queryFn: async () => {\n      const account = await fetchEncodedAccount(rpc, address as Address, config);\n      assertAccountExists(account);\n      if (decoder) return decodeAccount(account, decoder as Decoder<TDecodedData>);\n      return account;\n    },\n    enabled: !!address,\n  });\n  return {\n    ...rest,\n    account: data as UseAccountResponse<TAddress, TDecodedData>,\n  };\n}\n","\"use client\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport type { Address, GetBalanceApi, Simplify } from \"gill\";\nimport { GILL_HOOK_CLIENT_KEY } from \"../const\";\nimport { useSolanaClient } from \"./client\";\nimport type { GillUseRpcHook } from \"./types\";\n\ntype RpcConfig = Simplify<Parameters<GetBalanceApi[\"getBalance\"]>>[1];\n\ntype UseBalanceResponse = ReturnType<GetBalanceApi[\"getBalance\"]>[\"value\"];\n\ntype UseBalanceInput<TConfig extends RpcConfig = RpcConfig> = GillUseRpcHook<TConfig> & {\n  /**\n   * Address of the account to get the balance of\n   */\n  address: Address | string;\n};\n\n/**\n * Get an account's balance (in lamports) using the Solana RPC method of\n * [`getBalance`](https://solana.com/docs/rpc/http/getbalance)\n */\nexport function useBalance<TConfig extends RpcConfig = RpcConfig>({\n  options,\n  config,\n  abortSignal,\n  address,\n}: UseBalanceInput<TConfig>) {\n  const { rpc } = useSolanaClient();\n  const { data, ...rest } = useQuery({\n    networkMode: \"offlineFirst\",\n    ...options,\n    enabled: !!address,\n    queryKey: [GILL_HOOK_CLIENT_KEY, \"getBalance\", address],\n    queryFn: async () => {\n      const { value } = await rpc.getBalance(address as Address, config).send({ abortSignal });\n      return value;\n    },\n  });\n  return {\n    ...rest,\n    balance: data as UseBalanceResponse,\n  };\n}\n","\"use client\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport type { GetLatestBlockhashApi, Simplify } from \"gill\";\nimport { GILL_HOOK_CLIENT_KEY } from \"../const\";\nimport { useSolanaClient } from \"./client\";\nimport type { GillUseRpcHook } from \"./types\";\n\ntype RpcConfig = Simplify<Parameters<GetLatestBlockhashApi[\"getLatestBlockhash\"]>>[0];\n\ntype UseLatestBlockhashResponse = ReturnType<GetLatestBlockhashApi[\"getLatestBlockhash\"]>[\"value\"];\n\ntype UseLatestBlockhashInput<TConfig extends RpcConfig = RpcConfig> = GillUseRpcHook<TConfig>;\n\n/**\n * Get the latest blockhash using the Solana RPC method of\n * [`getLatestBlockhash`](https://solana.com/docs/rpc/http/getlatestblockhash)\n *\n * To auto refetch the latest blockhash, provide a `options.refetchInterval` value\n */\nexport function useLatestBlockhash<TConfig extends RpcConfig = RpcConfig>({\n  options,\n  config,\n  abortSignal,\n}: UseLatestBlockhashInput<TConfig> = {}) {\n  const { rpc } = useSolanaClient();\n  const { data, ...rest } = useQuery({\n    ...options,\n    queryKey: [GILL_HOOK_CLIENT_KEY, \"getLatestBlockhash\"],\n    queryFn: async () => {\n      const { value } = await rpc.getLatestBlockhash(config).send({ abortSignal });\n      return value;\n    },\n  });\n  return {\n    ...rest,\n    latestBlockhash: data as UseLatestBlockhashResponse,\n  };\n}\n","\"use client\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport type {\n  AccountInfoBase,\n  AccountInfoWithBase58Bytes,\n  AccountInfoWithBase58EncodedData,\n  AccountInfoWithBase64EncodedData,\n  AccountInfoWithBase64EncodedZStdCompressedData,\n  AccountInfoWithJsonData,\n  AccountInfoWithPubkey,\n  Address,\n  GetProgramAccountsApi,\n  Simplify,\n  SolanaRpcResponse,\n} from \"gill\";\nimport { GILL_HOOK_CLIENT_KEY } from \"../const\";\nimport { useSolanaClient } from \"./client\";\nimport type { GillUseRpcHook } from \"./types\";\n\ntype Encoding = \"base64\" | \"jsonParsed\" | \"base64+zstd\" | \"base58\";\n\ntype RpcConfig = Simplify<\n  Parameters<GetProgramAccountsApi[\"getProgramAccounts\"]>[1] &\n    Readonly<{\n      encoding?: Encoding;\n    }>\n>;\n\ntype UseProgramAccountsInput<TConfig extends RpcConfig = RpcConfig> = GillUseRpcHook<TConfig> & {\n  /**\n   * Address of the program used to call\n   * [`getProgramAccounts`](https://solana.com/docs/rpc/http/getprogramaccounts)\n   */\n  program: Address | string;\n};\n\ntype UseProgramAccountsResponse<TConfig extends RpcConfig> = TConfig extends {\n  encoding: \"base64\";\n  withContext: true;\n}\n  ? SolanaRpcResponse<AccountInfoWithPubkey<AccountInfoBase & AccountInfoWithBase64EncodedData>[]>\n  : TConfig extends { encoding: \"base64\" }\n    ? AccountInfoWithPubkey<AccountInfoBase & AccountInfoWithBase64EncodedData>[]\n    : TConfig extends { encoding: \"base64+zstd\"; withContext: true }\n      ? SolanaRpcResponse<AccountInfoWithPubkey<AccountInfoBase & AccountInfoWithBase64EncodedZStdCompressedData>[]>\n      : TConfig extends { encoding: \"base64+zstd\" }\n        ? AccountInfoWithPubkey<AccountInfoBase & AccountInfoWithBase64EncodedZStdCompressedData>[]\n        : TConfig extends { encoding: \"jsonParsed\"; withContext: true }\n          ? SolanaRpcResponse<AccountInfoWithPubkey<AccountInfoBase & AccountInfoWithJsonData>[]>\n          : TConfig extends { encoding: \"jsonParsed\" }\n            ? AccountInfoWithPubkey<AccountInfoBase & AccountInfoWithJsonData>[]\n            : TConfig extends { encoding: \"base58\"; withContext: true }\n              ? SolanaRpcResponse<AccountInfoWithPubkey<AccountInfoBase & AccountInfoWithBase58EncodedData>[]>\n              : TConfig extends { encoding: \"base58\" }\n                ? AccountInfoWithPubkey<AccountInfoBase & AccountInfoWithBase58EncodedData>[]\n                : TConfig extends { withContext: true }\n                  ? SolanaRpcResponse<AccountInfoWithPubkey<AccountInfoBase & AccountInfoWithBase58Bytes>[]>\n                  : AccountInfoWithPubkey<AccountInfoBase & AccountInfoWithBase58Bytes>[];\n\n/**\n * Get all the accounts owned by a `program` using the Solana RPC method of\n * [`getProgramAccounts`](https://solana.com/docs/rpc/http/getprogramaccounts)\n */\nexport function useProgramAccounts<TConfig extends RpcConfig = RpcConfig>({\n  options,\n  config,\n  abortSignal,\n  program,\n}: UseProgramAccountsInput<TConfig>) {\n  const { rpc } = useSolanaClient();\n\n  const { data, ...rest } = useQuery({\n    ...options,\n    enabled: !!program,\n    queryKey: [GILL_HOOK_CLIENT_KEY, \"getProgramAccounts\", program],\n    queryFn: async () => {\n      const accounts = await rpc.getProgramAccounts(program as Address, config).send({ abortSignal });\n      return accounts;\n    },\n  });\n\n  return {\n    ...rest,\n    accounts: data as Simplify<UseProgramAccountsResponse<TConfig>>,\n  };\n}\n","\"use client\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport type { GetRecentPrioritizationFeesApi, Simplify } from \"gill\";\nimport { GILL_HOOK_CLIENT_KEY } from \"../const\";\nimport { useSolanaClient } from \"./client\";\nimport type { GillUseRpcHook } from \"./types\";\n\ntype UseRecentPrioritizationFeesInput = Simplify<\n  Pick<GillUseRpcHook<{}>, \"options\" | \"abortSignal\"> & {\n    addresses?: Parameters<GetRecentPrioritizationFeesApi[\"getRecentPrioritizationFees\"]>[0];\n  }\n>;\n\ntype UseRecentPrioritizationFeesResponse = ReturnType<GetRecentPrioritizationFeesApi[\"getRecentPrioritizationFees\"]>;\n\n/**\n * Get the recent prioritization fees for a list of addresses using the Solana RPC method of\n * [`getRecentPrioritizationFees`](https://solana.com/docs/rpc/http/getrecentprioritizationfees)\n */\nexport function useRecentPrioritizationFees({\n  options,\n  abortSignal,\n  addresses,\n}: UseRecentPrioritizationFeesInput = {}) {\n  const { rpc } = useSolanaClient();\n\n  const { data, ...rest } = useQuery({\n    ...options,\n    queryKey: [GILL_HOOK_CLIENT_KEY, \"getRecentPrioritizationFees\", addresses],\n    queryFn: async () => {\n      const fees = await rpc.getRecentPrioritizationFees(addresses).send({ abortSignal });\n      return fees;\n    },\n  });\n\n  return {\n    ...rest,\n    fees: data as UseRecentPrioritizationFeesResponse,\n  };\n}\n","\"use client\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport type { GetSignatureStatusesApi, Signature, Simplify } from \"gill\";\nimport { GILL_HOOK_CLIENT_KEY } from \"../const\";\nimport { useSolanaClient } from \"./client\";\nimport type { GillUseRpcHook } from \"./types\";\n\ntype RpcConfig = Simplify<Parameters<GetSignatureStatusesApi[\"getSignatureStatuses\"]>[1]>;\n\ntype UseSignatureStatusesInput<TConfig extends RpcConfig = RpcConfig> = GillUseRpcHook<TConfig> & {\n  /**\n   * List of signatures used to call\n   * [`getSignatureStatuses`](https://solana.com/docs/rpc/http/getsignaturestatuses)\n   */\n  signatures: Signature[] | string[];\n};\n\ntype UseSignatureStatusesResponse = ReturnType<GetSignatureStatusesApi[\"getSignatureStatuses\"]>[\"value\"];\n\n/**\n * Get the statuses of signatures using the Solana RPC method of\n * [`getSignatureStatuses`](https://solana.com/docs/rpc/http/getsignaturestatuses)\n */\nexport function useSignatureStatuses<TConfig extends RpcConfig = RpcConfig>({\n  options,\n  config,\n  abortSignal,\n  signatures,\n}: UseSignatureStatusesInput<TConfig>) {\n  const { rpc } = useSolanaClient();\n  const { data, ...rest } = useQuery({\n    ...options,\n    enabled: signatures && signatures.length > 0,\n    queryKey: [GILL_HOOK_CLIENT_KEY, \"getSignatureStatuses\", signatures],\n    queryFn: async () => {\n      const { value } = await rpc.getSignatureStatuses(signatures as Signature[], config).send({ abortSignal });\n      return value;\n    },\n  });\n  return {\n    ...rest,\n    statuses: data as UseSignatureStatusesResponse,\n  };\n}\n","\"use client\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport { Address, GetSignaturesForAddressApi, Simplify } from \"gill\";\nimport { GILL_HOOK_CLIENT_KEY } from \"../const\";\nimport { useSolanaClient } from \"./client\";\nimport { GillUseRpcHook } from \"./types\";\n\ntype RpcConfig = Simplify<Parameters<GetSignaturesForAddressApi[\"getSignaturesForAddress\"]>[1]>;\n\ntype UseSignaturesForAddressInput<TConfig extends RpcConfig = RpcConfig> = GillUseRpcHook<TConfig> & {\n  /**\n   * Address of the account to fetch signatures of\n   */\n  address: Address | string;\n};\n\ntype UseSignaturesForAddressResponse = ReturnType<GetSignaturesForAddressApi[\"getSignaturesForAddress\"]>;\n\n/**\n * Returns signatures for confirmed transactions that include the given address\n * in their `accountKeys` list. Returns signatures backwards in time from the\n * provided signature or most recent confirmed block using the Solana RPC method of\n * [`getSignaturesForAddress`](https://solana.com/docs/rpc/http/getsignaturesforaddress)\n */\nexport function useSignaturesForAddress<TConfig extends RpcConfig = RpcConfig>({\n  options,\n  config,\n  abortSignal,\n  address,\n}: UseSignaturesForAddressInput<TConfig>) {\n  const { rpc } = useSolanaClient();\n  const { data, ...rest } = useQuery({\n    networkMode: \"offlineFirst\",\n    ...options,\n    enabled: !!address,\n    queryKey: [GILL_HOOK_CLIENT_KEY, \"getSignaturesForAddress\", address],\n    queryFn: async () => {\n      const signatures = await rpc.getSignaturesForAddress(address as Address, config).send({ abortSignal });\n      return signatures;\n    },\n  });\n  return {\n    ...rest,\n    signatures: data as UseSignaturesForAddressResponse,\n  };\n}\n","\"use client\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport type { GetSlotApi, Simplify } from \"gill\";\nimport { GILL_HOOK_CLIENT_KEY } from \"../const\";\nimport { useSolanaClient } from \"./client\";\nimport type { GillUseRpcHook } from \"./types\";\n\ntype RpcConfig = Simplify<Parameters<GetSlotApi[\"getSlot\"]>>[0];\n\ntype UseSlotResponse = ReturnType<GetSlotApi[\"getSlot\"]>;\n\ntype UseSlotInput<TConfig extends RpcConfig = RpcConfig> = GillUseRpcHook<TConfig>;\n\n/**\n * Get the current slot using the Solana RPC method of\n * [`getSlot`](https://solana.com/docs/rpc/http/getslot)\n *\n * To auto refetch the slot, provide a `options.refetchInterval` value\n */\nexport function useSlot<TConfig extends RpcConfig = RpcConfig>({\n  options,\n  config,\n  abortSignal,\n}: UseSlotInput<TConfig> = {}) {\n  const { rpc } = useSolanaClient();\n\n  const { data, ...rest } = useQuery({\n    ...options,\n    queryKey: [GILL_HOOK_CLIENT_KEY, \"getSlot\"],\n    queryFn: async () => {\n      const slot = await rpc.getSlot(config).send({ abortSignal });\n      return slot;\n    },\n  });\n\n  return {\n    ...rest,\n    slot: data as UseSlotResponse,\n  };\n}\n","\"use client\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport { GILL_HOOK_CLIENT_KEY } from \"../const\";\nimport { useSolanaClient } from \"./client\";\nimport type { GillUseRpcHook } from \"./types\";\n\nimport type { Account, Address, FetchAccountConfig, Simplify } from \"gill\";\nimport { address, assertAccountExists, assertIsAddress, fetchEncodedAccount } from \"gill\";\nimport {\n  checkedTokenProgramAddress,\n  decodeToken,\n  fetchMint,\n  getAssociatedTokenAccountAddress,\n  type Token,\n} from \"gill/programs/token\";\n\ntype RpcConfig = Simplify<Omit<FetchAccountConfig, \"abortSignal\">>;\n\ntype UseTokenAccountResponse<TAddress extends Address = Address> = Simplify<\n  Account<Token, TAddress> & {\n    exists: true;\n  }\n>;\n\ntype TokenAccountInputWithDeclaredAta<TAddress extends Address = Address> = {\n  /**\n   * Address of the {@link https://solana.com/docs/tokens#associated-token-account | Token Account} to get and decode\n   */\n  ata: TAddress;\n};\n\ntype TokenAccountInputWithDerivedAtaDetails = {\n  /**\n   * Address of the {@link https://solana.com/docs/tokens#token-account | Token Account}'s `owner`\n   */\n  owner: Address;\n  /**\n   * Address of the {@link https://solana.com/docs/tokens#token-account | Token Account}'s `mint`\n   */\n  mint: Address;\n  /**\n   * The {@link https://solana.com/docs/tokens#token-programs | Token Program} used to create the `mint`\n   *\n   * If no `tokenProgram` is provided, the hook will automatically fetch the\n   * {@link https://solana.com/docs/tokens#mint-account | Mint account} to retrieve the correct Token Program address\n   */\n  tokenProgram?: Address;\n};\n\ntype UseTokenAccountInput<\n  TConfig extends RpcConfig = RpcConfig,\n  TAddress extends Address = Address,\n> = GillUseRpcHook<TConfig> & (TokenAccountInputWithDeclaredAta<TAddress> | TokenAccountInputWithDerivedAtaDetails);\n\nfunction hasDeclaredAta(\n  input: TokenAccountInputWithDeclaredAta | TokenAccountInputWithDerivedAtaDetails,\n): input is TokenAccountInputWithDeclaredAta {\n  return (input as TokenAccountInputWithDeclaredAta).ata !== undefined;\n}\n\n/**\n * Get and parse an owner's {@link https://solana.com/docs/tokens#token-account | Token account} for a\n * {@link https://solana.com/docs/tokens#mint-account | Mint} and {@link https://solana.com/docs/tokens#token-programs | Token Program}\n */\nexport function useTokenAccount<TConfig extends RpcConfig = RpcConfig, TAddress extends Address = Address>({\n  options,\n  config,\n  abortSignal,\n  // tokenProgram,\n  ...tokenAccountOptions\n}: UseTokenAccountInput<TConfig, TAddress>) {\n  const { rpc } = useSolanaClient();\n\n  if (abortSignal) {\n    // @ts-expect-error the `abortSignal` was stripped from the type but is now being added back in\n    config = {\n      ...(config || {}),\n      abortSignal,\n    };\n  }\n\n  const { data, ...rest } = useQuery({\n    networkMode: \"offlineFirst\",\n    ...options,\n    enabled: hasDeclaredAta(tokenAccountOptions)\n      ? !!tokenAccountOptions.ata\n      : Boolean(tokenAccountOptions.mint && tokenAccountOptions.owner),\n    queryFn: async () => {\n      let ata: Address;\n\n      if (hasDeclaredAta(tokenAccountOptions)) {\n        // if the user manually provides the ata, we will use that\n        ata = tokenAccountOptions.ata;\n      } else {\n        // auto fetch the token program address if not provided\n        if (!tokenAccountOptions.tokenProgram) {\n          const mint = await fetchMint(rpc, address(tokenAccountOptions.mint));\n          tokenAccountOptions.tokenProgram = mint.programAddress;\n        }\n\n        checkedTokenProgramAddress(tokenAccountOptions.tokenProgram);\n\n        ata = await getAssociatedTokenAccountAddress(\n          tokenAccountOptions.mint,\n          tokenAccountOptions.owner,\n          tokenAccountOptions.tokenProgram,\n        );\n      }\n\n      assertIsAddress(ata);\n      const account = await fetchEncodedAccount(rpc, ata, config);\n      assertAccountExists(account);\n      return decodeToken(account);\n    },\n    queryKey: [\n      GILL_HOOK_CLIENT_KEY,\n      \"getTokenAccount\",\n      hasDeclaredAta(tokenAccountOptions)\n        ? [{ ata: tokenAccountOptions.ata }]\n        : [\n            {\n              mint: tokenAccountOptions.mint,\n              owner: tokenAccountOptions.owner,\n            },\n          ],\n    ],\n  });\n\n  return {\n    ...rest,\n    account: data as UseTokenAccountResponse<TAddress>,\n  };\n}\n","\"use client\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport { GILL_HOOK_CLIENT_KEY } from \"../const\";\nimport { useSolanaClient } from \"./client\";\nimport type { GillUseRpcHook } from \"./types\";\n\nimport type { Account, Address, FetchAccountConfig, Simplify } from \"gill\";\nimport { assertAccountExists, fetchEncodedAccount } from \"gill\";\nimport { decodeMint, type Mint } from \"gill/programs/token\";\n\ntype RpcConfig = Simplify<Omit<FetchAccountConfig, \"abortSignal\">>;\n\ntype UseTokenMintResponse<TAddress extends string = string> = Simplify<\n  Account<Mint, TAddress> & {\n    exists: true;\n  }\n>;\n\ntype UseTokenMintInput<\n  TConfig extends RpcConfig = RpcConfig,\n  TAddress extends string = string,\n> = GillUseRpcHook<TConfig> & {\n  /**\n   * Address of the Mint account to get and decode\n   */\n  mint: TAddress | Address<TAddress>;\n};\n\n/**\n * Get and parse a token's {@link https://solana.com/docs/tokens#mint-account | Mint account}\n */\nexport function useTokenMint<TConfig extends RpcConfig = RpcConfig, TAddress extends string = string>({\n  options,\n  config,\n  abortSignal,\n  mint,\n}: UseTokenMintInput<TConfig, TAddress>) {\n  const { rpc } = useSolanaClient();\n\n  if (abortSignal) {\n    // @ts-expect-error we stripped the `abortSignal` from the type but are now adding it back in\n    config = {\n      ...(config || {}),\n      abortSignal,\n    };\n  }\n\n  const { data, ...rest } = useQuery({\n    networkMode: \"offlineFirst\",\n    ...options,\n    enabled: !!mint,\n    queryKey: [GILL_HOOK_CLIENT_KEY, \"getMintAccount\", mint],\n    queryFn: async () => {\n      const account = await fetchEncodedAccount(rpc, mint as Address<TAddress>, config);\n      assertAccountExists(account);\n      return decodeMint(account);\n    },\n  });\n  return {\n    ...rest,\n    account: data as UseTokenMintResponse<TAddress>,\n  };\n}\n","\"use client\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport type { GetTransactionApi, Signature, Simplify } from \"gill\";\nimport { GILL_HOOK_CLIENT_KEY } from \"../const\";\nimport { useSolanaClient } from \"./client\";\nimport type { GillUseRpcHook } from \"./types\";\n\ntype RpcConfig = Simplify<Parameters<GetTransactionApi[\"getTransaction\"]>[1]>;\n\ntype UseTransactionResponse = ReturnType<GetTransactionApi[\"getTransaction\"]>;\n\ntype UseTransactionInput<TConfig extends RpcConfig = RpcConfig> = GillUseRpcHook<TConfig> & {\n  /**\n   * Transaction signature as a base-58 encoded string\n   */\n  signature: Signature | string;\n};\n\n/**\n * Get transaction details for a confirmed transaction using the Solana RPC method of\n * [`getTransaction`](https://solana.com/docs/rpc/http/gettransaction)\n *\n * Default `config` includes:\n * - `maxSupportedTransactionVersion` of `0`\n * - `encoding` of `json`\n */\nexport function useTransaction<TConfig extends RpcConfig = RpcConfig>({\n  options,\n  config,\n  abortSignal,\n  signature,\n}: UseTransactionInput<TConfig>) {\n  const { rpc } = useSolanaClient();\n  const { data, ...rest } = useQuery({\n    networkMode: \"offlineFirst\",\n    ...options,\n    enabled: !!signature,\n    queryKey: [GILL_HOOK_CLIENT_KEY, \"getTransaction\", signature],\n    queryFn: async () => {\n      const response = await rpc\n        .getTransaction(signature as Signature, {\n          // set default values for better DX\n          maxSupportedTransactionVersion: 0,\n          encoding: \"json\",\n          ...(config || {}),\n        })\n        .send({ abortSignal });\n      return response;\n    },\n  });\n  return {\n    ...rest,\n    transaction: data as UseTransactionResponse,\n  };\n}\n","// @ts-ignore - Patch BigInt to allow calling `JSON.stringify` on objects that use\ninterface BigInt {\n  /** Convert a BigInt to string form when calling `JSON.stringify()` */\n  toJSON: () => string;\n}\n\n// @ts-ignore - Only add the toJSON method if it doesn't already exist\nif (BigInt.prototype.toJSON === undefined) {\n  // @ts-ignore - toJSON does not exist which is why we are patching it\n  BigInt.prototype.toJSON = function () {\n    return String(this);\n  };\n}\n\nexport * from \"./const\";\nexport * from \"./providers\";\nexport * from \"./hooks\";\n"]}