@coinlist-co/react 0.12.1 → 0.12.2-rc.31c2f50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/{chunk-DCW7NQXH.js → chunk-4IZ2F732.js} +52 -19
  2. package/dist/chunk-4IZ2F732.js.map +1 -0
  3. package/dist/{chunk-MOE5S6CE.js → chunk-NBO5E2RO.js} +152 -6
  4. package/dist/chunk-NBO5E2RO.js.map +1 -0
  5. package/dist/{chunk-VH34YC3Q.js → chunk-UJYSXXJF.js} +168 -3
  6. package/dist/chunk-UJYSXXJF.js.map +1 -0
  7. package/dist/client/index.cjs +1270 -977
  8. package/dist/client/index.cjs.map +1 -1
  9. package/dist/client/index.d.cts +117 -38
  10. package/dist/client/index.d.ts +117 -38
  11. package/dist/client/index.js +1077 -925
  12. package/dist/client/index.js.map +1 -1
  13. package/dist/server/index.cjs +507 -116
  14. package/dist/server/index.cjs.map +1 -1
  15. package/dist/server/index.d.cts +65 -41
  16. package/dist/server/index.d.ts +65 -41
  17. package/dist/server/index.js +321 -65
  18. package/dist/server/index.js.map +1 -1
  19. package/dist/time-CFocgYyl.d.cts +50 -0
  20. package/dist/time-DvgN98Q9.d.ts +50 -0
  21. package/dist/{token-registry-snapshot-BNBNuDu1.d.ts → token-registry-snapshot-BsAfBL_b.d.ts} +9 -7
  22. package/dist/{token-registry-snapshot-CqI6dXM_.d.cts → token-registry-snapshot-Cc_eA5zM.d.cts} +9 -7
  23. package/dist/{tokens-namespace-CIWBtgt2.d.cts → tokens-namespace-D_XSpiS-.d.cts} +154 -19
  24. package/dist/{tokens-namespace-CIWBtgt2.d.ts → tokens-namespace-D_XSpiS-.d.ts} +154 -19
  25. package/dist/universal/index.cjs +333 -40
  26. package/dist/universal/index.cjs.map +1 -1
  27. package/dist/universal/index.d.cts +358 -5
  28. package/dist/universal/index.d.ts +358 -5
  29. package/dist/universal/index.js +28 -2
  30. package/package.json +1 -1
  31. package/dist/chunk-DCW7NQXH.js.map +0 -1
  32. package/dist/chunk-MOE5S6CE.js.map +0 -1
  33. package/dist/chunk-VH34YC3Q.js.map +0 -1
@@ -873,6 +873,19 @@ type HttpRequestAttributes = {
873
873
  /** Zero-based attempt index: 0 = first request, 1 = first retry, etc. */
874
874
  retryAttempt?: number;
875
875
  renewAttempted?: boolean;
876
+ /**
877
+ * `false` opts a request out of `requestRetryMiddleware`. For exchanges
878
+ * that must never be replayed: a refresh token is single-use, so re-sending
879
+ * one whose first attempt reached the server presents a token that has
880
+ * already been rotated away.
881
+ */
882
+ retryable?: boolean;
883
+ /**
884
+ * The user access token `attachSessionMiddleware` put on this request, so
885
+ * that a 401 can say *which* token was refused. Absent when the request
886
+ * went out with no user token.
887
+ */
888
+ sentWith?: OAuthAccessToken;
876
889
  clientCredentials?: ClientCredentialsOAuth;
877
890
  };
878
891
 
@@ -1061,6 +1074,45 @@ interface Config {
1061
1074
  * See {@link RpcConfig}.
1062
1075
  */
1063
1076
  readonly rpc?: RpcConfig;
1077
+ /**
1078
+ * Called when the SDK has **confirmed** that the user's CoinList session is
1079
+ * gone - its refresh token expired or was revoked - so you can clear your
1080
+ * own state and show a sign-in entry point.
1081
+ *
1082
+ * Confirmed, because the backend answers "rotated a moment ago by a
1083
+ * concurrent request" and "dead" identically. A single rejection is only a
1084
+ * suspicion: the SDK acts on it only once the same session is rejected again
1085
+ * after a settle window, so a lost refresh race never signs a user out.
1086
+ *
1087
+ * Each environment reports what it confirmed itself, so it fires in the
1088
+ * one that drove the confirmation:
1089
+ *
1090
+ * - **`CoinListClient`**: fires when the SDK moves from `'logged-in'` to
1091
+ * `'logged-out'` because your `getAccessToken` answered `null` (or the
1092
+ * very token the API just refused) twice, a second apart.
1093
+ * - **`CoinListServer`**: fires when the same process sees a refresh token
1094
+ * rejected twice, 5 to 60 seconds apart, or an expired session that
1095
+ * carries no refresh token. The SDK clears the session from your
1096
+ * `SessionStore` just before. The browser's confirmation, through your
1097
+ * `getAccessToken` endpoint, comes a second after the first rejection, so
1098
+ * it does not reach this verdict: when the browser drives renewal, expect
1099
+ * the `CoinListClient` callback, and this one only if a later request
1100
+ * presents the dead session 5 to 60 seconds on.
1101
+ *
1102
+ * It never fires on `auth.logout()`, on a 5xx, a timeout or a network
1103
+ * failure - those mean the SDK could not find out, not that the session
1104
+ * ended. Per environment it fires at most once per session, within a
1105
+ * 60-second memory: the server remembers a verdict for 60 seconds per
1106
+ * process (per JavaScript module instance, so Next.js middleware and route
1107
+ * handlers count separately). The same dead session presented again after
1108
+ * that, or to another instance, can be reported again, so make your handler
1109
+ * idempotent.
1110
+ *
1111
+ * It is called on the next microtask and not awaited. A rejection is
1112
+ * logged and dropped, so it cannot fail or delay the request that
1113
+ * discovered the expiry. A synchronous handler is written `async () => {}`.
1114
+ */
1115
+ readonly onSessionExpired?: () => Promise<void>;
1064
1116
  }
1065
1117
 
1066
1118
  /**
@@ -1215,13 +1267,13 @@ type InternalDebugEvent = {
1215
1267
  * union makes a `switch` over it exhaustive: adding a provider without
1216
1268
  * handling it becomes a compile error.
1217
1269
  */
1218
- type OfferTypeDto = 'coinlist::token_sale' | 'superstate::swap' | 'ondo::swap';
1270
+ type OfferTypeDto = 'coinlist::token_sale' | 'superstate::swap' | 'ondo::swap' | 'centrifuge::vault';
1219
1271
  /**
1220
1272
  * One variant per {@link OfferTypeDto}, mirroring frontline#1365, which keys
1221
1273
  * `GET /v1/offers` on `type`. Read `type` first: it decides which of the
1222
1274
  * fields below mean anything.
1223
1275
  */
