@rhinestone/1auth 0.6.8 → 0.6.9

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.
Files changed (49) hide show
  1. package/README.md +171 -12
  2. package/dist/chunk-IHBVEU33.mjs +20 -0
  3. package/dist/chunk-IHBVEU33.mjs.map +1 -0
  4. package/dist/chunk-IIACVHR3.mjs +28 -0
  5. package/dist/chunk-IIACVHR3.mjs.map +1 -0
  6. package/dist/chunk-N6KE5CII.mjs +72 -0
  7. package/dist/chunk-N6KE5CII.mjs.map +1 -0
  8. package/dist/{chunk-SXISYG2P.mjs → chunk-VZYHCFEH.mjs} +195 -140
  9. package/dist/chunk-VZYHCFEH.mjs.map +1 -0
  10. package/dist/{client-BrMrhetG.d.mts → client-BNluVe4_.d.ts} +305 -849
  11. package/dist/{client-BrMrhetG.d.ts → client-CLCdahyj.d.mts} +305 -849
  12. package/dist/headless.d.mts +90 -0
  13. package/dist/headless.d.ts +90 -0
  14. package/dist/headless.js +327 -0
  15. package/dist/headless.js.map +1 -0
  16. package/dist/headless.mjs +280 -0
  17. package/dist/headless.mjs.map +1 -0
  18. package/dist/index.d.mts +96 -144
  19. package/dist/index.d.ts +96 -144
  20. package/dist/index.js +2984 -718
  21. package/dist/index.js.map +1 -1
  22. package/dist/index.mjs +2740 -627
  23. package/dist/index.mjs.map +1 -1
  24. package/dist/{provider-CDl9wYEc.d.mts → provider-BgD9PeDX.d.ts} +6 -5
  25. package/dist/{provider-Dgv533YQ.d.ts → provider-hxHGb6SX.d.mts} +6 -5
  26. package/dist/react.d.mts +42 -2
  27. package/dist/react.d.ts +42 -2
  28. package/dist/react.js +92 -2
  29. package/dist/react.js.map +1 -1
  30. package/dist/react.mjs +66 -1
  31. package/dist/react.mjs.map +1 -1
  32. package/dist/server.d.mts +118 -0
  33. package/dist/server.d.ts +118 -0
  34. package/dist/server.js +356 -0
  35. package/dist/server.js.map +1 -0
  36. package/dist/server.mjs +282 -0
  37. package/dist/server.mjs.map +1 -0
  38. package/dist/types-1BMD1PSH.d.mts +1425 -0
  39. package/dist/types-1BMD1PSH.d.ts +1425 -0
  40. package/dist/verify-CZe-m_Vf.d.ts +150 -0
  41. package/dist/verify-D3FaLeAi.d.mts +150 -0
  42. package/dist/wagmi.d.mts +5 -2
  43. package/dist/wagmi.d.ts +5 -2
  44. package/dist/wagmi.js +138 -43
  45. package/dist/wagmi.js.map +1 -1
  46. package/dist/wagmi.mjs +2 -1
  47. package/dist/wagmi.mjs.map +1 -1
  48. package/package.json +15 -2
  49. package/dist/chunk-SXISYG2P.mjs.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,10 +1,71 @@
