@coinlist-co/react 0.12.2-rc.aa91ce3 → 0.12.2-rc.bc20f5b

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 (31) hide show
  1. package/README.md +10 -0
  2. package/dist/{chunk-QRVIBG6H.js → chunk-3WW5FLT7.js} +2 -2
  3. package/dist/{chunk-IAY3F42Q.js → chunk-C6GF7MDF.js} +125 -158
  4. package/dist/chunk-C6GF7MDF.js.map +1 -0
  5. package/dist/{chunk-3OTYQADF.js → chunk-IZJ4JSSC.js} +2 -2
  6. package/dist/chunk-IZJ4JSSC.js.map +1 -0
  7. package/dist/client/index.cjs +4469 -3149
  8. package/dist/client/index.cjs.map +1 -1
  9. package/dist/client/index.d.cts +939 -167
  10. package/dist/client/index.d.ts +939 -167
  11. package/dist/client/index.js +3867 -2555
  12. package/dist/client/index.js.map +1 -1
  13. package/dist/server/index.cjs +40 -49
  14. package/dist/server/index.cjs.map +1 -1
  15. package/dist/server/index.d.cts +3 -6
  16. package/dist/server/index.d.ts +3 -6
  17. package/dist/server/index.js +2 -2
  18. package/dist/server/index.js.map +1 -1
  19. package/dist/{time-DyjvzWso.d.cts → time-CVZpAkGY.d.cts} +276 -318
  20. package/dist/{time-DyjvzWso.d.ts → time-CVZpAkGY.d.ts} +276 -318
  21. package/dist/{token-registry-snapshot-Bldj1r5X.d.ts → token-registry-snapshot-BkwA8KmD.d.ts} +1 -1
  22. package/dist/{token-registry-snapshot-CbNCYP_5.d.cts → token-registry-snapshot-bR14QehS.d.cts} +1 -1
  23. package/dist/universal/index.cjs +26 -60
  24. package/dist/universal/index.cjs.map +1 -1
  25. package/dist/universal/index.d.cts +7 -12
  26. package/dist/universal/index.d.ts +7 -12
  27. package/dist/universal/index.js +2 -4
  28. package/package.json +1 -1
  29. package/dist/chunk-3OTYQADF.js.map +0 -1
  30. package/dist/chunk-IAY3F42Q.js.map +0 -1
  31. /package/dist/{chunk-QRVIBG6H.js.map → chunk-3WW5FLT7.js.map} +0 -0
