@ton/appkit-react 1.0.0-alpha.0 → 1.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/README.md +7 -6
  2. package/dist/esm/components/shared/amount-preview/amount-preview.js +17 -0
  3. package/dist/esm/components/shared/amount-preview/amount-preview.js.map +1 -0
  4. package/dist/esm/components/shared/amount-preview/amount-preview.module.css +40 -0
  5. package/dist/esm/{features/balances/components/balance-badge → components/shared/amount-preview}/index.js +1 -1
  6. package/dist/esm/components/shared/amount-preview/index.js.map +1 -0
  7. package/dist/esm/components/shared/flow-preview/flow-preview.js +24 -0
  8. package/dist/esm/components/shared/flow-preview/flow-preview.js.map +1 -0
  9. package/dist/esm/components/shared/flow-preview/flow-preview.module.css +37 -0
  10. package/dist/esm/components/shared/flow-preview/index.js +9 -0
  11. package/dist/esm/components/shared/flow-preview/index.js.map +1 -0
  12. package/dist/esm/components/shared/settings-button/settings-button.js +1 -1
  13. package/dist/esm/components/shared/settings-button/settings-button.js.map +1 -1
  14. package/dist/esm/components/ui/button/button.module.css +1 -1
  15. package/dist/esm/components/ui/logo/logo.module.css +1 -3
  16. package/dist/esm/components/ui/modal/modal.module.css +1 -1
  17. package/dist/esm/components/ui/tabs/tabs.module.css +1 -1
  18. package/dist/esm/features/balances/components/send-jetton-button/send-jetton-button.js +3 -3
  19. package/dist/esm/features/balances/components/send-jetton-button/send-jetton-button.js.map +1 -1
  20. package/dist/esm/features/balances/index.js +0 -1
  21. package/dist/esm/features/balances/index.js.map +1 -1
  22. package/dist/esm/features/staking/components/select-unstake-mode/select-unstake-mode.js +2 -1
  23. package/dist/esm/features/staking/components/select-unstake-mode/select-unstake-mode.js.map +1 -1
  24. package/dist/esm/features/staking/components/select-unstake-mode/select-unstake-mode.module.css +2 -6
  25. package/dist/esm/features/staking/components/staking-confirm-modal/index.js +9 -0
  26. package/dist/esm/features/staking/components/staking-confirm-modal/index.js.map +1 -0
  27. package/dist/esm/features/staking/components/staking-confirm-modal/staking-confirm-modal.js +46 -0
  28. package/dist/esm/features/staking/components/staking-confirm-modal/staking-confirm-modal.js.map +1 -0
  29. package/dist/esm/features/staking/components/staking-confirm-modal/staking-confirm-modal.module.css +11 -0
  30. package/dist/esm/features/staking/components/staking-widget-provider/staking-widget-provider.js +27 -4
  31. package/dist/esm/features/staking/components/staking-widget-provider/staking-widget-provider.js.map +1 -1
  32. package/dist/esm/features/staking/components/staking-widget-provider/use-staking-validation.js +12 -3
  33. package/dist/esm/features/staking/components/staking-widget-provider/use-staking-validation.js.map +1 -1
  34. package/dist/esm/features/staking/components/staking-widget-ui/staking-widget-ui.js +16 -4
  35. package/dist/esm/features/staking/components/staking-widget-ui/staking-widget-ui.js.map +1 -1
  36. package/dist/esm/features/staking/components/staking-widget-ui/staking-widget-ui.module.css +4 -0
  37. package/dist/esm/features/staking/hooks/use-build-stake-transaction.js +2 -2
  38. package/dist/esm/features/staking/hooks/use-build-stake-transaction.js.map +1 -1
  39. package/dist/esm/features/staking/utils/map-staking-error.js +6 -4
  40. package/dist/esm/features/staking/utils/map-staking-error.js.map +1 -1
  41. package/dist/esm/features/swap/components/swap-confirm-modal/index.js +9 -0
  42. package/dist/esm/features/swap/components/swap-confirm-modal/index.js.map +1 -0
  43. package/dist/esm/features/swap/components/swap-confirm-modal/swap-confirm-modal.js +12 -0
  44. package/dist/esm/features/swap/components/swap-confirm-modal/swap-confirm-modal.js.map +1 -0
  45. package/dist/esm/features/swap/components/swap-confirm-modal/swap-confirm-modal.module.css +7 -0
  46. package/dist/esm/features/swap/components/swap-widget-provider/swap-widget-provider.js +28 -6
  47. package/dist/esm/features/swap/components/swap-widget-provider/swap-widget-provider.js.map +1 -1
  48. package/dist/esm/features/swap/components/swap-widget-provider/use-swap-validation.js +12 -3
  49. package/dist/esm/features/swap/components/swap-widget-provider/use-swap-validation.js.map +1 -1
  50. package/dist/esm/features/swap/components/swap-widget-ui/swap-widget-ui.js +16 -4
  51. package/dist/esm/features/swap/components/swap-widget-ui/swap-widget-ui.js.map +1 -1
  52. package/dist/esm/features/swap/utils/map-swap-error.js +10 -8
  53. package/dist/esm/features/swap/utils/map-swap-error.js.map +1 -1
  54. package/dist/esm/locales/en.js +9 -0
  55. package/dist/esm/locales/en.js.map +1 -1
  56. package/dist/esm/styles/index.css +3 -3
  57. package/dist/esm/utils/map-defi-error.js +7 -7
  58. package/dist/esm/utils/map-defi-error.js.map +1 -1
  59. package/dist/types/components/shared/amount-preview/amount-preview.d.ts +24 -0
  60. package/dist/types/components/shared/amount-preview/amount-preview.d.ts.map +1 -0
  61. package/dist/types/{features/balances/components/balance-badge → components/shared/amount-preview}/index.d.ts +1 -1
  62. package/dist/types/components/shared/amount-preview/index.d.ts.map +1 -0
  63. package/dist/types/components/shared/flow-preview/flow-preview.d.ts +18 -0
  64. package/dist/types/components/shared/flow-preview/flow-preview.d.ts.map +1 -0
  65. package/dist/types/components/shared/flow-preview/index.d.ts +9 -0
  66. package/dist/types/components/shared/flow-preview/index.d.ts.map +1 -0
  67. package/dist/types/features/balances/index.d.ts +0 -1
  68. package/dist/types/features/balances/index.d.ts.map +1 -1
  69. package/dist/types/features/staking/components/select-unstake-mode/select-unstake-mode.d.ts.map +1 -1
  70. package/dist/types/features/staking/components/staking-confirm-modal/index.d.ts +9 -0
  71. package/dist/types/features/staking/components/staking-confirm-modal/index.d.ts.map +1 -0
  72. package/dist/types/features/staking/components/staking-confirm-modal/staking-confirm-modal.d.ts +23 -0
  73. package/dist/types/features/staking/components/staking-confirm-modal/staking-confirm-modal.d.ts.map +1 -0
  74. package/dist/types/features/staking/components/staking-widget-provider/staking-widget-provider.d.ts.map +1 -1
  75. package/dist/types/features/staking/components/staking-widget-provider/use-staking-validation.d.ts +3 -1
  76. package/dist/types/features/staking/components/staking-widget-provider/use-staking-validation.d.ts.map +1 -1
  77. package/dist/types/features/staking/components/staking-widget-ui/staking-widget-ui.d.ts.map +1 -1
  78. package/dist/types/features/staking/hooks/use-build-stake-transaction.d.ts +3 -2
  79. package/dist/types/features/staking/hooks/use-build-stake-transaction.d.ts.map +1 -1
  80. package/dist/types/features/staking/utils/map-staking-error.d.ts +5 -3
  81. package/dist/types/features/staking/utils/map-staking-error.d.ts.map +1 -1
  82. package/dist/types/features/swap/components/swap-confirm-modal/index.d.ts +9 -0
  83. package/dist/types/features/swap/components/swap-confirm-modal/index.d.ts.map +1 -0
  84. package/dist/types/features/swap/components/swap-confirm-modal/swap-confirm-modal.d.ts +26 -0
  85. package/dist/types/features/swap/components/swap-confirm-modal/swap-confirm-modal.d.ts.map +1 -0
  86. package/dist/types/features/swap/components/swap-widget-provider/swap-widget-provider.d.ts.map +1 -1
  87. package/dist/types/features/swap/components/swap-widget-provider/use-swap-validation.d.ts +4 -1
  88. package/dist/types/features/swap/components/swap-widget-provider/use-swap-validation.d.ts.map +1 -1
  89. package/dist/types/features/swap/components/swap-widget-ui/swap-widget-ui.d.ts.map +1 -1
  90. package/dist/types/features/swap/utils/map-swap-error.d.ts +4 -2
  91. package/dist/types/features/swap/utils/map-swap-error.d.ts.map +1 -1
  92. package/dist/types/libs/i18n.d.ts +9 -0
  93. package/dist/types/libs/i18n.d.ts.map +1 -1
  94. package/dist/types/locales/en.d.ts +9 -0
  95. package/dist/types/locales/en.d.ts.map +1 -1
  96. package/package.json +12 -12
  97. package/src/components/shared/amount-preview/amount-preview.tsx +74 -0
  98. package/src/{features/balances/components/balance-badge → components/shared/amount-preview}/index.ts +1 -1
  99. package/src/components/shared/flow-preview/flow-preview.tsx +64 -0
  100. package/src/components/shared/flow-preview/index.ts +9 -0
  101. package/src/components/shared/settings-button/settings-button.tsx +1 -1
  102. package/src/features/balances/components/send-jetton-button/send-jetton-button.tsx +3 -3
  103. package/src/features/balances/index.ts +0 -1
  104. package/src/features/staking/components/select-unstake-mode/select-unstake-mode.tsx +12 -4
  105. package/src/features/staking/components/staking-confirm-modal/index.ts +9 -0
  106. package/src/features/staking/components/staking-confirm-modal/staking-confirm-modal.tsx +121 -0
  107. package/src/features/staking/components/staking-widget-provider/staking-widget-provider.tsx +39 -4
  108. package/src/features/staking/components/staking-widget-provider/use-staking-validation.ts +14 -2
  109. package/src/features/staking/components/staking-widget-ui/staking-widget-ui.tsx +39 -13
  110. package/src/features/staking/hooks/use-build-stake-transaction.ts +7 -2
  111. package/src/features/staking/utils/map-staking-error.ts +6 -4
  112. package/src/features/swap/components/swap-confirm-modal/index.ts +9 -0
  113. package/src/features/swap/components/swap-confirm-modal/swap-confirm-modal.tsx +75 -0
  114. package/src/features/swap/components/swap-widget-provider/swap-widget-provider.tsx +40 -6
  115. package/src/features/swap/components/swap-widget-provider/use-swap-validation.ts +17 -2
  116. package/src/features/swap/components/swap-widget-ui/swap-widget-ui.tsx +30 -3
  117. package/src/features/swap/utils/map-swap-error.ts +10 -8
  118. package/src/locales/en.ts +9 -0
  119. package/src/utils/map-defi-error.ts +7 -7
  120. package/dist/esm/features/balances/components/balance-badge/balance-badge.js +0 -33
  121. package/dist/esm/features/balances/components/balance-badge/balance-badge.js.map +0 -1
  122. package/dist/esm/features/balances/components/balance-badge/balance-badge.module.css +0 -21
  123. package/dist/esm/features/balances/components/balance-badge/index.js.map +0 -1
  124. package/dist/esm/tsconfig.build.tsbuildinfo +0 -1
  125. package/dist/types/features/balances/components/balance-badge/balance-badge.d.ts +0 -21
  126. package/dist/types/features/balances/components/balance-badge/balance-badge.d.ts.map +0 -1
  127. package/dist/types/features/balances/components/balance-badge/index.d.ts.map +0 -1
  128. package/src/features/balances/components/balance-badge/balance-badge.tsx +0 -47