1
- import { O as OneAuthClient, W as WebAuthnSignature, I as IntentCall, S as SendIntentResult } from './client-BrMrhetG.js';
2
- export { A as AuthResult, i as AuthenticateOptions, j as AuthenticateResult, B as BalanceRequirement, _ as BatchIntentItem, a1 as BatchIntentItemResult, V as CheckConsentOptions, X as CheckConsentResult, z as CloseOnStatus, h as ConnectResult, R as ConsentData, Q as ConsentField, C as CreateSigningRequestResponse, p as EIP712Domain, r as EIP712TypeField, q as EIP712Types, E as EmbedOptions, F as ExecuteIntentResponse, H as IntentHistoryItem, G as IntentHistoryOptions, J as IntentHistoryResult, w as IntentQuote, x as IntentStatus, u as IntentTokenRequest, y as OrchestratorStatus, g as PasskeyCredential, P as PasskeyProviderConfig, a3 as PrepareBatchIntentResponse, D as PrepareIntentResponse, a2 as PreparedBatchIntent, Y as RequestConsentOptions, Z as RequestConsentResult, $ as SendBatchIntentOptions, a0 as SendBatchIntentResult, v as SendIntentOptions, K as SendSwapOptions, L as SendSwapResult, l as SignMessageOptions, m as SignMessageResult, n as SignTypedDataOptions, o as SignTypedDataResult, d as SigningError, e as SigningErrorCode, a as SigningRequestOptions, f as SigningRequestStatus, b as SigningResult, k as SigningResultBase, c as SigningSuccess, M as SwapQuote, N as ThemeConfig, T as TransactionAction, t as TransactionDetails, s as TransactionFees, U as UserPasskeysResponse } from './client-BrMrhetG.js';
3
- export { O as OneAuthProvider, a as OneAuthProviderOptions, c as createOneAuthProvider } from './provider-Dgv533YQ.js';
4
- import { Address, LocalAccount, Chain, Transport, Hex, WalletClient, Hash } from 'viem';
1
+ import { O as OneAuthClient } from './client-BNluVe4_.js';
2
+ import { Abi, Address, LocalAccount, WalletClient, Hash, Chain } from 'viem';
3
+ import { Permission } from '@rhinestone/sdk';
4
+ export { Permission } from '@rhinestone/sdk';
5
+ import { h as IntentCall, i as SendIntentResult } from './types-1BMD1PSH.js';
6
+ export { a7 as AssetBalance, a8 as AssetBalanceBucket, a9 as AssetsResponse, u as AuthFlow, A as AuthResult, v as AuthWithModalOptions, z as AuthenticateOptions, B as AuthenticateResult, R as BalanceRequirement, ap as BatchIntentItem, as as BatchIntentItemResult, ad as CheckConsentOptions, ae as CheckConsentResult, a0 as CloseOnStatus, y as ConnectResult, ac as ConsentData, ab as ConsentField, w as CreateAccountWithModalOptions, C as CreateCrossChainPermissionInput, r as CreateSigningRequestResponse, k as CrossChainPermit, l as CrossChainSettlementLayer, M as EIP712Domain, O as EIP712TypeField, N as EIP712Types, E as EmbedOptions, a2 as ExecuteIntentResponse, a6 as GetAssetsOptions, an as GrantPermissionContractMetadata, ah as GrantPermissionsOptions, ai as GrantPermissionsResult, a4 as IntentHistoryItem, a3 as IntentHistoryOptions, a5 as IntentHistoryResult, Z as IntentQuote, _ as IntentStatus, X as IntentTokenRequest, aj as ListSessionGrantsOptions, ak as ListSessionGrantsResult, L as LoginWithModalOptions, ax as OneAuthTelemetryAttributeValue, ay as OneAuthTelemetryAttributes, az as OneAuthTelemetryConfig, aA as OneAuthTelemetryEvent, aB as OneAuthTelemetryEventName, aC as OneAuthTelemetryFlow, aD as OneAuthTelemetryTraceContext, $ as OrchestratorStatus, t as PasskeyCredential, P as PasskeyProviderConfig, au as PrepareBatchIntentResponse, a1 as PrepareIntentResponse, at as PreparedBatchIntent, af as RequestConsentOptions, ag as RequestConsentResult, aq as SendBatchIntentOptions, ar as SendBatchIntentResult, Y as SendIntentOptions, am as SessionGrantChain, al as SessionGrantRecord, F as SignMessageOptions, G as SignMessageResult, J as SignTypedDataOptions, K as SignTypedDataResult, x as SignerType, p as SigningError, q as SigningErrorCode, m as SigningRequestOptions, s as SigningRequestStatus, n as SigningResult, D as SigningResultBase, o as SigningSuccess, ao as SmartSessionPolicy, av as SponsorshipCallbackConfig, S as SponsorshipConfig, aw as SponsorshipUrlConfig, aa as ThemeConfig, T as TransactionAction, V as TransactionDetails, Q as TransactionFees, U as UserPasskeysResponse, W as WebAuthnSignature, j as createCrossChainPermission } from './types-1BMD1PSH.js';
7
+ export { O as OneAuthProvider, a as OneAuthProviderOptions, c as createOneAuthProvider } from './provider-BgD9PeDX.js';
8
+ import { P as PasskeyWalletClientConfig, S as SendCallsParams } from './verify-CZe-m_Vf.js';
9
+ export { E as ETHEREUM_MESSAGE_PREFIX, T as TransactionCall, e as encodeWebAuthnSignature, h as hashCalls, a as hashMessage, v as verifyMessageHash } from './verify-CZe-m_Vf.js';
5
10
  import * as react_jsx_runtime from 'react/jsx-runtime';
