@lifi/widget 3.40.11 → 3.40.13

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/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [3.40.13](https://github.com/lifinance/widget/compare/v3.40.12...v3.40.13) (2026-10-20)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * handle empty amounts before parseUnits for viem 2.55.4+ ([#915](https://github.com/lifinance/widget/issues/915)) ([9200a01](https://github.com/lifinance/widget/commit/9200a01c5fd35b1d832e9b5adc86ff736622e85e))
11
+
12
+ ### [3.40.12](https://github.com/lifinance/widget/compare/v3.40.11...v3.40.12) (2026-03-12)
13
+
5
14
  ### [3.40.11](https://github.com/lifinance/widget/compare/v3.40.10...v3.40.11) (2026-02-27)
6
15
 
7
16
  ### [3.40.10](https://github.com/lifinance/widget/compare/v3.40.9...v3.40.10) (2026-02-27)
@@ -1,4 +1,4 @@
1
1
  import type { LinkProps } from '@mui/material';
2
2
  export declare const CardIconButton: import("@emotion/styled").StyledComponent<import("@mui/material").IconButtonOwnProps & Omit<import("@mui/material").ButtonBaseOwnProps, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "color" | "children" | "sx" | "style" | "className" | "tabIndex" | "classes" | "size" | "action" | "disabled" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "edge" | "loading" | "loadingIndicator"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
3
- component?: React.ElementType;
3
+ component?: React.ElementType | undefined;
4
4
  } & Pick<LinkProps, "rel" | "target" | "href">, {}, {}>;
@@ -1,4 +1,4 @@
1
1
  export declare const NavigationTabs: import("@emotion/styled").StyledComponent<Pick<import("@mui/material").TabsOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "children" | "sx" | "style" | "className" | "aria-label" | "aria-labelledby" | "onChange" | "classes" | "variant" | "orientation" | "value" | "action" | "slots" | "slotProps" | "allowScrollButtonsMobile" | "centered" | "indicatorColor" | "ScrollButtonComponent" | "scrollButtons" | "selectionFollowsFocus" | "TabIndicatorProps" | "TabScrollButtonProps" | "textColor" | "visibleScrollbar">, "title" | "color" | "content" | "translate" | "children" | "ref" | "sx" | "slot" | "style" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "hidden" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "popover" | "popoverTargetAction" | "popoverTarget" | "inert" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onScrollEnd" | "onScrollEndCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onToggle" | "onBeforeToggle" | "onTransitionCancel" | "onTransitionCancelCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "onTransitionRun" | "onTransitionRunCapture" | "onTransitionStart" | "onTransitionStartCapture" | "classes" | "variant" | "orientation" | "value" | "action" | "slots" | "slotProps" | "allowScrollButtonsMobile" | "centered" | "indicatorColor" | "ScrollButtonComponent" | "scrollButtons" | "selectionFollowsFocus" | "TabIndicatorProps" | "TabScrollButtonProps" | "textColor" | "visibleScrollbar"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
2
2
  export declare const NavigationTab: import("@emotion/styled").StyledComponent<Pick<import("@mui/material").TabOwnProps & Omit<import("@mui/material").ButtonBaseOwnProps, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "children" | "sx" | "label" | "style" | "className" | "tabIndex" | "classes" | "value" | "action" | "icon" | "disabled" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "iconPosition" | "wrapped"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
3
- component?: React.ElementType;
3
+ component?: React.ElementType | undefined;
4
4
  }, "title" | "color" | "content" | "translate" | "children" | "ref" | "sx" | "label" | "slot" | "style" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "hidden" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "popover" | "popoverTargetAction" | "popoverTarget" | "inert" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onScrollEnd" | "onScrollEndCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onToggle" | "onBeforeToggle" | "onTransitionCancel" | "onTransitionCancelCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "onTransitionRun" | "onTransitionRunCapture" | "onTransitionStart" | "onTransitionStartCapture" | "classes" | "value" | "action" | "icon" | "component" | "theme" | "disabled" | "as" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "iconPosition" | "wrapped"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
@@ -1,4 +1,4 @@
1
1
  export declare const CardTabs: import("@emotion/styled").StyledComponent<import("@mui/material").TabsOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "children" | "sx" | "style" | "className" | "aria-label" | "aria-labelledby" | "onChange" | "classes" | "variant" | "orientation" | "value" | "action" | "slots" | "slotProps" | "allowScrollButtonsMobile" | "centered" | "indicatorColor" | "ScrollButtonComponent" | "scrollButtons" | "selectionFollowsFocus" | "TabIndicatorProps" | "TabScrollButtonProps" | "textColor" | "visibleScrollbar"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
2
2
  export declare const Tab: import("@emotion/styled").StyledComponent<import("@mui/material").TabOwnProps & Omit<import("@mui/material").ButtonBaseOwnProps, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "children" | "sx" | "label" | "style" | "className" | "tabIndex" | "classes" | "value" | "action" | "icon" | "disabled" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "iconPosition" | "wrapped"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
3
- component?: React.ElementType;
3
+ component?: React.ElementType | undefined;
4
4
  }, {}, {}>;
@@ -1,7 +1,7 @@
1
1
  export declare const ListItem: import("@emotion/styled").StyledComponent<import("@mui/material").ListItemOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<import("react").DetailedHTMLProps<import("react").LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "alignItems" | "children" | "sx" | "style" | "className" | "classes" | "slots" | "slotProps" | "componentsProps" | "divider" | "dense" | "components" | "disableGutters" | "ContainerComponent" | "ContainerProps" | "disablePadding" | "secondaryAction"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
2
2
  export declare const List: import("@emotion/styled").StyledComponent<import("@mui/material").ListOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "children" | "sx" | "style" | "className" | "classes" | "dense" | "disablePadding" | "subheader"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
3
3
  export declare const IconButton: import("@emotion/styled").StyledComponent<import("@mui/material").IconButtonOwnProps & Omit<import("@mui/material").ButtonBaseOwnProps, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "color" | "children" | "sx" | "style" | "className" | "tabIndex" | "classes" | "size" | "action" | "disabled" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "edge" | "loading" | "loadingIndicator"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