@@ -6,12 +6,13 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  *
8
8
  */
9
- import { useMemo, useState } from 'react';
9
+ import { useCallback, useMemo, useState } from 'react';
10
10
  import clsx from 'clsx';
11
11
  import { CenteredAmountInput } from '../../../../components/ui/centered-amount-input';
12
12
  import { Tabs, TabsList, TabsTrigger, TabsContent } from '../../../../components/ui/tabs';
13
13
  import { useI18n } from '../../../settings/hooks/use-i18n';
14
14
  import { StakingBalanceBlock } from '../staking-balance-block';
15
+ import { StakingConfirmModal } from '../staking-confirm-modal';
15
16
  import { StakingInfo } from '../staking-info';
16
17
  import { SelectUnstakeMode } from '../select-unstake-mode';
17
18
  import { StakingSettingsModal } from '../staking-settings-modal';
@@ -23,14 +24,25 @@ import { SettingsButton } from '../../../../components/shared/settings-button';
23
24
  export const StakingWidgetUI = ({ amount, canSubmit, isQuoteLoading, error, providerInfo, providerMetadata, stakingProvider, stakingProviders, setStakingProviderId, network, isProviderInfoLoading, setAmount, direction, quote, sendTransaction, isSendingTransaction, unstakeMode, setUnstakeMode, stakedBalance, isStakedBalanceLoading, onChangeDirection, isReversed, toggleReversed, reversedAmount, onMaxClick, balance, isBalanceLoading, isLowBalanceWarningOpen, lowBalanceMode, lowBalanceRequiredTon, onLowBalanceChange, onLowBalanceCancel, className, ...props }) => {
24
25
  const { t } = useI18n();
25
26
  const [isSettingsOpen, setIsSettingsOpen] = useState(false);
27
+ const [isConfirmOpen, setIsConfirmOpen] = useState(false);
26
28
  const receiveToken = providerMetadata?.receiveToken;
27
29
  const stakeToken = providerMetadata?.stakeToken;
28
30
  const buttonText = useMemo(() => {
31
+ if (isSendingTransaction || isQuoteLoading)
32
+ return t('staking.loading');
29
33
  if (error)
30
34
  return t(error);
31
35
  return direction === 'stake' ? t('staking.continue') : t('staking.unstake');
32
- }, [error, direction, t]);
33
- const submitActions = (_jsxs("div", { className: styles.actions, children: [_jsx(ButtonWithConnect, { variant: "fill", size: "l", fullWidth: true, disabled: !canSubmit || isQuoteLoading || isSendingTransaction, onClick: sendTransaction, children: buttonText }), _jsx(SettingsButton, { onClick: () => setIsSettingsOpen(true) })] }));
34
- return (_jsxs("div", { className: clsx(styles.widget, className), ...props, children: [_jsxs(Tabs, { defaultValue: direction, onValueChange: (value) => onChangeDirection(value), children: [_jsxs(TabsList, { children: [_jsx(TabsTrigger, { value: "stake", children: t('staking.stake') }), _jsx(TabsTrigger, { value: "unstake", children: t('staking.unstake') })] }), _jsx(TabsContent, { className: styles.tab, value: "stake", children: _jsxs("div", { className: styles.content, children: [_jsxs("div", { className: styles.inputSection, children: [_jsx(CenteredAmountInput, { value: amount, onValueChange: setAmount, ticker: stakeToken?.ticker }), receiveToken && (_jsx(AmountReversed, { value: reversedAmount, ticker: receiveToken.ticker, decimals: receiveToken.decimals }))] }), _jsx(StakingBalanceBlock, { direction: "stake", providerMetadata: providerMetadata, stakedBalance: stakedBalance?.stakedBalance, isStakedBalanceLoading: isStakedBalanceLoading, balance: balance, isBalanceLoading: isBalanceLoading, onMaxClick: onMaxClick }), submitActions] }) }), _jsx(TabsContent, { className: styles.tab, value: "unstake", children: _jsxs("div", { className: styles.content, children: [_jsxs("div", { className: styles.inputSection, children: [_jsx(CenteredAmountInput, { value: amount, onValueChange: setAmount, ticker: !isReversed && receiveToken ? receiveToken.ticker : stakeToken?.ticker }), receiveToken && (_jsx(AmountReversed, { value: reversedAmount, ticker: isReversed ? receiveToken.ticker : (stakeToken?.ticker ?? ''), decimals: isReversed ? receiveToken.decimals : stakeToken?.decimals, onChangeDirection: providerMetadata?.supportsReversedQuote ? toggleReversed : undefined }))] }), _jsx(StakingBalanceBlock, { direction: "unstake", providerMetadata: providerMetadata, stakedBalance: stakedBalance?.stakedBalance, isStakedBalanceLoading: isStakedBalanceLoading, balance: balance, isBalanceLoading: isBalanceLoading, onMaxClick: onMaxClick }), submitActions, _jsx(SelectUnstakeMode, { value: unstakeMode, onValueChange: setUnstakeMode, providerInfo: providerInfo, providerMetadata: providerMetadata })] }) }), _jsx(StakingInfo, { quote: quote, isQuoteLoading: isQuoteLoading, providerInfo: providerInfo, providerMetadata: providerMetadata, isProviderInfoLoading: isProviderInfoLoading, direction: direction })] }), _jsx(LowBalanceModal, { open: isLowBalanceWarningOpen, mode: lowBalanceMode, requiredTon: lowBalanceRequiredTon, onChange: onLowBalanceChange, onCancel: onLowBalanceCancel }), _jsx(StakingSettingsModal, { open: isSettingsOpen, onClose: () => setIsSettingsOpen(false), provider: stakingProvider, providers: stakingProviders, onProviderChange: setStakingProviderId, network: network })] }));
36
+ }, [isSendingTransaction, isQuoteLoading, error, direction, t]);
37
+ // Close the modal immediately; the build/send result (including errors) is surfaced
38
+ // back in the widget's main button via the `error` from the provider.
39
+ const handleConfirm = useCallback(() => {
40
+ setIsConfirmOpen(false);
41
+ sendTransaction().catch(() => {
42
+ // Error is captured by the mutation and shown through the validator's `error` output.
43
+ });
44
+ }, [sendTransaction]);
45
+ const submitActions = (_jsxs("div", { className: styles.actions, children: [_jsx(ButtonWithConnect, { variant: "fill", size: "l", fullWidth: true, disabled: !canSubmit || isQuoteLoading || isSendingTransaction, onClick: () => setIsConfirmOpen(true), children: buttonText }), _jsx(SettingsButton, { onClick: () => setIsSettingsOpen(true) })] }));
46
+ return (_jsxs("div", { className: clsx(styles.widget, className), ...props, children: [_jsxs(Tabs, { defaultValue: direction, onValueChange: (value) => onChangeDirection(value), children: [_jsxs(TabsList, { children: [_jsx(TabsTrigger, { value: "stake", children: t('staking.stake') }), _jsx(TabsTrigger, { value: "unstake", children: t('staking.unstake') })] }), _jsx(TabsContent, { className: styles.tab, value: "stake", children: _jsxs("div", { className: styles.content, children: [_jsxs("div", { className: styles.inputSection, children: [_jsx(CenteredAmountInput, { value: amount, onValueChange: setAmount, ticker: stakeToken?.ticker }), receiveToken && (_jsx(AmountReversed, { value: reversedAmount, ticker: receiveToken.ticker, decimals: receiveToken.decimals }))] }), _jsx(StakingBalanceBlock, { direction: "stake", providerMetadata: providerMetadata, stakedBalance: stakedBalance?.stakedBalance, isStakedBalanceLoading: isStakedBalanceLoading, balance: balance, isBalanceLoading: isBalanceLoading, onMaxClick: onMaxClick }), submitActions] }) }), _jsx(TabsContent, { value: "unstake", children: _jsxs("div", { className: styles.content, children: [_jsxs("div", { className: styles.inputSection, children: [_jsx(CenteredAmountInput, { value: amount, onValueChange: setAmount, ticker: !isReversed && receiveToken ? receiveToken.ticker : stakeToken?.ticker }), receiveToken && (_jsx(AmountReversed, { value: reversedAmount, ticker: isReversed ? receiveToken.ticker : (stakeToken?.ticker ?? ''), decimals: isReversed ? receiveToken.decimals : stakeToken?.decimals, onChangeDirection: providerMetadata?.supportsReversedQuote ? toggleReversed : undefined }))] }), _jsx(StakingBalanceBlock, { direction: "unstake", providerMetadata: providerMetadata, stakedBalance: stakedBalance?.stakedBalance, isStakedBalanceLoading: isStakedBalanceLoading, balance: balance, isBalanceLoading: isBalanceLoading, onMaxClick: onMaxClick }), submitActions, _jsx(SelectUnstakeMode, { value: unstakeMode, onValueChange: setUnstakeMode, providerInfo: providerInfo, providerMetadata: providerMetadata })] }) })] }), _jsx(StakingInfo, { className: styles.info, quote: quote, isQuoteLoading: isQuoteLoading, providerInfo: providerInfo, providerMetadata: providerMetadata, isProviderInfoLoading: isProviderInfoLoading, direction: direction }), _jsx(LowBalanceModal, { open: isLowBalanceWarningOpen, mode: lowBalanceMode, requiredTon: lowBalanceRequiredTon, onChange: onLowBalanceChange, onCancel: onLowBalanceCancel }), _jsx(StakingSettingsModal, { open: isSettingsOpen, onClose: () => setIsSettingsOpen(false), provider: stakingProvider, providers: stakingProviders, onProviderChange: setStakingProviderId, network: network }), _jsx(StakingConfirmModal, { open: isConfirmOpen, onClose: () => setIsConfirmOpen(false), onConfirm: handleConfirm, direction: direction, network: network, quote: quote, providerInfo: providerInfo, providerMetadata: providerMetadata, isProviderInfoLoading: isProviderInfoLoading, isQuoteLoading: isQuoteLoading })] }));
35
47
  };
