@coinlist-co/react 0.12.1-rc.f51a0c2 → 0.12.1

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.
@@ -2,8 +2,8 @@ import * as react from 'react';
2
2
  import { ReactNode, ButtonHTMLAttributes } from 'react';
3
3
  import { A as AuthorizationCode, C as CodeVerifier, L as Logger, W as WalletError, E as Erc20Namespace, a as EthereumChain, b as EvmContractAddress, B as BlockchainAmount, c as CoinListTokenSaleNamespace, O as OfferId, d as OfferOptionId, e as AssetId, P as Participation, f as CoinListTokenSaleNamespaceImpl, U as UniversalNamespaceContext, g as OndoNamespace, h as AssetSymbol, i as OfferSwapContract, j as OndoBuyTransaction, k as OndoSellTransaction, l as OndoSwapTransactionCore, m as OrderBookSide, n as OndoNamespaceImpl, S as SuperstateSwapNamespace, o as WalletsNamespace, p as Bps, q as EvmWalletAddress, r as SuperstateSwapNamespaceImpl, R as RequirementsNamespace, s as Requirement, t as RequirementsNamespaceImpl, u as Config, v as OAuthAccessToken, w as OffersNamespace, T as TokensNamespace, x as StablecoinSymbol, y as Erc20Asset, z as OfferDetail, D as TokenMetadata, F as OfferType, G as OndoSwapOfferDetail, H as CoinListTokenSaleOfferDetail, I as SuperstateSwapOfferDetail, J as Offer, K as RequirementStatusInfo, M as RequirementType, N as RequirementStatusValue, Q as OfferOptionAddress, V as RequirementId, X as KycLevelName, Y as DocumentSubmission, Z as WalletChallengeType, _ as PinoLoggerOptions, $ as OndoTradingStatus, a0 as AssetDecimals, a1 as BuildOndoBuyParams, a2 as BuildOndoSellParams, a3 as OndoQuote, a4 as OndoQuoteSize, a5 as TokenIdentifier, a6 as OfferOptionAddressId, a7 as TokenLogo } from '../tokens-namespace-CIWBtgt2.js';
4
4
  export { a8 as DebugEvent, a9 as FrontlineEventId, aa as HttpError, ab as HttpResponse, ac as KycToken, ad as LogBinding, ae as LogBindings, af as LogCause, ag as LogLevel, ah as LogScope, ai as LogValue, aj as ProductionLogLevel, ak as RedactedWalletError, al as RequestId, am as RpcFailureReason, an as SafeEvent, ao as SafeFields, ap as UnredactedFields } from '../tokens-namespace-CIWBtgt2.js';
5
- import { P as PKCEConfig, E as EvmWallet, S as SwapQuote, A as AssetIconUrl, a as ShortenedWalletAddress, F as FormattedAmountAssetUi, b as FormattedPercentUi, T as TxExplorerUrl, C as ConnectWallet, N as NonEmptyArray } from '../collections-JfNDG8Tc.js';
6
- export { B as BroadcastTxParams, c as EvmSigner, W as WriteContractParams } from '../collections-JfNDG8Tc.js';
5
+ import { P as PKCEConfig, E as EvmWallet, S as SwapQuote, A as AssetIconUrl, a as ShortenedWalletAddress, F as FormattedAmountAssetUi, b as FormattedPercentUi, T as TxExplorerUrl, C as ConnectWallet, N as NonEmptyArray, c as TokenRegistrySnapshot } from '../token-registry-snapshot-BNBNuDu1.js';
6
+ export { B as BroadcastTxParams, d as EvmSigner, W as WriteContractParams } from '../token-registry-snapshot-BNBNuDu1.js';
7
7
  import { Hash } from 'viem';
8
8
  import * as class_variance_authority_types from 'class-variance-authority/types';
9
9
  import { VariantProps } from 'class-variance-authority';
