@coinlist-co/react 0.12.2-rc.9fb6364 → 0.12.2-rc.aa91ce3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-KRA6EM2L.js → chunk-3OTYQADF.js} +78 -4
- package/dist/chunk-3OTYQADF.js.map +1 -0
- package/dist/{chunk-BNMF2HMW.js → chunk-IAY3F42Q.js} +892 -512
- package/dist/chunk-IAY3F42Q.js.map +1 -0
- package/dist/{chunk-STAHYDLY.js → chunk-QRVIBG6H.js} +2 -2
- package/dist/client/index.cjs +5891 -3786
- package/dist/client/index.cjs.map +1 -1
- package/dist/client/index.d.cts +845 -30
- package/dist/client/index.d.ts +845 -30
- package/dist/client/index.js +2598 -910
- package/dist/client/index.js.map +1 -1
- package/dist/server/index.cjs +361 -66
- package/dist/server/index.cjs.map +1 -1
- package/dist/server/index.d.cts +27 -5
- package/dist/server/index.d.ts +27 -5
- package/dist/server/index.js +9 -6
- package/dist/server/index.js.map +1 -1
- package/dist/{tokens-namespace-BJfFeowE.d.cts → time-DyjvzWso.d.cts} +735 -59
- package/dist/{tokens-namespace-BJfFeowE.d.ts → time-DyjvzWso.d.ts} +735 -59
- package/dist/{token-registry-snapshot-C1NxdBmF.d.ts → token-registry-snapshot-Bldj1r5X.d.ts} +74 -8
- package/dist/{token-registry-snapshot-DyjrA32p.d.cts → token-registry-snapshot-CbNCYP_5.d.cts} +74 -8
- package/dist/universal/index.cjs +848 -377
- package/dist/universal/index.cjs.map +1 -1
- package/dist/universal/index.d.cts +79 -6
- package/dist/universal/index.d.ts +79 -6
- package/dist/universal/index.js +36 -2
- package/package.json +1 -1
- package/dist/chunk-BNMF2HMW.js.map +0 -1
- package/dist/chunk-KRA6EM2L.js.map +0 -1
- package/dist/time-B5YOQxuh.d.ts +0 -50
- package/dist/time-BY3apBpc.d.cts +0 -50
- /package/dist/{chunk-STAHYDLY.js.map → chunk-QRVIBG6H.js.map} +0 -0
package/dist/client/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode, ButtonHTMLAttributes } from 'react';
|
|
3
|
-
import { A as AuthorizationCode, C as CodeVerifier, L as Logger, W as WalletError,
|
|
4
|
-
export {
|
|
5
|
-
import { P as PKCEConfig, E as EvmWallet, S as SwapQuote, A as AssetIconUrl, a as ShortenedWalletAddress, F as FormattedAmountAssetUi, b as FormattedPercentUi, T as TxExplorerUrl, C as ConnectWallet, N as NonEmptyArray,
|
|
6
|
-
export { B as BroadcastTxParams,
|
|
3
|
+
import { A as AuthorizationCode, C as CodeVerifier, L as Logger, W as WalletError, a as CentrifugeNamespace, E as EthereumChain, b as AssetSymbol, c as CentrifugeClaimDirection, B as BlockchainAmount, d as CentrifugeNamespaceImpl, e as Erc20Namespace, f as EvmContractAddress, g as CoinListTokenSaleNamespace, O as OfferId, h as OfferOptionId, i as AssetId, P as Participation, j as CoinListTokenSaleNamespaceImpl, U as UniversalNamespaceContext, k as OndoNamespace, l as OfferSwapContract, m as OndoBuyTransaction, n as OndoSellTransaction, o as OndoSwapTransactionCore, p as OrderBookSide, q as OndoNamespaceImpl, S as SuperstateSwapNamespace, r as WalletsNamespace, s as Bps, t as EvmWalletAddress, u as SuperstateSwapNamespaceImpl, R as RequirementsNamespace, v as Requirement, w as RequirementsNamespaceImpl, x as Config, y as OAuthAccessToken, z as OffersNamespace, T as TokensNamespace, D as StablecoinSymbol, F as Erc20Asset, G as OfferDetail, H as TokenMetadata, I as CentrifugeVaultOfferDetail, J as OfferType, K as OndoSwapOfferDetail, M as CoinListTokenSaleOfferDetail, N as SuperstateSwapOfferDetail, Q as CentrifugeVaultLegId, V as Seconds, X as AsyncOfferType, Y as AsyncOfferDetail, Z as Offer, _ as RequirementStatusInfo, $ as RequirementType, a0 as RequirementStatusValue, a1 as OfferOptionAddress, a2 as RequirementId, a3 as KycLevelName, a4 as DocumentSubmission, a5 as WalletChallengeType, a6 as PinoLoggerOptions, a7 as CentrifugeOrderReason, a8 as CentrifugeOrderability, a9 as CentrifugeVaultQuote, aa as OndoTradingStatus, ab as AssetDecimals, ac as BuildOndoBuyParams, ad as BuildOndoSellParams, ae as OndoQuote, af as OndoQuoteSize, ag as TokenIdentifier, ah as CentrifugeVaultLeg, ai as OfferOptionAddressId, aj as CentrifugeVaultStatus, ak as TokenLogo } from '../time-DyjvzWso.js';
|
|
4
|
+
export { al as DebugEvent, am as FrontlineEventId, an as HttpError, ao as HttpResponse, ap as KycToken, aq as LogBinding, ar as LogBindings, as as LogCause, at as LogLevel, au as LogScope, av as LogValue, aw as ProductionLogLevel, ax as RedactedWalletError, ay as RequestId, az as RpcFailureReason, aA as SafeEvent, aB as SafeFields, aC as UnredactedFields } from '../time-DyjvzWso.js';
|
|
5
|
+
import { P as PKCEConfig, E as EvmWallet, S as SwapQuote, A as AssetIconUrl, a as ShortenedWalletAddress, F as FormattedAmountAssetUi, b as FormattedPercentUi, T as TxExplorerUrl, W as WalletSelection, c as WalletLabelResolver, C as ConnectWallet, N as NonEmptyArray, d as TokenRegistrySnapshot } from '../token-registry-snapshot-Bldj1r5X.js';
|
|
6
|
+
export { B as BroadcastTxParams, e as EvmSigner, f as ExternalWalletAdapter, g as WriteContractParams } from '../token-registry-snapshot-Bldj1r5X.js';
|
|
7
7
|
import { Hash } from 'viem';
|
|
8
8
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
9
9
|
import { VariantProps } from 'class-variance-authority';
|
|
@@ -114,6 +114,88 @@ declare class ClientAuthNamespaceImpl implements ClientAuthNamespace {
|
|
|
114
114
|
private readOauthCallback;
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
+
/** Progress phases emitted by {@link claimCentrifugeVault}, in order. */
|
|
118
|
+
type CentrifugeClaimPhase = 'preparing' | 'awaiting-wallet' | 'confirming';
|
|
119
|
+
/**
|
|
120
|
+
* A step-tagged reason a claim failed.
|
|
121
|
+
*
|
|
122
|
+
* `prepare` reasons are split out where the remedy differs: a wallet with
|
|
123
|
+
* nothing to claim has already been paid (a fill was claimed elsewhere, or a
|
|
124
|
+
* new request auto-claimed it), and a frozen wallet needs the issuer, not a
|
|
125
|
+
* retry. Everything else at that step is offered a retry.
|
|
126
|
+
*
|
|
127
|
+
* A mined transaction that reverted is a `confirm` failure carrying a
|
|
128
|
+
* `contract_reverted` cause, so a caller switches on one arm for "the chain
|
|
129
|
+
* said no" whether the wallet or the receipt reported it.
|
|
130
|
+
*/
|
|
131
|
+
type CentrifugeClaimError = {
|
|
132
|
+
step: 'prepare';
|
|
133
|
+
reason: 'nothing-to-claim' | 'frozen' | 'generic';
|
|
134
|
+
} | {
|
|
135
|
+
step: 'broadcast';
|
|
136
|
+
cause: WalletError;
|
|
137
|
+
} | {
|
|
138
|
+
step: 'confirm';
|
|
139
|
+
cause: WalletError;
|
|
140
|
+
};
|
|
141
|
+
type CentrifugeClaimResult = {
|
|
142
|
+
type: 'success';
|
|
143
|
+
direction: CentrifugeClaimDirection;
|
|
144
|
+
txHash: Hash;
|
|
145
|
+
/**
|
|
146
|
+
* What the calldata was built to collect: shares for `invest`, the
|
|
147
|
+
* funding token for `redeem`. A floor rather than an exact figure - a
|
|
148
|
+
* fill landing before the broadcast raises it, and the claim collects
|
|
149
|
+
* everything.
|
|
150
|
+
*/
|
|
151
|
+
claimed: BlockchainAmount;
|
|
152
|
+
} | {
|
|
153
|
+
type: 'error';
|
|
154
|
+
error: CentrifugeClaimError;
|
|
155
|
+
};
|
|
156
|
+
type ClaimCentrifugeVaultParams = {
|
|
157
|
+
centrifuge: CentrifugeNamespace;
|
|
158
|
+
/**
|
|
159
|
+
* The wallet that holds the position, and the one that broadcasts: the
|
|
160
|
+
* proxy credits the sender, so no other wallet can claim for it.
|
|
161
|
+
*/
|
|
162
|
+
wallet: EvmWallet;
|
|
163
|
+
chain: EthereumChain;
|
|
164
|
+
/** Share token symbol of the vault, e.g. `deJTRSY`. */
|
|
165
|
+
symbol: AssetSymbol;
|
|
166
|
+
direction: CentrifugeClaimDirection;
|
|
167
|
+
onProgress?: (phase: CentrifugeClaimPhase) => void;
|
|
168
|
+
};
|
|
169
|
+
/**
|
|
170
|
+
* Claims everything a wallet has claimable on one side of a vault: builds the
|
|
171
|
+
* calldata, broadcasts it from that wallet and waits for it to mine.
|
|
172
|
+
*
|
|
173
|
+
* One function for both directions because the API forks only at the build
|
|
174
|
+
* step - `/claim` and `/claim-proceeds` are two endpoints - while broadcasting
|
|
175
|
+
* reads calldata and nothing else. Total: every failure comes back as a step
|
|
176
|
+
* tag rather than a throw.
|
|
177
|
+
*
|
|
178
|
+
* Nothing is approved first. A claim moves tokens out of the proxy, not out of
|
|
179
|
+
* the wallet, so there is no allowance to grant.
|
|
180
|
+
*/
|
|
181
|
+
declare function claimCentrifugeVault(params: ClaimCentrifugeVaultParams): Promise<CentrifugeClaimResult>;
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* The Centrifuge namespace plus the half of a vault trade that needs a wallet:
|
|
185
|
+
* claiming what a fill made claimable, and so cannot live on the shared
|
|
186
|
+
* namespace.
|
|
187
|
+
*/
|
|
188
|
+
interface ClientCentrifugeNamespace extends CentrifugeNamespace {
|
|
189
|
+
/**
|
|
190
|
+
* Claims everything the wallet has claimable on one side of the vault and
|
|
191
|
+
* waits for it to mine. Returns a step-tagged result rather than throwing.
|
|
192
|
+
*/
|
|
193
|
+
claim(params: Omit<ClaimCentrifugeVaultParams, 'centrifuge'>): Promise<CentrifugeClaimResult>;
|
|
194
|
+
}
|
|
195
|
+
declare class ClientCentrifugeNamespaceImpl extends CentrifugeNamespaceImpl implements ClientCentrifugeNamespace {
|
|
196
|
+
claim(params: Omit<ClaimCentrifugeVaultParams, 'centrifuge'>): Promise<CentrifugeClaimResult>;
|
|
197
|
+
}
|
|
198
|
+
|
|
117
199
|
type Erc20AllowancePhase = 'checking-allowance' | 'resetting-allowance' | 'confirming-allowance-reset' | 'approving' | 'confirming-approval';
|
|
118
200
|
type Erc20AllowanceResult = {
|
|
119
201
|
type: 'success';
|
|
@@ -804,6 +886,16 @@ interface CoinListClient {
|
|
|
804
886
|
* {@link ClientOndoNamespace}.
|
|
805
887
|
*/
|
|
806
888
|
readonly ondo: ClientOndoNamespace;
|
|
889
|
+
/**
|
|
890
|
+
* Centrifuge vault reads and claims: an indicative quote, the vault-wide
|
|
891
|
+
* ordering gate, each wallet's position, and the claim that settles a
|
|
892
|
+
* filled request - e.g. `coinlist.centrifuge.getQuote({ ... })`.
|
|
893
|
+
*
|
|
894
|
+
* The reads are free to poll. The quote has no expiry: it is indicative,
|
|
895
|
+
* the fund prices fulfilment later, and a countdown would imply a
|
|
896
|
+
* commitment the API does not make.
|
|
897
|
+
*/
|
|
898
|
+
readonly centrifuge: ClientCentrifugeNamespace;
|
|
807
899
|
/**
|
|
808
900
|
* Token display metadata (name, symbol, decimals, logos) from CoinList's
|
|
809
901
|
* public token registry, keyed by chain + contract address — e.g.
|
|
@@ -897,7 +989,7 @@ type CoinListStyleScopeProps = {
|
|
|
897
989
|
declare function CoinListStyleScope({ children }: CoinListStyleScopeProps): react.JSX.Element;
|
|
898
990
|
|
|
899
991
|
declare const buttonVariants: (props?: ({
|
|
900
|
-
variant?: "link" | "primary" | "gradient" | "secondary" | "destructive" | "ghost" | "destructiveLink" | null | undefined;
|
|
992
|
+
variant?: "link" | "primary" | "gradient" | "secondary" | "destructive" | "outline" | "ghost" | "destructiveLink" | null | undefined;
|
|
901
993
|
size?: "default" | "sm" | "lg" | "cta" | "icon" | null | undefined;
|
|
902
994
|
radius?: "pill" | "rounded" | null | undefined;
|
|
903
995
|
fullWidth?: boolean | null | undefined;
|
|
@@ -1517,6 +1609,7 @@ type CheckoutConfigByOfferType = {
|
|
|
1517
1609
|
'ondo::swap': OndoCheckoutConfig;
|
|
1518
1610
|
'superstate::swap': SuperstateCheckoutConfig;
|
|
1519
1611
|
'coinlist::token_sale': CoinListTokenSaleCheckoutConfig;
|
|
1612
|
+
'centrifuge::vault': CentrifugeVaultCheckoutConfig;
|
|
1520
1613
|
};
|
|
1521
1614
|
type OndoCheckoutConfig = {
|
|
1522
1615
|
/**
|
|
@@ -1584,13 +1677,21 @@ type SuperstateCheckoutConfig = {
|
|
|
1584
1677
|
type CoinListTokenSaleCheckoutConfig = {
|
|
1585
1678
|
render: (offer: CoinListTokenSaleOfferDetail) => ReactNode;
|
|
1586
1679
|
};
|
|
1680
|
+
/**
|
|
1681
|
+
* The SDK ships no Centrifuge vault UI yet, so the host supplies it, as it
|
|
1682
|
+
* does for {@link CoinListTokenSaleCheckoutConfig} and for the same reason
|
|
1683
|
+
* takes the offer. A host that never lists vault offers returns `null`.
|
|
1684
|
+
*/
|
|
1685
|
+
type CentrifugeVaultCheckoutConfig = {
|
|
1686
|
+
render: (offer: CentrifugeVaultOfferDetail) => ReactNode;
|
|
1687
|
+
};
|
|
1587
1688
|
/**
|
|
1588
1689
|
* The parts of {@link CheckoutConfig} only the host can know.
|
|
1589
1690
|
*
|
|
1590
1691
|
* What is missing from this list is what {@link defaultCheckoutConfig} can fill
|
|
1591
1692
|
* in on its own.
|
|
1592
1693
|
*/
|
|
1593
|
-
type RequiredCheckoutConfig = Pick<CheckoutConfig, 'ondo::swap' | 'coinlist::token_sale'>;
|
|
1694
|
+
type RequiredCheckoutConfig = Pick<CheckoutConfig, 'ondo::swap' | 'coinlist::token_sale' | 'centrifuge::vault'>;
|
|
1594
1695
|
/**
|
|
1595
1696
|
* Fills in the config entries that have a sensible default, so a host only
|
|
1596
1697
|
* writes the ones that do not.
|
|
@@ -1606,6 +1707,7 @@ type RequiredCheckoutConfig = Pick<CheckoutConfig, 'ondo::swap' | 'coinlist::tok
|
|
|
1606
1707
|
* side: () => 'buy',
|
|
1607
1708
|
* },
|
|
1608
1709
|
* 'coinlist::token_sale': { render: (offer) => <MyTokenSalePage offer={offer} /> },
|
|
1710
|
+
* 'centrifuge::vault': { render: () => null },
|
|
1609
1711
|
* });
|
|
1610
1712
|
* ```
|
|
1611
1713
|
*/
|
|
@@ -1695,6 +1797,7 @@ interface CheckoutContainerProps {
|
|
|
1695
1797
|
* const config = defaultCheckoutConfig({
|
|
1696
1798
|
* 'ondo::swap': { symbol: (o) => AssetSymbol(o.asset.code), side: () => 'sell' },
|
|
1697
1799
|
* 'coinlist::token_sale': { render: (o) => <MyTokenSalePage offer={o} /> },
|
|
1800
|
+
* 'centrifuge::vault': { render: () => null },
|
|
1698
1801
|
* });
|
|
1699
1802
|
* ```
|
|
1700
1803
|
*
|
|
@@ -1881,18 +1984,17 @@ type OndoBuyReviewUiEvent = {
|
|
|
1881
1984
|
};
|
|
1882
1985
|
|
|
1883
1986
|
/**
|
|
1884
|
-
* Why an Ondo checkout cannot run
|
|
1987
|
+
* Why an Ondo checkout cannot run right now, as opposed to a step of it
|
|
1988
|
+
* failing.
|
|
1885
1989
|
*
|
|
1886
|
-
*
|
|
1887
|
-
* on it for copy and because the next entry here is already foreseeable: an
|
|
1888
|
-
* offer whose asset Ondo has delisted is the same kind of "there is no flow to
|
|
1889
|
-
* render" that no step can localise.
|
|
1990
|
+
* A union rather than a bare flag because the View switches on it for copy.
|
|
1890
1991
|
*
|
|
1891
|
-
* Shared by both products because
|
|
1892
|
-
* than of a direction: buying and selling go through
|
|
1893
|
-
* chain that cannot serve one cannot serve the other
|
|
1894
|
-
*
|
|
1895
|
-
*
|
|
1992
|
+
* Shared by both products because each reason is a property of the integration
|
|
1993
|
+
* or of the market rather than of a direction: buying and selling go through
|
|
1994
|
+
* the same contract, so a chain that cannot serve one cannot serve the other,
|
|
1995
|
+
* and a closed market reads the same whichever way the trade runs. That is the
|
|
1996
|
+
* exception the provider-level `shared/` exists for, and it is narrow - the
|
|
1997
|
+
* step states stay per-product, since that is where the two genuinely diverge.
|
|
1896
1998
|
*/
|
|
1897
1999
|
type OndoCheckoutErrorReason =
|
|
1898
2000
|
/**
|
|
@@ -1903,7 +2005,38 @@ type OndoCheckoutErrorReason =
|
|
|
1903
2005
|
* offer and the chain are fixed for the lifetime of the mount. See
|
|
1904
2006
|
* `swapSpender`.
|
|
1905
2007
|
*/
|
|
1906
|
-
'unsupported-chain'
|
|
2008
|
+
'unsupported-chain'
|
|
2009
|
+
/**
|
|
2010
|
+
* Ondo is not filling orders for this asset on this side right now: the
|
|
2011
|
+
* market is closed or paused, or the asset is paused or closed for the
|
|
2012
|
+
* session. Known from the trading-status poll, never assumed from a status
|
|
2013
|
+
* that is still loading or failed to load.
|
|
2014
|
+
*
|
|
2015
|
+
* Unlike `unsupported-chain` this one clears on its own. The trading-status
|
|
2016
|
+
* poll keeps running underneath it, and the checkout comes back once the
|
|
2017
|
+
* asset is tradable again. Only shown while the user is on the step the flow
|
|
2018
|
+
* opened on: once they are past it, a pause is a step's to report, so it
|
|
2019
|
+
* cannot pull an order out from under the user mid-flow.
|
|
2020
|
+
*/
|
|
2021
|
+
| 'not-tradable';
|
|
2022
|
+
declare const OndoCheckoutErrorReason: {
|
|
2023
|
+
/**
|
|
2024
|
+
* Which reason, if any, replaces the whole checkout. `null` means the steps
|
|
2025
|
+
* render.
|
|
2026
|
+
*
|
|
2027
|
+
* `unsupported-chain` wins because it is settled at mount: no market state
|
|
2028
|
+
* can make a chain with no contract tradable. `not-tradable` needs both a
|
|
2029
|
+
* market *known* to be closed and a user still at the start of the flow,
|
|
2030
|
+
* with no order confirmation on screen. Past the first step a pause belongs
|
|
2031
|
+
* to the step it interrupts, and a just-placed order's dialog must not be
|
|
2032
|
+
* hidden by a market that closed after it filled.
|
|
2033
|
+
*/
|
|
2034
|
+
of: ({ swappableHere, notTradable, atEntry, }: {
|
|
2035
|
+
swappableHere: boolean;
|
|
2036
|
+
notTradable: boolean;
|
|
2037
|
+
atEntry: boolean;
|
|
2038
|
+
}) => OndoCheckoutErrorReason | null;
|
|
2039
|
+
};
|
|
1907
2040
|
|
|
1908
2041
|
/**
|
|
1909
2042
|
* The reference panel beside the Ondo checkout: which asset is being bought,
|
|
@@ -2048,7 +2181,11 @@ type OndoBuyCheckoutUiState = {
|
|
|
2048
2181
|
sidebar: OndoSidebarUiState;
|
|
2049
2182
|
orderConfirmed: OndoOrderConfirmedUiState;
|
|
2050
2183
|
}
|
|
2051
|
-
/**
|
|
2184
|
+
/**
|
|
2185
|
+
* There is no checkout to render. For `unsupported-chain` nothing is fetched
|
|
2186
|
+
* and no timer runs; for `not-tradable` the trading-status poll keeps
|
|
2187
|
+
* running, so the checkout comes back once the market opens.
|
|
2188
|
+
*/
|
|
2052
2189
|
| {
|
|
2053
2190
|
type: 'error';
|
|
2054
2191
|
reason: OndoCheckoutErrorReason;
|
|
@@ -2469,7 +2606,11 @@ type OndoSellCheckoutUiState = {
|
|
|
2469
2606
|
sidebar: OndoSidebarUiState;
|
|
2470
2607
|
orderConfirmed: OndoSellOrderConfirmedUiState;
|
|
2471
2608
|
}
|
|
2472
|
-
/**
|
|
2609
|
+
/**
|
|
2610
|
+
* There is no checkout to render. For `unsupported-chain` nothing is fetched
|
|
2611
|
+
* and no timer runs; for `not-tradable` the trading-status poll keeps
|
|
2612
|
+
* running, so the checkout comes back once the market opens.
|
|
2613
|
+
*/
|
|
2473
2614
|
| {
|
|
2474
2615
|
type: 'error';
|
|
2475
2616
|
reason: OndoCheckoutErrorReason;
|
|
@@ -2665,7 +2806,8 @@ interface OndoCheckoutErrorProps {
|
|
|
2665
2806
|
className?: string;
|
|
2666
2807
|
}
|
|
2667
2808
|
/**
|
|
2668
|
-
* What an Ondo checkout renders when there is no checkout to render
|
|
2809
|
+
* What an Ondo checkout renders when there is no checkout to render, or none
|
|
2810
|
+
* the user can act on right now.
|
|
2669
2811
|
*
|
|
2670
2812
|
* Shared by both products rather than duplicated in each, because the reason
|
|
2671
2813
|
* is a property of the integration and not of the direction: a chain that
|
|
@@ -2673,9 +2815,10 @@ interface OndoCheckoutErrorProps {
|
|
|
2673
2815
|
* sentence twice.
|
|
2674
2816
|
*
|
|
2675
2817
|
* No retry, deliberately. Superstate's equivalent offers one for `load-failed`,
|
|
2676
|
-
* where a re-fetch can genuinely succeed
|
|
2677
|
-
* and cannot change under a button
|
|
2678
|
-
*
|
|
2818
|
+
* where a re-fetch can genuinely succeed. Here `unsupported-chain` is settled
|
|
2819
|
+
* at mount and cannot change under a button, and `not-tradable` clears on its
|
|
2820
|
+
* own once the market opens, since the viewmodel keeps polling underneath it.
|
|
2821
|
+
* Offering a button that provably cannot help is worse than offering none.
|
|
2679
2822
|
*
|
|
2680
2823
|
* Self-scoped, like every exported component: it renders fully styled with no
|
|
2681
2824
|
* provider in the tree, and the scope is idempotent so nesting costs nothing.
|
|
@@ -3204,6 +3347,328 @@ interface SuperstateWalletViewProps {
|
|
|
3204
3347
|
*/
|
|
3205
3348
|
declare function SuperstateWalletView(props: SuperstateWalletViewProps): ReactNode;
|
|
3206
3349
|
|
|
3350
|
+
/**
|
|
3351
|
+
* The claim card.
|
|
3352
|
+
*
|
|
3353
|
+
* `HIDDEN` renders nothing: the user is signed out, or there is nothing to
|
|
3354
|
+
* show and no wallet to connect. A host that wants an empty state can tell
|
|
3355
|
+
* both apart itself.
|
|
3356
|
+
*/
|
|
3357
|
+
type CentrifugeVaultClaimUiState = {
|
|
3358
|
+
type: 'HIDDEN';
|
|
3359
|
+
} | {
|
|
3360
|
+
type: 'LOADING';
|
|
3361
|
+
externalWallet: ClaimExternalWalletUi;
|
|
3362
|
+
} | {
|
|
3363
|
+
type: 'ERROR';
|
|
3364
|
+
externalWallet: ClaimExternalWalletUi;
|
|
3365
|
+
} | {
|
|
3366
|
+
type: 'CONTENT';
|
|
3367
|
+
rows: CentrifugeClaimRowUi[];
|
|
3368
|
+
externalWallet: ClaimExternalWalletUi;
|
|
3369
|
+
dialog: CentrifugeClaimDialogUi;
|
|
3370
|
+
};
|
|
3371
|
+
type CentrifugeVaultClaimUiEvent = {
|
|
3372
|
+
type: 'ON_CLAIM';
|
|
3373
|
+
legId: CentrifugeVaultLegId;
|
|
3374
|
+
} | {
|
|
3375
|
+
type: 'ON_RETRY_CLAIM';
|
|
3376
|
+
} | {
|
|
3377
|
+
type: 'ON_CLOSE_CLAIM_DIALOG';
|
|
3378
|
+
} | {
|
|
3379
|
+
type: 'ON_RETRY_LOAD';
|
|
3380
|
+
} | {
|
|
3381
|
+
type: 'ON_CONNECT_WALLET';
|
|
3382
|
+
} | {
|
|
3383
|
+
type: 'ON_CHANGE_WALLET';
|
|
3384
|
+
};
|
|
3385
|
+
/** Why a claimable row cannot be claimed right now. */
|
|
3386
|
+
type CentrifugeClaimBlockedReasonUi = 'vault-paused' | 'wallet-frozen';
|
|
3387
|
+
/**
|
|
3388
|
+
* What a claimable row's Claim button does. `claiming` while a claim on the
|
|
3389
|
+
* row has not settled, including one whose dialog was closed: the
|
|
3390
|
+
* transaction is still in the wallet or the mempool, and a second press
|
|
3391
|
+
* would send another.
|
|
3392
|
+
*/
|
|
3393
|
+
type CentrifugeClaimActionUi = {
|
|
3394
|
+
type: 'enabled';
|
|
3395
|
+
} | {
|
|
3396
|
+
type: 'claiming';
|
|
3397
|
+
} | {
|
|
3398
|
+
type: 'blocked';
|
|
3399
|
+
reason: CentrifugeClaimBlockedReasonUi;
|
|
3400
|
+
};
|
|
3401
|
+
/**
|
|
3402
|
+
* A row of the card. A leg yields a `pending` row while anything is queued
|
|
3403
|
+
* and a `claimable` row while anything is filled, so one wallet can show
|
|
3404
|
+
* both at once.
|
|
3405
|
+
*
|
|
3406
|
+
* The two kinds lay out differently on purpose: a pending row names the
|
|
3407
|
+
* offer and what is queued, a claimable row leads with what the user gets.
|
|
3408
|
+
*/
|
|
3409
|
+
type CentrifugeClaimRowUi = {
|
|
3410
|
+
kind: 'pending';
|
|
3411
|
+
/** Unique within the card, for React keys. */
|
|
3412
|
+
key: string;
|
|
3413
|
+
iconUrl: AssetIconUrl | null;
|
|
3414
|
+
/** The offer's name, e.g. `JTRSY deRWA`. */
|
|
3415
|
+
title: string;
|
|
3416
|
+
/** What is queued: funding for `invest`, shares for `redeem`. */
|
|
3417
|
+
amount: FormattedAmountAssetUi;
|
|
3418
|
+
wallet: string;
|
|
3419
|
+
} | {
|
|
3420
|
+
kind: 'claimable';
|
|
3421
|
+
key: string;
|
|
3422
|
+
legId: CentrifugeVaultLegId;
|
|
3423
|
+
iconUrl: AssetIconUrl | null;
|
|
3424
|
+
/**
|
|
3425
|
+
* What a claim pays out: exact shares for `invest`, an estimate of the
|
|
3426
|
+
* funding token (prefixed `~`) for `redeem`.
|
|
3427
|
+
*/
|
|
3428
|
+
amount: FormattedAmountAssetUi;
|
|
3429
|
+
wallet: string;
|
|
3430
|
+
action: CentrifugeClaimActionUi;
|
|
3431
|
+
};
|
|
3432
|
+
/** A connect or change request the host's connector is handling. */
|
|
3433
|
+
type ExternalWalletRequestUi = 'idle' | 'pending' | 'failed';
|
|
3434
|
+
/**
|
|
3435
|
+
* The card's footer. `hidden` when the host offers no connector, so there is
|
|
3436
|
+
* nothing to connect with.
|
|
3437
|
+
*/
|
|
3438
|
+
type ClaimExternalWalletUi = {
|
|
3439
|
+
type: 'hidden';
|
|
3440
|
+
} | {
|
|
3441
|
+
type: 'disconnected';
|
|
3442
|
+
request: ExternalWalletRequestUi;
|
|
3443
|
+
} | {
|
|
3444
|
+
type: 'connected';
|
|
3445
|
+
wallet: string;
|
|
3446
|
+
request: ExternalWalletRequestUi;
|
|
3447
|
+
};
|
|
3448
|
+
/** The steps a claim goes through, in order, as the dialog lists them. */
|
|
3449
|
+
type CentrifugeClaimStepUi = 'preparing' | 'awaiting-wallet' | 'confirming';
|
|
3450
|
+
/** Why a claim failed, in the flavours the dialog words differently. */
|
|
3451
|
+
type CentrifugeClaimFailureUi = 'nothing-to-claim' | 'wallet-frozen' | 'rejected' | 'insufficient-gas' | 'reverted' | 'generic';
|
|
3452
|
+
type CentrifugeClaimProgressUi = {
|
|
3453
|
+
type: 'running';
|
|
3454
|
+
step: CentrifugeClaimStepUi;
|
|
3455
|
+
} | {
|
|
3456
|
+
type: 'failed';
|
|
3457
|
+
step: CentrifugeClaimStepUi;
|
|
3458
|
+
reason: CentrifugeClaimFailureUi;
|
|
3459
|
+
/**
|
|
3460
|
+
* Whether the dialog offers "Try again". `nothing-to-claim` has already
|
|
3461
|
+
* been paid and `wallet-frozen` needs the issuer, so retrying either only
|
|
3462
|
+
* repeats the refusal.
|
|
3463
|
+
*/
|
|
3464
|
+
retryable: boolean;
|
|
3465
|
+
} | {
|
|
3466
|
+
type: 'succeeded';
|
|
3467
|
+
claimed: FormattedAmountAssetUi;
|
|
3468
|
+
explorerUrl: TxExplorerUrl;
|
|
3469
|
+
};
|
|
3470
|
+
type CentrifugeClaimDialogUi = {
|
|
3471
|
+
type: 'closed';
|
|
3472
|
+
} | {
|
|
3473
|
+
type: 'open';
|
|
3474
|
+
/** What the claim pays out, which the dialog's title names. */
|
|
3475
|
+
amount: FormattedAmountAssetUi;
|
|
3476
|
+
progress: CentrifugeClaimProgressUi;
|
|
3477
|
+
};
|
|
3478
|
+
|
|
3479
|
+
interface UseCentrifugeVaultClaimViewModelOptions {
|
|
3480
|
+
offer: CentrifugeVaultOfferDetail;
|
|
3481
|
+
wallets: WalletSelection;
|
|
3482
|
+
/** Names a wallet for display; unnamed ones show a shortened address. */
|
|
3483
|
+
walletLabel?: WalletLabelResolver;
|
|
3484
|
+
/** Fired once a claim has mined, whether or not the dialog is still open. */
|
|
3485
|
+
onClaimed?: (claim: CentrifugeVaultClaimed) => void;
|
|
3486
|
+
/** How often to re-read pending positions and vault status. */
|
|
3487
|
+
pollInterval?: Seconds;
|
|
3488
|
+
/** Default `true`. `false` turns off every request and timer. */
|
|
3489
|
+
enabled?: boolean;
|
|
3490
|
+
}
|
|
3491
|
+
interface UseCentrifugeVaultClaimViewModelResult {
|
|
3492
|
+
state: CentrifugeVaultClaimUiState;
|
|
3493
|
+
onEvent: (event: CentrifugeVaultClaimUiEvent) => void;
|
|
3494
|
+
}
|
|
3495
|
+
/**
|
|
3496
|
+
* What a host hears once a claim has mined. `claimed` is what the calldata
|
|
3497
|
+
* was built to collect: shares for `invest`, the funding token for `redeem`.
|
|
3498
|
+
*/
|
|
3499
|
+
type CentrifugeVaultClaimed = {
|
|
3500
|
+
direction: CentrifugeClaimDirection;
|
|
3501
|
+
chain: EthereumChain;
|
|
3502
|
+
walletAddress: EvmWalletAddress;
|
|
3503
|
+
txHash: Hash;
|
|
3504
|
+
claimed: BlockchainAmount;
|
|
3505
|
+
};
|
|
3506
|
+
/**
|
|
3507
|
+
* The Centrifuge claim card: every wallet's pending and claimable positions on
|
|
3508
|
+
* an offer's vaults, and the claim that collects a filled one.
|
|
3509
|
+
*
|
|
3510
|
+
* The vaults come from the offer's `vaultContracts`, each chain's share and
|
|
3511
|
+
* funding token resolved through the token registry; a chain whose tokens the
|
|
3512
|
+
* registry does not list is left out and logged. Positions are read for every
|
|
3513
|
+
* wallet the host supplied, on both legs, and polled while anything is
|
|
3514
|
+
* pending. Vault status gates the Claim button, and is polled while the page
|
|
3515
|
+
* is visible.
|
|
3516
|
+
*
|
|
3517
|
+
* A claim runs in a dialog that tracks its steps. It is broadcast from the
|
|
3518
|
+
* wallet that holds the row - the proxy credits the sender - and on success
|
|
3519
|
+
* every position is read again, so the claimed amount leaves the card.
|
|
3520
|
+
*/
|
|
3521
|
+
declare function useCentrifugeVaultClaimViewModel({ offer, wallets, walletLabel, onClaimed, pollInterval, enabled, }: UseCentrifugeVaultClaimViewModelOptions): UseCentrifugeVaultClaimViewModelResult;
|
|
3522
|
+
|
|
3523
|
+
/**
|
|
3524
|
+
* Everything `ClaimContainer` needs that the offer cannot tell it, keyed by
|
|
3525
|
+
* the async offer type it belongs to.
|
|
3526
|
+
*
|
|
3527
|
+
* Keyed by {@link AsyncOfferType} with every key required, for the same reason
|
|
3528
|
+
* as `CheckoutConfig`: a host rendering `ClaimContainer` is saying it will
|
|
3529
|
+
* handle whatever async offer it is given, so a new async provider is a
|
|
3530
|
+
* compile error in every host rather than a card that silently renders
|
|
3531
|
+
* nothing. Per-integration, not per-offer: a host builds it once.
|
|
3532
|
+
*/
|
|
3533
|
+
type ClaimConfig = {
|
|
3534
|
+
[K in AsyncOfferType]: ClaimConfigByOfferType[K];
|
|
3535
|
+
};
|
|
3536
|
+
/**
|
|
3537
|
+
* What each async offer type needs, before {@link ClaimConfig} maps
|
|
3538
|
+
* `AsyncOfferType` over it. Private, so a new member of `AsyncOfferDetail`
|
|
3539
|
+
* with no entry here fails to index this type in the SDK first.
|
|
3540
|
+
*/
|
|
3541
|
+
type ClaimConfigByOfferType = {
|
|
3542
|
+
'centrifuge::vault': CentrifugeVaultClaimConfig;
|
|
3543
|
+
};
|
|
3544
|
+
/**
|
|
3545
|
+
* Centrifuge needs nothing required today: the vaults come from the offer and
|
|
3546
|
+
* the token registry. The key still has to be supplied, so that the day it
|
|
3547
|
+
* does need something the omission is a compile error.
|
|
3548
|
+
*/
|
|
3549
|
+
type CentrifugeVaultClaimConfig = {
|
|
3550
|
+
/** Fired once a claim has mined. The dialog shows either way. */
|
|
3551
|
+
onClaimed?: (claim: CentrifugeVaultClaimed) => void;
|
|
3552
|
+
};
|
|
3553
|
+
interface ClaimContainerProps {
|
|
3554
|
+
/**
|
|
3555
|
+
* The async offer whose positions to show. Its `type` decides which
|
|
3556
|
+
* provider renders. Narrow an `OfferDetail` with `AsyncOfferDetail.is`.
|
|
3557
|
+
*/
|
|
3558
|
+
offer: AsyncOfferDetail;
|
|
3559
|
+
/**
|
|
3560
|
+
* The wallets to read positions for and claim from, and the host's
|
|
3561
|
+
* external-wallet connector. Pass `externalAdapter: null` to hide the
|
|
3562
|
+
* connect affordance.
|
|
3563
|
+
*/
|
|
3564
|
+
wallets: WalletSelection;
|
|
3565
|
+
/**
|
|
3566
|
+
* Names a wallet for display, e.g. `'CoinList Wallet'` for the embedded
|
|
3567
|
+
* one. Omitted, or returning `null`, shows the shortened address.
|
|
3568
|
+
*/
|
|
3569
|
+
walletLabel?: WalletLabelResolver;
|
|
3570
|
+
/** What each async offer type needs beyond the offer itself. */
|
|
3571
|
+
config: ClaimConfig;
|
|
3572
|
+
/**
|
|
3573
|
+
* Default `true`. `false` turns off every request and timer in the mounted
|
|
3574
|
+
* provider, for a card that is on the tree but not on screen yet.
|
|
3575
|
+
*/
|
|
3576
|
+
enabled?: boolean;
|
|
3577
|
+
className?: string;
|
|
3578
|
+
}
|
|
3579
|
+
/**
|
|
3580
|
+
* The plug-and-play claim card: hand it an async offer and it renders the
|
|
3581
|
+
* right provider's positions - what is pending, what is claimable - and the
|
|
3582
|
+
* claim that collects them.
|
|
3583
|
+
*
|
|
3584
|
+
* The second leg of an async trade. The user placed a request earlier, the
|
|
3585
|
+
* fund fills it on its own schedule, and they come back - days or weeks later
|
|
3586
|
+
* - to claim. So the card is its own entry on the offer page rather than a
|
|
3587
|
+
* checkout step.
|
|
3588
|
+
*
|
|
3589
|
+
* Only the matching provider's container is mounted, so its viewmodel is the
|
|
3590
|
+
* only one that runs. The `switch` is exhaustive against
|
|
3591
|
+
* {@link AsyncOfferType}, and the `default` branch assigns to
|
|
3592
|
+
* `const exhaustive: never`, so a new async offer type is a compile error here
|
|
3593
|
+
* as well as in {@link ClaimConfig}.
|
|
3594
|
+
*
|
|
3595
|
+
* ```tsx
|
|
3596
|
+
* {AsyncOfferDetail.is(offer) && (
|
|
3597
|
+
* <ClaimContainer
|
|
3598
|
+
* key={offer.id}
|
|
3599
|
+
* offer={offer}
|
|
3600
|
+
* wallets={{ embedded, external, externalAdapter }}
|
|
3601
|
+
* walletLabel={(address) => (isEmbedded(address) ? 'CoinList Wallet' : null)}
|
|
3602
|
+
* config={{ 'centrifuge::vault': {} }}
|
|
3603
|
+
* />
|
|
3604
|
+
* )}
|
|
3605
|
+
* ```
|
|
3606
|
+
*/
|
|
3607
|
+
declare function ClaimContainer({ offer, wallets, walletLabel, config, enabled, className, }: ClaimContainerProps): ReactNode;
|
|
3608
|
+
|
|
3609
|
+
interface CentrifugeVaultClaimContainerProps {
|
|
3610
|
+
/** The vault offer whose positions to show: its chains come from `vaultContracts`. */
|
|
3611
|
+
offer: CentrifugeVaultOfferDetail;
|
|
3612
|
+
/** The wallets to read positions for and claim from. */
|
|
3613
|
+
wallets: WalletSelection;
|
|
3614
|
+
/** Names a wallet for display; unnamed ones show a shortened address. */
|
|
3615
|
+
walletLabel?: WalletLabelResolver;
|
|
3616
|
+
/** Fired once a claim has mined. The dialog shows either way. */
|
|
3617
|
+
onClaimed?: (claim: CentrifugeVaultClaimed) => void;
|
|
3618
|
+
/**
|
|
3619
|
+
* Default `true`. `false` turns off every request and timer, for a card
|
|
3620
|
+
* that is mounted but not on screen yet.
|
|
3621
|
+
*/
|
|
3622
|
+
enabled?: boolean;
|
|
3623
|
+
className?: string;
|
|
3624
|
+
}
|
|
3625
|
+
/**
|
|
3626
|
+
* The Centrifuge claim card: every wallet's pending and claimable positions on
|
|
3627
|
+
* a vault offer, polled while anything is pending, and the claim that
|
|
3628
|
+
* collects a filled one.
|
|
3629
|
+
*/
|
|
3630
|
+
declare function CentrifugeVaultClaimContainer({ offer, wallets, walletLabel, onClaimed, enabled, className, }: CentrifugeVaultClaimContainerProps): ReactNode;
|
|
3631
|
+
|
|
3632
|
+
interface CentrifugeVaultClaimDialogProps {
|
|
3633
|
+
dialog: CentrifugeClaimDialogUi;
|
|
3634
|
+
onRetry: () => void;
|
|
3635
|
+
onClose: () => void;
|
|
3636
|
+
}
|
|
3637
|
+
/**
|
|
3638
|
+
* The dialog a claim runs in: its steps as they happen, the step that broke
|
|
3639
|
+
* and why, or what was claimed.
|
|
3640
|
+
*
|
|
3641
|
+
* Closing it mid-claim is allowed and cancels nothing: a broadcast claim
|
|
3642
|
+
* still mines, and the card refetches when it does.
|
|
3643
|
+
*/
|
|
3644
|
+
declare function CentrifugeVaultClaimDialog({ dialog, onRetry, onClose, }: CentrifugeVaultClaimDialogProps): ReactNode;
|
|
3645
|
+
|
|
3646
|
+
interface CentrifugeVaultClaimRowProps {
|
|
3647
|
+
row: CentrifugeClaimRowUi;
|
|
3648
|
+
/** Asked for when the row is claimable and its Claim button is pressed. */
|
|
3649
|
+
onClaim: () => void;
|
|
3650
|
+
}
|
|
3651
|
+
/**
|
|
3652
|
+
* One position row of the claim card.
|
|
3653
|
+
*
|
|
3654
|
+
* A pending row names the offer and, on the right, what is queued and from
|
|
3655
|
+
* which wallet. A claimable row leads with what the user gets, and puts the
|
|
3656
|
+
* Claim button where the amount would be. A blocked claim keeps its row and
|
|
3657
|
+
* says why under it, so the user is not left wondering where their claim went.
|
|
3658
|
+
*/
|
|
3659
|
+
declare function CentrifugeVaultClaimRow({ row, onClaim, }: CentrifugeVaultClaimRowProps): ReactNode;
|
|
3660
|
+
|
|
3661
|
+
interface CentrifugeVaultClaimViewProps {
|
|
3662
|
+
state: CentrifugeVaultClaimUiState;
|
|
3663
|
+
onEvent: (event: CentrifugeVaultClaimUiEvent) => void;
|
|
3664
|
+
className?: string;
|
|
3665
|
+
}
|
|
3666
|
+
/**
|
|
3667
|
+
* The claim card: a wallet's pending and claimable Centrifuge positions, the
|
|
3668
|
+
* footer that connects an external wallet, and the dialog a claim runs in.
|
|
3669
|
+
*/
|
|
3670
|
+
declare function CentrifugeVaultClaimView({ state, onEvent, className, }: CentrifugeVaultClaimViewProps): ReactNode;
|
|
3671
|
+
|
|
3207
3672
|
/**
|
|
3208
3673
|
* One image as an `<img>` renders it: a `src` for a consumer that takes a
|
|
3209
3674
|
* single URL, and the `srcSet` candidates for one that also knows the size
|
|
@@ -4350,6 +4815,111 @@ interface UseCompleteOAuthOptions {
|
|
|
4350
4815
|
*/
|
|
4351
4816
|
declare function useCompleteOAuth(options: UseCompleteOAuthOptions): void;
|
|
4352
4817
|
|
|
4818
|
+
/**
|
|
4819
|
+
* User-facing copy for each `can_order` reason F-0 publishes.
|
|
4820
|
+
*
|
|
4821
|
+
* A record keyed by the closed set, so a new reason fails to compile here
|
|
4822
|
+
* until it has a sentence. The View (or a viewmodel mapping into one) should
|
|
4823
|
+
* render this rather than the wire token.
|
|
4824
|
+
*
|
|
4825
|
+
* Status never returns `below_minimum`; a quote can. Both call this with
|
|
4826
|
+
* whichever subset they actually hold.
|
|
4827
|
+
*/
|
|
4828
|
+
declare const CENTRIFUGE_VAULT_ORDER_REASON_MESSAGES: Record<CentrifugeOrderReason, string>;
|
|
4829
|
+
declare function centrifugeVaultOrderReasonMessage(reason: CentrifugeOrderReason): string;
|
|
4830
|
+
/**
|
|
4831
|
+
* The most blocking reason in `reasons`, or `null` when the list is empty.
|
|
4832
|
+
*/
|
|
4833
|
+
declare function primaryCentrifugeVaultOrderReason<T extends CentrifugeOrderReason>(reasons: readonly T[]): T | null;
|
|
4834
|
+
/**
|
|
4835
|
+
* The sentence to show for an {@link CentrifugeOrderability}, or `null` when
|
|
4836
|
+
* the request can proceed. Accepts a quote's full reason set or a status's
|
|
4837
|
+
* narrower one.
|
|
4838
|
+
*/
|
|
4839
|
+
declare function centrifugeVaultOrderingMessage<R extends CentrifugeOrderReason>(orderability: CentrifugeOrderability<R>): string | null;
|
|
4840
|
+
|
|
4841
|
+
/**
|
|
4842
|
+
* Why a Centrifuge read failed, in the only two flavours a UI acts on
|
|
4843
|
+
* differently.
|
|
4844
|
+
*
|
|
4845
|
+
* `not-authenticated` is split out because no retry helps until the user
|
|
4846
|
+
* signs in. Everything else collapses into `generic-error` and is offered a
|
|
4847
|
+
* retry.
|
|
4848
|
+
*/
|
|
4849
|
+
type CentrifugeLoadErrorReason = 'not-authenticated' | 'generic-error';
|
|
4850
|
+
declare function centrifugeLoadErrorReason(error: unknown): CentrifugeLoadErrorReason;
|
|
4851
|
+
|
|
4852
|
+
/**
|
|
4853
|
+
* The state of the indicative-quote poll.
|
|
4854
|
+
*
|
|
4855
|
+
* - `LOADING`: no quote yet (initial, or the provider is still initializing).
|
|
4856
|
+
* - `ERROR`: no quote could be fetched at all.
|
|
4857
|
+
* - `CONTENT`: a quote is in hand; `isRefreshing` says whether a newer one
|
|
4858
|
+
* is on the way.
|
|
4859
|
+
*
|
|
4860
|
+
* A poll that fails with a quote already in hand stays `CONTENT`: the last
|
|
4861
|
+
* quote is worth more to a user than a blank panel, and the next tick retries
|
|
4862
|
+
* within seconds. `ERROR` therefore means "never got one".
|
|
4863
|
+
*
|
|
4864
|
+
* There is no expiry on this quote. It is indicative, the fund prices
|
|
4865
|
+
* fulfilment later, and a countdown would imply a commitment the API does
|
|
4866
|
+
* not make. Freshness is the poll interval, not a TTL.
|
|
4867
|
+
*/
|
|
4868
|
+
type LoadCentrifugeQuoteState = {
|
|
4869
|
+
type: 'LOADING';
|
|
4870
|
+
} | {
|
|
4871
|
+
type: 'ERROR';
|
|
4872
|
+
reason: CentrifugeLoadErrorReason;
|
|
4873
|
+
} | {
|
|
4874
|
+
type: 'CONTENT';
|
|
4875
|
+
quote: CentrifugeVaultQuote;
|
|
4876
|
+
isRefreshing: boolean;
|
|
4877
|
+
};
|
|
4878
|
+
interface UseCentrifugeQuoteOptions {
|
|
4879
|
+
/** Share token symbol of the vault, e.g. `deJTRSY`. */
|
|
4880
|
+
symbol: AssetSymbol;
|
|
4881
|
+
chain: EthereumChain;
|
|
4882
|
+
/** The spend to price, in the funding token's base units. */
|
|
4883
|
+
amount: BlockchainAmount;
|
|
4884
|
+
/** How often to refresh. Defaults to {@link CENTRIFUGE_POLL_INTERVAL_MS}. */
|
|
4885
|
+
pollIntervalMs?: number;
|
|
4886
|
+
/**
|
|
4887
|
+
* A quote the caller already holds, typically fetched server-side, used as
|
|
4888
|
+
* the state the hook opens on so a server-rendered panel needs no loading
|
|
4889
|
+
* pass.
|
|
4890
|
+
*
|
|
4891
|
+
* It seeds the first render only: the poll still fetches immediately. A
|
|
4892
|
+
* quote is worth as much as it is fresh, and the amount being priced
|
|
4893
|
+
* changes as the flow advances, so a seed that suppressed the first read
|
|
4894
|
+
* would be offering the server's answer - or another amount's - as this
|
|
4895
|
+
* one's.
|
|
4896
|
+
*/
|
|
4897
|
+
data?: CentrifugeVaultQuote;
|
|
4898
|
+
/** When false, the hook neither fetches nor polls. */
|
|
4899
|
+
enabled: boolean;
|
|
4900
|
+
}
|
|
4901
|
+
interface UseCentrifugeQuoteResult {
|
|
4902
|
+
state: LoadCentrifugeQuoteState;
|
|
4903
|
+
}
|
|
4904
|
+
/**
|
|
4905
|
+
* Polls Centrifuge's indicative quote for `amount` of `symbol` on `chain`.
|
|
4906
|
+
*
|
|
4907
|
+
* Free to poll: this quote spends no attestation and commits nothing, which
|
|
4908
|
+
* is why it may run while the user is still deciding. It also cannot be
|
|
4909
|
+
* executed - committing a request is `coinlist.centrifuge` invest, which is
|
|
4910
|
+
* not this hook.
|
|
4911
|
+
*
|
|
4912
|
+
* Disabled (or before the provider is ready) it neither fetches nor holds a
|
|
4913
|
+
* timer, and stays on whatever state it opened with - `LOADING`, or the
|
|
4914
|
+
* `data` seed - rather than reporting an error.
|
|
4915
|
+
*
|
|
4916
|
+
* A `data` quote opens the state instead of `LOADING` and is otherwise left
|
|
4917
|
+
* to the poll: the first tick fires as it always does, and only replaces the
|
|
4918
|
+
* seed once it has a quote of its own. Until it does the state is `CONTENT`
|
|
4919
|
+
* with `isRefreshing` set, which is what that flag is for.
|
|
4920
|
+
*/
|
|
4921
|
+
declare function useCentrifugeQuote(options: UseCentrifugeQuoteOptions): UseCentrifugeQuoteResult;
|
|
4922
|
+
|
|
4353
4923
|
type LoadParticipationsReason = 'not-authenticated' | 'generic-error';
|
|
4354
4924
|
type LoadParticipationsState = {
|
|
4355
4925
|
type: 'LOADING';
|
|
@@ -4489,11 +5059,13 @@ declare function validateAmount({ input, decimals, balance, symbol, minimumPurch
|
|
|
4489
5059
|
}): OndoBuyAmountValidation;
|
|
4490
5060
|
|
|
4491
5061
|
/**
|
|
4492
|
-
* Why an Ondo read failed, in the
|
|
5062
|
+
* Why an Ondo read failed, in the three flavours a UI acts on differently.
|
|
4493
5063
|
*
|
|
4494
5064
|
* `not-authenticated` is split out because no retry helps until the user signs
|
|
4495
|
-
* in, and because the remedy is one the UI can name.
|
|
4496
|
-
*
|
|
5065
|
+
* in, and because the remedy is one the UI can name. `not-tradable` is split
|
|
5066
|
+
* out for the same reason: the market is closed or paused, so the remedy is to
|
|
5067
|
+
* wait for it to open, and a retry before then fails the same way. Everything
|
|
5068
|
+
* else collapses into `generic-error` and is offered a retry.
|
|
4497
5069
|
*
|
|
4498
5070
|
* That is a deliberate over-offer, not a claim that every such failure is
|
|
4499
5071
|
* retryable. A `ValidationError` from the DTO boundary - an unreadable expiry,
|
|
@@ -4504,7 +5076,7 @@ declare function validateAmount({ input, decimals, balance, symbol, minimumPurch
|
|
|
4504
5076
|
* branch in every consumer to distinguish. Split it out if that stops being
|
|
4505
5077
|
* true.
|
|
4506
5078
|
*/
|
|
4507
|
-
type OndoLoadErrorReason = 'not-authenticated' | 'generic-error';
|
|
5079
|
+
type OndoLoadErrorReason = 'not-authenticated' | 'not-tradable' | 'generic-error';
|
|
4508
5080
|
declare function ondoLoadErrorReason(error: unknown): OndoLoadErrorReason;
|
|
4509
5081
|
|
|
4510
5082
|
/**
|
|
@@ -4725,7 +5297,9 @@ interface UseOndoBuyCheckoutViewModelResult {
|
|
|
4725
5297
|
* no Ondo integration contract is known before any step runs, and there is no
|
|
4726
5298
|
* region to report it in that would not first have to render something untrue:
|
|
4727
5299
|
* a wallet picker leading nowhere, a balance read for a token this flow will
|
|
4728
|
-
* never spend.
|
|
5300
|
+
* never spend. A market known to be closed while the user is still choosing a
|
|
5301
|
+
* wallet is the same kind of answer for as long as it lasts. See
|
|
5302
|
+
* {@link OndoCheckoutErrorReason}.
|
|
4729
5303
|
*
|
|
4730
5304
|
* `offer` and `chain` are read as fixed for the lifetime of the hook. The step
|
|
4731
5305
|
* machine holds a committed quote and an approval granted on one chain for one
|
|
@@ -5112,7 +5686,9 @@ interface UseOndoSellCheckoutViewModelResult {
|
|
|
5112
5686
|
* about whether there is a flow rather than about how one went. A chain with
|
|
5113
5687
|
* no Ondo integration contract is known before any step runs, and there is no
|
|
5114
5688
|
* region to report it in that would not first have to render something untrue.
|
|
5115
|
-
*
|
|
5689
|
+
* A market known to be closed while the user is still on the first step is the
|
|
5690
|
+
* same kind of answer for as long as it lasts. See
|
|
5691
|
+
* {@link OndoCheckoutErrorReason}.
|
|
5116
5692
|
*
|
|
5117
5693
|
* `offer` and `chain` are read as fixed for the lifetime of the hook, and so is
|
|
5118
5694
|
* the wallet the flow opened on. The step machine holds a committed quote and
|
|
@@ -5220,6 +5796,12 @@ type LoadOndoTradingStatusState = {
|
|
|
5220
5796
|
type: 'CONTENT';
|
|
5221
5797
|
status: OndoTradingStatus;
|
|
5222
5798
|
};
|
|
5799
|
+
/**
|
|
5800
|
+
* Whether the market is *known* to be closed for this side: the one reading of
|
|
5801
|
+
* the poll a caller may block an order on. `LOADING` and `ERROR` are unknown,
|
|
5802
|
+
* and unknown never blocks.
|
|
5803
|
+
*/
|
|
5804
|
+
declare function isNotTradable(state: LoadOndoTradingStatusState): boolean;
|
|
5223
5805
|
interface UseOndoTradingStatusOptions {
|
|
5224
5806
|
/** Ondo's API symbol, e.g. `AAPLon`. */
|
|
5225
5807
|
symbol: AssetSymbol;
|
|
@@ -5808,6 +6390,118 @@ interface UseSuperstateWalletViewModelResult {
|
|
|
5808
6390
|
*/
|
|
5809
6391
|
declare function useSuperstateWalletViewModel({ stepInput, wallets, offerId, contractAddress, chain, onComplete, onEdit, }: UseSuperstateWalletViewModelOptions): UseSuperstateWalletViewModelResult;
|
|
5810
6392
|
|
|
6393
|
+
/**
|
|
6394
|
+
* Where one claim run stands. `FAILED` keeps the phase it stopped in, so a
|
|
6395
|
+
* progress list can mark the step that broke rather than only say that
|
|
6396
|
+
* something did.
|
|
6397
|
+
*/
|
|
6398
|
+
type CentrifugeClaimState = {
|
|
6399
|
+
type: 'IDLE';
|
|
6400
|
+
} | {
|
|
6401
|
+
type: 'RUNNING';
|
|
6402
|
+
phase: CentrifugeClaimPhase;
|
|
6403
|
+
} | {
|
|
6404
|
+
type: 'FAILED';
|
|
6405
|
+
phase: CentrifugeClaimPhase;
|
|
6406
|
+
error: CentrifugeClaimError;
|
|
6407
|
+
} | {
|
|
6408
|
+
type: 'SUCCEEDED';
|
|
6409
|
+
success: Extract<CentrifugeClaimResult, {
|
|
6410
|
+
type: 'success';
|
|
6411
|
+
}>;
|
|
6412
|
+
};
|
|
6413
|
+
type CentrifugeClaimParams = Omit<ClaimCentrifugeVaultParams, 'centrifuge' | 'onProgress'>;
|
|
6414
|
+
interface UseCentrifugeClaimResult {
|
|
6415
|
+
state: CentrifugeClaimState;
|
|
6416
|
+
/**
|
|
6417
|
+
* Runs a claim and resolves with its result, whatever became of the state:
|
|
6418
|
+
* a claim abandoned with {@link reset} still mines, and the caller may want
|
|
6419
|
+
* to refetch when it does.
|
|
6420
|
+
*/
|
|
6421
|
+
claim: (params: CentrifugeClaimParams) => Promise<CentrifugeClaimResult>;
|
|
6422
|
+
/** Back to `IDLE`. A run still in flight stops updating the state. */
|
|
6423
|
+
reset: () => void;
|
|
6424
|
+
}
|
|
6425
|
+
/**
|
|
6426
|
+
* Claims a filled Centrifuge position through `coinlist.centrifuge.claim`,
|
|
6427
|
+
* tracking which phase it is in.
|
|
6428
|
+
*
|
|
6429
|
+
* Unmounting or resetting does not cancel a claim - nothing can recall a
|
|
6430
|
+
* broadcast transaction - it only stops this state following it.
|
|
6431
|
+
*/
|
|
6432
|
+
declare function useCentrifugeClaim(): UseCentrifugeClaimResult;
|
|
6433
|
+
|
|
6434
|
+
/** A vault on one chain, as the position endpoints key it. */
|
|
6435
|
+
type CentrifugePositionVault = {
|
|
6436
|
+
chain: EthereumChain;
|
|
6437
|
+
/** Share token symbol of the vault, e.g. `deJTRSY`. */
|
|
6438
|
+
symbol: AssetSymbol;
|
|
6439
|
+
};
|
|
6440
|
+
/**
|
|
6441
|
+
* The state of the position reads.
|
|
6442
|
+
*
|
|
6443
|
+
* `CONTENT` holds every read that has ever answered, kept through later
|
|
6444
|
+
* failures: a flaky tick must not make a claimable position vanish under the
|
|
6445
|
+
* user. A read that has never answered is absent, not zero. `ERROR` is
|
|
6446
|
+
* reserved for the case where nothing answered at all, so a screen has
|
|
6447
|
+
* nothing to show but a retry.
|
|
6448
|
+
*/
|
|
6449
|
+
type LoadCentrifugeVaultPositionsState = {
|
|
6450
|
+
type: 'LOADING';
|
|
6451
|
+
} | {
|
|
6452
|
+
type: 'ERROR';
|
|
6453
|
+
reason: CentrifugeLoadErrorReason;
|
|
6454
|
+
} | {
|
|
6455
|
+
type: 'CONTENT';
|
|
6456
|
+
legs: CentrifugeVaultLeg[];
|
|
6457
|
+
};
|
|
6458
|
+
interface UseCentrifugeVaultPositionsOptions {
|
|
6459
|
+
/** The vaults to read, one per chain the offer runs on. */
|
|
6460
|
+
vaults: CentrifugePositionVault[];
|
|
6461
|
+
/** The wallets to read them for, in display order. */
|
|
6462
|
+
walletAddresses: EvmWalletAddress[];
|
|
6463
|
+
/**
|
|
6464
|
+
* How often to re-read a position that still has something pending.
|
|
6465
|
+
* Defaults to {@link CENTRIFUGE_POLL_INTERVAL_MS}.
|
|
6466
|
+
*/
|
|
6467
|
+
pollIntervalMs?: number;
|
|
6468
|
+
/**
|
|
6469
|
+
* Reads pre-fetched on the server. When provided, the hook opens on them
|
|
6470
|
+
* and skips the first fetch; polling and {@link UseCentrifugeVaultPositionsResult.refetch}
|
|
6471
|
+
* still fetch.
|
|
6472
|
+
*/
|
|
6473
|
+
data?: CentrifugeVaultLeg[];
|
|
6474
|
+
/**
|
|
6475
|
+
* Default `true`. When `false`: no requests, no timers, and an empty
|
|
6476
|
+
* `CONTENT`.
|
|
6477
|
+
*/
|
|
6478
|
+
enabled?: boolean;
|
|
6479
|
+
}
|
|
6480
|
+
interface UseCentrifugeVaultPositionsResult {
|
|
6481
|
+
state: LoadCentrifugeVaultPositionsState;
|
|
6482
|
+
/**
|
|
6483
|
+
* Reads every position again: the retry after an `ERROR`, and what a claim
|
|
6484
|
+
* calls once it mined so the claimed amount leaves the screen.
|
|
6485
|
+
*/
|
|
6486
|
+
refetch: () => void;
|
|
6487
|
+
}
|
|
6488
|
+
/**
|
|
6489
|
+
* Reads, and keeps reading, every wallet's position on every vault, on both
|
|
6490
|
+
* sides of the trade.
|
|
6491
|
+
*
|
|
6492
|
+
* A fill lands on the fund's schedule with no signal, so polling is the only
|
|
6493
|
+
* way a pending position is seen turning claimable. Each read is fetched once
|
|
6494
|
+
* when the inputs change, when {@link UseCentrifugeVaultPositionsResult.refetch}
|
|
6495
|
+
* is called and when the page becomes visible again. Between those, only the
|
|
6496
|
+
* reads with something still pending are polled - a position with nothing
|
|
6497
|
+
* pending cannot change on its own - and only while the page is visible.
|
|
6498
|
+
*
|
|
6499
|
+
* A read that fails keeps its last answer and is logged; one that has never
|
|
6500
|
+
* answered is left out, and retried on the next full fetch rather than on
|
|
6501
|
+
* the timer.
|
|
6502
|
+
*/
|
|
6503
|
+
declare function useCentrifugeVaultPositions(options: UseCentrifugeVaultPositionsOptions): UseCentrifugeVaultPositionsResult;
|
|
6504
|
+
|
|
5811
6505
|
type LoadOfferDetailsReason = 'not-authenticated' | 'generic-error';
|
|
5812
6506
|
type LoadOfferDetailsState = {
|
|
5813
6507
|
type: 'LOADING';
|
|
@@ -6235,6 +6929,116 @@ interface UseConnectWalletModalViewModelResult {
|
|
|
6235
6929
|
*/
|
|
6236
6930
|
declare function useConnectWalletModalViewModel({ isOpen, onClose, offerId, optionId, wallet, onConnected, onRequestConnect, challengeType, statement, }: UseConnectWalletModalViewModelOptions): UseConnectWalletModalViewModelResult;
|
|
6237
6931
|
|
|
6932
|
+
/**
|
|
6933
|
+
* The state of one vault's status poll.
|
|
6934
|
+
*
|
|
6935
|
+
* Stale-preserving: a failed tick with a status in hand keeps it, so a flaky
|
|
6936
|
+
* read never reads as "vault halted". `ERROR` means the status is unknown -
|
|
6937
|
+
* which is not the same as `CONTENT` carrying a blocked orderability, and
|
|
6938
|
+
* callers must not conflate them. A vault that is *known* to be unorderable
|
|
6939
|
+
* may block a request; one that is merely unknown may not.
|
|
6940
|
+
*
|
|
6941
|
+
* `below_minimum` never appears here: it needs an amount, which this
|
|
6942
|
+
* endpoint is never given.
|
|
6943
|
+
*/
|
|
6944
|
+
type LoadCentrifugeVaultStatusState = {
|
|
6945
|
+
type: 'LOADING';
|
|
6946
|
+
} | {
|
|
6947
|
+
type: 'ERROR';
|
|
6948
|
+
reason: CentrifugeLoadErrorReason;
|
|
6949
|
+
} | {
|
|
6950
|
+
type: 'CONTENT';
|
|
6951
|
+
status: CentrifugeVaultStatus;
|
|
6952
|
+
};
|
|
6953
|
+
/** A vault as the status endpoint keys it: one share token on one chain. */
|
|
6954
|
+
type CentrifugeStatusVault = {
|
|
6955
|
+
/** Share token symbol of the vault, e.g. `deJTRSY`. */
|
|
6956
|
+
symbol: AssetSymbol;
|
|
6957
|
+
chain: EthereumChain;
|
|
6958
|
+
};
|
|
6959
|
+
interface UseCentrifugeVaultStatusesOptions {
|
|
6960
|
+
/** The vaults to poll, typically one per chain an offer runs on. */
|
|
6961
|
+
vaults: CentrifugeStatusVault[];
|
|
6962
|
+
/** How often to refresh. Defaults to {@link CENTRIFUGE_POLL_INTERVAL_MS}. */
|
|
6963
|
+
pollIntervalMs?: number;
|
|
6964
|
+
/**
|
|
6965
|
+
* Statuses the caller already holds, typically fetched server-side, each
|
|
6966
|
+
* opening the state of the vault it names so a server-rendered panel needs
|
|
6967
|
+
* no loading pass.
|
|
6968
|
+
*
|
|
6969
|
+
* They seed the first render only: the poll still fetches immediately. A
|
|
6970
|
+
* vault that was orderable a minute ago can be unlinked now, so a seed
|
|
6971
|
+
* that suppressed the first read would be answering "can I act right now"
|
|
6972
|
+
* with whenever the page was rendered.
|
|
6973
|
+
*/
|
|
6974
|
+
data?: CentrifugeVaultStatus[];
|
|
6975
|
+
/** When false, the hook neither fetches nor polls. */
|
|
6976
|
+
enabled: boolean;
|
|
6977
|
+
}
|
|
6978
|
+
interface UseCentrifugeVaultStatusesResult {
|
|
6979
|
+
/** One entry per vault asked for, in the order asked. */
|
|
6980
|
+
statuses: {
|
|
6981
|
+
vault: CentrifugeStatusVault;
|
|
6982
|
+
state: LoadCentrifugeVaultStatusState;
|
|
6983
|
+
}[];
|
|
6984
|
+
}
|
|
6985
|
+
/**
|
|
6986
|
+
* Polls whether each of several Centrifuge vaults can be acted on right now,
|
|
6987
|
+
* independent of any wallet or amount.
|
|
6988
|
+
*
|
|
6989
|
+
* Free to poll - it spends no attestation. Centrifuge announces none of the
|
|
6990
|
+
* changes this reports, so the poll is the only way a screen notices a vault
|
|
6991
|
+
* halting under it. Each vault is read independently on one shared timer, so
|
|
6992
|
+
* one failing chain never holds back another.
|
|
6993
|
+
*
|
|
6994
|
+
* A seeded status opens its vault's state instead of `LOADING` and is
|
|
6995
|
+
* otherwise left to the poll: the first tick fires as it always does, and
|
|
6996
|
+
* only replaces the seed once it has a status of its own.
|
|
6997
|
+
*
|
|
6998
|
+
* Disabled it neither fetches nor holds a timer, and each vault stays on
|
|
6999
|
+
* whatever state it held. That is `LOADING` and not an empty `CONTENT`
|
|
7000
|
+
* because there is no empty vault status - and an invented one would be
|
|
7001
|
+
* worse than none, since `CONTENT` here is what a caller is allowed to block
|
|
7002
|
+
* on.
|
|
7003
|
+
*/
|
|
7004
|
+
declare function useCentrifugeVaultStatuses(options: UseCentrifugeVaultStatusesOptions): UseCentrifugeVaultStatusesResult;
|
|
7005
|
+
|
|
7006
|
+
interface UseCentrifugeVaultStatusOptions {
|
|
7007
|
+
/** Share token symbol of the vault, e.g. `deJTRSY`. */
|
|
7008
|
+
symbol: AssetSymbol;
|
|
7009
|
+
chain: EthereumChain;
|
|
7010
|
+
/** How often to refresh. Defaults to `CENTRIFUGE_POLL_INTERVAL_MS`. */
|
|
7011
|
+
pollIntervalMs?: number;
|
|
7012
|
+
/**
|
|
7013
|
+
* A status the caller already holds, typically fetched server-side, used
|
|
7014
|
+
* as the state the hook opens on so a server-rendered panel needs no
|
|
7015
|
+
* loading pass.
|
|
7016
|
+
*
|
|
7017
|
+
* It seeds the first render only: the poll still fetches immediately. A
|
|
7018
|
+
* vault that was orderable a minute ago can be unlinked now, so a seed
|
|
7019
|
+
* that suppressed the first read would be answering "can I invest right
|
|
7020
|
+
* now" with whenever the page was rendered.
|
|
7021
|
+
*/
|
|
7022
|
+
data?: CentrifugeVaultStatus;
|
|
7023
|
+
/** When false, the hook neither fetches nor polls. */
|
|
7024
|
+
enabled: boolean;
|
|
7025
|
+
}
|
|
7026
|
+
interface UseCentrifugeVaultStatusResult {
|
|
7027
|
+
state: LoadCentrifugeVaultStatusState;
|
|
7028
|
+
}
|
|
7029
|
+
/**
|
|
7030
|
+
* Polls whether a Centrifuge vault can take a request at all right now,
|
|
7031
|
+
* independent of any amount.
|
|
7032
|
+
*
|
|
7033
|
+
* Free to poll - it spends no attestation. Centrifuge announces none of the
|
|
7034
|
+
* changes this reports, so the poll is the only way a checkout notices
|
|
7035
|
+
* mid-order.
|
|
7036
|
+
*
|
|
7037
|
+
* The one-vault case of {@link useCentrifugeVaultStatuses}, which carries the
|
|
7038
|
+
* seeding, stale-preserving and disabled semantics.
|
|
7039
|
+
*/
|
|
7040
|
+
declare function useCentrifugeVaultStatus(options: UseCentrifugeVaultStatusOptions): UseCentrifugeVaultStatusResult;
|
|
7041
|
+
|
|
6238
7042
|
interface UseErc20BalanceOptions {
|
|
6239
7043
|
/**
|
|
6240
7044
|
* The token to read, by contract address.
|
|
@@ -6605,4 +7409,15 @@ interface UseCountdownOptions {
|
|
|
6605
7409
|
*/
|
|
6606
7410
|
declare function useCountdown({ until, tickMs, enabled, }: UseCountdownOptions): number | null;
|
|
6607
7411
|
|
|
6608
|
-
export { type AuthState, type AuthorizeWalletParams, ChecklistStatus, CheckoutAssetUi, type CheckoutConfig, type CheckoutConfirmedWalletUi, CheckoutContainer, type CheckoutContainerProps, type CheckoutCtaUi, type CheckoutEmbeddedWalletUi, type CheckoutNetworkUi, type CheckoutSelectableInputAssetUi, type CheckoutStatusUi, type CheckoutWalletSelection, type CheckoutWalletTypeUi, type CheckoutWalletUi, type ClientAuthConfig, type ClientAuthNamespace, ClientAuthNamespaceImpl, type ClientAuthSession, type ClientCoinListTokenSaleNamespace, ClientCoinListTokenSaleNamespaceImpl, type ClientConfig, type ClientOndoNamespace, ClientOndoNamespaceImpl, type ClientRequirementsNamespace, ClientRequirementsNamespaceImpl, type ClientSuperstateSwapNamespace, ClientSuperstateSwapNamespaceImpl, type ClientSupportNamespace, ClientSupportNamespaceImpl, type CoinListClient, CoinListClientInitializationError, CoinListContext, CoinListContextProvider, type CoinListContextValue, CoinListProvider, type CoinListProviderProps, CoinListSignInButton, CoinListSignInCardContainer, type CoinListSignInCardContainerProps, type CoinListSignInCardUiEvent, type CoinListSignInCardUiState, CoinListSignInCardView, type CoinListSignInCardViewProps, CoinListStyleScope, type CoinListStyleScopeProps, type CoinListTokenSaleCheckoutConfig, type CompleteOAuthFailureReason, ConnectWallet, type ConnectWalletError, type ConnectWalletErrorCode, type ConnectWalletFlowError, type ConnectWalletFlowParams, type ConnectWalletFlowResult, ConnectWalletModalContainer, type ConnectWalletModalContainerProps, type ConnectWalletModalUiEvent, type ConnectWalletModalUiState, ConnectWalletModalView, type ConnectWalletModalViewProps, type ConnectWalletPhase, type ConnectWalletScreenUi, type ConnectWalletSignState, type ConnectWalletState, ConnectedWalletList, type ConnectedWalletListProps, type ConnectedWalletUi, ERC20_BALANCE_POLL_INTERVAL_MS, type Erc20AllowanceError, type Erc20AllowancePhase, type Erc20AllowanceResult, type Erc20ApprovalError, EvmWallet, type ExecuteOndoSwapParams, type ExecuteSwapParams, type ExecuteTokenSaleParams, IdentityVerificationContainer, type IdentityVerificationContainerProps, type IdentityVerificationUiEvent, type IdentityVerificationUiState, IdentityVerificationView, type IdentityVerificationViewProps, KycLevelName, type KycTokenErrorReason, type KycTokenState, type LoadOfferDetailsReason, type LoadOfferDetailsState, type LoadOffersReason, type LoadOffersState, type LoadOndoBuyTransactionState, type LoadOndoPriceState, type LoadOndoSellTransactionState, type LoadOndoTradingStatusState, type LoadOptionAddressesReason, type LoadOptionAddressesState, type LoadParticipationsReason, type LoadParticipationsState, type LoadRequirementsReason, type LoadRequirementsState, type LoadTokenMetadataState, type LoadTokenRegistryState, Logger, type LogoImageUi, OAUTH_CODE_VERIFIER_KEY, OAUTH_STATE_KEY, type OauthClientErrorReason, type OauthClientResult, OfferAssetCard, type OfferAssetCardProps, OfferAssetCardUi, OfferLogoUi, OfferSaleCard, type OfferSaleCardProps, OfferSaleCardUi, OffersAssetGrid, type OffersAssetGridProps, OffersGridContainer, type OffersGridContainerProps, type OffersGridData, type OffersGridUiEvent, type OffersGridUiState, OffersGridView, type OffersGridViewProps, type OndoBuyAmountConfirmed, type OndoBuyAmountStepInput, type OndoBuyAmountUiEvent, type OndoBuyAmountUiState, type OndoBuyAmountValidation, OndoBuyAmountView, type OndoBuyAmountViewProps, OndoBuyCheckoutContainer, type OndoBuyCheckoutContainerProps, type OndoBuyCheckoutUiEvent, type OndoBuyCheckoutUiState, OndoBuyCheckoutView, type OndoBuyCheckoutViewProps, type OndoBuyExecutionResult, OndoBuyOrderConfirmed, type OndoBuyOrderPlaced, type OndoBuyOrderTerms, type OndoBuyPreparationResult, type OndoBuyQuoteStatusUi, type OndoBuyReviewStepInput, type OndoBuyReviewUiEvent, type OndoBuyReviewUiState, OndoBuyReviewView, type OndoBuyReviewViewProps, type OndoBuyStep, type OndoCheckoutConfig, OndoCheckoutError, type OndoCheckoutErrorProps, type OndoCheckoutErrorReason, type OndoLoadErrorReason, type OndoOrderConfirmedProps, type OndoOrderConfirmedUiEvent, type OndoOrderConfirmedUiState, type OndoOrderPlaced, type OndoOrderPlacedCore, type OndoSellAmountConfirmed, type OndoSellAmountStepInput, type OndoSellAmountUiEvent, type OndoSellAmountUiState, type OndoSellAmountValidation, OndoSellAmountView, type OndoSellAmountViewProps, type OndoSellAsset, type OndoSellBalanceUi, OndoSellCheckoutContainer, type OndoSellCheckoutContainerProps, type OndoSellCheckoutUiEvent, type OndoSellCheckoutUiState, OndoSellCheckoutView, type OndoSellCheckoutViewProps, type OndoSellExecutionResult, OndoSellOrderConfirmed, type OndoSellOrderConfirmedProps, type OndoSellOrderConfirmedUiEvent, type OndoSellOrderConfirmedUiState, type OndoSellOrderPlaced, type OndoSellOrderTerms, type OndoSellOutcomeUi, type OndoSellPreparationResult, type OndoSellQuoteStatusUi, type OndoSellReviewStepInput, type OndoSellReviewUiEvent, type OndoSellReviewUiState, OndoSellReviewView, type OndoSellReviewViewProps, type OndoSellSourceWalletUi, type OndoSellStep, type OndoSidebarPriceUi, type OndoSidebarUiState, OndoSidebarView, type OndoSidebarViewProps, type OndoSwapExecutionError, type OndoSwapExecutionPhase, type OndoSwapExecutionResult, type OndoSwapPreparationError, type OndoSwapPreparationPhase, type OndoSwapPreparationResult, type OndoWalletSelectStepInput, type OndoWalletSelectUiEvent, type OndoWalletSelectUiState, OndoWalletSelectView, type OndoWalletSelectViewProps, PinoLoggerOptions, type PrepareOndoBuyParams, type PrepareOndoSellParams, type PrepareOndoSwapParamsCore, type RequiredCheckoutConfig, RequirementItem, type RequirementItemProps, RequirementItemUi, RequirementStatus, RequirementVariant, RequirementsChecklistContainer, type RequirementsChecklistContainerProps, type RequirementsChecklistItemUi, type RequirementsChecklistUiEvent, type RequirementsChecklistUiState, RequirementsChecklistView, type RequirementsChecklistViewProps, type RequirementsData, type RequirementsVerificationUi, type SignState, SlippagePicker, type SlippagePickerProps, type SubmitErc20ApprovalResult, type SuperstateAmountConfirmed, type SuperstateAmountStepInput, type SuperstateAmountUiEvent, type SuperstateAmountUiState, type SuperstateAmountValidation, SuperstateAmountView, type SuperstateAmountViewProps, type SuperstateCheckoutConfig, SuperstateOrderConfirmed, type SuperstateOrderConfirmedProps, type SuperstateOrderConfirmedUiEvent, type SuperstateOrderConfirmedUiState, type SuperstateOrderPlaced, type SuperstateReviewStepInput, type SuperstateReviewUiEvent, type SuperstateReviewUiState, SuperstateReviewView, type SuperstateReviewViewProps, type SuperstateSidebarPriceUi, type SuperstateSidebarUiState, SuperstateSidebarView, type SuperstateSidebarViewProps, type SuperstateSlippageOptionUi, type SuperstateSlippageUi, SuperstateSwapCheckoutContainer, type SuperstateSwapCheckoutContainerProps, type SuperstateSwapCheckoutRetryUiEvent, type SuperstateSwapCheckoutUiEvent, type SuperstateSwapCheckoutUiState, SuperstateSwapCheckoutView, type SuperstateSwapCheckoutViewProps, type SuperstateSwapLoadErrorReason, type SuperstateSwapStep, type SuperstateWalletStepInput, type SuperstateWalletUiEvent, type SuperstateWalletUiState, SuperstateWalletView, type SuperstateWalletViewProps, type SwapExecutionError, type SwapExecutionPhase, type SwapExecutionResult, type SwapOutputTokenState, type TaxDocumentAddressParts, type TaxDocumentFieldUi, type TaxDocumentFields, TaxDocumentModalContainer, type TaxDocumentModalContainerProps, type TaxDocumentModalUiEvent, type TaxDocumentModalUiState, TaxDocumentModalView, type TaxDocumentModalViewProps, type TaxDocumentScreenUi, type TaxDocumentState, type TokenSaleExecutionError, type TokenSaleExecutionPhase, type TokenSaleExecutionResult, USDC_ICON_URL, USDT_ICON_URL, type UseCheckoutOfferTokenMetadataOptions, type UseCheckoutOfferTokenMetadataResult, type UseCoinListResult, type UseCoinListSignInCardViewModelOptions, type UseCoinListSignInCardViewModelResult, type UseCompleteOAuthOptions, type UseConnectWalletModalViewModelOptions, type UseConnectWalletModalViewModelResult, type UseConnectWalletOptions, type UseConnectWalletResult, type UseCountdownOptions, type UseErc20BalanceOptions, type UseErc20BalanceResult, type UseErc20TokenBalancesOptions, type UseErc20TokenBalancesResult, type UseIdentityVerificationViewModelOptions, type UseIdentityVerificationViewModelResult, type UseKycTokenResult, type UseOfferDetailsOptions, type UseOfferDetailsResult, type UseOffersGridViewModelOptions, type UseOffersGridViewModelResult, type UseOffersOptions, type UseOffersResult, type UseOndoBuyAmountViewModelOptions, type UseOndoBuyAmountViewModelResult, type UseOndoBuyCheckoutViewModelOptions, type UseOndoBuyCheckoutViewModelResult, type UseOndoBuyReviewViewModelOptions, type UseOndoBuyReviewViewModelResult, type UseOndoBuyTransactionOptions, type UseOndoBuyTransactionResult, type UseOndoPriceOptions, type UseOndoPriceResult, type UseOndoSellAmountViewModelOptions, type UseOndoSellAmountViewModelResult, type UseOndoSellCheckoutViewModelOptions, type UseOndoSellCheckoutViewModelResult, type UseOndoSellReviewViewModelOptions, type UseOndoSellReviewViewModelResult, type UseOndoSellTransactionOptions, type UseOndoSellTransactionResult, type UseOndoSidebarViewModelOptions, type UseOndoSidebarViewModelResult, type UseOndoTradingStatusOptions, type UseOndoTradingStatusResult, type UseOndoWalletSelectViewModelOptions, type UseOndoWalletSelectViewModelResult, type UseOptionAddressesOptions, type UseOptionAddressesResult, type UseParticipationsOptions, type UseParticipationsResult, type UseRequirementsChecklistViewModelOptions, type UseRequirementsChecklistViewModelResult, type UseRequirementsOptions, type UseRequirementsResult, type UseSuperstateAmountViewModelOptions, type UseSuperstateAmountViewModelResult, type UseSuperstateReviewViewModelOptions, type UseSuperstateReviewViewModelResult, type UseSuperstateSidebarViewModelOptions, type UseSuperstateSidebarViewModelResult, type UseSuperstateSwapCheckoutViewModelOptions, type UseSuperstateSwapCheckoutViewModelResult, type UseSuperstateWalletViewModelOptions, type UseSuperstateWalletViewModelResult, type UseSwapOutputTokenOptions, type UseSwapOutputTokenResult, type UseSwapQuoteOptions, type UseSwapQuoteResult, type UseTaxDocumentModalViewModelOptions, type UseTaxDocumentModalViewModelResult, type UseTaxDocumentOptions, type UseTaxDocumentResult, type UseTokenMetadataOptions, type UseTokenMetadataResult, type UseTokenRegistryOptions, type UseTokenRegistryResult, VerificationOverlay, type VerificationOverlayProps, type WalletAuthorizationError, type WalletAuthorizationPhase, type WalletAuthorizationResult, WalletError, type WalletsStatus, authorizeWallet, classifyWalletError, connectExternalWalletFlow, createCoinListClient, defaultCheckoutConfig, ensureErc20Allowance, executeOndoSwap, executeSwap, executeTokenSale, formatCountdown, formatMonthYear, formatSaleCardCountdown, offerAssetIconUrl, offerIconUrl, offerTokenIdentifier, ondoLoadErrorReason, pinoClientLogger, prepareOndoBuy, prepareOndoSell, quoteIsStale, quoteOverAsks, stablecoinIconUrl, submitErc20Approval, tokenLogoSrcSet, tokenLogoUrl, tokenMetadataOf, useCheckoutOfferTokenMetadata, useCoinList, useCoinListSignInCardViewModel, useCompleteOAuth, useConnectWallet, useConnectWalletModalViewModel, useCountdown, useErc20Balance, useErc20TokenBalances, useIdentityVerificationViewModel, useKycToken, useOfferDetails, useOffers, useOffersGridViewModel, useOndoBuyAmountViewModel, useOndoBuyCheckoutViewModel, useOndoBuyReviewViewModel, useOndoBuyTransaction, useOndoPrice, useOndoSellAmountViewModel, useOndoSellCheckoutViewModel, useOndoSellReviewViewModel, useOndoSellTransaction, useOndoSidebarViewModel, useOndoTradingStatus, useOndoWalletSelectViewModel, useOptionAddresses, useParticipations, useRequirements, useRequirementsChecklistViewModel, useSuperstateAmountViewModel, useSuperstateReviewViewModel, useSuperstateSidebarViewModel, useSuperstateSwapCheckoutViewModel, useSuperstateWalletViewModel, useSwapOutputToken, useSwapQuote, useTaxDocument, useTaxDocumentModalViewModel, useTokenMetadata, useTokenRegistry, validateAmount, validateSellAmount, validateSuperstateAmount };
|
|
7412
|
+
/**
|
|
7413
|
+
* Whether the page is visible right now: `false` while the tab is in the
|
|
7414
|
+
* background or the window is minimised, per the Page Visibility API.
|
|
7415
|
+
*
|
|
7416
|
+
* For a poll that should stop costing requests nobody is looking at. Reports
|
|
7417
|
+
* `true` during a server render and hydration, so a component renders as it
|
|
7418
|
+
* would on screen and hydrates without a mismatch, then the real visibility
|
|
7419
|
+
* straight after.
|
|
7420
|
+
*/
|
|
7421
|
+
declare function usePageVisible(): boolean;
|
|
7422
|
+
|
|
7423
|
+
export { type AuthState, type AuthorizeWalletParams, CENTRIFUGE_VAULT_ORDER_REASON_MESSAGES, type CentrifugeClaimActionUi, type CentrifugeClaimBlockedReasonUi, type CentrifugeClaimDialogUi, type CentrifugeClaimError, type CentrifugeClaimFailureUi, type CentrifugeClaimParams, type CentrifugeClaimPhase, type CentrifugeClaimProgressUi, type CentrifugeClaimResult, type CentrifugeClaimRowUi, type CentrifugeClaimState, type CentrifugeClaimStepUi, type CentrifugeLoadErrorReason, type CentrifugePositionVault, type CentrifugeStatusVault, type CentrifugeVaultCheckoutConfig, type CentrifugeVaultClaimConfig, CentrifugeVaultClaimContainer, type CentrifugeVaultClaimContainerProps, CentrifugeVaultClaimDialog, type CentrifugeVaultClaimDialogProps, CentrifugeVaultClaimRow, type CentrifugeVaultClaimRowProps, type CentrifugeVaultClaimUiEvent, type CentrifugeVaultClaimUiState, CentrifugeVaultClaimView, type CentrifugeVaultClaimViewProps, type CentrifugeVaultClaimed, ChecklistStatus, CheckoutAssetUi, type CheckoutConfig, type CheckoutConfirmedWalletUi, CheckoutContainer, type CheckoutContainerProps, type CheckoutCtaUi, type CheckoutEmbeddedWalletUi, type CheckoutNetworkUi, type CheckoutSelectableInputAssetUi, type CheckoutStatusUi, type CheckoutWalletSelection, type CheckoutWalletTypeUi, type CheckoutWalletUi, type ClaimCentrifugeVaultParams, type ClaimConfig, ClaimContainer, type ClaimContainerProps, type ClaimExternalWalletUi, type ClientAuthConfig, type ClientAuthNamespace, ClientAuthNamespaceImpl, type ClientAuthSession, type ClientCentrifugeNamespace, ClientCentrifugeNamespaceImpl, type ClientCoinListTokenSaleNamespace, ClientCoinListTokenSaleNamespaceImpl, type ClientConfig, type ClientOndoNamespace, ClientOndoNamespaceImpl, type ClientRequirementsNamespace, ClientRequirementsNamespaceImpl, type ClientSuperstateSwapNamespace, ClientSuperstateSwapNamespaceImpl, type ClientSupportNamespace, ClientSupportNamespaceImpl, type CoinListClient, CoinListClientInitializationError, CoinListContext, CoinListContextProvider, type CoinListContextValue, CoinListProvider, type CoinListProviderProps, CoinListSignInButton, CoinListSignInCardContainer, type CoinListSignInCardContainerProps, type CoinListSignInCardUiEvent, type CoinListSignInCardUiState, CoinListSignInCardView, type CoinListSignInCardViewProps, CoinListStyleScope, type CoinListStyleScopeProps, type CoinListTokenSaleCheckoutConfig, type CompleteOAuthFailureReason, ConnectWallet, type ConnectWalletError, type ConnectWalletErrorCode, type ConnectWalletFlowError, type ConnectWalletFlowParams, type ConnectWalletFlowResult, ConnectWalletModalContainer, type ConnectWalletModalContainerProps, type ConnectWalletModalUiEvent, type ConnectWalletModalUiState, ConnectWalletModalView, type ConnectWalletModalViewProps, type ConnectWalletPhase, type ConnectWalletScreenUi, type ConnectWalletSignState, type ConnectWalletState, ConnectedWalletList, type ConnectedWalletListProps, type ConnectedWalletUi, ERC20_BALANCE_POLL_INTERVAL_MS, type Erc20AllowanceError, type Erc20AllowancePhase, type Erc20AllowanceResult, type Erc20ApprovalError, EvmWallet, type ExecuteOndoSwapParams, type ExecuteSwapParams, type ExecuteTokenSaleParams, type ExternalWalletRequestUi, IdentityVerificationContainer, type IdentityVerificationContainerProps, type IdentityVerificationUiEvent, type IdentityVerificationUiState, IdentityVerificationView, type IdentityVerificationViewProps, KycLevelName, type KycTokenErrorReason, type KycTokenState, type LoadCentrifugeQuoteState, type LoadCentrifugeVaultPositionsState, type LoadCentrifugeVaultStatusState, type LoadOfferDetailsReason, type LoadOfferDetailsState, type LoadOffersReason, type LoadOffersState, type LoadOndoBuyTransactionState, type LoadOndoPriceState, type LoadOndoSellTransactionState, type LoadOndoTradingStatusState, type LoadOptionAddressesReason, type LoadOptionAddressesState, type LoadParticipationsReason, type LoadParticipationsState, type LoadRequirementsReason, type LoadRequirementsState, type LoadTokenMetadataState, type LoadTokenRegistryState, Logger, type LogoImageUi, OAUTH_CODE_VERIFIER_KEY, OAUTH_STATE_KEY, type OauthClientErrorReason, type OauthClientResult, OfferAssetCard, type OfferAssetCardProps, OfferAssetCardUi, OfferLogoUi, OfferSaleCard, type OfferSaleCardProps, OfferSaleCardUi, OffersAssetGrid, type OffersAssetGridProps, OffersGridContainer, type OffersGridContainerProps, type OffersGridData, type OffersGridUiEvent, type OffersGridUiState, OffersGridView, type OffersGridViewProps, type OndoBuyAmountConfirmed, type OndoBuyAmountStepInput, type OndoBuyAmountUiEvent, type OndoBuyAmountUiState, type OndoBuyAmountValidation, OndoBuyAmountView, type OndoBuyAmountViewProps, OndoBuyCheckoutContainer, type OndoBuyCheckoutContainerProps, type OndoBuyCheckoutUiEvent, type OndoBuyCheckoutUiState, OndoBuyCheckoutView, type OndoBuyCheckoutViewProps, type OndoBuyExecutionResult, OndoBuyOrderConfirmed, type OndoBuyOrderPlaced, type OndoBuyOrderTerms, type OndoBuyPreparationResult, type OndoBuyQuoteStatusUi, type OndoBuyReviewStepInput, type OndoBuyReviewUiEvent, type OndoBuyReviewUiState, OndoBuyReviewView, type OndoBuyReviewViewProps, type OndoBuyStep, type OndoCheckoutConfig, OndoCheckoutError, type OndoCheckoutErrorProps, OndoCheckoutErrorReason, type OndoLoadErrorReason, type OndoOrderConfirmedProps, type OndoOrderConfirmedUiEvent, type OndoOrderConfirmedUiState, type OndoOrderPlaced, type OndoOrderPlacedCore, type OndoSellAmountConfirmed, type OndoSellAmountStepInput, type OndoSellAmountUiEvent, type OndoSellAmountUiState, type OndoSellAmountValidation, OndoSellAmountView, type OndoSellAmountViewProps, type OndoSellAsset, type OndoSellBalanceUi, OndoSellCheckoutContainer, type OndoSellCheckoutContainerProps, type OndoSellCheckoutUiEvent, type OndoSellCheckoutUiState, OndoSellCheckoutView, type OndoSellCheckoutViewProps, type OndoSellExecutionResult, OndoSellOrderConfirmed, type OndoSellOrderConfirmedProps, type OndoSellOrderConfirmedUiEvent, type OndoSellOrderConfirmedUiState, type OndoSellOrderPlaced, type OndoSellOrderTerms, type OndoSellOutcomeUi, type OndoSellPreparationResult, type OndoSellQuoteStatusUi, type OndoSellReviewStepInput, type OndoSellReviewUiEvent, type OndoSellReviewUiState, OndoSellReviewView, type OndoSellReviewViewProps, type OndoSellSourceWalletUi, type OndoSellStep, type OndoSidebarPriceUi, type OndoSidebarUiState, OndoSidebarView, type OndoSidebarViewProps, type OndoSwapExecutionError, type OndoSwapExecutionPhase, type OndoSwapExecutionResult, type OndoSwapPreparationError, type OndoSwapPreparationPhase, type OndoSwapPreparationResult, type OndoWalletSelectStepInput, type OndoWalletSelectUiEvent, type OndoWalletSelectUiState, OndoWalletSelectView, type OndoWalletSelectViewProps, PinoLoggerOptions, type PrepareOndoBuyParams, type PrepareOndoSellParams, type PrepareOndoSwapParamsCore, type RequiredCheckoutConfig, RequirementItem, type RequirementItemProps, RequirementItemUi, RequirementStatus, RequirementVariant, RequirementsChecklistContainer, type RequirementsChecklistContainerProps, type RequirementsChecklistItemUi, type RequirementsChecklistUiEvent, type RequirementsChecklistUiState, RequirementsChecklistView, type RequirementsChecklistViewProps, type RequirementsData, type RequirementsVerificationUi, type SignState, SlippagePicker, type SlippagePickerProps, type SubmitErc20ApprovalResult, type SuperstateAmountConfirmed, type SuperstateAmountStepInput, type SuperstateAmountUiEvent, type SuperstateAmountUiState, type SuperstateAmountValidation, SuperstateAmountView, type SuperstateAmountViewProps, type SuperstateCheckoutConfig, SuperstateOrderConfirmed, type SuperstateOrderConfirmedProps, type SuperstateOrderConfirmedUiEvent, type SuperstateOrderConfirmedUiState, type SuperstateOrderPlaced, type SuperstateReviewStepInput, type SuperstateReviewUiEvent, type SuperstateReviewUiState, SuperstateReviewView, type SuperstateReviewViewProps, type SuperstateSidebarPriceUi, type SuperstateSidebarUiState, SuperstateSidebarView, type SuperstateSidebarViewProps, type SuperstateSlippageOptionUi, type SuperstateSlippageUi, SuperstateSwapCheckoutContainer, type SuperstateSwapCheckoutContainerProps, type SuperstateSwapCheckoutRetryUiEvent, type SuperstateSwapCheckoutUiEvent, type SuperstateSwapCheckoutUiState, SuperstateSwapCheckoutView, type SuperstateSwapCheckoutViewProps, type SuperstateSwapLoadErrorReason, type SuperstateSwapStep, type SuperstateWalletStepInput, type SuperstateWalletUiEvent, type SuperstateWalletUiState, SuperstateWalletView, type SuperstateWalletViewProps, type SwapExecutionError, type SwapExecutionPhase, type SwapExecutionResult, type SwapOutputTokenState, type TaxDocumentAddressParts, type TaxDocumentFieldUi, type TaxDocumentFields, TaxDocumentModalContainer, type TaxDocumentModalContainerProps, type TaxDocumentModalUiEvent, type TaxDocumentModalUiState, TaxDocumentModalView, type TaxDocumentModalViewProps, type TaxDocumentScreenUi, type TaxDocumentState, type TokenSaleExecutionError, type TokenSaleExecutionPhase, type TokenSaleExecutionResult, USDC_ICON_URL, USDT_ICON_URL, type UseCentrifugeClaimResult, type UseCentrifugeQuoteOptions, type UseCentrifugeQuoteResult, type UseCentrifugeVaultClaimViewModelOptions, type UseCentrifugeVaultClaimViewModelResult, type UseCentrifugeVaultPositionsOptions, type UseCentrifugeVaultPositionsResult, type UseCentrifugeVaultStatusOptions, type UseCentrifugeVaultStatusResult, type UseCentrifugeVaultStatusesOptions, type UseCentrifugeVaultStatusesResult, type UseCheckoutOfferTokenMetadataOptions, type UseCheckoutOfferTokenMetadataResult, type UseCoinListResult, type UseCoinListSignInCardViewModelOptions, type UseCoinListSignInCardViewModelResult, type UseCompleteOAuthOptions, type UseConnectWalletModalViewModelOptions, type UseConnectWalletModalViewModelResult, type UseConnectWalletOptions, type UseConnectWalletResult, type UseCountdownOptions, type UseErc20BalanceOptions, type UseErc20BalanceResult, type UseErc20TokenBalancesOptions, type UseErc20TokenBalancesResult, type UseIdentityVerificationViewModelOptions, type UseIdentityVerificationViewModelResult, type UseKycTokenResult, type UseOfferDetailsOptions, type UseOfferDetailsResult, type UseOffersGridViewModelOptions, type UseOffersGridViewModelResult, type UseOffersOptions, type UseOffersResult, type UseOndoBuyAmountViewModelOptions, type UseOndoBuyAmountViewModelResult, type UseOndoBuyCheckoutViewModelOptions, type UseOndoBuyCheckoutViewModelResult, type UseOndoBuyReviewViewModelOptions, type UseOndoBuyReviewViewModelResult, type UseOndoBuyTransactionOptions, type UseOndoBuyTransactionResult, type UseOndoPriceOptions, type UseOndoPriceResult, type UseOndoSellAmountViewModelOptions, type UseOndoSellAmountViewModelResult, type UseOndoSellCheckoutViewModelOptions, type UseOndoSellCheckoutViewModelResult, type UseOndoSellReviewViewModelOptions, type UseOndoSellReviewViewModelResult, type UseOndoSellTransactionOptions, type UseOndoSellTransactionResult, type UseOndoSidebarViewModelOptions, type UseOndoSidebarViewModelResult, type UseOndoTradingStatusOptions, type UseOndoTradingStatusResult, type UseOndoWalletSelectViewModelOptions, type UseOndoWalletSelectViewModelResult, type UseOptionAddressesOptions, type UseOptionAddressesResult, type UseParticipationsOptions, type UseParticipationsResult, type UseRequirementsChecklistViewModelOptions, type UseRequirementsChecklistViewModelResult, type UseRequirementsOptions, type UseRequirementsResult, type UseSuperstateAmountViewModelOptions, type UseSuperstateAmountViewModelResult, type UseSuperstateReviewViewModelOptions, type UseSuperstateReviewViewModelResult, type UseSuperstateSidebarViewModelOptions, type UseSuperstateSidebarViewModelResult, type UseSuperstateSwapCheckoutViewModelOptions, type UseSuperstateSwapCheckoutViewModelResult, type UseSuperstateWalletViewModelOptions, type UseSuperstateWalletViewModelResult, type UseSwapOutputTokenOptions, type UseSwapOutputTokenResult, type UseSwapQuoteOptions, type UseSwapQuoteResult, type UseTaxDocumentModalViewModelOptions, type UseTaxDocumentModalViewModelResult, type UseTaxDocumentOptions, type UseTaxDocumentResult, type UseTokenMetadataOptions, type UseTokenMetadataResult, type UseTokenRegistryOptions, type UseTokenRegistryResult, VerificationOverlay, type VerificationOverlayProps, type WalletAuthorizationError, type WalletAuthorizationPhase, type WalletAuthorizationResult, WalletError, WalletLabelResolver, WalletSelection, type WalletsStatus, authorizeWallet, centrifugeLoadErrorReason, centrifugeVaultOrderReasonMessage, centrifugeVaultOrderingMessage, claimCentrifugeVault, classifyWalletError, connectExternalWalletFlow, createCoinListClient, defaultCheckoutConfig, ensureErc20Allowance, executeOndoSwap, executeSwap, executeTokenSale, formatCountdown, formatMonthYear, formatSaleCardCountdown, isNotTradable, offerAssetIconUrl, offerIconUrl, offerTokenIdentifier, ondoLoadErrorReason, pinoClientLogger, prepareOndoBuy, prepareOndoSell, primaryCentrifugeVaultOrderReason, quoteIsStale, quoteOverAsks, stablecoinIconUrl, submitErc20Approval, tokenLogoSrcSet, tokenLogoUrl, tokenMetadataOf, useCentrifugeClaim, useCentrifugeQuote, useCentrifugeVaultClaimViewModel, useCentrifugeVaultPositions, useCentrifugeVaultStatus, useCentrifugeVaultStatuses, useCheckoutOfferTokenMetadata, useCoinList, useCoinListSignInCardViewModel, useCompleteOAuth, useConnectWallet, useConnectWalletModalViewModel, useCountdown, useErc20Balance, useErc20TokenBalances, useIdentityVerificationViewModel, useKycToken, useOfferDetails, useOffers, useOffersGridViewModel, useOndoBuyAmountViewModel, useOndoBuyCheckoutViewModel, useOndoBuyReviewViewModel, useOndoBuyTransaction, useOndoPrice, useOndoSellAmountViewModel, useOndoSellCheckoutViewModel, useOndoSellReviewViewModel, useOndoSellTransaction, useOndoSidebarViewModel, useOndoTradingStatus, useOndoWalletSelectViewModel, useOptionAddresses, usePageVisible, useParticipations, useRequirements, useRequirementsChecklistViewModel, useSuperstateAmountViewModel, useSuperstateReviewViewModel, useSuperstateSidebarViewModel, useSuperstateSwapCheckoutViewModel, useSuperstateWalletViewModel, useSwapOutputToken, useSwapQuote, useTaxDocument, useTaxDocumentModalViewModel, useTokenMetadata, useTokenRegistry, validateAmount, validateSellAmount, validateSuperstateAmount };
|