1224
- type OfferDto = CoinListTokenSaleOfferDto | SuperstateSwapOfferDto | OndoSwapOfferDto;
1276
+ type OfferDto = CoinListTokenSaleOfferDto | SuperstateSwapOfferDto | OndoSwapOfferDto | CentrifugeVaultOfferDto;
1225
1277
  type OfferBaseDto = {
1226
1278
  id: string;
1227
1279
  slug: string;
@@ -1238,15 +1290,16 @@ type OfferEditorialDto = {
1238
1290
  starts_at: string;
1239
1291
  };
1240
1292
  /**
1241
- * What an Ondo swap sends in place of {@link OfferEditorialDto}. It trades
1242
- * continuously and runs no campaign, so the keys arrive as `null` and carry
1243
- * nothing. Declared so a fixture can describe the real payload; no `fromDto`
1244
- * reads them.
1293
+ * What an Ondo swap or a Centrifuge vault sends in place of
1294
+ * {@link OfferEditorialDto}. Neither runs a campaign, so the keys arrive as
1295
+ * `null` and carry nothing, and the backend may stop sending them at all.
1296
+ * Declared so a fixture can describe the real payload; no `fromDto` reads
1297
+ * them.
1245
1298
  */
1246
1299
  type OfferNoEditorialDto = {
1247
- tagline: null;
1248
- banner_url: null;
1249
- starts_at: null;
1300
+ tagline?: null;
1301
+ banner_url?: null;
1302
+ starts_at?: null;
1250
1303
  };
1251
1304
  type CoinListTokenSaleOfferDto = OfferBaseDto & OfferEditorialDto & {
1252
1305
  type: 'coinlist::token_sale';
@@ -1262,8 +1315,17 @@ type OndoSwapOfferDto = OfferBaseDto & OfferNoEditorialDto & {
1262
1315
  /** Publishing a swap does not require anyone to upload artwork for it. */
1263
1316
  logo_url: string | null;
1264
1317
  };
1318
+ type CentrifugeVaultOfferDto = OfferBaseDto & OfferNoEditorialDto & {
1319
+ type: 'centrifuge::vault';
1320
+ /** Publishing a vault does not require anyone to upload artwork for it. */
1321
+ logo_url: string | null;
1322
+ };
1265
1323
  type OfferTokenDto = {
1266
- role: 'funding' | 'distribution' | 'swap';
1324
+ /**
1325
+ * `vault` is the share token a `centrifuge::vault` offer issues for
1326
+ * deposits, as `swap` is the token a swap offer trades into.
1327
+ */
1328
+ role: 'funding' | 'distribution' | 'swap' | 'vault';
1267
1329
  chain: string;
1268
1330
  address: string;
1269
1331
  };
@@ -1294,10 +1356,16 @@ type OndoSwapOffer = OfferBase & {
1294
1356
  /** Null when nobody has uploaded artwork: a swap publishes without it. */
1295
1357
  logoUrl: string | null;
1296
1358
  };
1359
+ type CentrifugeVaultOffer = OfferBase & {
1360
+ type: 'centrifuge::vault';
1361
+ /** Null when nobody has uploaded artwork: a vault publishes without it. */
1362
+ logoUrl: string | null;
1363
+ };
1297
1364
  /**
1298
1365
  * A curated sale window and the hand-authored copy that goes with it. Every
1299
1366
  * variant that runs such a campaign carries all three, validated; an Ondo swap
1300
- * trades continuously, runs none, and carries none.
1367
+ * trades continuously and a Centrifuge vault takes deposits continuously, so
1368
+ * neither runs one and neither carries any.
1301
1369
  */
1302
1370
  type OfferEditorial = {
1303
1371
  tagline: string;
@@ -1317,7 +1385,7 @@ declare const OfferEditorial: {
1317
1385
  * `type` before reading anything beyond {@link OfferBase} - an Ondo swap has
1318
1386
  * no `startsAt` to read, and the compiler says so.
1319
1387
  */
1320
- type Offer = CoinListTokenSaleOffer | SuperstateSwapOffer | OndoSwapOffer;
1388
+ type Offer = CoinListTokenSaleOffer | SuperstateSwapOffer | OndoSwapOffer | CentrifugeVaultOffer;
1321
1389
  declare const Offer: {
1322
1390
  fromDto: (dto: OfferDto) => Offer;
1323
1391
  /**
@@ -1330,7 +1398,11 @@ declare const Offer: {
1330
1398
  */
1331
1399
  listFromDto: (dtos: OfferDto[]) => Offer[];
1332
1400
  };
1333
- type TokenRole = 'funding' | 'distribution' | 'swap';
1401
+ /**
1402
+ * `vault` is the share token a `centrifuge::vault` offer issues for deposits,
1403
+ * as `swap` is the token a swap offer trades into.
1404
+ */
1405
+ type TokenRole = 'funding' | 'distribution' | 'swap' | 'vault';
1334
1406
  type OfferToken = {
1335
1407
  role: TokenRole;
1336
1408
  chain: Chain;
@@ -1445,16 +1517,16 @@ type CreateParticipationDto = {
1445
1517
  * One variant per `OfferTypeDto`, the same split as `OfferDto` with what
1446
1518
  * `GET /v1/offers/:id` adds on top. Read `type` first.
1447
1519
  */
1448
- type OfferDetailDto = CoinListTokenSaleOfferDetailDto | SuperstateSwapOfferDetailDto | OndoSwapOfferDetailDto;
1449
- type CoinListTokenSaleOfferDetailDto = OfferDetailBaseDto & OfferEditorialDto & OfferDetailNoSwapContractsDto & {
1520
+ type OfferDetailDto = CoinListTokenSaleOfferDetailDto | SuperstateSwapOfferDetailDto | OndoSwapOfferDetailDto | CentrifugeVaultOfferDetailDto;
1521
+ type CoinListTokenSaleOfferDetailDto = OfferDetailBaseDto & OfferEditorialDto & OfferDetailNoSwapContractsDto & OfferDetailNoVaultContractsDto & {
1450
1522
  type: 'coinlist::token_sale';
1451
1523
  logo_url: string;
1452
1524
  };
1453
- type SuperstateSwapOfferDetailDto = OfferDetailBaseDto & OfferEditorialDto & OfferDetailNoSwapContractsDto & {
1525
+ type SuperstateSwapOfferDetailDto = OfferDetailBaseDto & OfferEditorialDto & OfferDetailNoSwapContractsDto & OfferDetailNoVaultContractsDto & {
1454
1526
  type: 'superstate::swap';
1455
1527
  logo_url: string | null;
1456
1528
  };
1457
- type OndoSwapOfferDetailDto = OfferDetailBaseDto & OfferNoEditorialDto & {
1529
+ type OndoSwapOfferDetailDto = OfferDetailBaseDto & OfferNoEditorialDto & OfferDetailNoVaultContractsDto & {
1458
1530
  type: 'ondo::swap';
1459
1531
  logo_url: string | null;
1460
1532
  /**
@@ -1463,6 +1535,19 @@ type OndoSwapOfferDetailDto = OfferDetailBaseDto & OfferNoEditorialDto & {
1463
1535
  */
1464
1536
  swap_contracts: OfferDetailSwapContractDto[];
1465
1537
  };
1538
+ type CentrifugeVaultOfferDetailDto = OfferDetailBaseDto & OfferNoEditorialDto & OfferDetailNoSwapContractsDto & {
1539
+ type: 'centrifuge::vault';
1540
+ logo_url: string | null;
1541
+ /**
1542
+ * Every chain this vault takes deposits on, with the CoinList proxy each
1543
+ * request goes through. `[]` is an answer - "deposits nowhere", which is
1544
+ * every vault until a proxy is deployed - and a missing key is not.
1545
+ */
1546
+ vault_contracts: OfferDetailVaultContractDto[];
1547
+ };
1548
+ type OfferDetailNoVaultContractsDto = {
1549
+ vault_contracts?: OfferDetailVaultContractDto[];
1550
+ };
1466
1551
  /**
1467
1552
  * An offer that does not settle through a CoinList swap contract sends `[]`
1468
1553
  * or no key at all, and either way there is nothing to read. Declared so a
@@ -1529,6 +1614,10 @@ type OfferDetailSwapContractDto = {
1529
1614
  chain: string;
1530
1615
  address: string;
1531
1616
  };
1617
+ type OfferDetailVaultContractDto = {
1618
+ chain: string;
1619
+ address: string;
1620
+ };
1532
1621
 
1533
1622
  type Ticker = Newtype<string, 'Ticker'>;
1534
1623
  declare const Ticker: (value: string) => Ticker;
@@ -1566,6 +1655,16 @@ type OndoSwapOfferDetail = OfferDetailBase & {
1566
1655
  */
1567
1656
  swapContracts: OfferSwapContract[];
1568
1657
  };
1658
+ type CentrifugeVaultOfferDetail = OfferDetailBase & {
1659
+ type: 'centrifuge::vault';
1660
+ /** Null when nobody has uploaded artwork: a vault publishes without it. */
1661
+ logoUrl: string | null;
1662
+ /**
1663
+ * Every chain this vault takes deposits on, with the CoinList proxy each
1664
+ * request goes through. Empty means it takes deposits nowhere yet.
1665
+ */
1666
+ vaultContracts: OfferVaultContract[];
1667
+ };
1569
1668
  type OfferDetailBase = {
1570
1669
  id: OfferId;
1571
1670
  slug: OfferSlug;
@@ -1643,13 +1742,38 @@ type OfferSwapContract = {
1643
1742
  declare const OfferSwapContract: {
1644
1743
  fromDto: (dto: OfferDetailSwapContractDto) => OfferSwapContract;
1645
1744
  };
1745
+ /**
1746
+ * A chain a Centrifuge vault takes deposits on, with the CoinList proxy the
1747
+ * request goes through. Not a token, so the token registry knows nothing about
1748
+ * it: it is the spender the user approves the funding token to, and the `to`
1749
+ * the buy and claim transactions are sent to.
1750
+ *
1751
+ * Its own type rather than an {@link OfferSwapContract}, although the shape is
1752
+ * the same, because the meaning is not: a swap contract serves every Ondo
1753
+ * asset on its chain, while a proxy belongs to one offer on one chain, so the
1754
+ * same chain carries a different address on every vault.
1755
+ */
1756
+ type OfferVaultContract = {
1757
+ chain: Chain;
1758
+ address: EvmContractAddress;
1759
+ };
1760
+ declare const OfferVaultContract: {
1761
+ fromDto: (dto: OfferDetailVaultContractDto) => OfferVaultContract;
1762
+ /**
1763
+ * Drops every proxy on a chain this SDK does not name, as
1764
+ * `OfferToken.listFromDto` does: frontline publishes the full offer-token
1765
+ * chain list, which runs ahead of {@link Chain}, and one unmodelled chain
1766
+ * should not throw away the proxies the SDK can use.
1767
+ */
1768
+ listFromDto: (dtos: OfferDetailVaultContractDto[]) => OfferVaultContract[];
1769
+ };
1646
1770
  /**
1647
1771
  * An offer as `GET /v1/offers/:id` serves it: the same union on `type` as
1648
1772
  * {@link Offer}, each variant carrying only the fields that mean something
1649
1773
  * for it. Narrow on `type` before reading anything beyond
1650
1774
  * {@link OfferDetailBase}.
1651
1775
  */
1652
- type OfferDetail = CoinListTokenSaleOfferDetail | SuperstateSwapOfferDetail | OndoSwapOfferDetail;
1776
+ type OfferDetail = CoinListTokenSaleOfferDetail | SuperstateSwapOfferDetail | OndoSwapOfferDetail | CentrifugeVaultOfferDetail;
1653
1777
  declare const OfferDetail: {
1654
1778
  fromDto: (dto: OfferDetailDto) => OfferDetail;
1655
1779
  };
@@ -2436,6 +2560,17 @@ declare const OndoSellTransaction: {
2436
2560
  */
2437
2561
  interface OndoNamespace {
2438
2562
  getTradingStatus(params: GetOndoTradingStatusParams): Promise<OndoTradingStatus>;
2563
+ /**
2564
+ * An indicative price for `params`' size, from Ondo's live market.
2565
+ *
2566
+ * Ondo refuses to quote while the market is closed or paused, or the asset
2567
+ * is paused or closed for the session - including for about a minute at
2568
+ * every US session change, when `getTradingStatus` may still have reported
2569
+ * the asset tradable. The request then rejects with a 409 carrying
2570
+ * `code: "not_tradable"`; tell it apart from a failure with
2571
+ * {@link isOndoNotTradableError}. Retrying before the market opens fails the
2572
+ * same way.
2573
+ */
2439
2574
  getQuote(params: GetOndoQuoteParams): Promise<OndoQuote>;
2440
2575
  /**
2441
2576
  * Builds a purchase for a specific wallet and deposit: spends an attestation
@@ -3298,4 +3433,4 @@ declare class TokensNamespaceImpl implements TokensNamespace {
3298
3433
  list(chain?: EthereumChain): Promise<TokenMetadata[]>;
3299
3434
  }
3300
3435
 
3301
- export { OndoTradingStatus as $, AuthorizationCode as A, BlockchainAmount as B, CodeVerifier as C, TokenMetadata as D, type Erc20Namespace as E, type OfferType as F, type OndoSwapOfferDetail as G, type CoinListTokenSaleOfferDetail as H, type SuperstateSwapOfferDetail as I, Offer as J, RequirementStatusInfo as K, type Logger as L, type RequirementType as M, type RequirementStatusValue as N, OfferId as O, Participation as P, OfferOptionAddress as Q, type RequirementsNamespace as R, type SuperstateSwapNamespace as S, type TokensNamespace as T, type UniversalNamespaceContext as U, RequirementId as V, type WalletError as W, type KycLevelName as X, DocumentSubmission as Y, type WalletChallengeType as Z, type PinoLoggerOptions as _, EthereumChain as a, type GetTokenBalanceParams as a$, AssetDecimals as a0, type BuildOndoBuyParams as a1, type BuildOndoSellParams as a2, OndoQuote as a3, type OndoQuoteSize as a4, type TokenIdentifier as a5, OfferOptionAddressId as a6, TokenLogo as a7, type DebugEvent as a8, type FrontlineEventId as a9, type Newtype as aA, type AllowWalletParams as aB, AllowWalletResponse as aC, Asset as aD, AssetCode as aE, Blockchain as aF, type BuildOndoSwapParamsCore as aG, Chain as aH, ClientId as aI, CodeChallenge as aJ, type CoinListTokenSaleOffer as aK, ConnectExternalWalletParams as aL, type CreateKycTokenParams as aM, CreateParticipationParams as aN, CreateWalletOwnershipChallengeParams as aO, Cursor as aP, type DocumentFormType as aQ, type DocumentSubmissionStatus as aR, type DocumentType as aS, ETHEREUM_CHAINS as aT, Erc20NamespaceImpl as aU, FaqItem as aV, type GetOndoQuoteParams as aW, type GetOndoTradingStatusParams as aX, type GetSwapAuthorizationParams as aY, type GetSwapPreviewParams as aZ, type GetTokenAllowanceParams as a_, HttpError as aa, type HttpResponse as ab, KycToken as ac, type LogBinding as ad, type LogBindings as ae, type LogCause as af, type LogLevel as ag, type LogScope as ah, type LogValue as ai, type ProductionLogLevel as aj, RedactedWalletError as ak, type RequestId as al, type RpcFailureReason as am, type SafeEvent as an, type SafeFields as ao, type UnredactedFields as ap, OAuthSession as aq, ClientCredentialsOAuth as ar, ClientSecret as as, type Sender as at, PaginationParams as au, PaginatedResponse as av, DecimalString as aw, SwapStatus as ax, type Uint256 as ay, KnownAssetSymbol as az, EvmContractAddress as b, HexEncodedTransactionData as b0, Isin as b1, Iso2CountryCode as b2, Link as b3, type ListOptionAddressesParams as b4, MAX_ASSET_DECIMALS as b5, MAX_UINT_256 as b6, Milestone as b7, OAuthRefreshToken as b8, type OfferBase as b9, SOLANA_CHAINS as bA, STABLE_DECIMALS as bB, SolanaChain as bC, type SubmitDocumentParams as bD, type SuperstateSwapOffer as bE, type SwapContractRef as bF, SwapPreview as bG, TermItem as bH, Ticker as bI, type TokenLogoImage as bJ, TokenLogoUrl as bK, type TokenRole as bL, TokensNamespaceImpl as bM, type Tx as bN, WalletAddress as bO, WalletOwnershipChallenge as bP, type WalletProtocol as bQ, WalletsNamespaceImpl as bR, apiErrorCode as bS, assertUint256 as bT, isChain as bU, isOfferType as bV, parseUint256 as bW, type OfferDetailBase as ba, OfferEditorial as bb, OfferOption as bc, OfferOptionSlug as bd, OfferSlug as be, OfferToken as bf, OffersNamespaceImpl as bg, type OndoQuoteDuration as bh, type OndoSellOutcome as bi, type OndoSwapOffer as bj, PKCEState as bk, type PaginatedResponseDto as bl, ParticipationId as bm, type ParticipationStatus as bn, ParticipationsPaginationParams as bo, PauseFlags as bp, Pii as bq, PiiAddress as br, PiiJurisdiction as bs, type PiiKind as bt, type QueryParamValue as bu, type QueryParamValues as bv, RedirectUri as bw, type RemoveOptionAddressParams as bx, type RequirementActionNeededReason as by, type RpcConfig as bz, type CoinListTokenSaleNamespace as c, OfferOptionId as d, AssetId as e, CoinListTokenSaleNamespaceImpl as f, type OndoNamespace as g, AssetSymbol as h, OfferSwapContract as i, OndoBuyTransaction as j, OndoSellTransaction as k, type OndoSwapTransactionCore as l, type OrderBookSide as m, OndoNamespaceImpl as n, type WalletsNamespace as o, Bps as p, EvmWalletAddress as q, SuperstateSwapNamespaceImpl as r, Requirement as s, RequirementsNamespaceImpl as t, type Config as u, type OAuthAccessToken as v, type OffersNamespace as w, StablecoinSymbol as x, type Erc20Asset as y, OfferDetail as z };
3436
+ export { type PinoLoggerOptions as $, AuthorizationCode as A, BlockchainAmount as B, CodeVerifier as C, TokenMetadata as D, type Erc20Namespace as E, type CentrifugeVaultOfferDetail as F, type OfferType as G, type OndoSwapOfferDetail as H, type CoinListTokenSaleOfferDetail as I, type SuperstateSwapOfferDetail as J, Offer as K, type Logger as L, RequirementStatusInfo as M, type RequirementType as N, OfferId as O, Participation as P, type RequirementStatusValue as Q, type RequirementsNamespace as R, type SuperstateSwapNamespace as S, type TokensNamespace as T, type UniversalNamespaceContext as U, OfferOptionAddress as V, type WalletError as W, RequirementId as X, type KycLevelName as Y, DocumentSubmission as Z, type WalletChallengeType as _, EthereumChain as a, type GetSwapAuthorizationParams as a$, OndoTradingStatus as a0, AssetDecimals as a1, type BuildOndoBuyParams as a2, type BuildOndoSellParams as a3, OndoQuote as a4, type OndoQuoteSize as a5, type TokenIdentifier as a6, OfferOptionAddressId as a7, TokenLogo as a8, type DebugEvent as a9, KnownAssetSymbol as aA, type Tx as aB, type Newtype as aC, type AllowWalletParams as aD, AllowWalletResponse as aE, Asset as aF, AssetCode as aG, Blockchain as aH, type BuildOndoSwapParamsCore as aI, type CentrifugeVaultOffer as aJ, Chain as aK, ClientId as aL, CodeChallenge as aM, type CoinListTokenSaleOffer as aN, ConnectExternalWalletParams as aO, type CreateKycTokenParams as aP, CreateParticipationParams as aQ, CreateWalletOwnershipChallengeParams as aR, Cursor as aS, type DocumentFormType as aT, type DocumentSubmissionStatus as aU, type DocumentType as aV, ETHEREUM_CHAINS as aW, Erc20NamespaceImpl as aX, FaqItem as aY, type GetOndoQuoteParams as aZ, type GetOndoTradingStatusParams as a_, type FrontlineEventId as aa, HttpError as ab, type HttpResponse as ac, KycToken as ad, type LogBinding as ae, type LogBindings as af, type LogCause as ag, type LogLevel as ah, type LogScope as ai, type LogValue as aj, type ProductionLogLevel as ak, RedactedWalletError as al, type RequestId as am, type RpcFailureReason as an, type SafeEvent as ao, type SafeFields as ap, type UnredactedFields as aq, OAuthSession as ar, ClientCredentialsOAuth as as, type Sender as at, PaginationParams as au, PaginatedResponse as av, ClientSecret as aw, DecimalString as ax, SwapStatus as ay, type Uint256 as az, EvmContractAddress as b, type GetSwapPreviewParams as b0, type GetTokenAllowanceParams as b1, type GetTokenBalanceParams as b2, HexEncodedTransactionData as b3, Isin as b4, Iso2CountryCode as b5, Link as b6, type ListOptionAddressesParams as b7, MAX_ASSET_DECIMALS as b8, MAX_UINT_256 as b9, RedirectUri as bA, type RemoveOptionAddressParams as bB, type RequirementActionNeededReason as bC, type RpcConfig as bD, SOLANA_CHAINS as bE, STABLE_DECIMALS as bF, SolanaChain as bG, type SubmitDocumentParams as bH, type SuperstateSwapOffer as bI, type SwapContractRef as bJ, SwapPreview as bK, TermItem as bL, Ticker as bM, type TokenLogoImage as bN, TokenLogoUrl as bO, type TokenRole as bP, TokensNamespaceImpl as bQ, WalletAddress as bR, WalletOwnershipChallenge as bS, type WalletProtocol as bT, WalletsNamespaceImpl as bU, apiErrorCode as bV, assertUint256 as bW, isChain as bX, isOfferType as bY, parseUint256 as bZ, Milestone as ba, OAuthRefreshToken as bb, type OfferBase as bc, type OfferDetailBase as bd, OfferEditorial as be, OfferOption as bf, OfferOptionSlug as bg, OfferSlug as bh, OfferToken as bi, OfferVaultContract as bj, OffersNamespaceImpl as bk, type OndoQuoteDuration as bl, type OndoSellOutcome as bm, type OndoSwapOffer as bn, PKCEState as bo, type PaginatedResponseDto as bp, ParticipationId as bq, type ParticipationStatus as br, ParticipationsPaginationParams as bs, PauseFlags as bt, Pii as bu, PiiAddress as bv, PiiJurisdiction as bw, type PiiKind as bx, type QueryParamValue as by, type QueryParamValues as bz, type CoinListTokenSaleNamespace as c, OfferOptionId as d, AssetId as e, CoinListTokenSaleNamespaceImpl as f, type OndoNamespace as g, AssetSymbol as h, OfferSwapContract as i, OndoBuyTransaction as j, OndoSellTransaction as k, type OndoSwapTransactionCore as l, type OrderBookSide as m, OndoNamespaceImpl as n, type WalletsNamespace as o, Bps as p, EvmWalletAddress as q, SuperstateSwapNamespaceImpl as r, Requirement as s, RequirementsNamespaceImpl as t, type Config as u, type OAuthAccessToken as v, type OffersNamespace as w, StablecoinSymbol as x, type Erc20Asset as y, OfferDetail as z };
@@ -873,6 +873,19 @@ type HttpRequestAttributes = {
873
873
  /** Zero-based attempt index: 0 = first request, 1 = first retry, etc. */
874
874
  retryAttempt?: number;
875
875
  renewAttempted?: boolean;
876
+ /**
877
+ * `false` opts a request out of `requestRetryMiddleware`. For exchanges
878
+ * that must never be replayed: a refresh token is single-use, so re-sending
879
+ * one whose first attempt reached the server presents a token that has
880
+ * already been rotated away.
881
+ */
882
+ retryable?: boolean;
883
+ /**
884
+ * The user access token `attachSessionMiddleware` put on this request, so
885
+ * that a 401 can say *which* token was refused. Absent when the request
886
+ * went out with no user token.
887
+ */
888
+ sentWith?: OAuthAccessToken;
876
889
  clientCredentials?: ClientCredentialsOAuth;
877
890
  };
878
891
 
@@ -1061,6 +1074,45 @@ interface Config {
1061
1074
  * See {@link RpcConfig}.
1062
1075
  */
1063
1076
  readonly rpc?: RpcConfig;
1077
+ /**
1078
+ * Called when the SDK has **confirmed** that the user's CoinList session is
1079
+ * gone - its refresh token expired or was revoked - so you can clear your
1080
+ * own state and show a sign-in entry point.
1081
+ *
1082
+ * Confirmed, because the backend answers "rotated a moment ago by a
1083
+ * concurrent request" and "dead" identically. A single rejection is only a
1084
+ * suspicion: the SDK acts on it only once the same session is rejected again
1085
+ * after a settle window, so a lost refresh race never signs a user out.
1086
+ *
1087
+ * Each environment reports what it confirmed itself, so it fires in the
1088
+ * one that drove the confirmation:
1089
+ *
1090
+ * - **`CoinListClient`**: fires when the SDK moves from `'logged-in'` to
1091
+ * `'logged-out'` because your `getAccessToken` answered `null` (or the
1092
+ * very token the API just refused) twice, a second apart.
1093
+ * - **`CoinListServer`**: fires when the same process sees a refresh token
1094
+ * rejected twice, 5 to 60 seconds apart, or an expired session that
1095
+ * carries no refresh token. The SDK clears the session from your
1096
+ * `SessionStore` just before. The browser's confirmation, through your
1097
+ * `getAccessToken` endpoint, comes a second after the first rejection, so
1098
+ * it does not reach this verdict: when the browser drives renewal, expect
1099
+ * the `CoinListClient` callback, and this one only if a later request
1100
+ * presents the dead session 5 to 60 seconds on.
1101
+ *
1102
+ * It never fires on `auth.logout()`, on a 5xx, a timeout or a network
1103
+ * failure - those mean the SDK could not find out, not that the session
1104
+ * ended. Per environment it fires at most once per session, within a
1105
+ * 60-second memory: the server remembers a verdict for 60 seconds per
1106
+ * process (per JavaScript module instance, so Next.js middleware and route
1107
+ * handlers count separately). The same dead session presented again after
1108
+ * that, or to another instance, can be reported again, so make your handler
1109
+ * idempotent.
1110
+ *
1111
+ * It is called on the next microtask and not awaited. A rejection is
1112
+ * logged and dropped, so it cannot fail or delay the request that
1113
+ * discovered the expiry. A synchronous handler is written `async () => {}`.
1114
+ */
1115
+ readonly onSessionExpired?: () => Promise<void>;
1064
1116
  }
1065
1117
 
1066
1118
  /**
@@ -1215,13 +1267,13 @@ type InternalDebugEvent = {
1215
1267
  * union makes a `switch` over it exhaustive: adding a provider without
1216
1268
  * handling it becomes a compile error.
1217
1269
  */
1218
- type OfferTypeDto = 'coinlist::token_sale' | 'superstate::swap' | 'ondo::swap';
1270
+ type OfferTypeDto = 'coinlist::token_sale' | 'superstate::swap' | 'ondo::swap' | 'centrifuge::vault';
1219
1271
  /**
1220
1272
  * One variant per {@link OfferTypeDto}, mirroring frontline#1365, which keys
1221
1273
  * `GET /v1/offers` on `type`. Read `type` first: it decides which of the
1222
1274
  * fields below mean anything.
1223
1275
  */
1224
- type OfferDto = CoinListTokenSaleOfferDto | SuperstateSwapOfferDto | OndoSwapOfferDto;
1276
+ type OfferDto = CoinListTokenSaleOfferDto | SuperstateSwapOfferDto | OndoSwapOfferDto | CentrifugeVaultOfferDto;
1225
1277
  type OfferBaseDto = {
1226
1278
  id: string;
1227
1279
  slug: string;
@@ -1238,15 +1290,16 @@ type OfferEditorialDto = {
1238
1290
  starts_at: string;
1239
1291
  };
1240
1292
  /**
1241
- * What an Ondo swap sends in place of {@link OfferEditorialDto}. It trades
1242
- * continuously and runs no campaign, so the keys arrive as `null` and carry
1243
- * nothing. Declared so a fixture can describe the real payload; no `fromDto`
1244
- * reads them.
1293
+ * What an Ondo swap or a Centrifuge vault sends in place of
1294
+ * {@link OfferEditorialDto}. Neither runs a campaign, so the keys arrive as
1295
+ * `null` and carry nothing, and the backend may stop sending them at all.
1296
+ * Declared so a fixture can describe the real payload; no `fromDto` reads
1297
+ * them.
1245
1298
  */
1246
1299
  type OfferNoEditorialDto = {
1247
- tagline: null;
1248
- banner_url: null;
1249
- starts_at: null;
1300
+ tagline?: null;
1301
+ banner_url?: null;
1302
+ starts_at?: null;
1250
1303
  };
1251
1304
  type CoinListTokenSaleOfferDto = OfferBaseDto & OfferEditorialDto & {
1252
1305
  type: 'coinlist::token_sale';
@@ -1262,8 +1315,17 @@ type OndoSwapOfferDto = OfferBaseDto & OfferNoEditorialDto & {
1262
1315
  /** Publishing a swap does not require anyone to upload artwork for it. */
1263
1316
  logo_url: string | null;
1264
1317
  };
1318
+ type CentrifugeVaultOfferDto = OfferBaseDto & OfferNoEditorialDto & {
1319
+ type: 'centrifuge::vault';
1320
+ /** Publishing a vault does not require anyone to upload artwork for it. */
1321
+ logo_url: string | null;
1322
+ };
1265
1323
  type OfferTokenDto = {
1266
- role: 'funding' | 'distribution' | 'swap';
1324
+ /**
1325
+ * `vault` is the share token a `centrifuge::vault` offer issues for
1326
+ * deposits, as `swap` is the token a swap offer trades into.
1327
+ */
1328
+ role: 'funding' | 'distribution' | 'swap' | 'vault';
1267
1329
  chain: string;
1268
1330
  address: string;
1269
1331
  };
@@ -1294,10 +1356,16 @@ type OndoSwapOffer = OfferBase & {
1294
1356
  /** Null when nobody has uploaded artwork: a swap publishes without it. */
1295
1357
  logoUrl: string | null;
1296
1358
  };
1359
+ type CentrifugeVaultOffer = OfferBase & {
1360
+ type: 'centrifuge::vault';
1361
+ /** Null when nobody has uploaded artwork: a vault publishes without it. */
1362
+ logoUrl: string | null;
1363
+ };
1297
1364
  /**
1298
1365
  * A curated sale window and the hand-authored copy that goes with it. Every
1299
1366
  * variant that runs such a campaign carries all three, validated; an Ondo swap
1300
- * trades continuously, runs none, and carries none.
1367
+ * trades continuously and a Centrifuge vault takes deposits continuously, so
1368
+ * neither runs one and neither carries any.
1301
1369
  */
1302
1370
  type OfferEditorial = {
1303
1371
  tagline: string;
@@ -1317,7 +1385,7 @@ declare const OfferEditorial: {
1317
1385
  * `type` before reading anything beyond {@link OfferBase} - an Ondo swap has
1318
1386
  * no `startsAt` to read, and the compiler says so.
1319
1387
  */
1320
- type Offer = CoinListTokenSaleOffer | SuperstateSwapOffer | OndoSwapOffer;
1388
+ type Offer = CoinListTokenSaleOffer | SuperstateSwapOffer | OndoSwapOffer | CentrifugeVaultOffer;
1321
1389
  declare const Offer: {
1322
1390
  fromDto: (dto: OfferDto) => Offer;
1323
1391
  /**
@@ -1330,7 +1398,11 @@ declare const Offer: {
1330
1398
  */
1331
1399
  listFromDto: (dtos: OfferDto[]) => Offer[];
1332
1400
  };
1333
- type TokenRole = 'funding' | 'distribution' | 'swap';
1401
+ /**
1402
+ * `vault` is the share token a `centrifuge::vault` offer issues for deposits,
1403
+ * as `swap` is the token a swap offer trades into.
1404
+ */
1405
+ type TokenRole = 'funding' | 'distribution' | 'swap' | 'vault';
1334
1406
  type OfferToken = {
1335
1407
  role: TokenRole;
1336
1408
  chain: Chain;
@@ -1445,16 +1517,16 @@ type CreateParticipationDto = {
1445
1517
  * One variant per `OfferTypeDto`, the same split as `OfferDto` with what
1446
1518
  * `GET /v1/offers/:id` adds on top. Read `type` first.
1447
1519
  */
1448
- type OfferDetailDto = CoinListTokenSaleOfferDetailDto | SuperstateSwapOfferDetailDto | OndoSwapOfferDetailDto;
1449
- type CoinListTokenSaleOfferDetailDto = OfferDetailBaseDto & OfferEditorialDto & OfferDetailNoSwapContractsDto & {
1520
+ type OfferDetailDto = CoinListTokenSaleOfferDetailDto | SuperstateSwapOfferDetailDto | OndoSwapOfferDetailDto | CentrifugeVaultOfferDetailDto;
1521
+ type CoinListTokenSaleOfferDetailDto = OfferDetailBaseDto & OfferEditorialDto & OfferDetailNoSwapContractsDto & OfferDetailNoVaultContractsDto & {
1450
1522
  type: 'coinlist::token_sale';
1451
1523
  logo_url: string;
1452
1524
  };
1453
- type SuperstateSwapOfferDetailDto = OfferDetailBaseDto & OfferEditorialDto & OfferDetailNoSwapContractsDto & {
1525
+ type SuperstateSwapOfferDetailDto = OfferDetailBaseDto & OfferEditorialDto & OfferDetailNoSwapContractsDto & OfferDetailNoVaultContractsDto & {
1454
1526
  type: 'superstate::swap';
1455
1527
  logo_url: string | null;
1456
1528
  };
1457
- type OndoSwapOfferDetailDto = OfferDetailBaseDto & OfferNoEditorialDto & {
1529
+ type OndoSwapOfferDetailDto = OfferDetailBaseDto & OfferNoEditorialDto & OfferDetailNoVaultContractsDto & {
1458
1530
  type: 'ondo::swap';
1459
1531
  logo_url: string | null;
1460
1532
  /**
@@ -1463,6 +1535,19 @@ type OndoSwapOfferDetailDto = OfferDetailBaseDto & OfferNoEditorialDto & {
1463
1535
  */
1464
1536
  swap_contracts: OfferDetailSwapContractDto[];
1465
1537
  };
1538
+ type CentrifugeVaultOfferDetailDto = OfferDetailBaseDto & OfferNoEditorialDto & OfferDetailNoSwapContractsDto & {
1539
+ type: 'centrifuge::vault';
1540
+ logo_url: string | null;
1541
+ /**
1542
+ * Every chain this vault takes deposits on, with the CoinList proxy each
1543
+ * request goes through. `[]` is an answer - "deposits nowhere", which is
1544
+ * every vault until a proxy is deployed - and a missing key is not.
1545
+ */
1546
+ vault_contracts: OfferDetailVaultContractDto[];
1547
+ };
1548
+ type OfferDetailNoVaultContractsDto = {
1549
+ vault_contracts?: OfferDetailVaultContractDto[];
1550
+ };
1466
1551
  /**
1467
1552
  * An offer that does not settle through a CoinList swap contract sends `[]`
1468
1553
  * or no key at all, and either way there is nothing to read. Declared so a
@@ -1529,6 +1614,10 @@ type OfferDetailSwapContractDto = {
1529
1614
  chain: string;
1530
1615
  address: string;
1531
1616
  };
1617
+ type OfferDetailVaultContractDto = {
1618
+ chain: string;
1619
+ address: string;
1620
+ };
1532
1621
 
1533
1622
  type Ticker = Newtype<string, 'Ticker'>;
1534
1623
  declare const Ticker: (value: string) => Ticker;
@@ -1566,6 +1655,16 @@ type OndoSwapOfferDetail = OfferDetailBase & {
1566
1655
  */
1567
1656
  swapContracts: OfferSwapContract[];
1568
1657
  };
1658
+ type CentrifugeVaultOfferDetail = OfferDetailBase & {
1659
+ type: 'centrifuge::vault';
1660
+ /** Null when nobody has uploaded artwork: a vault publishes without it. */
1661
+ logoUrl: string | null;
1662
+ /**
1663
+ * Every chain this vault takes deposits on, with the CoinList proxy each
1664
+ * request goes through. Empty means it takes deposits nowhere yet.
1665
+ */
1666
+ vaultContracts: OfferVaultContract[];
1667
+ };
1569
1668
  type OfferDetailBase = {
1570
1669
  id: OfferId;
1571
1670
  slug: OfferSlug;
@@ -1643,13 +1742,38 @@ type OfferSwapContract = {
1643
1742
  declare const OfferSwapContract: {
1644
1743
  fromDto: (dto: OfferDetailSwapContractDto) => OfferSwapContract;
1645
1744
  };
1745
+ /**
1746
+ * A chain a Centrifuge vault takes deposits on, with the CoinList proxy the
1747
+ * request goes through. Not a token, so the token registry knows nothing about
1748
+ * it: it is the spender the user approves the funding token to, and the `to`
1749
+ * the buy and claim transactions are sent to.
1750
+ *
1751
+ * Its own type rather than an {@link OfferSwapContract}, although the shape is
1752
+ * the same, because the meaning is not: a swap contract serves every Ondo
1753
+ * asset on its chain, while a proxy belongs to one offer on one chain, so the
1754
+ * same chain carries a different address on every vault.
1755
+ */
1756
+ type OfferVaultContract = {
1757
+ chain: Chain;
1758
+ address: EvmContractAddress;
1759
+ };
1760
+ declare const OfferVaultContract: {
1761
+ fromDto: (dto: OfferDetailVaultContractDto) => OfferVaultContract;
1762
+ /**
1763
+ * Drops every proxy on a chain this SDK does not name, as
1764
+ * `OfferToken.listFromDto` does: frontline publishes the full offer-token
1765
+ * chain list, which runs ahead of {@link Chain}, and one unmodelled chain
1766
+ * should not throw away the proxies the SDK can use.
1767
+ */
1768
+ listFromDto: (dtos: OfferDetailVaultContractDto[]) => OfferVaultContract[];
1769
+ };
1646
1770
  /**
1647
1771
  * An offer as `GET /v1/offers/:id` serves it: the same union on `type` as
1648
1772
  * {@link Offer}, each variant carrying only the fields that mean something
1649
1773
  * for it. Narrow on `type` before reading anything beyond
1650
1774
  * {@link OfferDetailBase}.
1651
1775
  */
1652
- type OfferDetail = CoinListTokenSaleOfferDetail | SuperstateSwapOfferDetail | OndoSwapOfferDetail;
1776
+ type OfferDetail = CoinListTokenSaleOfferDetail | SuperstateSwapOfferDetail | OndoSwapOfferDetail | CentrifugeVaultOfferDetail;
1653
1777
  declare const OfferDetail: {
1654
1778
  fromDto: (dto: OfferDetailDto) => OfferDetail;
1655
1779
  };
@@ -2436,6 +2560,17 @@ declare const OndoSellTransaction: {
2436
2560
  */
2437
2561
  interface OndoNamespace {
2438
2562
  getTradingStatus(params: GetOndoTradingStatusParams): Promise<OndoTradingStatus>;
2563
+ /**
2564
+ * An indicative price for `params`' size, from Ondo's live market.
2565
+ *
2566
+ * Ondo refuses to quote while the market is closed or paused, or the asset
2567
+ * is paused or closed for the session - including for about a minute at
2568
+ * every US session change, when `getTradingStatus` may still have reported
2569
+ * the asset tradable. The request then rejects with a 409 carrying
2570
+ * `code: "not_tradable"`; tell it apart from a failure with
2571
+ * {@link isOndoNotTradableError}. Retrying before the market opens fails the
2572
+ * same way.
2573
+ */
2439
2574
  getQuote(params: GetOndoQuoteParams): Promise<OndoQuote>;
2440
2575
  /**
2441
2576
  * Builds a purchase for a specific wallet and deposit: spends an attestation
@@ -3298,4 +3433,4 @@ declare class TokensNamespaceImpl implements TokensNamespace {
3298
3433
  list(chain?: EthereumChain): Promise<TokenMetadata[]>;
3299
3434
  }
3300
3435
 
3301
- export { OndoTradingStatus as $, AuthorizationCode as A, BlockchainAmount as B, CodeVerifier as C, TokenMetadata as D, type Erc20Namespace as E, type OfferType as F, type OndoSwapOfferDetail as G, type CoinListTokenSaleOfferDetail as H, type SuperstateSwapOfferDetail as I, Offer as J, RequirementStatusInfo as K, type Logger as L, type RequirementType as M, type RequirementStatusValue as N, OfferId as O, Participation as P, OfferOptionAddress as Q, type RequirementsNamespace as R, type SuperstateSwapNamespace as S, type TokensNamespace as T, type UniversalNamespaceContext as U, RequirementId as V, type WalletError as W, type KycLevelName as X, DocumentSubmission as Y, type WalletChallengeType as Z, type PinoLoggerOptions as _, EthereumChain as a, type GetTokenBalanceParams as a$, AssetDecimals as a0, type BuildOndoBuyParams as a1, type BuildOndoSellParams as a2, OndoQuote as a3, type OndoQuoteSize as a4, type TokenIdentifier as a5, OfferOptionAddressId as a6, TokenLogo as a7, type DebugEvent as a8, type FrontlineEventId as a9, type Newtype as aA, type AllowWalletParams as aB, AllowWalletResponse as aC, Asset as aD, AssetCode as aE, Blockchain as aF, type BuildOndoSwapParamsCore as aG, Chain as aH, ClientId as aI, CodeChallenge as aJ, type CoinListTokenSaleOffer as aK, ConnectExternalWalletParams as aL, type CreateKycTokenParams as aM, CreateParticipationParams as aN, CreateWalletOwnershipChallengeParams as aO, Cursor as aP, type DocumentFormType as aQ, type DocumentSubmissionStatus as aR, type DocumentType as aS, ETHEREUM_CHAINS as aT, Erc20NamespaceImpl as aU, FaqItem as aV, type GetOndoQuoteParams as aW, type GetOndoTradingStatusParams as aX, type GetSwapAuthorizationParams as aY, type GetSwapPreviewParams as aZ, type GetTokenAllowanceParams as a_, HttpError as aa, type HttpResponse as ab, KycToken as ac, type LogBinding as ad, type LogBindings as ae, type LogCause as af, type LogLevel as ag, type LogScope as ah, type LogValue as ai, type ProductionLogLevel as aj, RedactedWalletError as ak, type RequestId as al, type RpcFailureReason as am, type SafeEvent as an, type SafeFields as ao, type UnredactedFields as ap, OAuthSession as aq, ClientCredentialsOAuth as ar, ClientSecret as as, type Sender as at, PaginationParams as au, PaginatedResponse as av, DecimalString as aw, SwapStatus as ax, type Uint256 as ay, KnownAssetSymbol as az, EvmContractAddress as b, HexEncodedTransactionData as b0, Isin as b1, Iso2CountryCode as b2, Link as b3, type ListOptionAddressesParams as b4, MAX_ASSET_DECIMALS as b5, MAX_UINT_256 as b6, Milestone as b7, OAuthRefreshToken as b8, type OfferBase as b9, SOLANA_CHAINS as bA, STABLE_DECIMALS as bB, SolanaChain as bC, type SubmitDocumentParams as bD, type SuperstateSwapOffer as bE, type SwapContractRef as bF, SwapPreview as bG, TermItem as bH, Ticker as bI, type TokenLogoImage as bJ, TokenLogoUrl as bK, type TokenRole as bL, TokensNamespaceImpl as bM, type Tx as bN, WalletAddress as bO, WalletOwnershipChallenge as bP, type WalletProtocol as bQ, WalletsNamespaceImpl as bR, apiErrorCode as bS, assertUint256 as bT, isChain as bU, isOfferType as bV, parseUint256 as bW, type OfferDetailBase as ba, OfferEditorial as bb, OfferOption as bc, OfferOptionSlug as bd, OfferSlug as be, OfferToken as bf, OffersNamespaceImpl as bg, type OndoQuoteDuration as bh, type OndoSellOutcome as bi, type OndoSwapOffer as bj, PKCEState as bk, type PaginatedResponseDto as bl, ParticipationId as bm, type ParticipationStatus as bn, ParticipationsPaginationParams as bo, PauseFlags as bp, Pii as bq, PiiAddress as br, PiiJurisdiction as bs, type PiiKind as bt, type QueryParamValue as bu, type QueryParamValues as bv, RedirectUri as bw, type RemoveOptionAddressParams as bx, type RequirementActionNeededReason as by, type RpcConfig as bz, type CoinListTokenSaleNamespace as c, OfferOptionId as d, AssetId as e, CoinListTokenSaleNamespaceImpl as f, type OndoNamespace as g, AssetSymbol as h, OfferSwapContract as i, OndoBuyTransaction as j, OndoSellTransaction as k, type OndoSwapTransactionCore as l, type OrderBookSide as m, OndoNamespaceImpl as n, type WalletsNamespace as o, Bps as p, EvmWalletAddress as q, SuperstateSwapNamespaceImpl as r, Requirement as s, RequirementsNamespaceImpl as t, type Config as u, type OAuthAccessToken as v, type OffersNamespace as w, StablecoinSymbol as x, type Erc20Asset as y, OfferDetail as z };
3436
+ export { type PinoLoggerOptions as $, AuthorizationCode as A, BlockchainAmount as B, CodeVerifier as C, TokenMetadata as D, type Erc20Namespace as E, type CentrifugeVaultOfferDetail as F, type OfferType as G, type OndoSwapOfferDetail as H, type CoinListTokenSaleOfferDetail as I, type SuperstateSwapOfferDetail as J, Offer as K, type Logger as L, RequirementStatusInfo as M, type RequirementType as N, OfferId as O, Participation as P, type RequirementStatusValue as Q, type RequirementsNamespace as R, type SuperstateSwapNamespace as S, type TokensNamespace as T, type UniversalNamespaceContext as U, OfferOptionAddress as V, type WalletError as W, RequirementId as X, type KycLevelName as Y, DocumentSubmission as Z, type WalletChallengeType as _, EthereumChain as a, type GetSwapAuthorizationParams as a$, OndoTradingStatus as a0, AssetDecimals as a1, type BuildOndoBuyParams as a2, type BuildOndoSellParams as a3, OndoQuote as a4, type OndoQuoteSize as a5, type TokenIdentifier as a6, OfferOptionAddressId as a7, TokenLogo as a8, type DebugEvent as a9, KnownAssetSymbol as aA, type Tx as aB, type Newtype as aC, type AllowWalletParams as aD, AllowWalletResponse as aE, Asset as aF, AssetCode as aG, Blockchain as aH, type BuildOndoSwapParamsCore as aI, type CentrifugeVaultOffer as aJ, Chain as aK, ClientId as aL, CodeChallenge as aM, type CoinListTokenSaleOffer as aN, ConnectExternalWalletParams as aO, type CreateKycTokenParams as aP, CreateParticipationParams as aQ, CreateWalletOwnershipChallengeParams as aR, Cursor as aS, type DocumentFormType as aT, type DocumentSubmissionStatus as aU, type DocumentType as aV, ETHEREUM_CHAINS as aW, Erc20NamespaceImpl as aX, FaqItem as aY, type GetOndoQuoteParams as aZ, type GetOndoTradingStatusParams as a_, type FrontlineEventId as aa, HttpError as ab, type HttpResponse as ac, KycToken as ad, type LogBinding as ae, type LogBindings as af, type LogCause as ag, type LogLevel as ah, type LogScope as ai, type LogValue as aj, type ProductionLogLevel as ak, RedactedWalletError as al, type RequestId as am, type RpcFailureReason as an, type SafeEvent as ao, type SafeFields as ap, type UnredactedFields as aq, OAuthSession as ar, ClientCredentialsOAuth as as, type Sender as at, PaginationParams as au, PaginatedResponse as av, ClientSecret as aw, DecimalString as ax, SwapStatus as ay, type Uint256 as az, EvmContractAddress as b, type GetSwapPreviewParams as b0, type GetTokenAllowanceParams as b1, type GetTokenBalanceParams as b2, HexEncodedTransactionData as b3, Isin as b4, Iso2CountryCode as b5, Link as b6, type ListOptionAddressesParams as b7, MAX_ASSET_DECIMALS as b8, MAX_UINT_256 as b9, RedirectUri as bA, type RemoveOptionAddressParams as bB, type RequirementActionNeededReason as bC, type RpcConfig as bD, SOLANA_CHAINS as bE, STABLE_DECIMALS as bF, SolanaChain as bG, type SubmitDocumentParams as bH, type SuperstateSwapOffer as bI, type SwapContractRef as bJ, SwapPreview as bK, TermItem as bL, Ticker as bM, type TokenLogoImage as bN, TokenLogoUrl as bO, type TokenRole as bP, TokensNamespaceImpl as bQ, WalletAddress as bR, WalletOwnershipChallenge as bS, type WalletProtocol as bT, WalletsNamespaceImpl as bU, apiErrorCode as bV, assertUint256 as bW, isChain as bX, isOfferType as bY, parseUint256 as bZ, Milestone as ba, OAuthRefreshToken as bb, type OfferBase as bc, type OfferDetailBase as bd, OfferEditorial as be, OfferOption as bf, OfferOptionSlug as bg, OfferSlug as bh, OfferToken as bi, OfferVaultContract as bj, OffersNamespaceImpl as bk, type OndoQuoteDuration as bl, type OndoSellOutcome as bm, type OndoSwapOffer as bn, PKCEState as bo, type PaginatedResponseDto as bp, ParticipationId as bq, type ParticipationStatus as br, ParticipationsPaginationParams as bs, PauseFlags as bt, Pii as bu, PiiAddress as bv, PiiJurisdiction as bw, type PiiKind as bx, type QueryParamValue as by, type QueryParamValues as bz, type CoinListTokenSaleNamespace as c, OfferOptionId as d, AssetId as e, CoinListTokenSaleNamespaceImpl as f, type OndoNamespace as g, AssetSymbol as h, OfferSwapContract as i, OndoBuyTransaction as j, OndoSellTransaction as k, type OndoSwapTransactionCore as l, type OrderBookSide as m, OndoNamespaceImpl as n, type WalletsNamespace as o, Bps as p, EvmWalletAddress as q, SuperstateSwapNamespaceImpl as r, Requirement as s, RequirementsNamespaceImpl as t, type Config as u, type OAuthAccessToken as v, type OffersNamespace as w, StablecoinSymbol as x, type Erc20Asset as y, OfferDetail as z };