@@ -3188,25 +3188,71 @@ interface SuperstateWalletViewProps {
3188
3188
  */
3189
3189
  declare function SuperstateWalletView(props: SuperstateWalletViewProps): ReactNode;
3190
3190
 
3191
+ /**
3192
+ * One image as an `<img>` renders it: a `src` for a consumer that takes a
3193
+ * single URL, and the `srcSet` candidates for one that also knows the size
3194
+ * it renders at. `srcSet` is absent for a vector logo and for the offer's own
3195
+ * artwork, neither of which offers the browser a choice.
3196
+ */
3197
+ type LogoImageUi = {
3198
+ src: string;
3199
+ srcSet?: string;
3200
+ };
3201
+ /**
3202
+ * The logo a catalogue card renders for an offer, with the registry's
3203
+ * dark-theme counterpart when it configures one.
3204
+ *
3205
+ * `dark` is `null` rather than absent so a renderer has to decide what to do
3206
+ * without one: fall back to `light`, which is the registry's own rule.
3207
+ */
3208
+ type OfferLogoUi = {
3209
+ light: LogoImageUi;
3210
+ dark: LogoImageUi | null;
3211
+ };
3212
+ declare const OfferLogoUi: {
3213
+ /**
3214
+ * The registry's logo for the token an offer is about, or the offer's own
3215
+ * artwork otherwise, or `null` when neither exists.
3216
+ *
3217
+ * The registry wins when both exist because it is the token's real artwork
3218
+ * where `Offer.logoUrl` is catalogue artwork, and because a swap publishes
3219
+ * without artwork more often than not - which is why `logoUrl` is `null`
3220
+ * on the swap variants.
3221
+ */
3222
+ fromOffer: (offer: {
3223
+ logoUrl: string | null;
3224
+ }, tokenMetadata: TokenMetadata | null) => OfferLogoUi | null;
3225
+ };
3226
+
3191
3227
  /**
3192
3228
  * An offer as {@link OfferAssetCard} renders it. Browse chrome: circular
3193
- * `logoUrl`, company `name`, and asset `symbol` (`asset.code`). No wordmark.
3194
- * `fromOffer` omits `name` and `symbol` — the list payload has neither — so a
3195
- * list-mapped card is honest about being logo-only. Prefer
3196
- * {@link OfferAssetCardUi.fromDetail} when the host has detail.
3229
+ * `logo`, `name`, and asset `symbol`. No wordmark.
3230
+ *
3231
+ * All three come from the public token registry when the caller hands over
3232
+ * the metadata of the token the offer is about. Without it, `fromOffer`
3233
+ * omits `name` and `symbol` - the list payload has neither - so a list-mapped
3234
+ * card is honest about being logo-only, and `fromDetail` reads them from the
3235
+ * detail payload (`name`, `asset.code`).
3197
3236
  */
3198
3237
  type OfferAssetCardUi = {
3199
3238
  id: OfferId;
3200
- /** Absent when the list payload has no display name. */
3239
+ /** Absent when neither the registry nor a detail payload names the offer. */
3201
3240
  name?: string;
3202
- /** Absent when the list payload has no asset. Display form of `asset.code`. */
3241
+ /** Absent when neither the registry nor a detail payload carries a ticker. */
3203
3242
  symbol?: string;
3204
- /** Null when the offer carries no artwork; the card then omits the icon. */
3205
- logoUrl: string | null;
3243
+ /** `null` when neither the registry nor the offer carries artwork. */
3244
+ logo: OfferLogoUi | null;
3206
3245
  };
3207
3246
  declare const OfferAssetCardUi: {
3208
- fromOffer: (offer: Offer) => OfferAssetCardUi;
3209
- fromDetail: (detail: OfferDetail) => OfferAssetCardUi;
3247
+ /**
3248
+ * `tokenMetadata` is the registry's entry for the token the offer is about
3249
+ * (`TokenRegistrySnapshot.forOffer`), or `null` when it lists none. The
3250
+ * registry names win over the offer's own where both exist: they are the
3251
+ * token's canonical name, ticker and artwork, where the offer's are
3252
+ * catalogue copy.
3253
+ */
3254
+ fromOffer: (offer: Offer, tokenMetadata?: TokenMetadata | null) => OfferAssetCardUi;
3255
+ fromDetail: (detail: OfferDetail, tokenMetadata?: TokenMetadata | null) => OfferAssetCardUi;
3210
3256
  };
3211
3257
 
3212
3258
  interface OffersAssetGridProps {
@@ -3231,60 +3277,18 @@ interface OffersAssetGridProps {
3231
3277
  */
3232
3278
  declare function OffersAssetGrid({ offers, onOfferClick, maxColumns, className, containerClassName, }: OffersAssetGridProps): ReactNode;
3233
3279
 
3234
- interface OffersGridContainerProps {
3235
- /** Maximum number of columns to render when horizontal space allows. */
3236
- maxColumns?: number;
3237
- /** Optional className applied to the grid element. */
3238
- className?: string;
3239
- /** Optional className applied to the outer wrapper element. */
3240
- containerClassName?: string;
3241
- /** Optional loading slot shown while offers are being fetched. */
3242
- loading?: ReactNode;
3243
- /** Optional error slot shown when loading offers fails. */
3244
- error?: ReactNode;
3245
- /** Optional empty state slot shown when there are no available offers. */
3246
- emptyState?: ReactNode;
3247
- /** Optional per-offer click handler; when omitted, cards are not clickable. */
3248
- onOfferClick?: (offer: Offer) => void;
3249
- /**
3250
- * Offers pre-fetched on the server (e.g. via `CoinListServer#offers.list()`).
3251
- * When provided, the component uses this data as-is and skips the client-side
3252
- * fetch entirely.
3253
- */
3254
- data?: Offer[];
3255
- /**
3256
- * Default `true`. When `false` nothing is fetched, so the container can be
3257
- * mounted while the grid is not needed yet.
3258
- */
3259
- enabled?: boolean;
3260
- }
3261
- /**
3262
- * Displays a responsive live-sale grid of {@link OfferSaleCard}, backed by
3263
- * {@link useOffersGridViewModel}. List offers have no display name — the card
3264
- * shows logo + tagline until the host maps from detail. For equities /
3265
- * past-sales browse rows, compose {@link OffersAssetGrid} instead.
3266
- *
3267
- * Pass `data` (pre-fetched server-side) to use that data as-is and skip the
3268
- * client-side fetch entirely. Pass `enabled={false}` to skip the fetch when
3269
- * the container is mounted but the grid is not needed yet. Uses the
3270
- * `loading` / `error` / `emptyState` slots when provided; otherwise renders
3271
- * the standard fallbacks. Cards are interactive only when `onOfferClick` is
3272
- * provided.
3273
- *
3274
- * Self-scoped: renders fully styled on its own, with no `CoinListStyleScope`
3275
- * needed.
3276
- */
3277
- declare function OffersGridContainer({ data, onOfferClick, enabled, ...viewProps }?: OffersGridContainerProps): ReactNode;
3278
-
3279
3280
  /**
3280
3281
  * An offer as {@link OfferSaleCard} renders it. Countdown copy is derived in
3281
3282
  * the leaf from `startsAt` / `endsAt` so it can tick; the mapper does not
3282
- * invent a name, price, FDV, unlock schedule, banner overlay, or wordmark.
3283
- * `fromOffer` omits `name` because the list payload has none — do not derive
3284
- * one from `slug`, and do not expect a wordmark. The card pairs `logoUrl` with
3285
- * `name` as an h2 and renders the h2 only when the field is present. Prefer
3286
- * {@link OfferSaleCardUi.fromDetail} when the host has a name. Missing logo
3287
- * omits the icon — name and tagline only.
3283
+ * invent a price, FDV, unlock schedule, banner overlay, or wordmark.
3284
+ *
3285
+ * `name` and `logo` come from the public token registry when the caller
3286
+ * hands over the metadata of the token the offer is about, and from the
3287
+ * offer otherwise. The list payload carries no name, so `fromOffer` leaves
3288
+ * `name` absent without registry metadata - do not derive one from `slug`.
3289
+ * The card pairs `logo` with `name` as an h2 and renders each only when
3290
+ * present. Prefer {@link OfferSaleCardUi.fromDetail} when the host has a
3291
+ * name and no registry answer.
3288
3292
  *
3289
3293
  * `tagline` and `startsAt` are null for an offer that runs no sale window, an
3290
3294
  * Ondo swap: the card then omits the tagline and, with nothing to count down
@@ -3292,16 +3296,23 @@ declare function OffersGridContainer({ data, onOfferClick, enabled, ...viewProps
3292
3296
  */
3293
3297
  type OfferSaleCardUi = {
3294
3298
  id: OfferId;
3295
- /** Absent when the list payload has no display name; only `fromDetail` sets it. */
3299
+ /** Absent when neither the registry nor a detail payload names the offer. */
3296
3300
  name?: string;
3297
3301
  tagline: string | null;
3298
- logoUrl: string | null;
3302
+ /** `null` when neither the registry nor the offer carries artwork. */
3303
+ logo: OfferLogoUi | null;
3299
3304
  startsAt: Date | null;
3300
3305
  endsAt: Date | null;
3301
3306
  };
3302
3307
  declare const OfferSaleCardUi: {
3303
- fromOffer: (offer: Offer) => OfferSaleCardUi;
3304
- fromDetail: (detail: OfferDetail) => OfferSaleCardUi;
3308
+ /**
3309
+ * `tokenMetadata` is the registry's entry for the token the offer is about
3310
+ * (`TokenRegistrySnapshot.forOffer`), or `null` when it lists none. The
3311
+ * registry names win over the offer's own where both exist: they are the
3312
+ * token's canonical name and artwork, where the offer's are catalogue copy.
3313
+ */
3314
+ fromOffer: (offer: Offer, tokenMetadata?: TokenMetadata | null) => OfferSaleCardUi;
3315
+ fromDetail: (detail: OfferDetail, tokenMetadata?: TokenMetadata | null) => OfferSaleCardUi;
3305
3316
  };
3306
3317
 
3307
3318
  type OffersGridUiState = {
@@ -3322,6 +3333,96 @@ type OffersGridUiEvent = {
3322
3333
  offerId: OfferId;
3323
3334
  };
3324
3335
 
3336
+ /**
3337
+ * What the grid fetches, pre-fetched on the server instead. Each half is
3338
+ * independent: seed `offers` (via `CoinListServer#offers.list()`) and the
3339
+ * client still fetches the registry, seed `tokens` (via
3340
+ * `CoinListServer#tokens.list()`) and it still fetches the offers, seed both
3341
+ * and the grid makes no request of its own.
3342
+ */
3343
+ interface OffersGridData {
3344
+ offers?: Offer[];
3345
+ tokens?: TokenMetadata[];
3346
+ }
3347
+ interface UseOffersGridViewModelOptions {
3348
+ /** See {@link OffersGridData}. */
3349
+ data?: OffersGridData;
3350
+ /**
3351
+ * Default `true`. When `false` nothing is fetched, so the hook can be called
3352
+ * unconditionally while the grid is not needed yet.
3353
+ */
3354
+ enabled?: boolean;
3355
+ /** Called with the domain offer behind the card the user clicked. */
3356
+ onOfferClick?: (offer: Offer) => void;
3357
+ }
3358
+ interface UseOffersGridViewModelResult {
3359
+ state: OffersGridUiState;
3360
+ onEvent: (event: OffersGridUiEvent) => void;
3361
+ }
3362
+ /**
3363
+ * Drives {@link OffersGridView}: loads the offers and the public token
3364
+ * registry, formats each offer for its card - registry name and logo where
3365
+ * the registry lists its token, the offer's own fields otherwise - and
3366
+ * resolves a clicked card back to its domain offer for the host callback.
3367
+ *
3368
+ * The grid waits for both loads before showing content, so a card paints
3369
+ * once with its final artwork rather than flashing the catalogue logo and
3370
+ * then the registry's. A registry failure degrades rather than blanks: every
3371
+ * card falls back to the offer's own fields.
3372
+ *
3373
+ * Pass `enabled: false` to skip both fetches when the hook must be called but
3374
+ * the grid is not needed yet.
3375
+ */
3376
+ declare function useOffersGridViewModel(options?: UseOffersGridViewModelOptions): UseOffersGridViewModelResult;
3377
+
3378
+ interface OffersGridContainerProps {
3379
+ /** Maximum number of columns to render when horizontal space allows. */
3380
+ maxColumns?: number;
3381
+ /** Optional className applied to the grid element. */
3382
+ className?: string;
3383
+ /** Optional className applied to the outer wrapper element. */
3384
+ containerClassName?: string;
3385
+ /** Optional loading slot shown while offers are being fetched. */
3386
+ loading?: ReactNode;
3387
+ /** Optional error slot shown when loading offers fails. */
3388
+ error?: ReactNode;
3389
+ /** Optional empty state slot shown when there are no available offers. */
3390
+ emptyState?: ReactNode;
3391
+ /** Optional per-offer click handler; when omitted, cards are not clickable. */
3392
+ onOfferClick?: (offer: Offer) => void;
3393
+ /**
3394
+ * What the grid would otherwise fetch, pre-fetched on the server: `offers`
3395
+ * via `CoinListServer#offers.list()`, `tokens` via
3396
+ * `CoinListServer#tokens.list()`. Each half skips its own client-side
3397
+ * fetch; pass both for a grid that makes no request of its own.
3398
+ */
3399
+ data?: OffersGridData;
3400
+ /**
3401
+ * Default `true`. When `false` nothing is fetched, so the container can be
3402
+ * mounted while the grid is not needed yet.
3403
+ */
3404
+ enabled?: boolean;
3405
+ }
3406
+ /**
3407
+ * Displays a responsive live-sale grid of {@link OfferSaleCard}, backed by
3408
+ * {@link useOffersGridViewModel}. Each card is named and illustrated by the
3409
+ * public token registry where it lists the offer's token, and by the offer's
3410
+ * own fields otherwise - list offers carry no display name, so an unlisted
3411
+ * one shows logo + tagline until the host maps from detail. For equities /
3412
+ * past-sales browse rows, compose {@link OffersAssetGrid} instead.
3413
+ *
3414
+ * Pass `data` (offers and tokens pre-fetched server-side) to use them as-is
3415
+ * and skip the client-side fetches. Pass `enabled={false}` to skip the fetches
3416
+ * when the container is mounted but the grid is not needed yet. Uses the
3417
+ * `loading` / `error` / `emptyState` slots when provided; otherwise renders
3418
+ * the standard fallbacks. Cards are interactive only when `onOfferClick` is
3419
+ * provided.
3420
+ *
3421
+ * Self-scoped: renders fully styled on its own, with no `CoinListStyleScope`
3422
+ * needed.
3423
+ */
3424
+ declare function OffersGridContainer({ data, onOfferClick, enabled, ...viewProps }?: OffersGridContainerProps): ReactNode;
3425
+
3325
3426
  interface OffersGridViewProps {
3326
3427
  state: OffersGridUiState;
3327
3428
  onEvent: (event: OffersGridUiEvent) => void;
@@ -3360,8 +3461,10 @@ interface OfferAssetCardProps {
3360
3461
  containerClassName?: string;
3361
3462
  }
3362
3463
  /**
3363
- * Light browse-row catalogue card. Self-scoped. Header is API `logoUrl`
3364
- * beside company `name` (h2) and asset `symbol` under it — not a wordmark.
3464
+ * Light browse-row catalogue card. Self-scoped. Header is the offer's `logo`
3465
+ * (the token registry's where it lists the token, with its dark-theme
3466
+ * variant, the catalogue's otherwise) beside `name` (h2) and asset `symbol`
3467
+ * under it — not a wordmark.
3365
3468
  * Responsive hug: tighter pad / logo / type below `md`, desktop keeps the
3366
3469
  * H4 + 48px logo row. Hosts compose this beside {@link OfferSaleCard}; the
3367
3470
  * card does not pick a variant itself.
@@ -3378,8 +3481,9 @@ interface OfferSaleCardProps {
3378
3481
  containerClassName?: string;
3379
3482
  }
3380
3483
  /**
3381
- * Dark live-sale catalogue card. Self-scoped. Header is API `logoUrl` beside
3382
- * the company `name` as an h2, then the tagline — not a wordmark. The same
3484
+ * Dark live-sale catalogue card. Self-scoped. Header is the offer's `logo`
3485
+ * (the token registry's where it lists the token, the catalogue's otherwise)
3486
+ * beside the `name` as an h2, then the tagline — not a wordmark. The same
3383
3487
  * logo is painted as a faint right-shifted watermark over the gradient.
3384
3488
  * Responsive hug layout; View offer always renders. No token price, FDV or unlock.
3385
3489
  */
@@ -3387,16 +3491,23 @@ declare function OfferSaleCard({ offer, onClick, className, containerClassName,
3387
3491
 
3388
3492
  type RequirementsChecklistUiState = {
3389
3493
  type: 'loading';
3390
- } | {
3391
- type: 'not-authenticated';
3494
+ title: string;
3495
+ description: string;
3392
3496
  } | {
3393
3497
  type: 'error';
3498
+ title: string;
3394
3499
  } | {
3395
3500
  type: 'content';
3396
3501
  title: string;
3397
3502
  description: string;
3398
3503
  items: RequirementsChecklistItemUi[];
3399
3504
  ineligible: boolean;
3505
+ /**
3506
+ * Unsupported jurisdiction, once the country is known. When set, the
3507
+ * description, rows, and Continue are replaced by this neutral banner.
3508
+ * Absent otherwise.
3509
+ */
3510
+ blockedMessage?: string;
3400
3511
  /** `null` when the host passed no `onContinue`, so no button is shown. */
3401
3512
  continueAction: {
3402
3513
  enabled: boolean;
@@ -3472,6 +3583,14 @@ type RequirementItemUi = {
3472
3583
  multiWallet: boolean;
3473
3584
  /** The user's connected wallets. Single-slot requirements have at most one. */
3474
3585
  connectedWallets: ConnectedWalletUi[];
3586
+ /** Absent means the shared verification sentences. */
3587
+ statusMessages?: {
3588
+ /** Absent for tax documentation: `in_progress` stays a required step. */
3589
+ pending?: string;
3590
+ completed: string;
3591
+ /** Full sentence. "Contact support" inside it is the support link. */
3592
+ rejected: string;
3593
+ };
3475
3594
  };
3476
3595
  declare const RequirementItemUi: {
3477
3596
  fromDomain(req: Requirement, statusInfo: RequirementStatusInfo | undefined, label: string, description: string, addresses?: OfferOptionAddress[]): RequirementItemUi;
@@ -3624,13 +3743,19 @@ interface RequirementItemProps {
3624
3743
  */
3625
3744
  walletsStatus?: WalletsStatus;
3626
3745
  onContactSupport?: (() => void) | null;
3746
+ /**
3747
+ * 16px under the open section, so its button does not sit on the next row's
3748
+ * divider. The last row omits this: the checklist's own gap is the space
3749
+ * before the footer.
3750
+ */
3751
+ spaceBeforeNextRow?: boolean;
3627
3752
  }
3628
3753
  /**
3629
3754
  * A single requirement row (label, status, expandable action zone). Self-scoped:
3630
3755
  * renders fully styled on its own, with no `CoinListStyleScope` needed. Also composed
3631
3756
  * by {@link RequirementsChecklist}.
3632
3757
  */
3633
- declare function RequirementItem({ ui, expanded, onToggle, className, onAction, onRemoveWallet, walletsStatus, onContactSupport, }: RequirementItemProps): react.JSX.Element;
3758
+ declare function RequirementItem({ ui, expanded, onToggle, className, onAction, onRemoveWallet, walletsStatus, onContactSupport, spaceBeforeNextRow, }: RequirementItemProps): react.JSX.Element;
3634
3759
 
3635
3760
  type LoadRequirementsReason = 'not-authenticated' | 'generic-error';
3636
3761
  type LoadRequirementsState = {
@@ -3726,12 +3851,8 @@ interface RequirementsChecklistContainerProps {
3726
3851
  /** Optional loading slot. */
3727
3852
  loading?: ReactNode;
3728
3853
  /**
3729
- * Rendered when the user is not authenticated. Defaults to
3730
- * {@link CoinListSignInCardContainer}, which prompts the user to sign in and starts
3731
- * the CoinList OAuth flow. Pass `null` to render nothing.
3854
+ * Replaces the error banner under the title. The title still renders.
3732
3855
  */
3733
- unauthenticatedState?: ReactNode;
3734
- /** Optional error slot. */
3735
3856
  error?: ReactNode;
3736
3857
  className?: string;
3737
3858
  /**
@@ -3770,9 +3891,8 @@ interface RequirementsChecklistContainerProps {
3770
3891
  * initial client-side fetch. Pass `enabled={false}` to skip fetches when the
3771
3892
  * container is mounted but the checklist is not needed yet.
3772
3893
  *
3773
- * When the user is not authenticated, renders a sign-in card instead of the
3774
- * checklist - without fetching. Pass `unauthenticatedState` to customize that
3775
- * state, or `null` to render nothing.
3894
+ * A logged-out session renders the error state and does not fetch. The host
3895
+ * should not mount the checklist when it already knows the user is logged out.
3776
3896
  *
3777
3897
  * By default, clicking a requirement's action button opens the corresponding
3778
3898
  * CoinList page in a new tab via {@link CoinListClient#requirements.handle}. It
@@ -3782,26 +3902,21 @@ interface RequirementsChecklistContainerProps {
3782
3902
  *
3783
3903
  * Self-scoped: renders fully styled on its own, with no `CoinListStyleScope` needed.
3784
3904
  */
3785
- declare function RequirementsChecklistContainer({ loading, error, unauthenticatedState, className, enabled, ...options }: RequirementsChecklistContainerProps): ReactNode;
3905
+ declare function RequirementsChecklistContainer({ loading, error, className, enabled, ...options }: RequirementsChecklistContainerProps): ReactNode;
3786
3906
 
3787
3907
  interface RequirementsChecklistViewProps {
3788
3908
  state: RequirementsChecklistUiState;
3789
3909
  onEvent: (event: RequirementsChecklistUiEvent) => void;
3790
3910
  /** Optional loading slot. */
3791
3911
  loading?: ReactNode;
3792
- /** Optional error slot. */
3912
+ /** Replaces the error banner under the title. The title still renders. */
3793
3913
  error?: ReactNode;
3794
- /**
3795
- * Rendered when the user is not authenticated. Nothing is rendered when
3796
- * omitted; `RequirementsChecklistContainer` passes a connected sign-in card.
3797
- */
3798
- unauthenticatedState?: ReactNode;
3799
3914
  className?: string;
3800
3915
  }
3801
3916
  /**
3802
- * Renders the requirements checklist: its header, one row per requirement, the
3803
- * eligibility banner and the continue action. Pure: the rows arrive already
3804
- * shaped in `state`, and every interaction leaves through `onEvent`.
3917
+ * Renders the requirements checklist: its header, one row per requirement, and
3918
+ * the continue row. Pure: the rows arrive already shaped in `state`, and every
3919
+ * interaction leaves through `onEvent`.
3805
3920
  *
3806
3921
  * The flows the checklist can open (tax document, wallet connect, identity
3807
3922
  * verification) are composed by `RequirementsChecklistContainer`, which owns
@@ -5306,7 +5421,9 @@ interface UseCheckoutOfferTokenMetadataResult {
5306
5421
  * its chain; a `distribution` entry names the same token for a sale product,
5307
5422
  * so it is accepted as the fallback. `funding` entries name what a swap is
5308
5423
  * paid with, never what it sells, so they are skipped — the funding row has
5309
- * its own icon source in `stablecoinIconUrl`.
5424
+ * its own icon source in `stablecoinIconUrl`. That ordering is
5425
+ * `offerDisplayTokens`', shared with the catalogue's any-chain lookup; the
5426
+ * checkout adds only the chain it executes on.
5310
5427
  */
5311
5428
  declare function offerTokenIdentifier(offer: OfferDetail, chain: EthereumChain): TokenIdentifier | null;
5312
5429
  /**
@@ -5755,33 +5872,6 @@ interface UseOffersResult {
5755
5872
  */
5756
5873
  declare function useOffers(options?: UseOffersOptions): UseOffersResult;
5757
5874
 
5758
- interface UseOffersGridViewModelOptions {
5759
- /**
5760
- * Offers pre-fetched on the server (e.g. via `CoinListServer#offers.list()`).
5761
- * When provided, the client-side fetch is skipped entirely.
5762
- */
5763
- data?: Offer[];
5764
- /**
5765
- * Default `true`. When `false` nothing is fetched, so the hook can be called
5766
- * unconditionally while the grid is not needed yet.
5767
- */
5768
- enabled?: boolean;
5769
- /** Called with the domain offer behind the card the user clicked. */
5770
- onOfferClick?: (offer: Offer) => void;
5771
- }
5772
- interface UseOffersGridViewModelResult {
5773
- state: OffersGridUiState;
5774
- onEvent: (event: OffersGridUiEvent) => void;
5775
- }
5776
- /**
5777
- * Drives {@link OffersGridView}: loads the offers, formats them for the cards,
5778
- * and resolves a clicked card back to its domain offer for the host callback.
5779
- *
5780
- * Pass `enabled: false` to skip the fetch when the hook must be called but
5781
- * the grid is not needed yet.
5782
- */
5783
- declare function useOffersGridViewModel(options?: UseOffersGridViewModelOptions): UseOffersGridViewModelResult;
5784
-
5785
5875
  /**
5786
5876
  * A display-ready connect-wallet error: the core flow's machine-readable code
5787
5877
  * and `retryable` flag, plus copy for the UI.
@@ -6224,6 +6314,65 @@ interface UseErc20TokenBalancesResult {
6224
6314
  */
6225
6315
  declare function useErc20TokenBalances(options: UseErc20TokenBalancesOptions): UseErc20TokenBalancesResult;
6226
6316
 
6317
+ /**
6318
+ * The state of a token-registry snapshot load.
6319
+ *
6320
+ * `CONTENT` holds the whole snapshot, indexed: ask it
6321
+ * `TokenRegistrySnapshot.forOffer(registry, offer)` per card. `ERROR` means
6322
+ * the snapshot could not be read - the registry always publishes it, so this
6323
+ * is an outage or a blocked request, and callers render their own display
6324
+ * defaults for every offer rather than nothing. `DISABLED` means the hook was
6325
+ * switched off before an answer arrived, so there is nothing to render a
6326
+ * loading UI for. No `not-authenticated` reason: the registry is public.
6327
+ */
6328
+ type LoadTokenRegistryState = {
6329
+ type: 'DISABLED';
6330
+ } | {
6331
+ type: 'LOADING';
6332
+ } | {
6333
+ type: 'ERROR';
6334
+ reason: 'generic-error';
6335
+ } | {
6336
+ type: 'CONTENT';
6337
+ registry: TokenRegistrySnapshot;
6338
+ };
6339
+ interface UseTokenRegistryOptions {
6340
+ /**
6341
+ * The snapshot pre-fetched on the server (via `CoinListServer#tokens.list()`).
6342
+ * When provided, the hook indexes it as-is and skips the initial
6343
+ * client-side fetch; {@link UseTokenRegistryResult.refetch} still fetches.
6344
+ */
6345
+ data?: TokenMetadata[];
6346
+ /** When false: no request; see {@link LoadTokenRegistryState}. Default true. */
6347
+ enabled?: boolean;
6348
+ }
6349
+ interface UseTokenRegistryResult {
6350
+ state: LoadTokenRegistryState;
6351
+ /**
6352
+ * Fetches again: the recovery path after a transient `ERROR`, and the way
6353
+ * past a server seed (`data`), which only the first fetch honours. No-op
6354
+ * while disabled.
6355
+ */
6356
+ refetch: () => void;
6357
+ }
6358
+ /**
6359
+ * Loads the complete public token registry - every token on every chain the
6360
+ * SDK models, in one request - and indexes it for per-offer lookups. This is
6361
+ * what a catalogue mounts once, where `useTokenMetadata` is what a single
6362
+ * screen mounts for one token.
6363
+ *
6364
+ * No polling: registry content is immutable per version, so the answer does
6365
+ * not change under the page. `refetch` exists for error recovery and for
6366
+ * bypassing a server seed, not for freshness.
6367
+ *
6368
+ * Disabled without an answer in hand it reports `DISABLED` rather than
6369
+ * `LOADING` (nothing is in flight, so a spinner would wait forever) and
6370
+ * rather than an empty `CONTENT` (an empty snapshot asserts "the registry
6371
+ * lists nothing" - an answer this hook would not actually have). A seeded or
6372
+ * already-fetched `CONTENT` survives disabling.
6373
+ */
6374
+ declare function useTokenRegistry(options?: UseTokenRegistryOptions): UseTokenRegistryResult;
6375
+
6227
6376
  interface UseCoinListResult {
6228
6377
  /**
6229
6378
  * Indicates whether the CoinList client has been initialized and ready to use.
@@ -6304,6 +6453,29 @@ declare function offerIconUrl(offer: OfferDetail): AssetIconUrl | null;
6304
6453
  * edge length `AssetIcon` renders a checkout asset at.
6305
6454
  */
6306
6455
  declare function tokenLogoUrl(logo: TokenLogo, minWidth?: number): AssetIconUrl | null;
6456
+ /**
6457
+ * The `srcset` candidates for a registry logo, or `null` when the browser has
6458
+ * nothing to choose between.
6459
+ *
6460
+ * A raster logo ships webp variants at ascending widths (32, 64, 128, 256,
6461
+ * 512, capped at the source width), and listing every one with its width
6462
+ * descriptor lets the browser pick the smallest that covers the rendered size
6463
+ * at the screen's pixel density - a choice `tokenLogoUrl` can only make for
6464
+ * one width, and only at 1x. The registry's contract is that the variants
6465
+ * *are* the complete candidate list and the original is never merged in: the
6466
+ * largest variant already is the original's width (capped at 512), sharing
6467
+ * its URL below that. Candidates are listed by ascending width whatever order
6468
+ * the wire used. A vector logo scales itself and offers no candidates.
6469
+ *
6470
+ * A raster logo with no variants is unrepresentable under that contract, but
6471
+ * the type allows it, so the original stands in as the one candidate rather
6472
+ * than an empty `srcset` that would render nothing.
6473
+ *
6474
+ * The companion of `tokenLogoUrl`, not a replacement: `src` still carries the
6475
+ * one-width answer for a consumer that takes a single URL, and `srcset` is
6476
+ * only ever meaningful next to a `sizes` the renderer knows.
6477
+ */
6478
+ declare function tokenLogoSrcSet(logo: TokenLogo): string | null;
6307
6479
  /**
6308
6480
  * The artwork a checkout shows for the asset an offer sells.
6309
6481
  *
@@ -6417,4 +6589,4 @@ interface UseCountdownOptions {
6417
6589
  */
6418
6590
  declare function useCountdown({ until, tickMs, enabled, }: UseCountdownOptions): number | null;
6419
6591
 
6420
- export { type AuthState, type AuthorizeWalletParams, ChecklistStatus, CheckoutAssetUi, type CheckoutConfig, type CheckoutConfirmedWalletUi, CheckoutContainer, type CheckoutContainerProps, type CheckoutCtaUi, type CheckoutEmbeddedWalletUi, type CheckoutNetworkUi, type CheckoutSelectableInputAssetUi, type CheckoutStatusUi, type CheckoutWalletSelection, type CheckoutWalletTypeUi, type CheckoutWalletUi, type ClientAuthConfig, type ClientAuthNamespace, ClientAuthNamespaceImpl, type ClientAuthSession, type ClientCoinListTokenSaleNamespace, ClientCoinListTokenSaleNamespaceImpl, type ClientConfig, type ClientOndoNamespace, ClientOndoNamespaceImpl, type ClientRequirementsNamespace, ClientRequirementsNamespaceImpl, type ClientSuperstateSwapNamespace, ClientSuperstateSwapNamespaceImpl, type ClientSupportNamespace, ClientSupportNamespaceImpl, type CoinListClient, CoinListClientInitializationError, CoinListContext, CoinListContextProvider, type CoinListContextValue, CoinListProvider, type CoinListProviderProps, CoinListSignInButton, CoinListSignInCardContainer, type CoinListSignInCardContainerProps, type CoinListSignInCardUiEvent, type CoinListSignInCardUiState, CoinListSignInCardView, type CoinListSignInCardViewProps, CoinListStyleScope, type CoinListStyleScopeProps, type CoinListTokenSaleCheckoutConfig, type CompleteOAuthFailureReason, ConnectWallet, type ConnectWalletError, type ConnectWalletErrorCode, type ConnectWalletFlowError, type ConnectWalletFlowParams, type ConnectWalletFlowResult, ConnectWalletModalContainer, type ConnectWalletModalContainerProps, type ConnectWalletModalUiEvent, type ConnectWalletModalUiState, ConnectWalletModalView, type ConnectWalletModalViewProps, type ConnectWalletPhase, type ConnectWalletScreenUi, type ConnectWalletSignState, type ConnectWalletState, ConnectedWalletList, type ConnectedWalletListProps, type ConnectedWalletUi, ERC20_BALANCE_POLL_INTERVAL_MS, type Erc20AllowanceError, type Erc20AllowancePhase, type Erc20AllowanceResult, type Erc20ApprovalError, EvmWallet, type ExecuteOndoSwapParams, type ExecuteSwapParams, type ExecuteTokenSaleParams, IdentityVerificationContainer, type IdentityVerificationContainerProps, type IdentityVerificationUiEvent, type IdentityVerificationUiState, IdentityVerificationView, type IdentityVerificationViewProps, KycLevelName, type KycTokenErrorReason, type KycTokenState, type LoadOfferDetailsReason, type LoadOfferDetailsState, type LoadOffersReason, type LoadOffersState, type LoadOndoBuyTransactionState, type LoadOndoPriceState, type LoadOndoSellTransactionState, type LoadOndoTradingStatusState, type LoadOptionAddressesReason, type LoadOptionAddressesState, type LoadParticipationsReason, type LoadParticipationsState, type LoadRequirementsReason, type LoadRequirementsState, type LoadTokenMetadataState, Logger, OAUTH_CODE_VERIFIER_KEY, OAUTH_STATE_KEY, type OauthClientErrorReason, type OauthClientResult, OfferAssetCard, type OfferAssetCardProps, OfferAssetCardUi, OfferSaleCard, type OfferSaleCardProps, OfferSaleCardUi, OffersAssetGrid, type OffersAssetGridProps, OffersGridContainer, type OffersGridContainerProps, type OffersGridUiEvent, type OffersGridUiState, OffersGridView, type OffersGridViewProps, type OndoBuyAmountConfirmed, type OndoBuyAmountStepInput, type OndoBuyAmountUiEvent, type OndoBuyAmountUiState, type OndoBuyAmountValidation, OndoBuyAmountView, type OndoBuyAmountViewProps, OndoBuyCheckoutContainer, type OndoBuyCheckoutContainerProps, type OndoBuyCheckoutUiEvent, type OndoBuyCheckoutUiState, OndoBuyCheckoutView, type OndoBuyCheckoutViewProps, type OndoBuyExecutionResult, OndoBuyOrderConfirmed, type OndoBuyOrderPlaced, type OndoBuyOrderTerms, type OndoBuyPreparationResult, type OndoBuyQuoteStatusUi, type OndoBuyReviewStepInput, type OndoBuyReviewUiEvent, type OndoBuyReviewUiState, OndoBuyReviewView, type OndoBuyReviewViewProps, type OndoBuyStep, type OndoCheckoutConfig, OndoCheckoutError, type OndoCheckoutErrorProps, type OndoCheckoutErrorReason, type OndoLoadErrorReason, type OndoOrderConfirmedProps, type OndoOrderConfirmedUiEvent, type OndoOrderConfirmedUiState, type OndoOrderPlaced, type OndoOrderPlacedCore, type OndoSellAmountConfirmed, type OndoSellAmountStepInput, type OndoSellAmountUiEvent, type OndoSellAmountUiState, type OndoSellAmountValidation, OndoSellAmountView, type OndoSellAmountViewProps, type OndoSellAsset, type OndoSellBalanceUi, OndoSellCheckoutContainer, type OndoSellCheckoutContainerProps, type OndoSellCheckoutUiEvent, type OndoSellCheckoutUiState, OndoSellCheckoutView, type OndoSellCheckoutViewProps, type OndoSellExecutionResult, OndoSellOrderConfirmed, type OndoSellOrderConfirmedProps, type OndoSellOrderConfirmedUiEvent, type OndoSellOrderConfirmedUiState, type OndoSellOrderPlaced, type OndoSellOrderTerms, type OndoSellOutcomeUi, type OndoSellPreparationResult, type OndoSellQuoteStatusUi, type OndoSellReviewStepInput, type OndoSellReviewUiEvent, type OndoSellReviewUiState, OndoSellReviewView, type OndoSellReviewViewProps, type OndoSellSourceWalletUi, type OndoSellStep, type OndoSidebarPriceUi, type OndoSidebarUiState, OndoSidebarView, type OndoSidebarViewProps, type OndoSwapExecutionError, type OndoSwapExecutionPhase, type OndoSwapExecutionResult, type OndoSwapPreparationError, type OndoSwapPreparationPhase, type OndoSwapPreparationResult, type OndoWalletSelectStepInput, type OndoWalletSelectUiEvent, type OndoWalletSelectUiState, OndoWalletSelectView, type OndoWalletSelectViewProps, PinoLoggerOptions, type PrepareOndoBuyParams, type PrepareOndoSellParams, type PrepareOndoSwapParamsCore, type RequiredCheckoutConfig, RequirementItem, type RequirementItemProps, RequirementItemUi, RequirementStatus, RequirementVariant, RequirementsChecklistContainer, type RequirementsChecklistContainerProps, type RequirementsChecklistItemUi, type RequirementsChecklistUiEvent, type RequirementsChecklistUiState, RequirementsChecklistView, type RequirementsChecklistViewProps, type RequirementsData, type RequirementsVerificationUi, type SignState, SlippagePicker, type SlippagePickerProps, type SubmitErc20ApprovalResult, type SuperstateAmountConfirmed, type SuperstateAmountStepInput, type SuperstateAmountUiEvent, type SuperstateAmountUiState, type SuperstateAmountValidation, SuperstateAmountView, type SuperstateAmountViewProps, type SuperstateCheckoutConfig, SuperstateOrderConfirmed, type SuperstateOrderConfirmedProps, type SuperstateOrderConfirmedUiEvent, type SuperstateOrderConfirmedUiState, type SuperstateOrderPlaced, type SuperstateReviewStepInput, type SuperstateReviewUiEvent, type SuperstateReviewUiState, SuperstateReviewView, type SuperstateReviewViewProps, type SuperstateSidebarPriceUi, type SuperstateSidebarUiState, SuperstateSidebarView, type SuperstateSidebarViewProps, type SuperstateSlippageOptionUi, type SuperstateSlippageUi, SuperstateSwapCheckoutContainer, type SuperstateSwapCheckoutContainerProps, type SuperstateSwapCheckoutRetryUiEvent, type SuperstateSwapCheckoutUiEvent, type SuperstateSwapCheckoutUiState, SuperstateSwapCheckoutView, type SuperstateSwapCheckoutViewProps, type SuperstateSwapLoadErrorReason, type SuperstateSwapStep, type SuperstateWalletStepInput, type SuperstateWalletUiEvent, type SuperstateWalletUiState, SuperstateWalletView, type SuperstateWalletViewProps, type SwapExecutionError, type SwapExecutionPhase, type SwapExecutionResult, type SwapOutputTokenState, type TaxDocumentAddressParts, type TaxDocumentFieldUi, type TaxDocumentFields, TaxDocumentModalContainer, type TaxDocumentModalContainerProps, type TaxDocumentModalUiEvent, type TaxDocumentModalUiState, TaxDocumentModalView, type TaxDocumentModalViewProps, type TaxDocumentScreenUi, type TaxDocumentState, type TokenSaleExecutionError, type TokenSaleExecutionPhase, type TokenSaleExecutionResult, USDC_ICON_URL, USDT_ICON_URL, type UseCheckoutOfferTokenMetadataOptions, type UseCheckoutOfferTokenMetadataResult, type UseCoinListResult, type UseCoinListSignInCardViewModelOptions, type UseCoinListSignInCardViewModelResult, type UseCompleteOAuthOptions, type UseConnectWalletModalViewModelOptions, type UseConnectWalletModalViewModelResult, type UseConnectWalletOptions, type UseConnectWalletResult, type UseCountdownOptions, type UseErc20BalanceOptions, type UseErc20BalanceResult, type UseErc20TokenBalancesOptions, type UseErc20TokenBalancesResult, type UseIdentityVerificationViewModelOptions, type UseIdentityVerificationViewModelResult, type UseKycTokenResult, type UseOfferDetailsOptions, type UseOfferDetailsResult, type UseOffersGridViewModelOptions, type UseOffersGridViewModelResult, type UseOffersOptions, type UseOffersResult, type UseOndoBuyAmountViewModelOptions, type UseOndoBuyAmountViewModelResult, type UseOndoBuyCheckoutViewModelOptions, type UseOndoBuyCheckoutViewModelResult, type UseOndoBuyReviewViewModelOptions, type UseOndoBuyReviewViewModelResult, type UseOndoBuyTransactionOptions, type UseOndoBuyTransactionResult, type UseOndoPriceOptions, type UseOndoPriceResult, type UseOndoSellAmountViewModelOptions, type UseOndoSellAmountViewModelResult, type UseOndoSellCheckoutViewModelOptions, type UseOndoSellCheckoutViewModelResult, type UseOndoSellReviewViewModelOptions, type UseOndoSellReviewViewModelResult, type UseOndoSellTransactionOptions, type UseOndoSellTransactionResult, type UseOndoSidebarViewModelOptions, type UseOndoSidebarViewModelResult, type UseOndoTradingStatusOptions, type UseOndoTradingStatusResult, type UseOndoWalletSelectViewModelOptions, type UseOndoWalletSelectViewModelResult, type UseOptionAddressesOptions, type UseOptionAddressesResult, type UseParticipationsOptions, type UseParticipationsResult, type UseRequirementsChecklistViewModelOptions, type UseRequirementsChecklistViewModelResult, type UseRequirementsOptions, type UseRequirementsResult, type UseSuperstateAmountViewModelOptions, type UseSuperstateAmountViewModelResult, type UseSuperstateReviewViewModelOptions, type UseSuperstateReviewViewModelResult, type UseSuperstateSidebarViewModelOptions, type UseSuperstateSidebarViewModelResult, type UseSuperstateSwapCheckoutViewModelOptions, type UseSuperstateSwapCheckoutViewModelResult, type UseSuperstateWalletViewModelOptions, type UseSuperstateWalletViewModelResult, type UseSwapOutputTokenOptions, type UseSwapOutputTokenResult, type UseSwapQuoteOptions, type UseSwapQuoteResult, type UseTaxDocumentModalViewModelOptions, type UseTaxDocumentModalViewModelResult, type UseTaxDocumentOptions, type UseTaxDocumentResult, type UseTokenMetadataOptions, type UseTokenMetadataResult, VerificationOverlay, type VerificationOverlayProps, type WalletAuthorizationError, type WalletAuthorizationPhase, type WalletAuthorizationResult, WalletError, type WalletsStatus, authorizeWallet, classifyWalletError, connectExternalWalletFlow, createCoinListClient, defaultCheckoutConfig, ensureErc20Allowance, executeOndoSwap, executeSwap, executeTokenSale, formatCountdown, formatMonthYear, formatSaleCardCountdown, offerAssetIconUrl, offerIconUrl, offerTokenIdentifier, ondoLoadErrorReason, pinoClientLogger, prepareOndoBuy, prepareOndoSell, quoteIsStale, quoteOverAsks, stablecoinIconUrl, submitErc20Approval, tokenLogoUrl, tokenMetadataOf, useCheckoutOfferTokenMetadata, useCoinList, useCoinListSignInCardViewModel, useCompleteOAuth, useConnectWallet, useConnectWalletModalViewModel, useCountdown, useErc20Balance, useErc20TokenBalances, useIdentityVerificationViewModel, useKycToken, useOfferDetails, useOffers, useOffersGridViewModel, useOndoBuyAmountViewModel, useOndoBuyCheckoutViewModel, useOndoBuyReviewViewModel, useOndoBuyTransaction, useOndoPrice, useOndoSellAmountViewModel, useOndoSellCheckoutViewModel, useOndoSellReviewViewModel, useOndoSellTransaction, useOndoSidebarViewModel, useOndoTradingStatus, useOndoWalletSelectViewModel, useOptionAddresses, useParticipations, useRequirements, useRequirementsChecklistViewModel, useSuperstateAmountViewModel, useSuperstateReviewViewModel, useSuperstateSidebarViewModel, useSuperstateSwapCheckoutViewModel, useSuperstateWalletViewModel, useSwapOutputToken, useSwapQuote, useTaxDocument, useTaxDocumentModalViewModel, useTokenMetadata, validateAmount, validateSellAmount, validateSuperstateAmount };
6592
+ export { type AuthState, type AuthorizeWalletParams, ChecklistStatus, CheckoutAssetUi, type CheckoutConfig, type CheckoutConfirmedWalletUi, CheckoutContainer, type CheckoutContainerProps, type CheckoutCtaUi, type CheckoutEmbeddedWalletUi, type CheckoutNetworkUi, type CheckoutSelectableInputAssetUi, type CheckoutStatusUi, type CheckoutWalletSelection, type CheckoutWalletTypeUi, type CheckoutWalletUi, type ClientAuthConfig, type ClientAuthNamespace, ClientAuthNamespaceImpl, type ClientAuthSession, type ClientCoinListTokenSaleNamespace, ClientCoinListTokenSaleNamespaceImpl, type ClientConfig, type ClientOndoNamespace, ClientOndoNamespaceImpl, type ClientRequirementsNamespace, ClientRequirementsNamespaceImpl, type ClientSuperstateSwapNamespace, ClientSuperstateSwapNamespaceImpl, type ClientSupportNamespace, ClientSupportNamespaceImpl, type CoinListClient, CoinListClientInitializationError, CoinListContext, CoinListContextProvider, type CoinListContextValue, CoinListProvider, type CoinListProviderProps, CoinListSignInButton, CoinListSignInCardContainer, type CoinListSignInCardContainerProps, type CoinListSignInCardUiEvent, type CoinListSignInCardUiState, CoinListSignInCardView, type CoinListSignInCardViewProps, CoinListStyleScope, type CoinListStyleScopeProps, type CoinListTokenSaleCheckoutConfig, type CompleteOAuthFailureReason, ConnectWallet, type ConnectWalletError, type ConnectWalletErrorCode, type ConnectWalletFlowError, type ConnectWalletFlowParams, type ConnectWalletFlowResult, ConnectWalletModalContainer, type ConnectWalletModalContainerProps, type ConnectWalletModalUiEvent, type ConnectWalletModalUiState, ConnectWalletModalView, type ConnectWalletModalViewProps, type ConnectWalletPhase, type ConnectWalletScreenUi, type ConnectWalletSignState, type ConnectWalletState, ConnectedWalletList, type ConnectedWalletListProps, type ConnectedWalletUi, ERC20_BALANCE_POLL_INTERVAL_MS, type Erc20AllowanceError, type Erc20AllowancePhase, type Erc20AllowanceResult, type Erc20ApprovalError, EvmWallet, type ExecuteOndoSwapParams, type ExecuteSwapParams, type ExecuteTokenSaleParams, IdentityVerificationContainer, type IdentityVerificationContainerProps, type IdentityVerificationUiEvent, type IdentityVerificationUiState, IdentityVerificationView, type IdentityVerificationViewProps, KycLevelName, type KycTokenErrorReason, type KycTokenState, type LoadOfferDetailsReason, type LoadOfferDetailsState, type LoadOffersReason, type LoadOffersState, type LoadOndoBuyTransactionState, type LoadOndoPriceState, type LoadOndoSellTransactionState, type LoadOndoTradingStatusState, type LoadOptionAddressesReason, type LoadOptionAddressesState, type LoadParticipationsReason, type LoadParticipationsState, type LoadRequirementsReason, type LoadRequirementsState, type LoadTokenMetadataState, type LoadTokenRegistryState, Logger, type LogoImageUi, OAUTH_CODE_VERIFIER_KEY, OAUTH_STATE_KEY, type OauthClientErrorReason, type OauthClientResult, OfferAssetCard, type OfferAssetCardProps, OfferAssetCardUi, OfferLogoUi, OfferSaleCard, type OfferSaleCardProps, OfferSaleCardUi, OffersAssetGrid, type OffersAssetGridProps, OffersGridContainer, type OffersGridContainerProps, type OffersGridData, type OffersGridUiEvent, type OffersGridUiState, OffersGridView, type OffersGridViewProps, type OndoBuyAmountConfirmed, type OndoBuyAmountStepInput, type OndoBuyAmountUiEvent, type OndoBuyAmountUiState, type OndoBuyAmountValidation, OndoBuyAmountView, type OndoBuyAmountViewProps, OndoBuyCheckoutContainer, type OndoBuyCheckoutContainerProps, type OndoBuyCheckoutUiEvent, type OndoBuyCheckoutUiState, OndoBuyCheckoutView, type OndoBuyCheckoutViewProps, type OndoBuyExecutionResult, OndoBuyOrderConfirmed, type OndoBuyOrderPlaced, type OndoBuyOrderTerms, type OndoBuyPreparationResult, type OndoBuyQuoteStatusUi, type OndoBuyReviewStepInput, type OndoBuyReviewUiEvent, type OndoBuyReviewUiState, OndoBuyReviewView, type OndoBuyReviewViewProps, type OndoBuyStep, type OndoCheckoutConfig, OndoCheckoutError, type OndoCheckoutErrorProps, type OndoCheckoutErrorReason, type OndoLoadErrorReason, type OndoOrderConfirmedProps, type OndoOrderConfirmedUiEvent, type OndoOrderConfirmedUiState, type OndoOrderPlaced, type OndoOrderPlacedCore, type OndoSellAmountConfirmed, type OndoSellAmountStepInput, type OndoSellAmountUiEvent, type OndoSellAmountUiState, type OndoSellAmountValidation, OndoSellAmountView, type OndoSellAmountViewProps, type OndoSellAsset, type OndoSellBalanceUi, OndoSellCheckoutContainer, type OndoSellCheckoutContainerProps, type OndoSellCheckoutUiEvent, type OndoSellCheckoutUiState, OndoSellCheckoutView, type OndoSellCheckoutViewProps, type OndoSellExecutionResult, OndoSellOrderConfirmed, type OndoSellOrderConfirmedProps, type OndoSellOrderConfirmedUiEvent, type OndoSellOrderConfirmedUiState, type OndoSellOrderPlaced, type OndoSellOrderTerms, type OndoSellOutcomeUi, type OndoSellPreparationResult, type OndoSellQuoteStatusUi, type OndoSellReviewStepInput, type OndoSellReviewUiEvent, type OndoSellReviewUiState, OndoSellReviewView, type OndoSellReviewViewProps, type OndoSellSourceWalletUi, type OndoSellStep, type OndoSidebarPriceUi, type OndoSidebarUiState, OndoSidebarView, type OndoSidebarViewProps, type OndoSwapExecutionError, type OndoSwapExecutionPhase, type OndoSwapExecutionResult, type OndoSwapPreparationError, type OndoSwapPreparationPhase, type OndoSwapPreparationResult, type OndoWalletSelectStepInput, type OndoWalletSelectUiEvent, type OndoWalletSelectUiState, OndoWalletSelectView, type OndoWalletSelectViewProps, PinoLoggerOptions, type PrepareOndoBuyParams, type PrepareOndoSellParams, type PrepareOndoSwapParamsCore, type RequiredCheckoutConfig, RequirementItem, type RequirementItemProps, RequirementItemUi, RequirementStatus, RequirementVariant, RequirementsChecklistContainer, type RequirementsChecklistContainerProps, type RequirementsChecklistItemUi, type RequirementsChecklistUiEvent, type RequirementsChecklistUiState, RequirementsChecklistView, type RequirementsChecklistViewProps, type RequirementsData, type RequirementsVerificationUi, type SignState, SlippagePicker, type SlippagePickerProps, type SubmitErc20ApprovalResult, type SuperstateAmountConfirmed, type SuperstateAmountStepInput, type SuperstateAmountUiEvent, type SuperstateAmountUiState, type SuperstateAmountValidation, SuperstateAmountView, type SuperstateAmountViewProps, type SuperstateCheckoutConfig, SuperstateOrderConfirmed, type SuperstateOrderConfirmedProps, type SuperstateOrderConfirmedUiEvent, type SuperstateOrderConfirmedUiState, type SuperstateOrderPlaced, type SuperstateReviewStepInput, type SuperstateReviewUiEvent, type SuperstateReviewUiState, SuperstateReviewView, type SuperstateReviewViewProps, type SuperstateSidebarPriceUi, type SuperstateSidebarUiState, SuperstateSidebarView, type SuperstateSidebarViewProps, type SuperstateSlippageOptionUi, type SuperstateSlippageUi, SuperstateSwapCheckoutContainer, type SuperstateSwapCheckoutContainerProps, type SuperstateSwapCheckoutRetryUiEvent, type SuperstateSwapCheckoutUiEvent, type SuperstateSwapCheckoutUiState, SuperstateSwapCheckoutView, type SuperstateSwapCheckoutViewProps, type SuperstateSwapLoadErrorReason, type SuperstateSwapStep, type SuperstateWalletStepInput, type SuperstateWalletUiEvent, type SuperstateWalletUiState, SuperstateWalletView, type SuperstateWalletViewProps, type SwapExecutionError, type SwapExecutionPhase, type SwapExecutionResult, type SwapOutputTokenState, type TaxDocumentAddressParts, type TaxDocumentFieldUi, type TaxDocumentFields, TaxDocumentModalContainer, type TaxDocumentModalContainerProps, type TaxDocumentModalUiEvent, type TaxDocumentModalUiState, TaxDocumentModalView, type TaxDocumentModalViewProps, type TaxDocumentScreenUi, type TaxDocumentState, type TokenSaleExecutionError, type TokenSaleExecutionPhase, type TokenSaleExecutionResult, USDC_ICON_URL, USDT_ICON_URL, type UseCheckoutOfferTokenMetadataOptions, type UseCheckoutOfferTokenMetadataResult, type UseCoinListResult, type UseCoinListSignInCardViewModelOptions, type UseCoinListSignInCardViewModelResult, type UseCompleteOAuthOptions, type UseConnectWalletModalViewModelOptions, type UseConnectWalletModalViewModelResult, type UseConnectWalletOptions, type UseConnectWalletResult, type UseCountdownOptions, type UseErc20BalanceOptions, type UseErc20BalanceResult, type UseErc20TokenBalancesOptions, type UseErc20TokenBalancesResult, type UseIdentityVerificationViewModelOptions, type UseIdentityVerificationViewModelResult, type UseKycTokenResult, type UseOfferDetailsOptions, type UseOfferDetailsResult, type UseOffersGridViewModelOptions, type UseOffersGridViewModelResult, type UseOffersOptions, type UseOffersResult, type UseOndoBuyAmountViewModelOptions, type UseOndoBuyAmountViewModelResult, type UseOndoBuyCheckoutViewModelOptions, type UseOndoBuyCheckoutViewModelResult, type UseOndoBuyReviewViewModelOptions, type UseOndoBuyReviewViewModelResult, type UseOndoBuyTransactionOptions, type UseOndoBuyTransactionResult, type UseOndoPriceOptions, type UseOndoPriceResult, type UseOndoSellAmountViewModelOptions, type UseOndoSellAmountViewModelResult, type UseOndoSellCheckoutViewModelOptions, type UseOndoSellCheckoutViewModelResult, type UseOndoSellReviewViewModelOptions, type UseOndoSellReviewViewModelResult, type UseOndoSellTransactionOptions, type UseOndoSellTransactionResult, type UseOndoSidebarViewModelOptions, type UseOndoSidebarViewModelResult, type UseOndoTradingStatusOptions, type UseOndoTradingStatusResult, type UseOndoWalletSelectViewModelOptions, type UseOndoWalletSelectViewModelResult, type UseOptionAddressesOptions, type UseOptionAddressesResult, type UseParticipationsOptions, type UseParticipationsResult, type UseRequirementsChecklistViewModelOptions, type UseRequirementsChecklistViewModelResult, type UseRequirementsOptions, type UseRequirementsResult, type UseSuperstateAmountViewModelOptions, type UseSuperstateAmountViewModelResult, type UseSuperstateReviewViewModelOptions, type UseSuperstateReviewViewModelResult, type UseSuperstateSidebarViewModelOptions, type UseSuperstateSidebarViewModelResult, type UseSuperstateSwapCheckoutViewModelOptions, type UseSuperstateSwapCheckoutViewModelResult, type UseSuperstateWalletViewModelOptions, type UseSuperstateWalletViewModelResult, type UseSwapOutputTokenOptions, type UseSwapOutputTokenResult, type UseSwapQuoteOptions, type UseSwapQuoteResult, type UseTaxDocumentModalViewModelOptions, type UseTaxDocumentModalViewModelResult, type UseTaxDocumentOptions, type UseTaxDocumentResult, type UseTokenMetadataOptions, type UseTokenMetadataResult, type UseTokenRegistryOptions, type UseTokenRegistryResult, VerificationOverlay, type VerificationOverlayProps, type WalletAuthorizationError, type WalletAuthorizationPhase, type WalletAuthorizationResult, WalletError, type WalletsStatus, authorizeWallet, classifyWalletError, connectExternalWalletFlow, createCoinListClient, defaultCheckoutConfig, ensureErc20Allowance, executeOndoSwap, executeSwap, executeTokenSale, formatCountdown, formatMonthYear, formatSaleCardCountdown, offerAssetIconUrl, offerIconUrl, offerTokenIdentifier, ondoLoadErrorReason, pinoClientLogger, prepareOndoBuy, prepareOndoSell, quoteIsStale, quoteOverAsks, stablecoinIconUrl, submitErc20Approval, tokenLogoSrcSet, tokenLogoUrl, tokenMetadataOf, useCheckoutOfferTokenMetadata, useCoinList, useCoinListSignInCardViewModel, useCompleteOAuth, useConnectWallet, useConnectWalletModalViewModel, useCountdown, useErc20Balance, useErc20TokenBalances, useIdentityVerificationViewModel, useKycToken, useOfferDetails, useOffers, useOffersGridViewModel, useOndoBuyAmountViewModel, useOndoBuyCheckoutViewModel, useOndoBuyReviewViewModel, useOndoBuyTransaction, useOndoPrice, useOndoSellAmountViewModel, useOndoSellCheckoutViewModel, useOndoSellReviewViewModel, useOndoSellTransaction, useOndoSidebarViewModel, useOndoTradingStatus, useOndoWalletSelectViewModel, useOptionAddresses, useParticipations, useRequirements, useRequirementsChecklistViewModel, useSuperstateAmountViewModel, useSuperstateReviewViewModel, useSuperstateSidebarViewModel, useSuperstateSwapCheckoutViewModel, useSuperstateWalletViewModel, useSwapOutputToken, useSwapQuote, useTaxDocument, useTaxDocumentModalViewModel, useTokenMetadata, useTokenRegistry, validateAmount, validateSellAmount, validateSuperstateAmount };