6
11
  import * as React from 'react';
7
- export { getTokenAddress, getTokenDecimals } from '@rhinestone/sdk';
12
+
13
+ type DefinePermissionsConfig<TAbi extends Abi> = Permission<TAbi> & {
14
+ /** Optional human-readable name surfaced in the review UI. */
15
+ name?: string;
16
+ };
17
+ interface DefinedPermissions<TAbi extends Abi = Abi> {
18
+ /**
19
+ * v2 SmartSession permissions, ready to pass to
20
+ * `OneAuthClient.grantPermissions({ ...definePermissions(...) })`.
21
+ *
22
+ * Always a single-element array so the `...spread` pattern works cleanly
23
+ * with `grantPermissions`, which accepts `permissions: Permission[]`.
24
+ *
25
+ * Widened to `Permission<Abi>` (rather than `Permission<TAbi>`) so the
26
+ * spread composes with `GrantPermissionsOptions.permissions: Permission<Abi>[]`.
27
+ * The SDK's v2 `Permission<TAbi>` includes conditional `SpendingLimitField<TFn>` /
28
+ * `ValueLimitField<TFn>` types that break covariance over `TAbi`, so an inferred
29
+ * narrow `Permission<erc20Abi>` is no longer assignable to `Permission<Abi>`.
30
+ * We keep `TAbi` on the type parameter so `contracts[].abi` retains its
31
+ * narrow shape for the review UI.
32
+ */
33
+ permissions: [Permission<Abi>];
34
+ /**
35
+ * Contract metadata for the permission review UI. The address and ABI
36
+ * here mirror the entry in `permissions[0]`; `name` is optional and
37
+ * purely cosmetic (it's never sent to a contract).
38
+ */
39
+ contracts: Array<{
40
+ address: Address;
41
+ name?: string;
42
+ abi: TAbi;
43
+ }>;
44
+ }
45
+ /**
46
+ * Build a v2 SmartSession `Permission` from an ABI + function map.
47
+ *
48
+ * The Rhinestone SDK derives function selectors and universal-action
49
+ * calldata offsets from the ABI internally, so app code no longer needs
50
+ * to spell out raw 4-byte selectors or parameter indices. The accepted
51
+ * shape is the SDK's own `Permission<TAbi>` plus an optional `name` for
52
+ * the review UI.
53
+ *
54
+ * @example
55
+ * const permissions = definePermissions({
56
+ * address: USDC,
57
+ * abi: erc20Abi,
58
+ * name: "USDC",
59
+ * functions: {
60
+ * transfer: {
61
+ * params: { to: { condition: "equal", value: RECIPIENT } },
62
+ * },
63
+ * },
64
+ * });
65
+ *
66
+ * await oneAuth.grantPermissions({ ...permissions, sessionKeyAddress });
67
+ */
68
+ declare function definePermissions<const TAbi extends Abi>(config: DefinePermissionsConfig<TAbi>): DefinedPermissions<TAbi>;
8
69
 
9
70
  /**
10
71
  * viem LocalAccount adapter for 1auth passkey-controlled smart accounts.
@@ -18,7 +79,10 @@ export { getTokenAddress, getTokenDecimals } from '@rhinestone/sdk';
18
79
  */
19
80
 
20
81
  type PasskeyAccount = LocalAccount<"1auth"> & {
21
- username: string;
82
+ /** Optional username hint retained for legacy integrations. */
83
+ username?: string;
84
+ /** Smart account address used as the canonical signer identity. */
85
+ accountAddress: Address;
22
86
  };