36
48
  //# sourceMappingURL=staking-widget-ui.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"staking-widget-ui.js","sourceRoot":"","sources":["../../../../../../src/features/staking/components/staking-widget-ui/staking-widget-ui.tsx"],"names":[],"mappings":";AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC1F,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,MAAM,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAI/E,MAAM,CAAC,MAAM,eAAe,GAAiC,CAAC,EAC1D,MAAM,EACN,SAAS,EACT,cAAc,EACd,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,OAAO,EACP,qBAAqB,EACrB,SAAS,EACT,SAAS,EACT,KAAK,EACL,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,cAAc,EACd,UAAU,EACV,OAAO,EACP,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,SAAS,EACT,GAAG,KAAK,EACX,EAAE,EAAE;IACD,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC;IAExB,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,MAAM,YAAY,GAAG,gBAAgB,EAAE,YAAY,CAAC;IACpD,MAAM,UAAU,GAAG,gBAAgB,EAAE,UAAU,CAAC;IAEhD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,IAAI,KAAK;YAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAChF,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IAE1B,MAAM,aAAa,GAAc,CAC7B,eAAK,SAAS,EAAE,MAAM,CAAC,OAAO,aAC1B,KAAC,iBAAiB,IACd,OAAO,EAAC,MAAM,EACd,IAAI,EAAC,GAAG,EACR,SAAS,QACT,QAAQ,EAAE,CAAC,SAAS,IAAI,cAAc,IAAI,oBAAoB,EAC9D,OAAO,EAAE,eAAe,YAEvB,UAAU,GACK,EACpB,KAAC,cAAc,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAI,IACxD,CACT,CAAC;IAEF,OAAO,CACH,eAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,KAAM,KAAK,aACrD,MAAC,IAAI,IAAC,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAA8B,CAAC,aACtG,MAAC,QAAQ,eACL,KAAC,WAAW,IAAC,KAAK,EAAC,OAAO,YAAE,CAAC,CAAC,eAAe,CAAC,GAAe,EAC7D,KAAC,WAAW,IAAC,KAAK,EAAC,SAAS,YAAE,CAAC,CAAC,iBAAiB,CAAC,GAAe,IAC1D,EAGX,KAAC,WAAW,IAAC,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAC,OAAO,YAC7C,eAAK,SAAS,EAAE,MAAM,CAAC,OAAO,aAC1B,eAAK,SAAS,EAAE,MAAM,CAAC,YAAY,aAC/B,KAAC,mBAAmB,IAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAI,EAC3F,YAAY,IAAI,CACb,KAAC,cAAc,IACX,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,YAAY,CAAC,MAAM,EAC3B,QAAQ,EAAE,YAAY,CAAC,QAAQ,GACjC,CACL,IACC,EAEN,KAAC,mBAAmB,IAChB,SAAS,EAAC,OAAO,EACjB,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAAE,aAAa,EAC3C,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,GACxB,EAED,aAAa,IACZ,GACI,EAGd,KAAC,WAAW,IAAC,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAC,SAAS,YAC/C,eAAK,SAAS,EAAE,MAAM,CAAC,OAAO,aAC1B,eAAK,SAAS,EAAE,MAAM,CAAC,YAAY,aAC/B,KAAC,mBAAmB,IAChB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,SAAS,EACxB,MAAM,EAAE,CAAC,UAAU,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,GAChF,EACD,YAAY,IAAI,CACb,KAAC,cAAc,IACX,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,IAAI,EAAE,CAAC,EACrE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,EACnE,iBAAiB,EACb,gBAAgB,EAAE,qBAAqB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,GAE1E,CACL,IACC,EAEN,KAAC,mBAAmB,IAChB,SAAS,EAAC,SAAS,EACnB,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAAE,aAAa,EAC3C,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,GACxB,EAED,aAAa,EAEd,KAAC,iBAAiB,IACd,KAAK,EAAE,WAAW,EAClB,aAAa,EAAE,cAAc,EAC7B,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,GACpC,IACA,GACI,EAEd,KAAC,WAAW,IACR,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB,EAC5C,SAAS,EAAE,SAAS,GACtB,IACC,EAEP,KAAC,eAAe,IACZ,IAAI,EAAE,uBAAuB,EAC7B,IAAI,EAAE,cAAc,EACpB,WAAW,EAAE,qBAAqB,EAClC,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,kBAAkB,GAC9B,EAEF,KAAC,oBAAoB,IACjB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EACvC,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,gBAAgB,EAC3B,gBAAgB,EAAE,oBAAoB,EACtC,OAAO,EAAE,OAAO,GAClB,IACA,CACT,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"staking-widget-ui.js","sourceRoot":"","sources":["../../../../../../src/features/staking/components/staking-widget-ui/staking-widget-ui.tsx"],"names":[],"mappings":";AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGvD,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC1F,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,MAAM,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAI/E,MAAM,CAAC,MAAM,eAAe,GAAiC,CAAC,EAC1D,MAAM,EACN,SAAS,EACT,cAAc,EACd,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,OAAO,EACP,qBAAqB,EACrB,SAAS,EACT,SAAS,EACT,KAAK,EACL,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,cAAc,EACd,UAAU,EACV,OAAO,EACP,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,SAAS,EACT,GAAG,KAAK,EACX,EAAE,EAAE;IACD,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC;IAExB,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE1D,MAAM,YAAY,GAAG,gBAAgB,EAAE,YAAY,CAAC;IACpD,MAAM,UAAU,GAAG,gBAAgB,EAAE,UAAU,CAAC;IAEhD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,IAAI,oBAAoB,IAAI,cAAc;YAAE,OAAO,CAAC,CAAC,iBAAiB,CAAC,CAAC;QACxE,IAAI,KAAK;YAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAChF,CAAC,EAAE,CAAC,oBAAoB,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IAEhE,oFAAoF;IACpF,sEAAsE;IACtE,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxB,eAAe,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;YACzB,sFAAsF;QAC1F,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,MAAM,aAAa,GAAc,CAC7B,eAAK,SAAS,EAAE,MAAM,CAAC,OAAO,aAC1B,KAAC,iBAAiB,IACd,OAAO,EAAC,MAAM,EACd,IAAI,EAAC,GAAG,EACR,SAAS,QACT,QAAQ,EAAE,CAAC,SAAS,IAAI,cAAc,IAAI,oBAAoB,EAC9D,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAEpC,UAAU,GACK,EACpB,KAAC,cAAc,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAI,IACxD,CACT,CAAC;IAEF,OAAO,CACH,eAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,KAAM,KAAK,aACrD,MAAC,IAAI,IAAC,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAA8B,CAAC,aACtG,MAAC,QAAQ,eACL,KAAC,WAAW,IAAC,KAAK,EAAC,OAAO,YAAE,CAAC,CAAC,eAAe,CAAC,GAAe,EAC7D,KAAC,WAAW,IAAC,KAAK,EAAC,SAAS,YAAE,CAAC,CAAC,iBAAiB,CAAC,GAAe,IAC1D,EAGX,KAAC,WAAW,IAAC,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAC,OAAO,YAC7C,eAAK,SAAS,EAAE,MAAM,CAAC,OAAO,aAC1B,eAAK,SAAS,EAAE,MAAM,CAAC,YAAY,aAC/B,KAAC,mBAAmB,IAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAI,EAC3F,YAAY,IAAI,CACb,KAAC,cAAc,IACX,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,YAAY,CAAC,MAAM,EAC3B,QAAQ,EAAE,YAAY,CAAC,QAAQ,GACjC,CACL,IACC,EAEN,KAAC,mBAAmB,IAChB,SAAS,EAAC,OAAO,EACjB,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAAE,aAAa,EAC3C,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,GACxB,EAED,aAAa,IACZ,GACI,EAGd,KAAC,WAAW,IAAC,KAAK,EAAC,SAAS,YACxB,eAAK,SAAS,EAAE,MAAM,CAAC,OAAO,aAC1B,eAAK,SAAS,EAAE,MAAM,CAAC,YAAY,aAC/B,KAAC,mBAAmB,IAChB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,SAAS,EACxB,MAAM,EAAE,CAAC,UAAU,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,GAChF,EACD,YAAY,IAAI,CACb,KAAC,cAAc,IACX,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,IAAI,EAAE,CAAC,EACrE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,EACnE,iBAAiB,EACb,gBAAgB,EAAE,qBAAqB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,GAE1E,CACL,IACC,EAEN,KAAC,mBAAmB,IAChB,SAAS,EAAC,SAAS,EACnB,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAAE,aAAa,EAC3C,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,GACxB,EAED,aAAa,EAEd,KAAC,iBAAiB,IACd,KAAK,EAAE,WAAW,EAClB,aAAa,EAAE,cAAc,EAC7B,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,GACpC,IACA,GACI,IACX,EAEP,KAAC,WAAW,IACR,SAAS,EAAE,MAAM,CAAC,IAAI,EACtB,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB,EAC5C,SAAS,EAAE,SAAS,GACtB,EAEF,KAAC,eAAe,IACZ,IAAI,EAAE,uBAAuB,EAC7B,IAAI,EAAE,cAAc,EACpB,WAAW,EAAE,qBAAqB,EAClC,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,kBAAkB,GAC9B,EAEF,KAAC,oBAAoB,IACjB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EACvC,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,gBAAgB,EAC3B,gBAAgB,EAAE,oBAAoB,EACtC,OAAO,EAAE,OAAO,GAClB,EAEF,KAAC,mBAAmB,IAChB,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,EACtC,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB,EAC5C,cAAc,EAAE,cAAc,GAChC,IACA,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -16,6 +16,10 @@