@@ -821,36 +821,16 @@ type Erc20Asset = {
821
821
  type Bps = Newtype<bigint, 'Bps'>;
822
822
  declare const Bps: (value: bigint) => Bps;
823
823
 
824
- type GetCentrifugeVaultStatusParams = {
825
- /** Share token symbol of the vault, e.g. `deJTRSY`. */
826
- symbol: AssetSymbol;
827
- /**
828
- * The chain whose proxy answers. Only chains this offer has a proxy on
829
- * are accepted; the offer's `vault_contracts` lists them.
830
- */
824
+ type GetTokenAllowanceParams = {
825
+ tokenAddress: EvmContractAddress;
826
+ owner: EvmWalletAddress;
827
+ spender: EvmContractAddress;
831
828
  chain: EthereumChain;
832
829
  };
833
- type GetCentrifugeVaultQuoteParams = GetCentrifugeVaultStatusParams & {
834
- /**
835
- * Amount to price, in the base units of the funding token. Must be greater
836
- * than zero. No fee is deducted; this product charges none.
837
- *
838
- * Sized by `amount` alone: the quote is a free read of one spend, not a
839
- * dollar figure converted later.
840
- */
841
- amount: BlockchainAmount;
842
- };
843
- /**
844
- * One wallet on one vault: what every position read and every claim is keyed
845
- * by. There is no order id - a wallet has one pooled position per vault per
846
- * direction.
847
- */
848
- type CentrifugeWalletParams = GetCentrifugeVaultStatusParams & {
849
- /**
850
- * The wallet whose position is read, or claimed for. A claim must then be
851
- * broadcast from this same wallet: the proxy credits the sender.
852
- */
853
- walletAddress: EvmWalletAddress;
830
+ type GetTokenBalanceParams = {
831
+ tokenAddress: EvmContractAddress;
832
+ owner: EvmWalletAddress;
833
+ chain: EthereumChain;
854
834
  };
855
835
 
856
836
  /**
@@ -1168,6 +1148,70 @@ interface UniversalNamespaceContext {
1168
1148
  ensureUserAuthenticated(): Promise<void>;
1169
1149
  }
1170
1150
 
1151
+ /**
1152
+ * Generic ERC-20 reads shared across on-chain flows (swap, token sale): the
1153
+ * allowance an owner has granted a spender, and the raw token balance an owner
1154
+ * holds. These are plain token reads, not tied to any single product flow.
1155
+ *
1156
+ * Read from the chain rather than from a CoinList endpoint. By default that
1157
+ * goes through CoinList's authenticated JSON-RPC proxy, so a logged-out caller
1158
+ * gets the proxy's `401` - surfaced as a viem error wrapping the SDK's
1159
+ * `HttpError`, not as `NotAuthenticatedError`, since viem re-wraps whatever a
1160
+ * `Transport` throws. Point `Config.rpc` at your own node for this chain and no
1161
+ * CoinList session is involved at all. See {@link RpcConfig}.
1162
+ */
1163
+ interface Erc20Namespace {
1164
+ /**
1165
+ * Reads the ERC-20 allowance an `owner` has granted a `spender`, as a raw
1166
+ * on-chain integer.
1167
+ */
1168
+ getAllowance(params: GetTokenAllowanceParams): Promise<Uint256>;
1169
+ /**
1170
+ * Reads the raw ERC-20 balance an `owner` holds of a token.
1171
+ */
1172
+ getBalance(params: GetTokenBalanceParams): Promise<Uint256>;
1173
+ }
1174
+ declare class Erc20NamespaceImpl implements Erc20Namespace {
1175
+ private readonly ctx;
1176
+ private readonly log;
1177
+ constructor(ctx: UniversalNamespaceContext);
1178
+ getAllowance(params: GetTokenAllowanceParams): Promise<Uint256>;
1179
+ getBalance(params: GetTokenBalanceParams): Promise<Uint256>;
1180
+ }
1181
+
1182
+ type GetCentrifugeVaultStatusParams = {
1183
+ /** Share token symbol of the vault, e.g. `deJTRSY`. */
1184
+ symbol: AssetSymbol;
1185
+ /**
1186
+ * The chain whose proxy answers. Only chains this offer has a proxy on
1187
+ * are accepted; the offer's `vault_contracts` lists them.
1188
+ */
1189
+ chain: EthereumChain;
1190
+ };
1191
+ /**
1192
+ * One wallet on one vault: what every position read and every claim is keyed
1193
+ * by. There is no order id - a wallet has one pooled position per vault per
1194
+ * direction.
1195
+ */
1196
+ type CentrifugeWalletParams = GetCentrifugeVaultStatusParams & {
1197
+ /**
1198
+ * The wallet whose position is read, or claimed for. A claim must then be
1199
+ * broadcast from this same wallet: the proxy credits the sender.
1200
+ */
1201
+ walletAddress: EvmWalletAddress;
1202
+ };
1203
+ /**
1204
+ * What `POST /v1/centrifuge/vault/invest` is asked for: the wallet that will
1205
+ * broadcast the request and fund it, plus the deposit.
1206
+ *
1207
+ * Built once, when the user confirms an amount. Broadcasting the result places
1208
+ * a request; it does not buy shares.
1209
+ */
1210
+ type BuildCentrifugeVaultBuyParams = CentrifugeWalletParams & {
1211
+ /** How much of the funding token to deposit, in its base units. */
1212
+ amount: BlockchainAmount;
1213
+ };
1214
+
1171
1215
  /**
1172
1216
  * The logging surface SDK code uses. Never exported to hosts: they implement
1173
1217
  * {@link Logger}, which is deliberately smaller.
@@ -1255,8 +1299,8 @@ type InternalDebugEvent = {
1255
1299
  * then, and the user claims the resulting shares in a second transaction. So
1256
1300
  * every share figure before a fill is an estimate.
1257
1301
  *
1258
- * The three GETs are free to poll. The two POSTs return calldata to broadcast:
1259
- * `buy` is signed for one wallet and called once on confirmation, `claim`
1302
+ * The GETs are free to poll. The two POSTs return calldata to broadcast:
1303
+ * `invest` is signed for one wallet and called once on confirmation, `claim`
1260
1304
  * collects everything claimable and carries no amount.
1261
1305
  */
1262
1306
  /**
@@ -1264,8 +1308,8 @@ type InternalDebugEvent = {
1264
1308
  * branch on every value. `vault_unlinked` is terminal for the offer's proxy on
1265
1309
  * that chain; the rest clear on their own or by hand.
1266
1310
  *
1267
- * `below_minimum` is the one reason that depends on an amount, so only a quote
1268
- * can report it - see {@link CentrifugeVaultReasonDto}.
1311
+ * `below_minimum` depends on an amount, so a vault status never reports it —
1312
+ * see {@link CentrifugeVaultReasonDto}.
1269
1313
  */
1270
1314
  type CentrifugeOrderReasonDto = 'vault_unlinked' | 'vault_halted' | 'proxy_not_permissioned' | 'price_unavailable' | 'below_minimum';
1271
1315
  /** What a vault status can report: every reason but the amount-dependent one. */
@@ -1276,26 +1320,6 @@ type CentrifugeVaultReasonDto = Exclude<CentrifugeOrderReasonDto, 'below_minimum
1276
1320
  * while earlier shares stay claimed.
1277
1321
  */
1278
1322
  type CentrifugePositionStatusDto = 'none' | 'pending' | 'partially_filled' | 'filled' | 'claimed';
1279
- /** `GET /v1/centrifuge/vault/quote?symbol&chain&amount`. Indicative only. */
1280
- type CentrifugeVaultQuoteDto = {
1281
- object: 'centrifuge_vault_quote';
1282
- /** The vault's share token symbol, e.g. `deJTRSY`. */
1283
- symbol: string;
1284
- chain: string;
1285
- /** The amount priced, echoed back, in `spend_input_decimals`. No fee. */
1286
- spend_input_amount: string;
1287
- spend_input_decimals: number;
1288
- /** An estimate, not a floor: the fill can price either side of it. */
1289
- estimated_shares: string;
1290
- share_decimals: number;
1291
- /** Funding token per whole share. Null when the vault has no price. */
1292
- indicative_price: string | null;
1293
- /** In `spend_input_decimals`. Null when the offer sets no minimum. */
1294
- minimum_input_amount: string | null;
1295
- can_order: boolean;
1296
- /** Empty exactly when `can_order` is true. */
1297
- reasons: CentrifugeOrderReasonDto[];
1298
- };
1299
1323
  /**
1300
1324
  * `GET /v1/centrifuge/vault/status?symbol&chain`. The vault's own state, read
1301
1325
  * from the chain on every call; the gate to poll, because Centrifuge announces
@@ -1332,7 +1356,7 @@ type CentrifugeBroadcastDto = {
1332
1356
  expires_at: string | null;
1333
1357
  };
1334
1358
  /**
1335
- * `POST /v1/centrifuge/vault/buy` with `{ symbol, chain, wallet_address,
1359
+ * `POST /v1/centrifuge/vault/invest` with `{ symbol, chain, wallet_address,
1336
1360
  * amount }`. Broadcasting it places a request in the vault's queue and buys
1337
1361
  * nothing yet.
1338
1362
  */
@@ -1340,9 +1364,6 @@ type CentrifugeVaultBuyDto = CentrifugeBroadcastDto & {
1340
1364
  /** Exactly what the approval has to cover: no fee comes off it. */
1341
1365
  spend_input_amount: string;
1342
1366
  spend_input_decimals: number;
1343
- /** Not a quantity purchased: the fill prices later. */
1344
- estimated_shares: string;
1345
- share_decimals: number;
1346
1367
  };
1347
1368
  /**
1348
1369
  * `GET /v1/centrifuge/vault/position?symbol&chain&wallet_address`. The six
@@ -1460,31 +1481,6 @@ type CentrifugeOrderability<R extends CentrifugeOrderReason> = {
1460
1481
  type: 'blocked';
1461
1482
  reasons: [R, ...R[]];
1462
1483
  };
1463
- /**
1464
- * What a deposit of a given size would buy, and whether it can be placed.
1465
- *
1466
- * **Indicative only.** The price is read from the vault now and the fund
1467
- * prices the fulfilment on its own epoch, so neither {@link indicativePrice}
1468
- * nor {@link estimatedShares} is a commitment. Free to poll while the user
1469
- * sizes a deposit.
1470
- */
1471
- type CentrifugeVaultQuote = {
1472
- chain: EthereumChain;
1473
- /** The vault's share token symbol, e.g. `deJTRSY`. */
1474
- symbol: AssetSymbol;
1475
- /** The amount priced, in the funding token's decimals. No fee is taken. */
1476
- spendInputAmount: BlockchainAmount;
1477
- /** Shares at the indicative price, in the share token's decimals. */
1478
- estimatedShares: BlockchainAmount;
1479
- /** Funding token per whole share. Null when the vault publishes no price. */
1480
- indicativePrice: DecimalString | null;
1481
- /** Null when the offer sets no minimum. Same decimals as the spend. */
1482
- minimumInputAmount: BlockchainAmount | null;
1483
- orderability: CentrifugeOrderability<CentrifugeOrderReason>;
1484
- };
1485
- declare const CentrifugeVaultQuote: {
1486
- fromDto: (dto: CentrifugeVaultQuoteDto) => CentrifugeVaultQuote;
1487
- };
1488
1484
  /**
1489
1485
  * A vault's own state, independent of any wallet or amount: the gate to poll.
1490
1486
  * Centrifuge announces none of these changes, and an unlinked vault leaves the
@@ -1509,7 +1505,7 @@ type CentrifugeVaultStatus = {
1509
1505
  membershipValidUntil: Date | null;
1510
1506
  /** The proxy halted itself after a force-cancel; cleared only by hand. */
1511
1507
  halted: boolean;
1512
- /** A stale value is the signal that a quote's price is old. */
1508
+ /** When the vault last published a price. A stale value means the price is old. */
1513
1509
  priceUpdatedAt: Date | null;
1514
1510
  orderability: CentrifugeOrderability<CentrifugeVaultReason>;
1515
1511
  /** When the chain was read: how old everything above is. */
@@ -1536,14 +1532,11 @@ type CentrifugeVaultTransactionCore = {
1536
1532
  *
1537
1533
  * **Broadcasting it buys nothing yet.** It places a request in the vault's
1538
1534
  * queue; the fund fulfils it later at a price set then, and the user comes
1539
- * back to claim. {@link estimatedShares} is therefore never a quantity
1540
- * purchased. Single-use: built once on confirmation, never on a timer.
1535
+ * back to claim. Single-use: built once on confirmation, never on a timer.
1541
1536
  */
1542
1537
  type CentrifugeVaultBuyTransaction = CentrifugeVaultTransactionCore & {
1543
1538
  /** Exactly what the approval has to cover: no fee comes off it. */
1544
1539
  spendInputAmount: BlockchainAmount;
1545
- /** At the price read when the calldata was built. An estimate, not a floor. */
1546
- estimatedShares: BlockchainAmount;
1547
1540
  };
1548
1541
  declare const CentrifugeVaultBuyTransaction: {
1549
1542
  fromDto: (dto: CentrifugeVaultBuyDto) => CentrifugeVaultBuyTransaction;
@@ -1684,25 +1677,27 @@ declare const CentrifugeVaultClaimProceedsTransaction: {
1684
1677
  };
1685
1678
 
1686
1679
  /**
1687
- * Centrifuge vault reads and claims: an indicative quote, the vault-wide
1688
- * ordering gate, each wallet's position per direction, and the calldata that
1689
- * claims a filled request.
1680
+ * Centrifuge vault reads and claims: the vault-wide ordering gate, each
1681
+ * wallet's position per direction, and the calldata that claims a filled
1682
+ * request.
1690
1683
  *
1691
1684
  * The reads are free to poll - none spends an attestation, so a client may
1692
- * call them while the user sizes a deposit or waits on a fill. The quote has
1693
- * no expiry: it is indicative, the fund prices fulfilment later, and a
1694
- * countdown would imply a commitment the API does not make.
1685
+ * call them while the user sizes a deposit or waits on a fill.
1695
1686
  *
1696
1687
  * A vault trade settles in two legs: a request the fund fills on its own
1697
1688
  * schedule, then a claim. There is no order id - each wallet has one pooled
1698
1689
  * position per vault per direction - so the claims take a wallet, not an
1699
1690
  * order, and collect everything claimable.
1700
1691
  *
1692
+ * The calldata builders are the exception: {@link CentrifugeNamespace.buildBuyTransaction}
1693
+ * and the claims are each called once, when the user confirms, and never on a
1694
+ * timer. Broadcasting the buy calldata places a request. It does not buy
1695
+ * shares.
1696
+ *
1701
1697
  * Every method requires `AuthState === 'logged-in'` and throws
1702
1698
  * {@link NotAuthenticatedError} otherwise.
1703
1699
  */
1704
1700
  interface CentrifugeNamespace {
1705
- getQuote(params: GetCentrifugeVaultQuoteParams): Promise<CentrifugeVaultQuote>;
1706
1701
  getVaultStatus(params: GetCentrifugeVaultStatusParams): Promise<CentrifugeVaultStatus>;
1707
1702
  /** The wallet's invest position: funding queued, shares claimable. */
1708
1703
  getPosition(params: CentrifugeWalletParams): Promise<CentrifugeVaultPosition>;
@@ -1724,61 +1719,45 @@ interface CentrifugeNamespace {
1724
1719
  * TODO(frontline, ENG-1909): built against a guessed endpoint.
1725
1720
  */
1726
1721
  createClaimProceeds(params: CentrifugeWalletParams): Promise<CentrifugeVaultClaimProceedsTransaction>;
1722
+ /**
1723
+ * Builds the calldata that places a deposit request.
1724
+ *
1725
+ * Called once on confirmation. The reads above are the ones a checkout polls.
1726
+ */
1727
+ buildBuyTransaction(params: BuildCentrifugeVaultBuyParams): Promise<CentrifugeVaultBuyTransaction>;
1727
1728
  }
1728
1729
  declare class CentrifugeNamespaceImpl implements CentrifugeNamespace {
1729
1730
  private readonly ctx;
1730
1731
  protected readonly log: InternalLogger;
1731
1732
  constructor(ctx: UniversalNamespaceContext);
1732
- getQuote(params: GetCentrifugeVaultQuoteParams): Promise<CentrifugeVaultQuote>;
1733
1733
  getVaultStatus(params: GetCentrifugeVaultStatusParams): Promise<CentrifugeVaultStatus>;
1734
1734
  getPosition(params: CentrifugeWalletParams): Promise<CentrifugeVaultPosition>;
1735
1735
  getRedeemPosition(params: CentrifugeWalletParams): Promise<CentrifugeVaultRedeemPosition>;
1736
1736
  createClaim(params: CentrifugeWalletParams): Promise<CentrifugeVaultClaimTransaction>;
1737
1737
  createClaimProceeds(params: CentrifugeWalletParams): Promise<CentrifugeVaultClaimProceedsTransaction>;
1738
+ buildBuyTransaction(params: BuildCentrifugeVaultBuyParams): Promise<CentrifugeVaultBuyTransaction>;
1738
1739
  }
1739
1740
 
1740
- type GetTokenAllowanceParams = {
1741
- tokenAddress: EvmContractAddress;
1742
- owner: EvmWalletAddress;
1743
- spender: EvmContractAddress;
1744
- chain: EthereumChain;
1745
- };
1746
- type GetTokenBalanceParams = {
1747
- tokenAddress: EvmContractAddress;
1748
- owner: EvmWalletAddress;
1749
- chain: EthereumChain;
1741
+ type AssetDto = {
1742
+ code: string;
1743
+ fractional_digits: number;
1744
+ id: string;
1745
+ name: string;
1750
1746
  };
1751
1747
 
1752
- /**
1753
- * Generic ERC-20 reads shared across on-chain flows (swap, token sale): the
1754
- * allowance an owner has granted a spender, and the raw token balance an owner
1755
- * holds. These are plain token reads, not tied to any single product flow.
1756
- *
1757
- * Read from the chain rather than from a CoinList endpoint. By default that
1758
- * goes through CoinList's authenticated JSON-RPC proxy, so a logged-out caller
1759
- * gets the proxy's `401` - surfaced as a viem error wrapping the SDK's
1760
- * `HttpError`, not as `NotAuthenticatedError`, since viem re-wraps whatever a
1761
- * `Transport` throws. Point `Config.rpc` at your own node for this chain and no
1762
- * CoinList session is involved at all. See {@link RpcConfig}.
1763
- */
1764
- interface Erc20Namespace {
1765
- /**
1766
- * Reads the ERC-20 allowance an `owner` has granted a `spender`, as a raw
1767
- * on-chain integer.
1768
- */
1769
- getAllowance(params: GetTokenAllowanceParams): Promise<Uint256>;
1770
- /**
1771
- * Reads the raw ERC-20 balance an `owner` holds of a token.
1772
- */
1773
- getBalance(params: GetTokenBalanceParams): Promise<Uint256>;
1774
- }
1775
- declare class Erc20NamespaceImpl implements Erc20Namespace {
1776
- private readonly ctx;
1777
- private readonly log;
1778
- constructor(ctx: UniversalNamespaceContext);
1779
- getAllowance(params: GetTokenAllowanceParams): Promise<Uint256>;
1780
- getBalance(params: GetTokenBalanceParams): Promise<Uint256>;
1781
- }
1748
+ type AssetId = Newtype<string, 'AssetId'>;
1749
+ declare const AssetId: (value: string) => AssetId;
1750
+ type AssetCode = Newtype<string, 'AssetCode'>;
1751
+ declare const AssetCode: (value: string) => AssetCode;
1752
+ type Asset = {
1753
+ id: AssetId;
1754
+ code: AssetCode;
1755
+ name: string;
1756
+ fractionalDigits: number;
1757
+ };
1758
+ declare const Asset: {
1759
+ fromDto: (dto: AssetDto) => Asset;
1760
+ };
1782
1761
 
1783
1762
  /**
1784
1763
  * The product an offer is checked out through. The backend sends one compound
@@ -1854,189 +1833,6 @@ type OfferTokenDto = {
1854
1833
  address: string;
1855
1834
  };
1856
1835
 
1857
- type OfferId = Newtype<string, 'OfferId'>;
1858
- declare const OfferId: (value: string) => OfferId;
1859
- type OfferSlug = Newtype<string, 'OfferSlug'>;
1860
- declare const OfferSlug: (value: string) => OfferSlug;
1861
- type OfferType = OfferTypeDto;
1862
- declare const isOfferType: (value: string) => value is OfferType;
1863
- type OfferBase = {
1864
- id: OfferId;
1865
- slug: OfferSlug;
1866
- endsAt: Date | null;
1867
- tokens: OfferToken[];
1868
- };
1869
- type CoinListTokenSaleOffer = OfferBase & OfferEditorial & {
1870
- type: 'coinlist::token_sale';
1871
- logoUrl: string;
1872
- };
1873
- type SuperstateSwapOffer = OfferBase & OfferEditorial & {
1874
- type: 'superstate::swap';
1875
- /** Null when nobody has uploaded artwork: a swap publishes without it. */
1876
- logoUrl: string | null;
1877
- };
1878
- type OndoSwapOffer = OfferBase & {
1879
- type: 'ondo::swap';
1880
- /** Null when nobody has uploaded artwork: a swap publishes without it. */
1881
- logoUrl: string | null;
1882
- };
1883
- type CentrifugeVaultOffer = OfferBase & {
1884
- type: 'centrifuge::vault';
1885
- /** Null when nobody has uploaded artwork: a vault publishes without it. */
1886
- logoUrl: string | null;
1887
- };
1888
- /**
1889
- * A curated sale window and the hand-authored copy that goes with it. Every
1890
- * variant that runs such a campaign carries all three, validated; an Ondo swap
1891
- * trades continuously and a Centrifuge vault takes deposits continuously, so
1892
- * neither runs one and neither carries any.
1893
- */
1894
- type OfferEditorial = {
1895
- tagline: string;
1896
- bannerUrl: string;
1897
- startsAt: Date;
1898
- };
1899
- declare const OfferEditorial: {
1900
- /**
1901
- * `model` prefixes the field in the error (`'Offer'`, `'OfferDetail'`), so
1902
- * the same three checks name the payload that failed them.
1903
- */
1904
- fromDto: (dto: OfferEditorialDto, model: string) => OfferEditorial;
1905
- };
1906
- /**
1907
- * An offer as `GET /v1/offers` lists it: a union on {@link OfferType}, each
1908
- * variant carrying only the fields that mean something for it. Narrow on
1909
- * `type` before reading anything beyond {@link OfferBase} - an Ondo swap has
1910
- * no `startsAt` to read, and the compiler says so.
1911
- */
1912
- type Offer = CoinListTokenSaleOffer | SuperstateSwapOffer | OndoSwapOffer | CentrifugeVaultOffer;
1913
- declare const Offer: {
1914
- fromDto: (dto: OfferDto) => Offer;
1915
- /**
1916
- * Maps a page of offers, dropping every offer whose `type` this SDK does not
1917
- * name. The same reasoning as {@link OfferToken.listFromDto}: a plain `.map`
1918
- * would throw out of `fromDto` and, through `PaginatedResponse.fromDto`,
1919
- * reject the whole page, so one offer of an unknown type would blank the
1920
- * grid for every offer beside it. A single offer fetched by id still
1921
- * throws, because there is nothing beside it to keep.
1922
- */
1923
- listFromDto: (dtos: OfferDto[]) => Offer[];
1924
- };
1925
- /**
1926
- * `vault` is the share token a `centrifuge::vault` offer issues for deposits,
1927
- * as `swap` is the token a swap offer trades into.
1928
- */
1929
- type TokenRole = 'funding' | 'distribution' | 'swap' | 'vault';
1930
- type OfferToken = {
1931
- role: TokenRole;
1932
- chain: Chain;
1933
- address: EvmContractAddress;
1934
- };
1935
- declare const OfferToken: {
1936
- fromDto: (dto: OfferTokenDto) => OfferToken;
1937
- /**
1938
- * Maps an offer's token list, dropping every token on a chain this SDK does
1939
- * not name. Frontline's chain registry runs ahead of {@link Chain}, and a
1940
- * plain `.map` would throw out of `Offer.fromDto` and, through
1941
- * `PaginatedResponse.fromDto`, reject the whole offers page - which is how
1942
- * one Base token blanked production's offers list. Dropping costs that
1943
- * token's metadata alone: `coinlist.tokens.get` takes an `EthereumChain`,
1944
- * so nobody could have looked it up anyway.
1945
- *
1946
- * Same shape as `TokenMetadata.fromRegistryDto`.
1947
- */
1948
- listFromDto: (dtos: OfferTokenDto[]) => OfferToken[];
1949
- };
1950
-
1951
- /**
1952
- * The cursor-paginated envelope every list endpoint returns.
1953
- *
1954
- * Generic in its item type, so each resource pairs it with its own item DTO
1955
- * rather than declaring an envelope of its own.
1956
- */
1957
- interface PaginatedResponseDto<T> {
1958
- data: T[];
1959
- starting_after?: string;
1960
- starting_before?: string;
1961
- }
1962
-
1963
- type Cursor = Newtype<string, 'Cursor'>;
1964
- declare const Cursor: (value: string) => Cursor;
1965
- interface PaginatedResponse<T> {
1966
- data: T[];
1967
- startingAfter: Cursor | null;
1968
- startingBefore: Cursor | null;
1969
- }
1970
- declare const PaginatedResponse: {
1971
- fromDto: <A, B>(dto: PaginatedResponseDto<A>, itemMapper: (item: A) => B) => PaginatedResponse<B>;
1972
- /**
1973
- * For a mapper that decides the page as a whole - one that drops items it
1974
- * cannot map, such as `Offer.listFromDto` - rather than item by item. The
1975
- * cursors are the wire's either way: dropping an item changes what the
1976
- * page holds, not where the next page starts.
1977
- */
1978
- fromDtoPage: <A, B>(dto: PaginatedResponseDto<A>, pageMapper: (items: A[]) => B[]) => PaginatedResponse<B>;
1979
- };
1980
- /**
1981
- * Cursor-based pagination input used when requesting paginated API resources.
1982
- * Set `after` or `before` to navigate relative to a known cursor, and `limit`
1983
- * to control the maximum number of returned items.
1984
- */
1985
- interface PaginationParams {
1986
- before?: Cursor;
1987
- after?: Cursor;
1988
- limit?: number;
1989
- }
1990
- declare const PaginationParams: {
1991
- toQueryParams: (params: PaginationParams) => Record<string, QueryParamValue>;
1992
- };
1993
-
1994
- type AssetDto = {
1995
- code: string;
1996
- fractional_digits: number;
1997
- id: string;
1998
- name: string;
1999
- };
2000
-
2001
- type AssetId = Newtype<string, 'AssetId'>;
2002
- declare const AssetId: (value: string) => AssetId;
2003
- type AssetCode = Newtype<string, 'AssetCode'>;
2004
- declare const AssetCode: (value: string) => AssetCode;
2005
- type Asset = {
2006
- id: AssetId;
2007
- code: AssetCode;
2008
- name: string;
2009
- fractionalDigits: number;
2010
- };
2011
- declare const Asset: {
2012
- fromDto: (dto: AssetDto) => Asset;
2013
- };
2014
-
2015
- type ParticipationStatusDto = 'prepared' | 'pending' | 'submitted' | 'completed' | 'failed' | 'remit_submitted' | 'remitted' | 'remit_failed';
2016
- type ParticipationDto = {
2017
- object: 'participation';
2018
- id: string;
2019
- offer_id: string;
2020
- offer_option_id: string;
2021
- status: ParticipationStatusDto;
2022
- amount: string;
2023
- amount_string: string;
2024
- asset: AssetDto;
2025
- chain: string;
2026
- inserted_at: string | null | undefined;
2027
- updated_at: string | null | undefined;
2028
- wallet_address: string | null | undefined;
2029
- };
2030
- type CreateParticipationDto = {
2031
- offer_id: string;
2032
- offer_option_id: string;
2033
- chain: string;
2034
- wallet_address: string;
2035
- amount: string;
2036
- asset_id: string;
2037
- approval_transaction_hash: string | null | undefined;
2038
- };
2039
-
2040
1836
  /**
2041
1837
  * One variant per `OfferTypeDto`, the same split as `OfferDto` with what
2042
1838
  * `GET /v1/offers/:id` adds on top. Read `type` first.
@@ -2143,6 +1939,100 @@ type OfferDetailVaultContractDto = {
2143
1939
  address: string;
2144
1940
  };
2145
1941
 
1942
+ type OfferId = Newtype<string, 'OfferId'>;
1943
+ declare const OfferId: (value: string) => OfferId;
1944
+ type OfferSlug = Newtype<string, 'OfferSlug'>;
1945
+ declare const OfferSlug: (value: string) => OfferSlug;
1946
+ type OfferType = OfferTypeDto;
1947
+ declare const isOfferType: (value: string) => value is OfferType;
1948
+ type OfferBase = {
1949
+ id: OfferId;
1950
+ slug: OfferSlug;
1951
+ endsAt: Date | null;
1952
+ tokens: OfferToken[];
1953
+ };
1954
+ type CoinListTokenSaleOffer = OfferBase & OfferEditorial & {
1955
+ type: 'coinlist::token_sale';
1956
+ logoUrl: string;
1957
+ };
1958
+ type SuperstateSwapOffer = OfferBase & OfferEditorial & {
1959
+ type: 'superstate::swap';
1960
+ /** Null when nobody has uploaded artwork: a swap publishes without it. */
1961
+ logoUrl: string | null;
1962
+ };
1963
+ type OndoSwapOffer = OfferBase & {
1964
+ type: 'ondo::swap';
1965
+ /** Null when nobody has uploaded artwork: a swap publishes without it. */
1966
+ logoUrl: string | null;
1967
+ };
1968
+ type CentrifugeVaultOffer = OfferBase & {
1969
+ type: 'centrifuge::vault';
1970
+ /** Null when nobody has uploaded artwork: a vault publishes without it. */
1971
+ logoUrl: string | null;
1972
+ };
1973
+ /**
1974
+ * A curated sale window and the hand-authored copy that goes with it. Every
1975
+ * variant that runs such a campaign carries all three, validated; an Ondo swap
1976
+ * trades continuously and a Centrifuge vault takes deposits continuously, so
1977
+ * neither runs one and neither carries any.
1978
+ */
1979
+ type OfferEditorial = {
1980
+ tagline: string;
1981
+ bannerUrl: string;
1982
+ startsAt: Date;
1983
+ };
1984
+ declare const OfferEditorial: {
1985
+ /**
1986
+ * `model` prefixes the field in the error (`'Offer'`, `'OfferDetail'`), so
1987
+ * the same three checks name the payload that failed them.
1988
+ */
1989
+ fromDto: (dto: OfferEditorialDto, model: string) => OfferEditorial;
1990
+ };
1991
+ /**
1992
+ * An offer as `GET /v1/offers` lists it: a union on {@link OfferType}, each
1993
+ * variant carrying only the fields that mean something for it. Narrow on
1994
+ * `type` before reading anything beyond {@link OfferBase} - an Ondo swap has
1995
+ * no `startsAt` to read, and the compiler says so.
1996
+ */
1997
+ type Offer = CoinListTokenSaleOffer | SuperstateSwapOffer | OndoSwapOffer | CentrifugeVaultOffer;
1998
+ declare const Offer: {
1999
+ fromDto: (dto: OfferDto) => Offer;
2000
+ /**
2001
+ * Maps a page of offers, dropping every offer whose `type` this SDK does not
2002
+ * name. The same reasoning as {@link OfferToken.listFromDto}: a plain `.map`
2003
+ * would throw out of `fromDto` and, through `PaginatedResponse.fromDto`,
2004
+ * reject the whole page, so one offer of an unknown type would blank the
2005
+ * grid for every offer beside it. A single offer fetched by id still
2006
+ * throws, because there is nothing beside it to keep.
2007
+ */
2008
+ listFromDto: (dtos: OfferDto[]) => Offer[];
2009
+ };
2010
+ /**
2011
+ * `vault` is the share token a `centrifuge::vault` offer issues for deposits,
2012
+ * as `swap` is the token a swap offer trades into.
2013
+ */
2014
+ type TokenRole = 'funding' | 'distribution' | 'swap' | 'vault';
2015
+ type OfferToken = {
2016
+ role: TokenRole;
2017
+ chain: Chain;
2018
+ address: EvmContractAddress;
2019
+ };
2020
+ declare const OfferToken: {
2021
+ fromDto: (dto: OfferTokenDto) => OfferToken;
2022
+ /**
2023
+ * Maps an offer's token list, dropping every token on a chain this SDK does
2024
+ * not name. Frontline's chain registry runs ahead of {@link Chain}, and a
2025
+ * plain `.map` would throw out of `Offer.fromDto` and, through
2026
+ * `PaginatedResponse.fromDto`, reject the whole offers page - which is how
2027
+ * one Base token blanked production's offers list. Dropping costs that
2028
+ * token's metadata alone: `coinlist.tokens.get` takes an `EthereumChain`,
2029
+ * so nobody could have looked it up anyway.
2030
+ *
2031
+ * Same shape as `TokenMetadata.fromRegistryDto`.
2032
+ */
2033
+ listFromDto: (dtos: OfferTokenDto[]) => OfferToken[];
2034
+ };
2035
+
2146
2036
  type Ticker = Newtype<string, 'Ticker'>;
2147
2037
  declare const Ticker: (value: string) => Ticker;
2148
2038
  /**
@@ -2366,6 +2256,74 @@ declare const Milestone: {
2366
2256
  fromDto: (dto: OfferDetailMilestoneDto) => Milestone;
2367
2257
  };
2368
2258
 
2259
+ /**
2260
+ * The cursor-paginated envelope every list endpoint returns.
2261
+ *
2262
+ * Generic in its item type, so each resource pairs it with its own item DTO
2263
+ * rather than declaring an envelope of its own.
2264
+ */
2265
+ interface PaginatedResponseDto<T> {
2266
+ data: T[];
2267
+ starting_after?: string;
2268
+ starting_before?: string;
2269
+ }
2270
+
2271
+ type Cursor = Newtype<string, 'Cursor'>;
2272
+ declare const Cursor: (value: string) => Cursor;
2273
+ interface PaginatedResponse<T> {
2274
+ data: T[];
2275
+ startingAfter: Cursor | null;
2276
+ startingBefore: Cursor | null;
2277
+ }
2278
+ declare const PaginatedResponse: {
2279
+ fromDto: <A, B>(dto: PaginatedResponseDto<A>, itemMapper: (item: A) => B) => PaginatedResponse<B>;
2280
+ /**
2281
+ * For a mapper that decides the page as a whole - one that drops items it
2282
+ * cannot map, such as `Offer.listFromDto` - rather than item by item. The
2283
+ * cursors are the wire's either way: dropping an item changes what the
2284
+ * page holds, not where the next page starts.
2285
+ */
2286
+ fromDtoPage: <A, B>(dto: PaginatedResponseDto<A>, pageMapper: (items: A[]) => B[]) => PaginatedResponse<B>;
2287
+ };
2288
+ /**
2289
+ * Cursor-based pagination input used when requesting paginated API resources.
2290
+ * Set `after` or `before` to navigate relative to a known cursor, and `limit`
2291
+ * to control the maximum number of returned items.
2292
+ */
2293
+ interface PaginationParams {
2294
+ before?: Cursor;
2295
+ after?: Cursor;
2296
+ limit?: number;
2297
+ }
2298
+ declare const PaginationParams: {
2299
+ toQueryParams: (params: PaginationParams) => Record<string, QueryParamValue>;
2300
+ };
2301
+
2302
+ type ParticipationStatusDto = 'prepared' | 'pending' | 'submitted' | 'completed' | 'failed' | 'remit_submitted' | 'remitted' | 'remit_failed';
2303
+ type ParticipationDto = {
2304
+ object: 'participation';
2305
+ id: string;
2306
+ offer_id: string;
2307
+ offer_option_id: string;
2308
+ status: ParticipationStatusDto;
2309
+ amount: string;
2310
+ amount_string: string;
2311
+ asset: AssetDto;
2312
+ chain: string;
2313
+ inserted_at: string | null | undefined;
2314
+ updated_at: string | null | undefined;
2315
+ wallet_address: string | null | undefined;
2316
+ };
2317
+ type CreateParticipationDto = {
2318
+ offer_id: string;
2319
+ offer_option_id: string;
2320
+ chain: string;
2321
+ wallet_address: string;
2322
+ amount: string;
2323
+ asset_id: string;
2324
+ approval_transaction_hash: string | null | undefined;
2325
+ };
2326
+
2369
2327
  /** Unique identifier for a participation. */
2370
2328
  type ParticipationId = Newtype<string, 'ParticipationId'>;
2371
2329
  /** Casts a string into a typed {@link ParticipationId}. */
@@ -4026,4 +3984,4 @@ declare function isExpired({ expiresAt, now, buffer, }: {
4026
3984
  buffer?: Millis;
4027
3985
  }): boolean;
4028
3986
 
4029
- export { type RequirementType as $, AuthorizationCode as A, BlockchainAmount as B, CodeVerifier as C, StablecoinSymbol as D, EthereumChain as E, type Erc20Asset as F, OfferDetail as G, TokenMetadata as H, type CentrifugeVaultOfferDetail as I, type OfferType as J, type OndoSwapOfferDetail as K, type Logger as L, type CoinListTokenSaleOfferDetail as M, type SuperstateSwapOfferDetail as N, OfferId as O, Participation as P, CentrifugeVaultLegId as Q, type RequirementsNamespace as R, type SuperstateSwapNamespace as S, type TokensNamespace as T, type UniversalNamespaceContext as U, Seconds as V, type WalletError as W, type AsyncOfferType as X, AsyncOfferDetail as Y, Offer as Z, RequirementStatusInfo as _, type CentrifugeNamespace as a, type CentrifugeVaultReason as a$, type RequirementStatusValue as a0, OfferOptionAddress as a1, RequirementId as a2, type KycLevelName as a3, DocumentSubmission as a4, type WalletChallengeType as a5, type PinoLoggerOptions as a6, type CentrifugeOrderReason as a7, type CentrifugeOrderability as a8, CentrifugeVaultQuote as a9, type SafeEvent as aA, type SafeFields as aB, type UnredactedFields as aC, OAuthSession as aD, ClientCredentialsOAuth as aE, type Sender as aF, PaginationParams as aG, PaginatedResponse as aH, ClientSecret as aI, OfferToken as aJ, DecimalString as aK, SwapStatus as aL, type Uint256 as aM, KnownAssetSymbol as aN, type Newtype as aO, type AllowWalletParams as aP, AllowWalletResponse as aQ, Asset as aR, AssetCode as aS, Blockchain as aT, type BuildOndoSwapParamsCore as aU, type CentrifugePositionStatus as aV, CentrifugeVaultBuyTransaction as aW, CentrifugeVaultClaimProceedsTransaction as aX, CentrifugeVaultClaimTransaction as aY, type CentrifugeVaultOffer as aZ, CentrifugeVaultPosition as a_, OndoTradingStatus as aa, AssetDecimals as ab, type BuildOndoBuyParams as ac, type BuildOndoSellParams as ad, OndoQuote as ae, type OndoQuoteSize as af, type TokenIdentifier as ag, CentrifugeVaultLeg as ah, OfferOptionAddressId as ai, CentrifugeVaultStatus as aj, TokenLogo as ak, type DebugEvent as al, type FrontlineEventId as am, HttpError as an, type HttpResponse as ao, KycToken as ap, type LogBinding as aq, type LogBindings as ar, type LogCause as as, type LogLevel as at, type LogScope as au, type LogValue as av, type ProductionLogLevel as aw, RedactedWalletError as ax, type RequestId as ay, type RpcFailureReason as az, AssetSymbol as b, type RpcConfig as b$, CentrifugeVaultRedeemPosition as b0, type CentrifugeVaultTransactionCore as b1, type CentrifugeWalletParams as b2, Chain as b3, ClientId as b4, CodeChallenge as b5, type CoinListTokenSaleOffer as b6, ConnectExternalWalletParams as b7, type CreateKycTokenParams as b8, CreateParticipationParams as b9, OAuthRefreshToken as bA, type OfferBase as bB, type OfferDetailBase as bC, OfferEditorial as bD, OfferOption as bE, OfferOptionSlug as bF, OfferSlug as bG, OfferVaultContract as bH, OffersNamespaceImpl as bI, type OndoQuoteDuration as bJ, type OndoSellOutcome as bK, type OndoSwapOffer as bL, PKCEState as bM, type PaginatedResponseDto as bN, ParticipationId as bO, type ParticipationStatus as bP, ParticipationsPaginationParams as bQ, PauseFlags as bR, Pii as bS, PiiAddress as bT, PiiJurisdiction as bU, type PiiKind as bV, type QueryParamValue as bW, type QueryParamValues as bX, RedirectUri as bY, type RemoveOptionAddressParams as bZ, type RequirementActionNeededReason as b_, CreateWalletOwnershipChallengeParams as ba, Cursor as bb, type DocumentFormType as bc, type DocumentSubmissionStatus as bd, type DocumentType as be, ETHEREUM_CHAINS as bf, EpochMillis as bg, Erc20NamespaceImpl as bh, FaqItem as bi, type GetCentrifugeVaultQuoteParams as bj, type GetCentrifugeVaultStatusParams as bk, type GetOndoQuoteParams as bl, type GetOndoTradingStatusParams as bm, type GetSwapAuthorizationParams as bn, type GetSwapPreviewParams as bo, type GetTokenAllowanceParams as bp, type GetTokenBalanceParams as bq, HexEncodedTransactionData as br, Isin as bs, Iso2CountryCode as bt, Link as bu, type ListOptionAddressesParams as bv, MAX_ASSET_DECIMALS as bw, MAX_UINT_256 as bx, Milestone as by, Millis as bz, type CentrifugeClaimDirection as c, SOLANA_CHAINS as c0, STABLE_DECIMALS as c1, SolanaChain as c2, type SubmitDocumentParams as c3, type SuperstateSwapOffer as c4, type SwapContractRef as c5, SwapPreview as c6, TermItem as c7, Ticker as c8, type TokenLogoImage as c9, TokenLogoUrl as ca, type TokenRole as cb, TokensNamespaceImpl as cc, type Tx as cd, WalletAddress as ce, WalletOwnershipChallenge as cf, type WalletProtocol as cg, WalletsNamespaceImpl as ch, apiErrorCode as ci, assertUint256 as cj, isChain as ck, isExpired as cl, isOfferType as cm, parseUint256 as cn, CentrifugeNamespaceImpl as d, type Erc20Namespace as e, EvmContractAddress as f, type CoinListTokenSaleNamespace as g, OfferOptionId as h, AssetId as i, CoinListTokenSaleNamespaceImpl as j, type OndoNamespace as k, OfferSwapContract as l, OndoBuyTransaction as m, OndoSellTransaction as n, type OndoSwapTransactionCore as o, type OrderBookSide as p, OndoNamespaceImpl as q, type WalletsNamespace as r, Bps as s, EvmWalletAddress as t, SuperstateSwapNamespaceImpl as u, Requirement as v, RequirementsNamespaceImpl as w, type Config as x, type OAuthAccessToken as y, type OffersNamespace as z };
3987
+ export { Offer as $, AuthorizationCode as A, BlockchainAmount as B, CodeVerifier as C, type OAuthAccessToken as D, type Erc20Namespace as E, type OffersNamespace as F, StablecoinSymbol as G, type Erc20Asset as H, OfferDetail as I, TokenMetadata as J, type CentrifugeVaultOfferDetail as K, type Logger as L, type OfferType as M, type OndoSwapOfferDetail as N, OfferVaultContract as O, Participation as P, type CoinListTokenSaleOfferDetail as Q, type RequirementsNamespace as R, type SuperstateSwapNamespace as S, type TokensNamespace as T, type UniversalNamespaceContext as U, type SuperstateSwapOfferDetail as V, type WalletError as W, CentrifugeVaultLegId as X, Seconds as Y, type AsyncOfferType as Z, AsyncOfferDetail as _, EthereumChain as a, CentrifugeVaultPosition as a$, RequirementStatusInfo as a0, type RequirementType as a1, type RequirementStatusValue as a2, OfferOptionAddress as a3, RequirementId as a4, type KycLevelName as a5, DocumentSubmission as a6, type WalletChallengeType as a7, type PinoLoggerOptions as a8, AssetDecimals as a9, type RequestId as aA, type RpcFailureReason as aB, type SafeEvent as aC, type SafeFields as aD, type UnredactedFields as aE, OAuthSession as aF, ClientCredentialsOAuth as aG, type Sender as aH, PaginationParams as aI, PaginatedResponse as aJ, ClientSecret as aK, OfferToken as aL, DecimalString as aM, SwapStatus as aN, type Uint256 as aO, KnownAssetSymbol as aP, type Newtype as aQ, type AllowWalletParams as aR, AllowWalletResponse as aS, Asset as aT, AssetCode as aU, Blockchain as aV, type BuildOndoSwapParamsCore as aW, type CentrifugePositionStatus as aX, CentrifugeVaultClaimProceedsTransaction as aY, CentrifugeVaultClaimTransaction as aZ, type CentrifugeVaultOffer as a_, type BuildCentrifugeVaultBuyParams as aa, type CentrifugeOrderReason as ab, type CentrifugeOrderability as ac, OndoTradingStatus as ad, type BuildOndoBuyParams as ae, type BuildOndoSellParams as af, OndoQuote as ag, type OndoQuoteSize as ah, type TokenIdentifier as ai, CentrifugeVaultLeg as aj, OfferOptionAddressId as ak, CentrifugeVaultStatus as al, TokenLogo as am, type DebugEvent as an, type FrontlineEventId as ao, HttpError as ap, type HttpResponse as aq, KycToken as ar, type LogBinding as as, type LogBindings as at, type LogCause as au, type LogLevel as av, type LogScope as aw, type LogValue as ax, type ProductionLogLevel as ay, RedactedWalletError as az, EvmContractAddress as b, SOLANA_CHAINS as b$, type CentrifugeVaultReason as b0, CentrifugeVaultRedeemPosition as b1, type CentrifugeVaultTransactionCore as b2, type CentrifugeWalletParams as b3, Chain as b4, ClientId as b5, CodeChallenge as b6, type CoinListTokenSaleOffer as b7, ConnectExternalWalletParams as b8, type CreateKycTokenParams as b9, OAuthRefreshToken as bA, type OfferBase as bB, type OfferDetailBase as bC, OfferEditorial as bD, OfferOption as bE, OfferOptionSlug as bF, OfferSlug as bG, OffersNamespaceImpl as bH, type OndoQuoteDuration as bI, type OndoSellOutcome as bJ, type OndoSwapOffer as bK, PKCEState as bL, type PaginatedResponseDto as bM, ParticipationId as bN, type ParticipationStatus as bO, ParticipationsPaginationParams as bP, PauseFlags as bQ, Pii as bR, PiiAddress as bS, PiiJurisdiction as bT, type PiiKind as bU, type QueryParamValue as bV, type QueryParamValues as bW, RedirectUri as bX, type RemoveOptionAddressParams as bY, type RequirementActionNeededReason as bZ, type RpcConfig as b_, CreateParticipationParams as ba, CreateWalletOwnershipChallengeParams as bb, Cursor as bc, type DocumentFormType as bd, type DocumentSubmissionStatus as be, type DocumentType as bf, ETHEREUM_CHAINS as bg, EpochMillis as bh, Erc20NamespaceImpl as bi, FaqItem as bj, type GetCentrifugeVaultStatusParams as bk, type GetOndoQuoteParams as bl, type GetOndoTradingStatusParams as bm, type GetSwapAuthorizationParams as bn, type GetSwapPreviewParams as bo, type GetTokenAllowanceParams as bp, type GetTokenBalanceParams as bq, HexEncodedTransactionData as br, Isin as bs, Iso2CountryCode as bt, Link as bu, type ListOptionAddressesParams as bv, MAX_ASSET_DECIMALS as bw, MAX_UINT_256 as bx, Milestone as by, Millis as bz, type CentrifugeNamespace as c, STABLE_DECIMALS as c0, SolanaChain as c1, type SubmitDocumentParams as c2, type SuperstateSwapOffer as c3, type SwapContractRef as c4, SwapPreview as c5, TermItem as c6, Ticker as c7, type TokenLogoImage as c8, TokenLogoUrl as c9, type TokenRole as ca, TokensNamespaceImpl as cb, type Tx as cc, WalletAddress as cd, WalletOwnershipChallenge as ce, type WalletProtocol as cf, WalletsNamespaceImpl as cg, apiErrorCode as ch, assertUint256 as ci, isChain as cj, isExpired as ck, isOfferType as cl, parseUint256 as cm, AssetSymbol as d, CentrifugeVaultBuyTransaction as e, type CentrifugeClaimDirection as f, CentrifugeNamespaceImpl as g, type CoinListTokenSaleNamespace as h, OfferId as i, OfferOptionId as j, AssetId as k, CoinListTokenSaleNamespaceImpl as l, type OndoNamespace as m, OfferSwapContract as n, OndoBuyTransaction as o, OndoSellTransaction as p, type OndoSwapTransactionCore as q, type OrderBookSide as r, OndoNamespaceImpl as s, type WalletsNamespace as t, Bps as u, EvmWalletAddress as v, SuperstateSwapNamespaceImpl as w, Requirement as x, RequirementsNamespaceImpl as y, type Config as z };