23
87
  /**
24
88
  * Creates a viem `LocalAccount` that delegates signing to the 1auth passkey service.
@@ -34,9 +98,8 @@ type PasskeyAccount = LocalAccount<"1auth"> & {
34
98
  *
35
99
  * @param client - A configured `OneAuthClient` instance
36
100
  * @param params.address - The EVM address of the user's smart account
37
- * @param params.username - The 1auth username associated with the account; included
38
- * in signing requests so the passkey service can look up the correct credential
39
- * @returns A `PasskeyAccount` extending `LocalAccount<"1auth">` with a `username` field
101
+ * @param params.username - Optional 1auth username hint for older accounts
102
+ * @returns A `PasskeyAccount` extending `LocalAccount<"1auth">`
40
103
  *
41
104
  * @example
42
105
  * ```typescript
@@ -47,7 +110,6 @@ type PasskeyAccount = LocalAccount<"1auth"> & {
47
110
  * const client = new OneAuthClient({ clientId: "my-app" });
48
111
  * const account = createPasskeyAccount(client, {
49
112
  * address: "0xYourSmartAccountAddress",
50
- * username: "alice",
51
113
  * });
52
114
  *
53
115
  * const walletClient = createWalletClient({
@@ -61,82 +123,8 @@ type PasskeyAccount = LocalAccount<"1auth"> & {
61
123
  */
62
124
  declare function createPasskeyAccount(client: OneAuthClient, params: {
63
125
  address: Address;
64
- username: string;
65
- }): PasskeyAccount;
66
-
67
- /**
68
- * Configuration for creating a passkey-enabled WalletClient
69
- */
70
- interface PasskeyWalletClientConfig {
71
- /** User's smart account address */
72
- accountAddress: Address;
73
- /** Username for the passkey provider (defaults to accountAddress) */
74
126
  username?: string;
75
- /** Base URL of the auth API (defaults to https://passkey.1auth.box) */
76
- providerUrl?: string;
77
- /** Client identifier for this application */
78
- clientId: string;
79
- /** Optional URL of the dialog UI */
80
- dialogUrl?: string;
81
- /** Chain configuration */
82
- chain: Chain;
83
- /** Transport (e.g., http(), webSocket()) */
84
- transport: Transport;
85
- /** Wait for a transaction hash before resolving send calls. */
86
- waitForHash?: boolean;
87
- /** Maximum time to wait for a transaction hash in ms. */
88
- hashTimeoutMs?: number;
89
- /** Poll interval for transaction hash in ms. */
90
- hashIntervalMs?: number;
91
- }
92
- /**
93
- * A single call in a batch transaction
94
- */
95
- interface TransactionCall {
96
- /** Target contract address */
97
- to: Address;
98
- /** Calldata to send */
99
- data?: Hex;
100
- /** Value in wei to send */
101
- value?: bigint;
102
- /** Optional label for the transaction review UI (e.g., "Swap ETH for USDC") */
103
- label?: string;
104
- /** Optional sublabel for additional context (e.g., "1 ETH → 2,500 USDC") */
105
- sublabel?: string;
106
- }
107
- /**
108
- * Parameters for sendCalls (batched transactions)
109
- */
110
- interface SendCallsParams {
111
- /** Array of calls to execute */
112
- calls: TransactionCall[];
113
- /** Optional chain id override */
114
- chainId?: number;
115
- /** Optional token requests for orchestrator output (what tokens/amounts to deliver) */
116
- tokenRequests?: {
117
- token: string;
118
- amount: bigint;
119
- }[];
120
- /** Constrain which tokens the orchestrator can use as input/payment */
121
- sourceAssets?: string[];
122
- /** Which chain to look for source assets on */
123
- sourceChainId?: number;
124
- }
125
-
126
- /**
127
- * Encode a WebAuthn signature for ERC-1271 verification on-chain
128
- *
129
- * @param sig - The WebAuthn signature from the passkey
130
- * @returns ABI-encoded signature bytes
131
- */
132
- declare function encodeWebAuthnSignature(sig: WebAuthnSignature): Hex;
133
- /**
134
- * Hash an array of transaction calls for signing
135
- *
136
- * @param calls - Array of transaction calls
137
- * @returns keccak256 hash of the encoded calls
138
- */
139
- declare function hashCalls(calls: TransactionCall[]): Hex;
127
+ }): PasskeyAccount;
140
128
 
141
129
  /**
142
130
  * @file viem WalletClient factory backed by passkey signing.
@@ -196,6 +184,13 @@ type PasskeyWalletClient = WalletClient & {
196
184
  */
197
185
  declare function createPasskeyWalletClient(config: PasskeyWalletClientConfig): PasskeyWalletClient;
198
186
 
187
+ /** Identity used to sign a queued batch. Account address is the canonical path. */
188
+ interface BatchQueueIdentity {
189
+ /** Optional username hint for legacy accounts. */
190
+ username?: string;
191
+ /** Smart account address of the signer. */
192
+ accountAddress?: string;
193
+ }
199
194
  /**
200
195
  * A batched call in the queue
201
196
  */
