@gearbox-protocol/ui-kit 3.14.0-next.65 → 3.14.0-next.67
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/cjs/components/assets-list-cell/assets-list-cell.cjs +1 -1
- package/dist/cjs/components/block-sync/block-sync.cjs +1 -1
- package/dist/cjs/components/block-sync-pill/block-sync-pill.cjs +1 -1
- package/dist/cjs/components/breakpoint-provider.cjs +1 -0
- package/dist/cjs/components/checkbox/checkbox-labeled.cjs +1 -1
- package/dist/cjs/components/client-adapters/styled-rounded-image/styled-rounded-image.cjs +1 -1
- package/dist/cjs/components/complex-input/complex-input.cjs +1 -1
- package/dist/cjs/components/composites/index.cjs +1 -1
- package/dist/cjs/components/composites/pool-assets-table/pool-assets-table-head.cjs +1 -1
- package/dist/cjs/components/composites/pool-credit-managers-table/pool-credit-managers-table-head.cjs +1 -1
- package/dist/cjs/components/composites/pool-table/columns.cjs +1 -1
- package/dist/cjs/components/composites/strategies-table/columns.cjs +1 -1
- package/dist/cjs/components/composites/strategies-table/components/cells/cells.cjs +1 -1
- package/dist/cjs/components/composites/strategies-table/components/cells/index.cjs +1 -1
- package/dist/cjs/components/composites/strategies-table/components/index.cjs +1 -1
- package/dist/cjs/components/composites/strategies-table/components/points-feature/points-feature.cjs +1 -1
- package/dist/cjs/components/composites/strategies-table/components/rewards-tooltip/tooltip-content.cjs +1 -1
- package/dist/cjs/components/composites/strategies-table/components/strategies-table.cjs +1 -1
- package/dist/cjs/components/composites/strategies-table/index.cjs +1 -1
- package/dist/cjs/components/composites/strategies-table/types/index.cjs +1 -1
- package/dist/cjs/components/composites/strategies-table/types/rewards-cell.cjs +1 -0
- package/dist/cjs/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountField.cjs +1 -1
- package/dist/cjs/components/composites/tx-preview/confirm/dialog/TransactionConfirmModalView.cjs +1 -1
- package/dist/cjs/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.cjs +1 -1
- package/dist/cjs/components/composites/tx-preview/confirm/result/TransactionConfirmFailureResult.cjs +1 -1
- package/dist/cjs/components/composites/tx-preview/confirm/result/TransactionConfirmSuccessResult.cjs +1 -1
- package/dist/cjs/components/compound-apy/compound-apy-legacy.cjs +1 -0
- package/dist/cjs/components/compound-apy/compound-apy.cjs +1 -1
- package/dist/cjs/components/compound-apy/index.cjs +1 -1
- package/dist/cjs/components/detailed-page-title/detailed-page-title.cjs +1 -1
- package/dist/cjs/components/index.cjs +1 -1
- package/dist/cjs/components/markdown-viewer/markdown-viewer.cjs +1 -1
- package/dist/cjs/components/pool-apy-tooltip/apy-tooltip.cjs +1 -0
- package/dist/cjs/components/pool-apy-tooltip/index.cjs +1 -1
- package/dist/cjs/components/pool-apy-tooltip/pool-apy-tooltip.cjs +1 -1
- package/dist/cjs/components/time-to-liquidation/time-to-liquidation.cjs +1 -1
- package/dist/cjs/components/token-icon/token-icon.cjs +1 -1
- package/dist/cjs/components/token-symbol/index.cjs +1 -1
- package/dist/cjs/components/token-symbol/token-symbol.cjs +1 -1
- package/dist/cjs/components/tokens-list-cell/tokens-list-cell.cjs +1 -1
- package/dist/cjs/components/with-copy/with-copy.cjs +1 -1
- package/dist/cjs/components/yield-breakdown-tooltip/index.cjs +1 -0
- package/dist/cjs/components/yield-breakdown-tooltip/yield-breakdown-tooltip.cjs +1 -0
- package/dist/cjs/hooks/use-debounce-call.cjs +1 -1
- package/dist/cjs/hooks/use-media-query.cjs +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/locale/en.json.cjs +1 -1
- package/dist/cjs/types/common.cjs +1 -1
- package/dist/cjs/utils/apy-breakdown.cjs +1 -0
- package/dist/cjs/utils/bps.cjs +1 -0
- package/dist/cjs/utils/index.cjs +1 -1
- package/dist/cjs/utils/token-icon-source.cjs +1 -0
- package/dist/esm/components/assets-list-cell/assets-list-cell.js +132 -206
- package/dist/esm/components/block-sync/block-sync.js +5 -4
- package/dist/esm/components/block-sync-pill/block-sync-pill.js +5 -4
- package/dist/esm/components/breakpoint-provider.js +67 -0
- package/dist/esm/components/checkbox/checkbox-labeled.js +3 -2
- package/dist/esm/components/client-adapters/styled-rounded-image/styled-rounded-image.js +3 -2
- package/dist/esm/components/complex-input/complex-input.js +5 -4
- package/dist/esm/components/composites/index.js +86 -81
- package/dist/esm/components/composites/pool-assets-table/pool-assets-table-head.js +3 -2
- package/dist/esm/components/composites/pool-credit-managers-table/pool-credit-managers-table-head.js +3 -2
- package/dist/esm/components/composites/pool-table/columns.js +61 -60
- package/dist/esm/components/composites/strategies-table/columns.js +55 -86
- package/dist/esm/components/composites/strategies-table/components/cells/cells.js +150 -110
- package/dist/esm/components/composites/strategies-table/components/cells/index.js +7 -5
- package/dist/esm/components/composites/strategies-table/components/index.js +32 -30
- package/dist/esm/components/composites/strategies-table/components/points-feature/points-feature.js +35 -32
- package/dist/esm/components/composites/strategies-table/components/rewards-tooltip/tooltip-content.js +91 -224
- package/dist/esm/components/composites/strategies-table/components/strategies-table.js +26 -24
- package/dist/esm/components/composites/strategies-table/index.js +36 -31
- package/dist/esm/components/composites/strategies-table/types/index.js +5 -1
- package/dist/esm/components/composites/strategies-table/types/rewards-cell.js +40 -0
- package/dist/esm/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountField.js +32 -189
- package/dist/esm/components/composites/tx-preview/confirm/dialog/TransactionConfirmModalView.js +5 -4
- package/dist/esm/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.js +26 -26
- package/dist/esm/components/composites/tx-preview/confirm/result/TransactionConfirmFailureResult.js +40 -38
- package/dist/esm/components/composites/tx-preview/confirm/result/TransactionConfirmSuccessResult.js +53 -47
- package/dist/esm/components/compound-apy/compound-apy-legacy.js +127 -0
- package/dist/esm/components/compound-apy/compound-apy.js +56 -245
- package/dist/esm/components/compound-apy/index.js +4 -2
- package/dist/esm/components/detailed-page-title/detailed-page-title.js +25 -180
- package/dist/esm/components/index.js +805 -787
- package/dist/esm/components/markdown-viewer/markdown-viewer.js +5 -4
- package/dist/esm/components/pool-apy-tooltip/apy-tooltip.js +155 -0
- package/dist/esm/components/pool-apy-tooltip/index.js +4 -2
- package/dist/esm/components/pool-apy-tooltip/pool-apy-tooltip.js +3 -3
- package/dist/esm/components/time-to-liquidation/time-to-liquidation.js +3 -2
- package/dist/esm/components/token-icon/token-icon.js +72 -58
- package/dist/esm/components/token-symbol/index.js +2 -3
- package/dist/esm/components/token-symbol/token-symbol.js +41 -62
- package/dist/esm/components/tokens-list-cell/tokens-list-cell.js +35 -192
- package/dist/esm/components/with-copy/with-copy.js +5 -4
- package/dist/esm/components/yield-breakdown-tooltip/index.js +4 -0
- package/dist/esm/components/yield-breakdown-tooltip/yield-breakdown-tooltip.js +222 -0
- package/dist/esm/hooks/use-debounce-call.js +3 -2
- package/dist/esm/hooks/use-media-query.js +49 -16
- package/dist/esm/index.js +974 -946
- package/dist/esm/locale/en.json.js +9 -2
- package/dist/esm/types/common.js +1 -6
- package/dist/esm/utils/apy-breakdown.js +18 -0
- package/dist/esm/utils/bps.js +4 -0
- package/dist/esm/utils/index.js +105 -95
- package/dist/esm/utils/token-icon-source.js +48 -0
- package/dist/globals.css +1 -1
- package/dist/types/components/assets-list-cell/assets-list-cell.d.ts +44 -4
- package/dist/types/components/breakpoint-provider.d.ts +56 -0
- package/dist/types/components/composites/pool-table/pool-table-backend-contract.types.d.ts +1 -1
- package/dist/types/components/composites/strategies-table/components/cells/cells.d.ts +34 -3
- package/dist/types/components/composites/strategies-table/components/points-feature/points-feature.d.ts +14 -10
- package/dist/types/components/composites/strategies-table/components/rewards-tooltip/tooltip-content.d.ts +10 -13
- package/dist/types/components/composites/strategies-table/index.d.ts +1 -1
- package/dist/types/components/composites/strategies-table/types/index.d.ts +1 -0
- package/dist/types/components/composites/strategies-table/types/rewards-cell.d.ts +48 -0
- package/dist/types/components/composites/strategies-table/types/rewards-tooltip.d.ts +37 -32
- package/dist/types/components/composites/strategies-table/types/table.d.ts +27 -12
- package/dist/types/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountField.d.ts +3 -3
- package/dist/types/components/composites/tx-preview/confirm/result/TransactionConfirmFailureResult.d.ts +4 -0
- package/dist/types/components/composites/tx-preview/confirm/result/TransactionConfirmSuccessResult.d.ts +5 -0
- package/dist/types/components/compound-apy/compound-apy-legacy.d.ts +109 -0
- package/dist/types/components/compound-apy/compound-apy.d.ts +18 -94
- package/dist/types/components/compound-apy/index.d.ts +1 -0
- package/dist/types/components/index.d.ts +3 -1
- package/dist/types/components/points-icon/index.d.ts +1 -1
- package/dist/types/components/points-icon/points-icon.d.ts +13 -2
- package/dist/types/components/pool-apy-tooltip/apy-tooltip.d.ts +20 -0
- package/dist/types/components/pool-apy-tooltip/index.d.ts +1 -0
- package/dist/types/components/pool-apy-tooltip/pool-apy-tooltip.d.ts +18 -1
- package/dist/types/components/token-icon/token-icon.d.ts +11 -2
- package/dist/types/components/token-symbol/token-symbol.d.ts +4 -4
- package/dist/types/components/yield-breakdown-tooltip/index.d.ts +1 -0
- package/dist/types/components/yield-breakdown-tooltip/yield-breakdown-tooltip.d.ts +32 -0
- package/dist/types/hooks/use-media-query.d.ts +5 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/locale/en.json.d.ts +10 -2
- package/dist/types/types/common.d.ts +5 -11
- package/dist/types/utils/apy-breakdown.d.ts +18 -0
- package/dist/types/utils/bps.d.ts +3 -0
- package/dist/types/utils/index.d.ts +3 -0
- package/dist/types/utils/token-icon-source.d.ts +28 -0
- package/package.json +2 -2
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Token } from '@gearbox-protocol/sdk/model';
|
|
1
2
|
import { default as React } from 'react';
|
|
2
3
|
import { Address } from 'viem';
|
|
3
4
|
type Mode = "default" | "cascade";
|
|
@@ -42,6 +43,7 @@ export interface SingleAssetCellProps {
|
|
|
42
43
|
className?: string;
|
|
43
44
|
balances?: undefined;
|
|
44
45
|
tokensList?: undefined;
|
|
46
|
+
tokens?: undefined;
|
|
45
47
|
}
|
|
46
48
|
/**
|
|
47
49
|
* Multi-asset list cell props (legacy API, compatible with @gearbox-protocol/interface)
|
|
@@ -80,14 +82,44 @@ export interface MultiAssetCellProps {
|
|
|
80
82
|
className?: string;
|
|
81
83
|
assetAddress?: undefined;
|
|
82
84
|
symbol?: undefined;
|
|
85
|
+
tokens?: undefined;
|
|
83
86
|
}
|
|
84
|
-
|
|
87
|
+
/**
|
|
88
|
+
* SDK-native token list — pass tokens as-is, no address lookup map.
|
|
89
|
+
*/
|
|
90
|
+
export interface TokensAssetCellProps {
|
|
91
|
+
tokens: ReadonlyArray<Token>;
|
|
92
|
+
/**
|
|
93
|
+
* Maximum number of assets to display before showing "+N"
|
|
94
|
+
* @default 3
|
|
95
|
+
*/
|
|
96
|
+
maxAssets?: number;
|
|
97
|
+
/**
|
|
98
|
+
* Size of token icons
|
|
99
|
+
* @default 24
|
|
100
|
+
*/
|
|
101
|
+
iconSize?: number;
|
|
102
|
+
/**
|
|
103
|
+
* Display and interaction options
|
|
104
|
+
*/
|
|
105
|
+
options?: CommonOptions;
|
|
106
|
+
/**
|
|
107
|
+
* Additional CSS classes
|
|
108
|
+
*/
|
|
109
|
+
className?: string;
|
|
110
|
+
balances?: undefined;
|
|
111
|
+
tokensList?: undefined;
|
|
112
|
+
assetAddress?: undefined;
|
|
113
|
+
symbol?: undefined;
|
|
114
|
+
}
|
|
115
|
+
export type AssetsListCellProps = SingleAssetCellProps | MultiAssetCellProps | TokensAssetCellProps;
|
|
85
116
|
/**
|
|
86
117
|
* AssetsListCell — displays asset icons in a list/grid layout
|
|
87
118
|
*
|
|
88
|
-
* Supports
|
|
89
|
-
* 1. Single asset
|
|
119
|
+
* Supports three APIs:
|
|
120
|
+
* 1. Single asset: `<AssetsListCell assetAddress="0x..." symbol="ETH" />`
|
|
90
121
|
* 2. Multi-asset list (legacy): `<AssetsListCell balances={[...]} tokensList={...} />`
|
|
122
|
+
* 3. SDK tokens: `<AssetsListCell tokens={[...]} />`
|
|
91
123
|
*
|
|
92
124
|
* @example
|
|
93
125
|
* ```tsx
|
|
@@ -98,7 +130,15 @@ export type AssetsListCellProps = SingleAssetCellProps | MultiAssetCellProps;
|
|
|
98
130
|
* comment="Ethereum"
|
|
99
131
|
* />
|
|
100
132
|
*
|
|
101
|
-
* //
|
|
133
|
+
* // SDK tokens (cascade mode)
|
|
134
|
+
* <AssetsListCell
|
|
135
|
+
* tokens={collateralTokens}
|
|
136
|
+
* maxAssets={5}
|
|
137
|
+
* iconSize={24}
|
|
138
|
+
* options={{ mode: "cascade" }}
|
|
139
|
+
* />
|
|
140
|
+
*
|
|
141
|
+
* // Multi-asset list (legacy)
|
|
102
142
|
* <AssetsListCell
|
|
103
143
|
* balances={[{ token: "0x1234..." }, { token: "0x5678..." }]}
|
|
104
144
|
* tokensList={{ "0x1234...": { symbol: "ETH" }, "0x5678...": { symbol: "USDC" } }}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ReactElement, ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Named breakpoint media queries. Keep in sync with the semantic hooks in
|
|
4
|
+
* `use-media-query.ts` (`useIsExtraSmall`, `useIsMobile`, …).
|
|
5
|
+
*/
|
|
6
|
+
export declare const BREAKPOINT_QUERIES: {
|
|
7
|
+
readonly isExtraSmall: "(max-width: 500px)";
|
|
8
|
+
readonly isMobile: "(max-width: 768px)";
|
|
9
|
+
readonly isTablet: "(min-width: 768px) and (max-width: 1024px)";
|
|
10
|
+
readonly isMedium: "(max-width: 1024px)";
|
|
11
|
+
readonly isDesktop: "(min-width: 1024px)";
|
|
12
|
+
};
|
|
13
|
+
export type BreakpointKey = keyof typeof BREAKPOINT_QUERIES;
|
|
14
|
+
export type BreakpointState = {
|
|
15
|
+
readonly [K in BreakpointKey]: boolean;
|
|
16
|
+
};
|
|
17
|
+
export declare const DEFAULT_BREAKPOINT_STATE: BreakpointState;
|
|
18
|
+
type MatchMediaLike = (query: string) => Pick<MediaQueryList, "matches">;
|
|
19
|
+
/**
|
|
20
|
+
* Snapshot named breakpoints from a `matchMedia` implementation.
|
|
21
|
+
* Exported for unit tests; used by `BreakpointProvider` for the initial state.
|
|
22
|
+
*/
|
|
23
|
+
export declare function getBreakpointState(matchMedia: MatchMediaLike): BreakpointState;
|
|
24
|
+
type MediaQueryListLike = {
|
|
25
|
+
matches: boolean;
|
|
26
|
+
addEventListener: (type: "change", listener: (event: MediaQueryListEvent) => void) => void;
|
|
27
|
+
removeEventListener: (type: "change", listener: (event: MediaQueryListEvent) => void) => void;
|
|
28
|
+
};
|
|
29
|
+
type MatchMediaSubscribe = (query: string) => MediaQueryListLike;
|
|
30
|
+
/**
|
|
31
|
+
* Subscribe once to all named breakpoints. Returns an unsubscribe function.
|
|
32
|
+
* Exported for unit tests (deduplication / change propagation).
|
|
33
|
+
*/
|
|
34
|
+
export declare function subscribeBreakpoints(matchMedia: MatchMediaSubscribe, onChange: (state: BreakpointState) => void): () => void;
|
|
35
|
+
/**
|
|
36
|
+
* Shared breakpoint context. `undefined` means no provider is mounted and
|
|
37
|
+
* semantic hooks should fall back to their own `matchMedia` subscription.
|
|
38
|
+
*/
|
|
39
|
+
export declare const BreakpointContext: import('react').Context<BreakpointState | undefined>;
|
|
40
|
+
/**
|
|
41
|
+
* Hook that returns the provider state, or `undefined` when no
|
|
42
|
+
* `BreakpointProvider` is mounted.
|
|
43
|
+
*/
|
|
44
|
+
export declare function useBreakpointContext(): BreakpointState | undefined;
|
|
45
|
+
export interface BreakpointProviderProps {
|
|
46
|
+
readonly children: ReactNode;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Owns a single set of `matchMedia` listeners for the five named breakpoints
|
|
50
|
+
* and shares the result via context. Mount once near the app root.
|
|
51
|
+
*
|
|
52
|
+
* Semantic hooks (`useIsMobile`, …) read from this context when present and
|
|
53
|
+
* otherwise keep their self-contained fallback behaviour.
|
|
54
|
+
*/
|
|
55
|
+
export declare function BreakpointProvider({ children, }: BreakpointProviderProps): ReactElement;
|
|
56
|
+
export {};
|
|
@@ -200,7 +200,7 @@ export interface PoolDTO {
|
|
|
200
200
|
hasPoints?: boolean;
|
|
201
201
|
}
|
|
202
202
|
/**
|
|
203
|
-
* Supply APY breakdown for {@link
|
|
203
|
+
* Supply APY breakdown for {@link CompoundAPYLegacy} / tooltip. All APY numbers here are **percent**.
|
|
204
204
|
*
|
|
205
205
|
* **PR #84:** Build from `PoolOpportunity.yield` (`YieldBreakdown`):
|
|
206
206
|
* - `totalAPY` ← `totalApy`
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
import { Token } from '@gearbox-protocol/sdk/model';
|
|
1
2
|
import { StrategiesTableBonusApy, StrategiesTableTokenTitleSource } from '../../types/cells';
|
|
2
3
|
import { StrategiesTableDebtReward, StrategiesTablePointsReward } from '../../types/points-reward';
|
|
4
|
+
import { StrategiesRewardsCellData, StrategyPointsChip } from '../../types/rewards-cell';
|
|
3
5
|
import { PointsFeatureProps } from '../points-feature';
|
|
4
6
|
export interface ZeroSlippageFeatureProps {
|
|
5
|
-
|
|
7
|
+
/**
|
|
8
|
+
* SDK `Token` (preferred) or legacy `{ title }` from StrategiesTable.
|
|
9
|
+
*/
|
|
10
|
+
token: Token | StrategiesTableTokenTitleSource;
|
|
6
11
|
disabledStyle: boolean;
|
|
7
12
|
}
|
|
8
13
|
export declare function ZeroSlippageFeature({ token, disabledStyle, }: ZeroSlippageFeatureProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -12,6 +17,16 @@ export interface RWAFeatureProps {
|
|
|
12
17
|
}
|
|
13
18
|
export declare function RWAFeature({ disabledStyle, tooltip, }: RWAFeatureProps): import("react/jsx-runtime").JSX.Element;
|
|
14
19
|
export interface StrategiesRewardsCellProps {
|
|
20
|
+
data: StrategiesRewardsCellData;
|
|
21
|
+
disabledStyle: boolean;
|
|
22
|
+
apyFormat?: "feature" | "featureless";
|
|
23
|
+
}
|
|
24
|
+
export declare function StrategiesRewardsCell({ data, disabledStyle, apyFormat, }: StrategiesRewardsCellProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
/**
|
|
26
|
+
* @deprecated Prefer {@link StrategiesRewardsCell} with
|
|
27
|
+
* {@link StrategiesRewardsCellData}.
|
|
28
|
+
*/
|
|
29
|
+
export interface StrategiesRewardsCellLegacyProps {
|
|
15
30
|
maxAPY: number;
|
|
16
31
|
bonusAPY: StrategiesTableBonusApy | undefined;
|
|
17
32
|
rewards: ReadonlyArray<StrategiesTablePointsReward>;
|
|
@@ -25,8 +40,21 @@ export interface StrategiesRewardsCellProps {
|
|
|
25
40
|
apyLoading: boolean;
|
|
26
41
|
apyFormat?: "feature" | "featureless";
|
|
27
42
|
}
|
|
28
|
-
|
|
43
|
+
/**
|
|
44
|
+
* @deprecated Prefer {@link StrategiesRewardsCell} with
|
|
45
|
+
* {@link StrategiesRewardsCellData}.
|
|
46
|
+
*/
|
|
47
|
+
export declare function StrategiesRewardsCellLegacy({ maxAPY, bonusAPY, rewards, rewardRates, debtRewards, debtRewardRates, hasAPY, hasRewards, hasDebtRewards, disabledStyle, apyLoading, apyFormat, }: StrategiesRewardsCellLegacyProps): import("react/jsx-runtime").JSX.Element;
|
|
29
48
|
export interface StrategyPointsProps {
|
|
49
|
+
pointGroups: readonly (readonly StrategyPointsChip[])[];
|
|
50
|
+
disabledStyle: boolean;
|
|
51
|
+
theme?: PointsFeatureProps["theme"];
|
|
52
|
+
}
|
|
53
|
+
export declare function StrategyPoints({ pointGroups, disabledStyle, theme, }: StrategyPointsProps): import("react/jsx-runtime").JSX.Element[];
|
|
54
|
+
/**
|
|
55
|
+
* @deprecated Prefer {@link StrategyPoints} with `pointGroups`.
|
|
56
|
+
*/
|
|
57
|
+
export interface StrategyPointsLegacyProps {
|
|
30
58
|
rewards: ReadonlyArray<StrategiesTablePointsReward>;
|
|
31
59
|
rewardRates: readonly (bigint | "soon")[];
|
|
32
60
|
debtRewards: ReadonlyArray<StrategiesTableDebtReward>;
|
|
@@ -36,4 +64,7 @@ export interface StrategyPointsProps {
|
|
|
36
64
|
disabledStyle: boolean;
|
|
37
65
|
theme?: PointsFeatureProps["theme"];
|
|
38
66
|
}
|
|
39
|
-
|
|
67
|
+
/**
|
|
68
|
+
* @deprecated Prefer {@link StrategyPoints} with `pointGroups`.
|
|
69
|
+
*/
|
|
70
|
+
export declare function StrategyPointsLegacy({ rewards, rewardRates, debtRewards, debtRewardRates, hasRewards, hasDebtRewards, disabledStyle, theme, }: StrategyPointsLegacyProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { PointsIconReward } from '../../../../points-icon';
|
|
3
3
|
import { FeatureProps } from '../feature';
|
|
4
|
+
/**
|
|
5
|
+
* Minimal reward shape for points chips / tooltips.
|
|
6
|
+
* Compatible with legacy SDK `PointsReward` and SDK `PointsProgram`
|
|
7
|
+
* (`type` ← `id`, `units` optional).
|
|
8
|
+
*/
|
|
9
|
+
export interface PointsFeatureReward extends PointsIconReward {
|
|
10
|
+
readonly units?: string;
|
|
11
|
+
}
|
|
12
|
+
/** Display value for a points multiplier / rate. */
|
|
13
|
+
export type PointsDisplayValue = bigint | number | "soon" | null;
|
|
4
14
|
export interface PointsFeatureProps {
|
|
5
|
-
reward:
|
|
6
|
-
points:
|
|
15
|
+
reward: PointsFeatureReward;
|
|
16
|
+
points: PointsDisplayValue;
|
|
7
17
|
precision?: number;
|
|
8
18
|
theme?: FeatureProps["theme"];
|
|
9
19
|
}
|
|
@@ -12,13 +22,7 @@ export declare function PointsFeatureTooltip({ reward, points, precision, tip, t
|
|
|
12
22
|
tip?: React.ReactNode;
|
|
13
23
|
}): import("react/jsx-runtime").JSX.Element;
|
|
14
24
|
interface PointsLabelProps {
|
|
15
|
-
reward:
|
|
25
|
+
reward: PointsFeatureReward;
|
|
16
26
|
}
|
|
17
27
|
export declare function PointsLabel({ reward }: PointsLabelProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
-
interface PointsValueProps {
|
|
19
|
-
points: bigint | "soon";
|
|
20
|
-
precision?: number;
|
|
21
|
-
startWith?: string;
|
|
22
|
-
endWith?: string;
|
|
23
|
-
}
|
|
24
28
|
export {};
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}>>;
|
|
11
|
-
theme?: RewardsTooltipTheme;
|
|
12
|
-
onClose?: () => void;
|
|
1
|
+
import { RewardsTooltipData, RewardsTooltipTheme } from '../../types/rewards-tooltip';
|
|
2
|
+
/**
|
|
3
|
+
* Display-only props for the strategy rewards tooltip.
|
|
4
|
+
*
|
|
5
|
+
* @see RewardsTooltipData
|
|
6
|
+
*/
|
|
7
|
+
export interface RewardsTooltipContentProps extends RewardsTooltipData {
|
|
8
|
+
readonly theme?: RewardsTooltipTheme;
|
|
9
|
+
readonly onClose?: () => void;
|
|
13
10
|
}
|
|
14
|
-
export declare function RewardsTooltipContent({
|
|
11
|
+
export declare function RewardsTooltipContent({ totalApy, baseApy, baseRewards, basePoints, points, maxLeverage, borrowRate, underlyingTokenSymbol, quotaRate, onClose, theme, }: RewardsTooltipContentProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { PointsProgram } from '@gearbox-protocol/sdk/model';
|
|
2
|
+
import { PointsDisplayValue, PointsFeatureReward } from '../components/points-feature';
|
|
3
|
+
import { RewardsTooltipCellInfo } from './rewards-tooltip';
|
|
4
|
+
/**
|
|
5
|
+
* One points chip: program identity + the rate actually shown in the cell.
|
|
6
|
+
*
|
|
7
|
+
* `rate` is the leveraged / resolved display value — not
|
|
8
|
+
* `reward.multiplier` from the legacy reward shape.
|
|
9
|
+
*/
|
|
10
|
+
export interface StrategyPointsChip {
|
|
11
|
+
/**
|
|
12
|
+
* Accepts legacy `PointsReward` and SDK `PointsProgram` (`type` ← `id`).
|
|
13
|
+
*/
|
|
14
|
+
readonly reward: PointsFeatureReward;
|
|
15
|
+
readonly rate: PointsDisplayValue;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Self-contained payload for {@link StrategiesRewardsCell}.
|
|
19
|
+
*
|
|
20
|
+
* Prefer this over the deprecated {@link RewardsTooltipCellInfo} parallel-array
|
|
21
|
+
* shape. Empty / absent rows are expressed with `undefined` or empty groups —
|
|
22
|
+
* there are no separate `has*` flags.
|
|
23
|
+
*/
|
|
24
|
+
export interface StrategiesRewardsCellData {
|
|
25
|
+
/**
|
|
26
|
+
* APY chip value in percent. `undefined` hides the APY row (replacement for
|
|
27
|
+
* the legacy `hasAPY` flag — zero is still a valid shown value).
|
|
28
|
+
*/
|
|
29
|
+
readonly maxApy?: number;
|
|
30
|
+
/** Bonus / expected APY chip; `undefined` hides it. */
|
|
31
|
+
readonly bonusApy?: number;
|
|
32
|
+
/**
|
|
33
|
+
* Chip groups. `+` is rendered between groups; chips inside a group have no
|
|
34
|
+
* separator. Legacy layout is `[rewards, debtRewards]`.
|
|
35
|
+
*/
|
|
36
|
+
readonly pointGroups: readonly (readonly StrategyPointsChip[])[];
|
|
37
|
+
readonly apyLoading?: boolean;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Maps the deprecated parallel-array {@link RewardsTooltipCellInfo} into
|
|
41
|
+
* {@link StrategiesRewardsCellData}.
|
|
42
|
+
*
|
|
43
|
+
* Respects legacy `has*` flags (`undefined` → `false`), matching previous
|
|
44
|
+
* column wiring (`hasAPY ?? false`, etc.).
|
|
45
|
+
*/
|
|
46
|
+
export declare function rewardsCellDataFromLegacy(info: RewardsTooltipCellInfo): StrategiesRewardsCellData;
|
|
47
|
+
/** Bridge SDK {@link PointsProgram} rows into cell chips. */
|
|
48
|
+
export declare function pointsChipsOfPrograms(programs: readonly PointsProgram[]): StrategyPointsChip[];
|
|
@@ -1,52 +1,57 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Address } from 'viem';
|
|
1
|
+
import { PointsProgram, TokenRewards } from '@gearbox-protocol/sdk/model';
|
|
3
2
|
import { StrategiesTableDebtReward, StrategiesTablePointsReward } from './points-reward';
|
|
4
3
|
/** Background variant for {@link RewardsTooltipRoot}. */
|
|
5
4
|
export type RewardsTooltipTheme = "modal" | "box";
|
|
6
5
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* Display-only payload for the strategy rewards tooltip body.
|
|
7
|
+
*
|
|
8
|
+
* Every value is final and resolved by the caller (app row builder): no APY-list
|
|
9
|
+
* lookups, no credit-manager traversal and no flag derivation happen inside
|
|
10
|
+
* {@link RewardsTooltipContent}. Optional rows are hidden when their prop is
|
|
11
|
+
* `undefined`.
|
|
12
|
+
*
|
|
13
|
+
* Prefer SDK shapes: {@link TokenRewards} for token APR rows and
|
|
14
|
+
* {@link PointsProgram} for points chips.
|
|
9
15
|
*/
|
|
10
|
-
export interface
|
|
11
|
-
|
|
12
|
-
readonly
|
|
13
|
-
|
|
14
|
-
readonly
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
readonly
|
|
16
|
+
export interface RewardsTooltipData {
|
|
17
|
+
/** Leveraged / max APY shown in the "with leverage" block, percent. */
|
|
18
|
+
readonly totalApy: number;
|
|
19
|
+
/** Organic base APY without leverage, percent. */
|
|
20
|
+
readonly baseApy: number;
|
|
21
|
+
/** Token reward APR rows for the without-leverage block. */
|
|
22
|
+
readonly baseRewards: readonly TokenRewards[];
|
|
23
|
+
/** Points in the without-leverage block (typically base multipliers). */
|
|
24
|
+
readonly basePoints: readonly PointsProgram[];
|
|
25
|
+
/** Points in the with-leverage block (typically leveraged rates). */
|
|
26
|
+
readonly points: readonly PointsProgram[];
|
|
27
|
+
readonly maxLeverage: number | bigint;
|
|
28
|
+
/** Borrow rate row; hidden when undefined. */
|
|
29
|
+
readonly borrowRate?: number;
|
|
30
|
+
readonly underlyingTokenSymbol?: string;
|
|
31
|
+
/** Quota rate row, percent; hidden when undefined. */
|
|
32
|
+
readonly quotaRate?: number;
|
|
19
33
|
}
|
|
20
|
-
/** Per-chain APY snapshot from the SDK (`apySnapshot.apy`); tooltip only reads `extraCollateralAPYList`. */
|
|
21
|
-
export type RewardsTooltipApyListByNetwork = Partial<Record<number, NetworkApyData | undefined>> | undefined;
|
|
22
34
|
/**
|
|
23
|
-
*
|
|
35
|
+
* @deprecated Prefer {@link StrategiesRewardsCellData} via
|
|
36
|
+
* `StrategyTableRowDTO.rewardsCell`. Use {@link rewardsCellDataFromLegacy} to
|
|
37
|
+
* migrate.
|
|
24
38
|
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
39
|
+
* Cell-chip payload for {@link StrategiesRewardsCellLegacy}.
|
|
40
|
+
*
|
|
41
|
+
* Separate from {@link RewardsTooltipData}: the inline cell still uses legacy
|
|
42
|
+
* points/debt reward shapes until the cell is migrated to SDK types.
|
|
27
43
|
*/
|
|
28
44
|
export interface RewardsTooltipCellInfo {
|
|
29
45
|
readonly maxAPY: number;
|
|
30
|
-
readonly
|
|
31
|
-
|
|
46
|
+
readonly bonusAPY: {
|
|
47
|
+
readonly value: number;
|
|
48
|
+
} | undefined;
|
|
32
49
|
readonly rewards: readonly StrategiesTablePointsReward[];
|
|
33
50
|
readonly debtRewards: readonly StrategiesTableDebtReward[];
|
|
34
51
|
readonly rewardRates: readonly (bigint | "soon")[];
|
|
35
52
|
readonly debtRewardRates: readonly (bigint | "soon")[];
|
|
36
53
|
readonly apyLoading: boolean;
|
|
37
|
-
readonly hasPoints: boolean;
|
|
38
|
-
readonly isPointsWithAPY: boolean;
|
|
39
54
|
readonly hasAPY?: boolean;
|
|
40
|
-
readonly maxLeverage: bigint;
|
|
41
|
-
readonly quotaRate: bigint;
|
|
42
|
-
/**
|
|
43
|
-
* Present on some call sites that reuse hook-shaped objects; the tooltip body
|
|
44
|
-
* does not read these fields.
|
|
45
|
-
*/
|
|
46
55
|
readonly hasRewards?: boolean;
|
|
47
56
|
readonly hasDebtRewards?: boolean;
|
|
48
57
|
}
|
|
49
|
-
/** Minimal token row used to resolve borrow-label symbols in tips. */
|
|
50
|
-
export interface RewardsTooltipTokenMeta {
|
|
51
|
-
readonly title?: string;
|
|
52
|
-
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Address } from 'viem';
|
|
2
2
|
import { TokenMetaInfo } from '../../../../types/common';
|
|
3
|
-
import {
|
|
3
|
+
import { StrategiesRewardsCellData } from './rewards-cell';
|
|
4
|
+
import { RewardsTooltipCellInfo, RewardsTooltipData } from './rewards-tooltip';
|
|
4
5
|
import type * as React from "react";
|
|
5
6
|
export type StrategiesTableSortFields = "strategyName" | "apy";
|
|
6
7
|
type StrategiesTableSortDirection = "desc" | "asc";
|
|
@@ -19,23 +20,32 @@ export interface StrategyDTO {
|
|
|
19
20
|
readonly network: string | undefined;
|
|
20
21
|
readonly strategyMarketType?: readonly string[];
|
|
21
22
|
}
|
|
22
|
-
export interface StrategyTableDelayedConfig {
|
|
23
|
-
readonly withdrawalPhantomToken: Address;
|
|
24
|
-
}
|
|
25
|
-
export interface StrategyTableCreditManager {
|
|
26
|
-
readonly underlyingToken: Address;
|
|
27
|
-
}
|
|
28
23
|
export interface StrategyTableRowDTO<S extends StrategyDTO = StrategyDTO, T extends TokenMetaInfo = TokenMetaInfo> {
|
|
29
24
|
readonly strategy: S;
|
|
30
25
|
readonly href?: string;
|
|
31
|
-
readonly maxLeverage: bigint;
|
|
26
|
+
readonly maxLeverage: bigint | number;
|
|
32
27
|
readonly tokensList: Partial<Record<Address, T>> | undefined;
|
|
33
|
-
readonly apyListByNetwork: RewardsTooltipApyListByNetwork | undefined;
|
|
34
|
-
readonly strategyCreditManagers: Partial<Record<Address, StrategyTableCreditManager>>;
|
|
35
28
|
readonly disabled?: boolean;
|
|
36
29
|
readonly disabledStyle?: boolean;
|
|
37
30
|
readonly disabledTooltip?: React.ReactNode;
|
|
38
|
-
|
|
31
|
+
/**
|
|
32
|
+
* Preferred inline rewards cell payload ({@link StrategiesRewardsCellData}).
|
|
33
|
+
* When set, takes precedence over {@link rewardsCellInfo}.
|
|
34
|
+
*/
|
|
35
|
+
readonly rewardsCell?: StrategiesRewardsCellData;
|
|
36
|
+
/**
|
|
37
|
+
* Inline rewards cell chips (legacy points/debt shapes until the cell
|
|
38
|
+
* migrates to SDK types).
|
|
39
|
+
*
|
|
40
|
+
* @deprecated Prefer {@link rewardsCell}. Normalized via
|
|
41
|
+
* {@link rewardsCellDataFromLegacy} when `rewardsCell` is absent.
|
|
42
|
+
*/
|
|
43
|
+
readonly rewardsCellInfo?: RewardsTooltipCellInfo;
|
|
44
|
+
/**
|
|
45
|
+
* Display-only strategy rewards tooltip body. Resolved by the app row
|
|
46
|
+
* builder — no APY-list / CM lookups inside the table.
|
|
47
|
+
*/
|
|
48
|
+
readonly rewardsTooltip: RewardsTooltipData;
|
|
39
49
|
readonly isZeroSlippagePair: boolean;
|
|
40
50
|
readonly zeroSlippageToken: T | undefined;
|
|
41
51
|
readonly loading?: boolean;
|
|
@@ -47,7 +57,12 @@ export interface StrategyTableCellContext<S extends StrategyDTO = StrategyDTO, T
|
|
|
47
57
|
readonly tokensList: Partial<Record<Address, T>> | undefined;
|
|
48
58
|
readonly targetToken: T | undefined;
|
|
49
59
|
readonly targetTokenAddress: Address;
|
|
50
|
-
readonly
|
|
60
|
+
readonly rewardsCell?: StrategiesRewardsCellData;
|
|
61
|
+
/**
|
|
62
|
+
* @deprecated Prefer {@link rewardsCell}.
|
|
63
|
+
*/
|
|
64
|
+
readonly rewardsCellInfo?: RewardsTooltipCellInfo;
|
|
65
|
+
readonly rewardsTooltip: RewardsTooltipData;
|
|
51
66
|
readonly isMobile: boolean;
|
|
52
67
|
readonly isDesktop: boolean;
|
|
53
68
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { VariantProps } from 'class-variance-authority';
|
|
2
2
|
import { default as React } from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { TokenTemplateProps } from '../../../../token-template';
|
|
4
4
|
declare const rootVariants: (props?: ({
|
|
5
5
|
position?: "first" | "last" | "inBetween" | "solo" | null | undefined;
|
|
6
6
|
size?: "sm" | "md" | null | undefined;
|
|
@@ -8,8 +8,8 @@ declare const rootVariants: (props?: ({
|
|
|
8
8
|
export interface TransactionConfirmAmountFieldProps extends VariantProps<typeof rootVariants> {
|
|
9
9
|
readonly label: React.ReactNode;
|
|
10
10
|
readonly primaryAmount: {
|
|
11
|
-
readonly value:
|
|
12
|
-
readonly token?:
|
|
11
|
+
readonly value: TokenTemplateProps["value"];
|
|
12
|
+
readonly token?: TokenTemplateProps["token"];
|
|
13
13
|
} | {
|
|
14
14
|
node: React.ReactNode;
|
|
15
15
|
};
|
|
@@ -5,4 +5,8 @@ export interface TransactionConfirmFailureResultProps {
|
|
|
5
5
|
readonly footerAction?: React.ReactNode;
|
|
6
6
|
readonly iconSize?: number;
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* Failure result follows the shell's confirm layout: the main content scrolls
|
|
10
|
+
* while `footerAction` remains outside the scroll container.
|
|
11
|
+
*/
|
|
8
12
|
export declare function TransactionConfirmFailureResult({ title, description, footerAction, iconSize, }: TransactionConfirmFailureResultProps): React.ReactElement;
|
|
@@ -4,6 +4,11 @@ export interface TransactionConfirmSuccessResultProps {
|
|
|
4
4
|
readonly headline: React.ReactNode;
|
|
5
5
|
readonly subtitle: React.ReactNode;
|
|
6
6
|
readonly txHashRow?: React.ReactNode;
|
|
7
|
+
/** Extra scrollable body below the subtitle (e.g. summary tables). */
|
|
7
8
|
readonly footerAction?: React.ReactNode;
|
|
8
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Success result follows the shell's confirm layout: the main content scrolls
|
|
12
|
+
* while `footerAction` remains outside the scroll container.
|
|
13
|
+
*/
|
|
9
14
|
export declare function TransactionConfirmSuccessResult({ icon, headline, subtitle, txHashRow, footerAction, }: TransactionConfirmSuccessResultProps): React.ReactElement;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { PoolAPYPointsTip } from '../pool-apy-tooltip';
|
|
2
|
+
import { LocaleKeys } from '../../locale';
|
|
3
|
+
import { TokenMetaInfo } from '../../types/common';
|
|
4
|
+
/**
|
|
5
|
+
* Reward rows sometimes carry only a symbol, so fall back to it when the token
|
|
6
|
+
* is missing. The icon itself is resolved by `TokenIcon`.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getRewardTokenSymbol(token: TokenMetaInfo | undefined, rewardTokenSymbol: string | undefined): TokenMetaInfo | string | undefined;
|
|
9
|
+
export interface PoolBaseAPY {
|
|
10
|
+
type: "supplyAPY" | "tokenYield";
|
|
11
|
+
apy: number;
|
|
12
|
+
}
|
|
13
|
+
export interface ExtraRewardApy {
|
|
14
|
+
apy: number;
|
|
15
|
+
rewardToken: string;
|
|
16
|
+
rewardTokenSymbol: string;
|
|
17
|
+
}
|
|
18
|
+
export interface ExternalAPYData {
|
|
19
|
+
/**
|
|
20
|
+
* The total value including external APY
|
|
21
|
+
*/
|
|
22
|
+
totalValue: number;
|
|
23
|
+
/**
|
|
24
|
+
* The external APY value
|
|
25
|
+
*/
|
|
26
|
+
value?: number;
|
|
27
|
+
/**
|
|
28
|
+
* The external APY value (backward compatibility alias for value)
|
|
29
|
+
* @deprecated Use value instead
|
|
30
|
+
*/
|
|
31
|
+
apy?: number;
|
|
32
|
+
/**
|
|
33
|
+
* Name/label of the external APY source
|
|
34
|
+
*/
|
|
35
|
+
name: string;
|
|
36
|
+
/**
|
|
37
|
+
* Localization key for the external APY tooltip
|
|
38
|
+
* Will be rendered with FormattedMessageTyped with values: { name, value }
|
|
39
|
+
*/
|
|
40
|
+
tooltip?: LocaleKeys;
|
|
41
|
+
}
|
|
42
|
+
export interface CompoundAPYLegacyProps {
|
|
43
|
+
/**
|
|
44
|
+
* Total APY value (already in percent form, e.g., 5 for 5%)
|
|
45
|
+
*/
|
|
46
|
+
totalAPY: number;
|
|
47
|
+
/**
|
|
48
|
+
* Whether the total APY is loading (backward compatibility)
|
|
49
|
+
*/
|
|
50
|
+
totalAPYLoading?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Base APY array with different types
|
|
53
|
+
*/
|
|
54
|
+
baseAPY: Array<PoolBaseAPY>;
|
|
55
|
+
/**
|
|
56
|
+
* Extra/rewards APY array
|
|
57
|
+
*/
|
|
58
|
+
extraAPY: Array<ExtraRewardApy>;
|
|
59
|
+
/**
|
|
60
|
+
* External APY data (e.g., from external protocols)
|
|
61
|
+
*/
|
|
62
|
+
externalAPY?: ExternalAPYData;
|
|
63
|
+
/**
|
|
64
|
+
* Pool points data (backward compatibility)
|
|
65
|
+
*/
|
|
66
|
+
points?: Array<PoolAPYPointsTip>;
|
|
67
|
+
/**
|
|
68
|
+
* APY data from 7 days ago (backward compatibility)
|
|
69
|
+
*/
|
|
70
|
+
apy7DAgo?: {
|
|
71
|
+
baseAPY?: Array<PoolBaseAPY>;
|
|
72
|
+
totalAPY?: number;
|
|
73
|
+
totalAPYLoading?: boolean;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Token list for displaying token symbols in tooltips
|
|
77
|
+
*/
|
|
78
|
+
tokensList?: Record<string, TokenMetaInfo>;
|
|
79
|
+
/**
|
|
80
|
+
* Number of decimal places
|
|
81
|
+
* @default 2
|
|
82
|
+
*/
|
|
83
|
+
decimals?: number;
|
|
84
|
+
/**
|
|
85
|
+
* Custom className
|
|
86
|
+
*/
|
|
87
|
+
className?: string;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Legacy Compound APY — percent-based props + `tokensList` / 7D / external APY.
|
|
91
|
+
*
|
|
92
|
+
* Prefer {@link CompoundAPY} with SDK `ApyBreakdown` for Earn / opportunities.
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```tsx
|
|
96
|
+
* <CompoundAPYLegacy
|
|
97
|
+
* totalAPY={15}
|
|
98
|
+
* baseAPY={[{ type: "supplyAPY", apy: 10 }]}
|
|
99
|
+
* extraAPY={[{ apy: 3, rewardToken: "0x...", rewardTokenSymbol: "GEAR" }]}
|
|
100
|
+
* externalAPY={{
|
|
101
|
+
* totalValue: 15,
|
|
102
|
+
* value: 2,
|
|
103
|
+
* name: "Curve",
|
|
104
|
+
* tooltip: "External APY from Curve"
|
|
105
|
+
* }}
|
|
106
|
+
* />
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
export declare function CompoundAPYLegacy({ totalAPY, totalAPYLoading, baseAPY, extraAPY, externalAPY: externalAPYProp, points, apy7DAgo, tokensList, decimals, className, }: CompoundAPYLegacyProps): import("react/jsx-runtime").JSX.Element;
|