4
- component?: React.ElementType;
4
+ component?: React.ElementType | undefined;
5
5
  } & import("@mui/material").LinkOwnProps & Omit<import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "border" | "borderTop" | "borderRight" | "borderBottom" | "borderLeft" | "borderColor" | "borderRadius" | "display" | "displayPrint" | "overflow" | "textOverflow" | "visibility" | "whiteSpace" | "flexBasis" | "flexDirection" | "flexWrap" | "justifyContent" | "alignItems" | "alignContent" | "order" | "flex" | "flexGrow" | "flexShrink" | "alignSelf" | "justifyItems" | "justifySelf" | "gap" | "columnGap" | "rowGap" | "gridColumn" | "gridRow" | "gridAutoFlow" | "gridAutoColumns" | "gridAutoRows" | "gridTemplateColumns" | "gridTemplateRows" | "gridTemplateAreas" | "gridArea" | "bgcolor" | "color" | "zIndex" | "position" | "top" | "right" | "bottom" | "left" | "boxShadow" | "width" | "maxWidth" | "minWidth" | "height" | "maxHeight" | "minHeight" | "boxSizing" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "my" | "p" | "pt" | "pr" | "pb" | "pl" | "px" | "py" | "margin" | "marginTop" | "marginRight" | "marginBottom" | "marginLeft" | "marginX" | "marginY" | "marginInline" | "marginInlineStart" | "marginInlineEnd" | "marginBlock" | "marginBlockStart" | "marginBlockEnd" | "padding" | "paddingTop" | "paddingRight" | "paddingBottom" | "paddingLeft" | "paddingX" | "paddingY" | "paddingInline" | "paddingInlineStart" | "paddingInlineEnd" | "paddingBlock" | "paddingBlockStart" | "paddingBlockEnd" | "typography" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "letterSpacing" | "lineHeight" | "textAlign" | "textTransform" | "children" | "sx" | "style" | "className" | "classes" | "align" | "gutterBottom" | "noWrap" | "paragraph" | "variant" | "variantMapping" | "underline" | "TypographyClasses"> & {
6
- component?: React.ElementType;
6
+ component?: React.ElementType | undefined;
7
7
  }, {}, {}>;
@@ -1,2 +1,2 @@
1
1
  export declare const name = "@lifi/widget";
2
- export declare const version = "3.40.11";
2
+ export declare const version = "3.40.13";
@@ -1,3 +1,3 @@
1
1
  export const name = '@lifi/widget';
2
- export const version = '3.40.11';
2
+ export const version = '3.40.13';
3
3
  //# sourceMappingURL=version.js.map
@@ -1,9 +1,9 @@
1
1
  import { useAccount } from '@lifi/wallet-management';
2
2
  import { keepPreviousData, useQuery } from '@tanstack/react-query';
3
- import { parseUnits } from 'viem';
4
3
  import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js';
5
4
  import { useFieldValues } from '../stores/form/useFieldValues.js';
6
5
  import { isRouteDone } from '../stores/routes/utils.js';
6
+ import { parseInputAmount } from '../utils/parseInputAmount.js';
7
7
  import { getQueryKey } from '../utils/queries.js';
8
8
  import { useTokenAddressBalance } from './useTokenAddressBalance.js';
9
9
  import { getTokenBalancesWithRetry } from './useTokenBalance.js';