@@ -228,7 +223,7 @@ interface BatchQueueContextValue {
228
223
  /** Clear all calls from the batch */
229
224
  clearBatch: () => void;
230
225
  /** Sign and execute all batched calls */
231
- signAll: (username: string) => Promise<SendIntentResult>;
226
+ signAll: (identity?: string | BatchQueueIdentity) => Promise<SendIntentResult>;
232
227
  /** Whether the widget is expanded */
233
228
  isExpanded: boolean;
234
229
  /** Set widget expanded state */
@@ -245,15 +240,17 @@ declare function useBatchQueue(): BatchQueueContextValue;
245
240
  interface BatchQueueProviderProps {
246
241
  /** The OneAuthClient instance */
247
242
  client: OneAuthClient;
248
- /** Optional username for localStorage persistence key */
243
+ /** Optional username for legacy localStorage persistence and account lookup. */
249
244
  username?: string;
245
+ /** Optional account address for address-only sessions and persistence. */
246
+ accountAddress?: string;
250
247
  /** Children to render */
251
248
  children: React.ReactNode;
252
249
  }
253
250
  /**
254
251
  * Provider component for the batch queue
255
252
  */
256
- declare function BatchQueueProvider({ client, username, children, }: BatchQueueProviderProps): react_jsx_runtime.JSX.Element;
253
+ declare function BatchQueueProvider({ client, username, accountAddress, children, }: BatchQueueProviderProps): react_jsx_runtime.JSX.Element;
257
254
 
258
255
  /**
259
256
  * @file Floating UI widget for the 1auth batch transaction queue.
@@ -268,7 +265,7 @@ declare function BatchQueueProvider({ client, username, children, }: BatchQueueP
268
265
  * consumer's bundler.
269
266
  */
270
267
  interface BatchQueueWidgetProps {
271
- /** Callback when "Sign All" is clicked - should provide username */
268
+ /** Callback when "Sign All" is clicked. */
272
269
  onSignAll: () => void;
273
270
  }
274
271
  /**
@@ -287,18 +284,19 @@ interface BatchQueueWidgetProps {
287
284
  * Must be rendered inside a `BatchQueueProvider`.
288
285
  *
289
286
  * @param props.onSignAll - Called when the user clicks "Sign All". The
290
- * implementor is responsible for resolving the username and passing it to
291
- * `useBatchQueue().signAll(username)`.
287
+ * implementor is responsible for resolving the account identity and passing
288
+ * it to `useBatchQueue().signAll({ accountAddress, username })`.
292
289
  */
293
290
  declare function BatchQueueWidget({ onSignAll }: BatchQueueWidgetProps): react_jsx_runtime.JSX.Element | null;
294
291
 
295
292
  /**
296
293
  * @file Chain and token registry for the 1auth SDK.
297
294
  *
298
- * Wraps `@rhinestone/sdk` chain/token data and combines it with viem's chain
299
- * definitions to expose a filtered, testnet-aware registry. Consumers can
300
- * look up supported chains and tokens, resolve token addresses by symbol, and
301
- * retrieve chain metadata such as explorer URLs and default RPC endpoints.
295
+ * Wraps `@rhinestone/shared-configs` chain/token data and combines it with
296
+ * viem's chain definitions to expose a filtered, testnet-aware registry.
297
+ * Consumers can look up supported chains and tokens, resolve token addresses
298
+ * by symbol, and retrieve chain metadata such as explorer URLs and default RPC
299
+ * endpoints.
302
300
  *
303
301
  * Testnet inclusion is controlled by the `includeTestnets` option on each
304
302
  * function or, as a project-wide default, by the environment variables
@@ -309,8 +307,6 @@ type TokenConfig = {
309
307
  symbol: string;
310
308
  address: Address;
311
309
  decimals: number;
312
- supportsMultichain?: boolean;
313
- [key: string]: unknown;
314
310
  };
315
311
  type ChainFilterOptions = {
316
312
  includeTestnets?: boolean;
@@ -327,55 +323,11 @@ declare function getChainExplorerUrl(chainId: number): string | undefined;
327
323
  declare function getChainRpcUrl(chainId: number): string | undefined;
328
324
  declare function getSupportedTokens(chainId: number): TokenConfig[];
329
325
  declare function getSupportedTokenSymbols(chainId: number): string[];
326
+ declare function getTokenAddress(symbolOrAddress: string, chainId: number): Address;
327
+ declare function getTokenDecimals(symbolOrAddress: string, chainId: number): number;
330
328
  declare function resolveTokenAddress(token: string, chainId: number): Address;
331
329
  declare function isTestnet(chainId: number): boolean;
332
330
  declare function getTokenSymbol(tokenAddress: Address, chainId: number): string;
333
331
  declare function isTokenAddressSupported(tokenAddress: Address, chainId: number): boolean;
334
332
 
335
- /**
336
- * The EIP-191 prefix used for personal message signing.
337
- * This is the standard Ethereum message prefix for `personal_sign`.
338
- */
339
- declare const ETHEREUM_MESSAGE_PREFIX = "\u0019Ethereum Signed Message:\n";
340
- /**
341
- * Hash a message with the EIP-191 Ethereum prefix.
342
- *
343
- * This is the same hashing function used by the passkey sign dialog.
344
- * Use this to verify that the `signedHash` returned from `signMessage()`
345
- * matches your original message.
346
- *
347
- * Format: keccak256("\x19Ethereum Signed Message:\n" + len + message)
348
- *
349
- * @example
350
- * ```typescript
351
- * const message = "Sign in to MyApp\nTimestamp: 1234567890";
352
- * const result = await client.signMessage({ username: 'alice', message });
353
- *
354
- * // Verify the hash matches
355
- * const expectedHash = hashMessage(message);
356
- * if (result.signedHash === expectedHash) {
357
- * console.log('Hash matches - signature is for this message');
358
- * }
359
- * ```
360
- */
361
- declare function hashMessage(message: string): `0x${string}`;
362
- /**
363
- * Verify that a signedHash matches the expected message.
364
- *
365
- * This is a convenience wrapper around `hashMessage()` that returns
366
- * a boolean. For full cryptographic verification of the P256 signature,
367
- * use on-chain verification via the WebAuthn.sol contract.
368
- *
369
- * @example
370
- * ```typescript
371
- * const result = await client.signMessage({ username: 'alice', message });
372
- *
373
- * if (result.success && verifyMessageHash(message, result.signedHash)) {
374
- * // The signature is for this exact message
375
- * // For full verification, verify the P256 signature on-chain or server-side
376
- * }
377
- * ```
378
- */
379
- declare function verifyMessageHash(message: string, signedHash: string | undefined): boolean;
380
-
381
- export { type BatchQueueContextValue, BatchQueueProvider, type BatchQueueProviderProps, BatchQueueWidget, type BatchQueueWidgetProps, type BatchedCall, type ChainFilterOptions, ETHEREUM_MESSAGE_PREFIX, IntentCall, OneAuthClient, type PasskeyAccount, type PasskeyWalletClient, type PasskeyWalletClientConfig, type SendCallsParams, SendIntentResult, type TokenConfig, type TransactionCall, WebAuthnSignature, createPasskeyAccount, createPasskeyWalletClient, encodeWebAuthnSignature, getAllSupportedChainsAndTokens, getChainById, getChainExplorerUrl, getChainName, getChainRpcUrl, getSupportedChainIds, getSupportedChains, getSupportedTokenSymbols, getSupportedTokens, getTokenSymbol, hashCalls, hashMessage, isTestnet, isTokenAddressSupported, resolveTokenAddress, useBatchQueue, verifyMessageHash };
333
+ export { type BatchQueueContextValue, type BatchQueueIdentity, BatchQueueProvider, type BatchQueueProviderProps, BatchQueueWidget, type BatchQueueWidgetProps, type BatchedCall, type ChainFilterOptions, type DefinePermissionsConfig, type DefinedPermissions, IntentCall, OneAuthClient, type PasskeyAccount, type PasskeyWalletClient, PasskeyWalletClientConfig, SendCallsParams, SendIntentResult, type TokenConfig, createPasskeyAccount, createPasskeyWalletClient, definePermissions, getAllSupportedChainsAndTokens, getChainById, getChainExplorerUrl, getChainName, getChainRpcUrl, getSupportedChainIds, getSupportedChains, getSupportedTokenSymbols, getSupportedTokens, getTokenAddress, getTokenDecimals, getTokenSymbol, isTestnet, isTokenAddressSupported, resolveTokenAddress, useBatchQueue };