@account-kit/privy-integration 4.83.1 → 4.84.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -95,12 +95,12 @@ export function useAlchemySendTransaction() {
95
95
  calls: formattedCalls,
96
96
  capabilities,
97
97
  });
98
- if (!result.preparedCallIds || result.preparedCallIds.length === 0) {
99
- throw new Error("No prepared call IDs returned from transaction submission");
98
+ if (!result.id) {
99
+ throw new Error("No call ID returned from transaction submission");
100
100
  }
101
101
  // Wait for the transaction to be confirmed
102
102
  const txStatus = await client.waitForCallsStatus({
103
- id: result.preparedCallIds[0],
103
+ id: result.id,
104
104
  timeout: 60000,
105
105
  });
106
106
  const txnHash = txStatus.receipts?.[0]?.transactionHash;
@@ -1 +1 @@
1
- {"version":3,"file":"useAlchemySendTransaction.js","sourceRoot":"","sources":["../../../src/hooks/useAlchemySendTransaction.ts"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useState } from \"react\";\nimport { type Hex, isHex } from \"viem\";\nimport { useAlchemyClient } from \"./useAlchemyClient.js\";\nimport { useAlchemyConfig } from \"../context/AlchemyContext.js\";\nimport type {\n UnsignedTransactionRequest,\n SendTransactionOptions,\n SendTransactionResult,\n UseSendTransactionResult,\n} from \"../types\";\n\n/**\n * Normalize value to hex format\n * Accepts bigint, number, decimal string, or hex string\n *\n * @param {string | number | bigint} value - Value to normalize\n * @returns {Hex} Hex string representation of the value\n */\nfunction normalizeValue(value: string | number | bigint): Hex {\n if (typeof value === \"bigint\") {\n return `0x${value.toString(16)}`;\n }\n if (typeof value === \"number\") {\n return `0x${BigInt(value).toString(16)}`;\n }\n if (isHex(value)) {\n return value;\n }\n // Assume decimal string\n return `0x${BigInt(value).toString(16)}`;\n}\n\n/**\n * Hook to send transactions with optional gas sponsorship via Alchemy\n * Supports both single transactions and batch transactions\n * Drop-in alternative to Privy's useSendTransaction hook\n *\n * @returns {UseSendTransactionResult} Hook result with sendTransaction function and state\n *\n * @example Single transaction\n * ```tsx\n * const { sendTransaction, isLoading, error, data } = useAlchemySendTransaction();\n *\n * const handleSend = async () => {\n * try {\n * const result = await sendTransaction({\n * to: '0x...',\n * data: '0x...',\n * value: '1000000000000000000', // 1 ETH\n * });\n * console.log('Transaction hash:', result.txnHash);\n * } catch (err) {\n * console.error('Transaction failed:', err);\n * }\n * };\n * ```\n *\n * @example Batch transactions\n * ```tsx\n * const { sendTransaction } = useAlchemySendTransaction();\n *\n * const result = await sendTransaction([\n * { to: '0x...', data: '0x...', value: '1000000000000000000' },\n * { to: '0x...', data: '0x...' },\n * ]);\n * ```\n */\nexport function useAlchemySendTransaction(): UseSendTransactionResult {\n const { getClient } = useAlchemyClient();\n const config = useAlchemyConfig();\n\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n const [data, setData] = useState<SendTransactionResult | null>(null);\n\n const sendTransaction = useCallback(\n async (\n input: UnsignedTransactionRequest | UnsignedTransactionRequest[],\n options?: SendTransactionOptions,\n ): Promise<SendTransactionResult> => {\n setIsLoading(true);\n setError(null);\n\n try {\n const { client, account } = await getClient();\n\n // Determine if transaction should be sponsored\n const hasPolicyId = !!config.policyId;\n const enableSponsorship = !config.disableSponsorship;\n const shouldSponsor =\n options?.disableSponsorship !== undefined\n ? !options.disableSponsorship\n : hasPolicyId && enableSponsorship;\n\n // Format the transaction call(s)\n const inputs = Array.isArray(input) ? input : [input];\n const formattedCalls = inputs.map((txn) => ({\n to: txn.to,\n data: txn.data,\n value: txn.value ? normalizeValue(txn.value) : undefined,\n }));\n\n // Build capabilities based on sponsorship and auth mode\n const policyId = Array.isArray(config.policyId)\n ? config.policyId[0]\n : config.policyId;\n\n type Capabilities =\n | { eip7702Auth: true; paymasterService?: { policyId: string } }\n | { paymasterService?: { policyId: string } };\n const capabilities: Capabilities =\n config.accountAuthMode === \"eip7702\" ? { eip7702Auth: true } : {};\n\n if (shouldSponsor && policyId) {\n capabilities.paymasterService = { policyId };\n }\n\n // Send the transaction(s) from the smart account address\n const result = await client.sendCalls({\n from: account.address,\n calls: formattedCalls,\n capabilities,\n });\n\n if (!result.preparedCallIds || result.preparedCallIds.length === 0) {\n throw new Error(\n \"No prepared call IDs returned from transaction submission\",\n );\n }\n\n // Wait for the transaction to be confirmed\n const txStatus = await client.waitForCallsStatus({\n id: result.preparedCallIds[0],\n timeout: 60_000,\n });\n\n const txnHash = txStatus.receipts?.[0]?.transactionHash;\n if (!txnHash) {\n throw new Error(\"Transaction hash not found in receipt\");\n }\n\n const txResult: SendTransactionResult = { txnHash };\n setData(txResult);\n return txResult;\n } catch (err) {\n const errorObj =\n err instanceof Error ? err : new Error(\"Transaction failed\");\n setError(errorObj);\n throw errorObj;\n } finally {\n setIsLoading(false);\n }\n },\n [\n getClient,\n config.policyId,\n config.disableSponsorship,\n config.accountAuthMode,\n ],\n );\n\n const reset = useCallback(() => {\n setError(null);\n setData(null);\n setIsLoading(false);\n }, []);\n\n return {\n sendTransaction,\n isLoading,\n error,\n data,\n reset,\n };\n}\n"]}
1
+ {"version":3,"file":"useAlchemySendTransaction.js","sourceRoot":"","sources":["../../../src/hooks/useAlchemySendTransaction.ts"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useState } from \"react\";\nimport { type Hex, isHex } from \"viem\";\nimport { useAlchemyClient } from \"./useAlchemyClient.js\";\nimport { useAlchemyConfig } from \"../context/AlchemyContext.js\";\nimport type {\n UnsignedTransactionRequest,\n SendTransactionOptions,\n SendTransactionResult,\n UseSendTransactionResult,\n} from \"../types\";\n\n/**\n * Normalize value to hex format\n * Accepts bigint, number, decimal string, or hex string\n *\n * @param {string | number | bigint} value - Value to normalize\n * @returns {Hex} Hex string representation of the value\n */\nfunction normalizeValue(value: string | number | bigint): Hex {\n if (typeof value === \"bigint\") {\n return `0x${value.toString(16)}`;\n }\n if (typeof value === \"number\") {\n return `0x${BigInt(value).toString(16)}`;\n }\n if (isHex(value)) {\n return value;\n }\n // Assume decimal string\n return `0x${BigInt(value).toString(16)}`;\n}\n\n/**\n * Hook to send transactions with optional gas sponsorship via Alchemy\n * Supports both single transactions and batch transactions\n * Drop-in alternative to Privy's useSendTransaction hook\n *\n * @returns {UseSendTransactionResult} Hook result with sendTransaction function and state\n *\n * @example Single transaction\n * ```tsx\n * const { sendTransaction, isLoading, error, data } = useAlchemySendTransaction();\n *\n * const handleSend = async () => {\n * try {\n * const result = await sendTransaction({\n * to: '0x...',\n * data: '0x...',\n * value: '1000000000000000000', // 1 ETH\n * });\n * console.log('Transaction hash:', result.txnHash);\n * } catch (err) {\n * console.error('Transaction failed:', err);\n * }\n * };\n * ```\n *\n * @example Batch transactions\n * ```tsx\n * const { sendTransaction } = useAlchemySendTransaction();\n *\n * const result = await sendTransaction([\n * { to: '0x...', data: '0x...', value: '1000000000000000000' },\n * { to: '0x...', data: '0x...' },\n * ]);\n * ```\n */\nexport function useAlchemySendTransaction(): UseSendTransactionResult {\n const { getClient } = useAlchemyClient();\n const config = useAlchemyConfig();\n\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n const [data, setData] = useState<SendTransactionResult | null>(null);\n\n const sendTransaction = useCallback(\n async (\n input: UnsignedTransactionRequest | UnsignedTransactionRequest[],\n options?: SendTransactionOptions,\n ): Promise<SendTransactionResult> => {\n setIsLoading(true);\n setError(null);\n\n try {\n const { client, account } = await getClient();\n\n // Determine if transaction should be sponsored\n const hasPolicyId = !!config.policyId;\n const enableSponsorship = !config.disableSponsorship;\n const shouldSponsor =\n options?.disableSponsorship !== undefined\n ? !options.disableSponsorship\n : hasPolicyId && enableSponsorship;\n\n // Format the transaction call(s)\n const inputs = Array.isArray(input) ? input : [input];\n const formattedCalls = inputs.map((txn) => ({\n to: txn.to,\n data: txn.data,\n value: txn.value ? normalizeValue(txn.value) : undefined,\n }));\n\n // Build capabilities based on sponsorship and auth mode\n const policyId = Array.isArray(config.policyId)\n ? config.policyId[0]\n : config.policyId;\n\n type Capabilities =\n | { eip7702Auth: true; paymasterService?: { policyId: string } }\n | { paymasterService?: { policyId: string } };\n const capabilities: Capabilities =\n config.accountAuthMode === \"eip7702\" ? { eip7702Auth: true } : {};\n\n if (shouldSponsor && policyId) {\n capabilities.paymasterService = { policyId };\n }\n\n // Send the transaction(s) from the smart account address\n const result = await client.sendCalls({\n from: account.address,\n calls: formattedCalls,\n capabilities,\n });\n\n if (!result.id) {\n throw new Error(\"No call ID returned from transaction submission\");\n }\n\n // Wait for the transaction to be confirmed\n const txStatus = await client.waitForCallsStatus({\n id: result.id,\n timeout: 60_000,\n });\n\n const txnHash = txStatus.receipts?.[0]?.transactionHash;\n if (!txnHash) {\n throw new Error(\"Transaction hash not found in receipt\");\n }\n\n const txResult: SendTransactionResult = { txnHash };\n setData(txResult);\n return txResult;\n } catch (err) {\n const errorObj =\n err instanceof Error ? err : new Error(\"Transaction failed\");\n setError(errorObj);\n throw errorObj;\n } finally {\n setIsLoading(false);\n }\n },\n [\n getClient,\n config.policyId,\n config.disableSponsorship,\n config.accountAuthMode,\n ],\n );\n\n const reset = useCallback(() => {\n setError(null);\n setData(null);\n setIsLoading(false);\n }, []);\n\n return {\n sendTransaction,\n isLoading,\n error,\n data,\n reset,\n };\n}\n"]}
@@ -45,13 +45,13 @@ export function useAlchemySubmitSwap() {
45
45
  // Sign the prepared calls
46
46
  const signedCalls = await swapClient.signPreparedCalls(preparedSwap);
47
47
  // Send the signed calls
48
- const { preparedCallIds } = await swapClient.sendPreparedCalls(signedCalls);
49
- if (!preparedCallIds || preparedCallIds.length === 0) {
50
- throw new Error("No prepared call IDs returned from swap submission");
48
+ const { id } = await swapClient.sendPreparedCalls(signedCalls);
49
+ if (!id) {
50
+ throw new Error("No call ID returned from swap submission");
51
51
  }
52
52
  // Wait for the swap to be confirmed
53
53
  const callStatusResult = await swapClient.waitForCallsStatus({
54
- id: preparedCallIds[0],
54
+ id,
55
55
  timeout: 60000,
56
56
  });
57
57
  // Validate the transaction was successful
@@ -1 +1 @@
1
- {"version":3,"file":"useAlchemySubmitSwap.js","sourceRoot":"","sources":["../../../src/hooks/useAlchemySubmitSwap.ts"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useState } from \"react\";\nimport { swapActions } from \"@account-kit/wallet-client/experimental\";\nimport { useAlchemyClient } from \"./useAlchemyClient.js\";\nimport type {\n PrepareSwapResult,\n SubmitSwapResult,\n UseSubmitSwapResult,\n} from \"../types.js\";\n\n/**\n * Hook to sign and submit prepared swap calls\n * Part of the two-step swap process: prepare → submit\n *\n * @returns {UseSubmitSwapResult} Hook result with submitSwap function and state\n *\n * @example\n * ```tsx\n * const { prepareSwap } = useAlchemyPrepareSwap();\n * const { submitSwap, isLoading, error, data } = useAlchemySubmitSwap();\n *\n * const handleSwap = async () => {\n * try {\n * // Step 1: Prepare the swap\n * const preparedSwap = await prepareSwap({\n * fromToken: '0x...',\n * toToken: '0x...',\n * fromAmount: '0x...',\n * });\n *\n * // Step 2: Submit the swap\n * const result = await submitSwap(preparedSwap);\n * console.log('Swap confirmed:', result.txnHash);\n * } catch (err) {\n * console.error('Swap failed:', err);\n * }\n * };\n * ```\n */\nexport function useAlchemySubmitSwap(): UseSubmitSwapResult {\n const { getClient } = useAlchemyClient();\n\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n const [data, setData] = useState<SubmitSwapResult | null>(null);\n\n const submitSwap = useCallback(\n async (preparedSwap: PrepareSwapResult): Promise<SubmitSwapResult> => {\n setIsLoading(true);\n setError(null);\n\n try {\n const { client } = await getClient();\n\n // Extend client with swap actions\n const swapClient = client.extend(swapActions);\n\n // Sign the prepared calls\n const signedCalls = await swapClient.signPreparedCalls(preparedSwap);\n\n // Send the signed calls\n const { preparedCallIds } =\n await swapClient.sendPreparedCalls(signedCalls);\n\n if (!preparedCallIds || preparedCallIds.length === 0) {\n throw new Error(\"No prepared call IDs returned from swap submission\");\n }\n\n // Wait for the swap to be confirmed\n const callStatusResult = await swapClient.waitForCallsStatus({\n id: preparedCallIds[0],\n timeout: 60_000,\n });\n\n // Validate the transaction was successful\n if (\n callStatusResult.status !== \"success\" ||\n !callStatusResult.receipts ||\n !callStatusResult.receipts[0]\n ) {\n throw new Error(\n `Swap failed with status ${\n callStatusResult.status\n }. Full receipt:\\n${JSON.stringify(callStatusResult, null, 2)}`,\n );\n }\n\n const txnHash = callStatusResult.receipts[0].transactionHash;\n if (!txnHash) {\n throw new Error(\"Transaction hash not found in receipt\");\n }\n\n const result: SubmitSwapResult = { txnHash };\n setData(result);\n return result;\n } catch (err) {\n const errorObj =\n err instanceof Error ? err : new Error(\"Failed to submit swap\");\n setError(errorObj);\n throw errorObj;\n } finally {\n setIsLoading(false);\n }\n },\n [getClient],\n );\n\n const reset = useCallback(() => {\n setError(null);\n setData(null);\n setIsLoading(false);\n }, []);\n\n return {\n submitSwap,\n isLoading,\n error,\n data,\n reset,\n };\n}\n"]}
1
+ {"version":3,"file":"useAlchemySubmitSwap.js","sourceRoot":"","sources":["../../../src/hooks/useAlchemySubmitSwap.ts"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useState } from \"react\";\nimport { swapActions } from \"@account-kit/wallet-client/experimental\";\nimport { useAlchemyClient } from \"./useAlchemyClient.js\";\nimport type {\n PrepareSwapResult,\n SubmitSwapResult,\n UseSubmitSwapResult,\n} from \"../types.js\";\n\n/**\n * Hook to sign and submit prepared swap calls\n * Part of the two-step swap process: prepare → submit\n *\n * @returns {UseSubmitSwapResult} Hook result with submitSwap function and state\n *\n * @example\n * ```tsx\n * const { prepareSwap } = useAlchemyPrepareSwap();\n * const { submitSwap, isLoading, error, data } = useAlchemySubmitSwap();\n *\n * const handleSwap = async () => {\n * try {\n * // Step 1: Prepare the swap\n * const preparedSwap = await prepareSwap({\n * fromToken: '0x...',\n * toToken: '0x...',\n * fromAmount: '0x...',\n * });\n *\n * // Step 2: Submit the swap\n * const result = await submitSwap(preparedSwap);\n * console.log('Swap confirmed:', result.txnHash);\n * } catch (err) {\n * console.error('Swap failed:', err);\n * }\n * };\n * ```\n */\nexport function useAlchemySubmitSwap(): UseSubmitSwapResult {\n const { getClient } = useAlchemyClient();\n\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n const [data, setData] = useState<SubmitSwapResult | null>(null);\n\n const submitSwap = useCallback(\n async (preparedSwap: PrepareSwapResult): Promise<SubmitSwapResult> => {\n setIsLoading(true);\n setError(null);\n\n try {\n const { client } = await getClient();\n\n // Extend client with swap actions\n const swapClient = client.extend(swapActions);\n\n // Sign the prepared calls\n const signedCalls = await swapClient.signPreparedCalls(preparedSwap);\n\n // Send the signed calls\n const { id } = await swapClient.sendPreparedCalls(signedCalls);\n\n if (!id) {\n throw new Error(\"No call ID returned from swap submission\");\n }\n\n // Wait for the swap to be confirmed\n const callStatusResult = await swapClient.waitForCallsStatus({\n id,\n timeout: 60_000,\n });\n\n // Validate the transaction was successful\n if (\n callStatusResult.status !== \"success\" ||\n !callStatusResult.receipts ||\n !callStatusResult.receipts[0]\n ) {\n throw new Error(\n `Swap failed with status ${\n callStatusResult.status\n }. Full receipt:\\n${JSON.stringify(callStatusResult, null, 2)}`,\n );\n }\n\n const txnHash = callStatusResult.receipts[0].transactionHash;\n if (!txnHash) {\n throw new Error(\"Transaction hash not found in receipt\");\n }\n\n const result: SubmitSwapResult = { txnHash };\n setData(result);\n return result;\n } catch (err) {\n const errorObj =\n err instanceof Error ? err : new Error(\"Failed to submit swap\");\n setError(errorObj);\n throw errorObj;\n } finally {\n setIsLoading(false);\n }\n },\n [getClient],\n );\n\n const reset = useCallback(() => {\n setError(null);\n setData(null);\n setIsLoading(false);\n }, []);\n\n return {\n submitSwap,\n isLoading,\n error,\n data,\n reset,\n };\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { arbitrum, arbitrumGoerli, arbitrumNova, arbitrumSepolia, base, baseGoerli, baseSepolia, fraxtal, fraxtalSepolia, goerli, mainnet, optimism, optimismGoerli, optimismSepolia, polygon, polygonAmoy, polygonMumbai, sepolia, shape, shapeSepolia, worldChain, worldChainSepolia, zora, zoraSepolia, beraChainBartio, opbnbMainnet, opbnbTestnet, soneiumMinato, soneiumMainnet, unichainMainnet, unichainSepolia, inkMainnet, inkSepolia, mekong, monadTestnet, openlootSepolia, gensynTestnet, riseTestnet, storyMainnet, storyAeneid, celoMainnet, teaSepolia, bobaSepolia, bobaMainnet, } from "@account-kit/infra";
1
+ import { arbitrum, arbitrumGoerli, arbitrumNova, arbitrumSepolia, base, baseGoerli, baseSepolia, fraxtal, fraxtalSepolia, goerli, mainnet, optimism, optimismGoerli, optimismSepolia, polygon, polygonAmoy, polygonMumbai, sepolia, shape, shapeSepolia, worldChain, worldChainSepolia, zora, zoraSepolia, beraChainBartio, opbnbMainnet, opbnbTestnet, soneiumMinato, soneiumMainnet, unichainMainnet, unichainSepolia, inkMainnet, inkSepolia, mekong, monadTestnet, openlootSepolia, gensynTestnet, riseTestnet, storyMainnet, storyAeneid, celoMainnet, teaSepolia, bobaSepolia, bobaMainnet, hyperliquid, hyperliquidEvmTestnet, } from "@account-kit/infra";
2
2
  export function getChain(chainId) {
3
3
  switch (chainId) {
4
4
  case sepolia.id:
@@ -89,6 +89,10 @@ export function getChain(chainId) {
89
89
  return bobaSepolia;
90
90
  case bobaMainnet.id:
91
91
  return bobaMainnet;
92
+ case hyperliquid.id:
93
+ return hyperliquid;
94
+ case hyperliquidEvmTestnet.id:
95
+ return hyperliquidEvmTestnet;
92
96
  default:
93
97
  throw new Error(`Unsupported chainId: ${chainId}`);
94
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getChain.js","sourceRoot":"","sources":["../../../src/util/getChain.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n arbitrum,\n arbitrumGoerli,\n arbitrumNova,\n arbitrumSepolia,\n base,\n baseGoerli,\n baseSepolia,\n fraxtal,\n fraxtalSepolia,\n goerli,\n mainnet,\n optimism,\n optimismGoerli,\n optimismSepolia,\n polygon,\n polygonAmoy,\n polygonMumbai,\n sepolia,\n shape,\n shapeSepolia,\n worldChain,\n worldChainSepolia,\n zora,\n zoraSepolia,\n beraChainBartio,\n opbnbMainnet,\n opbnbTestnet,\n soneiumMinato,\n soneiumMainnet,\n unichainMainnet,\n unichainSepolia,\n inkMainnet,\n inkSepolia,\n mekong,\n monadTestnet,\n openlootSepolia,\n gensynTestnet,\n riseTestnet,\n storyMainnet,\n storyAeneid,\n celoMainnet,\n teaSepolia,\n bobaSepolia,\n bobaMainnet,\n} from \"@account-kit/infra\";\n\nexport function getChain(chainId: number) {\n switch (chainId) {\n case sepolia.id:\n return sepolia;\n case mainnet.id:\n return mainnet;\n case arbitrum.id:\n return arbitrum;\n case arbitrumGoerli.id:\n return arbitrumGoerli;\n case arbitrumNova.id:\n return arbitrumNova;\n case arbitrumSepolia.id:\n return arbitrumSepolia;\n case base.id:\n return base;\n case baseGoerli.id:\n return baseGoerli;\n case baseSepolia.id:\n return baseSepolia;\n case fraxtal.id:\n return fraxtal;\n case fraxtalSepolia.id:\n return fraxtalSepolia;\n case goerli.id:\n return goerli;\n case optimism.id:\n return optimism;\n case optimismGoerli.id:\n return optimismGoerli;\n case optimismSepolia.id:\n return optimismSepolia;\n case polygon.id:\n return polygon;\n case polygonAmoy.id:\n return polygonAmoy;\n case polygonMumbai.id:\n return polygonMumbai;\n case shape.id:\n return shape;\n case shapeSepolia.id:\n return shapeSepolia;\n case worldChain.id:\n return worldChain;\n case worldChainSepolia.id:\n return worldChainSepolia;\n case zora.id:\n return zora;\n case zoraSepolia.id:\n return zoraSepolia;\n case beraChainBartio.id:\n return beraChainBartio;\n case opbnbMainnet.id:\n return opbnbMainnet;\n case opbnbTestnet.id:\n return opbnbTestnet;\n case soneiumMinato.id:\n return soneiumMinato;\n case soneiumMainnet.id:\n return soneiumMainnet;\n case unichainMainnet.id:\n return unichainMainnet;\n case unichainSepolia.id:\n return unichainSepolia;\n case inkMainnet.id:\n return inkMainnet;\n case inkSepolia.id:\n return inkSepolia;\n case mekong.id:\n return mekong;\n case monadTestnet.id:\n return monadTestnet;\n case openlootSepolia.id:\n return openlootSepolia;\n case gensynTestnet.id:\n return gensynTestnet;\n case riseTestnet.id:\n return riseTestnet;\n case storyMainnet.id:\n return storyMainnet;\n case storyAeneid.id:\n return storyAeneid;\n case celoMainnet.id:\n return celoMainnet;\n case teaSepolia.id:\n return teaSepolia;\n case bobaSepolia.id:\n return bobaSepolia;\n case bobaMainnet.id:\n return bobaMainnet;\n\n default:\n throw new Error(`Unsupported chainId: ${chainId}`);\n }\n}\n"]}
1
+ {"version":3,"file":"getChain.js","sourceRoot":"","sources":["../../../src/util/getChain.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n arbitrum,\n arbitrumGoerli,\n arbitrumNova,\n arbitrumSepolia,\n base,\n baseGoerli,\n baseSepolia,\n fraxtal,\n fraxtalSepolia,\n goerli,\n mainnet,\n optimism,\n optimismGoerli,\n optimismSepolia,\n polygon,\n polygonAmoy,\n polygonMumbai,\n sepolia,\n shape,\n shapeSepolia,\n worldChain,\n worldChainSepolia,\n zora,\n zoraSepolia,\n beraChainBartio,\n opbnbMainnet,\n opbnbTestnet,\n soneiumMinato,\n soneiumMainnet,\n unichainMainnet,\n unichainSepolia,\n inkMainnet,\n inkSepolia,\n mekong,\n monadTestnet,\n openlootSepolia,\n gensynTestnet,\n riseTestnet,\n storyMainnet,\n storyAeneid,\n celoMainnet,\n teaSepolia,\n bobaSepolia,\n bobaMainnet,\n hyperliquid,\n hyperliquidEvmTestnet,\n} from \"@account-kit/infra\";\n\nexport function getChain(chainId: number) {\n switch (chainId) {\n case sepolia.id:\n return sepolia;\n case mainnet.id:\n return mainnet;\n case arbitrum.id:\n return arbitrum;\n case arbitrumGoerli.id:\n return arbitrumGoerli;\n case arbitrumNova.id:\n return arbitrumNova;\n case arbitrumSepolia.id:\n return arbitrumSepolia;\n case base.id:\n return base;\n case baseGoerli.id:\n return baseGoerli;\n case baseSepolia.id:\n return baseSepolia;\n case fraxtal.id:\n return fraxtal;\n case fraxtalSepolia.id:\n return fraxtalSepolia;\n case goerli.id:\n return goerli;\n case optimism.id:\n return optimism;\n case optimismGoerli.id:\n return optimismGoerli;\n case optimismSepolia.id:\n return optimismSepolia;\n case polygon.id:\n return polygon;\n case polygonAmoy.id:\n return polygonAmoy;\n case polygonMumbai.id:\n return polygonMumbai;\n case shape.id:\n return shape;\n case shapeSepolia.id:\n return shapeSepolia;\n case worldChain.id:\n return worldChain;\n case worldChainSepolia.id:\n return worldChainSepolia;\n case zora.id:\n return zora;\n case zoraSepolia.id:\n return zoraSepolia;\n case beraChainBartio.id:\n return beraChainBartio;\n case opbnbMainnet.id:\n return opbnbMainnet;\n case opbnbTestnet.id:\n return opbnbTestnet;\n case soneiumMinato.id:\n return soneiumMinato;\n case soneiumMainnet.id:\n return soneiumMainnet;\n case unichainMainnet.id:\n return unichainMainnet;\n case unichainSepolia.id:\n return unichainSepolia;\n case inkMainnet.id:\n return inkMainnet;\n case inkSepolia.id:\n return inkSepolia;\n case mekong.id:\n return mekong;\n case monadTestnet.id:\n return monadTestnet;\n case openlootSepolia.id:\n return openlootSepolia;\n case gensynTestnet.id:\n return gensynTestnet;\n case riseTestnet.id:\n return riseTestnet;\n case storyMainnet.id:\n return storyMainnet;\n case storyAeneid.id:\n return storyAeneid;\n case celoMainnet.id:\n return celoMainnet;\n case teaSepolia.id:\n return teaSepolia;\n case bobaSepolia.id:\n return bobaSepolia;\n case bobaMainnet.id:\n return bobaMainnet;\n case hyperliquid.id:\n return hyperliquid;\n case hyperliquidEvmTestnet.id:\n return hyperliquidEvmTestnet;\n\n default:\n throw new Error(`Unsupported chainId: ${chainId}`);\n }\n}\n"]}
@@ -1 +1 @@
1
- export declare const VERSION = "4.83.1";
1
+ export declare const VERSION = "4.84.0";
@@ -1,4 +1,4 @@
1
1
  // This file is autogenerated by inject-version.ts. Any changes will be
2
2
  // overwritten on commit!
3
- export const VERSION = "4.83.1";
3
+ export const VERSION = "4.84.0";
4
4
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,yBAAyB;AACzB,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC","sourcesContent":["// This file is autogenerated by inject-version.ts. Any changes will be\n// overwritten on commit!\nexport const VERSION = \"4.83.1\";\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,yBAAyB;AACzB,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC","sourcesContent":["// This file is autogenerated by inject-version.ts. Any changes will be\n// overwritten on commit!\nexport const VERSION = \"4.84.0\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useAlchemySendTransaction.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAlchemySendTransaction.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAIV,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAuBlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,yBAAyB,IAAI,wBAAwB,CA2GpE"}
1
+ {"version":3,"file":"useAlchemySendTransaction.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAlchemySendTransaction.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAIV,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAuBlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,yBAAyB,IAAI,wBAAwB,CAyGpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAlchemySubmitSwap.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAlchemySubmitSwap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAGV,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,oBAAoB,IAAI,mBAAmB,CAiF1D"}
1
+ {"version":3,"file":"useAlchemySubmitSwap.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAlchemySubmitSwap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAGV,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,oBAAoB,IAAI,mBAAmB,CAgF1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"getChain.d.ts","sourceRoot":"","sources":["../../../src/util/getChain.ts"],"names":[],"mappings":"AA+CA,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,wBA8FvC"}
1
+ {"version":3,"file":"getChain.d.ts","sourceRoot":"","sources":["../../../src/util/getChain.ts"],"names":[],"mappings":"AAiDA,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,wBAkGvC"}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "4.83.1";
1
+ export declare const VERSION = "4.84.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@account-kit/privy-integration",
3
- "version": "4.83.1",
3
+ "version": "4.84.0",
4
4
  "description": "Use Alchemy gas sponsorship, swaps and more with Privy",
5
5
  "author": "Alchemy",
6
6
  "license": "MIT",
@@ -64,13 +64,13 @@
64
64
  "typescript-template": "*"
65
65
  },
66
66
  "dependencies": {
67
- "@account-kit/infra": "^4.83.1",
68
- "@account-kit/wallet-client": "^4.83.1"
67
+ "@account-kit/infra": "^4.84.0",
68
+ "@account-kit/wallet-client": "^4.84.0"
69
69
  },
70
70
  "peerDependencies": {
71
71
  "@privy-io/expo": "^0.58.1",
72
72
  "@privy-io/react-auth": "^2.3.1 || ^3.0.0",
73
- "viem": "^2.29.2"
73
+ "viem": "^2.45.0"
74
74
  },
75
75
  "peerDependenciesMeta": {
76
76
  "@privy-io/react-auth": {
@@ -95,5 +95,5 @@
95
95
  "url": "https://github.com/alchemyplatform/aa-sdk/issues"
96
96
  },
97
97
  "homepage": "https://github.com/alchemyplatform/aa-sdk#readme",
98
- "gitHead": "4091479e87e3310f4df934d873aa9acd1044a669"
98
+ "gitHead": "d80fd19bb3cae4767898ecbfdef74c0c8623f7c4"
99
99
  }
@@ -122,15 +122,13 @@ export function useAlchemySendTransaction(): UseSendTransactionResult {
122
122
  capabilities,
123
123
  });
124
124
 
125
- if (!result.preparedCallIds || result.preparedCallIds.length === 0) {
126
- throw new Error(
127
- "No prepared call IDs returned from transaction submission",
128
- );
125
+ if (!result.id) {
126
+ throw new Error("No call ID returned from transaction submission");
129
127
  }
130
128
 
131
129
  // Wait for the transaction to be confirmed
132
130
  const txStatus = await client.waitForCallsStatus({
133
- id: result.preparedCallIds[0],
131
+ id: result.id,
134
132
  timeout: 60_000,
135
133
  });
136
134
 
@@ -58,16 +58,15 @@ export function useAlchemySubmitSwap(): UseSubmitSwapResult {
58
58
  const signedCalls = await swapClient.signPreparedCalls(preparedSwap);
59
59
 
60
60
  // Send the signed calls
61
- const { preparedCallIds } =
62
- await swapClient.sendPreparedCalls(signedCalls);
61
+ const { id } = await swapClient.sendPreparedCalls(signedCalls);
63
62
 
64
- if (!preparedCallIds || preparedCallIds.length === 0) {
65
- throw new Error("No prepared call IDs returned from swap submission");
63
+ if (!id) {
64
+ throw new Error("No call ID returned from swap submission");
66
65
  }
67
66
 
68
67
  // Wait for the swap to be confirmed
69
68
  const callStatusResult = await swapClient.waitForCallsStatus({
70
- id: preparedCallIds[0],
69
+ id,
71
70
  timeout: 60_000,
72
71
  });
73
72
 
@@ -43,6 +43,8 @@ import {
43
43
  teaSepolia,
44
44
  bobaSepolia,
45
45
  bobaMainnet,
46
+ hyperliquid,
47
+ hyperliquidEvmTestnet,
46
48
  } from "@account-kit/infra";
47
49
 
48
50
  export function getChain(chainId: number) {
@@ -135,6 +137,10 @@ export function getChain(chainId: number) {
135
137
  return bobaSepolia;
136
138
  case bobaMainnet.id:
137
139
  return bobaMainnet;
140
+ case hyperliquid.id:
141
+ return hyperliquid;
142
+ case hyperliquidEvmTestnet.id:
143
+ return hyperliquidEvmTestnet;
138
144
 
139
145
  default:
140
146
  throw new Error(`Unsupported chainId: ${chainId}`);
package/src/version.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  // This file is autogenerated by inject-version.ts. Any changes will be
2
2
  // overwritten on commit!
3
- export const VERSION = "4.83.1";
3
+ export const VERSION = "4.84.0";