@unifold/ui-react 0.1.62 → 0.1.64

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.mts CHANGED
@@ -27,6 +27,15 @@ interface UseDepositPollingOptions {
27
27
  depositConfirmationMode?: DepositConfirmationMode;
28
28
  /** Deposit wallet ID used to trigger the backend poll endpoint */
29
29
  depositWalletId?: string;
30
+ /**
31
+ * Multiple deposit wallet IDs to nudge `/poll` for. Used when the deposit chain
32
+ * isn't known up front (e.g. the mobile redirect flow, where the user may
33
+ * deposit on any supported chain) — we iterate the wallets from
34
+ * `/deposit_addresses` and poll each. Detection itself is via the single
35
+ * `/query` by `external_user_id` (which already spans all chains). Takes
36
+ * precedence over `depositWalletId` when non-empty.
37
+ */
38
+ depositWalletIds?: string[];
30
39
  enabled?: boolean;
31
40
  onDepositSuccess?: (data: {
32
41
  message: string;
@@ -55,7 +64,7 @@ interface UseDepositPollingResult {
55
64
  /** Call this when user clicks "I've made the deposit" (manual mode) */
56
65
  handleIveDeposited: () => void;
57
66
  }
58
- declare function useDepositPolling({ userId, publishableKey, clientSecret, depositConfirmationMode, depositWalletId, enabled, immediateDirectPolling, onDepositSuccess, onDepositError, }: UseDepositPollingOptions): UseDepositPollingResult;
67
+ declare function useDepositPolling({ userId, publishableKey, clientSecret, depositConfirmationMode, depositWalletId, depositWalletIds, enabled, immediateDirectPolling, onDepositSuccess, onDepositError, }: UseDepositPollingOptions): UseDepositPollingResult;
59
68
 
60
69
  declare global {
61
70
  interface Window {
@@ -160,9 +169,9 @@ interface DepositModalProps {
160
169
  */
161
170
  contractCalls?: EvmContractCall[];
162
171
  /**
163
- * Pre-select source token/chain in the Transfer Crypto view.
172
+ * Prefer a source token/chain in Transfer Crypto, Wallet Connect, and Connect Exchange flows.
164
173
  * All four props are optional. To match, provide `chainType` + `chainId` + (`symbol` OR `tokenAddress`).
165
- * If omitted or no match is found in `/supported_deposit_tokens`, the first available token and chain are used.
174
+ * If omitted or no match is found in `/supported_deposit_tokens`, each flow uses its normal ordering.
166
175
  */
167
176
  defaultSourceChainType?: ChainType;
168
177
  /** Source chain ID (e.g. `"mainnet"`, `"137"`). Must be paired with `defaultSourceChainType` + symbol or token address. */
@@ -171,6 +180,7 @@ interface DepositModalProps {
171
180
  defaultSourceTokenAddress?: string;
172
181
  /** Source token symbol (e.g. `"USDC"`). Must be paired with `defaultSourceChainType` + `defaultSourceChainId`. */
173
182
  defaultSourceSymbol?: string;
183
+ /** Hide the "Deposit Tracker" option. Overrides dashboard default. Resolves as flag ?? dashboard value ?? false (shown). */
174
184
  hideDepositTracker?: boolean;
175
185
  /** Show balance in deposit modal header. Defaults to false */
176
186
  showBalanceHeader?: boolean;
@@ -182,20 +192,22 @@ interface DepositModalProps {
182
192
  * - "manual": User must click "I've made the deposit" to start polling
183
193
  */
184
194
  depositConfirmationMode?: DepositConfirmationMode;
185
- /** Enable browser wallet connection option. Defaults to false */
195
+ /** Enable "Transfer Crypto" option. Overrides dashboard default. Resolves as flag ?? dashboard value ?? true. */
196
+ enableTransferCrypto?: boolean;
197
+ /** Enable browser wallet connection option. Overrides dashboard default. Resolves as flag ?? dashboard value ?? true. */
186
198
  enableConnectWallet?: boolean;
187
199
  /**
188
200
  * Connect Wallet → Enter amount: percentage chips (10%, 25%, 50%, 75%, MAX) from USD balance, or fixed USD ($25…).
189
201
  * @default "percentage"
190
202
  */
191
203
  browserWalletAmountQuickSelect?: BrowserWalletAmountQuickSelect;
192
- /** Enable "Pay with Exchange" option. Overrides dashboard default. Defaults to dashboard value or true. */
204
+ /** Enable "Pay with Exchange" option. Overrides dashboard default. Resolves as flag ?? dashboard value ?? true. */
193
205
  enablePayWithExchange?: boolean;
194
- /** Enable the fiat on-ramp option (shown as "Deposit with Card"). Overrides dashboard default. Defaults to dashboard value or true. */
206
+ /** Enable the fiat on-ramp option (shown as "Deposit with Card"). Overrides dashboard default. Resolves as flag ?? dashboard value ?? true. */
195
207
  enableFiatOnramp?: boolean;
196
- /** Enable "Connect Exchange" option for direct Coinbase Connect integration. Defaults to false. */
208
+ /** Enable "Connect Exchange" option for direct Coinbase Connect integration. Overrides dashboard default. Resolves as flag ?? dashboard value ?? true. */
197
209
  enableConnectExchange?: boolean;
198
- /** Enable "Pay with Cash App" option. Defaults to false. */
210
+ /** Enable "Pay with Cash App" option. Overrides dashboard default. Resolves as flag ?? dashboard value ?? true. */
199
211
  enableCashApp?: boolean;
200
212
  /** Deposit with Card — onramp step: hide the You use / You buy / You receive card. @default false */
201
213
  hideDepositFlowInfo?: boolean;
@@ -218,7 +230,7 @@ interface DepositModalProps {
218
230
  /** First screen when the modal opens. Default `main` (deposit menu). */
219
231
  initialScreen?: DepositModalInitialScreen;
220
232
  }
221
- declare function DepositModal({ open, onOpenChange, userId, publishableKey, modalTitle, destinationTokenSymbol, recipientAddress, destinationChainType, destinationChainId, destinationTokenAddress, contractCalls, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, hideDepositTracker, showBalanceHeader, transferInputVariant, depositConfirmationMode, enableConnectWallet, browserWalletAmountQuickSelect, enablePayWithExchange, enableFiatOnramp, enableConnectExchange, enableCashApp, hideDepositFlowInfo, hideDisplayDescription, onDepositSuccess, onDepositError, onEvent, theme, hideOverlay, initialScreen, transferCryptoTitle, depositWithCardTitle, payWithExchangeTitle, depositTrackerTitle, depositTrackerSubTitle, }: DepositModalProps): react_jsx_runtime.JSX.Element;
233
+ declare function DepositModal({ open, onOpenChange, userId, publishableKey, modalTitle, destinationTokenSymbol, recipientAddress, destinationChainType, destinationChainId, destinationTokenAddress, contractCalls, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, hideDepositTracker, showBalanceHeader, transferInputVariant, depositConfirmationMode, enableTransferCrypto, enableConnectWallet, browserWalletAmountQuickSelect, enablePayWithExchange, enableFiatOnramp, enableConnectExchange, enableCashApp, hideDepositFlowInfo, hideDisplayDescription, onDepositSuccess, onDepositError, onEvent, theme, hideOverlay, initialScreen, transferCryptoTitle, depositWithCardTitle, payWithExchangeTitle, depositTrackerTitle, depositTrackerSubTitle, }: DepositModalProps): react_jsx_runtime.JSX.Element;
222
234
 
223
235
  interface DepositHeaderProps {
224
236
  title: string;
@@ -488,8 +500,12 @@ interface CoinbaseConnectProps {
488
500
  /** Whether back navigation from the root view is available (false when opened as a standalone initial screen). */
489
501
  canGoBack?: boolean;
490
502
  onExecutionsChange?: (executions: AutoSwapResponse[]) => void;
503
+ defaultSourceChainType?: ChainType;
504
+ defaultSourceChainId?: string;
505
+ defaultSourceTokenAddress?: string;
506
+ defaultSourceSymbol?: string;
491
507
  }
492
- declare function CoinbaseConnect({ publishableKey, userId, wallets, recipientAddress, destinationTokenAddress, destinationChainId, destinationChainType, onTransferSuccess, onTransferError, onClose, onBack: parentOnBack, onDisconnect, skipToHoldings, canGoBack, onExecutionsChange, }: CoinbaseConnectProps): react_jsx_runtime.JSX.Element | null;
508
+ declare function CoinbaseConnect({ publishableKey, userId, wallets, recipientAddress, destinationTokenAddress, destinationChainId, destinationChainType, onTransferSuccess, onTransferError, onClose, onBack: parentOnBack, onDisconnect, skipToHoldings, canGoBack, onExecutionsChange, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, }: CoinbaseConnectProps): react_jsx_runtime.JSX.Element | null;
493
509
  declare namespace CoinbaseConnect {
494
510
  var displayName: string;
495
511
  }
@@ -548,12 +564,14 @@ interface CheckoutModalProps {
548
564
  clientSecret: string;
549
565
  publishableKey: string;
550
566
  modalTitle?: string;
551
- /** Enable browser wallet connection option. Defaults to false */
567
+ /** Enable "Transfer Crypto" option. Overrides dashboard default. Resolves as flag ?? dashboard value ?? true. */
568
+ enableTransferCrypto?: boolean;
569
+ /** Enable browser wallet connection option. Overrides dashboard default. Resolves as flag ?? dashboard value ?? true. */
552
570
  enableConnectWallet?: boolean;
553
571
  /**
554
- * Pre-select source token/chain in the Transfer Crypto view.
572
+ * Prefer a source token/chain in Transfer Crypto and Wallet Connect flows.
555
573
  * All four props are optional. To match, provide `chainType` + `chainId` + (`symbol` OR `tokenAddress`).
556
- * If omitted or no match is found in `/supported_deposit_tokens`, the first available token and chain are used.
574
+ * If omitted or no match is found in `/supported_deposit_tokens`, each flow uses its normal ordering.
557
575
  */
558
576
  defaultSourceChainType?: ChainType;
559
577
  /** Source chain ID (e.g. `"mainnet"`, `"137"`). Must be paired with `defaultSourceChainType` + symbol or token address. */
@@ -573,7 +591,7 @@ interface CheckoutModalProps {
573
591
  code?: string;
574
592
  }) => void;
575
593
  }
576
- declare function CheckoutModal({ open, onOpenChange, clientSecret, publishableKey, modalTitle, enableConnectWallet, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, theme, onCheckoutSuccess, onCheckoutError, }: CheckoutModalProps): react_jsx_runtime.JSX.Element;
594
+ declare function CheckoutModal({ open, onOpenChange, clientSecret, publishableKey, modalTitle, enableTransferCrypto, enableConnectWallet, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, theme, onCheckoutSuccess, onCheckoutError, }: CheckoutModalProps): react_jsx_runtime.JSX.Element;
577
595
 
578
596
  interface WithdrawTransactionInfo {
579
597
  /** Source (sending) chain type */
package/dist/index.d.ts CHANGED
@@ -27,6 +27,15 @@ interface UseDepositPollingOptions {
27
27
  depositConfirmationMode?: DepositConfirmationMode;
28
28
  /** Deposit wallet ID used to trigger the backend poll endpoint */
29
29
  depositWalletId?: string;
30
+ /**
31
+ * Multiple deposit wallet IDs to nudge `/poll` for. Used when the deposit chain
32
+ * isn't known up front (e.g. the mobile redirect flow, where the user may
33
+ * deposit on any supported chain) — we iterate the wallets from
34
+ * `/deposit_addresses` and poll each. Detection itself is via the single
35
+ * `/query` by `external_user_id` (which already spans all chains). Takes
36
+ * precedence over `depositWalletId` when non-empty.
37
+ */
38
+ depositWalletIds?: string[];
30
39
  enabled?: boolean;
31
40
  onDepositSuccess?: (data: {
32
41
  message: string;
@@ -55,7 +64,7 @@ interface UseDepositPollingResult {
55
64
  /** Call this when user clicks "I've made the deposit" (manual mode) */
56
65
  handleIveDeposited: () => void;
57
66
  }
58
- declare function useDepositPolling({ userId, publishableKey, clientSecret, depositConfirmationMode, depositWalletId, enabled, immediateDirectPolling, onDepositSuccess, onDepositError, }: UseDepositPollingOptions): UseDepositPollingResult;
67
+ declare function useDepositPolling({ userId, publishableKey, clientSecret, depositConfirmationMode, depositWalletId, depositWalletIds, enabled, immediateDirectPolling, onDepositSuccess, onDepositError, }: UseDepositPollingOptions): UseDepositPollingResult;
59
68
 
60
69
  declare global {
61
70
  interface Window {
@@ -160,9 +169,9 @@ interface DepositModalProps {
160
169
  */
161
170
  contractCalls?: EvmContractCall[];
162
171
  /**
163
- * Pre-select source token/chain in the Transfer Crypto view.
172
+ * Prefer a source token/chain in Transfer Crypto, Wallet Connect, and Connect Exchange flows.
164
173
  * All four props are optional. To match, provide `chainType` + `chainId` + (`symbol` OR `tokenAddress`).
165
- * If omitted or no match is found in `/supported_deposit_tokens`, the first available token and chain are used.
174
+ * If omitted or no match is found in `/supported_deposit_tokens`, each flow uses its normal ordering.
166
175
  */
167
176
  defaultSourceChainType?: ChainType;
168
177
  /** Source chain ID (e.g. `"mainnet"`, `"137"`). Must be paired with `defaultSourceChainType` + symbol or token address. */
@@ -171,6 +180,7 @@ interface DepositModalProps {
171
180
  defaultSourceTokenAddress?: string;
172
181
  /** Source token symbol (e.g. `"USDC"`). Must be paired with `defaultSourceChainType` + `defaultSourceChainId`. */
173
182
  defaultSourceSymbol?: string;
183
+ /** Hide the "Deposit Tracker" option. Overrides dashboard default. Resolves as flag ?? dashboard value ?? false (shown). */
174
184
  hideDepositTracker?: boolean;
175
185
  /** Show balance in deposit modal header. Defaults to false */
176
186
  showBalanceHeader?: boolean;
@@ -182,20 +192,22 @@ interface DepositModalProps {
182
192
  * - "manual": User must click "I've made the deposit" to start polling
183
193
  */
184
194
  depositConfirmationMode?: DepositConfirmationMode;
185
- /** Enable browser wallet connection option. Defaults to false */
195
+ /** Enable "Transfer Crypto" option. Overrides dashboard default. Resolves as flag ?? dashboard value ?? true. */
196
+ enableTransferCrypto?: boolean;
197
+ /** Enable browser wallet connection option. Overrides dashboard default. Resolves as flag ?? dashboard value ?? true. */
186
198
  enableConnectWallet?: boolean;
187
199
  /**
188
200
  * Connect Wallet → Enter amount: percentage chips (10%, 25%, 50%, 75%, MAX) from USD balance, or fixed USD ($25…).
189
201
  * @default "percentage"
190
202
  */
191
203
  browserWalletAmountQuickSelect?: BrowserWalletAmountQuickSelect;
192
- /** Enable "Pay with Exchange" option. Overrides dashboard default. Defaults to dashboard value or true. */
204
+ /** Enable "Pay with Exchange" option. Overrides dashboard default. Resolves as flag ?? dashboard value ?? true. */
193
205
  enablePayWithExchange?: boolean;
194
- /** Enable the fiat on-ramp option (shown as "Deposit with Card"). Overrides dashboard default. Defaults to dashboard value or true. */
206
+ /** Enable the fiat on-ramp option (shown as "Deposit with Card"). Overrides dashboard default. Resolves as flag ?? dashboard value ?? true. */
195
207
  enableFiatOnramp?: boolean;
196
- /** Enable "Connect Exchange" option for direct Coinbase Connect integration. Defaults to false. */
208
+ /** Enable "Connect Exchange" option for direct Coinbase Connect integration. Overrides dashboard default. Resolves as flag ?? dashboard value ?? true. */
197
209
  enableConnectExchange?: boolean;
198
- /** Enable "Pay with Cash App" option. Defaults to false. */
210
+ /** Enable "Pay with Cash App" option. Overrides dashboard default. Resolves as flag ?? dashboard value ?? true. */
199
211
  enableCashApp?: boolean;
200
212
  /** Deposit with Card — onramp step: hide the You use / You buy / You receive card. @default false */
201
213
  hideDepositFlowInfo?: boolean;
@@ -218,7 +230,7 @@ interface DepositModalProps {
218
230
  /** First screen when the modal opens. Default `main` (deposit menu). */
219
231
  initialScreen?: DepositModalInitialScreen;
220
232
  }
221
- declare function DepositModal({ open, onOpenChange, userId, publishableKey, modalTitle, destinationTokenSymbol, recipientAddress, destinationChainType, destinationChainId, destinationTokenAddress, contractCalls, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, hideDepositTracker, showBalanceHeader, transferInputVariant, depositConfirmationMode, enableConnectWallet, browserWalletAmountQuickSelect, enablePayWithExchange, enableFiatOnramp, enableConnectExchange, enableCashApp, hideDepositFlowInfo, hideDisplayDescription, onDepositSuccess, onDepositError, onEvent, theme, hideOverlay, initialScreen, transferCryptoTitle, depositWithCardTitle, payWithExchangeTitle, depositTrackerTitle, depositTrackerSubTitle, }: DepositModalProps): react_jsx_runtime.JSX.Element;
233
+ declare function DepositModal({ open, onOpenChange, userId, publishableKey, modalTitle, destinationTokenSymbol, recipientAddress, destinationChainType, destinationChainId, destinationTokenAddress, contractCalls, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, hideDepositTracker, showBalanceHeader, transferInputVariant, depositConfirmationMode, enableTransferCrypto, enableConnectWallet, browserWalletAmountQuickSelect, enablePayWithExchange, enableFiatOnramp, enableConnectExchange, enableCashApp, hideDepositFlowInfo, hideDisplayDescription, onDepositSuccess, onDepositError, onEvent, theme, hideOverlay, initialScreen, transferCryptoTitle, depositWithCardTitle, payWithExchangeTitle, depositTrackerTitle, depositTrackerSubTitle, }: DepositModalProps): react_jsx_runtime.JSX.Element;
222
234
 
223
235
  interface DepositHeaderProps {
224
236
  title: string;
@@ -488,8 +500,12 @@ interface CoinbaseConnectProps {
488
500
  /** Whether back navigation from the root view is available (false when opened as a standalone initial screen). */
489
501
  canGoBack?: boolean;
490
502
  onExecutionsChange?: (executions: AutoSwapResponse[]) => void;
503
+ defaultSourceChainType?: ChainType;
504
+ defaultSourceChainId?: string;
505
+ defaultSourceTokenAddress?: string;
506
+ defaultSourceSymbol?: string;
491
507
  }
492
- declare function CoinbaseConnect({ publishableKey, userId, wallets, recipientAddress, destinationTokenAddress, destinationChainId, destinationChainType, onTransferSuccess, onTransferError, onClose, onBack: parentOnBack, onDisconnect, skipToHoldings, canGoBack, onExecutionsChange, }: CoinbaseConnectProps): react_jsx_runtime.JSX.Element | null;
508
+ declare function CoinbaseConnect({ publishableKey, userId, wallets, recipientAddress, destinationTokenAddress, destinationChainId, destinationChainType, onTransferSuccess, onTransferError, onClose, onBack: parentOnBack, onDisconnect, skipToHoldings, canGoBack, onExecutionsChange, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, }: CoinbaseConnectProps): react_jsx_runtime.JSX.Element | null;
493
509
  declare namespace CoinbaseConnect {
494
510
  var displayName: string;
495
511
  }
@@ -548,12 +564,14 @@ interface CheckoutModalProps {
548
564
  clientSecret: string;
549
565
  publishableKey: string;
550
566
  modalTitle?: string;
551
- /** Enable browser wallet connection option. Defaults to false */
567
+ /** Enable "Transfer Crypto" option. Overrides dashboard default. Resolves as flag ?? dashboard value ?? true. */
568
+ enableTransferCrypto?: boolean;
569
+ /** Enable browser wallet connection option. Overrides dashboard default. Resolves as flag ?? dashboard value ?? true. */
552
570
  enableConnectWallet?: boolean;
553
571
  /**
554
- * Pre-select source token/chain in the Transfer Crypto view.
572
+ * Prefer a source token/chain in Transfer Crypto and Wallet Connect flows.
555
573
  * All four props are optional. To match, provide `chainType` + `chainId` + (`symbol` OR `tokenAddress`).
556
- * If omitted or no match is found in `/supported_deposit_tokens`, the first available token and chain are used.
574
+ * If omitted or no match is found in `/supported_deposit_tokens`, each flow uses its normal ordering.
557
575
  */
558
576
  defaultSourceChainType?: ChainType;
559
577
  /** Source chain ID (e.g. `"mainnet"`, `"137"`). Must be paired with `defaultSourceChainType` + symbol or token address. */
@@ -573,7 +591,7 @@ interface CheckoutModalProps {
573
591
  code?: string;
574
592
  }) => void;
575
593
  }
576
- declare function CheckoutModal({ open, onOpenChange, clientSecret, publishableKey, modalTitle, enableConnectWallet, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, theme, onCheckoutSuccess, onCheckoutError, }: CheckoutModalProps): react_jsx_runtime.JSX.Element;
594
+ declare function CheckoutModal({ open, onOpenChange, clientSecret, publishableKey, modalTitle, enableTransferCrypto, enableConnectWallet, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, theme, onCheckoutSuccess, onCheckoutError, }: CheckoutModalProps): react_jsx_runtime.JSX.Element;
577
595
 
578
596
  interface WithdrawTransactionInfo {
579
597
  /** Source (sending) chain type */