@@ -31,9 +31,9 @@ export const useFromTokenSufficiency = (route) => {
31
31
  if (!accountAddress || !token) {
32
32
  return;
33
33
  }
34
- const parsedFromAmount = parseUnits(fromAmount, token.decimals);
35
34
  let currentTokenBalance = token.amount ?? 0n;
36
35
  if (!route || isRouteDone(route)) {
36
+ const parsedFromAmount = parseInputAmount(fromAmount, token.decimals);
37
37
  const insufficientFunds = currentTokenBalance < parsedFromAmount;
38
38
  return insufficientFunds;
39
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useFromTokenSufficiency.js","sourceRoot":"","sources":["../../../src/hooks/useFromTokenSufficiency.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useFromTokenSufficiency.js","sourceRoot":"","sources":["../../../src/hooks/useFromTokenSufficiency.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAEhE,MAAM,eAAe,GAAG,KAAM,CAAA;AAE9B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAqB,EAAE,EAAE;IAC/D,MAAM,CAAC,WAAW,EAAE,gBAAgB,EAAE,UAAU,CAAC,GAAG,cAAc,CAChE,WAAW,EACX,WAAW,EACX,YAAY,CACb,CAAA;IACD,MAAM,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,CAAA;IAEvC,IAAI,OAAO,GAAG,WAAW,CAAA;IACzB,IAAI,YAAY,GAAG,gBAAgB,CAAA;IACnC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAA;QACjC,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAA;IACxC,CAAC;IAED,MAAM,EACJ,KAAK,EACL,KAAK,EACL,SAAS,EAAE,4BAA4B,GACxC,GAAG,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IAEjD,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;IAE/D,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;QAC1D,QAAQ,EAAE;YACR,WAAW,CAAC,8BAA8B,EAAE,SAAS,CAAC;YACtD,OAAO,CAAC,OAAO;YACf,OAAO;YACP,YAAY;YACZ,KAAK,EAAE,EAAE,IAAI,UAAU;SACf;QACV,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE;YAClD,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,OAAM;YACR,CAAC;YACD,IAAI,mBAAmB,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;YAE5C,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBACrE,MAAM,iBAAiB,GAAG,mBAAmB,GAAG,gBAAgB,CAAA;gBAChE,OAAO,iBAAiB,CAAA;YAC1B,CAAC;YAED,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CACtC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,CAC9D,CAAC,CAAC,CAAC,EAAE,MAAM,CAAA;YAEZ,IACE,KAAK,CAAC,OAAO,KAAK,aAAa,CAAC,SAAS,CAAC,OAAO;gBACjD,KAAK,CAAC,OAAO,KAAK,aAAa,CAAC,SAAS,CAAC,OAAO;gBACjD,mBAAmB,GAAG,CAAC,EACvB,CAAC;gBACD,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,mBAAmB,CAAA;gBACxE,OAAO,iBAAiB,CAAA;YAC1B,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,yBAAyB,CAAC,cAAc,EAAE;gBACpE,aAAa,CAAC,SAAS;aACxB,CAAC,CAAA;YAEF,mBAAmB,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAA;YACtD,MAAM,iBAAiB,GACrB,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,mBAAmB,CAAA;YACxD,OAAO,iBAAiB,CAAA;QAC1B,CAAC;QAED,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,IAAI,CAAC,4BAA4B,CAAC;QAC3E,eAAe;QACf,SAAS,EAAE,eAAe;QAC1B,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;KAChE,CAAC,CAAA;IAEF,OAAO;QACL,qBAAqB;QACrB,SAAS;KACV,CAAA;AACH,CAAC,CAAA"}
@@ -2,7 +2,6 @@ import { ChainType, convertQuoteToRoute, getContractCallsQuote, getRelayerQuote,
2
2
  import { useAccount } from '@lifi/wallet-management';
3
3
  import { useQuery, useQueryClient } from '@tanstack/react-query';
4
4
  import { useCallback, useMemo } from 'react';
5
- import { parseUnits } from 'viem';
6
5
  import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js';
7
6
  import { useFieldValues } from '../stores/form/useFieldValues.js';
8
7
  import { useIntermediateRoutesStore } from '../stores/routes/useIntermediateRoutesStore.js';
@@ -11,6 +10,7 @@ import { defaultSlippage } from '../stores/settings/createSettingsStore.js';
11
10
  import { useSettings } from '../stores/settings/useSettings.js';
12
11
  import { WidgetEvent } from '../types/events.js';
13
12
  import { getChainTypeFromAddress } from '../utils/chainType.js';
13
+ import { parseInputAmount } from '../utils/parseInputAmount.js';
14
14
  import { getQueryKey } from '../utils/queries.js';
15
15
  import { updateTokenInCache } from '../utils/token.js';
16
16
  import { useChain } from './useChain.js';
@@ -136,8 +136,8 @@ export const useRoutes = ({ observableRoute } = {}) => {
136
136
  queryFn: async ({ queryKey: [_, fromAddress, fromChainId, fromTokenAddress, fromTokenAmount, toAddress, toChainId, toTokenAddress, toTokenAmount, contractCalls, slippage = defaultSlippage, swapOnly, disabledBridges, disabledExchanges, allowedBridges, allowedExchanges, routePriority, subvariant, allowSwitchChain, enabledRefuel, gasRecommendationFromAmount, fee, disableMessageSigning, isBatchingSupported,
137
137
  // _observableRouteId must be the last element in the query key
138
138
  _observableRouteId,], signal, }) => {
139
- const fromAmount = parseUnits(fromTokenAmount, fromToken.decimals);
140
- const toAmount = parseUnits(toTokenAmount, toToken.decimals);
139
+ const fromAmount = parseInputAmount(fromTokenAmount, fromToken.decimals);
140
+ const toAmount = parseInputAmount(toTokenAmount, toToken.decimals);
141
141
  const formattedSlippage = slippage
142
142
  ? Number.parseFloat(slippage) / 100
143
143
  : defaultSlippage;
@@ -1 +1 @@
1
- {"version":3,"file":"useRoutes.js","sourceRoot":"","sources":["../../../src/hooks/useRoutes.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EACf,SAAS,EACT,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gDAAgD,CAAA;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,MAAM,WAAW,GAAG,KAAM,CAAA;AAM1B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAE,eAAe,KAAkB,EAAE,EAAE,EAAE;IACjE,MAAM,EACJ,UAAU,EACV,iBAAiB,EACjB,SAAS,EACT,YAAY,EACZ,OAAO,EACP,SAAS,EACT,GAAG,EACH,SAAS,EACT,gBAAgB,EAChB,SAAS,GACV,GAAG,eAAe,EAAE,CAAA;IACrB,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAA;IAClD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,OAAO,GAAG,eAAe,EAAE,CAAA;IACjC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,EACJ,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,QAAQ,GACT,GAAG,WAAW,CAAC;QACd,iBAAiB;QACjB,mBAAmB;QACnB,gBAAgB;QAChB,kBAAkB;QAClB,mBAAmB;QACnB,eAAe;QACf,UAAU;KACX,CAAC,CAAA;IACF,MAAM,CAAC,eAAe,CAAC,GAAG,iBAAiB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;IAC9D,MAAM,CACJ,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,SAAS,EACT,cAAc,EACd,aAAa,EACd,GAAG,cAAc,CAChB,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,EACV,SAAS,EACT,SAAS,EACT,eAAe,CAChB,CAAA;IACD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAA;IACpE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;IAC9D,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;IAClD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;IAC9C,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,2BAA2B,EAAE,GACvE,YAAY,EAAE,CAAA;IAEhB,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAA;IACnE,MAAM,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,GACvD,sBAAsB,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IAEpD,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IAE1E,MAAM,wBAAwB,GAC5B,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAE3D,8GAA8G;IAC9G,kEAAkE;IAClE,MAAM,iCAAiC,GACrC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,SAAS;QACX,uBAAuB,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,SAAS,CAAA;IAC1D,mDAAmD;IACnD,MAAM,oBAAoB,GAAG,SAAS;QACpC,CAAC,CAAC,iCAAiC;QACnC,CAAC,CAAC,IAAI,CAAA;IAER,yFAAyF;IACzF,MAAM,eAAe,GAAG,SAAS,IAAI,SAAS,CAAA;IAE9C,mFAAmF;IACnF,MAAM,cAAc,GAClB,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9E,MAAM,gBAAgB,GACpB,SAAS,EAAE,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,IAAI,EAAE,MAAM;QACjD,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,SAAS,CAAA;IACf,MAAM,gBAAgB,GAAG,SAAS,EAAE,YAAY,EAAE,gBAAgB,CAAA;IAClE,MAAM,qBAAqB,GACzB,SAAS,EAAE,gBAAgB,EAAE,qBAAqB,CAAA;IAEpD,MAAM,SAAS,GACb,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC9B,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5B,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;QAC3B,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;QACzB,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;QACvB,SAAS;QACT,oBAAoB;QACpB,wBAAwB;QACxB,CAAC,0BAA0B,CAAA;IAE7B,kEAAkE;IAClE,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CACH;QACE,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC;QAChC,OAAO,CAAC,OAAO;QACf,SAAS,EAAE,EAAY;QACvB,SAAS,EAAE,OAAiB;QAC5B,eAAe;QACf,eAAe;QACf,OAAO,EAAE,EAAY;QACrB,OAAO,EAAE,OAAiB;QAC1B,aAAa;QACb,aAAa;QACb,QAAQ;QACR,QAAQ;QACR,eAAe;QACf,iBAAiB;QACjB,cAAc;QACd,gBAAgB;QAChB,aAAa;QACb,UAAU;QACV,gBAAgB;QAChB,aAAa,IAAI,iBAAiB;QAClC,2BAA2B;QAC3B,SAAS,EAAE,GAAG,IAAI,GAAG;QACrB,qBAAqB;QACrB,CAAC,CAAC,mBAAmB;QACrB,eAAe,EAAE,EAAE;KACX,EACZ;QACE,SAAS;QACT,OAAO,CAAC,OAAO;QACf,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,OAAO;QAClB,eAAe;QACf,eAAe;QACf,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,OAAO;QAChB,aAAa;QACb,aAAa;QACb,QAAQ;QACR,QAAQ;QACR,eAAe;QACf,iBAAiB;QACjB,cAAc;QACd,gBAAgB;QAChB,aAAa;QACb,UAAU;QACV,gBAAgB;QAChB,aAAa;QACb,iBAAiB;QACjB,2BAA2B;QAC3B,SAAS,EAAE,GAAG;QACd,GAAG;QACH,qBAAqB;QACrB,mBAAmB;QACnB,eAAe,EAAE,EAAE;KACpB,CACF,CAAA;IAED,MAAM,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,GACpD,0BAA0B,EAAE,CAAA;IAE9B,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,GACtE,QAAQ,CAAC;QACP,QAAQ;QACR,OAAO,EAAE,KAAK,EAAE,EACd,QAAQ,EAAE,CACR,CAAC,EACD,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,SAAS,EACT,cAAc,EACd,aAAa,EACb,aAAa,EACb,QAAQ,GAAG,eAAe,EAC1B,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,2BAA2B,EAC3B,GAAG,EACH,qBAAqB,EACrB,mBAAmB;QACnB,+DAA+D;QAC/D,kBAAkB,EACnB,EACD,MAAM,GACP,EAAE,EAAE;YACH,MAAM,UAAU,GAAG,UAAU,CAAC,eAAe,EAAE,SAAU,CAAC,QAAQ,CAAC,CAAA;YACnE,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,EAAE,OAAQ,CAAC,QAAQ,CAAC,CAAA;YAC7D,MAAM,iBAAiB,GAAG,QAAQ;gBAChC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,GAAG;gBACnC,CAAC,CAAC,eAAe,CAAA;YAEnB,MAAM,YAAY,GAAG,QAAQ;gBAC3B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,eAAe;oBACf,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACrC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE;wBACnD,IAAI,YAAY,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;4BAClC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;wBAC7C,CAAC;wBACD,OAAO,QAAQ,CAAA;oBACjB,CAAC,EAAE,EAAc,CAAC,CACnB;oBACH,CAAC,CAAC,cAAc,CAAA;YACpB,MAAM,cAAc,GAAG,eAAe;gBACpC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACrC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE;oBACnD,IAAI,YAAY,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACjC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;oBAC7C,CAAC;oBACD,OAAO,QAAQ,CAAA;gBACjB,CAAC,EAAE,EAAc,CAAC,CACnB;gBACH,CAAC,CAAC,gBAAgB,CAAA;YAEpB,MAAM,aAAa,GAAG,MAAM,SAAS,EAAE,YAAY,EAAE,CAAC;gBACpD,SAAS,EAAE,SAAU;gBACrB,OAAO,EAAE,OAAQ;gBACjB,SAAS,EAAE,SAAU;gBACrB,OAAO,EAAE,OAAQ;gBACjB,WAAW;gBACX,SAAS;gBACT,UAAU;gBACV,QAAQ;gBACR,QAAQ,EAAE,iBAAiB;aAC5B,CAAC,CAAA;YAEF,MAAM,mBAAmB,GACvB,MAAM,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;gBACpD,WAAW;gBACX,SAAS;gBACT,gBAAgB;gBAChB,cAAc;gBACd,WAAW,EAAE,WAAY;gBACzB,SAAS;gBACT,UAAU;gBACV,QAAQ;gBACR,QAAQ,EAAE,iBAAiB;aAC5B,CAAC,CAAA;YAEJ,MAAM,cAAc,GAAG,aAAa,EAAE,MAAM;gBAC1C,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,mBAAmB,EAAE,aAAa,CAAA;YAEtC,IAAI,cAAc,EAAE,MAAM,EAAE,CAAC;gBAC3B,IAAI,mBAAmB,EAAE,OAAO,EAAE,CAAC;oBACjC,MAAM,oBAAoB,GAAG,MAAM,kBAAkB,CACnD,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBAC5B,OAAO,EAAE,SAAS;wBAClB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;wBACvC,qBAAqB,EAAE,IAAI,CAAC,iBAAiB;wBAC7C,eAAe,EAAE,IAAI,CAAC,kBAAkB;wBACxC,YAAY,EAAE,KAAK;wBACnB,OAAO,EAAE;4BACP;gCACE,eAAe,EAAE,kBAAkB,CAAC,QAAQ,EAAE;6BAC/C;yBACF;qBACF,CAAC,CAAC,EACH,EAAE,MAAM,EAAE,CACX,CAAA;oBAED,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;wBACrC,IAAI,CAAC,iBAAiB,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAA;wBAC3D,IAAI,CAAC,kBAAkB,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAA;oBAChE,CAAC,CAAC,CAAA;gBACJ,CAAC;gBAED,MAAM,iBAAiB,GAAG,MAAM,qBAAqB,CACnD;oBACE,0DAA0D;oBAC1D,WAAW,EAAE,WAAqB;oBAClC,SAAS,EAAE,WAAW;oBACtB,SAAS,EAAE,gBAAgB;oBAC3B,GAAG,CAAC,QAAQ;wBACV,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE;wBACnC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAC1C,OAAO,EAAE,SAAS;oBAClB,OAAO,EAAE,cAAc;oBACvB,aAAa,EAAE,cAAc;oBAC7B,WAAW,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;oBACjE,aAAa,EAAE,iBAAiB,CAAC,MAAM;wBACrC,CAAC,CAAC,iBAAiB;wBACnB,CAAC,CAAC,SAAS;oBACb,YAAY;oBACZ,cAAc;oBACd,iBAAiB,EAAE,SAAS;oBAC5B,QAAQ,EAAE,iBAAiB;oBAC3B,GAAG,EAAE,aAAa,IAAI,GAAG;iBAC1B,EACD,EAAE,MAAM,EAAE,CACX,CAAA;gBAED,iBAAiB,CAAC,MAAM,CAAC,OAAO,GAAG,OAAQ,CAAA;gBAE3C,MAAM,UAAU,GACd,UAAU,KAAK,QAAQ;oBACrB,CAAC,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,CACnC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CACjC;oBACH,CAAC,CAAC,SAAS,CAAA;gBAEf,MAAM,aAAa,GACjB,mBAAmB,EAAE,YAAY,IAAI,YAAY,CAAA;gBACnD,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;oBAChC,MAAM,WAAW,GAAG;wBAClB,GAAG,EAAE,aAAa,CAAC,IAAI;wBACvB,IAAI,EAAE,aAAa,CAAC,IAAI;wBACxB,OAAO,EAAE,aAAa,CAAC,OAAO;qBAC/B,CAAA;oBACD,UAAU,CAAC,WAAW,GAAG,WAAW,CAAA;oBACpC,iBAAiB,CAAC,WAAW,GAAG,WAAW,CAAA;gBAC7C,CAAC;gBAED,MAAM,KAAK,GAAU,mBAAmB,CAAC,iBAAiB,EAAE;oBAC1D,gCAAgC,EAC9B,UAAU,KAAK,QAAQ,IAAI,iBAAiB,EAAE,MAAM,KAAK,MAAM;iBAClE,CAAC,CAAA;gBAEF,OAAO,CAAC,KAAK,CAAC,CAAA;YAChB,CAAC;YAED,mEAAmE;YACnE,6FAA6F;YAC7F,IACE,WAAW,KAAK,SAAS;gBACzB,gBAAgB,KAAK,cAAc;gBACnC,CAAC,CACC,UAAU,KAAK,QAAQ;oBACvB,CAAC,iBAAiB,EAAE,MAAM,KAAK,SAAS;wBACtC,iBAAiB,EAAE,MAAM,KAAK,MAAM,CAAC,CACxC,EACD,CAAC;gBACD,OAAM;YACR,CAAC;YAED,MAAM,wBAAwB,GAAG,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACrE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAC/B,CAAA;YAED,MAAM,mBAAmB,GACvB,CAAC,eAAe,IAAI,CAAC,wBAAwB,CAAA;YAC/C,MAAM,qBAAqB,GACzB,WAAW;gBACX,SAAS,EAAE,SAAS,KAAK,SAAS,CAAC,GAAG;gBACtC,SAAS,CAAC,OAAO;gBACjB,SAAS,CAAC,YAAY;gBACtB,SAAS,CAAC,gBAAgB;gBAC1B,SAAS,CAAC,WAAW,CAAC,OAAO,KAAK,gBAAgB;gBAClD,gBAAgB;gBAChB,CAAC,mBAAmB;gBACpB,CAAC,CAAC,eAAe,IAAI,wBAAwB,CAAC,CAAA;YAEhD,MAAM,iBAAiB,GAAG,mBAAmB;gBAC3C,CAAC,CAAC,SAAS,CACP;oBACE,WAAW;oBACX,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;oBACjC,WAAW;oBACX,gBAAgB;oBAChB,SAAS;oBACT,SAAS;oBACT,cAAc;oBACd,gBAAgB,EACd,aAAa,IAAI,2BAA2B;wBAC1C,CAAC,CAAC,2BAA2B;wBAC7B,CAAC,CAAC,SAAS;oBACf,OAAO,EAAE;wBACP,gBAAgB,EACd,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB;wBACpD,OAAO,EACL,YAAY,EAAE,MAAM,IAAI,eAAe,CAAC,MAAM;4BAC5C,CAAC,CAAC;gCACE,KAAK,EAAE,YAAY;gCACnB,IAAI,EAAE,eAAe,CAAC,MAAM;oCAC1B,CAAC,CAAC,eAAe;oCACjB,CAAC,CAAC,SAAS;6BACd;4BACH,CAAC,CAAC,SAAS;wBACf,SAAS,EACP,cAAc,EAAE,MAAM,IAAI,iBAAiB,CAAC,MAAM;4BAChD,CAAC,CAAC;gCACE,KAAK,EAAE,cAAc;gCACrB,IAAI,EAAE,iBAAiB,CAAC,MAAM;oCAC5B,CAAC,CAAC,iBAAiB;oCACnB,CAAC,CAAC,SAAS;6BACd;4BACH,CAAC,CAAC,SAAS;wBACf,KAAK,EAAE,aAAa;wBACpB,QAAQ,EAAE,iBAAiB;wBAC3B,GAAG,EAAE,aAAa,IAAI,GAAG;wBACzB,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK;qBAC7D;iBACF,EACD,EAAE,MAAM,EAAE,CACX;gBACH,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAEzB,MAAM,mBAAmB,GAAG,qBAAqB;gBAC/C,CAAC,CAAC,eAAe,CACb;oBACE,WAAW;oBACX,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;oBACjC,SAAS,EAAE,WAAW;oBACtB,SAAS,EAAE,gBAAgB;oBAC3B,SAAS;oBACT,OAAO,EAAE,SAAS;oBAClB,OAAO,EAAE,cAAc;oBACvB,gBAAgB,EACd,aAAa,IAAI,2BAA2B;wBAC1C,CAAC,CAAC,2BAA2B;wBAC7B,CAAC,CAAC,SAAS;oBACf,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE,iBAAiB;oBAC3B,GAAG,EAAE,aAAa,IAAI,GAAG;oBACzB,GAAG,CAAC,YAAY,EAAE,MAAM,IAAI,eAAe,CAAC,MAAM;wBAChD,CAAC,CAAC;4BACE,YAAY,EAAE,YAAY;4BAC1B,WAAW,EAAE,eAAe,CAAC,MAAM;gCACjC,CAAC,CAAC,eAAe;gCACjB,CAAC,CAAC,SAAS;yBACd;wBACH,CAAC,CAAC,SAAS,CAAC;oBACd,GAAG,CAAC,cAAc,EAAE,MAAM,IAAI,iBAAiB,CAAC,MAAM;wBACpD,CAAC,CAAC;4BACE,cAAc,EAAE,cAAc;4BAC9B,aAAa,EAAE,iBAAiB,CAAC,MAAM;gCACrC,CAAC,CAAC,iBAAiB;gCACnB,CAAC,CAAC,SAAS;yBACd;wBACH,CAAC,CAAC,SAAS,CAAC;iBACf,EACD,EAAE,MAAM,EAAE,CACX;qBACE,IAAI,CAAC,mBAAmB,CAAC;qBACzB,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;gBACtB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAEzB,6CAA6C;YAC7C,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAA;YAE5C,IAAI,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC3C,qDAAqD;gBACrD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CACpD;gBAAA,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACtC,sCAAsC;oBACtC,WAAW,CAAC,cAAc,CACxB,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,EAChD,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAC1C,CAAA;oBAED,qEAAqE;oBACrE,WAAW,CAAC,cAAc,CACxB;wBACE,QAAQ,EAAE,CAAC,WAAW,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;wBACnD,KAAK,EAAE,KAAK;qBACb,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAC1C,CAAA;oBAED,WAAW,CAAC,cAAc,CACxB;wBACE,QAAQ,EAAE;4BACR,WAAW,CAAC,gBAAgB,EAAE,SAAS,CAAC;4BACxC,WAAW;4BACX,KAAK,CAAC,OAAO;yBACd;qBACF,EACD,CAAC,IAAI,EAAE,EAAE;wBACP,IAAI,IAAI,EAAE,CAAC;4BACT,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;4BAC5B,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAChC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CACnD,CAAA;4BACD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gCACf,UAAU,CAAC,KAAK,CAAC,GAAG;oCAClB,GAAG,UAAU,CAAC,KAAK,CAAC;oCACpB,GAAG,KAAK;iCACT,CAAA;4BACH,CAAC;4BACD,OAAO,UAAU,CAAA;wBACnB,CAAC;oBACH,CAAC,CACF,CAAA;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC;YAED,MAAM,aAAa,GAAG,YAAY,EAAE,MAAM,IAAI,EAAE,CAAA;YAEhD,IAAI,qBAAqB,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;gBAClD,qBAAqB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;gBAC9C,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,aAAa,CAAC,CAAA;gBACxD,+CAA+C;YACjD,CAAC;iBAAM,IAAI,mBAAmB,EAAE,CAAC;gBAC/B,4DAA4D;gBAC5D,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,aAAa,CAAC,CAAA;gBACxD,OAAO,aAAa,CAAA;YACtB,CAAC;YAED,MAAM,kBAAkB,GAAG,MAAM,mBAAmB,CAAA;YACpD,yDAAyD;YACzD,IAAI,kBAAkB,EAAE,CAAC;gBACvB,iEAAiE;gBACjE,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAA;gBAC9C,0BAA0B;gBAC1B,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,aAAa,CAAC,CAAA;YAC1D,CAAC;YAED,OAAO,aAAa,CAAA;QACtB,CAAC;QACD,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,WAAW;QACtB,eAAe,CAAC,KAAK;YACnB,OAAO,IAAI,CAAC,GAAG,CACb,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAChE,WAAW,CACZ,CAAA;QACH,CAAC;QACD,KAAK,CAAC,YAAY,EAAE,KAAU;YAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;gBAC3C,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAA;YAC9D,CAAC;YACD,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;gBACtB,OAAO,KAAK,CAAA;YACd,CAAC;YACD,IAAI,KAAK,EAAE,IAAI,KAAK,aAAa,CAAC,QAAQ,EAAE,CAAC;gBAC3C,OAAO,KAAK,CAAA;YACd,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;KACF,CAAC,CAAA;IAEJ,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,KAAY,EAAE,EAAE;QACf,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;QACzE,WAAW,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,EAAE;YAC9C,SAAS,EAAE,aAAa,IAAI,IAAI,CAAC,GAAG,EAAE;SACvC,CAAC,CAAA;QACF,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC,EACD,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAC3D,CAAA;IAED,OAAO;QACL,MAAM,EAAE,IAAI,IAAI,qBAAqB,CAAC,QAAQ,CAAC;QAC/C,SAAS,EAAE,SAAS,IAAI,SAAS;QACjC,UAAU;QACV,SAAS;QACT,aAAa;QACb,WAAW;QACX,OAAO;QACP,SAAS;QACT,OAAO;QACP,QAAQ;QACR,kBAAkB;KACnB,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"useRoutes.js","sourceRoot":"","sources":["../../../src/hooks/useRoutes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Parse an amount string from the form to the smallest token unit.
3
+ * An amount without digits ('', '-', '.', '-.') parses to 0n.
4
+ * viem 2.55.4+ throws on these values, older versions returned 0n.
5
+ * @param amount amount to parse.
6
+ * @param decimals token decimals.
7
+ * @returns parsed amount.
8
+ */
9
+ export declare function parseInputAmount(amount: string, decimals: number): bigint;
@@ -0,0 +1,17 @@
1
+ import { parseUnits } from 'viem';
2
+ /**
3
+ * Parse an amount string from the form to the smallest token unit.
4
+ * An amount without digits ('', '-', '.', '-.') parses to 0n.
5
+ * viem 2.55.4+ throws on these values, older versions returned 0n.
6
+ * @param amount amount to parse.
7
+ * @param decimals token decimals.
8
+ * @returns parsed amount.
9
+ */
10
+ export function parseInputAmount(amount, decimals) {
11
+ const value = amount.trim();
12
+ if (/^-?\.?$/.test(value)) {
13
+ return 0n;
14
+ }
15
+ return parseUnits(value, decimals);
16
+ }
17
+ //# sourceMappingURL=parseInputAmount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseInputAmount.js","sourceRoot":"","sources":["../../../src/utils/parseInputAmount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAEjC;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,QAAgB;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;IAC3B,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;AACpC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,31 @@
1
+ import { parseUnits } from 'viem';
2
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
3
+ import { parseInputAmount } from './parseInputAmount.js';
4
+ vi.mock('viem', async (importOriginal) => {
5
+ const viem = await importOriginal();
6
+ return { ...viem, parseUnits: vi.fn(viem.parseUnits) };
7
+ });
8
+ describe('parseInputAmount', () => {
9
+ beforeEach(() => {
10
+ vi.mocked(parseUnits).mockClear();
11
+ });
12
+ it('should return 0n for an empty amount', () => {
13
+ expect(parseInputAmount('', 18)).toBe(0n);
14
+ expect(parseInputAmount(' ', 18)).toBe(0n);
15
+ expect(parseInputAmount('-', 18)).toBe(0n);
16
+ expect(parseInputAmount('.', 18)).toBe(0n);
17
+ expect(parseInputAmount('-.', 18)).toBe(0n);
18
+ // viem 2.55.4+ throws on these values, so they must not reach parseUnits
19
+ expect(parseUnits).not.toHaveBeenCalled();
20
+ });
21
+ it('should parse decimal amounts', () => {
22
+ expect(parseInputAmount('1', 6)).toBe(1000000n);
23
+ expect(parseInputAmount('1.', 6)).toBe(1000000n);
24
+ expect(parseInputAmount('.5', 6)).toBe(500000n);
25
+ expect(parseInputAmount(' 1.5 ', 6)).toBe(1500000n);
26
+ });
27
+ it('should throw for invalid amounts', () => {
28
+ expect(() => parseInputAmount('abc', 6)).toThrow();
29
+ });
30
+ });
31
+ //# sourceMappingURL=parseInputAmount.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseInputAmount.test.js","sourceRoot":"","sources":["../../../src/utils/parseInputAmount.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IACvC,MAAM,IAAI,GAAG,MAAM,cAAc,EAAyB,CAAA;IAC1D,OAAO,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAA;AACxD,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAA;IACnC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACzC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC5C,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC1C,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC1C,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC3C,yEAAyE;QACzE,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAU,CAAC,CAAA;QACjD,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAU,CAAC,CAAA;QAClD,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAQ,CAAC,CAAA;QAChD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAU,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;IACpD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/widget",
3
- "version": "3.40.11",
3
+ "version": "3.40.13",
4
4
  "description": "LI.FI Widget for cross-chain bridging and swapping. It will drive your multi-chain strategy and attract new users from everywhere.",
5
5
  "type": "module",
6
6
  "main": "./dist/esm/index.js",
@@ -30,29 +30,29 @@
30
30
  "lifi"
31
31
  ],
32
32
  "dependencies": {
33
- "@bigmi/client": "^0.7.0",
34
- "@bigmi/core": "^0.7.0",
33
+ "@bigmi/client": "^0.7.1",
34
+ "@bigmi/core": "^0.7.1",
35
35
  "@emotion/react": "^11.14.0",
36
36
  "@emotion/styled": "^11.14.1",
37
- "@lifi/sdk": "^3.15.7",
38
- "@mui/icons-material": "^7.3.8",
39
- "@mui/material": "^7.3.8",
40
- "@mui/system": "^7.3.8",
37
+ "@lifi/sdk": "^3.16.1",
38
+ "@mui/icons-material": "^7.3.9",
39
+ "@mui/material": "^7.3.9",
40
+ "@mui/system": "^7.3.9",
41
41
  "@mysten/sui": "^1.45.2",
42
42
  "@solana/wallet-adapter-base": "^0.9.27",
43
43
  "@solana/wallet-adapter-coinbase": "^0.1.23",
44
44
  "@solana/web3.js": "^1.98.4",
45
- "@tanstack/react-virtual": "^3.13.19",
46
- "i18next": "^25.8.13",
45
+ "@tanstack/react-virtual": "^3.13.21",
46
+ "i18next": "^25.8.18",
47
47
  "microdiff": "^1.5.0",
48
48
  "mitt": "^3.0.1",
49
- "react-i18next": "^16.5.4",
49
+ "react-i18next": "^16.5.8",
50
50
  "react-intersection-observer": "^9.16.0",
51
51
  "react-router-dom": "^6.30.3",
52
52
  "react-transition-group": "^4.4.5",
53
- "viem": "^2.46.3",
53
+ "viem": "^2.47.2",
54
54
  "zustand": "^5.0.11",
55
- "@lifi/wallet-management": "^3.22.7"
55
+ "@lifi/wallet-management": "^3.22.8"
56
56
  },
57
57
  "peerDependencies": {
58
58
  "@bigmi/react": ">=0.6.0",
package/package.json.tmp CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/widget",
3
- "version": "3.40.11",
3
+ "version": "3.40.13",
4
4
  "description": "LI.FI Widget for cross-chain bridging and swapping. It will drive your multi-chain strategy and attract new users from everywhere.",
5
5
  "type": "module",
6
6
  "main": "./src/index.ts",
@@ -49,28 +49,28 @@
49
49
  "lifi"
50
50
  ],
51
51
  "dependencies": {
52
- "@bigmi/client": "^0.7.0",
53
- "@bigmi/core": "^0.7.0",
52
+ "@bigmi/client": "^0.7.1",
53
+ "@bigmi/core": "^0.7.1",
54
54
  "@emotion/react": "^11.14.0",
55
55
  "@emotion/styled": "^11.14.1",
56
- "@lifi/sdk": "^3.15.7",
56
+ "@lifi/sdk": "^3.16.1",
57
57
  "@lifi/wallet-management": "workspace:^",
58
- "@mui/icons-material": "^7.3.8",
59
- "@mui/material": "^7.3.8",
60
- "@mui/system": "^7.3.8",
58
+ "@mui/icons-material": "^7.3.9",
59
+ "@mui/material": "^7.3.9",
60
+ "@mui/system": "^7.3.9",
61
61
  "@mysten/sui": "^1.45.2",
62
62
  "@solana/wallet-adapter-base": "^0.9.27",
63
63
  "@solana/wallet-adapter-coinbase": "^0.1.23",
64
64
  "@solana/web3.js": "^1.98.4",
65
- "@tanstack/react-virtual": "^3.13.19",
66
- "i18next": "^25.8.13",
65
+ "@tanstack/react-virtual": "^3.13.21",
66
+ "i18next": "^25.8.18",
67
67
  "microdiff": "^1.5.0",
68
68
  "mitt": "^3.0.1",
69
- "react-i18next": "^16.5.4",
69
+ "react-i18next": "^16.5.8",
70
70
  "react-intersection-observer": "^9.16.0",
71
71
  "react-router-dom": "^6.30.3",
72
72
  "react-transition-group": "^4.4.5",
73
- "viem": "^2.46.3",
73
+ "viem": "^2.47.2",
74
74
  "zustand": "^5.0.11"
75
75
  },
76
76
  "devDependencies": {
@@ -1,2 +1,2 @@
1
1
  export const name = '@lifi/widget'
2
- export const version = '3.40.11'
2
+ export const version = '3.40.13'
@@ -1,10 +1,10 @@
1
1
  import type { RouteExtended } from '@lifi/sdk'
2
2
  import { useAccount } from '@lifi/wallet-management'
3
3
  import { keepPreviousData, useQuery } from '@tanstack/react-query'
4
- import { parseUnits } from 'viem'
5
4
  import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'
6
5
  import { useFieldValues } from '../stores/form/useFieldValues.js'
7
6
  import { isRouteDone } from '../stores/routes/utils.js'
7
+ import { parseInputAmount } from '../utils/parseInputAmount.js'
8
8
  import { getQueryKey } from '../utils/queries.js'
9
9
  import { useTokenAddressBalance } from './useTokenAddressBalance.js'
10
10
  import { getTokenBalancesWithRetry } from './useTokenBalance.js'
@@ -46,10 +46,10 @@ export const useFromTokenSufficiency = (route?: RouteExtended) => {
46
46
  if (!accountAddress || !token) {
47
47
  return
48
48
  }
49
- const parsedFromAmount = parseUnits(fromAmount, token.decimals)
50
49
  let currentTokenBalance = token.amount ?? 0n
51
50
 
52
51
  if (!route || isRouteDone(route)) {
52
+ const parsedFromAmount = parseInputAmount(fromAmount, token.decimals)
53
53
  const insufficientFunds = currentTokenBalance < parsedFromAmount
54
54
  return insufficientFunds
55
55
  }
@@ -13,7 +13,6 @@ import {
13
13
  import { useAccount } from '@lifi/wallet-management'
14
14
  import { useQuery, useQueryClient } from '@tanstack/react-query'
15
15
  import { useCallback, useMemo } from 'react'
16
- import { parseUnits } from 'viem'
17
16
  import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'
18
17
  import { useFieldValues } from '../stores/form/useFieldValues.js'
19
18
  import { useIntermediateRoutesStore } from '../stores/routes/useIntermediateRoutesStore.js'
@@ -23,6 +22,7 @@ import { useSettings } from '../stores/settings/useSettings.js'
23
22
  import { WidgetEvent } from '../types/events.js'
24
23
  import type { TokensByChain } from '../types/token.js'
25
24
  import { getChainTypeFromAddress } from '../utils/chainType.js'
25
+ import { parseInputAmount } from '../utils/parseInputAmount.js'
26
26
  import { getQueryKey } from '../utils/queries.js'
27
27
  import { updateTokenInCache } from '../utils/token.js'
28
28
  import { useChain } from './useChain.js'
@@ -241,8 +241,11 @@ export const useRoutes = ({ observableRoute }: RoutesProps = {}) => {
241
241
  ],
242
242
  signal,
243
243
  }) => {
244
- const fromAmount = parseUnits(fromTokenAmount, fromToken!.decimals)
245
- const toAmount = parseUnits(toTokenAmount, toToken!.decimals)
244
+ const fromAmount = parseInputAmount(
245
+ fromTokenAmount,
246
+ fromToken!.decimals
247
+ )
248
+ const toAmount = parseInputAmount(toTokenAmount, toToken!.decimals)
246
249
  const formattedSlippage = slippage
247
250
  ? Number.parseFloat(slippage) / 100
248
251
  : defaultSlippage
@@ -0,0 +1,35 @@
1
+ import { parseUnits } from 'viem'
2
+ import { beforeEach, describe, expect, it, vi } from 'vitest'
3
+ import { parseInputAmount } from './parseInputAmount.js'
4
+
5
+ vi.mock('viem', async (importOriginal) => {
6
+ const viem = await importOriginal<typeof import('viem')>()
7
+ return { ...viem, parseUnits: vi.fn(viem.parseUnits) }
8
+ })
9
+
10
+ describe('parseInputAmount', () => {
11
+ beforeEach(() => {
12
+ vi.mocked(parseUnits).mockClear()
13
+ })
14
+
15
+ it('should return 0n for an empty amount', () => {
16
+ expect(parseInputAmount('', 18)).toBe(0n)
17
+ expect(parseInputAmount(' ', 18)).toBe(0n)
18
+ expect(parseInputAmount('-', 18)).toBe(0n)
19
+ expect(parseInputAmount('.', 18)).toBe(0n)
20
+ expect(parseInputAmount('-.', 18)).toBe(0n)
21
+ // viem 2.55.4+ throws on these values, so they must not reach parseUnits
22
+ expect(parseUnits).not.toHaveBeenCalled()
23
+ })
24
+
25
+ it('should parse decimal amounts', () => {
26
+ expect(parseInputAmount('1', 6)).toBe(1_000_000n)
27
+ expect(parseInputAmount('1.', 6)).toBe(1_000_000n)
28
+ expect(parseInputAmount('.5', 6)).toBe(500_000n)
29
+ expect(parseInputAmount(' 1.5 ', 6)).toBe(1_500_000n)
30
+ })
31
+
32
+ it('should throw for invalid amounts', () => {
33
+ expect(() => parseInputAmount('abc', 6)).toThrow()
34
+ })
35
+ })
@@ -0,0 +1,17 @@
1
+ import { parseUnits } from 'viem'
2
+
3
+ /**
4
+ * Parse an amount string from the form to the smallest token unit.
5
+ * An amount without digits ('', '-', '.', '-.') parses to 0n.
6
+ * viem 2.55.4+ throws on these values, older versions returned 0n.
7
+ * @param amount amount to parse.
8
+ * @param decimals token decimals.
9
+ * @returns parsed amount.
10
+ */
11
+ export function parseInputAmount(amount: string, decimals: number) {
12
+ const value = amount.trim()
13
+ if (/^-?\.?$/.test(value)) {
14
+ return 0n
15
+ }
16
+ return parseUnits(value, decimals)
17
+ }