16
16
  margin-bottom: 16px;
17
17
  }
18
18
 
19
+ .widget > .info {
20
+ padding-top: 12px;
21
+ }
22
+
19
23
  .inputSection {
20
24
  display: flex;
21
25
  flex-direction: column;
@@ -11,8 +11,8 @@ import { useMutation } from '../../../libs/query';
11
11
  /**
12
12
  * Hook to build stake transaction
13
13
  */
14
- export const useBuildStakeTransaction = () => {
14
+ export const useBuildStakeTransaction = (parameters) => {
15
15
  const appKit = useAppKit();
16
- return useMutation(buildStakeTransactionMutationOptions(appKit));
16
+ return useMutation(buildStakeTransactionMutationOptions(appKit, parameters));
17
17
  };
18
18
  //# sourceMappingURL=use-build-stake-transaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-build-stake-transaction.js","sourceRoot":"","sources":["../../../../../src/features/staking/hooks/use-build-stake-transaction.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,oCAAoC,EAAE,MAAM,qBAAqB,CAAC;AAO3E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AASlD;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAmE,EAAE;IACzG,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,WAAW,CAAC,oCAAoC,CAAU,MAAM,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC"}
1
+ {"version":3,"file":"use-build-stake-transaction.js","sourceRoot":"","sources":["../../../../../src/features/staking/hooks/use-build-stake-transaction.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,oCAAoC,EAAE,MAAM,qBAAqB,CAAC;AAQ3E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAWlD;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACpC,UAAwD,EACb,EAAE;IAC7C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,WAAW,CAAC,oCAAoC,CAAU,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAC1F,CAAC,CAAC"}
@@ -8,10 +8,12 @@
8
8
  import { StakingError, StakingErrorCode } from '@ton/appkit';
9
9
  import { mapDefiError } from '../../../utils/map-defi-error';
10
10
  /**
11
- * Map a thrown staking error to an i18n key. Tries staking-specific codes first, falls back to the
12
- * shared {@link mapDefiError} for base DeFi codes, and finally to a generic `staking.quoteError`.
11
+ * Map a thrown staking error to an i18n key. Tries staking-specific codes first, falls back to
12
+ * the shared {@link mapDefiError} for base DeFi codes, and finally to the caller-provided
13
+ * {@link fallback} (defaults to `staking.quoteError`, but send-time callers should pass
14
+ * `staking.sendFailed`).
13
15
  */
14
- export const mapStakingError = (error) => {
16
+ export const mapStakingError = (error, fallback = 'staking.quoteError') => {
15
17
  if (error instanceof StakingError) {
16
18
  switch (error.code) {
17
19
  case StakingErrorCode.InvalidParams:
@@ -20,6 +22,6 @@ export const mapStakingError = (error) => {
20
22
  return 'staking.unsupportedOperation';
21
23
  }
22
24
  }
23
- return mapDefiError(error) ?? 'staking.quoteError';
25
+ return mapDefiError(error) ?? fallback;
24
26
  };
25
27
  //# sourceMappingURL=map-staking-error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"map-staking-error.js","sourceRoot":"","sources":["../../../../../src/features/staking/utils/map-staking-error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAc,EAAU,EAAE;IACtD,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;QAChC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,gBAAgB,CAAC,aAAa;gBAC/B,OAAO,uBAAuB,CAAC;YACnC,KAAK,gBAAgB,CAAC,oBAAoB;gBACtC,OAAO,8BAA8B,CAAC;QAC9C,CAAC;IACL,CAAC;IAED,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,oBAAoB,CAAC;AACvD,CAAC,CAAC"}
1
+ {"version":3,"file":"map-staking-error.js","sourceRoot":"","sources":["../../../../../src/features/staking/utils/map-staking-error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAc,EAAE,WAAmB,oBAAoB,EAAU,EAAE;IAC/F,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;QAChC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,gBAAgB,CAAC,aAAa;gBAC/B,OAAO,uBAAuB,CAAC;YACnC,KAAK,gBAAgB,CAAC,oBAAoB;gBACtC,OAAO,8BAA8B,CAAC;QAC9C,CAAC;IACL,CAAC;IAED,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC;AAC3C,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+ export * from './swap-confirm-modal';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/features/swap/components/swap-confirm-modal/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Modal } from '../../../../components/ui/modal/modal';
3
+ import { Button } from '../../../../components/ui/button';
4
+ import { FlowPreview } from '../../../../components/shared/flow-preview';
5
+ import { useI18n } from '../../../settings/hooks/use-i18n';
6
+ import { SwapInfo } from '../swap-info';
7
+ import styles from './swap-confirm-modal.module.css';
8
+ export const SwapConfirmModal = ({ open, onClose, onConfirm, fromToken, toToken, fromAmount, toAmount, fiatSymbol, quote, swapProvider, slippage, isQuoteLoading, }) => {
9
+ const { t } = useI18n();
10
+ return (_jsxs(Modal, { open: open, onOpenChange: (isOpen) => !isOpen && onClose(), title: t('swap.confirmTitle'), children: [_jsx(FlowPreview, { fromAmount: fromAmount, toAmount: toAmount, fromToken: fromToken ?? undefined, toToken: toToken ?? undefined, fiatSymbol: fiatSymbol }), _jsx(SwapInfo, { className: styles.info, quote: quote, provider: swapProvider, toToken: toToken, slippage: slippage, isQuoteLoading: isQuoteLoading }), _jsx(Button, { className: styles.confirmButton, variant: "fill", size: "l", fullWidth: true, onClick: onConfirm, children: t('swap.confirm') })] }));
11
+ };
12
+ //# sourceMappingURL=swap-confirm-modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swap-confirm-modal.js","sourceRoot":"","sources":["../../../../../../src/features/swap/components/swap-confirm-modal/swap-confirm-modal.tsx"],"names":[],"mappings":";AAWA,OAAO,EAAE,KAAK,EAAE,MAAM,uCAAuC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,MAAM,MAAM,iCAAiC,CAAC;AAiBrD,MAAM,CAAC,MAAM,gBAAgB,GAA8B,CAAC,EACxD,IAAI,EACJ,OAAO,EACP,SAAS,EACT,SAAS,EACT,OAAO,EACP,UAAU,EACV,QAAQ,EACR,UAAU,EACV,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,cAAc,GACjB,EAAE,EAAE;IACD,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC;IAExB,OAAO,CACH,MAAC,KAAK,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,mBAAmB,CAAC,aAC5F,KAAC,WAAW,IACR,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,IAAI,SAAS,EACjC,OAAO,EAAE,OAAO,IAAI,SAAS,EAC7B,UAAU,EAAE,UAAU,GACxB,EAEF,KAAC,QAAQ,IACL,SAAS,EAAE,MAAM,CAAC,IAAI,EACtB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,GAChC,EAEF,KAAC,MAAM,IAAC,SAAS,EAAE,MAAM,CAAC,aAAa,EAAE,OAAO,EAAC,MAAM,EAAC,IAAI,EAAC,GAAG,EAAC,SAAS,QAAC,OAAO,EAAE,SAAS,YACxF,CAAC,CAAC,cAAc,CAAC,GACb,IACL,CACX,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ .info {
2
+ margin-top: 16px;
3
+ }
4
+
5
+ .confirmButton {
6
+ margin-top: 16px;
7
+ }
@@ -6,7 +6,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  *
8
8
  */
9
- import { createContext, useCallback, useContext, useMemo, useState } from 'react';
9
+ import { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react';
10
10
  import { formatUnits } from '@ton/appkit';
11
11
  import { getTonShortfall } from '@ton/appkit';
12
12
  import { calcMaxSpendable } from '@ton/appkit';
@@ -102,7 +102,7 @@ export const SwapWidgetProvider = ({ children, tokens, network: networkProp, fia
102
102
  network,
103
103
  slippageBps: slippage,
104
104
  providerId: swapProvider?.providerId,
105
- query: { enabled: isNetworkSupported },
105
+ query: { enabled: isNetworkSupported, networkMode: 'always', retry: false, gcTime: 0 },
106
106
  });
107
107
  // Also show "loading" while the user is still typing (debounce in-flight) so the UI doesn't flash
108
108
  // the previous quote as if it were final.
@@ -114,6 +114,17 @@ export const SwapWidgetProvider = ({ children, tokens, network: networkProp, fia
114
114
  network,
115
115
  });
116
116
  const { data: tonBalance } = useBalance({ network, query: { refetchInterval: 5000 } });
117
+ // 4. Mutations (hoisted above validation: the mutation `error` is one of its inputs)
118
+ const { mutateAsync: buildTransaction, isPending: isBuildingTransaction, error: buildError, reset: resetBuild, } = useBuildSwapTransaction({ mutation: { networkMode: 'always' } });
119
+ const { mutateAsync: sendTransaction, isPending: isSendingPending, error: sendMutationError, reset: resetSend, } = useSendTransaction({ mutation: { networkMode: 'always' } });
120
+ const isSendingTransaction = isBuildingTransaction || isSendingPending;
121
+ const sendError = sendMutationError ?? buildError;
122
+ // Drop the previous send error when the user changes anything that would invalidate it —
123
+ // the next attempt is conceptually a new swap, no need to keep the old message on screen.
124
+ const resetSendError = useCallback(() => {
125
+ resetBuild();
126
+ resetSend();
127
+ }, [resetBuild, resetSend]);
117
128
  // 3. Derivations
118
129
  const toAmount = quote?.toAmount ?? '';
119
130
  const { error, canSubmit } = useSwapValidation({
@@ -122,7 +133,9 @@ export const SwapWidgetProvider = ({ children, tokens, network: networkProp, fia
122
133
  fromToken,
123
134
  toToken,
124
135
  fromBalance,
136
+ quote,
125
137
  quoteError,
138
+ sendError,
126
139
  isNetworkSupported,
127
140
  });
128
141
  const isLowBalanceWarningOpen = pendingSwap !== undefined;
@@ -132,10 +145,19 @@ export const SwapWidgetProvider = ({ children, tokens, network: networkProp, fia
132
145
  return '';
133
146
  return formatUnits(pendingSwap.requiredNanos, 9);
134
147
  }, [pendingSwap]);
135
- // 4. Mutations
136
- const { mutateAsync: buildTransaction, isPending: isBuildingTransaction } = useBuildSwapTransaction();
137
- const { mutateAsync: sendTransaction, isPending: isSendingPending } = useSendTransaction();
138
- const isSendingTransaction = isBuildingTransaction || isSendingPending;
148
+ // Drop the previous send error when the user changes anything that would invalidate it —
149
+ // the next attempt is conceptually a new swap, no need to keep the old message on screen.
150
+ useEffect(() => {
151
+ resetSendError();
152
+ }, [fromToken?.address, toToken?.address, fromAmount, resetSendError]);
153
+ // Auto-clear the send error after a short delay so a stale failure doesn't linger in the
154
+ // submit button — the user is expected to act on it within seconds or move on.
155
+ useEffect(() => {
156
+ if (!sendError)
157
+ return;
158
+ const id = setTimeout(resetSendError, 5000);
159
+ return () => clearTimeout(id);
160
+ }, [sendError, resetSendError]);
139
161
  // 5. Callbacks
140
162
  const handleMaxClick = useCallback(() => {
141
163
  if (!fromBalance || !fromToken)
@@ -1 +1 @@
1
- {"version":3,"file":"swap-widget-provider.js","sourceRoot":"","sources":["../../../../../../src/features/swap/components/swap-widget-provider/swap-widget-provider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swap-widget-provider.js","sourceRoot":"","sources":["../../../../../../src/features/swap/components/swap-widget-provider/swap-widget-provider.tsx"],"names":[],"mappings":"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"}
@@ -8,8 +8,8 @@
8
8
  import { useMemo } from 'react';
9
9
  import { hasTooManyDecimals, isAmountExceedingBalance } from '../../../../utils/validate-amount';
10
10
  import { mapSwapError } from '../../utils/map-swap-error';
11
- export function useSwapValidation({ fromAmount, fromAmountDebounced, fromToken, toToken, fromBalance, quoteError, isNetworkSupported, }) {
12
- const error = useMemo(() => {
11
+ export function useSwapValidation({ fromAmount, fromAmountDebounced, fromToken, toToken, fromBalance, quote, quoteError, sendError, isNetworkSupported, }) {
12
+ const blockingError = useMemo(() => {
13
13
  if (!isNetworkSupported)
14
14
  return 'defi.unsupportedNetwork';
15
15
  if ((parseFloat(fromAmount) || 0) <= 0)
@@ -22,7 +22,16 @@ export function useSwapValidation({ fromAmount, fromAmountDebounced, fromToken,
22
22
  return mapSwapError(quoteError);
23
23
  return null;
24
24
  }, [isNetworkSupported, fromAmount, fromToken, fromBalance, quoteError, fromAmountDebounced]);
25
- const canSubmit = (parseFloat(fromAmount) || 0) > 0 && fromToken !== null && toToken !== null && error === null;
25
+ const error = useMemo(() => {
26
+ if (sendError)
27
+ return mapSwapError(sendError, 'swap.sendFailed');
28
+ return blockingError;
29
+ }, [sendError, blockingError]);
30
+ const canSubmit = (parseFloat(fromAmount) || 0) > 0 &&
31
+ fromToken !== null &&
32
+ toToken !== null &&
33
+ blockingError === null &&
34
+ quote !== undefined;
26
35
  return { error, canSubmit };
27
36
  }
28
37
  //# sourceMappingURL=use-swap-validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-swap-validation.js","sourceRoot":"","sources":["../../../../../../src/features/swap/components/swap-widget-provider/use-swap-validation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAY1D,MAAM,UAAU,iBAAiB,CAAC,EAC9B,UAAU,EACV,mBAAmB,EACnB,SAAS,EACT,OAAO,EACP,WAAW,EACX,UAAU,EACV,kBAAkB,GACK;IACvB,MAAM,KAAK,GAAkB,OAAO,CAAC,GAAG,EAAE;QACtC,IAAI,CAAC,kBAAkB;YAAE,OAAO,yBAAyB,CAAC;QAE1D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpD,IAAI,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC;YAAE,OAAO,sBAAsB,CAAC;QAEvF,IAAI,wBAAwB,CAAC,UAAU,EAAE,WAAW,CAAC;YAAE,OAAO,0BAA0B,CAAC;QAEzF,IAAI,UAAU,IAAI,mBAAmB;YAAE,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC;QAEvE,OAAO,IAAI,CAAC;IAChB,CAAC,EAAE,CAAC,kBAAkB,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAE9F,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC;IAEhH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"use-swap-validation.js","sourceRoot":"","sources":["../../../../../../src/features/swap/components/swap-widget-provider/use-swap-validation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIhC,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAc1D,MAAM,UAAU,iBAAiB,CAAC,EAC9B,UAAU,EACV,mBAAmB,EACnB,SAAS,EACT,OAAO,EACP,WAAW,EACX,KAAK,EACL,UAAU,EACV,SAAS,EACT,kBAAkB,GACK;IACvB,MAAM,aAAa,GAAkB,OAAO,CAAC,GAAG,EAAE;QAC9C,IAAI,CAAC,kBAAkB;YAAE,OAAO,yBAAyB,CAAC;QAE1D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpD,IAAI,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC;YAAE,OAAO,sBAAsB,CAAC;QAEvF,IAAI,wBAAwB,CAAC,UAAU,EAAE,WAAW,CAAC;YAAE,OAAO,0BAA0B,CAAC;QAEzF,IAAI,UAAU,IAAI,mBAAmB;YAAE,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC;QAEvE,OAAO,IAAI,CAAC;IAChB,CAAC,EAAE,CAAC,kBAAkB,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAE9F,MAAM,KAAK,GAAG,OAAO,CAAgB,GAAG,EAAE;QACtC,IAAI,SAAS;YAAE,OAAO,YAAY,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QACjE,OAAO,aAAa,CAAC;IACzB,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;IAE/B,MAAM,SAAS,GACX,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;QACjC,SAAS,KAAK,IAAI;QAClB,OAAO,KAAK,IAAI;QAChB,aAAa,KAAK,IAAI;QACtB,KAAK,KAAK,SAAS,CAAC;IAExB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAChC,CAAC"}
@@ -10,6 +10,7 @@ import { useCallback, useMemo, useState } from 'react';
10
10
  import clsx from 'clsx';
11
11
  import { useI18n } from '../../../settings/hooks/use-i18n';
12
12
  import { useSelectedWallet } from '../../../wallets';
13
+ import { SwapConfirmModal } from '../swap-confirm-modal';
13
14
  import { SwapField } from '../swap-field';
14
15
  import { SwapFlipButton } from '../swap-flip-button';
15
16
  import { SwapInfo } from '../swap-info';
@@ -25,25 +26,36 @@ export const SwapWidgetUI = ({ fromToken, toToken, tokens, fromAmount, toAmount,
25
26
  const { t } = useI18n();
26
27
  const [activeField, setActiveField] = useState(null);
27
28
  const [isSettingsOpen, setIsSettingsOpen] = useState(false);
29
+ const [isConfirmOpen, setIsConfirmOpen] = useState(false);
28
30
  const [isFlipped, setIsFlipped] = useState(false);
29
31
  const handleFlip = useCallback(() => {
30
32
  setIsFlipped((prev) => !prev);
31
33
  onFlip();
32
34
  }, [onFlip]);
35
+ // Close the modal immediately; the build/send result (including errors) is surfaced
36
+ // back in the widget's main button via the `error` from the provider.
37
+ const handleConfirm = useCallback(() => {
38
+ setIsConfirmOpen(false);
39
+ sendSwapTransaction().catch(() => {
40
+ // Error is captured by the mutation and shown through the validator's `error` output.
41
+ });
42
+ }, [sendSwapTransaction]);
33
43
  const buttonText = useMemo(() => {
34
- if (error)
35
- return t(error);
44
+ if (isSendingTransaction || isQuoteLoading)
45
+ return t('swap.loading');
36
46
  if (!fromToken || !toToken)
37
47
  return t('swap.selectToken');
48
+ if (error)
49
+ return t(error);
38
50
  if (canSubmit)
39
51
  return t('swap.continue');
40
52
  return t('swap.enterAmount');
41
- }, [error, fromToken, toToken, canSubmit, t]);
53
+ }, [isSendingTransaction, isQuoteLoading, error, fromToken, toToken, canSubmit, t]);
42
54
  return (_jsxs("div", { className: clsx(styles.widget, className), ...props, children: [_jsxs("div", { className: styles.fieldsContainer, children: [_jsx(SwapField, { type: "pay", token: fromToken ?? undefined, amount: fromAmount, onAmountChange: setFromAmount, balance: fromBalance, isBalanceLoading: isFromBalanceLoading, onMaxClick: onMaxClick, onTokenSelectorClick: () => setActiveField('from'), isWalletConnected: isWalletConnected, fiatSymbol: fiatSymbol }), _jsxs("div", { className: styles.flipButtonWrapper, children: [_jsx("div", { className: styles.flipButtonSeparator }), _jsx(SwapFlipButton, { className: styles.flipButton, onClick: handleFlip, rotated: isFlipped })] }), _jsx(SwapField, { type: "receive", token: toToken ?? undefined, amount: toAmount, balance: toBalance, isBalanceLoading: isToBalanceLoading, onTokenSelectorClick: () => setActiveField('to'), loading: isQuoteLoading, isWalletConnected: isWalletConnected, fiatSymbol: fiatSymbol })] }), _jsx(SwapTokenSelectModal, { open: activeField !== null, onClose: () => setActiveField(null), tokens: tokens, onSelect: (token) => {
43
55
  if (activeField === 'from')
44
56
  setFromToken(token);
45
57
  else
46
58
  setToToken(token);
47
- } }), _jsx(SwapSettingsModal, { open: isSettingsOpen, onClose: () => setIsSettingsOpen(false), slippage: slippage, onSlippageChange: setSlippage, provider: swapProvider, providers: swapProviders, onProviderChange: setSwapProviderId }), _jsx(LowBalanceModal, { open: isLowBalanceWarningOpen, mode: lowBalanceMode, requiredTon: lowBalanceRequiredTon, onChange: onLowBalanceChange, onCancel: onLowBalanceCancel }), _jsxs("div", { className: styles.actions, children: [_jsx(ButtonWithConnect, { variant: "fill", size: "l", fullWidth: true, disabled: !canSubmit || isQuoteLoading || isSendingTransaction, onClick: sendSwapTransaction, children: buttonText }), _jsx(SettingsButton, { onClick: () => setIsSettingsOpen(true) })] }), _jsx(SwapInfo, { quote: quote, provider: swapProvider, toToken: toToken, slippage: slippage, isQuoteLoading: isQuoteLoading })] }));
59
+ } }), _jsx(SwapSettingsModal, { open: isSettingsOpen, onClose: () => setIsSettingsOpen(false), slippage: slippage, onSlippageChange: setSlippage, provider: swapProvider, providers: swapProviders, onProviderChange: setSwapProviderId }), _jsx(SwapConfirmModal, { open: isConfirmOpen, onClose: () => setIsConfirmOpen(false), onConfirm: handleConfirm, fromToken: fromToken, toToken: toToken, fromAmount: fromAmount, toAmount: toAmount, fiatSymbol: fiatSymbol, quote: quote, swapProvider: swapProvider, slippage: slippage, isQuoteLoading: isQuoteLoading }), _jsx(LowBalanceModal, { open: isLowBalanceWarningOpen, mode: lowBalanceMode, requiredTon: lowBalanceRequiredTon, onChange: onLowBalanceChange, onCancel: onLowBalanceCancel }), _jsxs("div", { className: styles.actions, children: [_jsx(ButtonWithConnect, { variant: "fill", size: "l", fullWidth: true, disabled: !canSubmit || isQuoteLoading || isSendingTransaction, onClick: () => setIsConfirmOpen(true), children: buttonText }), _jsx(SettingsButton, { onClick: () => setIsSettingsOpen(true) })] }), _jsx(SwapInfo, { quote: quote, provider: swapProvider, toToken: toToken, slippage: slippage, isQuoteLoading: isQuoteLoading })] }));
48
60
  };
49
61
  //# sourceMappingURL=swap-widget-ui.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"swap-widget-ui.js","sourceRoot":"","sources":["../../../../../../src/features/swap/components/swap-widget-ui/swap-widget-ui.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swap-widget-ui.js","sourceRoot":"","sources":["../../../../../../src/features/swap/components/swap-widget-ui/swap-widget-ui.tsx"],"names":[],"mappings":"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"}
@@ -5,25 +5,27 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- import { SwapError } from '@ton/appkit';
8
+ import { SwapError, SwapErrorCode } from '@ton/appkit';
9
9
  import { mapDefiError } from '../../../utils/map-defi-error';
10
10
  /**
11
11
  * Map a thrown swap error to an i18n key. Tries swap-specific codes first, falls back to the
12
- * shared {@link mapDefiError} for base DeFi codes, and finally to a generic `swap.quoteError`.
12
+ * shared {@link mapDefiError} for base DeFi codes, and finally to the caller-provided
13
+ * {@link fallback} (defaults to `swap.quoteError`, but send-time callers should pass
14
+ * `swap.sendFailed`).
13
15
  */
14
- export const mapSwapError = (error) => {
16
+ export const mapSwapError = (error, fallback = 'swap.quoteError') => {
15
17
  if (error instanceof SwapError) {
16
18
  switch (error.code) {
17
- case SwapError.INVALID_QUOTE:
19
+ case SwapErrorCode.InvalidQuote:
18
20
  return 'swap.invalidQuote';
19
- case SwapError.INSUFFICIENT_LIQUIDITY:
21
+ case SwapErrorCode.InsufficientLiquidity:
20
22
  return 'swap.insufficientLiquidity';
21
- case SwapError.QUOTE_EXPIRED:
23
+ case SwapErrorCode.QuoteExpired:
22
24
  return 'swap.quoteExpired';
23
- case SwapError.BUILD_TX_FAILED:
25
+ case SwapErrorCode.BuildTxFailed:
24
26
  return 'swap.buildTxFailed';
25
27
  }
26
28
  }
27
- return mapDefiError(error) ?? 'swap.quoteError';
29
+ return mapDefiError(error) ?? fallback;
28
30
  };
29
31
  //# sourceMappingURL=map-swap-error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"map-swap-error.js","sourceRoot":"","sources":["../../../../../src/features/swap/utils/map-swap-error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAU,EAAE;IACnD,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;QAC7B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,SAAS,CAAC,aAAa;gBACxB,OAAO,mBAAmB,CAAC;YAC/B,KAAK,SAAS,CAAC,sBAAsB;gBACjC,OAAO,4BAA4B,CAAC;YACxC,KAAK,SAAS,CAAC,aAAa;gBACxB,OAAO,mBAAmB,CAAC;YAC/B,KAAK,SAAS,CAAC,eAAe;gBAC1B,OAAO,oBAAoB,CAAC;QACpC,CAAC;IACL,CAAC;IAED,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC;AACpD,CAAC,CAAC"}
1
+ {"version":3,"file":"map-swap-error.js","sourceRoot":"","sources":["../../../../../src/features/swap/utils/map-swap-error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAE,WAAmB,iBAAiB,EAAU,EAAE;IACzF,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;QAC7B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,aAAa,CAAC,YAAY;gBAC3B,OAAO,mBAAmB,CAAC;YAC/B,KAAK,aAAa,CAAC,qBAAqB;gBACpC,OAAO,4BAA4B,CAAC;YACxC,KAAK,aAAa,CAAC,YAAY;gBAC3B,OAAO,mBAAmB,CAAC;YAC/B,KAAK,aAAa,CAAC,aAAa;gBAC5B,OAAO,oBAAoB,CAAC;QACpC,CAAC;IACL,CAAC;IAED,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC;AAC3C,CAAC,CAAC"}
@@ -71,6 +71,10 @@ export default {
71
71
  provider: 'Provider',
72
72
  save: 'Save',
73
73
  minReceived: 'Min Received',
74
+ confirmTitle: 'Confirm swap transaction',
75
+ confirm: 'Confirm',
76
+ sendFailed: 'Transaction failed',
77
+ loading: 'Loading...',
74
78
  },
75
79
  // Low balance modal (shared between swap, staking, etc.)
76
80
  lowBalance: {
@@ -107,6 +111,11 @@ export default {
107
111
  provider: 'Provider',
108
112
  settings: 'Staking settings',
109
113
  save: 'Save',
114
+ confirmStakingTitle: 'Confirm staking',
115
+ confirmUnstakingTitle: 'Confirm unstaking',
116
+ confirm: 'Confirm',
117
+ sendFailed: 'Transaction failed',
118
+ loading: 'Loading...',
110
119
  },
111
120
  };
112
121
  //# sourceMappingURL=en.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"en.js","sourceRoot":"","sources":["../../../src/locales/en.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAe;IACX,oBAAoB;IACpB,MAAM,EAAE;QACJ,OAAO,EAAE,SAAS;QAClB,UAAU,EAAE,YAAY;QACxB,aAAa,EAAE,gBAAgB;QAC/B,cAAc,EAAE,kBAAkB;KACrC;IAED,cAAc;IACd,WAAW,EAAE;QACT,eAAe,EAAE,kBAAkB;QACnC,UAAU,EAAE,eAAe;QAC3B,MAAM,EAAE;YACJ,OAAO,EAAE,eAAe;YACxB,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,QAAQ;SACnB;KACJ;IAED,WAAW;IACX,QAAQ,EAAE;QACN,OAAO,EAAE,uBAAuB;QAChC,UAAU,EAAE,uBAAuB;QACnC,oBAAoB,EAAE,gCAAgC;KACzD;IAED,MAAM;IACN,GAAG,EAAE;QACD,MAAM,EAAE,SAAS;KACpB;IAED,iDAAiD;IACjD,WAAW,EAAE;QACT,YAAY,EAAE,4BAA4B;QAC1C,eAAe,EAAE,2BAA2B;QAC5C,eAAe,EAAE,+CAA+C;KACnE;IAED,0DAA0D;IAC1D,IAAI,EAAE;QACF,kBAAkB,EAAE,0BAA0B;QAC9C,YAAY,EAAE,iCAAiC;QAC/C,gBAAgB,EAAE,oBAAoB;QACtC,iBAAiB,EAAE,wBAAwB;QAC3C,eAAe,EAAE,kBAAkB;QACnC,aAAa,EAAE,oBAAoB;KACtC;IAED,OAAO;IACP,IAAI,EAAE;QACF,GAAG,EAAE,KAAK;QACV,OAAO,EAAE,SAAS;QAClB,GAAG,EAAE,KAAK;QACV,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,iBAAiB;QAC9B,mBAAmB,EAAE,sBAAsB;QAC3C,eAAe,EAAE,yBAAyB;QAC1C,UAAU,EAAE,uBAAuB;QACnC,YAAY,EAAE,kBAAkB;QAChC,qBAAqB,EAAE,sCAAsC;QAC7D,YAAY,EAAE,iCAAiC;QAC/C,aAAa,EAAE,qCAAqC;QACpD,WAAW,EAAE,cAAc;QAC3B,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,eAAe;QACzB,QAAQ,EAAE,UAAU;QACpB,aAAa,EAAE,qFAAqF;QACpG,eAAe,EAAE,oEAAoE;QACrF,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,cAAc;KAC9B;IAED,yDAAyD;IACzD,UAAU,EAAE;QACR,KAAK,EAAE,gBAAgB;QACvB,aAAa,EACT,0GAA0G;QAC9G,YAAY,EACR,oGAAoG;QACxG,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,OAAO;KACjB;IAED,UAAU;IACV,OAAO,EAAE;QACL,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,OAAO;QACjB,mBAAmB,EAAE,sBAAsB;QAC3C,eAAe,EAAE,yBAAyB;QAC1C,UAAU,EAAE,uBAAuB;QACnC,aAAa,EAAE,4BAA4B;QAC3C,oBAAoB,EAAE,0CAA0C;QAChE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,aAAa;QACzB,GAAG,EAAE,KAAK;QACV,YAAY,EAAE,eAAe;QAC7B,aAAa,EAAE,gBAAgB;QAC/B,WAAW,EAAE,cAAc;QAC3B,aAAa,EAAE,gBAAgB;QAC/B,OAAO,EAAE,SAAS;QAClB,YAAY,EAAE,oBAAoB;QAClC,kBAAkB,EAAE,YAAY;QAChC,aAAa,EAAE,gBAAgB;QAC/B,kBAAkB,EAAE,WAAW;QAC/B,WAAW,EAAE,cAAc;QAC3B,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,kBAAkB;QAC5B,IAAI,EAAE,MAAM;KACf;CACK,CAAC"}
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["../../../src/locales/en.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAe;IACX,oBAAoB;IACpB,MAAM,EAAE;QACJ,OAAO,EAAE,SAAS;QAClB,UAAU,EAAE,YAAY;QACxB,aAAa,EAAE,gBAAgB;QAC/B,cAAc,EAAE,kBAAkB;KACrC;IAED,cAAc;IACd,WAAW,EAAE;QACT,eAAe,EAAE,kBAAkB;QACnC,UAAU,EAAE,eAAe;QAC3B,MAAM,EAAE;YACJ,OAAO,EAAE,eAAe;YACxB,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,QAAQ;SACnB;KACJ;IAED,WAAW;IACX,QAAQ,EAAE;QACN,OAAO,EAAE,uBAAuB;QAChC,UAAU,EAAE,uBAAuB;QACnC,oBAAoB,EAAE,gCAAgC;KACzD;IAED,MAAM;IACN,GAAG,EAAE;QACD,MAAM,EAAE,SAAS;KACpB;IAED,iDAAiD;IACjD,WAAW,EAAE;QACT,YAAY,EAAE,4BAA4B;QAC1C,eAAe,EAAE,2BAA2B;QAC5C,eAAe,EAAE,+CAA+C;KACnE;IAED,0DAA0D;IAC1D,IAAI,EAAE;QACF,kBAAkB,EAAE,0BAA0B;QAC9C,YAAY,EAAE,iCAAiC;QAC/C,gBAAgB,EAAE,oBAAoB;QACtC,iBAAiB,EAAE,wBAAwB;QAC3C,eAAe,EAAE,kBAAkB;QACnC,aAAa,EAAE,oBAAoB;KACtC;IAED,OAAO;IACP,IAAI,EAAE;QACF,GAAG,EAAE,KAAK;QACV,OAAO,EAAE,SAAS;QAClB,GAAG,EAAE,KAAK;QACV,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,iBAAiB;QAC9B,mBAAmB,EAAE,sBAAsB;QAC3C,eAAe,EAAE,yBAAyB;QAC1C,UAAU,EAAE,uBAAuB;QACnC,YAAY,EAAE,kBAAkB;QAChC,qBAAqB,EAAE,sCAAsC;QAC7D,YAAY,EAAE,iCAAiC;QAC/C,aAAa,EAAE,qCAAqC;QACpD,WAAW,EAAE,cAAc;QAC3B,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,eAAe;QACzB,QAAQ,EAAE,UAAU;QACpB,aAAa,EAAE,qFAAqF;QACpG,eAAe,EAAE,oEAAoE;QACrF,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,cAAc;QAC3B,YAAY,EAAE,0BAA0B;QACxC,OAAO,EAAE,SAAS;QAClB,UAAU,EAAE,oBAAoB;QAChC,OAAO,EAAE,YAAY;KACxB;IAED,yDAAyD;IACzD,UAAU,EAAE;QACR,KAAK,EAAE,gBAAgB;QACvB,aAAa,EACT,0GAA0G;QAC9G,YAAY,EACR,oGAAoG;QACxG,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,OAAO;KACjB;IAED,UAAU;IACV,OAAO,EAAE;QACL,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,OAAO;QACjB,mBAAmB,EAAE,sBAAsB;QAC3C,eAAe,EAAE,yBAAyB;QAC1C,UAAU,EAAE,uBAAuB;QACnC,aAAa,EAAE,4BAA4B;QAC3C,oBAAoB,EAAE,0CAA0C;QAChE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,aAAa;QACzB,GAAG,EAAE,KAAK;QACV,YAAY,EAAE,eAAe;QAC7B,aAAa,EAAE,gBAAgB;QAC/B,WAAW,EAAE,cAAc;QAC3B,aAAa,EAAE,gBAAgB;QAC/B,OAAO,EAAE,SAAS;QAClB,YAAY,EAAE,oBAAoB;QAClC,kBAAkB,EAAE,YAAY;QAChC,aAAa,EAAE,gBAAgB;QAC/B,kBAAkB,EAAE,WAAW;QAC/B,WAAW,EAAE,cAAc;QAC3B,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,kBAAkB;QAC5B,IAAI,EAAE,MAAM;QACZ,mBAAmB,EAAE,iBAAiB;QACtC,qBAAqB,EAAE,mBAAmB;QAC1C,OAAO,EAAE,SAAS;QAClB,UAAU,EAAE,oBAAoB;QAChC,OAAO,EAAE,YAAY;KACxB;CACK,CAAC"}
@@ -9,9 +9,9 @@
9
9
  --ta-display-large-weight: 800;
10
10
  --ta-display-large-line-height: 70px;
11
11
 
12
- --ta-display-size: 40px;
12
+ --ta-display-size: 32px;
13
13
  --ta-display-weight: 800;
14
- --ta-display-line-height: 44px;
14
+ --ta-display-line-height: 40px;
15
15
 
16
16
  /* headline */
17
17
  --ta-headline-size: 28px;
@@ -77,7 +77,7 @@
77
77
  --ta-color-error: #FF3B30;
78
78
  --ta-color-success: #34C759;
79
79
  --ta-color-text: #121214;
80
- --ta-color-text-secondary: #7D7D85;
80
+ --ta-color-text-secondary: #60606E;
81
81
  --ta-color-text-tertiary: #909DAB;
82
82
  --ta-color-background: #FFFFFF;
83
83
  --ta-color-background-secondary: #F1F3F5;
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- import { DefiError } from '@ton/appkit';
8
+ import { DefiError, DefiErrorCode } from '@ton/appkit';
9
9
  /**
10
10
  * Map a thrown error to an i18n key from the `defi.*` namespace.
11
11
  * Returns `null` when the error isn't a {@link DefiError} or the code isn't recognised —
@@ -15,17 +15,17 @@ export const mapDefiError = (error) => {
15
15
  if (!(error instanceof DefiError))
16
16
  return null;
17
17
  switch (error.code) {
18
- case DefiError.UNSUPPORTED_NETWORK:
18
+ case DefiErrorCode.UnsupportedNetwork:
19
19
  return 'defi.unsupportedNetwork';
20
- case DefiError.NETWORK_ERROR:
20
+ case DefiErrorCode.NetworkError:
21
21
  return 'defi.networkError';
22
- case DefiError.PROVIDER_NOT_FOUND:
22
+ case DefiErrorCode.ProviderNotFound:
23
23
  return 'defi.providerNotFound';
24
- case DefiError.NO_DEFAULT_PROVIDER:
24
+ case DefiErrorCode.NoDefaultProvider:
25
25
  return 'defi.noDefaultProvider';
26
- case DefiError.INVALID_PROVIDER:
26
+ case DefiErrorCode.InvalidProvider:
27
27
  return 'defi.invalidProvider';
28
- case DefiError.INVALID_PARAMS:
28
+ case DefiErrorCode.InvalidParams:
29
29
  return 'defi.invalidParams';
30
30
  default:
31
31
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"map-defi-error.js","sourceRoot":"","sources":["../../../src/utils/map-defi-error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAiB,EAAE;IAC1D,IAAI,CAAC,CAAC,KAAK,YAAY,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,SAAS,CAAC,mBAAmB;YAC9B,OAAO,yBAAyB,CAAC;QACrC,KAAK,SAAS,CAAC,aAAa;YACxB,OAAO,mBAAmB,CAAC;QAC/B,KAAK,SAAS,CAAC,kBAAkB;YAC7B,OAAO,uBAAuB,CAAC;QACnC,KAAK,SAAS,CAAC,mBAAmB;YAC9B,OAAO,wBAAwB,CAAC;QACpC,KAAK,SAAS,CAAC,gBAAgB;YAC3B,OAAO,sBAAsB,CAAC;QAClC,KAAK,SAAS,CAAC,cAAc;YACzB,OAAO,oBAAoB,CAAC;QAChC;YACI,OAAO,IAAI,CAAC;IACpB,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"map-defi-error.js","sourceRoot":"","sources":["../../../src/utils/map-defi-error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEvD;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAiB,EAAE;IAC1D,IAAI,CAAC,CAAC,KAAK,YAAY,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,aAAa,CAAC,kBAAkB;YACjC,OAAO,yBAAyB,CAAC;QACrC,KAAK,aAAa,CAAC,YAAY;YAC3B,OAAO,mBAAmB,CAAC;QAC/B,KAAK,aAAa,CAAC,gBAAgB;YAC/B,OAAO,uBAAuB,CAAC;QACnC,KAAK,aAAa,CAAC,iBAAiB;YAChC,OAAO,wBAAwB,CAAC;QACpC,KAAK,aAAa,CAAC,eAAe;YAC9B,OAAO,sBAAsB,CAAC;QAClC,KAAK,aAAa,CAAC,aAAa;YAC5B,OAAO,oBAAoB,CAAC;QAChC;YACI,OAAO,IAAI,CAAC;IACpB,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+ import type { FC, ComponentProps } from 'react';
9
+ import type { AppkitUIToken } from '../../../types/appkit-ui-token';
10
+ export interface AmountPreviewProps extends ComponentProps<'div'> {
11
+ /** Raw token amount to display (decimal string). */
12
+ amount: string;
13
+ /** Token whose logo and symbol are shown alongside the amount. */
14
+ token?: AppkitUIToken;
15
+ /** Fiat currency symbol, e.g. "$". */
16
+ fiatSymbol?: string;
17
+ /**
18
+ * Relative fiat delta to render after the fiat value, e.g. -0.0025 → "(-0.25%)".
19
+ * Typically computed by a parent that knows both legs of a flow.
20
+ */
21
+ fiatDelta?: number;
22
+ }
23
+ export declare const AmountPreview: FC<AmountPreviewProps>;
24
+ //# sourceMappingURL=amount-preview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amount-preview.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/amount-preview/amount-preview.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAMhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAIpE,MAAM,WAAW,kBAAmB,SAAQ,cAAc,CAAC,KAAK,CAAC;IAC7D,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAOD,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAoChD,CAAC"}
@@ -5,5 +5,5 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- export { BalanceBadge } from './balance-badge';
8
+ export * from './amount-preview';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/amount-preview/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,kBAAkB,CAAC"}