@nexus-cross/dapp-ui 1.3.2 → 1.3.3-beta.10

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/index.d.cts CHANGED
@@ -306,6 +306,30 @@ interface StakeInfo {
306
306
  /** 최초 스테이킹 이후 경과 일수. 스테이킹 이력이 없으면 null. */
307
307
  days_since_first_stake: number | null;
308
308
  }
309
+ /**
310
+ * 주입형 staking 리워드 reader가 반환하는 온체인 값.
311
+ * 금액은 모두 raw(wei) BigInt로 다루고, 표기 시에만 decimals(18)로 환산한다.
312
+ */
313
+ interface StakingRewardsInfo {
314
+ /**
315
+ * 온체인 누적 미청구 리워드 `earned(account)` (raw, wei).
316
+ * posa 비활성 상태에서는 lastRewardBlock 이후 블록 기반 projection을 더한
317
+ * 추정치(= posa 포트폴리오 "Accrued Rewards"와 동일 값)를 반환한다.
318
+ */
319
+ earnedWei: bigint;
320
+ /** 온체인 스테이킹 원금 `balanceOf(account)` (raw, wei). 개인 APR 분모. */
321
+ stakedWei: bigint;
322
+ }
323
+ /**
324
+ * 주입형 staking 리워드 reader. host(wagmi 보유 측)가 연결 계정 기준으로
325
+ * POSA delegation pool 컨트랙트의 `earned()` / `balanceOf()`를 읽어 반환한다.
326
+ * dapp-ui는 viem/wagmi를 직접 쓰지 못하므로, posa 포트폴리오의 온체인
327
+ * "Accrued Rewards"와 동일한 수치를 표기하려면 이 reader가 주입돼야 한다.
328
+ * 미주입 시 StakeSection은 API `cumulative_earned`로 폴백한다.
329
+ *
330
+ * dapp-ui는 이 함수 시그니처에만 의존한다.
331
+ */
332
+ type StakingRewardsReaderFn = (account: string) => Promise<StakingRewardsInfo>;
309
333
  /** 네트워크 통계 중 포트폴리오에서 사용하는 필드 (`GET /network/stats`). */
