@swype-org/react-sdk 0.1.4 → 0.1.6

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.
package/dist/index.d.cts CHANGED
@@ -10,6 +10,7 @@ interface Provider {
10
10
  interface Chain {
11
11
  id: string;
12
12
  name: string;
13
+ commonId: number | null;
13
14
  }
14
15
  /** Token balance within a wallet source */
15
16
  interface TokenBalance {
@@ -94,6 +95,8 @@ interface TransferSignPayload {
94
95
  userOp: Record<string, unknown>;
95
96
  /** ERC-4337 UserOp hash — used as the WebAuthn challenge for on-chain verification. */
96
97
  userOpHash: string;
98
+ /** WebAuthn credential ID bound to the smart account validator. */
99
+ passkeyCredentialId: string;
97
100
  bridgeRelayAddress: string;
98
101
  tokenSymbol: string;
99
102
  chainName: string;
@@ -137,6 +140,15 @@ interface ActionExecutionResult {
137
140
  }
138
141
  /** Source type discriminator for transfer creation */
139
142
  type SourceType = 'providerId' | 'accountId' | 'walletId' | 'tokenId';
143
+ /** A chain+token option from the SELECT_SOURCE action metadata. */
144
+ interface SourceOption {
145
+ chainName: string;
146
+ chainId: string;
147
+ tokenSymbol: string;
148
+ tokenAddress: string;
149
+ decimals: number;
150
+ rawBalance: string;
151
+ }
140
152
  /** User's chain+token selection for the SELECT_SOURCE action. */
141
153
  interface SourceSelection {
142
154
  chainName: string;
@@ -157,11 +169,16 @@ interface ListResponse<T> {
157
169
  /** User configuration preferences */
158
170
  interface UserConfig {
159
171
  defaultAllowance?: number;
172
+ /** Registered WebAuthn passkey credential, or null if none registered */
173
+ passkey?: {
174
+ credentialId: string;
175
+ publicKey: string;
176
+ } | null;
160
177
  }
161
178
  /** Theme mode */
162
179
  type ThemeMode = 'light' | 'dark';
163
180
  /** Steps in the payment flow */
164
- type PaymentStep = 'login' | 'enter-amount' | 'ready' | 'processing' | 'complete';
181
+ type PaymentStep = 'login' | 'register-passkey' | 'enter-amount' | 'ready' | 'processing' | 'complete';
165
182
  /** User-selected advanced settings for chain/asset override */
166
183
  interface AdvancedSettings {
167
184
  /** Override asset (e.g. 'USDC', 'USDT'). Null = let backend decide. */
@@ -267,6 +284,19 @@ interface SwypePaymentProps {
267
284
  }
268
285
  declare function SwypePayment({ destination, onComplete, onError, }: SwypePaymentProps): react_jsx_runtime.JSX.Element | null;
269
286
 
287
+ type AccessTokenGetter = () => Promise<string | null | undefined>;
288
+ /**
289
+ * Creates a WebAuthn passkey credential.
290
+ * Used for upfront passkey registration before the authorization flow.
291
+ *
292
+ * @param userIdentifier - A string used to identify the user in the
293
+ * WebAuthn ceremony (e.g. wallet address or Privy user ID).
294
+ * @returns The base64-encoded credentialId and publicKey.
295
+ */
296
+ declare function createPasskeyCredential(userIdentifier: string): Promise<{
297
+ credentialId: string;
298
+ publicKey: string;
299
+ }>;
270
300
  interface UseTransferPollingResult {
271
301
  transfer: Transfer | null;
272
302
  error: string | null;
@@ -289,8 +319,14 @@ interface UseAuthorizationExecutorResult {
289
319
  pendingSelectSource: AuthorizationAction | null;
290
320
  /** Call this from the UI to provide the user's chain+token choice. */
291
321
  resolveSelectSource: (selection: SourceSelection) => void;
322
+ /** Execute authorization by session id. */
323
+ executeSessionById: (sessionId: string) => Promise<void>;
292
324
  executeSession: (transfer: Transfer) => Promise<void>;
293
325
  }
326
+ interface UseAuthorizationExecutorOptions {
327
+ /** Optional API base URL override when used outside SwypeProvider. */
328
+ apiBaseUrl?: string;
329
+ }
294
330
  /**
295
331
  * Executes the full authorization flow for a transfer's first session:
296
332
  * fetches the session, walks through PENDING actions, reports each
@@ -300,20 +336,43 @@ interface UseAuthorizationExecutorResult {
300
336
  * - OPEN_PROVIDER — connect the user's wallet
301
337
  * - SELECT_SOURCE — pause for user chain+token selection
302
338
  * - SWITCH_CHAIN — switch the wallet to the required chain
303
- * - REGISTER_PASSKEY — create a WebAuthn passkey credential
304
339
  * - CREATE_SMART_ACCOUNT — server-side smart account deployment
305
340
  * - APPROVE_PERMIT2 — ERC-20 approve(permit2, maxUint256) from EOA
306
341
  * - SIGN_PERMIT2 — EIP-712 Permit2 allowance signature from EOA
307
342
  *
308
343
  * Transfer signing (passkey) is handled separately via
309
344
  * `useTransferSigning()` after the authorization flow completes.
345
+ */
346
+ declare function useAuthorizationExecutor(options?: UseAuthorizationExecutorOptions): UseAuthorizationExecutorResult;
347
+ interface UseTransferSigningResult {
348
+ signing: boolean;
349
+ signPayload: TransferSignPayload | null;
350
+ error: string | null;
351
+ /**
352
+ * Starts the signing flow:
353
+ * 1. Polls GET /v1/transfers/{id} until signPayload is present
354
+ * 2. Triggers WebAuthn passkey prompt
355
+ * 3. Submits signed UserOp via PATCH /v1/transfers/{id}
356
+ */
357
+ signTransfer: (transferId: string) => Promise<Transfer>;
358
+ }
359
+ interface UseTransferSigningOptions {
360
+ /** Optional API base URL override when used outside SwypeProvider. */
361
+ apiBaseUrl?: string;
362
+ /** Optional access-token getter override (e.g. deeplink query token). */
363
+ getAccessToken?: AccessTokenGetter;
364
+ /** Optional authorization-session token for session-authenticated transfer signing. */
365
+ authorizationSessionToken?: string;
366
+ }
367
+ /**
368
+ * Post-authorization transfer signing hook.
310
369
  *
311
- * When a SELECT_SOURCE action is encountered, the executor pauses and
312
- * exposes the action via `pendingSelectSource`. The UI should display
313
- * a chain+token selector and call `resolveSelectSource()` with the
314
- * user's choice. The executor then resumes automatically.
370
+ * After the auth session completes and the transfer reaches AUTHORIZED,
371
+ * the backend prepares a signPayload containing the unsigned UserOp.
372
+ * This hook polls for it, prompts the user's passkey via WebAuthn, and
373
+ * submits the signed UserOp back to the API.
315
374
  */
316
- declare function useAuthorizationExecutor(): UseAuthorizationExecutorResult;
375
+ declare function useTransferSigning(pollIntervalMs?: number, options?: UseTransferSigningOptions): UseTransferSigningResult;
317
376
 
318
377
  declare function fetchProviders(apiBaseUrl: string, token: string): Promise<Provider[]>;
319
378
  declare function fetchChains(apiBaseUrl: string, token: string): Promise<Chain[]>;
@@ -326,13 +385,26 @@ interface CreateTransferParams {
326
385
  currency?: string;
327
386
  }
328
387
  declare function createTransfer(apiBaseUrl: string, token: string, params: CreateTransferParams): Promise<Transfer>;
329
- declare function fetchTransfer(apiBaseUrl: string, token: string, transferId: string): Promise<Transfer>;
388
+ declare function fetchTransfer(apiBaseUrl: string, token: string, transferId: string, authorizationSessionToken?: string): Promise<Transfer>;
330
389
  /**
331
390
  * Submit a passkey-signed UserOperation for a transfer.
332
391
  * PATCH /v1/transfers/{transferId}
333
392
  */
334
- declare function signTransfer(apiBaseUrl: string, token: string, transferId: string, signedUserOp: Record<string, unknown>): Promise<Transfer>;
393
+ declare function signTransfer(apiBaseUrl: string, token: string, transferId: string, signedUserOp: Record<string, unknown>, authorizationSessionToken?: string): Promise<Transfer>;
335
394
  declare function fetchAuthorizationSession(apiBaseUrl: string, sessionId: string): Promise<AuthorizationSessionDetail>;
395
+ /**
396
+ * Registers a WebAuthn passkey for the authenticated user.
397
+ * POST /v1/users/config/passkey
398
+ */
399
+ declare function registerPasskey(apiBaseUrl: string, token: string, credentialId: string, publicKey: string): Promise<void>;
400
+ /**
401
+ * Fetches the authenticated user's config, including passkey status.
402
+ * GET /v1/users/config
403
+ */
404
+ declare function fetchUserConfig(apiBaseUrl: string, token: string): Promise<{
405
+ id: string;
406
+ config: UserConfig;
407
+ }>;
336
408
  declare function updateUserConfig(apiBaseUrl: string, token: string, config: {
337
409
  defaultAllowance: number;
338
410
  }): Promise<void>;
@@ -355,12 +427,14 @@ declare const api_fetchAuthorizationSession: typeof fetchAuthorizationSession;
355
427
  declare const api_fetchChains: typeof fetchChains;
356
428
  declare const api_fetchProviders: typeof fetchProviders;
357
429
  declare const api_fetchTransfer: typeof fetchTransfer;
430
+ declare const api_fetchUserConfig: typeof fetchUserConfig;
431
+ declare const api_registerPasskey: typeof registerPasskey;
358
432
  declare const api_reportActionCompletion: typeof reportActionCompletion;
359
433
  declare const api_signTransfer: typeof signTransfer;
360
434
  declare const api_updateUserConfig: typeof updateUserConfig;
361
435
  declare const api_updateUserConfigBySession: typeof updateUserConfigBySession;
362
436
  declare namespace api {
363
- export { type api_CreateTransferParams as CreateTransferParams, api_createTransfer as createTransfer, api_fetchAccounts as fetchAccounts, api_fetchAuthorizationSession as fetchAuthorizationSession, api_fetchChains as fetchChains, api_fetchProviders as fetchProviders, api_fetchTransfer as fetchTransfer, api_reportActionCompletion as reportActionCompletion, api_signTransfer as signTransfer, api_updateUserConfig as updateUserConfig, api_updateUserConfigBySession as updateUserConfigBySession };
437
+ export { type api_CreateTransferParams as CreateTransferParams, api_createTransfer as createTransfer, api_fetchAccounts as fetchAccounts, api_fetchAuthorizationSession as fetchAuthorizationSession, api_fetchChains as fetchChains, api_fetchProviders as fetchProviders, api_fetchTransfer as fetchTransfer, api_fetchUserConfig as fetchUserConfig, api_registerPasskey as registerPasskey, api_reportActionCompletion as reportActionCompletion, api_signTransfer as signTransfer, api_updateUserConfig as updateUserConfig, api_updateUserConfigBySession as updateUserConfigBySession };
364
438
  }
365
439
 
366
- export { type Account, type ActionExecutionResult, type AdvancedSettings, type Amount, type AuthorizationAction, type AuthorizationSession, type AuthorizationSessionDetail, type Chain, type Destination, type ErrorResponse, type ListResponse, type PaymentStep, type Provider, type SourceType, SwypePayment, type SwypePaymentProps, SwypeProvider, type SwypeProviderProps, type ThemeMode, type ThemeTokens, type TokenBalance, type Transfer, type TransferDestination, type UserConfig, type Wallet, type WalletSource, type WalletToken, darkTheme, getTheme, lightTheme, api as swypeApi, useAuthorizationExecutor, useSwypeConfig, useSwypeDepositAmount, useTransferPolling };
440
+ export { type Account, type ActionExecutionResult, type AdvancedSettings, type Amount, type AuthorizationAction, type AuthorizationSession, type AuthorizationSessionDetail, type Chain, type Destination, type ErrorResponse, type ListResponse, type PaymentStep, type Provider, type SourceOption, type SourceSelection, type SourceType, SwypePayment, type SwypePaymentProps, SwypeProvider, type SwypeProviderProps, type ThemeMode, type ThemeTokens, type TokenBalance, type Transfer, type TransferDestination, type UserConfig, type Wallet, type WalletSource, type WalletToken, createPasskeyCredential, darkTheme, getTheme, lightTheme, api as swypeApi, useAuthorizationExecutor, useSwypeConfig, useSwypeDepositAmount, useTransferPolling, useTransferSigning };
package/dist/index.d.ts CHANGED
@@ -10,6 +10,7 @@ interface Provider {
10
10
  interface Chain {
11
11
  id: string;
12
12
  name: string;
13
+ commonId: number | null;
13
14
  }
14
15
  /** Token balance within a wallet source */
15
16
  interface TokenBalance {
@@ -94,6 +95,8 @@ interface TransferSignPayload {
94
95
  userOp: Record<string, unknown>;
95
96
  /** ERC-4337 UserOp hash — used as the WebAuthn challenge for on-chain verification. */
96
97
  userOpHash: string;
98
+ /** WebAuthn credential ID bound to the smart account validator. */
99
+ passkeyCredentialId: string;
97
100
  bridgeRelayAddress: string;
98
101
  tokenSymbol: string;
99
102
  chainName: string;
@@ -137,6 +140,15 @@ interface ActionExecutionResult {
137
140
  }
138
141
  /** Source type discriminator for transfer creation */
139
142
  type SourceType = 'providerId' | 'accountId' | 'walletId' | 'tokenId';
143
+ /** A chain+token option from the SELECT_SOURCE action metadata. */
144
+ interface SourceOption {
145
+ chainName: string;
146
+ chainId: string;
147
+ tokenSymbol: string;
148
+ tokenAddress: string;
149
+ decimals: number;
150
+ rawBalance: string;
151
+ }
140
152
  /** User's chain+token selection for the SELECT_SOURCE action. */
141
153
  interface SourceSelection {
142
154
  chainName: string;
@@ -157,11 +169,16 @@ interface ListResponse<T> {
157
169
  /** User configuration preferences */
158
170
  interface UserConfig {
159
171
  defaultAllowance?: number;
172
+ /** Registered WebAuthn passkey credential, or null if none registered */
173
+ passkey?: {
174
+ credentialId: string;
175
+ publicKey: string;
176
+ } | null;
160
177
  }
161
178
  /** Theme mode */
162
179
  type ThemeMode = 'light' | 'dark';
163
180
  /** Steps in the payment flow */
164
- type PaymentStep = 'login' | 'enter-amount' | 'ready' | 'processing' | 'complete';
181
+ type PaymentStep = 'login' | 'register-passkey' | 'enter-amount' | 'ready' | 'processing' | 'complete';
165
182
  /** User-selected advanced settings for chain/asset override */
166
183
  interface AdvancedSettings {
167
184
  /** Override asset (e.g. 'USDC', 'USDT'). Null = let backend decide. */
@@ -267,6 +284,19 @@ interface SwypePaymentProps {
267
284
  }
268
285
  declare function SwypePayment({ destination, onComplete, onError, }: SwypePaymentProps): react_jsx_runtime.JSX.Element | null;
269
286
 
287
+ type AccessTokenGetter = () => Promise<string | null | undefined>;
288
+ /**
289
+ * Creates a WebAuthn passkey credential.
290
+ * Used for upfront passkey registration before the authorization flow.
291
+ *
292
+ * @param userIdentifier - A string used to identify the user in the
293
+ * WebAuthn ceremony (e.g. wallet address or Privy user ID).
294
+ * @returns The base64-encoded credentialId and publicKey.
295
+ */
296
+ declare function createPasskeyCredential(userIdentifier: string): Promise<{
297
+ credentialId: string;
298
+ publicKey: string;
299
+ }>;
270
300
  interface UseTransferPollingResult {
271
301
  transfer: Transfer | null;
272
302
  error: string | null;
@@ -289,8 +319,14 @@ interface UseAuthorizationExecutorResult {
289
319
  pendingSelectSource: AuthorizationAction | null;
290
320
  /** Call this from the UI to provide the user's chain+token choice. */
291
321
  resolveSelectSource: (selection: SourceSelection) => void;
322
+ /** Execute authorization by session id. */
323
+ executeSessionById: (sessionId: string) => Promise<void>;
292
324
  executeSession: (transfer: Transfer) => Promise<void>;
293
325
  }
326
+ interface UseAuthorizationExecutorOptions {
327
+ /** Optional API base URL override when used outside SwypeProvider. */
328
+ apiBaseUrl?: string;
329
+ }
294
330
  /**
295
331
  * Executes the full authorization flow for a transfer's first session:
296
332
  * fetches the session, walks through PENDING actions, reports each
@@ -300,20 +336,43 @@ interface UseAuthorizationExecutorResult {
300
336
  * - OPEN_PROVIDER — connect the user's wallet
301
337
  * - SELECT_SOURCE — pause for user chain+token selection
302
338
  * - SWITCH_CHAIN — switch the wallet to the required chain
303
- * - REGISTER_PASSKEY — create a WebAuthn passkey credential
304
339
  * - CREATE_SMART_ACCOUNT — server-side smart account deployment
305
340
  * - APPROVE_PERMIT2 — ERC-20 approve(permit2, maxUint256) from EOA
306
341
  * - SIGN_PERMIT2 — EIP-712 Permit2 allowance signature from EOA
307
342
  *
308
343
  * Transfer signing (passkey) is handled separately via
309
344
  * `useTransferSigning()` after the authorization flow completes.
345
+ */
346
+ declare function useAuthorizationExecutor(options?: UseAuthorizationExecutorOptions): UseAuthorizationExecutorResult;
347
+ interface UseTransferSigningResult {
348
+ signing: boolean;
349
+ signPayload: TransferSignPayload | null;
350
+ error: string | null;
351
+ /**
352
+ * Starts the signing flow:
353
+ * 1. Polls GET /v1/transfers/{id} until signPayload is present
354
+ * 2. Triggers WebAuthn passkey prompt
355
+ * 3. Submits signed UserOp via PATCH /v1/transfers/{id}
356
+ */
357
+ signTransfer: (transferId: string) => Promise<Transfer>;
358
+ }
359
+ interface UseTransferSigningOptions {
360
+ /** Optional API base URL override when used outside SwypeProvider. */
361
+ apiBaseUrl?: string;
362
+ /** Optional access-token getter override (e.g. deeplink query token). */
363
+ getAccessToken?: AccessTokenGetter;
364
+ /** Optional authorization-session token for session-authenticated transfer signing. */
365
+ authorizationSessionToken?: string;
366
+ }
367
+ /**
368
+ * Post-authorization transfer signing hook.
310
369
  *
311
- * When a SELECT_SOURCE action is encountered, the executor pauses and
312
- * exposes the action via `pendingSelectSource`. The UI should display
313
- * a chain+token selector and call `resolveSelectSource()` with the
314
- * user's choice. The executor then resumes automatically.
370
+ * After the auth session completes and the transfer reaches AUTHORIZED,
371
+ * the backend prepares a signPayload containing the unsigned UserOp.
372
+ * This hook polls for it, prompts the user's passkey via WebAuthn, and
373
+ * submits the signed UserOp back to the API.
315
374
  */
316
- declare function useAuthorizationExecutor(): UseAuthorizationExecutorResult;
375
+ declare function useTransferSigning(pollIntervalMs?: number, options?: UseTransferSigningOptions): UseTransferSigningResult;
317
376
 
318
377
  declare function fetchProviders(apiBaseUrl: string, token: string): Promise<Provider[]>;
319
378
  declare function fetchChains(apiBaseUrl: string, token: string): Promise<Chain[]>;
@@ -326,13 +385,26 @@ interface CreateTransferParams {
326
385
  currency?: string;
327
386
  }
328
387
  declare function createTransfer(apiBaseUrl: string, token: string, params: CreateTransferParams): Promise<Transfer>;
329
- declare function fetchTransfer(apiBaseUrl: string, token: string, transferId: string): Promise<Transfer>;
388
+ declare function fetchTransfer(apiBaseUrl: string, token: string, transferId: string, authorizationSessionToken?: string): Promise<Transfer>;
330
389
  /**
331
390
  * Submit a passkey-signed UserOperation for a transfer.
332
391
  * PATCH /v1/transfers/{transferId}
333
392
  */
334
- declare function signTransfer(apiBaseUrl: string, token: string, transferId: string, signedUserOp: Record<string, unknown>): Promise<Transfer>;
393
+ declare function signTransfer(apiBaseUrl: string, token: string, transferId: string, signedUserOp: Record<string, unknown>, authorizationSessionToken?: string): Promise<Transfer>;
335
394
  declare function fetchAuthorizationSession(apiBaseUrl: string, sessionId: string): Promise<AuthorizationSessionDetail>;
395
+ /**
396
+ * Registers a WebAuthn passkey for the authenticated user.
397
+ * POST /v1/users/config/passkey
398
+ */
399
+ declare function registerPasskey(apiBaseUrl: string, token: string, credentialId: string, publicKey: string): Promise<void>;
400
+ /**
401
+ * Fetches the authenticated user's config, including passkey status.
402
+ * GET /v1/users/config
403
+ */
404
+ declare function fetchUserConfig(apiBaseUrl: string, token: string): Promise<{
405
+ id: string;
406
+ config: UserConfig;
407
+ }>;
336
408
  declare function updateUserConfig(apiBaseUrl: string, token: string, config: {
337
409
  defaultAllowance: number;
338
410
  }): Promise<void>;
@@ -355,12 +427,14 @@ declare const api_fetchAuthorizationSession: typeof fetchAuthorizationSession;
355
427
  declare const api_fetchChains: typeof fetchChains;
356
428
  declare const api_fetchProviders: typeof fetchProviders;
357
429
  declare const api_fetchTransfer: typeof fetchTransfer;
430
+ declare const api_fetchUserConfig: typeof fetchUserConfig;
431
+ declare const api_registerPasskey: typeof registerPasskey;
358
432
  declare const api_reportActionCompletion: typeof reportActionCompletion;
359
433
  declare const api_signTransfer: typeof signTransfer;
360
434
  declare const api_updateUserConfig: typeof updateUserConfig;
361
435
  declare const api_updateUserConfigBySession: typeof updateUserConfigBySession;
362
436
  declare namespace api {
363
- export { type api_CreateTransferParams as CreateTransferParams, api_createTransfer as createTransfer, api_fetchAccounts as fetchAccounts, api_fetchAuthorizationSession as fetchAuthorizationSession, api_fetchChains as fetchChains, api_fetchProviders as fetchProviders, api_fetchTransfer as fetchTransfer, api_reportActionCompletion as reportActionCompletion, api_signTransfer as signTransfer, api_updateUserConfig as updateUserConfig, api_updateUserConfigBySession as updateUserConfigBySession };
437
+ export { type api_CreateTransferParams as CreateTransferParams, api_createTransfer as createTransfer, api_fetchAccounts as fetchAccounts, api_fetchAuthorizationSession as fetchAuthorizationSession, api_fetchChains as fetchChains, api_fetchProviders as fetchProviders, api_fetchTransfer as fetchTransfer, api_fetchUserConfig as fetchUserConfig, api_registerPasskey as registerPasskey, api_reportActionCompletion as reportActionCompletion, api_signTransfer as signTransfer, api_updateUserConfig as updateUserConfig, api_updateUserConfigBySession as updateUserConfigBySession };
364
438
  }
365
439
 
366
- export { type Account, type ActionExecutionResult, type AdvancedSettings, type Amount, type AuthorizationAction, type AuthorizationSession, type AuthorizationSessionDetail, type Chain, type Destination, type ErrorResponse, type ListResponse, type PaymentStep, type Provider, type SourceType, SwypePayment, type SwypePaymentProps, SwypeProvider, type SwypeProviderProps, type ThemeMode, type ThemeTokens, type TokenBalance, type Transfer, type TransferDestination, type UserConfig, type Wallet, type WalletSource, type WalletToken, darkTheme, getTheme, lightTheme, api as swypeApi, useAuthorizationExecutor, useSwypeConfig, useSwypeDepositAmount, useTransferPolling };
440
+ export { type Account, type ActionExecutionResult, type AdvancedSettings, type Amount, type AuthorizationAction, type AuthorizationSession, type AuthorizationSessionDetail, type Chain, type Destination, type ErrorResponse, type ListResponse, type PaymentStep, type Provider, type SourceOption, type SourceSelection, type SourceType, SwypePayment, type SwypePaymentProps, SwypeProvider, type SwypeProviderProps, type ThemeMode, type ThemeTokens, type TokenBalance, type Transfer, type TransferDestination, type UserConfig, type Wallet, type WalletSource, type WalletToken, createPasskeyCredential, darkTheme, getTheme, lightTheme, api as swypeApi, useAuthorizationExecutor, useSwypeConfig, useSwypeDepositAmount, useTransferPolling, useTransferSigning };