@imtbl/checkout-widgets 2.7.6-alpha.2 → 2.7.6-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/{AddTokensWidget-BGeZs8EY.js → AddTokensWidget-Cz-3P4n8.js} +10 -10
- package/dist/browser/{BridgeWidget-DDC87l7K.js → BridgeWidget-DwaaBUiy.js} +21 -21
- package/dist/browser/{CommerceWidget-6dxMynkR.js → CommerceWidget-r3ceeFjn.js} +14 -14
- package/dist/browser/{FeesBreakdown-B1jPuSP_.js → FeesBreakdown-CYHYY0E5.js} +1 -1
- package/dist/browser/{OnRampWidget-B0KzehaG.js → OnRampWidget-DhyoYuwo.js} +3 -3
- package/dist/browser/{SaleWidget-CJu0USe6.js → SaleWidget-C_iXIOAD.js} +10 -15
- package/dist/browser/{SpendingCapHero-DGUKkYt9.js → SpendingCapHero-BlahRW7H.js} +1 -1
- package/dist/browser/{SwapWidget-BshtY8I8.js → SwapWidget-CtxMh18w.js} +15 -15
- package/dist/browser/{TokenImage-B92naxCB.js → TokenImage-BUwvAHwB.js} +1 -1
- package/dist/browser/{TopUpView-CvOrP6Ba.js → TopUpView-D0va9-8b.js} +1 -1
- package/dist/browser/{WalletApproveHero-Do2x0HjO.js → WalletApproveHero-DaynhYwW.js} +7 -7
- package/dist/browser/{WalletWidget-D3w6BkxS.js → WalletWidget-DEuyTfsr.js} +3 -3
- package/dist/browser/{auto-track-CdADT9b0.js → auto-track-BCQXdiGN.js} +1 -1
- package/dist/browser/{index-BqsFnkPC.js → index-BFxLOsUu.js} +1 -1
- package/dist/browser/{index-CjBOICvG.js → index-CF-oCXQz.js} +2 -2
- package/dist/browser/{index-BOy7rMqK.js → index-Cjtm0BWc.js} +1 -1
- package/dist/browser/{index-DdQ2R_ko.js → index-Cn4K5cCQ.js} +1 -1
- package/dist/browser/{index-CN0_mEO7.js → index-DLD2fApU.js} +1 -1
- package/dist/browser/{index-9WqNpN19.js → index-Dp2LchQR.js} +42 -40
- package/dist/browser/{index-DNhq7yYF.js → index-Z1ySY3CD.js} +1 -1
- package/dist/browser/{index-DKgrGfJW.js → index-nziVmB-g.js} +1 -1
- package/dist/browser/index.js +1 -1
- package/dist/browser/{index.umd-1BlkF5AJ.js → index.umd-CAVRgQ_6.js} +1 -1
- package/dist/browser/{useInterval-rSmx7TWg.js → useInterval-BiJy2Gyo.js} +1 -1
- package/dist/types/components/CoinSelector/CoinSelector.d.ts +2 -1
- package/dist/types/components/FormComponents/SelectForm/SelectForm.d.ts +4 -3
- package/dist/types/components/FormComponents/SelectInput/SelectInput.d.ts +4 -3
- package/dist/types/components/Transactions/Transactions.d.ts +3 -1
- package/dist/types/components/WalletDrawer/ConnectWalletDrawer.d.ts +2 -1
- package/dist/types/components/WalletDrawer/DeliverToWalletDrawer.d.ts +2 -1
- package/dist/types/components/WalletDrawer/PayWithWalletDrawer.d.ts +2 -1
- package/dist/types/components/WalletDrawer/WalletDrawer.d.ts +2 -1
- package/dist/types/lib/withDefaultWidgetConfig.d.ts +11 -2
- package/dist/types/widgets/bridge/components/BridgeForm.d.ts +3 -2
- package/dist/types/widgets/bridge/components/WalletAndNetworkSelector.d.ts +4 -1
- package/dist/types/widgets/bridge/views/Bridge.d.ts +3 -2
- package/dist/types/widgets/bridge/views/WalletNetworkSelectionView.d.ts +3 -1
- package/dist/types/widgets/connect/components/WalletList.d.ts +2 -1
- package/dist/types/widgets/connect/views/ConnectWallet.d.ts +3 -2
- package/dist/types/widgets/purchase/components/PurchaseConnectWalletDrawer.d.ts +2 -1
- package/dist/types/widgets/purchase/components/PurchaseDeliverToWalletDrawer.d.ts +2 -1
- package/dist/types/widgets/purchase/components/PurchasePayWithWalletDrawer.d.ts +2 -1
- package/dist/types/widgets/purchase/views/Purchase.d.ts +3 -2
- package/dist/types/widgets/swap/components/SwapForm.d.ts +3 -2
- package/dist/types/widgets/swap/views/SwapCoins.d.ts +3 -2
- package/package.json +7 -7
- package/src/components/CoinSelector/CoinSelector.tsx +10 -3
- package/src/components/FormComponents/SelectForm/SelectForm.tsx +6 -3
- package/src/components/FormComponents/SelectInput/SelectInput.tsx +5 -3
- package/src/components/Transactions/Transactions.tsx +4 -0
- package/src/components/WalletDrawer/ConnectWalletDrawer.tsx +3 -0
- package/src/components/WalletDrawer/DeliverToWalletDrawer.tsx +3 -0
- package/src/components/WalletDrawer/PayWithWalletDrawer.tsx +3 -0
- package/src/components/WalletDrawer/WalletDrawer.tsx +4 -0
- package/src/context/view-context/test-components/ViewContextTestComponent.tsx +7 -0
- package/src/lib/withDefaultWidgetConfig.test.ts +20 -10
- package/src/lib/withDefaultWidgetConfig.ts +12 -2
- package/src/widgets/BaseWidgetRoot.ts +1 -0
- package/src/widgets/add-tokens/views/AddTokens.tsx +2 -0
- package/src/widgets/bridge/BridgeWidget.tsx +8 -2
- package/src/widgets/bridge/components/BridgeForm.tsx +5 -2
- package/src/widgets/bridge/components/WalletAndNetworkSelector.tsx +4 -2
- package/src/widgets/bridge/views/Bridge.tsx +4 -1
- package/src/widgets/bridge/views/WalletNetworkSelectionView.tsx +4 -2
- package/src/widgets/connect/ConnectWidget.tsx +1 -0
- package/src/widgets/connect/components/WalletList.tsx +4 -0
- package/src/widgets/connect/views/ConnectWallet.tsx +4 -1
- package/src/widgets/purchase/PurchaseWidget.tsx +1 -0
- package/src/widgets/purchase/components/PurchaseConnectWalletDrawer.tsx +3 -0
- package/src/widgets/purchase/components/PurchaseDeliverToWalletDrawer.tsx +3 -0
- package/src/widgets/purchase/components/PurchasePayWithWalletDrawer.tsx +3 -0
- package/src/widgets/purchase/views/Purchase.tsx +5 -0
- package/src/widgets/sale/components/PaymentOptions.tsx +1 -7
- package/src/widgets/swap/SwapWidget.tsx +2 -0
- package/src/widgets/swap/components/SwapForm.tsx +5 -1
- package/src/widgets/swap/views/SwapCoins.tsx +4 -1
- package/src/widgets/transfer/TransferForm.tsx +2 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as reactExports, ac as hFlex, ad as _defineProperty, ae as _objectWithoutProperties, af as useForwardLocalDomRef, ag as _slicedToArray, ah as useResizeObserver, Q as useTheme, ai as usePrevious, aj as useGetMotionProfile, ak as useBrowserEffect, al as merge, am as getHeadingTextStyles, an as getMotionProfileSx, ao as useConvertSxToEmotionStyles, ap as DUMMY_WIDTH_PUSHER_TEXT, x as jsxs, v as jsx, B as Box, aq as useGetSubcomponentChild, ar as flattenChildren, as as vFlex, at as centerFlexChildren, au as SmartClone, av as FormControlLabel, aw as FormControlValidation, ax as FormControlCaption, o as oo, C as Co, ay as getDefaultExportFromCjs, az as commonjsGlobal, k as useTranslation, aA as Drawer, aB as Divider, H as Heading, y as Button, aC as useProvidersContext, D as useAnalytics, aD as WalletDrawer, aE as UnableToConnectDrawer, aF as Fragment, aG as qt, U as UserJourney, aH as removeSpace, aI as getProviderSlugFromRdns, aJ as D, aK as isPassportProvider, aL as connectEIP6963Provider, aM as identifyUser, aN as ConnectEIP6963ProviderError, aO as ProvidersContextActions, aP as MenuItem, aQ as Y, aR as SQUID_NATIVE_TOKEN, aS as commonjsRequire, X as getRemoteImage, aT as OnboardingPagination, aU as ViewContext, aV as useHandover, F as EventTargetContext, aW as HandoverTarget, V as ViewActions, q as getRemoteRive, aX as APPROVE_TXN_ANIMATION, aY as RiveStateMachineInput, aZ as HandoverContent, a_ as keyframes, j as ae, a$ as isNativeToken, b0 as getTokenImageByAddress, b1 as FramedImage, b2 as FramedIcon, b3 as ButtCon, b4 as TextInput, b5 as VerticalMenu, K as getDefaultTokenImage, b6 as TOKEN_PRIORITY_ORDER, A as Body, b7 as EllipsizedText, b8 as Tooltip, b9 as Sticker, ba as getDurationFormatted, bb as getTotalRouteFees, bc as getRouteAndTokenBalances, S as Stack, bd as Icon, be as Badge, bf as getFormattedAmounts, bg as getRemoteVideo, bh as FramedVideo, bi as listVariants, bj as motion, bk as listItemVariants, bl as Banner, bm as useRoutes, bn as useInjectedProviders, bo as hn, bp as RouteError, z as SimpleLayout, bq as dist, O as orchestrationEvents, b as parseUnits, a5 as SharedViews, br as SquidFooter, bs as TOOLKIT_SQUID_URL, bt as merge$1, bu as SvgIcon, bv as WalletWarningHero, bw as getFormattedNumber, bx as FIXED_HANDOVER_DURATION, by as EXECUTE_TXN_ANIMATION, L as Link, bz as Trans, bA as useExecute, bB as getRouteChains, bC as t, bD as convertToNetworkChangeableProvider, bE as verifyAndSwitchChain, bF as PriceDisplay, a0 as LoadingView, bG as getFromAmountData, bH as viewReducer, bI as initialViewState, bJ as useSquid, bK as useTokens, bL as v4, bM as K, bN as isValidAddress, P as amountInputValidation, bO as fetchChains, bP as fetchBalances, W as CloudImage, a6 as ErrorView, bQ as ServiceUnavailableErrorView } from './index-
|
|
2
|
-
import { T as TokenImage } from './TokenImage-
|
|
3
|
-
import { f as fetchRiskAssessmentV2, r as resultHasSanctionedWallets, F as FeesBreakdown } from './FeesBreakdown-
|
|
1
|
+
import { r as reactExports, ac as hFlex, ad as _defineProperty, ae as _objectWithoutProperties, af as useForwardLocalDomRef, ag as _slicedToArray, ah as useResizeObserver, Q as useTheme, ai as usePrevious, aj as useGetMotionProfile, ak as useBrowserEffect, al as merge, am as getHeadingTextStyles, an as getMotionProfileSx, ao as useConvertSxToEmotionStyles, ap as DUMMY_WIDTH_PUSHER_TEXT, x as jsxs, v as jsx, B as Box, aq as useGetSubcomponentChild, ar as flattenChildren, as as vFlex, at as centerFlexChildren, au as SmartClone, av as FormControlLabel, aw as FormControlValidation, ax as FormControlCaption, o as oo, C as Co, ay as getDefaultExportFromCjs, az as commonjsGlobal, k as useTranslation, aA as Drawer, aB as Divider, H as Heading, y as Button, aC as useProvidersContext, D as useAnalytics, aD as WalletDrawer, aE as UnableToConnectDrawer, aF as Fragment, aG as qt, U as UserJourney, aH as removeSpace, aI as getProviderSlugFromRdns, aJ as D, aK as isPassportProvider, aL as connectEIP6963Provider, aM as identifyUser, aN as ConnectEIP6963ProviderError, aO as ProvidersContextActions, aP as MenuItem, aQ as Y, aR as SQUID_NATIVE_TOKEN, aS as commonjsRequire, X as getRemoteImage, aT as OnboardingPagination, aU as ViewContext, aV as useHandover, F as EventTargetContext, aW as HandoverTarget, V as ViewActions, q as getRemoteRive, aX as APPROVE_TXN_ANIMATION, aY as RiveStateMachineInput, aZ as HandoverContent, a_ as keyframes, j as ae, a$ as isNativeToken, b0 as getTokenImageByAddress, b1 as FramedImage, b2 as FramedIcon, b3 as ButtCon, b4 as TextInput, b5 as VerticalMenu, K as getDefaultTokenImage, b6 as TOKEN_PRIORITY_ORDER, A as Body, b7 as EllipsizedText, b8 as Tooltip, b9 as Sticker, ba as getDurationFormatted, bb as getTotalRouteFees, bc as getRouteAndTokenBalances, S as Stack, bd as Icon, be as Badge, bf as getFormattedAmounts, bg as getRemoteVideo, bh as FramedVideo, bi as listVariants, bj as motion, bk as listItemVariants, bl as Banner, bm as useRoutes, bn as useInjectedProviders, bo as hn, bp as RouteError, z as SimpleLayout, bq as dist, O as orchestrationEvents, b as parseUnits, a5 as SharedViews, br as SquidFooter, bs as TOOLKIT_SQUID_URL, bt as merge$1, bu as SvgIcon, bv as WalletWarningHero, bw as getFormattedNumber, bx as FIXED_HANDOVER_DURATION, by as EXECUTE_TXN_ANIMATION, L as Link, bz as Trans, bA as useExecute, bB as getRouteChains, bC as t, bD as convertToNetworkChangeableProvider, bE as verifyAndSwitchChain, bF as PriceDisplay, a0 as LoadingView, bG as getFromAmountData, bH as viewReducer, bI as initialViewState, bJ as useSquid, bK as useTokens, bL as v4, bM as K, bN as isValidAddress, P as amountInputValidation, bO as fetchChains, bP as fetchBalances, W as CloudImage, a6 as ErrorView, bQ as ServiceUnavailableErrorView } from './index-Dp2LchQR.js';
|
|
2
|
+
import { T as TokenImage } from './TokenImage-BUwvAHwB.js';
|
|
3
|
+
import { f as fetchRiskAssessmentV2, r as resultHasSanctionedWallets, F as FeesBreakdown } from './FeesBreakdown-CYHYY0E5.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* The function `useInterval` sets up an interval that repeatedly calls a given callback function with
|
|
@@ -884,7 +884,7 @@ function EOAWarningDrawer({ visible, onProceedClick, onCloseDrawer, }) {
|
|
|
884
884
|
}, children: [jsx(Button, { sx: { width: '100%', mb: 'base.spacing.x2' }, testId: "non-passport-cta-button", variant: "primary", size: "large", onClick: onCloseDrawer, children: t('drawers.eoaWarning.passportButtonText') }), jsx(Button, { sx: { width: '100%', marginBottom: 'base.spacing.x10' }, testId: "non-passport-cta-button", variant: "tertiary", size: "large", onClick: onProceedClick, children: t('drawers.eoaWarning.proceedButtonText') })] })] }) }) }));
|
|
885
885
|
}
|
|
886
886
|
|
|
887
|
-
function ConnectWalletDrawer({ heading, visible, onClose, onConnect, onError, providerType, walletOptions, bottomSlot, menuItemSize = 'small', disabledOptions = [], getShouldRequestWalletPermissions, shouldIdentifyUser = true, }) {
|
|
887
|
+
function ConnectWalletDrawer({ heading, visible, onClose, onConnect, onError, providerType, walletOptions, bottomSlot, menuItemSize = 'small', disabledOptions = [], getShouldRequestWalletPermissions, shouldIdentifyUser = true, drawerBackground, }) {
|
|
888
888
|
const { providersState: { checkout, fromProvider, lockedToProvider }, providersDispatch, } = useProvidersContext();
|
|
889
889
|
const { identify, track, user } = useAnalytics();
|
|
890
890
|
const prevWalletChangeEvent = reactExports.useRef();
|
|
@@ -996,10 +996,10 @@ function ConnectWalletDrawer({ heading, visible, onClose, onConnect, onError, pr
|
|
|
996
996
|
return (jsxs(Fragment, { children: [jsx(WalletDrawer, { testId: "select-from-wallet-drawer", showWalletConnect: true, showDrawer: visible, drawerText: { heading }, walletOptions: walletOptions, disabledOptions: disabledOptions, menuItemSize: menuItemSize, setShowDrawer: (show) => {
|
|
997
997
|
if (show === false)
|
|
998
998
|
onClose();
|
|
999
|
-
}, onWalletChange: handleOnWalletChangeEvent, bottomSlot: bottomSlot }), jsx(UnableToConnectDrawer, { visible: showUnableToConnectDrawer, checkout: checkout, onCloseDrawer: () => setShowUnableToConnectDrawer(false), onTryAgain: () => setShowUnableToConnectDrawer(false) }), jsx(EOAWarningDrawer, { visible: showEOAWarningDrawer, onProceedClick: handleProceedEOA, onCloseDrawer: handleCloseEOAWarningDrawer })] }));
|
|
999
|
+
}, onWalletChange: handleOnWalletChangeEvent, bottomSlot: bottomSlot, drawerBackground: drawerBackground }), jsx(UnableToConnectDrawer, { visible: showUnableToConnectDrawer, checkout: checkout, onCloseDrawer: () => setShowUnableToConnectDrawer(false), onTryAgain: () => setShowUnableToConnectDrawer(false) }), jsx(EOAWarningDrawer, { visible: showEOAWarningDrawer, onProceedClick: handleProceedEOA, onCloseDrawer: handleCloseEOAWarningDrawer })] }));
|
|
1000
1000
|
}
|
|
1001
1001
|
|
|
1002
|
-
function DeliverToWalletDrawer({ visible, onClose, onConnect, walletOptions, }) {
|
|
1002
|
+
function DeliverToWalletDrawer({ visible, onClose, onConnect, walletOptions, drawerBackground, }) {
|
|
1003
1003
|
const { providersState: { fromProviderInfo }, } = useProvidersContext();
|
|
1004
1004
|
const handleOnConnect = (provider, providerInfo) => {
|
|
1005
1005
|
onConnect?.('to', provider, providerInfo);
|
|
@@ -1009,10 +1009,10 @@ function DeliverToWalletDrawer({ visible, onClose, onConnect, walletOptions, })
|
|
|
1009
1009
|
// ie: Metamask to Metamsk, will send to same wallet address
|
|
1010
1010
|
const selectedSameFromWalletType = (providerInfo) => (fromProviderInfo?.rdns !== providerInfo.rdns ? undefined : false);
|
|
1011
1011
|
const { t } = useTranslation();
|
|
1012
|
-
return (jsx(ConnectWalletDrawer, { heading: t('drawers.wallet.deliverToHeading'), visible: visible, onClose: onClose, providerType: "to", walletOptions: walletOptions, onConnect: handleOnConnect, getShouldRequestWalletPermissions: selectedSameFromWalletType }));
|
|
1012
|
+
return (jsx(ConnectWalletDrawer, { heading: t('drawers.wallet.deliverToHeading'), visible: visible, onClose: onClose, providerType: "to", walletOptions: walletOptions, onConnect: handleOnConnect, drawerBackground: drawerBackground, getShouldRequestWalletPermissions: selectedSameFromWalletType }));
|
|
1013
1013
|
}
|
|
1014
1014
|
|
|
1015
|
-
function PayWithWalletDrawer({ visible, onClose, onConnect, onPayWithCard, walletOptions, insufficientBalance, showOnRampOption = true, }) {
|
|
1015
|
+
function PayWithWalletDrawer({ visible, onClose, onConnect, onPayWithCard, walletOptions, insufficientBalance, showOnRampOption = true, drawerBackground, }) {
|
|
1016
1016
|
const { t } = useTranslation();
|
|
1017
1017
|
const { providersState: { fromProviderInfo } } = useProvidersContext();
|
|
1018
1018
|
const disabledOptions = reactExports.useMemo(() => {
|
|
@@ -1037,7 +1037,7 @@ function PayWithWalletDrawer({ visible, onClose, onConnect, onPayWithCard, walle
|
|
|
1037
1037
|
}, [onClose, onPayWithCard]);
|
|
1038
1038
|
return (jsx(ConnectWalletDrawer, { heading: insufficientBalance
|
|
1039
1039
|
? t('drawers.wallet.payWithHeadingInsufficientBalance')
|
|
1040
|
-
: t('drawers.wallet.payWithHeading'), visible: visible, onClose: onClose, providerType: "from", walletOptions: walletOptions, disabledOptions: disabledOptions, bottomSlot: payWithCardItem, onConnect: handleOnConnect, shouldIdentifyUser: false }));
|
|
1040
|
+
: t('drawers.wallet.payWithHeading'), visible: visible, onClose: onClose, providerType: "from", walletOptions: walletOptions, disabledOptions: disabledOptions, bottomSlot: payWithCardItem, onConnect: handleOnConnect, shouldIdentifyUser: false, drawerBackground: drawerBackground }));
|
|
1041
1041
|
}
|
|
1042
1042
|
|
|
1043
1043
|
function convertToUsd(tokens, amount, token) {
|
|
@@ -4893,7 +4893,7 @@ function AddTokens({ checkout, toAmount, config, toTokenAddress, showOnrampOptio
|
|
|
4893
4893
|
: {}, label: t('views.ADD_TOKENS.walletSelection.to.label'), caption: t('views.ADD_TOKENS.walletSelection.to.caption'), providerInfo: {
|
|
4894
4894
|
...toProviderInfo,
|
|
4895
4895
|
address: toAddress,
|
|
4896
|
-
}, chainInfo: getChainInfo(), onClick: () => setShowDeliverToDrawer(true), disabled: lockedToProvider })] }), jsx(Button, { testId: "add-tokens-button", size: "large", variant: readyToReview ? 'primary' : 'secondary', disabled: !readyToReview, onClick: handleReviewClick, sx: { opacity: readyToReview ? 1 : 0.5 }, children: t('views.ADD_TOKENS.review.buttonText') }), jsx(SquidFooter, {}), jsx(PayWithWalletDrawer, { visible: showPayWithDrawer, walletOptions: walletOptions, onClose: () => setShowPayWithDrawer(false), onPayWithCard: handleCardClick, onConnect: handleWalletConnected, insufficientBalance: insufficientBalance, showOnRampOption: shouldShowOnRampOption || !selectedToken }), jsx(RouteOptionsDrawer, { checkout: checkout, routes: routes, showOnrampOption: shouldShowOnRampOption, showSwapOption: showSwapOption, showBridgeOption: showBridgeOption, visible: showOptionsDrawer, onClose: () => setShowOptionsDrawer(false), onCardClick: handleCardClick, onRouteClick: handleRouteClick, insufficientBalance: insufficientBalance }), jsx(DeliverToWalletDrawer, { visible: showDeliverToDrawer, walletOptions: walletOptions, onClose: handleDeliverToClose, onConnect: handleWalletConnected }), jsx(OnboardingDrawer, { environment: checkout?.config.environment })] })] }), jsx(NotEnoughGasDrawer, { visible: showNotEnoughGasDrawer, routeData: selectedRouteData, onTryAgainClick: () => setShowNotEnoughGasDrawer(false), onToolkitClick: handleToolkitClick })] }));
|
|
4896
|
+
}, chainInfo: getChainInfo(), onClick: () => setShowDeliverToDrawer(true), disabled: lockedToProvider })] }), jsx(Button, { testId: "add-tokens-button", size: "large", variant: readyToReview ? 'primary' : 'secondary', disabled: !readyToReview, onClick: handleReviewClick, sx: { opacity: readyToReview ? 1 : 0.5 }, children: t('views.ADD_TOKENS.review.buttonText') }), jsx(SquidFooter, {}), jsx(PayWithWalletDrawer, { visible: showPayWithDrawer, walletOptions: walletOptions, onClose: () => setShowPayWithDrawer(false), onPayWithCard: handleCardClick, onConnect: handleWalletConnected, insufficientBalance: insufficientBalance, showOnRampOption: shouldShowOnRampOption || !selectedToken, drawerBackground: config.themeOverrides?.drawerBackground }), jsx(RouteOptionsDrawer, { checkout: checkout, routes: routes, showOnrampOption: shouldShowOnRampOption, showSwapOption: showSwapOption, showBridgeOption: showBridgeOption, visible: showOptionsDrawer, onClose: () => setShowOptionsDrawer(false), onCardClick: handleCardClick, onRouteClick: handleRouteClick, insufficientBalance: insufficientBalance }), jsx(DeliverToWalletDrawer, { visible: showDeliverToDrawer, walletOptions: walletOptions, onClose: handleDeliverToClose, onConnect: handleWalletConnected, drawerBackground: config.themeOverrides?.drawerBackground }), jsx(OnboardingDrawer, { environment: checkout?.config.environment })] })] }), jsx(NotEnoughGasDrawer, { visible: showNotEnoughGasDrawer, routeData: selectedRouteData, onTryAgainClick: () => setShowNotEnoughGasDrawer(false), onToolkitClick: handleToolkitClick })] }));
|
|
4897
4897
|
}
|
|
4898
4898
|
|
|
4899
4899
|
function SquidIcon({ sx = {}, className, }) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { cp as toQuantity, cq as toBeHex, cr as getAddress, cs as keccak256, ct as AbiCoder, cu as concat, cv as axios, cw as ZeroAddress, h as Contract, _ as isAddress, bM as K$1, aQ as Y, cx as nt$1, cy as S, r as reactExports, o as oo, p as po, x as jsxs, v as jsx, cz as ShimmerBox, aP as MenuItem, S as Stack, k as useTranslation, A as Body, y as Button, B as Box, cA as PASSPORT_URL, L as Link, cB as getChainImage, b1 as FramedImage, b7 as EllipsizedText, bd as Icon, cC as getChainIdBySlug, aU as ViewContext, D as useAnalytics, aF as Fragment, aB as Divider, U as UserJourney, V as ViewActions, cD as useWalletConnect, cE as Logo, cF as RawImage, cG as isWalletConnectProvider, G as CryptoFiatContext, a$ as isNativeToken, b0 as getTokenImageByAddress, cH as getNativeSymbolByChainSlug, cb as formatUnits, e as calculateCryptoToFiat, F as EventTargetContext, j as ae$1, cI as JsonRpcProvider, a1 as CryptoFiatActions, aJ as D$1, bn as useInjectedProviders, cJ as retry, M as HeaderNavigation, c5 as FooterLogo, aD as WalletDrawer, z as SimpleLayout, cK as getChainSlugById, aK as isPassportProvider, cL as DEFAULT_TRANSACTIONS_RETRY_POLICY, aG as qt, a0 as LoadingView, Q as useTheme, H as Heading, cM as getChainNameById, cN as getWalletProviderNameByProvider, cO as isMetaMaskProvider, cP as fe$1, aA as Drawer, b3 as ButtCon, cQ as ButtonNavigationStyles, O as orchestrationEvents, J as tokenValueFormat, d as formatZeroAmount, cR as NATIVE, bU as mn, b as parseUnits, P as amountInputValidation, W as CloudImage, cS as ETH_TOKEN_SYMBOL, X as getRemoteImage, bF as PriceDisplay, cT as st, cU as DEFAULT_QUOTE_REFRESH_INTERVAL, cV as addChainChangedListener, cW as removeChainChangedListener, cX as
|
|
2
|
-
import { B as BridgeWidgetViews, T as TopUpView } from './TopUpView-
|
|
3
|
-
import { T as TokenImage } from './TokenImage-
|
|
4
|
-
import { A as Accordion, S as SelectForm, T as TextInputForm, a as TransactionRejected, g as getAllowedBalances, b as gasAmountAccordionStyles, c as gasAmountHeadingStyles, N as NetworkSwitchDrawer, W as WalletApproveHero } from './WalletApproveHero-
|
|
5
|
-
import { f as fetchRiskAssessmentV2, r as resultHasSanctionedWallets, F as FeesBreakdown } from './FeesBreakdown-
|
|
6
|
-
import { u as useInterval } from './useInterval-
|
|
1
|
+
import { cp as toQuantity, cq as toBeHex, cr as getAddress, cs as keccak256, ct as AbiCoder, cu as concat, cv as axios, cw as ZeroAddress, h as Contract, _ as isAddress, bM as K$1, aQ as Y, cx as nt$1, cy as S, r as reactExports, o as oo, p as po, x as jsxs, v as jsx, cz as ShimmerBox, aP as MenuItem, S as Stack, k as useTranslation, A as Body, y as Button, B as Box, cA as PASSPORT_URL, L as Link, cB as getChainImage, b1 as FramedImage, b7 as EllipsizedText, bd as Icon, cC as getChainIdBySlug, aU as ViewContext, D as useAnalytics, aF as Fragment, aB as Divider, U as UserJourney, V as ViewActions, cD as useWalletConnect, cE as Logo, cF as RawImage, cG as isWalletConnectProvider, G as CryptoFiatContext, a$ as isNativeToken, b0 as getTokenImageByAddress, cH as getNativeSymbolByChainSlug, cb as formatUnits, e as calculateCryptoToFiat, F as EventTargetContext, j as ae$1, cI as JsonRpcProvider, a1 as CryptoFiatActions, aJ as D$1, bn as useInjectedProviders, cJ as retry, M as HeaderNavigation, c5 as FooterLogo, aD as WalletDrawer, z as SimpleLayout, cK as getChainSlugById, aK as isPassportProvider, cL as DEFAULT_TRANSACTIONS_RETRY_POLICY, aG as qt, a0 as LoadingView, Q as useTheme, H as Heading, cM as getChainNameById, cN as getWalletProviderNameByProvider, cO as isMetaMaskProvider, cP as fe$1, aA as Drawer, b3 as ButtCon, cQ as ButtonNavigationStyles, O as orchestrationEvents, J as tokenValueFormat, d as formatZeroAmount, cR as NATIVE, bU as mn, b as parseUnits, P as amountInputValidation, W as CloudImage, cS as ETH_TOKEN_SYMBOL, X as getRemoteImage, bF as PriceDisplay, cT as st, cU as DEFAULT_QUOTE_REFRESH_INTERVAL, cV as addChainChangedListener, cW as removeChainChangedListener, cX as xt, cY as IMX_TOKEN_SYMBOL, a5 as SharedViews, cZ as DEFAULT_TOKEN_DECIMALS, l as dist, c_ as CHECKOUT_CDN_BASE_URL, c$ as heroBackGroundStyles, d0 as heroImageStyles, be as Badge, d1 as SimpleTextBody, d2 as FooterButton, d3 as getEthTokenImage, d4 as WITHDRAWAL_CLAIM_GAS_LIMIT, d5 as Ct, bH as viewReducer, bI as initialViewState, d6 as r, d7 as StatusView, c6 as StatusType, a6 as ErrorView, bQ as ServiceUnavailableErrorView, Y as CryptoFiatProvider, K as getDefaultTokenImage } from './index-Dp2LchQR.js';
|
|
2
|
+
import { B as BridgeWidgetViews, T as TopUpView } from './TopUpView-D0va9-8b.js';
|
|
3
|
+
import { T as TokenImage } from './TokenImage-BUwvAHwB.js';
|
|
4
|
+
import { A as Accordion, S as SelectForm, T as TextInputForm, a as TransactionRejected, g as getAllowedBalances, b as gasAmountAccordionStyles, c as gasAmountHeadingStyles, N as NetworkSwitchDrawer, W as WalletApproveHero } from './WalletApproveHero-DaynhYwW.js';
|
|
5
|
+
import { f as fetchRiskAssessmentV2, r as resultHasSanctionedWallets, F as FeesBreakdown } from './FeesBreakdown-CYHYY0E5.js';
|
|
6
|
+
import { u as useInterval } from './useInterval-BiJy2Gyo.js';
|
|
7
7
|
|
|
8
8
|
var ae=[{inputs:[{internalType:"address",name:"_gateway",type:"address"},{internalType:"address",name:"_initializerAddress",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"CallerNotBridge",type:"error"},{inputs:[],name:"InvalidAddress",type:"error"},{inputs:[],name:"InvalidChildBridgeAdaptor",type:"error"},{inputs:[],name:"InvalidChildChain",type:"error"},{inputs:[],name:"InvalidSourceAddress",type:"error"},{inputs:[],name:"InvalidSourceChain",type:"error"},{inputs:[],name:"NoGas",type:"error"},{inputs:[],name:"NotApprovedByGateway",type:"error"},{inputs:[],name:"UnauthorizedInitializer",type:"error"},{inputs:[],name:"UnsupportedOperation",type:"error"},{inputs:[],name:"ZeroAddresses",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"string",name:"sourceChain",type:"string"},{indexed:!1,internalType:"string",name:"sourceAddress_",type:"string"},{indexed:!1,internalType:"bytes",name:"payload_",type:"bytes"}],name:"AdaptorExecute",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"string",name:"childChain",type:"string"},{indexed:!0,internalType:"string",name:"childBridgeAdaptor",type:"string"},{indexed:!0,internalType:"bytes",name:"payload",type:"bytes"}],name:"AxelarMessageSent",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"string",name:"oldChildBridgeAdaptor",type:"string"},{indexed:!1,internalType:"string",name:"newChildBridgeAdaptor",type:"string"}],name:"ChildBridgeAdaptorUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"string",name:"oldChildChain",type:"string"},{indexed:!0,internalType:"string",name:"newChildChain",type:"string"}],name:"ChildChainUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldGasService",type:"address"},{indexed:!0,internalType:"address",name:"newGasService",type:"address"}],name:"GasServiceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldRootBridge",type:"address"},{indexed:!0,internalType:"address",name:"newRootBridge",type:"address"}],name:"RootBridgeUpdated",type:"event"},{inputs:[],name:"BRIDGE_MANAGER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"GAS_SERVICE_MANAGER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"TARGET_MANAGER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"childBridgeAdaptor",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"childChainId",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"commandId",type:"bytes32"},{internalType:"string",name:"sourceChain",type:"string"},{internalType:"string",name:"sourceAddress",type:"string"},{internalType:"bytes",name:"payload",type:"bytes"}],name:"execute",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"commandId",type:"bytes32"},{internalType:"string",name:"sourceChain",type:"string"},{internalType:"string",name:"sourceAddress",type:"string"},{internalType:"bytes",name:"payload",type:"bytes"},{internalType:"string",name:"tokenSymbol",type:"string"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"executeWithToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"gasService",outputs:[{internalType:"contract IAxelarGasService",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"gateway",outputs:[{internalType:"contract IAxelarGateway",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"grantBridgeManagerRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"grantGasServiceManagerRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"grantTargetManagerRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"defaultAdmin",type:"address"},{internalType:"address",name:"bridgeManager",type:"address"},{internalType:"address",name:"gasServiceManager",type:"address"},{internalType:"address",name:"targetManager",type:"address"}],internalType:"struct IRootAxelarBridgeAdaptor.InitializationRoles",name:"_adaptorRoles",type:"tuple"},{internalType:"address",name:"_rootBridge",type:"address"},{internalType:"string",name:"_childChainId",type:"string"},{internalType:"string",name:"_childBridgeAdaptor",type:"string"},{internalType:"address",name:"_gasService",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initializerAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"revokeBridgeManagerRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"revokeGasServiceManagerRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"revokeTargetManagerRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"rootBridge",outputs:[{internalType:"contract IRootERC20Bridge",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"payload",type:"bytes"},{internalType:"address",name:"refundRecipient",type:"address"}],name:"sendMessage",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"newChildBridgeAdaptor",type:"string"}],name:"updateChildBridgeAdaptor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"newChildChain",type:"string"}],name:"updateChildChain",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newGasService",type:"address"}],name:"updateGasService",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newRootBridge",type:"address"}],name:"updateRootBridge",outputs:[],stateMutability:"nonpayable",type:"function"}];var ie=(i=>(i.SUCCESS="SUCCESS",i.PENDING="PENDING",i.FAILED="FAILED",i))(ie||{}),W=(i=>(i.DEPOSIT="DEPOSIT",i.WITHDRAW="WITHDRAW",i.FINALISE_WITHDRAWAL="FINALISE_WITHDRAWAL",i))(W||{}),G=(d=>(d[d.DEPOSIT_SOURCE=15e4]="DEPOSIT_SOURCE",d[d.DEPOSIT_DESTINATION=25e4]="DEPOSIT_DESTINATION",d[d.WITHDRAW_SOURCE=25e4]="WITHDRAW_SOURCE",d[d.WITHDRAW_DESTINATION=25e4]="WITHDRAW_DESTINATION",d[d.MAP_TOKEN_SOURCE=2e5]="MAP_TOKEN_SOURCE",d[d.MAP_TOKEN_DESTINATION=2e5]="MAP_TOKEN_DESTINATION",d[d.FINALISE_WITHDRAWAL=2e5]="FINALISE_WITHDRAWAL",d[d.APPROVE_TOKEN=55e3]="APPROVE_TOKEN",d))(G||{}),U=(s=>(s.PENDING="PENDING",s.PROCESSING="PROCESSING",s.COMPLETE="COMPLETE",s.RETRY="RETRY",s.ERROR="ERROR",s.NOT_ENOUGH_GAS="NOT_ENOUGH_GAS",s.FLOW_RATE_CONTROLLED="FLOW_RATE_CONTROLLED",s))(U||{});var R="NATIVE",re="11155111",Ze="1",H="15003",V="13473",X="13371",se="0x0000000000000000000000000000000000000eee",oe="0x7a8dc26796a1e50e6e190b70259f58f6a4edd5b22280ceecc82b687b8e982869",de="0x07b0d4304f82012bd3b70b1d531c160e326067c90829e2a3d386722ad10b89c3",pe="0x0000000000000000000000000000000000000000000000000000000000000004",ue={mainnet:"0x3a0c2ba54d6cbd3121f01b96dfd20e99d1696c9d",testnet:"0x1CcCa691501174B4A623CeDA58cC8f1a76dc3439",devnet:""},le={mainnet:"0xf57e7e7c23978c3caec3c3548e3d615c346e79ff",testnet:"0xe2629e08f4125d14e446660028bD98ee60EE69F2",devnet:""},ye={mainnet:"0x52a6c53869ce09a731cd772f245b97a4401d3348",testnet:"0xe9E96d1aad82562b7588F03f49aD34186f996478",devnet:""},ce={mainnet:"0x4f49b53928a71e553bb1b0f66a5bcb54fd4e8932",testnet:"0x6328Ac88ba8D466a0F551FC7C42C61d1aC7f92ab",devnet:""},me={mainnet:"0x4f49b53928a71e553bb1b0f66a5bcb54fd4e8932",testnet:"0x6328Ac88ba8D466a0F551FC7C42C61d1aC7f92ab",devnet:""},Te={mainnet:"immutable",testnet:"immutable",devnet:""},ge={mainnet:"0x4F4495243837681061C4743b74B3eEdf548D56A5",testnet:"0xe432150cce91c13a887f7D836923d5597adD8E31",devnet:""},$={rootChainID:re,childChainID:H},O={rootChainID:re,childChainID:V},P={rootChainID:Ze,childChainID:X},fe={mainnet:"https://api.gmp.axelarscan.io",testnet:"https://testnet.api.gmp.axelarscan.io",devnet:"https://stagenet.api.gmp.axelarscan.io"},he={mainnet:"https://bridge-api.immutable.com/v1/tenderly/estimate",testnet:"https://bridge-api.sandbox.immutable.com/v1/tenderly/estimate",devnet:"https://bridge-api.dev.immutable.com/v1/tenderly/estimate"},K={11155111:{id:"ethereum-sepolia",symbol:"ETH"},1:{id:"ethereum",symbol:"ETH"},15003:{id:"immutable",symbol:"IMX"},13473:{id:"immutable",symbol:"IMX"},13371:{id:"immutable",symbol:"IMX"}},Q={deposit:{token:"deposit",tokenTo:"depositTo",native:"depositETH",nativeTo:"depositToETH"},withdraw:{token:"withdraw",tokenTo:"withdrawTo",native:"withdrawIMX",nativeTo:"withdrawIMXTo"}};var _=(T=>(T.UNSUPPORTED_ERROR="UNSUPPORTED_ERROR",T.INVALID_ADDRESS="INVALID_ADDRESS",T.INVALID_AMOUNT="INVALID_AMOUNT",T.INTERNAL_ERROR="INTERNAL_ERROR",T.PROVIDER_ERROR="PROVIDER_ERROR",T.ROOT_PROVIDER_ERROR="ROOT_PROVIDER_ERROR",T.CHILD_PROVIDER_ERROR="CHILD_PROVIDER_ERROR",T.TRANSACTION_REVERTED="TRANSACTION_REVERTED",T.INVALID_TOKEN="INVALID_TOKEN",T.INVALID_TRANSACTION="INVALID_TRANSACTION",T.INVALID_SOURCE_CHAIN_ID="INVALID_SOURCE_CHAIN_ID",T.INVALID_DESTINATION_CHAIN_ID="INVALID_DESTINATION_CHAIN_ID",T.INVALID_SOURCE_OR_DESTINATION_CHAIN="INVALID_SOURCE_OR_DESTINATION_CHAIN",T.CHAIN_IDS_MATCH="CHAIN_IDS_MATCH",T.AXELAR_CHAIN_NOT_FOUND="AXELAR_CHAIN_NOT_FOUND",T.AXELAR_GAS_ESTIMATE_FAILED="AXELAR_GAS_ESTIMATE_FAILED",T.TENDERLY_GAS_ESTIMATE_FAILED="TENDERLY_GAS_ESTIMATE_FAILED",T.INVALID_RECIPIENT="INVALID_RECIPIENT",T.FLOW_RATE_ERROR="FLOW_RATE_ERROR",T.INVALID_FLOWRATE_INDEX="INVALID_FLOWRATE_INDEX",T))(_||{}),y=class extends Error{type;constructor(e,t){super(e),this.type=t;}},E=async(n,e,t)=>{try{return await n()}catch(i){let a=`${e}: ${i.message}`||"UnknownError";throw new y(a,e)}};async function I(n,e,t){return await E(async()=>new Contract(n,e,t),"PROVIDER_ERROR")}function C(n,e){let t;return n===P.rootChainID||n===P.childChainID?t=e.mainnet:n===O.rootChainID||n===O.childChainID?t=e.testnet:t=e.devnet,t}function je(n){return C(n,ye)}function be(n,e){return n.toUpperCase()===je(e).toUpperCase()}function z(n){return C(n,le)}function Re(n,e){return n.toUpperCase()===z(e).toUpperCase()}function Ie(n){return C(n,ce)}function Ae(n){return C(n,me)}function Ee(n){return C(n,Te)}function we(n){return C(n,ge)}function Z(n){return C(n,fe)}function xe(n){return C(n,he)}function qe(n){return C(n,ue)}function B(n,e){return n.toUpperCase()===qe(e).toUpperCase()}function v(n,e){return n.sourceChainId===e.rootChainID&&n.destinationChainId===e.childChainID&&n.action==="DEPOSIT"}function Ce(n,e){return n===e.rootChainID}function D(n,e){return n.sourceChainId===e.childChainID&&n.destinationChainId===e.rootChainID&&n.action==="WITHDRAW"}function ve(n,e,t){return D(e,t)&&!B(n,e.sourceChainId)}function _e(n){return !("token"in n)||n.token.toUpperCase()===R}function De(n,e,t){return D(e,t)&&B(n,e.sourceChainId)}async function Me(n){let e="Please upgrade to the latest version of the Bridge SDK or provide valid configuration",t=await E(async()=>n.rootProvider.getNetwork(),"ROOT_PROVIDER_ERROR");if(t.chainId.toString()!==n.bridgeInstance.rootChainID)throw new y(`Rootchain provider chainID ${t.chainId} does not match expected chainID ${n.bridgeInstance.rootChainID}. ${e}`,"UNSUPPORTED_ERROR");let i=await E(async()=>n.childProvider.getNetwork(),"CHILD_PROVIDER_ERROR");if(i.chainId.toString()!==n.bridgeInstance.childChainID)throw new y(`Childchain provider chainID ${i.chainId} does not match expected chainID ${n.bridgeInstance.childChainID}. ${e} `,"UNSUPPORTED_ERROR")}async function Ne(n,e,t,i){let a;if(e===i.bridgeInstance.rootChainID){if(!be(n,e))return;a=i.rootProvider;}else {if(!Re(n,e))return;a=i.childProvider;}if((await a.getCode(t)).length<=2)return;let s=await I(t,["function receive()"],a);try{await s.receive.estimateGas();}catch{try{await a.estimateGas({to:t});}catch{throw new y(`address ${t} is not a valid receipient`,"INVALID_RECIPIENT")}}}async function j(n,e,t){if(!(n===t.bridgeInstance.rootChainID||n===t.bridgeInstance.childChainID))throw new y(`the sourceChainId ${n} is not a valid`,"INVALID_SOURCE_CHAIN_ID");if(!(e===t.bridgeInstance.rootChainID||e===t.bridgeInstance.childChainID))throw new y(`the destinationChainId ${e} is not a valid`,"INVALID_DESTINATION_CHAIN_ID");if(n===e)throw new y(`the sourceChainId ${n} cannot be the same as the destinationChainId ${e}`,"CHAIN_IDS_MATCH")}async function Oe(n,e){if(await j(n.sourceChainId,n.destinationChainId,e),!isAddress(n.senderAddress)||!isAddress(n.recipientAddress))throw new y(`address ${n.senderAddress} or ${n.recipientAddress} is not a valid address`,"INVALID_ADDRESS");if(n.amount<=0n)throw new y(`deposit amount ${n.amount.toString()} is invalid`,"INVALID_AMOUNT");if(n.token.toUpperCase()!==R&&!isAddress(n.token))throw new y(`token address ${n.token} is not a valid address`,"INVALID_ADDRESS")}function Pe(n,e){if(n.action==="FINALISE_WITHDRAWAL"&&n.sourceChainId!==e.bridgeInstance.rootChainID)throw new y(`Finalised withdrawals must be on the root chain (${e.bridgeInstance.rootChainID})`,"INVALID_SOURCE_CHAIN_ID");if(!("destinationChainId"in n))throw new y("DEPOSIT or WITHDRAW used without destinationChainId","INVALID_DESTINATION_CHAIN_ID");let t={sourceChainId:n.sourceChainId,destinationChainId:n.destinationChainId,action:n.action};if(!v(t,e.bridgeInstance)&&!D(t,e.bridgeInstance))throw new y("This request is neither a valid deposit nor a valid withdrawal","INVALID_SOURCE_OR_DESTINATION_CHAIN")}var Je=n=>!!n.maxFeePerGas&&!!n.maxPriorityFeePerGas,et=n=>{if(Je(n)){let{maxFeePerGas:e,maxPriorityFeePerGas:t}=n;if(e===null||t===null)return null;let i=(e-t)/BigInt(2);return t+i}return n.gasPrice?n.gasPrice:null};function w(n,e){let t=et(n);return t?t*BigInt(e):BigInt(0)}var Be=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"userAddress",type:"address"},{indexed:!1,internalType:"address",name:"relayerAddress",type:"address"},{indexed:!1,internalType:"bytes",name:"functionSignature",type:"bytes"}],name:"MetaTransactionExecuted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"bridge",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"burn",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"userAddress",type:"address"},{internalType:"bytes",name:"functionSignature",type:"bytes"},{internalType:"bytes32",name:"sigR",type:"bytes32"},{internalType:"bytes32",name:"sigS",type:"bytes32"},{internalType:"uint8",name:"sigV",type:"uint8"}],name:"executeMetaTransaction",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getNonce",outputs:[{internalType:"uint256",name:"nonce",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"rootToken_",type:"address"},{internalType:"string",name:"name_",type:"string"},{internalType:"string",name:"symbol_",type:"string"},{internalType:"uint8",name:"decimals_",type:"uint8"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"offset",type:"uint256"}],name:"invalidateNext",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"mint",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"rootToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}];function Fe(n){return keccak256(AbiCoder.defaultAbiCoder().encode(["bytes","uint256"],[n,new Date().getTime()]))}function We(n,e,t,i){return AbiCoder.defaultAbiCoder().encode(["bytes32","address","address","address","uint256"],[oe,n,e,t,i])}async function nt(n,e){return I(n,Be,e)}async function ke(n,e,t){if(n.toUpperCase()===R||B(n,e))return z(e);let i=await nt(n,t);return E(()=>i.rootToken(),"PROVIDER_ERROR")}var it="0x84a3291a0";function rt(n){let e={};return n.forEach(t=>{let{contractAddress:i,stateDiff:a}=t,{storageSlot:r,value:o}=a;e[i]===void 0&&(e[i]={stateDiff:{}}),e[i].stateDiff[r]=o;}),e}async function q(n,e,t){let i,a=xe(n),r=t?rt(t):void 0;try{i=await axios.post(a,{jsonrpc:"2.0",id:0,method:"tenderly_simulateBundle",params:[e,"latest",r]},{headers:{"Content-Type":"application/json"}});}catch(g){i=g.response;}if(i.data.error)throw new y(`Estimating gas failed with the reason: ${i.data.error.message}`,"TENDERLY_GAS_ESTIMATE_FAILED");let o=i.data.result;if(o.length!==e.length)throw new y("Estimating gas failed with mismatched responses","TENDERLY_GAS_ESTIMATE_FAILED");let s=[],d=!1,p=!1,u=!1,l=0,m=!1,f=e.find(g=>g.data?.startsWith(it))!==void 0;for(let g=0;g<o.length;g++){if(o[g].error)throw new y(`Estimating deposit gas failed with the reason: ${o[g].error.message}`,"TENDERLY_GAS_ESTIMATE_FAILED");if(o[g].gasUsed===void 0)throw new y("Estimating gas did not return simulation results","TENDERLY_GAS_ESTIMATE_FAILED");if(f&&o[g].logs!==void 0){let c=o[g].logs.find(A=>A.name==="QueuedWithdrawal");if(c!==void 0){let A=new Map(c.inputs.map(x=>[x.name,x.value]));d=A.get("delayWithdrawalLargeAmount")||!1,p=A.get("delayWithdrawalUnknownToken")||!1,u=A.get("withdrawalQueueActivated")||!1;}}if(f&&o[g].trace!==void 0){let c=o[g].trace.find(A=>A.method==="largeTransferThresholds");c!==void 0&&(l=c.output,m=!0);}m||s.push(o[g].gasUsed);}return {gas:s,delayWithdrawalLargeAmount:d,delayWithdrawalUnknownToken:p,withdrawalQueueActivated:u,largeTransferThresholds:l}}var Le="0x0000000000000000000000000000000000000000000000000000000000000001";async function Ge(n,e,t,i,a,r){let o,s;if(i.toUpperCase()===R)n===e?(o=a.native,s=[t]):(o=a.nativeTo,s=[e,t]);else {let d=getAddress(i);n===e?(o=a.token,s=[d,t]):(o=a.tokenTo,s=[d,e,t]);}return await E(async()=>r.interface.encodeFunctionData(o,s),"INTERNAL_ERROR")}var M=[{inputs:[{internalType:"address",name:"_initializerAddress",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AlreadyMapped",type:"error"},{inputs:[{internalType:"uint256",name:"actualBalance",type:"uint256"},{internalType:"uint256",name:"expectedBalance",type:"uint256"}],name:"BalanceInvariantCheckFailed",type:"error"},{inputs:[],name:"CantMapETH",type:"error"},{inputs:[],name:"CantMapIMX",type:"error"},{inputs:[],name:"CantMapWETH",type:"error"},{inputs:[],name:"ImxDepositLimitExceeded",type:"error"},{inputs:[],name:"ImxDepositLimitTooLow",type:"error"},{inputs:[{internalType:"uint256",name:"lengthOfQueue",type:"uint256"},{internalType:"uint256",name:"requestedIndex",type:"uint256"}],name:"IndexOutsideWithdrawalQueue",type:"error"},{inputs:[],name:"InsufficientValue",type:"error"},{inputs:[],name:"InvalidCapacity",type:"error"},{inputs:[],name:"InvalidChildChain",type:"error"},{inputs:[{internalType:"string",name:"reason",type:"string"}],name:"InvalidData",type:"error"},{inputs:[],name:"InvalidRefillRate",type:"error"},{inputs:[],name:"InvalidToken",type:"error"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"actualToken",type:"address"}],name:"MixedTokens",type:"error"},{inputs:[],name:"NoGas",type:"error"},{inputs:[],name:"NonWrappedNativeTransfer",type:"error"},{inputs:[],name:"NotBridgeAdaptor",type:"error"},{inputs:[],name:"NotMapped",type:"error"},{inputs:[],name:"ProvideAtLeastOneIndex",type:"error"},{inputs:[{internalType:"address",name:"receiver",type:"address"}],name:"TokenIsZero",type:"error"},{inputs:[],name:"TokenNotSupported",type:"error"},{inputs:[],name:"UnauthorizedInitializer",type:"error"},{inputs:[{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"WithdrawalAlreadyProcessed",type:"error"},{inputs:[{internalType:"uint256",name:"timeNow",type:"uint256"},{internalType:"uint256",name:"currentWithdrawalTime",type:"uint256"}],name:"WithdrawalRequestTooEarly",type:"error"},{inputs:[],name:"WrongInitializer",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{inputs:[],name:"ZeroAmount",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"who",type:"address"}],name:"ActivatedWithdrawalQueue",type:"event"},{anonymous:!1,inputs:[],name:"AutoActivatedWithdrawalQueue",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"rootToken",type:"address"},{indexed:!0,internalType:"address",name:"childToken",type:"address"},{indexed:!1,internalType:"address",name:"depositor",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"ChildChainERC20Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"who",type:"address"}],name:"DeactivatedWithdrawalQueue",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"withdrawer",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"timestamp",type:"uint256"},{indexed:!1,internalType:"uint256",name:"index",type:"uint256"}],name:"EnQueuedWithdrawal",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"rootToken",type:"address"},{indexed:!1,internalType:"address",name:"depositor",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"IMXDeposit",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"rootToken",type:"address"},{indexed:!0,internalType:"address",name:"childToken",type:"address"}],name:"L1TokenMapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"rootToken",type:"address"},{indexed:!0,internalType:"address",name:"childToken",type:"address"},{indexed:!1,internalType:"address",name:"depositor",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"NativeEthDeposit",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"oldImxDepositLimit",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newImxDepositLimit",type:"uint256"}],name:"NewImxDepositLimit",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"withdrawer",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"timestamp",type:"uint256"},{indexed:!1,internalType:"uint256",name:"index",type:"uint256"}],name:"ProcessedWithdrawal",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"withdrawer",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bool",name:"delayWithdrawalLargeAmount",type:"bool"},{indexed:!1,internalType:"bool",name:"delayWithdrawalUnknownToken",type:"bool"},{indexed:!1,internalType:"bool",name:"withdrawalQueueActivated",type:"bool"}],name:"QueuedWithdrawal",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"capacity",type:"uint256"},{indexed:!1,internalType:"uint256",name:"refillRate",type:"uint256"},{indexed:!1,internalType:"uint256",name:"largeTransferThreshold",type:"uint256"},{indexed:!1,internalType:"uint256",name:"previousCapacity",type:"uint256"},{indexed:!1,internalType:"uint256",name:"previousRefillRate",type:"uint256"},{indexed:!1,internalType:"uint256",name:"previousLargeTransferThreshold",type:"uint256"}],name:"RateControlThresholdSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"oldRootBridgeAdaptor",type:"address"},{indexed:!1,internalType:"address",name:"newRootBridgeAdaptor",type:"address"}],name:"RootBridgeAdaptorUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"rootToken",type:"address"},{indexed:!0,internalType:"address",name:"childToken",type:"address"},{indexed:!1,internalType:"address",name:"withdrawer",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"RootChainERC20Withdraw",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"rootToken",type:"address"},{indexed:!0,internalType:"address",name:"childToken",type:"address"},{indexed:!1,internalType:"address",name:"withdrawer",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"RootChainETHWithdraw",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"rootToken",type:"address"},{indexed:!0,internalType:"address",name:"childToken",type:"address"},{indexed:!1,internalType:"address",name:"depositor",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WETHDeposit",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"delay",type:"uint256"},{indexed:!1,internalType:"uint256",name:"previousDelay",type:"uint256"}],name:"WithdrawalDelayUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawalForNonFlowRatedToken",type:"event"},{inputs:[],name:"ADAPTOR_MANAGER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEPOSIT_SIG",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAP_TOKEN_SIG",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"NATIVE_ETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"NATIVE_IMX",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"PAUSER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"UNLIMITED_DEPOSIT",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"UNPAUSER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"VARIABLE_MANAGER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"WITHDRAW_SIG",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"activateWithdrawalQueue",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"childERC20Bridge",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"childETHToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"childTokenTemplate",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"deactivateWithdrawalQueue",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"rootToken",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositETH",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"rootToken",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositTo",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositToETH",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"finaliseQueuedWithdrawal",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256[]",name:"indices",type:"uint256[]"}],name:"finaliseQueuedWithdrawalsAggregated",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"startIndex",type:"uint256"},{internalType:"uint256",name:"stopIndex",type:"uint256"},{internalType:"uint256",name:"maxFind",type:"uint256"}],name:"findPendingWithdrawals",outputs:[{components:[{internalType:"uint256",name:"index",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"}],internalType:"struct FlowRateWithdrawalQueue.FindPendingWithdrawal[]",name:"found",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"flowRateBuckets",outputs:[{internalType:"uint256",name:"capacity",type:"uint256"},{internalType:"uint256",name:"depth",type:"uint256"},{internalType:"uint256",name:"refillTime",type:"uint256"},{internalType:"uint256",name:"refillRate",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256[]",name:"indices",type:"uint256[]"}],name:"getPendingWithdrawals",outputs:[{components:[{internalType:"address",name:"withdrawer",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"}],internalType:"struct FlowRateWithdrawalQueue.PendingWithdrawal[]",name:"pending",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"receiver",type:"address"}],name:"getPendingWithdrawalsLength",outputs:[{internalType:"uint256",name:"length",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"grantAdaptorManagerRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"grantPauserRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"grantUnpauserRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"grantVariableManagerRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"imxCumulativeDepositLimit",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"defaultAdmin",type:"address"},{internalType:"address",name:"pauser",type:"address"},{internalType:"address",name:"unpauser",type:"address"},{internalType:"address",name:"variableManager",type:"address"},{internalType:"address",name:"adaptorManager",type:"address"}],internalType:"struct IRootERC20Bridge.InitializationRoles",name:"newRoles",type:"tuple"},{internalType:"address",name:"newRootBridgeAdaptor",type:"address"},{internalType:"address",name:"newChildERC20Bridge",type:"address"},{internalType:"address",name:"newChildTokenTemplate",type:"address"},{internalType:"address",name:"newRootIMXToken",type:"address"},{internalType:"address",name:"newRootWETHToken",type:"address"},{internalType:"uint256",name:"newImxCumulativeDepositLimit",type:"uint256"},{internalType:"address",name:"rateAdmin",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"defaultAdmin",type:"address"},{internalType:"address",name:"pauser",type:"address"},{internalType:"address",name:"unpauser",type:"address"},{internalType:"address",name:"variableManager",type:"address"},{internalType:"address",name:"adaptorManager",type:"address"}],internalType:"struct IRootERC20Bridge.InitializationRoles",name:"",type:"tuple"},{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"initialize",outputs:[],stateMutability:"pure",type:"function"},{inputs:[],name:"initializerAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"largeTransferThresholds",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"rootToken",type:"address"}],name:"mapToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"}],name:"onMessageReceive",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"revokeAdaptorManagerRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"revokePauserRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"revokeUnpauserRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"revokeVariableManagerRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"rootBridgeAdaptor",outputs:[{internalType:"contract IRootBridgeAdaptor",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"rootIMXToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"rootTokenToChildToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"rootWETHToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"capacity",type:"uint256"},{internalType:"uint256",name:"refillRate",type:"uint256"},{internalType:"uint256",name:"largeTransferThreshold",type:"uint256"}],name:"setRateControlThreshold",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"delay",type:"uint256"}],name:"setWithdrawalDelay",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"newImxCumulativeDepositLimit",type:"uint256"}],name:"updateImxCumulativeDepositLimit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newRootBridgeAdaptor",type:"address"}],name:"updateRootBridgeAdaptor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"withdrawalDelay",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"withdrawalQueueActivated",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}];var k=[{inputs:[{internalType:"string",name:"name_",type:"string"},{internalType:"string",name:"symbol_",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}];var J=[{inputs:[{internalType:"address",name:"_initializerAddress",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AlreadyMapped",type:"error"},{inputs:[{internalType:"uint256",name:"actualBalance",type:"uint256"},{internalType:"uint256",name:"expectedBalance",type:"uint256"}],name:"BalanceInvariantCheckFailed",type:"error"},{inputs:[],name:"BridgeNotSet",type:"error"},{inputs:[],name:"BurnFailed",type:"error"},{inputs:[],name:"CantMapETH",type:"error"},{inputs:[],name:"CantMapIMX",type:"error"},{inputs:[],name:"EmptyTokenContract",type:"error"},{inputs:[],name:"IncorrectBridgeAddress",type:"error"},{inputs:[],name:"InsufficientIMX",type:"error"},{inputs:[],name:"InsufficientValue",type:"error"},{inputs:[{internalType:"string",name:"reason",type:"string"}],name:"InvalidData",type:"error"},{inputs:[],name:"MintFailed",type:"error"},{inputs:[],name:"NoGas",type:"error"},{inputs:[],name:"NonWrappedNativeTransfer",type:"error"},{inputs:[],name:"NotBridgeAdaptor",type:"error"},{inputs:[],name:"NotMapped",type:"error"},{inputs:[],name:"TransferWIMXFailed",type:"error"},{inputs:[],name:"UnauthorizedInitializer",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{inputs:[],name:"ZeroAddressRootToken",type:"error"},{inputs:[],name:"ZeroAmount",type:"error"},{inputs:[],name:"ZeroValue",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"oldChildBridgeAdaptor",type:"address"},{indexed:!1,internalType:"address",name:"newChildBridgeAdaptor",type:"address"}],name:"ChildBridgeAdaptorUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"rootToken",type:"address"},{indexed:!0,internalType:"address",name:"childToken",type:"address"},{indexed:!1,internalType:"address",name:"depositor",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"ChildChainERC20Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"rootToken",type:"address"},{indexed:!0,internalType:"address",name:"childToken",type:"address"},{indexed:!1,internalType:"address",name:"depositor",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"ChildChainERC20Withdraw",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"ChildChainEthWithdraw",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"rootToken",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"ChildChainNativeIMXWithdraw",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"rootToken",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"ChildChainWrappedIMXWithdraw",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"rootToken",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"IMXDeposit",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"rootToken",type:"address"},{indexed:!1,internalType:"address",name:"childToken",type:"address"}],name:"L2TokenMapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"rootToken",type:"address"},{indexed:!0,internalType:"address",name:"childToken",type:"address"},{indexed:!1,internalType:"address",name:"depositor",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"NativeEthDeposit",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"PrivilegedDeposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[],name:"ADAPTOR_MANAGER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEPOSIT_SIG",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAP_TOKEN_SIG",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"NATIVE_ETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"NATIVE_IMX",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"PAUSER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"PRIVILEGED_DEPOSITOR_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"UNPAUSER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"WITHDRAW_SIG",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"childBridgeAdaptor",outputs:[{internalType:"contract IChildBridgeAdaptor",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"childETHToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"childTokenTemplate",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"grantAdaptorManagerRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"grantPauserRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"grantUnpauserRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"defaultAdmin",type:"address"},{internalType:"address",name:"pauser",type:"address"},{internalType:"address",name:"unpauser",type:"address"},{internalType:"address",name:"adaptorManager",type:"address"},{internalType:"address",name:"initialDepositor",type:"address"},{internalType:"address",name:"treasuryManager",type:"address"}],internalType:"struct IChildERC20Bridge.InitializationRoles",name:"newRoles",type:"tuple"},{internalType:"address",name:"newBridgeAdaptor",type:"address"},{internalType:"address",name:"newChildTokenTemplate",type:"address"},{internalType:"address",name:"newRootIMXToken",type:"address"},{internalType:"address",name:"newWIMXToken",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initializerAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"}],name:"onMessageReceive",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"privilegedDeposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"revokeAdaptorManagerRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"revokePauserRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"revokeUnpauserRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"rootIMXToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"rootTokenToChildToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newBridgeAdaptor",type:"address"}],name:"updateChildBridgeAdaptor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"wIMXToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IChildERC20",name:"childToken",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawETH",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawETHTo",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawIMX",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawIMXTo",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"contract IChildERC20",name:"childToken",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawTo",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawWIMX",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawWIMXTo",outputs:[],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}];var ee=(c=>(c.SRC_GATEWAY_CALLED="source_gateway_called",c.DEST_GATEWAY_APPROVED="destination_gateway_approved",c.DEST_EXECUTED="destination_executed",c.EXPRESS_EXECUTED="express_executed",c.DEST_EXECUTE_ERROR="error",c.DEST_EXECUTING="executing",c.APPROVING="approving",c.FORECALLED="forecalled",c.FORECALLED_WITHOUT_GAS_PAID="forecalled_without_gas_paid",c.NOT_EXECUTED="not_executed",c.NOT_EXECUTED_WITHOUT_GAS_PAID="not_executed_without_gas_paid",c.INSUFFICIENT_FEE="insufficient_fee",c.UNKNOWN_ERROR="unknown_error",c.CANNOT_FETCH_STATUS="cannot_fetch_status",c.SRC_GATEWAY_CONFIRMED="confirmed",c))(ee||{}),Ue=(a=>(a.GAS_UNPAID="gas_unpaid",a.GAS_PAID="gas_paid",a.GAS_PAID_NOT_ENOUGH_GAS="gas_paid_not_enough_gas",a.GAS_PAID_ENOUGH_GAS="gas_paid_enough_gas",a))(Ue||{});var ot=n=>{let{error:e,status:t}=n;return t==="error"&&e?"error":t==="executed"?"destination_executed":t==="approved"?"destination_gateway_approved":t==="called"?"source_gateway_called":t==="executing"?"executing":t},dt=n=>{if(n.error)return {message:n.error.error.message,txHash:n.error.error.transactionHash,chain:n.error.chain};if(n.is_insufficient_fee)return {message:"Insufficient fee",txHash:n.call.transaction.hash,chain:n.call.chain}},pt=async(n,e)=>fetch(`${n}?${new URLSearchParams(e).toString()}`,{method:"GET",headers:{"Content-Type":"application/json"},cache:"no-store"}).then(t=>t.json()).then(t=>t.data),ut=async(n,e,t)=>pt(n,{method:"searchGMP",txHash:e,txLogIndex:t}).then(i=>i.find(a=>a.id.indexOf(e)>-1||a.call.transactionHash.indexOf(e)>-1)).catch(()=>{}),He=async(n,e,t)=>{let i=await ut(n,e,t);if(!i)return {status:"cannot_fetch_status"};let{call:a,gas_status:r,gas_paid:o,executed:s,express_executed:d,approved:p,callback:u}=i,l={status:r,details:o},m=i.time_spent;return m&&(m.total=m.total||Object.values(m).reduce((f,g)=>f+g,0)),{status:ot(i),error:dt(i),timeSpent:m,gasPaidInfo:l,callTx:a,executed:s,expressExecuted:d,approved:p,callback:u}};var Xe=class{config;initialised;constructor(e){this.config=e,this.initialised=!1;}async initialise(){this.initialised||(await Me(this.config),this.initialised=!0);}async getFee(e){let[,,t]=await Promise.all([this.initialise(),async()=>{e.action!=="FINALISE_WITHDRAWAL"&&await j(e.sourceChainId,e.destinationChainId,this.config);},this.getFeePrivate(e)]);return t}async getFinaliseWithdrawFee(){let e=await this.config.rootProvider.getFeeData();return w(e,2e5)}async getDepositOrWithdrawFee(e){let t;e.sourceChainId===this.config.bridgeInstance.rootChainID?t=await this.config.rootProvider.getFeeData():t=await this.config.childProvider.getFeeData();let i=BigInt(0),a=BigInt(0),r=BigInt(0),o;if(e.action==="DEPOSIT")o={sourceChainId:e.sourceChainId,destinationChainId:e.destinationChainId,action:"DEPOSIT"};else if(e.action==="WITHDRAW")o={sourceChainId:e.sourceChainId,destinationChainId:e.destinationChainId,action:"WITHDRAW"};else throw new y("Invalid action","INTERNAL_ERROR");if(!(v(o,this.config.bridgeInstance)||D(o,this.config.bridgeInstance)))throw new y("Invalid direction","INTERNAL_ERROR");_e(e)||(v(o,this.config.bridgeInstance)?a=w(t,55e3):"token"in e&&De(e.token,o,this.config.bridgeInstance)&&(a=w(t,55e3)));let s;return e.action==="DEPOSIT"?(i=w(t,15e4),s=25e4):(i=w(t,25e4),s=25e4),r=await this.getAxelarFee(e.sourceChainId,e.destinationChainId,s,e.gasMultiplier),{sourceChainFee:i,approvalFee:a,bridgeFee:r}}async getFeePrivate(e){Pe(e,this.config);let t=BigInt(0),i=BigInt(0),a=BigInt(0);if(e.action==="FINALISE_WITHDRAWAL")t=await this.getFinaliseWithdrawFee();else {let s=await this.getDepositOrWithdrawFee(e);t=s.sourceChainFee,i=s.approvalFee,a=s.bridgeFee;}let r=t+i+a,o=BigInt("0");return {sourceChainGas:t,approvalFee:i,bridgeFee:a,imtblFee:o,totalFees:r}}async getUnsignedApproveBridgeTx(e){let t=await this.getUnsignedBridgeBundledTx({senderAddress:e.senderAddress,recipientAddress:e.senderAddress,token:e.token,amount:e.amount,sourceChainId:e.sourceChainId,destinationChainId:e.destinationChainId,gasMultiplier:1.1});return {contractToApprove:t.contractToApprove,unsignedTx:t.unsignedApprovalTx}}async getBridgeMethods(e){let t;return v(e,this.config.bridgeInstance)?t=Q.deposit:t=Q.withdraw,t}async getBridgeContract(e){if(v(e,this.config.bridgeInstance)){let i=this.config.bridgeContracts.rootERC20BridgeFlowRate;return await I(i,M,this.config.rootProvider)}let t=this.config.bridgeContracts.childERC20Bridge;return await I(t,J,this.config.childProvider)}async getConfigAndBridgeTxCalldata(e,t,i,a,r){let o=await this.getBridgeMethods(r),s=await this.getBridgeContract(r);return Ge(e,t,i,a,o,s)}async getUnsignedBridgeTx(e){let t=await this.getUnsignedBridgeBundledTx({senderAddress:e.senderAddress,recipientAddress:e.senderAddress,token:e.token,amount:e.amount,sourceChainId:e.sourceChainId,destinationChainId:e.destinationChainId,gasMultiplier:e.gasMultiplier});return {feeData:t.feeData,unsignedTx:t.unsignedBridgeTx}}async getUnsignedBridgeBundledTx(e){let[,,,t]=await Promise.all([this.initialise(),Oe(e,this.config),Ne(e.token,e.destinationChainId,e.recipientAddress,this.config),this.getUnsignedBridgeBundledTxPrivate(e)]);return t}async getUnsignedBridgeBundledTxPrivate(e){let t;if(Ce(e.sourceChainId,this.config.bridgeInstance)?t={sourceChainId:e.sourceChainId,destinationChainId:e.destinationChainId,action:"DEPOSIT"}:t={sourceChainId:e.sourceChainId,destinationChainId:e.destinationChainId,action:"WITHDRAW"},v(t,this.config.bridgeInstance))return this.getUnsignedBridgeDepositBundledTxPrivate(t,e.senderAddress,e.recipientAddress,e.token,e.amount,e.gasMultiplier);if(D(t,this.config.bridgeInstance))return this.getUnsignedBridgeWithdrawBundledTxPrivate(t,e.senderAddress,e.recipientAddress,e.token,e.amount,e.gasMultiplier);throw new y("Invalid Bridge Bundled TX","INVALID_TRANSACTION")}async getUnsignedBridgeDepositBundledTxPrivate(e,t,i,a,r,o){let[s,d,p,u]=await Promise.all([this.getAllowance(e,a,t),this.config.rootProvider.getFeeData(),this.getDynamicDepositGas(this.config.bridgeInstance.rootChainID,t,i,a,r),this.getAxelarFee(this.config.bridgeInstance.rootChainID,this.config.bridgeInstance.childChainID,25e4,o)]),l,m,f=BigInt(0),g=BigInt(0),c=u,A=BigInt(0);if(a.toUpperCase()!==R&&s<r){l=a.startsWith("0x")?a:`0x${a}`;let F=await I(l,k,this.config.rootProvider);m={data:await E(async()=>F.interface.encodeFunctionData("approve",[this.config.bridgeContracts.rootERC20BridgeFlowRate,r]),"INTERNAL_ERROR"),to:l,value:0,from:t,chainId:parseInt(this.config.bridgeInstance.rootChainID,10)},g=w(d,p.approvalGas);}else l=null,m=null;let x=await this.getConfigAndBridgeTxCalldata(t,i,r,a,e),S=a.toUpperCase()===R?(r+c).toString():c.toString(),N={data:x,to:this.config.bridgeContracts.rootERC20BridgeFlowRate,value:S,from:t,chainId:parseInt(this.config.bridgeInstance.rootChainID,10)};f=w(d,p.sourceChainGas);let T=f+g+c+A;return {feeData:{sourceChainGas:f,approvalFee:g,bridgeFee:c,imtblFee:A,totalFees:T},contractToApprove:l,unsignedApprovalTx:m,unsignedBridgeTx:N,delayWithdrawalLargeAmount:null,delayWithdrawalUnknownToken:null,withdrawalQueueActivated:null,largeTransferThresholds:null}}async getUnsignedBridgeWithdrawBundledTxPrivate(e,t,i,a,r,o){let[s,d,p]=await Promise.all([this.getAllowance(e,a,t),this.config.childProvider.getFeeData(),await this.getDynamicWithdrawGasRootChain(e.destinationChainId,t,i,a,r)]),u=p.gas[0],l=await this.getAxelarFee(this.config.bridgeInstance.childChainID,this.config.bridgeInstance.rootChainID,u,o),m,f,g=BigInt(0),c=BigInt(0),A=l,x=BigInt(0);if(B(a,this.config.bridgeInstance.childChainID)&&s<r){m=a;let L=await I(a,k,this.config.childProvider);f={data:await E(async()=>L.interface.encodeFunctionData("approve",[this.config.bridgeContracts.childERC20Bridge,r]),"INTERNAL_ERROR"),to:a,value:0,from:t,chainId:parseInt(this.config.bridgeInstance.childChainID,10)},c=w(d,55e3);}else m=null,f=null;let S=await this.getConfigAndBridgeTxCalldata(t,i,r,a,e),N=a.toUpperCase()===R?(r+A).toString():A.toString(),T={data:S,to:this.config.bridgeContracts.rootERC20BridgeFlowRate,value:N,from:t,chainId:parseInt(this.config.bridgeInstance.rootChainID,10)};g=w(d,25e4);let F=g+c+A+x;return {feeData:{sourceChainGas:g,approvalFee:c,bridgeFee:A,imtblFee:x,totalFees:F},contractToApprove:m,unsignedApprovalTx:f,unsignedBridgeTx:T,delayWithdrawalLargeAmount:p.delayWithdrawalLargeAmount,delayWithdrawalUnknownToken:p.delayWithdrawalUnknownToken,withdrawalQueueActivated:p.withdrawalQueueActivated,largeTransferThresholds:p.largeTransferThresholds}}async getDynamicDepositGas(e,t,i,a,r){let o=[];if(a.toUpperCase()!==R){let m=await I(a,k,this.config.rootProvider),f=await E(async()=>m.interface.encodeFunctionData("approve",[this.config.bridgeContracts.rootERC20BridgeFlowRate,r]),"INTERNAL_ERROR");o.push({from:t,to:a,data:f});}let s={action:"DEPOSIT",sourceChainId:e,destinationChainId:this.config.bridgeInstance.childChainID},d=await this.getConfigAndBridgeTxCalldata(t,i,r,a,s),p=a.toUpperCase()!==R?"0x1":toQuantity(toBeHex(r+BigInt(1)));o.push({from:t,to:this.config.bridgeContracts.rootERC20BridgeFlowRate,data:d,value:p});let{gas:u}=await q(e,o),l={};return u.length===1?(l.approvalGas=0,[l.sourceChainGas]=u):[l.approvalGas,l.sourceChainGas]=u,l}async getDynamicWithdrawGasRootChain(e,t,i,a,r){let o=await ke(a,e,this.config.childProvider),s=We(o,t,i,r.toString()),d=Fe(s),p=Ee(e),u=getAddress(Ie(e)).toString(),l=Ae(e),m=keccak256(s),f=AbiCoder.defaultAbiCoder().encode(["bytes32","bytes32","string","string","address","bytes32"],[de,d,p,u,l,m]),g=keccak256(f),c=keccak256(concat([g,pe])),A=await I(l,ae,this.config.rootProvider),x=await E(async()=>A.interface.encodeFunctionData("execute",[d,p,u,s]),"INTERNAL_ERROR"),S=we(e),N=[{from:t,to:l,data:x}],T=this.config.bridgeContracts.rootERC20BridgeFlowRate,F=await I(T,M,this.config.rootProvider),L=await E(async()=>F.interface.encodeFunctionData("largeTransferThresholds",[o]),"INTERNAL_ERROR");return N.push({from:t,to:T,data:L}),await q(e,N,[{contractAddress:S,stateDiff:{storageSlot:c,value:Le}}])}async getAllowance(e,t,i){if(t.toUpperCase()===R||ve(t,e,this.config.bridgeInstance))return BigInt(0);let a,r;v(e,this.config.bridgeInstance)?(a=this.config.rootProvider,r=this.config.bridgeContracts.rootERC20BridgeFlowRate):(a=this.config.childProvider,r=this.config.bridgeContracts.childERC20Bridge);let o=await I(t,k,a);return await E(()=>o.allowance(i,r),"PROVIDER_ERROR")}async getAxelarFee(e,t,i,a="auto"){let r=K[e],o=K[t];if(!r)throw new y(`Source chainID ${e} can not be matched to an Axelar chain.`,"AXELAR_CHAIN_NOT_FOUND");if(!o)throw new y(`Destination chainID ${t} can not be matched to an Axelar chain.`,"AXELAR_CHAIN_NOT_FOUND");let s=Z(e),d={method:"estimateGasFee",sourceChain:r.id,destinationChain:o.id,symbol:r.symbol,gasLimit:i,gasMultiplier:a,minGasPrice:1e9},p;try{p=await axios.post(s,d);}catch(u){p=u.response;}if(p.data.error)throw new y(`Estimating Axelar Gas failed with the reason: ${p.data.message}`,"AXELAR_GAS_ESTIMATE_FAILED");try{return BigInt(`${p.data}`)}catch(u){throw new y(`Estimating Axelar Gas failed with the reason: ${u}`,"AXELAR_GAS_ESTIMATE_FAILED")}}async getTransactionStatus(e){let t={transactions:[]},i=await this.getAxelarStatus(e.transactions,e.sourceChainId),a=await this.getUniqueReceivers(i,e.sourceChainId),r=[];for(let s of a)r.push(this.getPendingWithdrawals({recipient:s}));let o=[];try{o=await Promise.all(r);}catch(s){throw new y(`Failed to fetch the pending withdrawals with: ${s}`,"FLOW_RATE_ERROR")}t.transactions=i;for(let s of t.transactions)s.status==="COMPLETE"&&(()=>{for(let d of o){let p=d.pending.findIndex(u=>u.amount.toString()===s.amount.toString()&&u.token===s.token&&u.withdrawer===s.sender&&u.recipient===s.recipient);if(p!==-1){s.status="FLOW_RATE_CONTROLLED",s.data={canWithdraw:d.pending[p].canWithdraw,timeoutStart:d.pending[p].timeoutStart,timeoutEnd:d.pending[p].timeoutEnd},d.pending.splice(p,1);return}}})();return t}async getUniqueReceivers(e,t){let i=[],a=[H,V,X].includes(t);for(let r=0,o=e.length;r<o;r++)e[r].status==="COMPLETE"&&a&&e[r].recipient&&i.findIndex(d=>d===e[r].recipient)===-1&&i.push(e[r].recipient);return i}async getAxelarStatus(e,t){let i=[],a=[],r=Z(t),o=["gas_unpaid","gas_paid_not_enough_gas"],s=new AbiCoder;for(let p of e)a.push(He(r,p.txHash));let d;try{d=await Promise.all(a);}catch(p){throw new y(`Failed to fetch the Axelar Status with the reason: ${p}`,"AXELAR_GAS_ESTIMATE_FAILED")}for(let p=0,u=d.length;p<u;p++){let l;switch(d[p].status){case"cannot_fetch_status":l="PENDING";break;case"source_gateway_called":case"destination_gateway_approved":case"executing":case"confirmed":case"approving":l="PROCESSING";break;case"not_executed":l="RETRY";break;case"not_executed_without_gas_paid":case"insufficient_fee":l="NOT_ENOUGH_GAS";break;case"destination_executed":l="COMPLETE";break;default:l="ERROR";}d[p].gasPaidInfo&&o.includes(d[p].gasPaidInfo.status)&&(l="NOT_ENOUGH_GAS");let m={txHash:e[p].txHash,status:l,data:{gmpResponse:d[p].status}},f;d[p]?.callTx?.returnValues?.payload&&(f=s.decode(["bytes32","address","address","address","uint256"],d[p].callTx.returnValues.payload),m={...m,token:f[1],sender:f[2],recipient:f[3],amount:f[4]}),i.push(m);}return i}async getFlowRateInfo(e){if(!e.tokens||e.tokens.length===0)throw new y(`invalid tokens array ${e.tokens}`,"INVALID_TOKEN");let t=this.config.bridgeContracts.rootERC20BridgeFlowRate,i=await I(t,M,this.config.rootProvider),a=[];a.push(i.withdrawalQueueActivated()),a.push(i.withdrawalDelay());for(let p of e.tokens)p.toUpperCase()===R&&(p=se),a.push(i.flowRateBuckets(p)),a.push(i.largeTransferThresholds(p));let r;try{r=await Promise.all(a);}catch{throw new y("unable to query contract for flowrate info","INTERNAL_ERROR")}let o={},s=r[0],d=Number(r[1]);r.splice(0,2);for(let p=0,u=e.tokens.length;p<u;p++){let l=p*2;o[e.tokens[p]]={capacity:r[l].capacity,depth:r[l].depth,refillTime:Number(r[l].refillTime),refillRate:r[l].refillRate,largeTransferThreshold:r[l+1]};}return {withdrawalQueueActivated:s,withdrawalDelay:d,tokens:o}}async getPendingWithdrawals(e){if(!e.recipient)throw new y(`invalid recipient ${e.recipient}`,"INVALID_RECIPIENT");let t=this.config.bridgeContracts.rootERC20BridgeFlowRate,i=await I(t,M,this.config.rootProvider),a=await i.getPendingWithdrawalsLength(e.recipient),r={pending:[]};if(Number(a)===0)return r;let o=[];for(let u=0;u<Number(a);u++)o.push(u);let s=await i.getPendingWithdrawals(e.recipient,o),d=Math.floor(Date.now()/1e3),p=await i.withdrawalDelay();for(let u=0,l=s.length;u<l;u++){let m=Number(s[u].timestamp+p);m>d?r.pending[u]={canWithdraw:!1}:r.pending[u]={canWithdraw:!0},r.pending[u].recipient=e.recipient,r.pending[u].withdrawer=s[u].withdrawer,r.pending[u].token=s[u].token,r.pending[u].amount=s[u].amount,r.pending[u].timeoutStart=Number(s[u].timestamp),r.pending[u].timeoutEnd=m;}return r}async getFlowRateWithdrawTx(e){if(!e.recipient)throw new y(`invalid recipient ${e.recipient}`,"INVALID_RECIPIENT");if(e.index<0)throw new y(`invalid index ${e.index}`,"INVALID_FLOWRATE_INDEX");let t=this.config.bridgeContracts.rootERC20BridgeFlowRate,i=await I(t,M,this.config.rootProvider),a=await i.getPendingWithdrawals(e.recipient,[e.index]);if(a[0].withdrawer===ZeroAddress||a[0].token===ZeroAddress||a[0].amount===BigInt(0)||a[0].timestamp===BigInt(0))throw new y(`pending withdrawal not found for ${e.recipient} at index ${e.index}`,"FLOW_RATE_ERROR");let r=await i.withdrawalDelay(),o=Number(a[0].timestamp+r),s=Math.floor(Date.now()/1e3);if(o>s)return {pendingWithdrawal:{canWithdraw:!1,withdrawer:a[0].withdrawer,recipient:e.recipient,token:a[0].token,amount:a[0].amount,timeoutStart:Number(a[0].timestamp),timeoutEnd:o},unsignedTx:null};let d=await E(async()=>i.interface.encodeFunctionData("finaliseQueuedWithdrawal",[e.recipient,e.index]),"INTERNAL_ERROR");return {pendingWithdrawal:{canWithdraw:!0,withdrawer:a[0].withdrawer,recipient:e.recipient,token:a[0].token,amount:a[0].amount,timeoutStart:Number(a[0].timestamp),timeoutEnd:o},unsignedTx:{data:d,to:this.config.bridgeContracts.rootERC20BridgeFlowRate,value:0,chainId:parseInt(this.config.bridgeInstance.rootChainID,10)}}}async getTokenMapping(e){if(e.rootToken.toUpperCase()===R||e.rootToken===this.config.bridgeContracts.rootChainWrappedETH){let r=this.config.bridgeContracts.childERC20Bridge,s=await(await I(r,J,this.config.childProvider)).childETHToken();return {rootToken:e.rootToken,childToken:s}}let t=this.config.bridgeContracts.rootERC20BridgeFlowRate,a=await(await I(t,M,this.config.rootProvider)).rootTokenToChildToken(e.rootToken);return a===ZeroAddress?{rootToken:e.rootToken,childToken:null}:a===e.rootToken?{rootToken:e.rootToken,childToken:R}:{rootToken:e.rootToken,childToken:a}}};var gt=[$,O],ft=[P],ht={[K$1.SANDBOX]:gt,[K$1.PRODUCTION]:ft},Ke=new Map().set($,{rootERC20BridgeFlowRate:"0x0",childERC20Bridge:"0x0",rootChainIMX:"0x0",rootChainWrappedETH:"0x0",childChainWrappedETH:"0x0",childChainWrappedIMX:"0x0"}).set(O,{rootERC20BridgeFlowRate:"0x0D3C59c779Fd552C27b23F723E80246c840100F5",childERC20Bridge:"0x0D3C59c779Fd552C27b23F723E80246c840100F5",rootChainIMX:"0xe2629e08f4125d14e446660028bD98ee60EE69F2",rootChainWrappedETH:"0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9",childChainWrappedETH:"0xe9E96d1aad82562b7588F03f49aD34186f996478",childChainWrappedIMX:"0x1CcCa691501174B4A623CeDA58cC8f1a76dc3439"}).set(P,{rootERC20BridgeFlowRate:"0xBa5E35E26Ae59c7aea6F029B68c6460De2d13eB6",childERC20Bridge:"0xBa5E35E26Ae59c7aea6F029B68c6460De2d13eB6",rootChainIMX:"0xF57e7e7C23978C3cAEC3C3548E3D615c346e79fF",rootChainWrappedETH:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",childChainWrappedETH:"0x52a6c53869ce09a731cd772f245b97a4401d3348",childChainWrappedIMX:"0x3a0c2ba54d6cbd3121f01b96dfd20e99d1696c9d"}),Qe=class{baseConfig;bridgeInstance;bridgeContracts;rootProvider;childProvider;constructor({bridgeInstance:e,rootProvider:t,childProvider:i,baseConfig:a,overrides:r}){if(this.baseConfig=a,this.bridgeInstance=e,this.rootProvider=t,this.childProvider=i,r){this.bridgeContracts=r.bridgeContracts;return}if(!ht[a.environment].includes(e))throw new Error(`Bridge instance with rootchain ${e.rootChainID} and childchain ${e.childChainID} is not supported in environment ${a.environment}`);if(!Ke.has(e))throw new Error(`Bridge instance with rootchain ${e.rootChainID} and childchain ${e.childChainID} is not supported in environment ${a.environment}`);let s=Ke.get(e);if(!s)throw new Error(`Bridge instance with rootchain ${e.rootChainID} and childchain ${e.childChainID} is not supported in environment ${a.environment}`);this.bridgeContracts=s;}};
|
|
9
9
|
|
|
@@ -576,7 +576,7 @@ const getTransactionsDetails = async (tokenBridge, checkout, recipient) => {
|
|
|
576
576
|
}))).filter((tx) => tx !== null);
|
|
577
577
|
return { result: transactions };
|
|
578
578
|
};
|
|
579
|
-
function Transactions({ defaultTokenImage, onBackButtonClick, }) {
|
|
579
|
+
function Transactions({ defaultTokenImage, onBackButtonClick, themeOverrides, }) {
|
|
580
580
|
const { eventTargetState: { eventTarget }, } = reactExports.useContext(EventTargetContext);
|
|
581
581
|
const { cryptoFiatDispatch } = reactExports.useContext(CryptoFiatContext);
|
|
582
582
|
const { bridgeDispatch, bridgeState: { checkout, from, tokenBridge }, } = reactExports.useContext(BridgeContext);
|
|
@@ -815,7 +815,7 @@ function Transactions({ defaultTokenImage, onBackButtonClick, }) {
|
|
|
815
815
|
heading: t('views.TRANSACTIONS.walletSelection.heading'),
|
|
816
816
|
}, showWalletSelectorTarget: false, walletOptions: walletOptions, showDrawer: showWalletDrawer, setShowDrawer: (show) => {
|
|
817
817
|
setShowWalletDrawer(show);
|
|
818
|
-
}, onWalletChange: handleWalletChange })] }) }));
|
|
818
|
+
}, onWalletChange: handleWalletChange, drawerBackground: themeOverrides.drawerBackground })] }) }));
|
|
819
819
|
}
|
|
820
820
|
|
|
821
821
|
function ClaimWithdrawalInProgress({ transactionResponse }) {
|
|
@@ -981,7 +981,7 @@ function WalletNetworkButton({ testId, walletProvider, walletProviderDetail, wal
|
|
|
981
981
|
}
|
|
982
982
|
|
|
983
983
|
const testId$1 = 'wallet-network-selector';
|
|
984
|
-
function WalletAndNetworkSelector() {
|
|
984
|
+
function WalletAndNetworkSelector({ themeOverrides }) {
|
|
985
985
|
const { t } = useTranslation();
|
|
986
986
|
const { bridgeState: { checkout, from, to }, bridgeDispatch, } = reactExports.useContext(BridgeContext);
|
|
987
987
|
const { viewDispatch } = reactExports.useContext(ViewContext);
|
|
@@ -1323,7 +1323,7 @@ function WalletAndNetworkSelector() {
|
|
|
1323
1323
|
return (jsxs(Box, { testId: testId$1, sx: brigdeWalletWrapperStyles, children: [jsx(Heading, { testId: `${testId$1}-heading`, size: "small", weight: "regular", sx: bridgeHeadingStyles, children: t('views.WALLET_NETWORK_SELECTION.heading') }), jsx(Heading, { size: "xSmall", sx: { paddingBottom: 'base.spacing.x2' }, children: t('views.WALLET_NETWORK_SELECTION.fromFormInput.heading') }), jsx(WalletDrawer, { testId: `${testId$1}-from`, drawerText: {
|
|
1324
1324
|
heading: t('views.WALLET_NETWORK_SELECTION.fromFormInput.walletSelectorHeading'),
|
|
1325
1325
|
defaultText: t('views.WALLET_NETWORK_SELECTION.fromFormInput.selectDefaultText'),
|
|
1326
|
-
}, showWalletSelectorTarget: !isFromWalletAndNetworkSelected, showDrawer: fromWalletDrawerOpen, setShowDrawer: setFromWalletDrawerOpen, walletOptions: fromWalletSelectorOptions, onWalletChange: handleFromWalletConnection }), isFromWalletAndNetworkSelected && fromWalletProviderName && (jsxs(Box, { sx: {
|
|
1326
|
+
}, showWalletSelectorTarget: !isFromWalletAndNetworkSelected, showDrawer: fromWalletDrawerOpen, setShowDrawer: setFromWalletDrawerOpen, walletOptions: fromWalletSelectorOptions, onWalletChange: handleFromWalletConnection, drawerBackground: themeOverrides.drawerBackground }), isFromWalletAndNetworkSelected && fromWalletProviderName && (jsxs(Box, { sx: {
|
|
1327
1327
|
display: 'flex',
|
|
1328
1328
|
flexDirection: 'column',
|
|
1329
1329
|
gap: 'base.spacing.x10',
|
|
@@ -1333,7 +1333,7 @@ function WalletAndNetworkSelector() {
|
|
|
1333
1333
|
}, onNetworkClick: () => setFromNetworkDrawerOpen(true), environment: environment }), jsxs(Box, { children: [jsx(Heading, { size: "xSmall", sx: { paddingBottom: 'base.spacing.x2' }, children: t('views.WALLET_NETWORK_SELECTION.toFormInput.heading') }), jsx(WalletDrawer, { testId: `${testId$1}-to`, drawerText: {
|
|
1334
1334
|
heading: t('views.WALLET_NETWORK_SELECTION.toFormInput.walletSelectorHeading'),
|
|
1335
1335
|
defaultText: t('views.WALLET_NETWORK_SELECTION.toFormInput.selectDefaultText'),
|
|
1336
|
-
}, showWalletSelectorTarget: !isToWalletAndNetworkSelected, walletOptions: toWalletSelectorOptions, showDrawer: toWalletDrawerOpen, setShowDrawer: setToWalletDrawerOpen, onWalletChange: handleToWalletSelection })] })] })), jsx(Drawer, { headerBarTitle: t(fromNetworkDrawerOpen ? 'views.WALLET_NETWORK_SELECTION.fromFormInput.networkSelectorHeading'
|
|
1336
|
+
}, showWalletSelectorTarget: !isToWalletAndNetworkSelected, walletOptions: toWalletSelectorOptions, showDrawer: toWalletDrawerOpen, setShowDrawer: setToWalletDrawerOpen, onWalletChange: handleToWalletSelection, drawerBackground: themeOverrides.drawerBackground })] })] })), jsx(Drawer, { headerBarTitle: t(fromNetworkDrawerOpen ? 'views.WALLET_NETWORK_SELECTION.fromFormInput.networkSelectorHeading'
|
|
1337
1337
|
: 'views.WALLET_NETWORK_SELECTION.toFormInput.networkSelectorHeading'), size: "full", onCloseDrawer: () => {
|
|
1338
1338
|
if (fromNetworkDrawerOpen) {
|
|
1339
1339
|
setFromNetworkDrawerOpen(false);
|
|
@@ -1355,7 +1355,7 @@ function WalletAndNetworkSelector() {
|
|
|
1355
1355
|
}, environment: environment }), jsx(Box, { sx: submitButtonWrapperStyles, children: jsx(Button, { testId: `${testId$1}-submit-button`, size: "large", onClick: handleSubmitDetails, children: t('views.WALLET_NETWORK_SELECTION.submitButton.text') }) })] }))] }));
|
|
1356
1356
|
}
|
|
1357
1357
|
|
|
1358
|
-
function WalletNetworkSelectionView({ showBackButton, }) {
|
|
1358
|
+
function WalletNetworkSelectionView({ showBackButton, themeOverrides, }) {
|
|
1359
1359
|
const { t } = useTranslation();
|
|
1360
1360
|
const { viewDispatch } = reactExports.useContext(ViewContext);
|
|
1361
1361
|
const { eventTargetState: { eventTarget } } = reactExports.useContext(EventTargetContext);
|
|
@@ -1375,7 +1375,7 @@ function WalletNetworkSelectionView({ showBackButton, }) {
|
|
|
1375
1375
|
});
|
|
1376
1376
|
}, testId: "move-transactions-button" })), showBack: showBackButton, onBackButtonClick: () => {
|
|
1377
1377
|
orchestrationEvents.sendRequestGoBackEvent(eventTarget, oo.IMTBL_BRIDGE_WIDGET_EVENT, {});
|
|
1378
|
-
} })), footer: jsx(FooterLogo, {}), children: jsx(WalletAndNetworkSelector, {}) }));
|
|
1378
|
+
} })), footer: jsx(FooterLogo, {}), children: jsx(WalletAndNetworkSelector, { themeOverrides: themeOverrides }) }));
|
|
1379
1379
|
}
|
|
1380
1380
|
|
|
1381
1381
|
function validateToken(fromToken) {
|
|
@@ -1454,7 +1454,7 @@ function BridgeForm(props) {
|
|
|
1454
1454
|
const { bridgeDispatch, bridgeState: { tokenBalances, allowedTokens, checkout, from, to, amount, token, tokenBridge, }, } = reactExports.useContext(BridgeContext);
|
|
1455
1455
|
const { cryptoFiatState, cryptoFiatDispatch } = reactExports.useContext(CryptoFiatContext);
|
|
1456
1456
|
const { viewDispatch } = reactExports.useContext(ViewContext);
|
|
1457
|
-
const { testId, defaultAmount, defaultTokenAddress, isTokenBalancesLoading, defaultTokenImage, environment, theme, } = props;
|
|
1457
|
+
const { testId, defaultAmount, defaultTokenAddress, isTokenBalancesLoading, defaultTokenImage, environment, theme, themeOverrides, } = props;
|
|
1458
1458
|
const { track } = useAnalytics();
|
|
1459
1459
|
// Form state
|
|
1460
1460
|
const [formAmount, setFormAmount] = reactExports.useState(defaultAmount || '');
|
|
@@ -1692,11 +1692,11 @@ function BridgeForm(props) {
|
|
|
1692
1692
|
setShowTxnRejectedState(false);
|
|
1693
1693
|
await submitBridgeValues();
|
|
1694
1694
|
};
|
|
1695
|
-
return (jsxs(Box, { testId: testId, sx: bridgeFormWrapperStyles, children: [jsxs(Box, { sx: { paddingX: 'base.spacing.x4' }, children: [jsx(Heading, { testId: `${testId}-content-heading`, size: "small", weight: "regular", sx: { paddingBottom: 'base.spacing.x4' }, children: t('views.BRIDGE_FORM.content.title') }), (!defaultTokenAddress || !isTokenBalancesLoading) && (jsxs(Box, { sx: formInputsContainerStyles, children: [jsx(SelectForm, { userJourney: UserJourney.BRIDGE, screen: "TokenAmount", control: "FromToken", testId: "bridge-token", options: tokensOptions, optionsLoading: isTokenBalancesLoading, coinSelectorHeading: t('views.BRIDGE_FORM.bridgeForm.from.selectorTitle'), selectedOption: selectedOption, subtext: tokenBalanceSubtext, textAlign: "left", errorMessage: t(tokenError), onSelectChange: (option) => handleSelectTokenChange(option), defaultTokenImage: defaultTokenImage, environment: environment, theme: theme }), jsx(TextInputForm, { testId: "bridge-amount", type: "number", value: formAmount, placeholder: t('views.BRIDGE_FORM.bridgeForm.from.inputPlaceholder'), subtext: `${t('views.BRIDGE_FORM.content.fiatPricePrefix')} $${formatZeroAmount(amountFiatValue, true)}`, validator: amountInputValidation, onTextInputChange: (value) => handleBridgeAmountChange(value), onTextInputEnter: submitBridgeValues, textAlign: "right", inputMode: "decimal", errorMessage: t(amountError) })] })), defaultTokenAddress && isTokenBalancesLoading && (jsx(TokenSelectShimmer, { sx: formInputsContainerStyles }))] }), jsxs(Box, { sx: bridgeFormButtonContainerStyles, children: [jsx(Button, { testId: `${testId}-button`, variant: "primary", onClick: submitBridgeValues, size: "large", children: t('views.BRIDGE_FORM.bridgeForm.buttonText') }), jsx(TransactionRejected, { visible: showTxnRejectedState, showHeaderBar: false, onCloseDrawer: () => setShowTxnRejectedState(false), onRetry: retrySubmitBridgeValues })] })] }));
|
|
1695
|
+
return (jsxs(Box, { testId: testId, sx: bridgeFormWrapperStyles, children: [jsxs(Box, { sx: { paddingX: 'base.spacing.x4' }, children: [jsx(Heading, { testId: `${testId}-content-heading`, size: "small", weight: "regular", sx: { paddingBottom: 'base.spacing.x4' }, children: t('views.BRIDGE_FORM.content.title') }), (!defaultTokenAddress || !isTokenBalancesLoading) && (jsxs(Box, { sx: formInputsContainerStyles, children: [jsx(SelectForm, { userJourney: UserJourney.BRIDGE, screen: "TokenAmount", control: "FromToken", testId: "bridge-token", options: tokensOptions, optionsLoading: isTokenBalancesLoading, coinSelectorHeading: t('views.BRIDGE_FORM.bridgeForm.from.selectorTitle'), selectedOption: selectedOption, subtext: tokenBalanceSubtext, textAlign: "left", errorMessage: t(tokenError), onSelectChange: (option) => handleSelectTokenChange(option), defaultTokenImage: defaultTokenImage, environment: environment, theme: theme, themeOverrides: themeOverrides }), jsx(TextInputForm, { testId: "bridge-amount", type: "number", value: formAmount, placeholder: t('views.BRIDGE_FORM.bridgeForm.from.inputPlaceholder'), subtext: `${t('views.BRIDGE_FORM.content.fiatPricePrefix')} $${formatZeroAmount(amountFiatValue, true)}`, validator: amountInputValidation, onTextInputChange: (value) => handleBridgeAmountChange(value), onTextInputEnter: submitBridgeValues, textAlign: "right", inputMode: "decimal", errorMessage: t(amountError) })] })), defaultTokenAddress && isTokenBalancesLoading && (jsx(TokenSelectShimmer, { sx: formInputsContainerStyles }))] }), jsxs(Box, { sx: bridgeFormButtonContainerStyles, children: [jsx(Button, { testId: `${testId}-button`, variant: "primary", onClick: submitBridgeValues, size: "large", children: t('views.BRIDGE_FORM.bridgeForm.buttonText') }), jsx(TransactionRejected, { visible: showTxnRejectedState, showHeaderBar: false, onCloseDrawer: () => setShowTxnRejectedState(false), onRetry: retrySubmitBridgeValues })] })] }));
|
|
1696
1696
|
}
|
|
1697
1697
|
|
|
1698
1698
|
const REFRESH_TOKENS_INTERVAL_MS = 10000;
|
|
1699
|
-
function Bridge({ amount, tokenAddress, defaultTokenImage, theme, }) {
|
|
1699
|
+
function Bridge({ amount, tokenAddress, defaultTokenImage, theme, themeOverrides, }) {
|
|
1700
1700
|
const { t } = useTranslation();
|
|
1701
1701
|
const { bridgeState, bridgeDispatch } = reactExports.useContext(BridgeContext);
|
|
1702
1702
|
const { checkout, from } = bridgeState;
|
|
@@ -1763,7 +1763,7 @@ function Bridge({ amount, tokenAddress, defaultTokenImage, theme, }) {
|
|
|
1763
1763
|
setIsTokenBalancesLoading(true);
|
|
1764
1764
|
refreshBalances().finally(() => setIsTokenBalancesLoading(false));
|
|
1765
1765
|
}, [checkout, from?.browserProvider]);
|
|
1766
|
-
return (jsx(SimpleLayout, { testId: "bridge-view", header: (jsx(HeaderNavigation, { showBack: showBackButton, title: t('views.BRIDGE_FORM.header.title'), onCloseButtonClick: () => sendBridgeWidgetCloseEvent(eventTarget) })), footer: jsx(FooterLogo, {}), children: jsx(BridgeForm, { testId: "bridge-form", defaultAmount: amount, defaultTokenAddress: tokenAddress, isTokenBalancesLoading: isTokenBalancesLoading, defaultTokenImage: defaultTokenImage, environment: checkout?.config.environment, theme: theme }) }));
|
|
1766
|
+
return (jsx(SimpleLayout, { testId: "bridge-view", header: (jsx(HeaderNavigation, { showBack: showBackButton, title: t('views.BRIDGE_FORM.header.title'), onCloseButtonClick: () => sendBridgeWidgetCloseEvent(eventTarget) })), footer: jsx(FooterLogo, {}), children: jsx(BridgeForm, { testId: "bridge-form", defaultAmount: amount, defaultTokenAddress: tokenAddress, isTokenBalancesLoading: isTokenBalancesLoading, defaultTokenImage: defaultTokenImage, environment: checkout?.config.environment, theme: theme, themeOverrides: themeOverrides }) }));
|
|
1767
1767
|
}
|
|
1768
1768
|
|
|
1769
1769
|
const containerStyles$1 = {
|
|
@@ -2228,7 +2228,7 @@ function BridgeReviewSummary() {
|
|
|
2228
2228
|
return;
|
|
2229
2229
|
if (!from || !to)
|
|
2230
2230
|
return;
|
|
2231
|
-
if (riskAssessment &&
|
|
2231
|
+
if (riskAssessment && xt()) {
|
|
2232
2232
|
viewDispatch({
|
|
2233
2233
|
payload: {
|
|
2234
2234
|
type: ViewActions.UPDATE_VIEW,
|
|
@@ -2887,7 +2887,7 @@ function ClaimWithdrawal({ transaction }) {
|
|
|
2887
2887
|
|
|
2888
2888
|
function BridgeWidget({ checkout, browserProvider, config, amount, tokenAddress, showBackButton, }) {
|
|
2889
2889
|
const { t } = useTranslation();
|
|
2890
|
-
const { environment, isOnRampEnabled, isSwapEnabled, isBridgeEnabled, theme, } = config;
|
|
2890
|
+
const { environment, isOnRampEnabled, isSwapEnabled, isBridgeEnabled, theme, themeOverrides, } = config;
|
|
2891
2891
|
const defaultTokenImage = getDefaultTokenImage(checkout.config.environment, theme);
|
|
2892
2892
|
const { eventTargetState: { eventTarget } } = reactExports.useContext(EventTargetContext);
|
|
2893
2893
|
const { page } = useAnalytics();
|
|
@@ -2979,7 +2979,7 @@ function BridgeWidget({ checkout, browserProvider, config, amount, tokenAddress,
|
|
|
2979
2979
|
});
|
|
2980
2980
|
})();
|
|
2981
2981
|
}, [browserProvider]);
|
|
2982
|
-
return (jsx(ViewContext.Provider, { value: viewReducerValues, children: jsx(BridgeContext.Provider, { value: bridgeReducerValues, children: jsxs(CryptoFiatProvider, { environment: environment, children: [viewState.view.type === BridgeWidgetViews.WALLET_NETWORK_SELECTION && (jsx(WalletNetworkSelectionView, { showBackButton: showBackButton })), viewState.view.type === BridgeWidgetViews.BRIDGE_FORM && (jsx(Bridge, { amount: amount, tokenAddress: tokenAddress, defaultTokenImage: defaultTokenImage, theme: theme })), viewState.view.type === BridgeWidgetViews.BRIDGE_REVIEW && (jsx(BridgeReview, {})), viewState.view.type === BridgeWidgetViews.IN_PROGRESS && (jsx(MoveInProgress, { transactionHash: viewState.view.transactionHash, isTransfer: viewState.view.isTransfer })), viewState.view.type === BridgeWidgetViews.BRIDGE_FAILURE
|
|
2982
|
+
return (jsx(ViewContext.Provider, { value: viewReducerValues, children: jsx(BridgeContext.Provider, { value: bridgeReducerValues, children: jsxs(CryptoFiatProvider, { environment: environment, children: [viewState.view.type === BridgeWidgetViews.WALLET_NETWORK_SELECTION && (jsx(WalletNetworkSelectionView, { showBackButton: showBackButton, themeOverrides: themeOverrides })), viewState.view.type === BridgeWidgetViews.BRIDGE_FORM && (jsx(Bridge, { amount: amount, tokenAddress: tokenAddress, defaultTokenImage: defaultTokenImage, theme: theme, themeOverrides: themeOverrides })), viewState.view.type === BridgeWidgetViews.BRIDGE_REVIEW && (jsx(BridgeReview, {})), viewState.view.type === BridgeWidgetViews.IN_PROGRESS && (jsx(MoveInProgress, { transactionHash: viewState.view.transactionHash, isTransfer: viewState.view.isTransfer })), viewState.view.type === BridgeWidgetViews.BRIDGE_FAILURE
|
|
2983
2983
|
&& (jsx(StatusView, { testId: "bridge-fail", statusText: t('views.BRIDGE_FAILURE.bridgeFailureText.statusText'), actionText: t('views.BRIDGE_FAILURE.bridgeFailureText.actionText'), onActionClick: goBackToReview, statusType: StatusType.FAILURE, onRenderEvent: () => {
|
|
2984
2984
|
let reason = '';
|
|
2985
2985
|
if (viewState.view.type === BridgeWidgetViews.BRIDGE_FAILURE) {
|
|
@@ -2995,7 +2995,7 @@ function BridgeWidget({ checkout, browserProvider, config, amount, tokenAddress,
|
|
|
2995
2995
|
sendBridgeFailedEvent(eventTarget, reason);
|
|
2996
2996
|
} })), viewState.view.type === BridgeWidgetViews.APPROVE_TRANSACTION && (jsx(ApproveTransaction, { bridgeTransaction: viewState.view.approveTransaction && viewState.view.transaction
|
|
2997
2997
|
? { approveTransaction: viewState.view.approveTransaction, transaction: viewState.view.transaction }
|
|
2998
|
-
: undefined })), viewState.view.type === BridgeWidgetViews.TRANSACTIONS && (jsx(Transactions, { onBackButtonClick: goBackToWalletNetworkSelector, defaultTokenImage: defaultTokenImage })), viewState.view.type === BridgeWidgetViews.CLAIM_WITHDRAWAL && (jsx(ClaimWithdrawal, { transaction: viewState.view.transaction })), viewState.view.type === SharedViews.ERROR_VIEW && (jsx(ErrorView, { actionText: t('views.ERROR_VIEW.actionText'), onActionClick: goBackToWalletNetworkSelectorClearState, onCloseClick: () => sendBridgeWidgetCloseEvent(eventTarget), errorEventAction: () => {
|
|
2998
|
+
: undefined })), viewState.view.type === BridgeWidgetViews.TRANSACTIONS && (jsx(Transactions, { onBackButtonClick: goBackToWalletNetworkSelector, defaultTokenImage: defaultTokenImage, themeOverrides: themeOverrides })), viewState.view.type === BridgeWidgetViews.CLAIM_WITHDRAWAL && (jsx(ClaimWithdrawal, { transaction: viewState.view.transaction })), viewState.view.type === SharedViews.ERROR_VIEW && (jsx(ErrorView, { actionText: t('views.ERROR_VIEW.actionText'), onActionClick: goBackToWalletNetworkSelectorClearState, onCloseClick: () => sendBridgeWidgetCloseEvent(eventTarget), errorEventAction: () => {
|
|
2999
2999
|
page({
|
|
3000
3000
|
userJourney: UserJourney.BRIDGE,
|
|
3001
3001
|
screen: 'Error',
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { o as oo, w as wo, n as no, g as go, a as ao, E as Eo, f as fo, i as io, R as Ro, s as so, C as Co, p as po, m as mo, c as co, T as To, I as Io, u as uo, r as reactExports, V as ViewActions, b as parseUnits, d as formatZeroAmount, e as calculateCryptoToFiat, h as Contract, j as ae, k as useTranslation, l as dist, q as getRemoteRive, t as tt, v as jsx, x as jsxs, B as Box, H as Heading, L as Link, y as Button, S as Stack, z as SimpleLayout, A as Body, D as useAnalytics, F as EventTargetContext, G as CryptoFiatContext, J as tokenValueFormat, K as getDefaultTokenImage, U as UserJourney, M as HeaderNavigation, N as sendCloseWidgetEvent, O as orchestrationEvents$1, P as amountInputValidation, Q as useTheme, W as CloudImage, X as getRemoteImage, Y as CryptoFiatProvider, Z as ConnectLoaderContext, _ as isAddress, $ as isError, a0 as LoadingView, a1 as CryptoFiatActions, a2 as useViewState, a3 as useEventTargetState, a4 as commerceFlows, a5 as SharedViews, a6 as ErrorView, a7 as ConnectWidget, a8 as ProvidersContextProvider, a9 as PurchaseWidget, aa as ConnectLoader, ab as ViewContextProvider } from './index-
|
|
2
|
-
import { S as SelectInput, a as SwapWidget } from './SwapWidget-
|
|
3
|
-
import { B as BridgeWidget } from './BridgeWidget-
|
|
4
|
-
import OnRampWidget from './OnRampWidget-
|
|
5
|
-
import WalletWidget from './WalletWidget-
|
|
6
|
-
import SaleWidget from './SaleWidget-
|
|
7
|
-
import AddTokensWidget from './AddTokensWidget-
|
|
8
|
-
import { g as getAllowedBalances, T as TextInputForm } from './WalletApproveHero-
|
|
9
|
-
import './useInterval-
|
|
10
|
-
import './TopUpView-
|
|
11
|
-
import './FeesBreakdown-
|
|
12
|
-
import './SpendingCapHero-
|
|
13
|
-
import './TokenImage-
|
|
1
|
+
import { o as oo, w as wo, n as no, g as go, a as ao, E as Eo, f as fo, i as io, R as Ro, s as so, C as Co, p as po, m as mo, c as co, T as To, I as Io, u as uo, r as reactExports, V as ViewActions, b as parseUnits, d as formatZeroAmount, e as calculateCryptoToFiat, h as Contract, j as ae, k as useTranslation, l as dist, q as getRemoteRive, t as tt, v as jsx, x as jsxs, B as Box, H as Heading, L as Link, y as Button, S as Stack, z as SimpleLayout, A as Body, D as useAnalytics, F as EventTargetContext, G as CryptoFiatContext, J as tokenValueFormat, K as getDefaultTokenImage, U as UserJourney, M as HeaderNavigation, N as sendCloseWidgetEvent, O as orchestrationEvents$1, P as amountInputValidation, Q as useTheme, W as CloudImage, X as getRemoteImage, Y as CryptoFiatProvider, Z as ConnectLoaderContext, _ as isAddress, $ as isError, a0 as LoadingView, a1 as CryptoFiatActions, a2 as useViewState, a3 as useEventTargetState, a4 as commerceFlows, a5 as SharedViews, a6 as ErrorView, a7 as ConnectWidget, a8 as ProvidersContextProvider, a9 as PurchaseWidget, aa as ConnectLoader, ab as ViewContextProvider } from './index-Dp2LchQR.js';
|
|
2
|
+
import { S as SelectInput, a as SwapWidget } from './SwapWidget-CtxMh18w.js';
|
|
3
|
+
import { B as BridgeWidget } from './BridgeWidget-DwaaBUiy.js';
|
|
4
|
+
import OnRampWidget from './OnRampWidget-DhyoYuwo.js';
|
|
5
|
+
import WalletWidget from './WalletWidget-DEuyTfsr.js';
|
|
6
|
+
import SaleWidget from './SaleWidget-C_iXIOAD.js';
|
|
7
|
+
import AddTokensWidget from './AddTokensWidget-Cz-3P4n8.js';
|
|
8
|
+
import { g as getAllowedBalances, T as TextInputForm } from './WalletApproveHero-DaynhYwW.js';
|
|
9
|
+
import './useInterval-BiJy2Gyo.js';
|
|
10
|
+
import './TopUpView-D0va9-8b.js';
|
|
11
|
+
import './FeesBreakdown-CYHYY0E5.js';
|
|
12
|
+
import './SpendingCapHero-BlahRW7H.js';
|
|
13
|
+
import './TokenImage-BUwvAHwB.js';
|
|
14
14
|
|
|
15
15
|
const sendCheckoutEvent = (eventTarget, detail) => {
|
|
16
16
|
const event = new CustomEvent(oo.IMTBL_COMMERCE_WIDGET_EVENT, { detail });
|
|
@@ -786,7 +786,7 @@ function TransferForm({ config, viewState, setViewState, onSend, showBackButton,
|
|
|
786
786
|
mt: 'base.spacing.x6',
|
|
787
787
|
mx: 'base.spacing.x4',
|
|
788
788
|
mb: 'base.spacing.x10',
|
|
789
|
-
}, children: [jsxs(Stack, { gap: "base.spacing.x9", children: [jsxs(Stack, { gap: "base.spacing.x1", children: [jsx(Heading, { size: "xSmall", children: t('views.TRANSFER.form.coinAmountHeading') }), jsx(SelectInput, { testId: "transfer-token-select", options: tokenOptions, textInputValue: viewState.amount, textInputPlaceholder: "0", textInputTextAlign: "right", coinSelectorHeading: t('views.TRANSFER.form.coinSelectorHeading'), textInputMaxButtonClick: token ? handleMaxButtonClick : undefined, textInputValidator: amountInputValidation, textInputErrorMessage: viewState.amountError, selectSubtext: selectSubtext, textInputSubtext: `${t('views.TRANSFER.content.fiatPricePrefix')} $${formatZeroAmount(fromFiatValue, true)}`, onTextInputChange: handleAmountChange, onSelectChange: handleTokenChange, selectedOption: token?.id, defaultTokenImage: defaultTokenImage, userJourney: UserJourney.TRANSFER, screen: "TransferToken", control: "Token" })] }), jsxs(Stack, { gap: "base.spacing.x1", children: [jsx(Heading, { size: "xSmall", children: t('views.TRANSFER.form.toAddressHeading') }), jsx(TextInputForm, { testId: "transfer-to-address-input", value: viewState.toAddress, placeholder: "0x", validator: validatePartialAddress, onTextInputChange: handleRecipientAddressChange, errorMessage: viewState.toAddressError })] })] }), jsxs(Box, { children: [jsx(Body, { rc: jsx("div", {}), size: "xSmall", weight: "bold", sx: { color: 'base.color.text.status.fatal.primary' }, children: t('views.TRANSFER.content.notAllExchangesSupportImmutableZkEVM') }), jsx(Body, { rc: jsx("div", {}), size: "xxSmall", weight: "regular", sx: { mb: 'base.spacing.x4' }, children: t('views.TRANSFER.content.notAllExchangesSupportImmutableZkEVMDescription') }), jsx(Button, { sx: { width: '100%' }, variant: "primary", size: "large", disabled: isButtonDisabled, onClick: onSend, children: t('views.TRANSFER.form.buttonText') })] })] }) }));
|
|
789
|
+
}, children: [jsxs(Stack, { gap: "base.spacing.x9", children: [jsxs(Stack, { gap: "base.spacing.x1", children: [jsx(Heading, { size: "xSmall", children: t('views.TRANSFER.form.coinAmountHeading') }), jsx(SelectInput, { testId: "transfer-token-select", options: tokenOptions, textInputValue: viewState.amount, textInputPlaceholder: "0", textInputTextAlign: "right", coinSelectorHeading: t('views.TRANSFER.form.coinSelectorHeading'), textInputMaxButtonClick: token ? handleMaxButtonClick : undefined, textInputValidator: amountInputValidation, textInputErrorMessage: viewState.amountError, selectSubtext: selectSubtext, textInputSubtext: `${t('views.TRANSFER.content.fiatPricePrefix')} $${formatZeroAmount(fromFiatValue, true)}`, onTextInputChange: handleAmountChange, onSelectChange: handleTokenChange, selectedOption: token?.id, defaultTokenImage: defaultTokenImage, userJourney: UserJourney.TRANSFER, screen: "TransferToken", control: "Token", theme: config.theme, themeOverrides: config.themeOverrides })] }), jsxs(Stack, { gap: "base.spacing.x1", children: [jsx(Heading, { size: "xSmall", children: t('views.TRANSFER.form.toAddressHeading') }), jsx(TextInputForm, { testId: "transfer-to-address-input", value: viewState.toAddress, placeholder: "0x", validator: validatePartialAddress, onTextInputChange: handleRecipientAddressChange, errorMessage: viewState.toAddressError })] })] }), jsxs(Box, { children: [jsx(Body, { rc: jsx("div", {}), size: "xSmall", weight: "bold", sx: { color: 'base.color.text.status.fatal.primary' }, children: t('views.TRANSFER.content.notAllExchangesSupportImmutableZkEVM') }), jsx(Body, { rc: jsx("div", {}), size: "xxSmall", weight: "regular", sx: { mb: 'base.spacing.x4' }, children: t('views.TRANSFER.content.notAllExchangesSupportImmutableZkEVMDescription') }), jsx(Button, { sx: { width: '100%' }, variant: "primary", size: "large", disabled: isButtonDisabled, onClick: onSend, children: t('views.TRANSFER.form.buttonText') })] })] }) }));
|
|
790
790
|
}
|
|
791
791
|
|
|
792
792
|
const sendSuccessEvent = (eventTarget, transactionHash) => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cv as axios, dG as H, x as jsxs, v as jsx, A as Body, bF as PriceDisplay, B as Box, k as useTranslation, aA as Drawer, aP as MenuItem, aF as Fragment, aB as Divider, J as tokenValueFormat, d as formatZeroAmount, c5 as FooterLogo } from './index-
|
|
1
|
+
import { cv as axios, dG as H, x as jsxs, v as jsx, A as Body, bF as PriceDisplay, B as Box, k as useTranslation, aA as Drawer, aP as MenuItem, aF as Fragment, aB as Divider, J as tokenValueFormat, d as formatZeroAmount, c5 as FooterLogo } from './index-Dp2LchQR.js';
|
|
2
2
|
|
|
3
3
|
const fetchRiskAssessmentV2 = async (assessmentData, config) => {
|
|
4
4
|
const result = Object.fromEntries(assessmentData.map((data) => [data.address.toLowerCase(), { sanctioned: false }]));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as reactExports, Z as ConnectLoaderContext, F as EventTargetContext, k as useTranslation, aU as ViewContext, a5 as SharedViews, D as useAnalytics, U as UserJourney, V as ViewActions, v as jsx, z as SimpleLayout, M as HeaderNavigation, d8 as sendOnRampWidgetCloseEvent, O as orchestrationEvents, o as oo, B as Box, aK as isPassportProvider, d9 as Vt, da as url, db as TRANSAK_ORIGIN, c5 as FooterLogo, x as jsxs, d1 as SimpleTextBody, bH as viewReducer, bI as initialViewState, cR as NATIVE, a0 as LoadingView, dc as sendOnRampSuccessEvent, c6 as StatusType, d7 as StatusView, dd as sendOnRampFailedEvent, bQ as ServiceUnavailableErrorView } from './index-
|
|
2
|
-
import { O as OnRampWidgetViews, T as TopUpView } from './TopUpView-
|
|
3
|
-
import { S as SpendingCapHero } from './SpendingCapHero-
|
|
1
|
+
import { r as reactExports, Z as ConnectLoaderContext, F as EventTargetContext, k as useTranslation, aU as ViewContext, a5 as SharedViews, D as useAnalytics, U as UserJourney, V as ViewActions, v as jsx, z as SimpleLayout, M as HeaderNavigation, d8 as sendOnRampWidgetCloseEvent, O as orchestrationEvents, o as oo, B as Box, aK as isPassportProvider, d9 as Vt, da as url, db as TRANSAK_ORIGIN, c5 as FooterLogo, x as jsxs, d1 as SimpleTextBody, bH as viewReducer, bI as initialViewState, cR as NATIVE, a0 as LoadingView, dc as sendOnRampSuccessEvent, c6 as StatusType, d7 as StatusView, dd as sendOnRampFailedEvent, bQ as ServiceUnavailableErrorView } from './index-Dp2LchQR.js';
|
|
2
|
+
import { O as OnRampWidgetViews, T as TopUpView } from './TopUpView-D0va9-8b.js';
|
|
3
|
+
import { S as SpendingCapHero } from './SpendingCapHero-BlahRW7H.js';
|
|
4
4
|
|
|
5
5
|
const containerStyle = (showIframe) => ({
|
|
6
6
|
position: 'relative',
|