310
334
  interface NetworkStats {
311
335
  /** 네트워크 APR (백분율 문자열, 예: "12.5") */
@@ -524,13 +548,13 @@ interface BridgeInfoRow {
524
548
  }
525
549
  interface BridgeLiquidityInfo {
526
550
  label?: string;
527
- value: string;
528
551
  status?: "low" | "normal" | "rebalancing";
529
552
  percentage?: number;
530
553
  }
531
554
  interface BridgeTxSummary {
532
555
  pathType?: BridgePathType;
533
556
  exchangeRate?: string;
557
+ priceImpact?: string;
534
558
  liquidity?: BridgeLiquidityInfo;
535
559
  bridgeInfo?: BridgeInfoRow[];
536
560
  swapInfo?: BridgeInfoRow[];
@@ -670,14 +694,29 @@ interface WalletInfoProps {
670
694
  preferredTokens?: PreferredToken[];
671
695
  onSelectWallet?: () => void;
672
696
  onCopyAddress?: (address: string, success: boolean) => void;
673
- /** WalletInfo 기본 액션 row의 Buy 클릭 핸들러. */
674
- onBuy?: () => void;
697
+ /**
698
+ * WalletInfo 기본 액션 row의 Buy 클릭 핸들러. Promise를 반환하면 reject 시
699
+ * Buy 카드가 `onBuyDisabledMessage`와 동일한 토스트로 실패를 안내한다.
700
+ */
701
+ onBuy?: () => void | Promise<void>;
675
702
  /**
676
703
  * Buy 카드를 시각적으로 비활성 상태로 표시하고, 사용자가 클릭하면 이
677
704
  * 메시지를 토스트로 띄운다. `onBuy`보다 우선. 예: on-ramp가 사용자 국가에서
678
705
  * 차단된 경우 안내 메시지 전달용.
679
706
  */
680
707
  onBuyDisabledMessage?: string;
708
+ /**
709
+ * Bridge 카드를 시각적으로 비활성 상태로 표시하고, 클릭하면 이 메시지를
710
+ * 토스트로 띄운다. 예: 연결된 지갑이 CROSSx 계열이 아니라 브릿지를
711
+ * 지원하지 않는 경우.
712
+ */
713
+ onBridgeDisabledMessage?: string;
714
+ /**
715
+ * Send 카드(및 토큰 행 탭으로 진입하는 전송 플로우)를 시각적으로 비활성
716
+ * 상태로 표시하고, 클릭하면 이 메시지를 토스트로 띄운다. 예: 연결된 지갑이
717
+ * CROSSx 계열이 아닌 경우.
718
+ */
719
+ onSendDisabledMessage?: string;
681
720
  /**
682
721
  * 지정 시 기본 Disconnect 버튼이 Footer에 노출됨. `WalletInfo.Footer` 슬롯이
683
722
  * 있으면 해당 슬롯이 메인 영역을 대체한다. Terms/Privacy 링크는 둘 중 무엇을
@@ -742,6 +781,12 @@ interface WalletInfoProps {
742
781
  * 미주입 시 LP 섹션은 풀 정보만 표시한다.
743
782
  */
744
783
  lpBalanceReader?: LpBalanceReaderFn;
784
+ /**
785
+ * CROSS Staking 섹션의 온체인 `earned()` / `balanceOf()`를 보강하기 위한
786
+ * 주입형 reader. `showPortfolio=true`일 때 `WalletPortfolioBody`로 릴레이된다.
787
+ * 미주입 시 Staking 섹션은 API `cumulative_earned`로 폴백한다.
788
+ */
789
+ stakingRewardsReader?: StakingRewardsReaderFn;
745
790
  bridgeTokens?: BridgeToken[];
746
791
  bridgeHistory?: BridgeHistoryItem[];
747
792
  getBridgeQuote?: BridgeQuoteFn;
@@ -759,7 +804,7 @@ interface WalletInfoProps {
759
804
  style?: WalletInfoStyle;
760
805
  children: React.ReactNode;
761
806
  }
762
- declare function WalletInfoRoot({ env, theme, mobileBreakpoint, drawerDirection, modal, showBalance, showForgeToken, showGameToken, showQR, showBridge, qrLogoSrc, walletAddress, accountName, sendAccounts, profileImageUrl, connectorId, connectorName: connectorNameProp, connectorIconUrl: connectorIconUrlProp, preferredTokens, onSelectWallet, onCopyAddress, onBuy, onBuyDisabledMessage, onDisconnect, disconnectLabel, termsUrl, termsLabel, privacyUrl, privacyLabel, open: propOpen, onOpenChange, showPortfolio, portfolioTitle, showTotalAssets, totalAssetsLabel, sendTransaction, getTransactionReceipt, estimateGas, onOutlink, lpBalanceReader, bridgeTokens, bridgeHistory, getBridgeQuote, getBridgeToTokens, getBridgeApproval, approveBridge, submitBridge, onReceive, onBridge, onSend, style, children, }: WalletInfoProps): react_jsx_runtime.JSX.Element;
807
+ declare function WalletInfoRoot({ env, theme, mobileBreakpoint, drawerDirection, modal, showBalance, showForgeToken, showGameToken, showQR, showBridge, qrLogoSrc, walletAddress, accountName, sendAccounts, profileImageUrl, connectorId, connectorName: connectorNameProp, connectorIconUrl: connectorIconUrlProp, preferredTokens, onSelectWallet, onCopyAddress, onBuy, onBuyDisabledMessage, onBridgeDisabledMessage, onSendDisabledMessage, onDisconnect, disconnectLabel, termsUrl, termsLabel, privacyUrl, privacyLabel, open: propOpen, onOpenChange, showPortfolio, portfolioTitle, showTotalAssets, totalAssetsLabel, sendTransaction, getTransactionReceipt, estimateGas, onOutlink, lpBalanceReader, stakingRewardsReader, bridgeTokens, bridgeHistory, getBridgeQuote, getBridgeToTokens, getBridgeApproval, approveBridge, submitBridge, onReceive, onBridge, onSend, style, children, }: WalletInfoProps): react_jsx_runtime.JSX.Element;
763
808
  declare const WalletInfo: typeof WalletInfoRoot & {
764
809
  Trigger: typeof WalletInfoTrigger;
765
810
  Content: typeof WalletInfoContent;
@@ -966,9 +1011,14 @@ interface WalletPortfolioProps {
966
1011
  * host(wagmi 보유 측)로부터 주입받는 reader. 미주입 시 풀 정보만 표시한다.
967
1012
  */
968
1013
  lpBalanceReader?: LpBalanceReaderFn;
1014
+ /**
1015
+ * CROSS Staking 섹션이 온체인 `earned()` / `balanceOf()`를 보강하기 위해
1016
+ * host(wagmi 보유 측)로부터 주입받는 reader. 미주입 시 API 값으로 폴백한다.
1017
+ */
1018
+ stakingRewardsReader?: StakingRewardsReaderFn;
969
1019
  children: React.ReactNode;
970
1020
  }
971
- declare function WalletPortfolioRoot({ env, theme, walletAddress, open: propOpen, onOpenChange, onOutlink, lpBalanceReader, children, }: WalletPortfolioProps): react_jsx_runtime.JSX.Element;
1021
+ declare function WalletPortfolioRoot({ env, theme, walletAddress, open: propOpen, onOpenChange, onOutlink, lpBalanceReader, stakingRewardsReader, children, }: WalletPortfolioProps): react_jsx_runtime.JSX.Element;
972
1022
  declare const WalletPortfolio: typeof WalletPortfolioRoot & {
973
1023
  Trigger: typeof WalletPortfolioTrigger;
974
1024
  Content: typeof WalletPortfolioContent;
@@ -978,7 +1028,10 @@ interface WalletPortfolioBodyProps {
978
1028
  env?: Environment;
979
1029
  theme?: Theme;
980
1030
  walletAddress: string;
981
- /** @deprecated Portfolio header now follows the renewed fixed title design. */
1031
+ /**
1032
+ * 헤더 좌측 아바타 옆에 표시할 지갑 이름 (예: "Account 1").
1033
+ * 전달되지 않으면 텍스트는 숨겨지고 아바타만 표시된다.
1034
+ */
982
1035
  walletName?: string;
983
1036
  /** 왼쪽 상단 back 버튼 클릭 핸들러. 없으면 back 버튼 숨김. */
984
1037
  onBack?: () => void;
@@ -1002,8 +1055,13 @@ interface WalletPortfolioBodyProps {
1002
1055
  * host(wagmi 보유 측)로부터 주입받는 reader. 미주입 시 풀 정보만 표시한다.
1003
1056
  */
1004
1057
  lpBalanceReader?: LpBalanceReaderFn;
1058
+ /**
1059
+ * CROSS Staking 섹션이 온체인 `earned()` / `balanceOf()`를 보강하기 위해
1060
+ * host(wagmi 보유 측)로부터 주입받는 reader. 미주입 시 API 값으로 폴백한다.
1061
+ */
1062
+ stakingRewardsReader?: StakingRewardsReaderFn;
1005
1063
  }
1006
- declare function WalletPortfolioBody({ env, theme, walletAddress, onBack, showHeader, variant, className, onOutlink, lpBalanceReader, }: WalletPortfolioBodyProps): react_jsx_runtime.JSX.Element;
1064
+ declare function WalletPortfolioBody({ env, theme, walletAddress, walletName, onBack, showHeader, variant, className, onOutlink, lpBalanceReader, stakingRewardsReader, }: WalletPortfolioBodyProps): react_jsx_runtime.JSX.Element;
1007
1065
 
1008
1066
  declare function CROSSxIcon(): react_jsx_runtime.JSX.Element;
1009
1067
  declare function MetaMaskIcon(): react_jsx_runtime.JSX.Element;
@@ -1258,8 +1316,11 @@ interface ConnectButtonProps {
1258
1316
  onCopy?: () => void;
1259
1317
  /** 지갑 변경 chevron 클릭 핸들러. 지정하지 않으면 chevron이 숨김 처리된다. */
1260
1318
  onSelectWallet?: () => void;
1261
- /** WalletInfo 기본 액션 row의 Buy 클릭 핸들러. */
1262
- onBuy?: () => void;
1319
+ /**
1320
+ * WalletInfo 기본 액션 row의 Buy 클릭 핸들러. Promise를 반환하면 reject 시
1321
+ * Buy 카드가 `onBuyDisabledMessage`와 동일한 토스트로 실패를 안내한다.
1322
+ */
1323
+ onBuy?: () => void | Promise<void>;
1263
1324
  /**
1264
1325
  * Buy 카드를 시각적으로 비활성 상태로 표시하고, 사용자가 클릭하면 이 메시지를
1265
1326
  * 토스트로 띄운다. `onBuy`보다 우선. WalletInfoProps의 동일 prop으로 그대로
@@ -1419,7 +1480,7 @@ interface SkillsButtonProps {
1419
1480
  type?: "button" | "submit" | "reset";
1420
1481
  }
1421
1482
 
1422
- declare const DEFAULT_SKILLS_HREF = "https://skills.cross.nexus";
1483
+ declare const DEFAULT_SKILLS_HREF = "https://www.onechain.nexus/skills";
1423
1484
  declare function SkillsButton({ label, href, onClick, className, style, theme, disabled, isLoading, loadingLabel, openInNewTab, type, }: SkillsButtonProps): react_jsx_runtime.JSX.Element;
1424
1485
 
1425
- export { APPLE_ICON, AppLauncher, AppLauncherContent, type AppLauncherContentProps, type AppLauncherProps, AppLauncherTrigger, type AppLauncherTriggerProps, type AppLauncherTriggerStyle, type AppLauncherUsageMode, BINANCE_ICON, type BridgeAmountSource, type BridgeApprovalInfo, type BridgeApproveFn, type BridgeFailedInfo, BridgeFlow, type BridgeFlowProps, type BridgeGetApprovalFn, type BridgeGetToTokensFn, type BridgeHistoryItem, type BridgeInfoRow, type BridgeInfoTokenRef, type BridgeLiquidityInfo, type BridgePathType, type BridgeQuoteFn, type BridgeQuoteInput, type BridgeQuoteResult, type BridgeStatus, type BridgeStep, type BridgeSubmitFn, type BridgeSubmittedInfo, type BridgeToken, type BridgeTxSummary, CONNECTOR_REGISTRY, CROSSX_ICON, type ChainId, ConnectButton, type ConnectButtonProps, type ConnectButtonStyle, ConnectorId, type ConnectorMeta, DEFAULT_SKILLS_HREF, type DrawerDirection$1 as DrawerDirection, type Environment, type EstimateGasArgs, type EstimateGasFn, GOOGLE_ICON, type GameSwapPool, type GameSwapTokenRef, type GasEstimate, type GetTransactionReceiptArgs, type GetTransactionReceiptFn, type GlobalMenu, type GlobalMenuItem, type GlobalMenuItemUrl, type LpBalanceInfo, type LpBalanceReaderFn, METAMASK_ICON, type OnOutlink, type OutlinkCategory, type OutlinkContext, type OutlinkOrigin, type PreferredToken, type RecentSendAddress, SOCIAL_REGISTRY, type SendAccount, type SendAsset, SendFlow, type SendFlowProps, type SendPageProps, type SendStatus, type SendTransactionArgs, type SendTransactionFn, SkillsButton, type SkillsButtonProps, type SkillsButtonStyle, type SocialConfig, type SocialHandlers, type SocialId, TOKEN_STATS_QUERY_KEY, type Theme, type TokenBalance, type TokenBalanceResponse, type TokenStats, type TokenStatsResponse, type TransactionReceiptResult, USER_BALANCE_QUERY_KEY, WALLET_REGISTRY, type WalletConfig, WalletConnectModal, type WalletConnectModalContentProps, type WalletConnectModalProps, type WalletConnectModalStyle, type WalletConnectModalTriggerProps, type WalletHandlers, type WalletId, WalletInfo, type WalletInfoContentProps, type WalletInfoFooterProps, type WalletInfoNavProps, type WalletInfoProps, type WalletInfoStyle, type WalletInfoTriggerProps, WalletPortfolio, WalletPortfolioBody, type WalletPortfolioBodyProps, type WalletPortfolioContentProps, type WalletPortfolioProps, type WalletPortfolioTriggerProps, type WalletProvider, announceAppLauncherUsage, resolveEnvironment, useGlobalMenu, useTokenBalance, useTokenStats, useWalletDetect };
1486
+ export { APPLE_ICON, AppLauncher, AppLauncherContent, type AppLauncherContentProps, type AppLauncherProps, AppLauncherTrigger, type AppLauncherTriggerProps, type AppLauncherTriggerStyle, type AppLauncherUsageMode, BINANCE_ICON, type BridgeAmountSource, type BridgeApprovalInfo, type BridgeApproveFn, type BridgeFailedInfo, BridgeFlow, type BridgeFlowProps, type BridgeGetApprovalFn, type BridgeGetToTokensFn, type BridgeHistoryItem, type BridgeInfoRow, type BridgeInfoTokenRef, type BridgeLiquidityInfo, type BridgePathType, type BridgeQuoteFn, type BridgeQuoteInput, type BridgeQuoteResult, type BridgeStatus, type BridgeStep, type BridgeSubmitFn, type BridgeSubmittedInfo, type BridgeToken, type BridgeTxSummary, CONNECTOR_REGISTRY, CROSSX_ICON, type ChainId, ConnectButton, type ConnectButtonProps, type ConnectButtonStyle, ConnectorId, type ConnectorMeta, DEFAULT_SKILLS_HREF, type DrawerDirection$1 as DrawerDirection, type Environment, type EstimateGasArgs, type EstimateGasFn, GOOGLE_ICON, type GameSwapPool, type GameSwapTokenRef, type GasEstimate, type GetTransactionReceiptArgs, type GetTransactionReceiptFn, type GlobalMenu, type GlobalMenuItem, type GlobalMenuItemUrl, type LpBalanceInfo, type LpBalanceReaderFn, METAMASK_ICON, type OnOutlink, type OutlinkCategory, type OutlinkContext, type OutlinkOrigin, type PreferredToken, type RecentSendAddress, SOCIAL_REGISTRY, type SendAccount, type SendAsset, SendFlow, type SendFlowProps, type SendPageProps, type SendStatus, type SendTransactionArgs, type SendTransactionFn, SkillsButton, type SkillsButtonProps, type SkillsButtonStyle, type SocialConfig, type SocialHandlers, type SocialId, type StakingRewardsInfo, type StakingRewardsReaderFn, TOKEN_STATS_QUERY_KEY, type Theme, type TokenBalance, type TokenBalanceResponse, type TokenStats, type TokenStatsResponse, type TransactionReceiptResult, USER_BALANCE_QUERY_KEY, WALLET_REGISTRY, type WalletConfig, WalletConnectModal, type WalletConnectModalContentProps, type WalletConnectModalProps, type WalletConnectModalStyle, type WalletConnectModalTriggerProps, type WalletHandlers, type WalletId, WalletInfo, type WalletInfoContentProps, type WalletInfoFooterProps, type WalletInfoNavProps, type WalletInfoProps, type WalletInfoStyle, type WalletInfoTriggerProps, WalletPortfolio, WalletPortfolioBody, type WalletPortfolioBodyProps, type WalletPortfolioContentProps, type WalletPortfolioProps, type WalletPortfolioTriggerProps, type WalletProvider, announceAppLauncherUsage, resolveEnvironment, useGlobalMenu, useTokenBalance, useTokenStats, useWalletDetect };
package/dist/index.d.ts CHANGED
@@ -306,6 +306,30 @@ interface StakeInfo {
306
306
  /** 최초 스테이킹 이후 경과 일수. 스테이킹 이력이 없으면 null. */
307
307
  days_since_first_stake: number | null;
308
308
  }
309
+ /**
310
+ * 주입형 staking 리워드 reader가 반환하는 온체인 값.
311
+ * 금액은 모두 raw(wei) BigInt로 다루고, 표기 시에만 decimals(18)로 환산한다.
312
+ */
313
+ interface StakingRewardsInfo {
314
+ /**
315
+ * 온체인 누적 미청구 리워드 `earned(account)` (raw, wei).
316
+ * posa 비활성 상태에서는 lastRewardBlock 이후 블록 기반 projection을 더한
317
+ * 추정치(= posa 포트폴리오 "Accrued Rewards"와 동일 값)를 반환한다.
318
+ */
319
+ earnedWei: bigint;
320
+ /** 온체인 스테이킹 원금 `balanceOf(account)` (raw, wei). 개인 APR 분모. */
321
+ stakedWei: bigint;
322
+ }
323
+ /**
324
+ * 주입형 staking 리워드 reader. host(wagmi 보유 측)가 연결 계정 기준으로
325
+ * POSA delegation pool 컨트랙트의 `earned()` / `balanceOf()`를 읽어 반환한다.
326
+ * dapp-ui는 viem/wagmi를 직접 쓰지 못하므로, posa 포트폴리오의 온체인
327
+ * "Accrued Rewards"와 동일한 수치를 표기하려면 이 reader가 주입돼야 한다.
328
+ * 미주입 시 StakeSection은 API `cumulative_earned`로 폴백한다.
329
+ *
330
+ * dapp-ui는 이 함수 시그니처에만 의존한다.
331
+ */
332
+ type StakingRewardsReaderFn = (account: string) => Promise<StakingRewardsInfo>;
309
333
  /** 네트워크 통계 중 포트폴리오에서 사용하는 필드 (`GET /network/stats`). */
310
334
  interface NetworkStats {
311
335
  /** 네트워크 APR (백분율 문자열, 예: "12.5") */
@@ -524,13 +548,13 @@ interface BridgeInfoRow {
524
548
  }
525
549
  interface BridgeLiquidityInfo {
526
550
  label?: string;
527
- value: string;
528
551
  status?: "low" | "normal" | "rebalancing";
529
552
  percentage?: number;
530
553
  }
531
554
  interface BridgeTxSummary {
532
555
  pathType?: BridgePathType;
533
556
  exchangeRate?: string;
557
+ priceImpact?: string;
534
558
  liquidity?: BridgeLiquidityInfo;
535
559
  bridgeInfo?: BridgeInfoRow[];
536
560
  swapInfo?: BridgeInfoRow[];
@@ -670,14 +694,29 @@ interface WalletInfoProps {
670
694
  preferredTokens?: PreferredToken[];
671
695
  onSelectWallet?: () => void;
672
696
  onCopyAddress?: (address: string, success: boolean) => void;
673
- /** WalletInfo 기본 액션 row의 Buy 클릭 핸들러. */
674
- onBuy?: () => void;
697
+ /**
698
+ * WalletInfo 기본 액션 row의 Buy 클릭 핸들러. Promise를 반환하면 reject 시
699
+ * Buy 카드가 `onBuyDisabledMessage`와 동일한 토스트로 실패를 안내한다.
700
+ */
701
+ onBuy?: () => void | Promise<void>;
675
702
  /**
676
703
  * Buy 카드를 시각적으로 비활성 상태로 표시하고, 사용자가 클릭하면 이
677
704
  * 메시지를 토스트로 띄운다. `onBuy`보다 우선. 예: on-ramp가 사용자 국가에서
678
705
  * 차단된 경우 안내 메시지 전달용.
679
706
  */
680
707
  onBuyDisabledMessage?: string;
708
+ /**
709
+ * Bridge 카드를 시각적으로 비활성 상태로 표시하고, 클릭하면 이 메시지를
710
+ * 토스트로 띄운다. 예: 연결된 지갑이 CROSSx 계열이 아니라 브릿지를
711
+ * 지원하지 않는 경우.
712
+ */
713
+ onBridgeDisabledMessage?: string;
714
+ /**
715
+ * Send 카드(및 토큰 행 탭으로 진입하는 전송 플로우)를 시각적으로 비활성
716
+ * 상태로 표시하고, 클릭하면 이 메시지를 토스트로 띄운다. 예: 연결된 지갑이
717
+ * CROSSx 계열이 아닌 경우.
718
+ */
719
+ onSendDisabledMessage?: string;
681
720
  /**
682
721
  * 지정 시 기본 Disconnect 버튼이 Footer에 노출됨. `WalletInfo.Footer` 슬롯이
683
722
  * 있으면 해당 슬롯이 메인 영역을 대체한다. Terms/Privacy 링크는 둘 중 무엇을
@@ -742,6 +781,12 @@ interface WalletInfoProps {
742
781
  * 미주입 시 LP 섹션은 풀 정보만 표시한다.
743
782
  */
744
783
  lpBalanceReader?: LpBalanceReaderFn;
784
+ /**
785
+ * CROSS Staking 섹션의 온체인 `earned()` / `balanceOf()`를 보강하기 위한
786
+ * 주입형 reader. `showPortfolio=true`일 때 `WalletPortfolioBody`로 릴레이된다.
787
+ * 미주입 시 Staking 섹션은 API `cumulative_earned`로 폴백한다.
788
+ */
789
+ stakingRewardsReader?: StakingRewardsReaderFn;
745
790
  bridgeTokens?: BridgeToken[];
746
791
  bridgeHistory?: BridgeHistoryItem[];
747
792
  getBridgeQuote?: BridgeQuoteFn;
@@ -759,7 +804,7 @@ interface WalletInfoProps {
759
804
  style?: WalletInfoStyle;
760
805
  children: React.ReactNode;
761
806
  }
762
- declare function WalletInfoRoot({ env, theme, mobileBreakpoint, drawerDirection, modal, showBalance, showForgeToken, showGameToken, showQR, showBridge, qrLogoSrc, walletAddress, accountName, sendAccounts, profileImageUrl, connectorId, connectorName: connectorNameProp, connectorIconUrl: connectorIconUrlProp, preferredTokens, onSelectWallet, onCopyAddress, onBuy, onBuyDisabledMessage, onDisconnect, disconnectLabel, termsUrl, termsLabel, privacyUrl, privacyLabel, open: propOpen, onOpenChange, showPortfolio, portfolioTitle, showTotalAssets, totalAssetsLabel, sendTransaction, getTransactionReceipt, estimateGas, onOutlink, lpBalanceReader, bridgeTokens, bridgeHistory, getBridgeQuote, getBridgeToTokens, getBridgeApproval, approveBridge, submitBridge, onReceive, onBridge, onSend, style, children, }: WalletInfoProps): react_jsx_runtime.JSX.Element;
807
+ declare function WalletInfoRoot({ env, theme, mobileBreakpoint, drawerDirection, modal, showBalance, showForgeToken, showGameToken, showQR, showBridge, qrLogoSrc, walletAddress, accountName, sendAccounts, profileImageUrl, connectorId, connectorName: connectorNameProp, connectorIconUrl: connectorIconUrlProp, preferredTokens, onSelectWallet, onCopyAddress, onBuy, onBuyDisabledMessage, onBridgeDisabledMessage, onSendDisabledMessage, onDisconnect, disconnectLabel, termsUrl, termsLabel, privacyUrl, privacyLabel, open: propOpen, onOpenChange, showPortfolio, portfolioTitle, showTotalAssets, totalAssetsLabel, sendTransaction, getTransactionReceipt, estimateGas, onOutlink, lpBalanceReader, stakingRewardsReader, bridgeTokens, bridgeHistory, getBridgeQuote, getBridgeToTokens, getBridgeApproval, approveBridge, submitBridge, onReceive, onBridge, onSend, style, children, }: WalletInfoProps): react_jsx_runtime.JSX.Element;
763
808
  declare const WalletInfo: typeof WalletInfoRoot & {
764
809
  Trigger: typeof WalletInfoTrigger;
765
810
  Content: typeof WalletInfoContent;
@@ -966,9 +1011,14 @@ interface WalletPortfolioProps {
966
1011
  * host(wagmi 보유 측)로부터 주입받는 reader. 미주입 시 풀 정보만 표시한다.
967
1012
  */
968
1013
  lpBalanceReader?: LpBalanceReaderFn;
1014
+ /**
1015
+ * CROSS Staking 섹션이 온체인 `earned()` / `balanceOf()`를 보강하기 위해
1016
+ * host(wagmi 보유 측)로부터 주입받는 reader. 미주입 시 API 값으로 폴백한다.
1017
+ */
1018
+ stakingRewardsReader?: StakingRewardsReaderFn;
969
1019
  children: React.ReactNode;
970
1020
  }
971
- declare function WalletPortfolioRoot({ env, theme, walletAddress, open: propOpen, onOpenChange, onOutlink, lpBalanceReader, children, }: WalletPortfolioProps): react_jsx_runtime.JSX.Element;
1021
+ declare function WalletPortfolioRoot({ env, theme, walletAddress, open: propOpen, onOpenChange, onOutlink, lpBalanceReader, stakingRewardsReader, children, }: WalletPortfolioProps): react_jsx_runtime.JSX.Element;
972
1022
  declare const WalletPortfolio: typeof WalletPortfolioRoot & {
973
1023
  Trigger: typeof WalletPortfolioTrigger;
974
1024
  Content: typeof WalletPortfolioContent;
@@ -978,7 +1028,10 @@ interface WalletPortfolioBodyProps {
978
1028
  env?: Environment;
979
1029
  theme?: Theme;
980
1030
  walletAddress: string;
981
- /** @deprecated Portfolio header now follows the renewed fixed title design. */
1031
+ /**
1032
+ * 헤더 좌측 아바타 옆에 표시할 지갑 이름 (예: "Account 1").
1033
+ * 전달되지 않으면 텍스트는 숨겨지고 아바타만 표시된다.
1034
+ */
982
1035
  walletName?: string;
983
1036
  /** 왼쪽 상단 back 버튼 클릭 핸들러. 없으면 back 버튼 숨김. */
984
1037
  onBack?: () => void;
@@ -1002,8 +1055,13 @@ interface WalletPortfolioBodyProps {
1002
1055
  * host(wagmi 보유 측)로부터 주입받는 reader. 미주입 시 풀 정보만 표시한다.
1003
1056
  */
1004
1057
  lpBalanceReader?: LpBalanceReaderFn;
1058
+ /**
1059
+ * CROSS Staking 섹션이 온체인 `earned()` / `balanceOf()`를 보강하기 위해
1060
+ * host(wagmi 보유 측)로부터 주입받는 reader. 미주입 시 API 값으로 폴백한다.
1061
+ */
1062
+ stakingRewardsReader?: StakingRewardsReaderFn;
1005
1063
  }
1006
- declare function WalletPortfolioBody({ env, theme, walletAddress, onBack, showHeader, variant, className, onOutlink, lpBalanceReader, }: WalletPortfolioBodyProps): react_jsx_runtime.JSX.Element;
1064
+ declare function WalletPortfolioBody({ env, theme, walletAddress, walletName, onBack, showHeader, variant, className, onOutlink, lpBalanceReader, stakingRewardsReader, }: WalletPortfolioBodyProps): react_jsx_runtime.JSX.Element;
1007
1065
 
1008
1066
  declare function CROSSxIcon(): react_jsx_runtime.JSX.Element;
1009
1067
  declare function MetaMaskIcon(): react_jsx_runtime.JSX.Element;
@@ -1258,8 +1316,11 @@ interface ConnectButtonProps {
1258
1316
  onCopy?: () => void;
1259
1317
  /** 지갑 변경 chevron 클릭 핸들러. 지정하지 않으면 chevron이 숨김 처리된다. */
1260
1318
  onSelectWallet?: () => void;
1261
- /** WalletInfo 기본 액션 row의 Buy 클릭 핸들러. */
1262
- onBuy?: () => void;
1319
+ /**
1320
+ * WalletInfo 기본 액션 row의 Buy 클릭 핸들러. Promise를 반환하면 reject 시
1321
+ * Buy 카드가 `onBuyDisabledMessage`와 동일한 토스트로 실패를 안내한다.
1322
+ */
1323
+ onBuy?: () => void | Promise<void>;
1263
1324
  /**
1264
1325
  * Buy 카드를 시각적으로 비활성 상태로 표시하고, 사용자가 클릭하면 이 메시지를
1265
1326
  * 토스트로 띄운다. `onBuy`보다 우선. WalletInfoProps의 동일 prop으로 그대로
@@ -1419,7 +1480,7 @@ interface SkillsButtonProps {
1419
1480
  type?: "button" | "submit" | "reset";
1420
1481
  }
1421
1482
 
1422
- declare const DEFAULT_SKILLS_HREF = "https://skills.cross.nexus";
1483
+ declare const DEFAULT_SKILLS_HREF = "https://www.onechain.nexus/skills";
1423
1484
  declare function SkillsButton({ label, href, onClick, className, style, theme, disabled, isLoading, loadingLabel, openInNewTab, type, }: SkillsButtonProps): react_jsx_runtime.JSX.Element;
1424
1485
 
1425
- export { APPLE_ICON, AppLauncher, AppLauncherContent, type AppLauncherContentProps, type AppLauncherProps, AppLauncherTrigger, type AppLauncherTriggerProps, type AppLauncherTriggerStyle, type AppLauncherUsageMode, BINANCE_ICON, type BridgeAmountSource, type BridgeApprovalInfo, type BridgeApproveFn, type BridgeFailedInfo, BridgeFlow, type BridgeFlowProps, type BridgeGetApprovalFn, type BridgeGetToTokensFn, type BridgeHistoryItem, type BridgeInfoRow, type BridgeInfoTokenRef, type BridgeLiquidityInfo, type BridgePathType, type BridgeQuoteFn, type BridgeQuoteInput, type BridgeQuoteResult, type BridgeStatus, type BridgeStep, type BridgeSubmitFn, type BridgeSubmittedInfo, type BridgeToken, type BridgeTxSummary, CONNECTOR_REGISTRY, CROSSX_ICON, type ChainId, ConnectButton, type ConnectButtonProps, type ConnectButtonStyle, ConnectorId, type ConnectorMeta, DEFAULT_SKILLS_HREF, type DrawerDirection$1 as DrawerDirection, type Environment, type EstimateGasArgs, type EstimateGasFn, GOOGLE_ICON, type GameSwapPool, type GameSwapTokenRef, type GasEstimate, type GetTransactionReceiptArgs, type GetTransactionReceiptFn, type GlobalMenu, type GlobalMenuItem, type GlobalMenuItemUrl, type LpBalanceInfo, type LpBalanceReaderFn, METAMASK_ICON, type OnOutlink, type OutlinkCategory, type OutlinkContext, type OutlinkOrigin, type PreferredToken, type RecentSendAddress, SOCIAL_REGISTRY, type SendAccount, type SendAsset, SendFlow, type SendFlowProps, type SendPageProps, type SendStatus, type SendTransactionArgs, type SendTransactionFn, SkillsButton, type SkillsButtonProps, type SkillsButtonStyle, type SocialConfig, type SocialHandlers, type SocialId, TOKEN_STATS_QUERY_KEY, type Theme, type TokenBalance, type TokenBalanceResponse, type TokenStats, type TokenStatsResponse, type TransactionReceiptResult, USER_BALANCE_QUERY_KEY, WALLET_REGISTRY, type WalletConfig, WalletConnectModal, type WalletConnectModalContentProps, type WalletConnectModalProps, type WalletConnectModalStyle, type WalletConnectModalTriggerProps, type WalletHandlers, type WalletId, WalletInfo, type WalletInfoContentProps, type WalletInfoFooterProps, type WalletInfoNavProps, type WalletInfoProps, type WalletInfoStyle, type WalletInfoTriggerProps, WalletPortfolio, WalletPortfolioBody, type WalletPortfolioBodyProps, type WalletPortfolioContentProps, type WalletPortfolioProps, type WalletPortfolioTriggerProps, type WalletProvider, announceAppLauncherUsage, resolveEnvironment, useGlobalMenu, useTokenBalance, useTokenStats, useWalletDetect };
1486
+ export { APPLE_ICON, AppLauncher, AppLauncherContent, type AppLauncherContentProps, type AppLauncherProps, AppLauncherTrigger, type AppLauncherTriggerProps, type AppLauncherTriggerStyle, type AppLauncherUsageMode, BINANCE_ICON, type BridgeAmountSource, type BridgeApprovalInfo, type BridgeApproveFn, type BridgeFailedInfo, BridgeFlow, type BridgeFlowProps, type BridgeGetApprovalFn, type BridgeGetToTokensFn, type BridgeHistoryItem, type BridgeInfoRow, type BridgeInfoTokenRef, type BridgeLiquidityInfo, type BridgePathType, type BridgeQuoteFn, type BridgeQuoteInput, type BridgeQuoteResult, type BridgeStatus, type BridgeStep, type BridgeSubmitFn, type BridgeSubmittedInfo, type BridgeToken, type BridgeTxSummary, CONNECTOR_REGISTRY, CROSSX_ICON, type ChainId, ConnectButton, type ConnectButtonProps, type ConnectButtonStyle, ConnectorId, type ConnectorMeta, DEFAULT_SKILLS_HREF, type DrawerDirection$1 as DrawerDirection, type Environment, type EstimateGasArgs, type EstimateGasFn, GOOGLE_ICON, type GameSwapPool, type GameSwapTokenRef, type GasEstimate, type GetTransactionReceiptArgs, type GetTransactionReceiptFn, type GlobalMenu, type GlobalMenuItem, type GlobalMenuItemUrl, type LpBalanceInfo, type LpBalanceReaderFn, METAMASK_ICON, type OnOutlink, type OutlinkCategory, type OutlinkContext, type OutlinkOrigin, type PreferredToken, type RecentSendAddress, SOCIAL_REGISTRY, type SendAccount, type SendAsset, SendFlow, type SendFlowProps, type SendPageProps, type SendStatus, type SendTransactionArgs, type SendTransactionFn, SkillsButton, type SkillsButtonProps, type SkillsButtonStyle, type SocialConfig, type SocialHandlers, type SocialId, type StakingRewardsInfo, type StakingRewardsReaderFn, TOKEN_STATS_QUERY_KEY, type Theme, type TokenBalance, type TokenBalanceResponse, type TokenStats, type TokenStatsResponse, type TransactionReceiptResult, USER_BALANCE_QUERY_KEY, WALLET_REGISTRY, type WalletConfig, WalletConnectModal, type WalletConnectModalContentProps, type WalletConnectModalProps, type WalletConnectModalStyle, type WalletConnectModalTriggerProps, type WalletHandlers, type WalletId, WalletInfo, type WalletInfoContentProps, type WalletInfoFooterProps, type WalletInfoNavProps, type WalletInfoProps, type WalletInfoStyle, type WalletInfoTriggerProps, WalletPortfolio, WalletPortfolioBody, type WalletPortfolioBodyProps, type WalletPortfolioContentProps, type WalletPortfolioProps, type WalletPortfolioTriggerProps, type WalletProvider, announceAppLauncherUsage, resolveEnvironment, useGlobalMenu, useTokenBalance, useTokenStats, useWalletDetect };