@imtbl/sdk 1.12.2 → 1.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/blockchain_data.js +2 -2
  2. package/dist/browser/checkout/{BridgeWidget-a0216abf.js → BridgeWidget-fad5e5b4.js} +1 -1
  3. package/dist/browser/checkout/{OnRampWidget-0141412f.js → OnRampWidget-cd752140.js} +1 -1
  4. package/dist/browser/checkout/{SaleWidget-dfb3ec06.js → SaleWidget-d346df01.js} +1 -1
  5. package/dist/browser/checkout/{SpendingCapHero-f00c162d.js → SpendingCapHero-8f336477.js} +1 -1
  6. package/dist/browser/checkout/{SwapWidget-7dd7ae0d.js → SwapWidget-9004a303.js} +1 -1
  7. package/dist/browser/checkout/{TopUpView-83b01082.js → TopUpView-24b7522e.js} +1 -1
  8. package/dist/browser/checkout/{WalletWidget-a7294770.js → WalletWidget-d04f02c7.js} +1 -1
  9. package/dist/browser/checkout/{auto-track-a6ee7728.js → auto-track-a76b6dc5.js} +1 -1
  10. package/dist/browser/checkout/{balance-cab05497.js → balance-b06cb17f.js} +1 -1
  11. package/dist/browser/checkout/{index-51cb702e.js → index-10a2ce7f.js} +1 -1
  12. package/dist/browser/checkout/{index-fb6525df.js → index-1380b155.js} +1 -1
  13. package/dist/browser/checkout/{index-b10fea31.js → index-33ba2d41.js} +1 -1
  14. package/dist/browser/checkout/{index-a53ae4b9.js → index-3549d306.js} +1 -1
  15. package/dist/browser/checkout/index-5202f725.js +1 -0
  16. package/dist/browser/checkout/{index-e06cc1d2.js → index-52729a66.js} +1 -1
  17. package/dist/browser/checkout/{index-f13a14b5.js → index-6e473dc6.js} +1 -1
  18. package/dist/browser/checkout/{index-57f03d43.js → index-a5ec4ed9.js} +2 -2
  19. package/dist/browser/checkout/{index.umd-ebf23be8.js → index.umd-17c2e990.js} +1 -1
  20. package/dist/browser/checkout/{retry-242a2c60.js → retry-154c5f2b.js} +1 -1
  21. package/dist/browser/checkout/sdk.js +4 -4
  22. package/dist/browser/checkout/{useTransakEvents-4a36b909.js → useTransakEvents-05f3e770.js} +1 -1
  23. package/dist/browser/checkout/widgets-esm.js +1 -1
  24. package/dist/browser/checkout/widgets.js +60 -60
  25. package/dist/checkout.js +4 -4
  26. package/dist/config.js +1 -1
  27. package/dist/index.browser.js +7 -7
  28. package/dist/index.browser.js.map +1 -1
  29. package/dist/index.cjs +94 -45
  30. package/dist/index.js +95 -46
  31. package/dist/orderbook.js +1 -1
  32. package/dist/passport.js +91 -42
  33. package/dist/x.js +2 -2
  34. package/package.json +1 -1
  35. package/dist/browser/checkout/index-1c0cb426.js +0 -1
@@ -4814,7 +4814,7 @@ const flattenProperties = (properties) => {
4814
4814
  };
4815
4815
 
4816
4816
  // WARNING: DO NOT CHANGE THE STRING BELOW. IT GETS REPLACED AT BUILD TIME.
4817
- const SDK_VERSION = '1.12.2';
4817
+ const SDK_VERSION = '1.13.1';
4818
4818
  const getReferrer = () => {
4819
4819
  if (isNode()) {
4820
4820
  return '';
@@ -5054,7 +5054,7 @@ class APIError extends Error {
5054
5054
 
5055
5055
  /* eslint-disable implicit-arrow-linebreak */
5056
5056
  const defaultHeaders = {
5057
- sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.12.2',
5057
+ sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.13.1',
5058
5058
  };
5059
5059
  /**
5060
5060
  * createAPIConfiguration to create a custom Configuration
@@ -1 +1 @@
1
- import{b5 as e,b6 as t,ar as s,b7 as a,b8 as n,r as o,u as r,b9 as i,j as l,M as c,as as d,ba as u,I as x,ao as p,bb as E,bc as g,B as h,l as T,O as w,bd as m,a4 as b,aM as f,P as I,Q as A,be as y,bf as v,a as S,bg as _,U as k,bh as C,V as R,d as j,bi as N,o as L,aL as D,bj as M,z as B,X as P,ad as W,Y as O,E as G,q as F,T as V,p as K,bk as U,c as z,H,F as $,bl as Z,bm as J,L as q,w as Q,m as Y,_ as X,bn as ee,aJ as te,bo as se,aK as ae,x as ne,n as oe,N as re,aP as ie,aV as le,S as ce,ac as de,aQ as ue,aI as xe,bp as pe,aN as Ee,aT as ge,bq as he,br as Te,a1 as we,a2 as me,bs as be,e as fe,D as Ie,aW as Ae,bt as ye,t as ve,v as Se,i as _e,bu as ke,aY as Ce,bv as Re,f as je,h as Ne,a6 as Le,bw as De,bx as Me,by as Be}from"./index-57f03d43.js";import{B as Pe,C as We,a as Oe,b as Ge,T as Fe}from"./TopUpView-83b01082.js";import{r as Ve,u as Ke}from"./retry-242a2c60.js";import{b as Ue,S as ze,T as He,a as $e,g as Ze,F as Je,W as qe}from"./balance-cab05497.js";const{Axios:Qe,AxiosError:Ye,CanceledError:Xe,isCancel:et,CancelToken:tt,VERSION:st,all:at,Cancel:nt,isAxiosError:ot,spread:rt,toFormData:it,AxiosHeaders:lt,HttpStatusCode:ct,formToJSON:dt,getAdapter:ut,mergeConfig:xt}=e;class pt{url;ttl;env;cacheMap;setCache(e,t){this.cacheMap[e]={data:t,ttl:(new Date).getTime()+1e3*this.ttl}}getCache(e){const t=this.cacheMap[e];return!t||t.ttl<=(new Date).getTime()?null:t.data}constructor(e){this.env=e.env,this.url=`${t[this.env]}/checkout`,this.cacheMap={},this.ttl=void 0!==e.ttl?e.ttl:60}static isHttpError=e=>"code"in e;async getTransactions(t){const{txType:s,fromAddress:a}=t;try{const t=`${this.url}/v1/transactions?from_address=${a}&tx_type=${s}`,n=this.getCache(t);if(n)return Promise.resolve(n);const o=await e.get(t);if(o.status>=400)return Promise.reject({code:o.status,message:o.statusText});const{data:r}=o;return this.setCache(t,r),Promise.resolve(r)}catch(t){let s=ct.InternalServerError,a="InternalServerError";return e.isAxiosError(t)&&(s=t.response?.status||s,a=t.message),Promise.reject({code:s,message:a})}}}var Et;!function(e){e.BRIDGE="bridge"}(Et||(Et={}));const gt={IN_PROGRESS:"in_progress",WITHDRAWAL_PENDING:"withdrawal_pending"};function ht(e){switch(e){case s.ETHEREUM:return a.ETHEREUM;case s.IMTBL_ZKEVM_TESTNET:return a.IMTBL_ZKEVM_TESTNET;case s.IMTBL_ZKEVM_MAINNET:return a.IMTBL_ZKEVM_MAINNET;case s.IMTBL_ZKEVM_DEVNET:return a.IMTBL_ZKEVM_DEVNET;case s.SEPOLIA:return a.SEPOLIA;default:return""}}function Tt(e){switch(e){case s.ETHEREUM:return n.ETHEREUM;case s.IMTBL_ZKEVM_TESTNET:return n.IMTBL_ZKEVM_TESTNET;case s.IMTBL_ZKEVM_MAINNET:return n.IMTBL_ZKEVM_MAINNET;case s.IMTBL_ZKEVM_DEVNET:return n.IMTBL_ZKEVM_DEVNET;case s.SEPOLIA:return n.SEPOLIA;default:return""}}function wt(e){switch(e){case n.ETHEREUM:return s.ETHEREUM;case n.IMTBL_ZKEVM_TESTNET:return s.IMTBL_ZKEVM_TESTNET;case n.IMTBL_ZKEVM_MAINNET:return s.IMTBL_ZKEVM_MAINNET;case n.IMTBL_ZKEVM_DEVNET:return s.IMTBL_ZKEVM_DEVNET;case n.SEPOLIA:return s.SEPOLIA;default:return 0}}const mt={web3Provider:null,walletProviderName:null,from:null,to:null,tokenBridge:null,tokenBalances:[],allowedTokens:[],token:null,amount:"0"};var bt;!function(e){e.SET_WALLETS_AND_NETWORKS="SET_WALLETS_AND_NETWORKS",e.SET_WALLET_PROVIDER_NAME="SET_WALLET_PROVIDER_NAME",e.SET_PROVIDER="SET_PROVIDER",e.SET_TOKEN_BRIDGE="SET_TOKEN_BRIDGE",e.SET_TOKEN_BALANCES="SET_TOKEN_BALANCES",e.SET_ALLOWED_TOKENS="SET_ALLOWED_TOKENS",e.SET_TOKEN_AND_AMOUNT="SET_TOKEN_AND_AMOUNT"}(bt||(bt={}));const ft=o.createContext({bridgeState:{...mt,checkout:{}},bridgeDispatch:()=>{}});ft.displayName="BridgeContext";const It=(e,t)=>{switch(t.payload.type){case bt.SET_WALLETS_AND_NETWORKS:return{...e,from:t.payload.from,to:t.payload.to};case bt.SET_WALLET_PROVIDER_NAME:return{...e,walletProviderName:t.payload.walletProviderName};case bt.SET_PROVIDER:return{...e,web3Provider:t.payload.web3Provider};case bt.SET_TOKEN_BRIDGE:return{...e,tokenBridge:t.payload.tokenBridge};case bt.SET_TOKEN_BALANCES:return{...e,tokenBalances:t.payload.tokenBalances};case bt.SET_ALLOWED_TOKENS:return{...e,allowedTokens:t.payload.allowedTokens};case bt.SET_TOKEN_AND_AMOUNT:return{...e,token:t.payload.token,amount:t.payload.amount};default:return e}};function At({testId:e,walletProviderName:t,onWalletClick:s,loading:a}){const{t:n}=r(),[d,u]=o.useState(!1),x={[i.PASSPORT]:"PassportSymbolOutlined",[i.METAMASK]:"MetaMaskSymbol"};return l.jsxs(c,{testId:`${e}-wallet-list-${t}`,size:"medium",emphasized:!0,onClick:async()=>{if(!a){u(!0);try{await s(t)}finally{u(!1)}}},children:[l.jsx(c.FramedLogo,{logo:x[t],sx:{backgroundColor:"base.color.translucent.standard.200"}}),l.jsx(c.Label,{size:"medium",children:n(`wallets.${t}.heading`)}),d&&l.jsx(c.StatefulButtCon,{state:"loading",icon:"Loading"})]})}const yt={display:"flex",flexDirection:"column",gap:"base.spacing.x1",paddingX:"base.spacing.x4"};function vt({testId:e,drawerText:t,walletOptions:s,showWalletSelectorTarget:a,showDrawer:n,setShowDrawer:r,onWalletItemClick:i}){const[c,x]=o.useState(!1),{heading:p,defaultText:E}=t,g=async e=>{x(!0);try{await i(e)}catch(e){console.error(e)}finally{x(!1)}};return l.jsxs(d,{headerBarTitle:p,size:"full",onCloseDrawer:()=>{c||r(!1)},visible:n,children:[a&&l.jsx(d.Target,{children:l.jsx(Ue,{testId:`${e}-wallet-form-control`,textAlign:"left",children:l.jsx(u,{testId:`${e}-wallet-select`,defaultLabel:E??"",size:"large",targetClickOveride:()=>r(!0)})})}),l.jsx(d.Content,{sx:yt,children:s.map((t=>l.jsx(At,{testId:e,loading:c,walletProviderName:t,onWalletClick:g},t)))})]})}const St=(e,t)=>{const s=new CustomEvent(x.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:p.TRANSACTION_SENT,data:{transactionHash:t}}});console.log("bridge success ",e,s),void 0!==e&&e.dispatchEvent(s)};function _t(e){const t=new CustomEvent(x.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:p.CLOSE_WIDGET,data:{}}});console.log("bridge close ",e,t),void 0!==e&&e.dispatchEvent(t)}function kt(){return l.jsxs(E,{sx:{gap:"base.spacing.x2"},children:[l.jsx(g,{sx:{h:"base.spacing.x4",w:"base.spacing.x32",mt:"base.spacing.x2"}}),l.jsx(c,{shimmer:!0,emphasized:!0,size:"small"}),l.jsx(c,{shimmer:!0,emphasized:!0,size:"small"}),l.jsx(c,{shimmer:!0,emphasized:!0,size:"small"})]})}const Ct={px:"base.spacing.x4",display:"flex",flexDirection:"column",height:"100%"},Rt={flexGrow:"1",flexShrink:"0",flexBasis:"0"},jt={flexGrow:"0",flexShrink:"1",mt:"base.spacing.x2"},Nt={bg:"base.color.translucent.emphasis.100",borderRadius:"base.borderRadius.x4",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column",height:"100%",px:"base.spacing.x5"};function Lt({openWalletDrawer:e}){const{t:t}=r();return l.jsxs(h,{sx:Nt,children:[l.jsx(T,{sx:{mb:"base.spacing.x8"},children:t("views.TRANSACTIONS.status.emptyState.notConnected.body")}),l.jsx(w,{variant:"secondary",size:"medium",testId:"transactions-connect-wallet-button",onClick:e,children:t("views.TRANSACTIONS.status.emptyState.notConnected.buttonText")})]})}const Dt={backgroundColor:"base.color.neutral.800",px:"base.spacing.x4",p:"base.spacing.x5",borderRadius:"base.borderRadius.x6"},Mt={color:"base.color.text.body.secondary"};function Bt({checkout:e,isPassport:t}){const{t:s}=r(),[a,n]=o.useState("");return o.useEffect((()=>{e&&n(m[e.config.environment])}),[e]),l.jsx(h,{sx:Dt,children:l.jsxs(h,{sx:{display:"flex",flexDirection:"column"},children:[l.jsxs(h,{children:[l.jsx(T,{size:"small",children:s("views.TRANSACTIONS.support.body1")}),l.jsxs(T,{size:"small",sx:Mt,children:[s("views.TRANSACTIONS.support.body2"),l.jsx(b,{size:"small",rc:l.jsx("a",{target:"_blank",href:s("views.TRANSACTIONS.support.supportLink"),rel:"noreferrer"}),children:s("views.TRANSACTIONS.support.body3")})]})]}),t&&l.jsxs(T,{size:"small",sx:Mt,children:[s("views.TRANSACTIONS.support.passport.body1")," ",l.jsx(b,{size:"small",rc:l.jsx("a",{target:"_blank",href:a,rel:"noreferrer"}),children:s("views.TRANSACTIONS.support.passport.body2")})]})]})})}const Pt={display:"flex",flexDirection:"column",borderRadius:"base.borderRadius.x4",bg:"base.color.translucent.emphasis.100"},Wt={p:"base.spacing.x3",d:"flex",justifyContent:"space-between",position:"relative"},Ot={display:"flex",flexGrow:"1",alignItems:"center",gap:"base.spacing.x2"};function Gt({transaction:e}){const t=wt(e.details.from_chain),s=wt(e.details.to_chain);return l.jsxs(h,{sx:{display:"flex",px:"base.spacing.x4",gap:"base.spacing.x2"},children:[l.jsx(f,{icon:I[t],sx:{w:"base.icon.size.250",fill:A[t]},variant:"bold"}),l.jsxs(h,{sx:{display:"flex",flexDirection:"column",flexGrow:"1"},children:[l.jsx(T,{size:"xxSmall",sx:{color:"base.color.translucent.standard.900"},children:y[t]}),l.jsx(v,{size:"xxSmall",sx:{color:"base.color.translucent.standard.600"},text:e.details.from_address})]}),l.jsx(h,{sx:{flexGrow:"1"}}),l.jsx(f,{icon:"ArrowForward",sx:{w:"base.icon.size.250",fill:"base.color.brand.4"}}),l.jsx(h,{sx:{flexGrow:"1"}}),l.jsx(f,{icon:I[s],sx:{w:"base.icon.size.250",fill:A[s]},variant:"bold"}),l.jsxs(h,{sx:{display:"flex",flexDirection:"column",flexGrow:"1"},children:[l.jsx(T,{size:"xxSmall",sx:{color:"base.color.translucent.standard.900"},children:y[s]}),l.jsx(v,{size:"xxSmall",sx:{color:"base.color.translucent.standard.600"},text:e.details.to_address})]})]})}function Ft({label:e,details:t,transaction:s,fiatAmount:a,amount:n,icon:r,defaultTokenImage:i}){const{track:d}=S(),u=o.useMemo((()=>`${t.link}${t.hash}`),[t]);return l.jsx(h,{testId:`transaction-item-${s.blockchain_metadata.transaction_hash}`,sx:Pt,children:l.jsxs(_,{chevronSide:"right",sx:{button:{p:"base.spacing.x1"},article:{pr:"base.spacing.x10"}},onExpandChange:e=>e&&d({userJourney:k.BRIDGE,screen:"TransactionItem",control:"Accordion",controlType:"Button"}),children:[l.jsx(_.TargetLeftSlot,{sx:{pr:"base.spacing.x2"},children:l.jsxs(c,{size:"xSmall",children:[l.jsx(c.FramedImage,{imageUrl:r,circularFrame:!0,defaultImageUrl:i}),l.jsx(c.Label,{children:e}),l.jsx(c.Caption,{children:l.jsx(b,{size:"xSmall",rc:l.jsx("a",{target:"_blank",href:u,rel:"noreferrer",onClick:e=>{return s=t,e.stopPropagation(),void d({userJourney:k.BRIDGE,screen:"TransactionItem",control:"Details",controlType:"Link",extras:{linkDetail:s}});var s}}),children:t.text})}),l.jsx(c.PriceDisplay,{fiatAmount:a,price:n})]})}),l.jsxs(_.ExpandedContent,{sx:{pr:"0",pl:"0",mb:"base.spacing.x3",gap:"0"},children:[l.jsx(C,{size:"xSmall",sx:{px:"base.spacing.x2"}}),l.jsx(Gt,{transaction:s})]})]})})}const Vt=e=>{let t=440;return e&&(t-=20),{backgroundColor:"base.color.neutral.800",px:"base.spacing.x4",pt:"base.spacing.x5",pb:"base.spacing.x4",borderRadius:"base.borderRadius.x6",h:`${t}px`,w:"100%",overflowY:"scroll"}},Kt={borderRadius:"base.borderRadius.x4",display:"flex",flexDirection:"column",gap:"base.spacing.x5"};function Ut({label:e,transaction:t,fiatAmount:s,amount:a,icon:n,defaultTokenImage:i}){const{viewDispatch:d}=o.useContext(R),{track:u}=S(),x=r(),p=o.useMemo((()=>(new Date).getTime()),[]),E=o.useMemo((()=>t.details.current_status.withdrawal_ready_at?new Date(t.details.current_status.withdrawal_ready_at):void 0),[t]),g=t.details.current_status.status===gt.WITHDRAWAL_PENDING,m=new Intl.RelativeTimeFormat(x[1].language||"en",{numeric:"auto"}),b=o.useMemo((()=>{if(!g||void 0===E)return"";const e=(E.getTime()-p)/6e4;if(e<=1)return"in 1 minute";if(e<60)return m.format(Math.ceil(e),"minute");const t=e/60;if(e<1440)return m.format(Math.ceil(t),"hour");const s=t/24;return m.format(Math.ceil(s),"day")}),[p,x[1].language]),I=!!E&&E.getTime()<p,A=o.useMemo((()=>!0===I?x.t("views.TRANSACTIONS.status.withdrawalPending.withdrawalReadyText"):`${x.t("views.TRANSACTIONS.status.withdrawalPending.withdrawalDelayText")} ${b}`),[b,x[1].language]);return l.jsxs(h,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}`,sx:Pt,children:[g&&l.jsxs(l.Fragment,{children:[l.jsxs(h,{sx:Wt,children:[l.jsxs(h,{sx:Ot,children:[l.jsx(f,{icon:"Alert",variant:"bold",sx:{fill:I?"base.color.status.fatal.bright":"base.color.status.attention.bright",w:"base.icon.size.200"}}),l.jsx(T,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}-action-message`,size:"xSmall",sx:{color:"base.color.text.body.secondary"},children:A})]}),g&&I&&l.jsx(w,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}-action-button`,variant:"primary",size:"small",onClick:()=>{d({payload:{type:j.UPDATE_VIEW,view:{type:Pe.CLAIM_WITHDRAWAL,transaction:t}}})},children:x.t("views.TRANSACTIONS.status.withdrawalPending.actionButtonText")})]}),l.jsx(C,{size:"small",sx:{color:"base.color.translucent.emphasis.300",opacity:.1}})]}),l.jsxs(_,{chevronSide:"right",sx:{button:{p:"base.spacing.x1"},article:{pr:"base.spacing.x10"},borderTopRightRadius:"0",borderTopLeftRadius:"0"},onExpandChange:e=>e&&u({userJourney:k.BRIDGE,screen:"TransactionItem",control:"Accordion",controlType:"Button"}),children:[l.jsx(_.TargetLeftSlot,{sx:{pr:"base.spacing.x2"},children:l.jsxs(c,{size:"xSmall",children:[l.jsx(c.FramedImage,{imageUrl:n,circularFrame:!0,defaultImageUrl:i}),l.jsx(c.Label,{children:e}),l.jsx(c.Caption,{children:x.t("views.TRANSACTIONS.status.withdrawalPending.caption")}),l.jsx(c.PriceDisplay,{fiatAmount:s,price:a})]})}),l.jsxs(_.ExpandedContent,{sx:{pr:"0",pl:"0",mb:"base.spacing.x3",gap:"0"},children:[l.jsx(C,{size:"xSmall",sx:{px:"base.spacing.x2"}}),l.jsx(Gt,{transaction:t})]})]})]})}const zt={display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",p:"base.spacing.x2",pb:"base.spacing.x4"};function Ht({onChangeWalletClick:e}){const{t:t}=r(),{bridgeState:{from:s}}=o.useContext(ft),{track:a}=S(),n=s?.walletAddress||"",i=N(s?.web3Provider),c=L(s?.web3Provider);return l.jsxs(h,{sx:zt,children:[l.jsxs(h,{sx:{display:"flex",alignItems:"center",gap:"base.spacing.x1"},children:[i&&!c&&l.jsx(D,{logo:"MetaMaskSymbol",sx:{width:"base.icon.size.400"}}),!i&&c&&l.jsx(D,{logo:"PassportSymbolOutlined",sx:{width:"base.icon.size.400",pr:"base.spacing.x1"}}),l.jsx(v,{leftSideLength:6,rightSideLength:4,text:n})]}),l.jsx(w,{size:"small",variant:"tertiary",onClick:()=>{a({userJourney:k.BRIDGE,screen:Pe.TRANSACTIONS,controlType:"Button",control:"Pressed"}),e()},children:t("views.TRANSACTIONS.changeWallet.buttonText")})]})}function $t({checkout:e,transactions:t,knownTokenMap:s,isPassport:a,defaultTokenImage:i,changeWallet:c}){const{cryptoFiatState:d}=o.useContext(We),{t:u}=r(),[x,p]=o.useState("");o.useEffect((()=>{e&&p(M[e.config.environment])}),[e]);const E=o.useCallback(((e,t)=>e.details.current_status.status===gt.WITHDRAWAL_PENDING&&t.details.current_status.status!==gt.WITHDRAWAL_PENDING?-1:e.details.current_status.status===t.details.current_status.status?0:1),[]),g=o.useCallback((t=>B(t.details.from_token_address)?P(e.config.environment,function(e){switch(e){case n.ETHEREUM:case n.SEPOLIA:return"ETH";case n.IMTBL_ZKEVM_TESTNET:case n.IMTBL_ZKEVM_MAINNET:case n.IMTBL_ZKEVM_DEVNET:return"IMX";default:return""}}(t.details.from_chain)):P(e.config.environment,t.details.from_token_address)),[e]);return l.jsxs(h,{sx:Vt(a),children:[l.jsx(Ht,{onChangeWalletClick:c}),l.jsx(h,{testId:"move-transaction-list",sx:Kt,children:t.sort(E).map((e=>{const t=e.blockchain_metadata.transaction_hash,a=s[e.details.from_chain][e.details.from_token_address.toLowerCase()],n=W.formatUnits(e.details.amount,a.decimals),o=O(n,a.symbol,d.conversions);return e.details.current_status.status===gt.WITHDRAWAL_PENDING?l.jsx(Ut,{label:a.name,transaction:e,fiatAmount:`${u("views.TRANSACTIONS.fiatPricePrefix")}${o}`,amount:n,icon:g(e),defaultTokenImage:i},t):l.jsx(Ft,{label:a.name,details:{text:u("views.TRANSACTIONS.status.inProgress.stepInfo"),link:x,hash:t},transaction:e,fiatAmount:`${u("views.TRANSACTIONS.fiatPricePrefix")}${o}`,amount:n,icon:g(e),defaultTokenImage:i},t)}))})]})}const Zt={backgroundColor:"base.color.neutral.800",px:"base.spacing.x4",pt:"base.spacing.x5",pb:"base.spacing.x4",borderRadius:"base.borderRadius.x6",h:"100%",w:"100%",display:"flex",flexDirection:"column"},Jt={display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",padding:"base.spacing.x5",flex:1},qt={mb:"base.spacing.x8",color:"base.color.text.body.secondary"},Qt={color:"base.color.text.body.secondary"};function Yt({checkout:e,isPassport:t,changeWallet:s}){const{page:a}=S(),{t:n}=r(),[i,c]=o.useState("");return o.useEffect((()=>{e&&c(m[e.config.environment])}),[e]),o.useEffect((()=>{a({userJourney:k.BRIDGE,screen:"NoTransactions"})}),[]),l.jsxs(h,{sx:Zt,children:[l.jsx(Ht,{onChangeWalletClick:s}),l.jsxs(h,{sx:Jt,children:[l.jsx(T,{size:"small",sx:qt,children:n("views.TRANSACTIONS.status.noTransactions.body")}),t&&l.jsxs(T,{size:"small",sx:Qt,children:[n("views.TRANSACTIONS.status.noTransactions.passport.body")," ",l.jsx(b,{size:"small",rc:l.jsx("a",{target:"_blank",href:i,rel:"noreferrer"}),children:n("views.TRANSACTIONS.status.noTransactions.passport.link")})]})]})]})}function Xt({defaultTokenImage:e,onBackButtonClick:t}){const{eventTargetState:{eventTarget:s}}=o.useContext(G),{cryptoFiatDispatch:a}=o.useContext(We),{bridgeDispatch:n,bridgeState:{checkout:c,from:d}}=o.useContext(ft),{page:u}=S(),{t:x}=r(),{track:p}=S(),[E,g]=o.useState(!0),[T,w]=o.useState(void 0),[m,b]=o.useState([]),[f,I]=o.useState(!1),A=L(d?.web3Provider),y=o.useCallback((async()=>{if(!c)return{};const e=F(c.config);try{return((await c.getTokenAllowList({type:V.BRIDGE,chainId:e})).tokens??[]).reduce(((e,t)=>(e[t.address.toLowerCase()]=t,e)),{})}catch(e){return console.error(e),[]}}),[c]),v=o.useCallback((async()=>{if(!d?.web3Provider)return{};if(!d?.walletAddress)return{};const e=K(c.config);try{return(await c.getAllBalances({provider:d?.web3Provider,walletAddress:d?.walletAddress,chainId:e})).balances.reduce(((e,t)=>(e[t.token.address.toLowerCase()]=t.token,e)),{})}catch(e){return console.error(e),[]}}),[c,d]),_=o.useCallback((async e=>{p({userJourney:k.BRIDGE,screen:"EmptyStateNotConnected",control:"WalletProvider",controlType:"Select",extras:{walletProviderName:e}});try{const t=await U(c,e,!0),s=await t.getNetwork(),a=await(t?.getSigner().getAddress())??"";b([]),n({payload:{type:bt.SET_WALLETS_AND_NETWORKS,from:{web3Provider:t,walletAddress:a.toLowerCase(),network:s.chainId},to:null}})}catch(e){console.error(e)}finally{I(!1)}}),[c,d]),C=async e=>{const t=Tt(F(c.config)),s=Tt(K(c.config)),[n,o]=await Promise.all([y(),v()]),r={};Object.entries(e).forEach((([a,i])=>{(e[a]===t&&!n[a]||e[a]===s&&!o[a])&&(r[a]=i)}));const i=new Z(c.config.networkMap.get(F(c.config))?.rpcUrls[0]),l=new Z(c.config.networkMap.get(K(c.config))?.rpcUrls[0]),d=[],u=[];Object.entries(r).forEach((([e,s])=>{s===t?d.push(c.getTokenInfo({provider:i,tokenAddress:e})):u.push(c.getTokenInfo({provider:l,tokenAddress:e}))}));const x=await Promise.allSettled(d),p=await Promise.allSettled(u);x.filter((e=>"fulfilled"===e.status)).forEach((e=>{const t=e;n[t.value.address.toLowerCase()]=t.value})),p.filter((e=>"fulfilled"===e.status)).forEach((e=>{const t=e;o[t.value.address.toLowerCase()]=t.value}));const E=[];return Object.values(n).forEach((e=>E.push(e.symbol.toLowerCase()))),Object.values(o).forEach((e=>E.push(e.symbol.toLowerCase()))),a({payload:{type:Oe.SET_TOKEN_SYMBOLS,tokenSymbols:E}}),{[t]:n,[s]:o}},R=o.useCallback((async(e,t)=>new pt({env:e}).getTransactions({txType:Et.BRIDGE,fromAddress:t})),[]),j=o.useCallback((async()=>{if(!d?.walletAddress)return;const e=await R(c.config.environment,d?.walletAddress),t={};return e.result.forEach((e=>{t[e.details.from_token_address]=e.details.from_chain})),{tokens:await C(t),transactions:e.result}}),[d,R]),N=o.useMemo((()=>{const e=[i.METAMASK];return c.passport&&e.push(i.PASSPORT),e}),[c]);return o.useEffect((()=>{(async()=>{g(!0);const e=await Ve(j,J);if(!e)return void g(!1);const t=e.transactions.filter((t=>{const s=e.tokens[t.details.from_chain];if(!s)return!1;return!!s[t.details.from_token_address.toLowerCase()]}));w(e.tokens),b(t),g(!1)})()}),[d,c]),o.useEffect((()=>{u({userJourney:k.BRIDGE,screen:"Transactions"})}),[]),l.jsx(z,{testId:"bridge-view",header:l.jsx(H,{showBack:!0,onBackButtonClick:()=>{d&&(n({payload:{type:bt.SET_WALLETS_AND_NETWORKS,from:{web3Provider:d?.web3Provider,walletAddress:d?.walletAddress,network:d?.network},to:null}}),n({payload:{type:bt.SET_TOKEN_AND_AMOUNT,token:null,amount:""}})),t()},title:x("views.TRANSACTIONS.layoutHeading"),onCloseButtonClick:()=>_t(s)}),footer:l.jsx($,{}),children:l.jsxs(h,{sx:Ct,children:[l.jsxs(h,{sx:Rt,children:[!d?.web3Provider&&l.jsx(Lt,{openWalletDrawer:()=>I(!0)}),d?.web3Provider&&E&&l.jsx(kt,{}),d?.web3Provider&&!E&&m.length>0&&T&&l.jsx($t,{checkout:c,transactions:m,knownTokenMap:T,isPassport:A,defaultTokenImage:e,changeWallet:()=>I(!0)}),d?.web3Provider&&!E&&0===m.length&&l.jsx(Yt,{checkout:c,isPassport:A,changeWallet:()=>I(!0)})]}),d?.web3Provider&&m.length>0&&l.jsx(h,{sx:jt,children:l.jsx(Bt,{checkout:c,isPassport:A})}),l.jsx(vt,{testId:"select-wallet-drawer",drawerText:{heading:x("views.TRANSACTIONS.walletSelection.heading")},showWalletSelectorTarget:!1,walletOptions:N,showDrawer:f,setShowDrawer:e=>{I(e)},onWalletItemClick:_})]})})}function es({transactionResponse:e}){const{t:t}=r(),{viewDispatch:s}=o.useContext(R),{page:a}=S();return o.useEffect((()=>{a({userJourney:k.BRIDGE,screen:"ClaimWithdrawalInProgress"})}),[]),o.useEffect((()=>{e&&(async()=>{try{const t=await e.wait();if(1===t.status)return void s({payload:{type:j.UPDATE_VIEW,view:{type:Pe.CLAIM_WITHDRAWAL_SUCCESS,transactionHash:t.transactionHash}}});s({payload:{type:j.UPDATE_VIEW,view:{type:Pe.CLAIM_WITHDRAWAL_FAILURE,transactionHash:t.transactionHash,reason:"Transaction failed"}}})}catch(e){console.error(e),s({payload:{type:j.UPDATE_VIEW,view:{type:Pe.CLAIM_WITHDRAWAL_FAILURE,transactionHash:"",reason:"Transaction failed"}}})}})()}),[e]),l.jsx(q,{loadingText:t("views.CLAIM_WITHDRAWAL.IN_PROGRESS.loading.text"),showFooterLogo:!0})}function ts(e){return e?e.substring(0,6).concat("...").concat(e.substring(e.length-4)):""}const ss={height:"100%",display:"flex",flexDirection:"column",paddingX:"base.spacing.x4"},as={paddingTop:"base.spacing.x10",paddingBottom:"base.spacing.x4"},ns={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6"},os={[s.IMTBL_ZKEVM_DEVNET]:"base.color.text.link.primary",[s.IMTBL_ZKEVM_TESTNET]:"base.color.text.link.primary",[s.IMTBL_ZKEVM_MAINNET]:"base.color.text.link.primary",[s.ETHEREUM]:"base.color.accent.5",[s.SEPOLIA]:"base.color.accent.5"},rs=e=>({backgroundColor:os[e],"& svg":{fill:"base.color.brand.2"}}),is={[s.IMTBL_ZKEVM_DEVNET]:"Immutable",[s.IMTBL_ZKEVM_MAINNET]:"Immutable",[s.IMTBL_ZKEVM_TESTNET]:"Immutable",[s.ETHEREUM]:"EthToken",[s.SEPOLIA]:"EthToken"};function ls({testId:e,chainId:t,chainName:s,onNetworkClick:a}){return l.jsxs(c,{testId:`${e}-network-list-${t}`,size:"medium",emphasized:!0,onClick:async()=>{await a(t)},sx:{marginBottom:"base.spacing.x1"},children:[l.jsx(c.FramedIcon,{icon:is[t],circularFrame:!0,sx:rs(t)}),l.jsx(c.Label,{size:"medium",children:s})]})}const cs={[s.IMTBL_ZKEVM_DEVNET]:"base.color.text.link.primary",[s.IMTBL_ZKEVM_TESTNET]:"base.color.text.link.primary",[s.IMTBL_ZKEVM_MAINNET]:"base.color.text.link.primary",[s.ETHEREUM]:"base.color.accent.5",[s.SEPOLIA]:"base.color.accent.5"},ds={width:"100%",backgroundColor:"base.color.translucent.emphasis.100",borderRadius:"base.borderRadius.x4",paddingX:"base.spacing.x3",paddingY:"base.spacing.x5",display:"flex",flexDirection:"row",gap:"base.spacing.x4",alignItems:"center","&:hover":{cursor:"pointer",backgroundColor:"base.color.translucent.emphasis.200"}},us=e=>({width:"base.icon.size.500",padding:e===i.PASSPORT?"base.spacing.x1":"",backgroundColor:"base.color.translucent.standard.200",borderRadius:"base.borderRadius.x2"}),xs={color:"base.color.text.body.secondary"},ps={paddingY:"base.spacing.x6",borderRadius:"base.borderRadius.x18"},Es=e=>({fill:"base.color.brand.2",width:"base.icon.size.300",backgroundColor:cs[e],borderRadius:"100%",padding:"base.spacing.x1"}),gs={[s.IMTBL_ZKEVM_DEVNET]:"Immutable",[s.IMTBL_ZKEVM_MAINNET]:"Immutable",[s.IMTBL_ZKEVM_TESTNET]:"Immutable",[s.ETHEREUM]:"EthToken",[s.SEPOLIA]:"EthToken"},hs={[i.PASSPORT]:"PassportSymbolOutlined",[i.METAMASK]:"MetaMaskSymbol"};function Ts({testId:e,walletName:t,walletAddress:s,chainId:a,disableNetworkButton:n=!1,onWalletClick:o,onNetworkClick:r}){const c=ht(a),d=t===i.METAMASK?"Metamask":"Passport";return l.jsxs(h,{testId:`${e}-${t}-${a}-button-wrapper`,sx:ds,onClick:o,children:[l.jsx(D,{logo:hs[t],sx:us(t)}),l.jsxs(h,{sx:{display:"flex",flexDirection:"column",flex:1},children:[l.jsx(Q,{size:"xSmall",children:d}),l.jsx(T,{size:"xSmall",sx:xs,children:s})]}),l.jsxs(w,{testId:`${e}-network-${a}-button`,size:"small",disabled:n,onClick:e=>{e.stopPropagation(),r(e)},variant:"tertiary",sx:ps,children:[l.jsx(w.Icon,{icon:gs[a],sx:Es(a)}),c]})]})}const ws="wallet-network-selector";function ms(){const{t:e}=r(),{bridgeState:{checkout:t,from:s,to:a},bridgeDispatch:n}=o.useContext(ft),{viewDispatch:c}=o.useContext(R),{track:u}=S(),x=F(t.config),p=ht(x),E=K(t.config),g=ht(E),T=o.useRef(),[m,b]=o.useState(!1),[f,I]=o.useState(!1),[A,y]=o.useState(),[v,_]=o.useState(),[C,D]=o.useState(""),[M,B]=o.useState(!1),[P,W]=o.useState(),[O,G]=o.useState(),[V,z]=o.useState(""),H=A&&v,$=P&&O,Z=o.useMemo((()=>A?L(A)?i.PASSPORT:i.METAMASK:null),[A]),J=o.useMemo((()=>A?L(P)?i.PASSPORT:i.METAMASK:null),[P]),q=o.useMemo((()=>{const e=[i.METAMASK];return t.passport&&e.push(i.PASSPORT),e}),[t]),Y=o.useMemo((()=>{const e=[i.METAMASK];return t.passport&&v===x&&Z===i.METAMASK&&e.push(i.PASSPORT),e}),[t,v,Z]);o.useEffect((()=>{s&&a&&(C!==s?.walletAddress&&u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"FromWallet",controlType:"Select",extras:{walletAddress:s?.walletAddress}}),v!==s?.network&&u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"FromNetwork",controlType:"Select",extras:{chainId:s?.network}}),V!==a?.walletAddress&&u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"ToWallet",controlType:"Select",extras:{walletAddress:a?.walletAddress}}),O!==a?.network&&u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"ToNetwork",controlType:"Select",extras:{chainId:a?.network}}),y(s.web3Provider),D(s.walletAddress.toLowerCase()),_(s.network),W(a.web3Provider),z(a.walletAddress.toLowerCase()),G(a.network),n({payload:{type:bt.SET_WALLETS_AND_NETWORKS,from:null,to:null}}))}),[s,a]);const X=o.useCallback((async e=>{let s;try{return s=await U(t,e),e===i.PASSPORT&&(T.current=s),s}catch(e){throw console.error(e),e}}),[t]);function ee(){W(null),G(null)}const te=o.useCallback((async e=>{let t;if(ee(),e===i.PASSPORT&&T.current&&(t=T.current),!t)try{t=await X(e)}catch(e){return}y(t);const s=await t.getSigner().getAddress();if(D(s.toLowerCase()),L(t))return _(E),void b(!1);_(null),b(!1),setTimeout((()=>I(!0)),500)}),[Z,T.current]),se=o.useCallback((async e=>{if(!A)return;if(ee(),L(A))return I(!1),void _(e);const s=await(A?.getNetwork());if(s?.chainId===e)return I(!1),void _(e);let a;try{a=await t.switchNetwork({provider:A,chainId:e}),y(a.provider),I(!1),_(a.network.chainId)}catch(e){console.error(e)}}),[t,A,Z,v]),ae=o.useCallback((async e=>{if(Z===e){W(A);const e=await A.getSigner().getAddress();z(e.toLowerCase())}else{let t;if(e===i.PASSPORT&&T.current&&(t=T.current),!t)try{t=await X(e)}catch(e){return}W(t);const s=await t.getSigner().getAddress();z(s.toLowerCase())}G(v===x?E:x),B(!1)}),[Z,v,A,T.current]),ne=o.useCallback((()=>{A&&v&&P&&O&&(n({payload:{type:bt.SET_TOKEN_BALANCES,tokenBalances:[]}}),n({payload:{type:bt.SET_ALLOWED_TOKENS,allowedTokens:[]}}),n({payload:{type:bt.SET_WALLETS_AND_NETWORKS,from:{web3Provider:A,walletAddress:C.toLowerCase(),network:v},to:{web3Provider:P,walletAddress:V.toLowerCase(),network:O}}}),u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"Next",controlType:"Button",extras:{fromWalletAddress:C,fromNetwork:v,fromWallet:{address:C,isPassportWallet:L(A),isMetaMask:N(A)},toWalletAddress:V,toNetwork:O,toWallet:{address:V,isPassportWallet:L(P),isMetaMask:N(P)}}}),c({payload:{type:j.UPDATE_VIEW,view:{type:Pe.BRIDGE_FORM}}}))}),[A,v,C,P,O,V]);return l.jsxs(h,{testId:ws,sx:ss,children:[l.jsx(Q,{testId:`${ws}-heading`,size:"small",weight:"regular",sx:as,children:e("views.WALLET_NETWORK_SELECTION.heading")}),l.jsx(Q,{size:"xSmall",sx:{paddingBottom:"base.spacing.x2"},children:e("views.WALLET_NETWORK_SELECTION.fromFormInput.heading")}),l.jsx(vt,{testId:`${ws}-from`,drawerText:{heading:e("views.WALLET_NETWORK_SELECTION.fromFormInput.walletSelectorHeading"),defaultText:e("views.WALLET_NETWORK_SELECTION.fromFormInput.selectDefaultText")},showWalletSelectorTarget:!H,walletOptions:q,showDrawer:m,setShowDrawer:b,onWalletItemClick:te}),H&&Z&&l.jsxs(h,{sx:{display:"flex",flexDirection:"column",gap:"base.spacing.x10"},children:[l.jsx(Ts,{testId:ws,walletName:Z,walletAddress:ts(C),chainId:v,onWalletClick:()=>{b(!0)},onNetworkClick:()=>I(!0)}),l.jsxs(h,{children:[l.jsx(Q,{size:"xSmall",sx:{paddingBottom:"base.spacing.x2"},children:e("views.WALLET_NETWORK_SELECTION.toFormInput.heading")}),l.jsx(vt,{testId:`${ws}-to`,drawerText:{heading:e("views.WALLET_NETWORK_SELECTION.toFormInput.walletSelectorHeading"),defaultText:e("views.WALLET_NETWORK_SELECTION.toFormInput.selectDefaultText")},showWalletSelectorTarget:!$,walletOptions:Y,showDrawer:M,setShowDrawer:B,onWalletItemClick:ae})]})]}),l.jsx(d,{headerBarTitle:e("views.WALLET_NETWORK_SELECTION.fromFormInput.networkSelectorHeading"),size:"full",onCloseDrawer:()=>{I(!1)},visible:f,children:l.jsxs(d.Content,{sx:{paddingX:"base.spacing.x4"},children:[l.jsx(ls,{testId:ws,chainName:g,onNetworkClick:se,chainId:E},g),Z===i.METAMASK&&l.jsx(ls,{testId:ws,chainName:p,onNetworkClick:se,chainId:x},p)]})}),$&&J&&l.jsxs(h,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[l.jsx(Ts,{testId:ws,walletName:J,walletAddress:ts(V),chainId:O,disableNetworkButton:!0,onWalletClick:()=>{B(!0)},onNetworkClick:()=>{}}),l.jsx(h,{sx:ns,children:l.jsx(w,{testId:`${ws}-submit-button`,size:"large",onClick:ne,children:e("views.WALLET_NETWORK_SELECTION.submitButton.text")})})]})]})}function bs(){const{t:e}=r(),{viewDispatch:t}=o.useContext(R),{eventTargetState:{eventTarget:s}}=o.useContext(G),{page:a}=S();return o.useEffect((()=>{a({userJourney:k.BRIDGE,screen:"WalletNetworkSelection"})}),[]),l.jsx(z,{testId:"bridge-view",header:l.jsx(H,{title:e("views.WALLET_NETWORK_SELECTION.layoutHeading"),onCloseButtonClick:()=>_t(s),rightActions:l.jsx(Y,{icon:"Minting",sx:X(),onClick:()=>{t({payload:{type:j.UPDATE_VIEW,view:{type:Pe.TRANSACTIONS}}})},testId:"move-transactions-button"})}),footer:l.jsx($,{}),children:l.jsx(ms,{})})}function fs(e,t){return e&&0!==parseFloat(e)?t&&Number(e)>Number(t)?"views.BRIDGE_FORM.validation.insufficientBalance":"":"views.BRIDGE_FORM.validation.noAmountInputted"}const Is={height:"100%",display:"flex",flexDirection:"column",justifyContent:"space-between",paddingTop:"base.spacing.x10"},As={paddingTop:"base.spacing.x4",display:"flex",gap:"base.spacing.x1"},ys={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6",paddingX:"base.spacing.x4"},vs={display:"flex",flexDirection:"column",alignItems:"center",paddingTop:"base.spacing.x6",paddingBottom:"base.spacing.x1",height:"100%"},Ss={color:"base.color.text.body.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"15px"},_s={display:"flex",flexDirection:"column",justifyContent:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},ks={width:"100%",height:"base.spacing.x16"},Cs={display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",paddingTop:"base.spacing.x6"};function Rs({environment:e,onCloseDrawer:t,visible:s,showHeaderBar:a,walletAddress:n,showAdjustAmount:i,tokenSymbol:c,onAddCoinsClick:u}){const{t:x}=r(),[p,E]=o.useState(!1),g=ee(e),m=te(e),b=c===se?`${x("drawers.notEnoughGas.content.eth.heading")}`:`${x("drawers.notEnoughGas.content.imx.heading")}`,f=c===se?`${x("drawers.notEnoughGas.content.eth.body")}`:`${x("drawers.notEnoughGas.content.imx.body")}`,I=o.useCallback((()=>{n&&""!==n&&navigator.clipboard.writeText(n),E(!0),setTimeout((()=>{E(!1)}),3e3)}),[n]);return l.jsx(d,{headerBarTitle:void 0,size:"full",onCloseDrawer:t,visible:s,showHeaderBar:a,children:l.jsx(d.Content,{children:l.jsxs(h,{testId:"not-enough-gas-bottom-sheet",sx:vs,children:[l.jsx(ae,{imageUrl:c===se?g:m,sx:{w:"base.icon.size.600",h:"base.icon.size.600"}}),l.jsx(Q,{size:"small",sx:Ss,testId:"not-enough-gas-heading",children:b}),l.jsx(T,{sx:Ss,children:f}),l.jsxs(h,{sx:_s,children:[i&&l.jsx(w,{testId:"not-enough-gas-adjust-amount-button",sx:ks,variant:"tertiary",onClick:t,children:x("drawers.notEnoughGas.buttons.adjustAmount")}),c===se?l.jsxs(w,{testId:"not-enough-gas-copy-address-button",sx:ks,variant:"tertiary",onClick:I,children:[x("drawers.notEnoughGas.buttons.copyAddress"),l.jsx(w.Icon,{icon:p?"Tick":"CopyText"})]}):l.jsx(w,{testId:"not-enough-gas-add-imx-button",sx:ks,variant:"tertiary",onClick:u,children:x("drawers.notEnoughGas.buttons.addMoreImx")}),l.jsx(w,{sx:ks,variant:"tertiary",onClick:t,testId:"not-enough-gas-cancel-button",children:x("drawers.notEnoughGas.buttons.cancel")})]}),l.jsx(h,{sx:Cs,children:l.jsx(D,{testId:"footer-logo-image",logo:"ImmutableHorizontalLockup",sx:{width:"base.spacing.x25"}})})]})})})}function js({sx:e}){return l.jsxs(h,{sx:{...e,paddingTop:"0",marginTop:"base.spacing.x4"},rc:l.jsx("div",{}),children:[l.jsx(h,{sx:{display:"flex",backgroundColor:"#F3F3F30A",borderRadius:"8px"},children:l.jsx(h,{sx:{minw:"170px",height:"64px",WebkitMaskPosition:"left center",WebkitMaskRepeat:"no-repeat",WebkitMaskSize:"contain",WebkitMaskImage:'url(\'data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path d="M154.75 39q1.65 0 2.85-1.15 1.15-1.15 1.15-2.85v-4q0-1.65-1.15-2.8-1.2-1.2-2.85-1.2h-93.6q-2.3 0-3.85 1.2-1.55 1.15-1.55 2.8v4q0 1.7 1.55 2.85Q58.85 39 61.15 39h93.6m-111.7-3.35q.2-1.3.2-2.65 0-1.35-.2-2.65-.75-4.9-4.5-8.65-4.7-4.7-11.3-4.7-6.65 0-11.3 4.7-4.7 4.7-4.7 11.3 0 6.65 4.7 11.3Q20.6 49 27.25 49q6.6 0 11.3-4.7 3.75-3.7 4.5-8.65Z" id="a"/></svg>\')'},rc:l.jsx("span",{}),children:l.jsx(g,{rc:l.jsx("span",{})})})}),l.jsx(h,{sx:{display:"flex",width:"100%",backgroundColor:"#F3F3F30A",borderRadius:"8px"},children:l.jsx(h,{sx:{width:"100%",height:"64px",WebkitMaskPosition:"right center",WebkitMaskRepeat:"no-repeat",WebkitMaskSize:"contain",WebkitMaskImage:'url(\'data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" width="196" height="96"><path d="M182.85 55.2Q181.65 54 180 54h-56q-1.7 0-2.85 1.2Q120 56.35 120 58v4q0 1.7 1.15 2.85Q122.3 66 124 66h56q1.65 0 2.85-1.15Q184 63.7 184 62v-4q0-1.65-1.15-2.8m0-22Q181.65 32 180 32H68q-1.7 0-2.85 1.2Q64 34.35 64 36v8q0 1.7 1.15 2.85Q66.3 48 68 48h112q1.65 0 2.85-1.15Q184 45.7 184 44v-8q0-1.65-1.15-2.8Z" id="a"/></svg>\')'},rc:l.jsx("span",{}),children:l.jsx(g,{rc:l.jsx("span",{})})})})]})}function Ns(e){const{t:t}=r(),{bridgeDispatch:s,bridgeState:{tokenBalances:a,allowedTokens:n,checkout:i,from:c,to:d,amount:u,token:x}}=o.useContext(ft),{cryptoFiatState:p,cryptoFiatDispatch:E}=o.useContext(We),{viewDispatch:g}=o.useContext(R),{testId:T,defaultAmount:m,defaultTokenAddress:b,isTokenBalancesLoading:f,defaultTokenImage:I}=e,{track:A}=S(),[y,v]=o.useState(m||""),[_,C]=o.useState(""),[N,L]=o.useState(),[D,M]=o.useState(""),[P,W]=o.useState(""),[G,V]=o.useState(!1),K=o.useRef(!1),U=N?`${t("views.BRIDGE_FORM.content.availableBalancePrefix")} ${ne(N?.formattedBalance)}`:"",[z,H]=o.useState([]),[$,Z]=o.useState(!1),[J,q]=o.useState(""),[Y,X]=o.useState(!1),ee=o.useCallback(((e,t)=>t?`${e.toLowerCase()}-${t.toLowerCase()}`:e.toLowerCase()),[]);o.useEffect((()=>{if(0===a.length)return;const e=a.filter((e=>e.balance.gt(0))).map((e=>({id:ee(e.token.symbol,e.token.address),name:e.token.name,symbol:e.token.symbol,icon:e.token.icon,balance:{formattedFiatAmount:0===p.conversions.size?oe(""):O(e.formattedBalance,e.token.symbol,p.conversions),formattedAmount:ne(e.formattedBalance)}})));H(e),K.current||(K.current=!0,b&&L(a.find((e=>B(e.token.address)&&b?.toLocaleUpperCase()===re||e.token.address?.toLowerCase()===b?.toLowerCase()))))}),[a,p.conversions,b,K.current,ee,oe]),o.useEffect((()=>{if(u&&x){v(u);for(let e=0;e<a.length;e++){const t=a[e];if(t.token.address===x.address){L(t);break}}s({payload:{type:bt.SET_TOKEN_AND_AMOUNT,token:null,amount:""}})}}),[u,x,a]);const te=o.useMemo((()=>N&&N.token?ee(N.token.symbol,N.token.address):void 0),[N,a,p.conversions,ee]),ae=o.useMemo((()=>!a.find((e=>B(e.token.address)))),[a,N,y]),de=e=>{let t=e;if("."===t&&(t="0."),v(t),_){const e=fs(t,N?.formattedBalance);C(e)}var s;N&&(W(O(t,N.token.symbol,p.conversions)),s=!0,Number.isNaN(parseFloat(y))||parseFloat(y)<=0||!N||!c||!c.walletAddress||!d||!d.walletAddress||s&&G||!i||V(!0))};o.useEffect((()=>{E({payload:{type:Oe.SET_TOKEN_SYMBOLS,tokenSymbols:n.map((e=>e.symbol))}})}),[E,n]),o.useEffect((()=>{y&&N&&W(O(y,N.token.symbol,p.conversions))}),[y,N]),o.useEffect((()=>{(async()=>{if(!c?.web3Provider)return;const e=await c.web3Provider.getSigner().getAddress();q((t=>(""!==t&&t!==e&&L(void 0),e)))})()}),[c?.web3Provider,a]);const ue=o.useCallback((()=>{const e=N?"":"views.BRIDGE_FORM.validation.noTokenSelected";const t=fs(y,N?.formattedBalance);return e&&M(e),t&&C(t),!e&&!t}),[N,y,M,C]),xe=o.useCallback((async()=>{ue()&&i&&c?.web3Provider&&N&&(ae?Z(!0):(A({userJourney:k.BRIDGE,screen:"TokenAmount",control:"Review",controlType:"Button",extras:{tokenAddress:N.token.address,amount:y}}),s({payload:{type:bt.SET_TOKEN_AND_AMOUNT,token:N.token,amount:y}}),g({payload:{type:j.UPDATE_VIEW,view:{type:Pe.BRIDGE_REVIEW}}})))}),[i,c?.web3Provider,ue,ae,N]);return l.jsxs(h,{testId:T,sx:Is,children:[l.jsxs(h,{sx:{paddingX:"base.spacing.x4"},children:[l.jsx(Q,{testId:`${T}-content-heading`,size:"small",weight:"regular",sx:{paddingBottom:"base.spacing.x4"},children:t("views.BRIDGE_FORM.content.title")}),(!b||!f)&&l.jsxs(h,{sx:As,children:[l.jsx(ze,{testId:"bridge-token",options:z,optionsLoading:f,coinSelectorHeading:t("views.BRIDGE_FORM.bridgeForm.from.selectorTitle"),selectedOption:te,subtext:U,textAlign:"left",errorMessage:t(D),onSelectChange:e=>(e=>{const t=a.find((t=>e===ee(t.token.symbol,t.token.address)));t&&(L(t),M(""))})(e),defaultTokenImage:I}),l.jsx(He,{testId:"bridge-amount",type:"number",value:y,placeholder:t("views.BRIDGE_FORM.bridgeForm.from.inputPlaceholder"),subtext:`${t("views.BRIDGE_FORM.content.fiatPricePrefix")} $${oe(P,!0)}`,validator:ie,onTextInputChange:e=>de(e),onTextInputEnter:xe,textAlign:"right",errorMessage:t(_)})]}),b&&f&&l.jsx(js,{sx:As})]}),l.jsxs(h,{sx:ys,children:[l.jsx(w,{testId:`${T}-button`,variant:"primary",onClick:xe,size:"large",children:t("views.BRIDGE_FORM.bridgeForm.buttonText")}),l.jsx($e,{visible:Y,showHeaderBar:!1,onCloseDrawer:()=>X(!1),onRetry:async()=>{X(!1),await xe()}}),l.jsx(Rs,{environment:i.config.environment,visible:$,showHeaderBar:!1,onCloseDrawer:()=>Z(!1),walletAddress:J,showAdjustAmount:B(N?.token.address),tokenSymbol:c?.network===F(i?.config)?se:le,onAddCoinsClick:()=>{g({payload:{type:j.UPDATE_VIEW,view:{type:ce.TOP_UP_VIEW}}})}})]})]})}const Ls=1e4;function Ds({amount:e,tokenAddress:t,defaultTokenImage:s}){const{t:a}=r(),{bridgeState:n,bridgeDispatch:i}=o.useContext(ft),{checkout:c,from:d}=n,{eventTargetState:{eventTarget:u}}=o.useContext(G),[x,p]=o.useState(!1),{page:E}=S();o.useEffect((()=>{(e||t)&&E({userJourney:k.BRIDGE,screen:"TokenAmount",extras:{amount:e,tokenAddress:t}})}),[]);const g=o.useCallback((async()=>{if(c&&d?.web3Provider)try{const e=await Ze({checkout:c,provider:d.web3Provider,allowTokenListType:V.BRIDGE,retryPolicy:{retryIntervalMs:0,retries:0}});if(void 0===e)return;i({payload:{type:bt.SET_TOKEN_BALANCES,tokenBalances:e.allowedBalances}}),i({payload:{type:bt.SET_ALLOWED_TOKENS,allowedTokens:e.allowList.tokens}})}catch(e){console.debug(e)}}),[c,d?.web3Provider]);return Ke(g,Ls),o.useEffect((()=>{c&&d?.web3Provider&&(p(!0),g().finally((()=>p(!1))))}),[c,d?.web3Provider]),l.jsx(z,{testId:"bridge-view",header:l.jsx(H,{showBack:!0,title:a("views.BRIDGE_FORM.header.title"),onCloseButtonClick:()=>_t(u)}),footer:l.jsx($,{}),children:l.jsx(Ns,{testId:"bridge-form",defaultAmount:e,defaultTokenAddress:t,isTokenBalancesLoading:x,defaultTokenImage:s})})}const Ms={borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px",marginBottom:"2px"},Bs={borderTopLeftRadius:"0px",borderTopRightRadius:"0px",backgroundColor:"base.color.translucent.emphasis.100"},Ps={height:"100%",display:"flex",flexDirection:"column",paddingX:"base.spacing.x4"},Ws={paddingTop:"base.spacing.x10",paddingBottom:"base.spacing.x4"},Os={display:"flex",flexDirection:"column",alignItems:"center",paddingY:"base.spacing.x1"},Gs={width:"base.icon.size.300",transform:"rotate(270deg)"},Fs={width:"base.icon.size.400"},Vs=(e,t,s)=>{const a=[];if(!e?.fees||!e.token)return a;let n=de.from(0);if(e.fees.bridgeFee&&(n=n.add(e.fees.bridgeFee)),e.fees.imtblFee&&(n=n.add(e.fees.imtblFee)),n.gt(0)&&a.push({label:s("drawers.feesBreakdown.fees.serviceFee.label"),fiatAmount:`~ ${s("drawers.feesBreakdown.fees.fiatPricePrefix")}${O(ue(n,e.token.decimals),e.token.symbol,t.conversions)}`,amount:ne(ue(n,e.token.decimals))}),e.fees.sourceChainGas?.gt(0)){const n=ue(e.fees.sourceChainGas,e.token.decimals);a.push({label:s("drawers.feesBreakdown.fees.gasFeeMove.label"),fiatAmount:`~ ${s("drawers.feesBreakdown.fees.fiatPricePrefix")}${O(n,e.token.symbol,t.conversions)}`,amount:`${ne(n)}`,prefix:"~ "})}if(e.fees.approvalFee?.gt(0)){const n=ue(e.fees.approvalFee,e.token.decimals);a.push({label:s("drawers.feesBreakdown.fees.gasFeeApproval.label"),fiatAmount:`~ ${s("drawers.feesBreakdown.fees.fiatPricePrefix")}${O(n,e.token.symbol,t.conversions)}`,amount:`${ne(n)}`,prefix:"~ "})}return a},Ks={[s.IMTBL_ZKEVM_DEVNET]:"Immutable",[s.IMTBL_ZKEVM_MAINNET]:"Immutable",[s.IMTBL_ZKEVM_TESTNET]:"Immutable",[s.ETHEREUM]:"EthToken",[s.SEPOLIA]:"EthToken"},Us={[i.PASSPORT]:"PassportSymbolOutlined",[i.METAMASK]:"MetaMaskSymbol"},zs="bridge-review-summary";function Hs(){const{t:e}=r(),{viewDispatch:t}=o.useContext(R),{bridgeState:{checkout:s,tokenBridge:a,from:n,to:d,token:u,amount:x}}=o.useContext(ft),{track:p}=S(),{cryptoFiatState:E}=o.useContext(We),[g,m]=o.useState(!1),[b,I]=o.useState(void 0),[A,y]=o.useState(""),[v,_]=o.useState(""),[C,D]=o.useState(void 0),[M,B]=o.useState(void 0),P=e=>L(e)?i.PASSPORT:i.METAMASK,W=o.useMemo((()=>u?.symbol?`${u?.symbol} ${x}`:`${x}`),[u,x]),G=o.useMemo((()=>x&&u?O(x,u.symbol,E.conversions):""),[u,x]),F=o.useMemo((()=>n?n.walletAddress:"-"),[n]),V=o.useMemo((()=>P(n?.web3Provider)),[n]),K=o.useMemo((()=>n&&n.network),[n]),U=o.useMemo((()=>d?d.walletAddress:"-"),[d]),z=o.useMemo((()=>P(d?.web3Provider)),[d]),H=o.useMemo((()=>d?.network),[d]),$=o.useCallback((async()=>{if(!(a&&x&&n&&d&&u))return;const[e,t]=await Promise.all([a.getUnsignedApproveBridgeTx({senderAddress:F,token:u.address??re.toUpperCase(),amount:xe(x,u.decimals),sourceChainId:n?.network.toString(),destinationChainId:d?.network.toString()}),a.getUnsignedBridgeTx({senderAddress:F,recipientAddress:U,token:u.address??re.toUpperCase(),amount:xe(x,u.decimals),sourceChainId:n?.network.toString(),destinationChainId:d?.network.toString(),gasMultiplier:1.1})]);D(e),B(t);const o=t.feeData,{totalFees:r,approvalFee:i}=o;let l=r;e.unsignedTx||(l=r.sub(i),o.approvalFee=de.from(0));const c={gasEstimateType:pe.BRIDGE_TO_L2,fees:{...o,totalFees:l},token:s.config.networkMap.get(n.network)?.nativeCurrency};I(c);const p=ue(c?.fees.totalFees||0,ge);y(p),_(O(p,c?.token?.symbol||"",E.conversions))}),[s,a]);Ke((()=>$()),Ee);const Z=o.useCallback((()=>Vs(b,E,e)),[b]);o.useEffect((()=>{(async()=>{m(!0),await $(),m(!1)})()}),[]);const J=o.useCallback((async()=>{C&&M&&(p({userJourney:k.BRIDGE,screen:"Summary",control:"Submit",controlType:"Button",extras:{fromWalletAddress:F,fromNetwork:K,fromWallet:{address:F,isPassportWallet:L(n?.web3Provider),isMetaMask:N(n?.web3Provider)},toWalletAddress:U,toNetwork:H,toWallet:{address:U,isPassportWallet:L(d?.web3Provider),isMetaMask:N(d?.web3Provider)},amount:x,fiatAmount:G,tokenAddress:u?.address}}),t({payload:{type:j.UPDATE_VIEW,view:{type:Pe.APPROVE_TRANSACTION,approveTransaction:C,transaction:M}}}))}),[t,C,M]);return l.jsxs(h,{testId:zs,sx:Ps,children:[l.jsx(Q,{testId:`${zs}-heading`,size:"small",weight:"regular",sx:Ws,children:e("views.BRIDGE_REVIEW.heading")}),l.jsxs(c,{testId:`${zs}-from-amount`,size:"small",emphasized:!0,sx:Ms,children:[l.jsx(c.Label,{size:"small",sx:{marginBottom:"base.spacing.x4",fontWeight:"bold"},children:e("views.BRIDGE_REVIEW.fromLabel.amountHeading")}),l.jsx(c.Caption,{}),l.jsx(c.PriceDisplay,{use:l.jsx(Q,{size:"xSmall",weight:"light"}),price:W??"-",fiatAmount:`${e("views.BRIDGE_REVIEW.fiatPricePrefix")}${G}`})]}),l.jsxs(c,{testId:`${zs}-from-address`,size:"xSmall",emphasized:!0,sx:Bs,children:[V&&l.jsx(c.FramedLogo,{logo:Us[V],sx:{backgroundColor:"base.color.translucent.standard.200"}}),l.jsxs(c.Label,{children:[l.jsx("strong",{children:e("views.BRIDGE_REVIEW.fromLabel.heading")})," ",l.jsx(T,{size:"small",sx:{color:"base.color.text.body.secondary"},children:ts(F??"")})]}),K&&l.jsx(c.IntentIcon,{icon:Ks[K],sx:Es(K)})]}),l.jsx(h,{sx:Os,children:l.jsx(f,{icon:"ArrowBackward",sx:Gs})}),l.jsxs(c,{testId:`${zs}-to-address`,size:"xSmall",emphasized:!0,sx:Ms,children:[z&&l.jsx(c.FramedLogo,{logo:Us[z],sx:{backgroundColor:"base.color.translucent.standard.200"}}),l.jsxs(c.Label,{children:[l.jsx("strong",{children:e("views.BRIDGE_REVIEW.toLabel.heading")})," ",l.jsx(T,{size:"small",sx:{color:"base.color.text.body.secondary"},children:ts(U??"")})]}),H&&l.jsx(c.IntentIcon,{icon:Ks[H],sx:Es(H)})]}),l.jsx(Je,{gasFeeValue:A,gasFeeFiatValue:v,gasFeeToken:b?.token,fees:Z(),onFeesClick:()=>{p({userJourney:k.BRIDGE,screen:"MoveCoins",control:"ViewFees",controlType:"Button"})},sx:{borderTopRightRadius:"0",borderTopLeftRadius:"0"},loading:g}),l.jsx(h,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"flex-end",paddingY:"base.spacing.x6",width:"100%"},children:l.jsx(w,{size:"large",sx:{width:"100%"},onClick:J,disabled:g,testId:`${zs}__submit-button`,children:g?l.jsx(w.Icon,{icon:"Loading",sx:Fs}):e("views.BRIDGE_REVIEW.submitButton.buttonText")})})]})}function $s(){const{t:e}=r(),{eventTargetState:{eventTarget:t}}=o.useContext(G),{page:s}=S();return o.useEffect((()=>{s({userJourney:k.BRIDGE,screen:"Review"})}),[]),l.jsx(z,{testId:"bridge-review",header:l.jsx(H,{showBack:!0,title:e("views.BRIDGE_REVIEW.layoutHeading"),onCloseButtonClick:()=>_t(t)}),footer:l.jsx($,{}),children:l.jsx(Hs,{})})}function Zs({environment:e}){const{RiveComponent:t}=he.useRive({src:`${Te[e]}/v1/blob/img/rocket.riv`,autoplay:!0,layout:new he.Layout({fit:he.Fit.Cover}),stateMachines:"State Machine 1"});return l.jsx(h,{sx:{...we,background:"base.color.translucent.emphasis.100"},children:l.jsx(h,{sx:me,rc:l.jsx(t,{})})})}function Js({transactionHash:e}){const{t:t}=r(),{eventTargetState:{eventTarget:s}}=o.useContext(G),{page:a}=S(),{cryptoFiatState:n}=o.useContext(We),{viewDispatch:i}=o.useContext(R),{bridgeState:{checkout:c,from:d,to:u,token:x,amount:p}}=o.useContext(ft);return o.useEffect((()=>{St(s,e);const t=O(p,x?.symbol??"",n.conversions);a({userJourney:k.BRIDGE,screen:"InProgress",extras:{fromWalletAddress:d?.walletAddress,toWalletAddress:u?.walletAddress,amount:p,fiatAmount:t,tokenAddress:x?.address}})}),[]),l.jsx(z,{testId:"move-in-progress-view",header:l.jsx(H,{transparent:!0,onCloseButtonClick:()=>_t(s),rightActions:l.jsxs(l.Fragment,{children:[l.jsx(Y,{icon:"Minting",sx:X(),onClick:()=>{i({payload:{type:j.UPDATE_VIEW,view:{type:Pe.TRANSACTIONS}}})},testId:"settings-button"}),l.jsx(be,{isAnimated:!0,variant:"guidance",sx:{position:"absolute",right:"base.spacing.x14",top:"base.spacing.x1"}})]})}),footer:l.jsx($,{}),heroContent:l.jsx(Zs,{environment:c.config.environment}),floatHeader:!0,children:l.jsxs(fe,{heading:t("views.IN_PROGRESS.heading"),children:[t("views.IN_PROGRESS.body1"),l.jsx("br",{}),l.jsx("br",{}),t("views.IN_PROGRESS.body2")]})})}function qs({approveTransaction:e,transaction:t}){const{t:s}=r(),{bridgeState:a}=o.useContext(ft),{checkout:n,from:i}=a,{viewDispatch:c}=o.useContext(R),{eventTargetState:{eventTarget:d}}=o.useContext(G),{page:u}=S();o.useEffect((()=>{u({userJourney:k.BRIDGE,screen:"ApproveTransaction"})}),[]);const[x,p]=o.useState(!1),[E,g]=o.useState(!1),[T,w]=o.useState(!1),[m,b]=o.useState(!1),f=o.useCallback((()=>{c({payload:{type:j.UPDATE_VIEW,view:{type:ce.ERROR_VIEW,error:new Error("No checkout object or no provider object found")}}})}),[c]),I=o.useCallback((()=>{c({payload:{type:j.GO_BACK}})}),[c]),A=e=>{if(e.type!==Ie.UNPREDICTABLE_GAS_LIMIT){if(e.type===Ie.TRANSACTION_FAILED||e.type===Ie.INSUFFICIENT_FUNDS||e.receipt&&0===e.receipt.status){let t="Transaction failed";return e.type===Ie.INSUFFICIENT_FUNDS&&(t="Insufficient funds"),e.receipt&&0===e.receipt.status&&(t="Transaction failed to settle on chain"),void c({payload:{type:j.UPDATE_VIEW,view:{type:Pe.BRIDGE_FAILURE,reason:t}}})}c({payload:{type:j.UPDATE_VIEW,view:{type:ce.ERROR_VIEW,error:e}}})}else c({payload:{type:j.UPDATE_VIEW,view:{type:Pe.BRIDGE_FAILURE,reason:"Unpredictable gas limit"}}})},y=o.useCallback((async()=>{let s=!1;if(n&&i?.web3Provider&&t){if(!x){if(p(!0),e.unsignedTx)try{g(!0);const t=await n.sendTransaction({provider:i.web3Provider,transaction:e.unsignedTx});if(1!==(await t.transactionResponse.wait()).status)return void c({payload:{type:j.UPDATE_VIEW,view:{type:Pe.BRIDGE_FAILURE,reason:"Transaction failed to settle on chain"}}})}catch(e){g(!1),e.type===Ie.USER_REJECTED_REQUEST_ERROR?(b(!0),s=!0):A(e)}finally{p(!1)}try{if(s)return;g(!0);const e=await n.sendTransaction({provider:i.web3Provider,transaction:t.unsignedTx});w(!0);const a=await e.transactionResponse.wait();if(0===a.status)return void c({payload:{type:j.UPDATE_VIEW,view:{type:Pe.BRIDGE_FAILURE,reason:"Approval transaction failed to settle on chain"}}});c({payload:{type:j.UPDATE_VIEW,view:{type:Pe.IN_PROGRESS,transactionHash:a.transactionHash}}})}catch(e){e.type===Ie.USER_REJECTED_REQUEST_ERROR?b(!0):A(e)}finally{w(!1),g(!1),p(!1)}}}else f()}),[n,i,f,c,t,e,x]);return l.jsxs(l.Fragment,{children:[T&&l.jsx(q,{loadingText:s("views.APPROVE_TRANSACTION.loadingView.text"),showFooterLogo:!0}),!T&&l.jsx(z,{header:l.jsx(H,{transparent:!0,showBack:!0,onCloseButtonClick:()=>_t(d),onBackButtonClick:I}),floatHeader:!0,heroContent:l.jsx(qe,{}),footer:l.jsxs(h,{sx:{width:"100%",flexDirection:"column"},children:[l.jsx(Ae,{loading:E,actionText:s("views.APPROVE_TRANSACTION."+(m?"footer.retryText":"footer.buttonText")),onActionClick:y}),l.jsx($,{})]}),children:l.jsx(fe,{heading:s("views.APPROVE_TRANSACTION.content.heading"),children:l.jsx(h,{children:s("views.APPROVE_TRANSACTION.content.body")})})})]})}const Qs={display:"flex",flexDirection:"column",alignItems:"center",paddingTop:"base.spacing.x6",paddingBottom:"base.spacing.x1",height:"100%"},Ys={color:"base.color.text.body.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"15px"},Xs={display:"flex",flexDirection:"column",justifyContent:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},ea={width:"100%",height:"base.spacing.x16"};function ta({visible:e,onClose:t,onChangeAccount:s}){const{t:a}=r(),{bridgeState:{checkout:n}}=o.useContext(ft),i=ee(n.config.environment);return l.jsx(d,{headerBarTitle:void 0,size:"full",onCloseDrawer:t,visible:e,showHeaderBar:!1,children:l.jsx(d.Content,{children:l.jsxs(h,{testId:"not-enough-eth-drawer",sx:Qs,children:[l.jsx(ae,{imageUrl:i,sx:{w:"base.icon.size.600",h:"base.icon.size.600"}}),l.jsx(Q,{size:"small",sx:Ys,testId:"not-enough-gas-heading",children:`${a("drawers.notEnoughEthWithdrawal.content.heading1")} ${se} ${a("drawers.notEnoughEthWithdrawal.content.heading2")}`}),l.jsx(T,{sx:Ys,children:`${a("drawers.notEnoughEthWithdrawal.content.body1")} ${se} ${a("drawers.notEnoughEthWithdrawal.content.body2")}`}),l.jsxs(h,{sx:Xs,children:[l.jsx(w,{testId:"not-enough-eth-drawer-retry-button",sx:ea,variant:"tertiary",onClick:s,children:a("drawers.notEnoughEthWithdrawal.buttons.retry")}),l.jsx(w,{sx:ea,variant:"tertiary",onClick:t,testId:"not-enough-eth-drawer-dismiss-button",children:a("drawers.notEnoughEthWithdrawal.buttons.dismiss")})]})]})})})}function sa({transaction:e}){const{t:t}=r(),{bridgeState:{checkout:s,tokenBridge:a,from:n}}=o.useContext(ft),{viewDispatch:c}=o.useContext(R),{eventTargetState:{eventTarget:d}}=o.useContext(G),{page:u}=S();o.useEffect((()=>{u({userJourney:k.BRIDGE,screen:"ClaimWithdrawal"})}),[]);const[x,p]=o.useState(!1),[E,g]=o.useState(!1),[T,m]=o.useState(!1),[b,f]=o.useState(),[I,A]=o.useState(!1),y=o.useCallback((()=>{c({payload:{type:j.GO_BACK}})}),[c]);o.useEffect((()=>{(async()=>{if(a&&e&&void 0!==e.details.current_status?.index){g(!0);try{const t=await(a?.getFlowRateWithdrawTx({recipient:e.details.to_address,index:e.details.current_status.index}));f(t)}catch(e){console.log(e)}finally{g(!1)}}})()}),[a,e]);const _=o.useCallback((async({forceChangeAccount:e})=>{if(!(s&&a&&n?.web3Provider&&b))return;if(!b.pendingWithdrawal.canWithdraw||!b.unsignedTx)return void console.log(`Unable to process withdrawal transaction as it is not ready yet. Delay timeout at ${b.pendingWithdrawal.timeoutEnd} `);let t=n?.web3Provider;const o=F(s.config);if(p(!0),L(n?.web3Provider)||e)try{const e=await s.createProvider({walletProviderName:i.METAMASK});t=(await s.connect({provider:e.provider,requestWalletPermissions:!0})).provider,A(!1)}catch(e){return console.log(e),m(!0),void p(!1)}let r,l=null;try{try{r=await t.estimateGas(b.unsignedTx)}catch(e){r=de.from(ye)}let e=null;try{e=await t.getFeeData()}catch(e){console.log(e)}let s=null;e&&e.lastBaseFeePerGas&&e.maxPriorityFeePerGas?s=e.lastBaseFeePerGas.add(e.maxPriorityFeePerGas):e&&e.gasPrice&&(s=e.gasPrice),s&&(l=r.mul(s))}catch(e){console.log(e)}try{const e=(await s.getAllBalances({provider:t,chainId:o})).balances.find((e=>B(e.token.address)));if(!e||e.balance.lt(l))return A(!0),void p(!1)}catch(e){console.log(e)}if((await t.getNetwork()).chainId!==o)try{t=(await s.switchNetwork({provider:t,chainId:o})).provider}catch(e){return m(!0),g(!1),void console.log(e)}try{const e=await s.sendTransaction({provider:t,transaction:b.unsignedTx});c({payload:{type:j.UPDATE_VIEW,view:{type:Pe.CLAIM_WITHDRAWAL_IN_PROGRESS,transactionResponse:e.transactionResponse}}})}catch(e){console.log(e),m(!0),p(!1)}finally{p(!1)}}),[a,n,b]);return l.jsxs(z,{testId:"claim-withdrawal",header:l.jsx(H,{transparent:!0,showBack:!0,onCloseButtonClick:()=>_t(d),onBackButtonClick:y}),floatHeader:!0,heroContent:l.jsx(qe,{}),footer:l.jsxs(h,{sx:{width:"100%",display:"flex",flexDirection:"column"},children:[l.jsx(h,{sx:{pb:"base.spacing.x5",px:"base.spacing.x6",width:"100%",display:"flex",flexDirection:"column"},children:l.jsx(w,{testId:"claim-withdrawal-continue-button",size:"large",variant:"primary",disabled:E,onClick:()=>x||E?void 0:_({forceChangeAccount:!0}),children:E||x?l.jsx(w.Icon,{icon:"Loading",sx:{width:"base.icon.size.400"}}):t("views.CLAIM_WITHDRAWAL."+(T?"footer.retryText":"footer.buttonText"))})}),l.jsx($,{})]}),children:[l.jsxs(fe,{heading:`${t("views.CLAIM_WITHDRAWAL.content.heading")} ${ht(F(s.config))}`,children:[l.jsx(h,{sx:{display:"flex",flexWrap:"wrap",pb:"base.spacing.x1"},children:t("views.CLAIM_WITHDRAWAL.content.body")}),l.jsxs(h,{children:[t("views.CLAIM_WITHDRAWAL.content.body2"),l.jsx(v,{text:e.details.to_address.toLowerCase()??""})]})]}),l.jsx(ta,{visible:I,onClose:()=>A(!1),onChangeAccount:()=>_({forceChangeAccount:!0})})]})}function aa({checkout:e,web3Provider:t,config:s,amount:a,tokenAddress:n}){const{t:i}=r(),{environment:c,isOnRampEnabled:d,isSwapEnabled:u,isBridgeEnabled:E,theme:g}=s,h=ve(e.config.environment,g),{eventTargetState:{eventTarget:T}}=o.useContext(G),{page:w}=S(),[m,b]=o.useReducer(Se,{..._e,view:{type:Pe.WALLET_NETWORK_SELECTION},history:[{type:Pe.WALLET_NETWORK_SELECTION}]}),[f,I]=o.useReducer(It,{...mt,checkout:e,web3Provider:t??null,tokenBridge:(()=>{let t=De;e.config.isDevelopment&&(t=Me),e.config.isProduction&&(t=Be);const s=new Z(e.config.networkMap.get(F(e.config))?.rpcUrls[0]),a=new Z(e.config.networkMap.get(K(e.config))?.rpcUrls[0]),n=new ke({baseConfig:new Ce({environment:e.config.environment}),bridgeInstance:t,rootProvider:s,childProvider:a});return new Re(n)})()}),A=o.useMemo((()=>({viewState:m,viewDispatch:b})),[m,b]),y=o.useMemo((()=>({bridgeState:f,bridgeDispatch:I})),[f,I]),v=o.useCallback((()=>{I({payload:{type:bt.SET_WALLETS_AND_NETWORKS,from:null,to:null}}),I({payload:{type:bt.SET_TOKEN_AND_AMOUNT,amount:"",token:null}}),b({payload:{type:j.GO_BACK_TO,view:{type:Pe.WALLET_NETWORK_SELECTION}}})}),[b]),_=o.useCallback((()=>{b({payload:{type:j.GO_BACK_TO,view:{type:Pe.WALLET_NETWORK_SELECTION}}})}),[b]),C=o.useCallback((()=>{b({payload:{type:j.UPDATE_VIEW,view:{type:Pe.TRANSACTIONS}}})}),[b]),N=o.useCallback((()=>{b({payload:{type:j.GO_BACK_TO,view:{type:Pe.BRIDGE_REVIEW}}})}),[b]);return o.useEffect((()=>{(async()=>{I({payload:{type:bt.SET_PROVIDER,web3Provider:t??null}})})()}),[t]),l.jsx(R.Provider,{value:A,children:l.jsx(ft.Provider,{value:y,children:l.jsxs(Ge,{environment:c,children:[m.view.type===Pe.WALLET_NETWORK_SELECTION&&l.jsx(bs,{}),m.view.type===Pe.BRIDGE_FORM&&l.jsx(Ds,{amount:a,tokenAddress:n,defaultTokenImage:h}),m.view.type===Pe.BRIDGE_REVIEW&&l.jsx($s,{}),m.view.type===Pe.IN_PROGRESS&&l.jsx(Js,{transactionHash:m.view.transactionHash}),m.view.type===Pe.BRIDGE_FAILURE&&l.jsx(je,{testId:"bridge-fail",statusText:i("views.BRIDGE_FAILURE.bridgeFailureText.statusText"),actionText:i("views.BRIDGE_FAILURE.bridgeFailureText.actionText"),onActionClick:N,statusType:Ne.FAILURE,onRenderEvent:()=>{let e="";m.view.type===Pe.BRIDGE_FAILURE&&(e=m.view.reason),w({userJourney:k.BRIDGE,screen:"Failed",extras:{reason:e}}),((e,t)=>{const s=new CustomEvent(x.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:p.FAILURE,data:{reason:t,timestamp:(new Date).getTime()}}});console.log("bridge failed ",e,s),void 0!==e&&e.dispatchEvent(s)})(T,e)}}),m.view.type===Pe.APPROVE_TRANSACTION&&l.jsx(qs,{approveTransaction:m.view.approveTransaction,transaction:m.view.transaction}),m.view.type===Pe.TRANSACTIONS&&l.jsx(Xt,{onBackButtonClick:_,defaultTokenImage:h}),m.view.type===Pe.CLAIM_WITHDRAWAL&&l.jsx(sa,{transaction:m.view.transaction}),m.view.type===ce.ERROR_VIEW&&l.jsx(Le,{actionText:i("views.ERROR_VIEW.actionText"),onActionClick:v,onCloseClick:()=>_t(T),errorEventAction:()=>{w({userJourney:k.BRIDGE,screen:"Error"})}}),m.view.type===ce.TOP_UP_VIEW&&l.jsx(Fe,{analytics:{userJourney:k.BRIDGE},widgetEvent:x.IMTBL_BRIDGE_WIDGET_EVENT,checkout:e,provider:t,showOnrampOption:d,showSwapOption:u,showBridgeOption:E,onCloseButtonClick:()=>_t(T)}),m.view.type===Pe.CLAIM_WITHDRAWAL_IN_PROGRESS&&l.jsx(es,{transactionResponse:m.view.transactionResponse}),m.view.type===Pe.CLAIM_WITHDRAWAL_SUCCESS&&l.jsx(je,{statusText:i("views.CLAIM_WITHDRAWAL.IN_PROGRESS.success.text"),actionText:i("views.CLAIM_WITHDRAWAL.IN_PROGRESS.success.actionText"),onRenderEvent:()=>{w({userJourney:k.BRIDGE,screen:"ClaimWithdrawalSuccess"}),((e,t)=>{const s=new CustomEvent(x.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:p.CLAIM_WITHDRAWAL_SUCCESS,data:{transactionHash:t}}});console.log("bridge claim withdrawal success event:",e,s),void 0!==e&&e.dispatchEvent(s)})(T,m.view.transactionHash)},onActionClick:C,statusType:Ne.SUCCESS,testId:"claim-withdrawal-success-view"}),m.view.type===Pe.CLAIM_WITHDRAWAL_FAILURE&&l.jsx(je,{statusText:i("views.CLAIM_WITHDRAWAL.IN_PROGRESS.failure.text"),actionText:i("views.CLAIM_WITHDRAWAL.IN_PROGRESS.failure.actionText"),onRenderEvent:()=>{let e="";m.view.type===Pe.CLAIM_WITHDRAWAL_FAILURE&&(e=m.view.reason),w({userJourney:k.BRIDGE,screen:"ClaimWithdrawalFailure",extras:{reason:e}}),((e,t,s)=>{const a=new CustomEvent(x.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:p.CLAIM_WITHDRAWAL_FAILURE,data:{transactionHash:t,reason:s,timestamp:(new Date).getTime()}}});console.log("bridge claim withdrawal failed event:",e,a),void 0!==e&&e.dispatchEvent(a)})(T,m.view.transactionHash,"Transaction failed")},onActionClick:C,statusType:Ne.FAILURE,onCloseClick:()=>_t(T),testId:"claim-withdrawal-fail-view"})]})})})}var na=Object.freeze({__proto__:null,default:aa});export{aa as B,na as a,ht as g};
1
+ import{b5 as e,b6 as t,ar as s,b7 as a,b8 as n,r as o,u as r,b9 as i,j as l,M as c,as as d,ba as u,I as x,ao as p,bb as E,bc as g,B as h,l as T,O as w,bd as m,a4 as b,aM as f,P as I,Q as A,be as y,bf as v,a as S,bg as _,U as k,bh as C,V as R,d as j,bi as N,o as L,aL as D,bj as M,z as B,X as P,ad as W,Y as O,E as G,q as F,T as V,p as K,bk as U,c as z,H,F as $,bl as Z,bm as J,L as q,w as Q,m as Y,_ as X,bn as ee,aJ as te,bo as se,aK as ae,x as ne,n as oe,N as re,aP as ie,aV as le,S as ce,ac as de,aQ as ue,aI as xe,bp as pe,aN as Ee,aT as ge,bq as he,br as Te,a1 as we,a2 as me,bs as be,e as fe,D as Ie,aW as Ae,bt as ye,t as ve,v as Se,i as _e,bu as ke,aY as Ce,bv as Re,f as je,h as Ne,a6 as Le,bw as De,bx as Me,by as Be}from"./index-a5ec4ed9.js";import{B as Pe,C as We,a as Oe,b as Ge,T as Fe}from"./TopUpView-24b7522e.js";import{r as Ve,u as Ke}from"./retry-154c5f2b.js";import{b as Ue,S as ze,T as He,a as $e,g as Ze,F as Je,W as qe}from"./balance-b06cb17f.js";const{Axios:Qe,AxiosError:Ye,CanceledError:Xe,isCancel:et,CancelToken:tt,VERSION:st,all:at,Cancel:nt,isAxiosError:ot,spread:rt,toFormData:it,AxiosHeaders:lt,HttpStatusCode:ct,formToJSON:dt,getAdapter:ut,mergeConfig:xt}=e;class pt{url;ttl;env;cacheMap;setCache(e,t){this.cacheMap[e]={data:t,ttl:(new Date).getTime()+1e3*this.ttl}}getCache(e){const t=this.cacheMap[e];return!t||t.ttl<=(new Date).getTime()?null:t.data}constructor(e){this.env=e.env,this.url=`${t[this.env]}/checkout`,this.cacheMap={},this.ttl=void 0!==e.ttl?e.ttl:60}static isHttpError=e=>"code"in e;async getTransactions(t){const{txType:s,fromAddress:a}=t;try{const t=`${this.url}/v1/transactions?from_address=${a}&tx_type=${s}`,n=this.getCache(t);if(n)return Promise.resolve(n);const o=await e.get(t);if(o.status>=400)return Promise.reject({code:o.status,message:o.statusText});const{data:r}=o;return this.setCache(t,r),Promise.resolve(r)}catch(t){let s=ct.InternalServerError,a="InternalServerError";return e.isAxiosError(t)&&(s=t.response?.status||s,a=t.message),Promise.reject({code:s,message:a})}}}var Et;!function(e){e.BRIDGE="bridge"}(Et||(Et={}));const gt={IN_PROGRESS:"in_progress",WITHDRAWAL_PENDING:"withdrawal_pending"};function ht(e){switch(e){case s.ETHEREUM:return a.ETHEREUM;case s.IMTBL_ZKEVM_TESTNET:return a.IMTBL_ZKEVM_TESTNET;case s.IMTBL_ZKEVM_MAINNET:return a.IMTBL_ZKEVM_MAINNET;case s.IMTBL_ZKEVM_DEVNET:return a.IMTBL_ZKEVM_DEVNET;case s.SEPOLIA:return a.SEPOLIA;default:return""}}function Tt(e){switch(e){case s.ETHEREUM:return n.ETHEREUM;case s.IMTBL_ZKEVM_TESTNET:return n.IMTBL_ZKEVM_TESTNET;case s.IMTBL_ZKEVM_MAINNET:return n.IMTBL_ZKEVM_MAINNET;case s.IMTBL_ZKEVM_DEVNET:return n.IMTBL_ZKEVM_DEVNET;case s.SEPOLIA:return n.SEPOLIA;default:return""}}function wt(e){switch(e){case n.ETHEREUM:return s.ETHEREUM;case n.IMTBL_ZKEVM_TESTNET:return s.IMTBL_ZKEVM_TESTNET;case n.IMTBL_ZKEVM_MAINNET:return s.IMTBL_ZKEVM_MAINNET;case n.IMTBL_ZKEVM_DEVNET:return s.IMTBL_ZKEVM_DEVNET;case n.SEPOLIA:return s.SEPOLIA;default:return 0}}const mt={web3Provider:null,walletProviderName:null,from:null,to:null,tokenBridge:null,tokenBalances:[],allowedTokens:[],token:null,amount:"0"};var bt;!function(e){e.SET_WALLETS_AND_NETWORKS="SET_WALLETS_AND_NETWORKS",e.SET_WALLET_PROVIDER_NAME="SET_WALLET_PROVIDER_NAME",e.SET_PROVIDER="SET_PROVIDER",e.SET_TOKEN_BRIDGE="SET_TOKEN_BRIDGE",e.SET_TOKEN_BALANCES="SET_TOKEN_BALANCES",e.SET_ALLOWED_TOKENS="SET_ALLOWED_TOKENS",e.SET_TOKEN_AND_AMOUNT="SET_TOKEN_AND_AMOUNT"}(bt||(bt={}));const ft=o.createContext({bridgeState:{...mt,checkout:{}},bridgeDispatch:()=>{}});ft.displayName="BridgeContext";const It=(e,t)=>{switch(t.payload.type){case bt.SET_WALLETS_AND_NETWORKS:return{...e,from:t.payload.from,to:t.payload.to};case bt.SET_WALLET_PROVIDER_NAME:return{...e,walletProviderName:t.payload.walletProviderName};case bt.SET_PROVIDER:return{...e,web3Provider:t.payload.web3Provider};case bt.SET_TOKEN_BRIDGE:return{...e,tokenBridge:t.payload.tokenBridge};case bt.SET_TOKEN_BALANCES:return{...e,tokenBalances:t.payload.tokenBalances};case bt.SET_ALLOWED_TOKENS:return{...e,allowedTokens:t.payload.allowedTokens};case bt.SET_TOKEN_AND_AMOUNT:return{...e,token:t.payload.token,amount:t.payload.amount};default:return e}};function At({testId:e,walletProviderName:t,onWalletClick:s,loading:a}){const{t:n}=r(),[d,u]=o.useState(!1),x={[i.PASSPORT]:"PassportSymbolOutlined",[i.METAMASK]:"MetaMaskSymbol"};return l.jsxs(c,{testId:`${e}-wallet-list-${t}`,size:"medium",emphasized:!0,onClick:async()=>{if(!a){u(!0);try{await s(t)}finally{u(!1)}}},children:[l.jsx(c.FramedLogo,{logo:x[t],sx:{backgroundColor:"base.color.translucent.standard.200"}}),l.jsx(c.Label,{size:"medium",children:n(`wallets.${t}.heading`)}),d&&l.jsx(c.StatefulButtCon,{state:"loading",icon:"Loading"})]})}const yt={display:"flex",flexDirection:"column",gap:"base.spacing.x1",paddingX:"base.spacing.x4"};function vt({testId:e,drawerText:t,walletOptions:s,showWalletSelectorTarget:a,showDrawer:n,setShowDrawer:r,onWalletItemClick:i}){const[c,x]=o.useState(!1),{heading:p,defaultText:E}=t,g=async e=>{x(!0);try{await i(e)}catch(e){console.error(e)}finally{x(!1)}};return l.jsxs(d,{headerBarTitle:p,size:"full",onCloseDrawer:()=>{c||r(!1)},visible:n,children:[a&&l.jsx(d.Target,{children:l.jsx(Ue,{testId:`${e}-wallet-form-control`,textAlign:"left",children:l.jsx(u,{testId:`${e}-wallet-select`,defaultLabel:E??"",size:"large",targetClickOveride:()=>r(!0)})})}),l.jsx(d.Content,{sx:yt,children:s.map((t=>l.jsx(At,{testId:e,loading:c,walletProviderName:t,onWalletClick:g},t)))})]})}const St=(e,t)=>{const s=new CustomEvent(x.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:p.TRANSACTION_SENT,data:{transactionHash:t}}});console.log("bridge success ",e,s),void 0!==e&&e.dispatchEvent(s)};function _t(e){const t=new CustomEvent(x.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:p.CLOSE_WIDGET,data:{}}});console.log("bridge close ",e,t),void 0!==e&&e.dispatchEvent(t)}function kt(){return l.jsxs(E,{sx:{gap:"base.spacing.x2"},children:[l.jsx(g,{sx:{h:"base.spacing.x4",w:"base.spacing.x32",mt:"base.spacing.x2"}}),l.jsx(c,{shimmer:!0,emphasized:!0,size:"small"}),l.jsx(c,{shimmer:!0,emphasized:!0,size:"small"}),l.jsx(c,{shimmer:!0,emphasized:!0,size:"small"})]})}const Ct={px:"base.spacing.x4",display:"flex",flexDirection:"column",height:"100%"},Rt={flexGrow:"1",flexShrink:"0",flexBasis:"0"},jt={flexGrow:"0",flexShrink:"1",mt:"base.spacing.x2"},Nt={bg:"base.color.translucent.emphasis.100",borderRadius:"base.borderRadius.x4",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column",height:"100%",px:"base.spacing.x5"};function Lt({openWalletDrawer:e}){const{t:t}=r();return l.jsxs(h,{sx:Nt,children:[l.jsx(T,{sx:{mb:"base.spacing.x8"},children:t("views.TRANSACTIONS.status.emptyState.notConnected.body")}),l.jsx(w,{variant:"secondary",size:"medium",testId:"transactions-connect-wallet-button",onClick:e,children:t("views.TRANSACTIONS.status.emptyState.notConnected.buttonText")})]})}const Dt={backgroundColor:"base.color.neutral.800",px:"base.spacing.x4",p:"base.spacing.x5",borderRadius:"base.borderRadius.x6"},Mt={color:"base.color.text.body.secondary"};function Bt({checkout:e,isPassport:t}){const{t:s}=r(),[a,n]=o.useState("");return o.useEffect((()=>{e&&n(m[e.config.environment])}),[e]),l.jsx(h,{sx:Dt,children:l.jsxs(h,{sx:{display:"flex",flexDirection:"column"},children:[l.jsxs(h,{children:[l.jsx(T,{size:"small",children:s("views.TRANSACTIONS.support.body1")}),l.jsxs(T,{size:"small",sx:Mt,children:[s("views.TRANSACTIONS.support.body2"),l.jsx(b,{size:"small",rc:l.jsx("a",{target:"_blank",href:s("views.TRANSACTIONS.support.supportLink"),rel:"noreferrer"}),children:s("views.TRANSACTIONS.support.body3")})]})]}),t&&l.jsxs(T,{size:"small",sx:Mt,children:[s("views.TRANSACTIONS.support.passport.body1")," ",l.jsx(b,{size:"small",rc:l.jsx("a",{target:"_blank",href:a,rel:"noreferrer"}),children:s("views.TRANSACTIONS.support.passport.body2")})]})]})})}const Pt={display:"flex",flexDirection:"column",borderRadius:"base.borderRadius.x4",bg:"base.color.translucent.emphasis.100"},Wt={p:"base.spacing.x3",d:"flex",justifyContent:"space-between",position:"relative"},Ot={display:"flex",flexGrow:"1",alignItems:"center",gap:"base.spacing.x2"};function Gt({transaction:e}){const t=wt(e.details.from_chain),s=wt(e.details.to_chain);return l.jsxs(h,{sx:{display:"flex",px:"base.spacing.x4",gap:"base.spacing.x2"},children:[l.jsx(f,{icon:I[t],sx:{w:"base.icon.size.250",fill:A[t]},variant:"bold"}),l.jsxs(h,{sx:{display:"flex",flexDirection:"column",flexGrow:"1"},children:[l.jsx(T,{size:"xxSmall",sx:{color:"base.color.translucent.standard.900"},children:y[t]}),l.jsx(v,{size:"xxSmall",sx:{color:"base.color.translucent.standard.600"},text:e.details.from_address})]}),l.jsx(h,{sx:{flexGrow:"1"}}),l.jsx(f,{icon:"ArrowForward",sx:{w:"base.icon.size.250",fill:"base.color.brand.4"}}),l.jsx(h,{sx:{flexGrow:"1"}}),l.jsx(f,{icon:I[s],sx:{w:"base.icon.size.250",fill:A[s]},variant:"bold"}),l.jsxs(h,{sx:{display:"flex",flexDirection:"column",flexGrow:"1"},children:[l.jsx(T,{size:"xxSmall",sx:{color:"base.color.translucent.standard.900"},children:y[s]}),l.jsx(v,{size:"xxSmall",sx:{color:"base.color.translucent.standard.600"},text:e.details.to_address})]})]})}function Ft({label:e,details:t,transaction:s,fiatAmount:a,amount:n,icon:r,defaultTokenImage:i}){const{track:d}=S(),u=o.useMemo((()=>`${t.link}${t.hash}`),[t]);return l.jsx(h,{testId:`transaction-item-${s.blockchain_metadata.transaction_hash}`,sx:Pt,children:l.jsxs(_,{chevronSide:"right",sx:{button:{p:"base.spacing.x1"},article:{pr:"base.spacing.x10"}},onExpandChange:e=>e&&d({userJourney:k.BRIDGE,screen:"TransactionItem",control:"Accordion",controlType:"Button"}),children:[l.jsx(_.TargetLeftSlot,{sx:{pr:"base.spacing.x2"},children:l.jsxs(c,{size:"xSmall",children:[l.jsx(c.FramedImage,{imageUrl:r,circularFrame:!0,defaultImageUrl:i}),l.jsx(c.Label,{children:e}),l.jsx(c.Caption,{children:l.jsx(b,{size:"xSmall",rc:l.jsx("a",{target:"_blank",href:u,rel:"noreferrer",onClick:e=>{return s=t,e.stopPropagation(),void d({userJourney:k.BRIDGE,screen:"TransactionItem",control:"Details",controlType:"Link",extras:{linkDetail:s}});var s}}),children:t.text})}),l.jsx(c.PriceDisplay,{fiatAmount:a,price:n})]})}),l.jsxs(_.ExpandedContent,{sx:{pr:"0",pl:"0",mb:"base.spacing.x3",gap:"0"},children:[l.jsx(C,{size:"xSmall",sx:{px:"base.spacing.x2"}}),l.jsx(Gt,{transaction:s})]})]})})}const Vt=e=>{let t=440;return e&&(t-=20),{backgroundColor:"base.color.neutral.800",px:"base.spacing.x4",pt:"base.spacing.x5",pb:"base.spacing.x4",borderRadius:"base.borderRadius.x6",h:`${t}px`,w:"100%",overflowY:"scroll"}},Kt={borderRadius:"base.borderRadius.x4",display:"flex",flexDirection:"column",gap:"base.spacing.x5"};function Ut({label:e,transaction:t,fiatAmount:s,amount:a,icon:n,defaultTokenImage:i}){const{viewDispatch:d}=o.useContext(R),{track:u}=S(),x=r(),p=o.useMemo((()=>(new Date).getTime()),[]),E=o.useMemo((()=>t.details.current_status.withdrawal_ready_at?new Date(t.details.current_status.withdrawal_ready_at):void 0),[t]),g=t.details.current_status.status===gt.WITHDRAWAL_PENDING,m=new Intl.RelativeTimeFormat(x[1].language||"en",{numeric:"auto"}),b=o.useMemo((()=>{if(!g||void 0===E)return"";const e=(E.getTime()-p)/6e4;if(e<=1)return"in 1 minute";if(e<60)return m.format(Math.ceil(e),"minute");const t=e/60;if(e<1440)return m.format(Math.ceil(t),"hour");const s=t/24;return m.format(Math.ceil(s),"day")}),[p,x[1].language]),I=!!E&&E.getTime()<p,A=o.useMemo((()=>!0===I?x.t("views.TRANSACTIONS.status.withdrawalPending.withdrawalReadyText"):`${x.t("views.TRANSACTIONS.status.withdrawalPending.withdrawalDelayText")} ${b}`),[b,x[1].language]);return l.jsxs(h,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}`,sx:Pt,children:[g&&l.jsxs(l.Fragment,{children:[l.jsxs(h,{sx:Wt,children:[l.jsxs(h,{sx:Ot,children:[l.jsx(f,{icon:"Alert",variant:"bold",sx:{fill:I?"base.color.status.fatal.bright":"base.color.status.attention.bright",w:"base.icon.size.200"}}),l.jsx(T,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}-action-message`,size:"xSmall",sx:{color:"base.color.text.body.secondary"},children:A})]}),g&&I&&l.jsx(w,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}-action-button`,variant:"primary",size:"small",onClick:()=>{d({payload:{type:j.UPDATE_VIEW,view:{type:Pe.CLAIM_WITHDRAWAL,transaction:t}}})},children:x.t("views.TRANSACTIONS.status.withdrawalPending.actionButtonText")})]}),l.jsx(C,{size:"small",sx:{color:"base.color.translucent.emphasis.300",opacity:.1}})]}),l.jsxs(_,{chevronSide:"right",sx:{button:{p:"base.spacing.x1"},article:{pr:"base.spacing.x10"},borderTopRightRadius:"0",borderTopLeftRadius:"0"},onExpandChange:e=>e&&u({userJourney:k.BRIDGE,screen:"TransactionItem",control:"Accordion",controlType:"Button"}),children:[l.jsx(_.TargetLeftSlot,{sx:{pr:"base.spacing.x2"},children:l.jsxs(c,{size:"xSmall",children:[l.jsx(c.FramedImage,{imageUrl:n,circularFrame:!0,defaultImageUrl:i}),l.jsx(c.Label,{children:e}),l.jsx(c.Caption,{children:x.t("views.TRANSACTIONS.status.withdrawalPending.caption")}),l.jsx(c.PriceDisplay,{fiatAmount:s,price:a})]})}),l.jsxs(_.ExpandedContent,{sx:{pr:"0",pl:"0",mb:"base.spacing.x3",gap:"0"},children:[l.jsx(C,{size:"xSmall",sx:{px:"base.spacing.x2"}}),l.jsx(Gt,{transaction:t})]})]})]})}const zt={display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",p:"base.spacing.x2",pb:"base.spacing.x4"};function Ht({onChangeWalletClick:e}){const{t:t}=r(),{bridgeState:{from:s}}=o.useContext(ft),{track:a}=S(),n=s?.walletAddress||"",i=N(s?.web3Provider),c=L(s?.web3Provider);return l.jsxs(h,{sx:zt,children:[l.jsxs(h,{sx:{display:"flex",alignItems:"center",gap:"base.spacing.x1"},children:[i&&!c&&l.jsx(D,{logo:"MetaMaskSymbol",sx:{width:"base.icon.size.400"}}),!i&&c&&l.jsx(D,{logo:"PassportSymbolOutlined",sx:{width:"base.icon.size.400",pr:"base.spacing.x1"}}),l.jsx(v,{leftSideLength:6,rightSideLength:4,text:n})]}),l.jsx(w,{size:"small",variant:"tertiary",onClick:()=>{a({userJourney:k.BRIDGE,screen:Pe.TRANSACTIONS,controlType:"Button",control:"Pressed"}),e()},children:t("views.TRANSACTIONS.changeWallet.buttonText")})]})}function $t({checkout:e,transactions:t,knownTokenMap:s,isPassport:a,defaultTokenImage:i,changeWallet:c}){const{cryptoFiatState:d}=o.useContext(We),{t:u}=r(),[x,p]=o.useState("");o.useEffect((()=>{e&&p(M[e.config.environment])}),[e]);const E=o.useCallback(((e,t)=>e.details.current_status.status===gt.WITHDRAWAL_PENDING&&t.details.current_status.status!==gt.WITHDRAWAL_PENDING?-1:e.details.current_status.status===t.details.current_status.status?0:1),[]),g=o.useCallback((t=>B(t.details.from_token_address)?P(e.config.environment,function(e){switch(e){case n.ETHEREUM:case n.SEPOLIA:return"ETH";case n.IMTBL_ZKEVM_TESTNET:case n.IMTBL_ZKEVM_MAINNET:case n.IMTBL_ZKEVM_DEVNET:return"IMX";default:return""}}(t.details.from_chain)):P(e.config.environment,t.details.from_token_address)),[e]);return l.jsxs(h,{sx:Vt(a),children:[l.jsx(Ht,{onChangeWalletClick:c}),l.jsx(h,{testId:"move-transaction-list",sx:Kt,children:t.sort(E).map((e=>{const t=e.blockchain_metadata.transaction_hash,a=s[e.details.from_chain][e.details.from_token_address.toLowerCase()],n=W.formatUnits(e.details.amount,a.decimals),o=O(n,a.symbol,d.conversions);return e.details.current_status.status===gt.WITHDRAWAL_PENDING?l.jsx(Ut,{label:a.name,transaction:e,fiatAmount:`${u("views.TRANSACTIONS.fiatPricePrefix")}${o}`,amount:n,icon:g(e),defaultTokenImage:i},t):l.jsx(Ft,{label:a.name,details:{text:u("views.TRANSACTIONS.status.inProgress.stepInfo"),link:x,hash:t},transaction:e,fiatAmount:`${u("views.TRANSACTIONS.fiatPricePrefix")}${o}`,amount:n,icon:g(e),defaultTokenImage:i},t)}))})]})}const Zt={backgroundColor:"base.color.neutral.800",px:"base.spacing.x4",pt:"base.spacing.x5",pb:"base.spacing.x4",borderRadius:"base.borderRadius.x6",h:"100%",w:"100%",display:"flex",flexDirection:"column"},Jt={display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",padding:"base.spacing.x5",flex:1},qt={mb:"base.spacing.x8",color:"base.color.text.body.secondary"},Qt={color:"base.color.text.body.secondary"};function Yt({checkout:e,isPassport:t,changeWallet:s}){const{page:a}=S(),{t:n}=r(),[i,c]=o.useState("");return o.useEffect((()=>{e&&c(m[e.config.environment])}),[e]),o.useEffect((()=>{a({userJourney:k.BRIDGE,screen:"NoTransactions"})}),[]),l.jsxs(h,{sx:Zt,children:[l.jsx(Ht,{onChangeWalletClick:s}),l.jsxs(h,{sx:Jt,children:[l.jsx(T,{size:"small",sx:qt,children:n("views.TRANSACTIONS.status.noTransactions.body")}),t&&l.jsxs(T,{size:"small",sx:Qt,children:[n("views.TRANSACTIONS.status.noTransactions.passport.body")," ",l.jsx(b,{size:"small",rc:l.jsx("a",{target:"_blank",href:i,rel:"noreferrer"}),children:n("views.TRANSACTIONS.status.noTransactions.passport.link")})]})]})]})}function Xt({defaultTokenImage:e,onBackButtonClick:t}){const{eventTargetState:{eventTarget:s}}=o.useContext(G),{cryptoFiatDispatch:a}=o.useContext(We),{bridgeDispatch:n,bridgeState:{checkout:c,from:d}}=o.useContext(ft),{page:u}=S(),{t:x}=r(),{track:p}=S(),[E,g]=o.useState(!0),[T,w]=o.useState(void 0),[m,b]=o.useState([]),[f,I]=o.useState(!1),A=L(d?.web3Provider),y=o.useCallback((async()=>{if(!c)return{};const e=F(c.config);try{return((await c.getTokenAllowList({type:V.BRIDGE,chainId:e})).tokens??[]).reduce(((e,t)=>(e[t.address.toLowerCase()]=t,e)),{})}catch(e){return console.error(e),[]}}),[c]),v=o.useCallback((async()=>{if(!d?.web3Provider)return{};if(!d?.walletAddress)return{};const e=K(c.config);try{return(await c.getAllBalances({provider:d?.web3Provider,walletAddress:d?.walletAddress,chainId:e})).balances.reduce(((e,t)=>(e[t.token.address.toLowerCase()]=t.token,e)),{})}catch(e){return console.error(e),[]}}),[c,d]),_=o.useCallback((async e=>{p({userJourney:k.BRIDGE,screen:"EmptyStateNotConnected",control:"WalletProvider",controlType:"Select",extras:{walletProviderName:e}});try{const t=await U(c,e,!0),s=await t.getNetwork(),a=await(t?.getSigner().getAddress())??"";b([]),n({payload:{type:bt.SET_WALLETS_AND_NETWORKS,from:{web3Provider:t,walletAddress:a.toLowerCase(),network:s.chainId},to:null}})}catch(e){console.error(e)}finally{I(!1)}}),[c,d]),C=async e=>{const t=Tt(F(c.config)),s=Tt(K(c.config)),[n,o]=await Promise.all([y(),v()]),r={};Object.entries(e).forEach((([a,i])=>{(e[a]===t&&!n[a]||e[a]===s&&!o[a])&&(r[a]=i)}));const i=new Z(c.config.networkMap.get(F(c.config))?.rpcUrls[0]),l=new Z(c.config.networkMap.get(K(c.config))?.rpcUrls[0]),d=[],u=[];Object.entries(r).forEach((([e,s])=>{s===t?d.push(c.getTokenInfo({provider:i,tokenAddress:e})):u.push(c.getTokenInfo({provider:l,tokenAddress:e}))}));const x=await Promise.allSettled(d),p=await Promise.allSettled(u);x.filter((e=>"fulfilled"===e.status)).forEach((e=>{const t=e;n[t.value.address.toLowerCase()]=t.value})),p.filter((e=>"fulfilled"===e.status)).forEach((e=>{const t=e;o[t.value.address.toLowerCase()]=t.value}));const E=[];return Object.values(n).forEach((e=>E.push(e.symbol.toLowerCase()))),Object.values(o).forEach((e=>E.push(e.symbol.toLowerCase()))),a({payload:{type:Oe.SET_TOKEN_SYMBOLS,tokenSymbols:E}}),{[t]:n,[s]:o}},R=o.useCallback((async(e,t)=>new pt({env:e}).getTransactions({txType:Et.BRIDGE,fromAddress:t})),[]),j=o.useCallback((async()=>{if(!d?.walletAddress)return;const e=await R(c.config.environment,d?.walletAddress),t={};return e.result.forEach((e=>{t[e.details.from_token_address]=e.details.from_chain})),{tokens:await C(t),transactions:e.result}}),[d,R]),N=o.useMemo((()=>{const e=[i.METAMASK];return c.passport&&e.push(i.PASSPORT),e}),[c]);return o.useEffect((()=>{(async()=>{g(!0);const e=await Ve(j,J);if(!e)return void g(!1);const t=e.transactions.filter((t=>{const s=e.tokens[t.details.from_chain];if(!s)return!1;return!!s[t.details.from_token_address.toLowerCase()]}));w(e.tokens),b(t),g(!1)})()}),[d,c]),o.useEffect((()=>{u({userJourney:k.BRIDGE,screen:"Transactions"})}),[]),l.jsx(z,{testId:"bridge-view",header:l.jsx(H,{showBack:!0,onBackButtonClick:()=>{d&&(n({payload:{type:bt.SET_WALLETS_AND_NETWORKS,from:{web3Provider:d?.web3Provider,walletAddress:d?.walletAddress,network:d?.network},to:null}}),n({payload:{type:bt.SET_TOKEN_AND_AMOUNT,token:null,amount:""}})),t()},title:x("views.TRANSACTIONS.layoutHeading"),onCloseButtonClick:()=>_t(s)}),footer:l.jsx($,{}),children:l.jsxs(h,{sx:Ct,children:[l.jsxs(h,{sx:Rt,children:[!d?.web3Provider&&l.jsx(Lt,{openWalletDrawer:()=>I(!0)}),d?.web3Provider&&E&&l.jsx(kt,{}),d?.web3Provider&&!E&&m.length>0&&T&&l.jsx($t,{checkout:c,transactions:m,knownTokenMap:T,isPassport:A,defaultTokenImage:e,changeWallet:()=>I(!0)}),d?.web3Provider&&!E&&0===m.length&&l.jsx(Yt,{checkout:c,isPassport:A,changeWallet:()=>I(!0)})]}),d?.web3Provider&&m.length>0&&l.jsx(h,{sx:jt,children:l.jsx(Bt,{checkout:c,isPassport:A})}),l.jsx(vt,{testId:"select-wallet-drawer",drawerText:{heading:x("views.TRANSACTIONS.walletSelection.heading")},showWalletSelectorTarget:!1,walletOptions:N,showDrawer:f,setShowDrawer:e=>{I(e)},onWalletItemClick:_})]})})}function es({transactionResponse:e}){const{t:t}=r(),{viewDispatch:s}=o.useContext(R),{page:a}=S();return o.useEffect((()=>{a({userJourney:k.BRIDGE,screen:"ClaimWithdrawalInProgress"})}),[]),o.useEffect((()=>{e&&(async()=>{try{const t=await e.wait();if(1===t.status)return void s({payload:{type:j.UPDATE_VIEW,view:{type:Pe.CLAIM_WITHDRAWAL_SUCCESS,transactionHash:t.transactionHash}}});s({payload:{type:j.UPDATE_VIEW,view:{type:Pe.CLAIM_WITHDRAWAL_FAILURE,transactionHash:t.transactionHash,reason:"Transaction failed"}}})}catch(e){console.error(e),s({payload:{type:j.UPDATE_VIEW,view:{type:Pe.CLAIM_WITHDRAWAL_FAILURE,transactionHash:"",reason:"Transaction failed"}}})}})()}),[e]),l.jsx(q,{loadingText:t("views.CLAIM_WITHDRAWAL.IN_PROGRESS.loading.text"),showFooterLogo:!0})}function ts(e){return e?e.substring(0,6).concat("...").concat(e.substring(e.length-4)):""}const ss={height:"100%",display:"flex",flexDirection:"column",paddingX:"base.spacing.x4"},as={paddingTop:"base.spacing.x10",paddingBottom:"base.spacing.x4"},ns={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6"},os={[s.IMTBL_ZKEVM_DEVNET]:"base.color.text.link.primary",[s.IMTBL_ZKEVM_TESTNET]:"base.color.text.link.primary",[s.IMTBL_ZKEVM_MAINNET]:"base.color.text.link.primary",[s.ETHEREUM]:"base.color.accent.5",[s.SEPOLIA]:"base.color.accent.5"},rs=e=>({backgroundColor:os[e],"& svg":{fill:"base.color.brand.2"}}),is={[s.IMTBL_ZKEVM_DEVNET]:"Immutable",[s.IMTBL_ZKEVM_MAINNET]:"Immutable",[s.IMTBL_ZKEVM_TESTNET]:"Immutable",[s.ETHEREUM]:"EthToken",[s.SEPOLIA]:"EthToken"};function ls({testId:e,chainId:t,chainName:s,onNetworkClick:a}){return l.jsxs(c,{testId:`${e}-network-list-${t}`,size:"medium",emphasized:!0,onClick:async()=>{await a(t)},sx:{marginBottom:"base.spacing.x1"},children:[l.jsx(c.FramedIcon,{icon:is[t],circularFrame:!0,sx:rs(t)}),l.jsx(c.Label,{size:"medium",children:s})]})}const cs={[s.IMTBL_ZKEVM_DEVNET]:"base.color.text.link.primary",[s.IMTBL_ZKEVM_TESTNET]:"base.color.text.link.primary",[s.IMTBL_ZKEVM_MAINNET]:"base.color.text.link.primary",[s.ETHEREUM]:"base.color.accent.5",[s.SEPOLIA]:"base.color.accent.5"},ds={width:"100%",backgroundColor:"base.color.translucent.emphasis.100",borderRadius:"base.borderRadius.x4",paddingX:"base.spacing.x3",paddingY:"base.spacing.x5",display:"flex",flexDirection:"row",gap:"base.spacing.x4",alignItems:"center","&:hover":{cursor:"pointer",backgroundColor:"base.color.translucent.emphasis.200"}},us=e=>({width:"base.icon.size.500",padding:e===i.PASSPORT?"base.spacing.x1":"",backgroundColor:"base.color.translucent.standard.200",borderRadius:"base.borderRadius.x2"}),xs={color:"base.color.text.body.secondary"},ps={paddingY:"base.spacing.x6",borderRadius:"base.borderRadius.x18"},Es=e=>({fill:"base.color.brand.2",width:"base.icon.size.300",backgroundColor:cs[e],borderRadius:"100%",padding:"base.spacing.x1"}),gs={[s.IMTBL_ZKEVM_DEVNET]:"Immutable",[s.IMTBL_ZKEVM_MAINNET]:"Immutable",[s.IMTBL_ZKEVM_TESTNET]:"Immutable",[s.ETHEREUM]:"EthToken",[s.SEPOLIA]:"EthToken"},hs={[i.PASSPORT]:"PassportSymbolOutlined",[i.METAMASK]:"MetaMaskSymbol"};function Ts({testId:e,walletName:t,walletAddress:s,chainId:a,disableNetworkButton:n=!1,onWalletClick:o,onNetworkClick:r}){const c=ht(a),d=t===i.METAMASK?"Metamask":"Passport";return l.jsxs(h,{testId:`${e}-${t}-${a}-button-wrapper`,sx:ds,onClick:o,children:[l.jsx(D,{logo:hs[t],sx:us(t)}),l.jsxs(h,{sx:{display:"flex",flexDirection:"column",flex:1},children:[l.jsx(Q,{size:"xSmall",children:d}),l.jsx(T,{size:"xSmall",sx:xs,children:s})]}),l.jsxs(w,{testId:`${e}-network-${a}-button`,size:"small",disabled:n,onClick:e=>{e.stopPropagation(),r(e)},variant:"tertiary",sx:ps,children:[l.jsx(w.Icon,{icon:gs[a],sx:Es(a)}),c]})]})}const ws="wallet-network-selector";function ms(){const{t:e}=r(),{bridgeState:{checkout:t,from:s,to:a},bridgeDispatch:n}=o.useContext(ft),{viewDispatch:c}=o.useContext(R),{track:u}=S(),x=F(t.config),p=ht(x),E=K(t.config),g=ht(E),T=o.useRef(),[m,b]=o.useState(!1),[f,I]=o.useState(!1),[A,y]=o.useState(),[v,_]=o.useState(),[C,D]=o.useState(""),[M,B]=o.useState(!1),[P,W]=o.useState(),[O,G]=o.useState(),[V,z]=o.useState(""),H=A&&v,$=P&&O,Z=o.useMemo((()=>A?L(A)?i.PASSPORT:i.METAMASK:null),[A]),J=o.useMemo((()=>A?L(P)?i.PASSPORT:i.METAMASK:null),[P]),q=o.useMemo((()=>{const e=[i.METAMASK];return t.passport&&e.push(i.PASSPORT),e}),[t]),Y=o.useMemo((()=>{const e=[i.METAMASK];return t.passport&&v===x&&Z===i.METAMASK&&e.push(i.PASSPORT),e}),[t,v,Z]);o.useEffect((()=>{s&&a&&(C!==s?.walletAddress&&u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"FromWallet",controlType:"Select",extras:{walletAddress:s?.walletAddress}}),v!==s?.network&&u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"FromNetwork",controlType:"Select",extras:{chainId:s?.network}}),V!==a?.walletAddress&&u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"ToWallet",controlType:"Select",extras:{walletAddress:a?.walletAddress}}),O!==a?.network&&u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"ToNetwork",controlType:"Select",extras:{chainId:a?.network}}),y(s.web3Provider),D(s.walletAddress.toLowerCase()),_(s.network),W(a.web3Provider),z(a.walletAddress.toLowerCase()),G(a.network),n({payload:{type:bt.SET_WALLETS_AND_NETWORKS,from:null,to:null}}))}),[s,a]);const X=o.useCallback((async e=>{let s;try{return s=await U(t,e),e===i.PASSPORT&&(T.current=s),s}catch(e){throw console.error(e),e}}),[t]);function ee(){W(null),G(null)}const te=o.useCallback((async e=>{let t;if(ee(),e===i.PASSPORT&&T.current&&(t=T.current),!t)try{t=await X(e)}catch(e){return}y(t);const s=await t.getSigner().getAddress();if(D(s.toLowerCase()),L(t))return _(E),void b(!1);_(null),b(!1),setTimeout((()=>I(!0)),500)}),[Z,T.current]),se=o.useCallback((async e=>{if(!A)return;if(ee(),L(A))return I(!1),void _(e);const s=await(A?.getNetwork());if(s?.chainId===e)return I(!1),void _(e);let a;try{a=await t.switchNetwork({provider:A,chainId:e}),y(a.provider),I(!1),_(a.network.chainId)}catch(e){console.error(e)}}),[t,A,Z,v]),ae=o.useCallback((async e=>{if(Z===e){W(A);const e=await A.getSigner().getAddress();z(e.toLowerCase())}else{let t;if(e===i.PASSPORT&&T.current&&(t=T.current),!t)try{t=await X(e)}catch(e){return}W(t);const s=await t.getSigner().getAddress();z(s.toLowerCase())}G(v===x?E:x),B(!1)}),[Z,v,A,T.current]),ne=o.useCallback((()=>{A&&v&&P&&O&&(n({payload:{type:bt.SET_TOKEN_BALANCES,tokenBalances:[]}}),n({payload:{type:bt.SET_ALLOWED_TOKENS,allowedTokens:[]}}),n({payload:{type:bt.SET_WALLETS_AND_NETWORKS,from:{web3Provider:A,walletAddress:C.toLowerCase(),network:v},to:{web3Provider:P,walletAddress:V.toLowerCase(),network:O}}}),u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"Next",controlType:"Button",extras:{fromWalletAddress:C,fromNetwork:v,fromWallet:{address:C,isPassportWallet:L(A),isMetaMask:N(A)},toWalletAddress:V,toNetwork:O,toWallet:{address:V,isPassportWallet:L(P),isMetaMask:N(P)}}}),c({payload:{type:j.UPDATE_VIEW,view:{type:Pe.BRIDGE_FORM}}}))}),[A,v,C,P,O,V]);return l.jsxs(h,{testId:ws,sx:ss,children:[l.jsx(Q,{testId:`${ws}-heading`,size:"small",weight:"regular",sx:as,children:e("views.WALLET_NETWORK_SELECTION.heading")}),l.jsx(Q,{size:"xSmall",sx:{paddingBottom:"base.spacing.x2"},children:e("views.WALLET_NETWORK_SELECTION.fromFormInput.heading")}),l.jsx(vt,{testId:`${ws}-from`,drawerText:{heading:e("views.WALLET_NETWORK_SELECTION.fromFormInput.walletSelectorHeading"),defaultText:e("views.WALLET_NETWORK_SELECTION.fromFormInput.selectDefaultText")},showWalletSelectorTarget:!H,walletOptions:q,showDrawer:m,setShowDrawer:b,onWalletItemClick:te}),H&&Z&&l.jsxs(h,{sx:{display:"flex",flexDirection:"column",gap:"base.spacing.x10"},children:[l.jsx(Ts,{testId:ws,walletName:Z,walletAddress:ts(C),chainId:v,onWalletClick:()=>{b(!0)},onNetworkClick:()=>I(!0)}),l.jsxs(h,{children:[l.jsx(Q,{size:"xSmall",sx:{paddingBottom:"base.spacing.x2"},children:e("views.WALLET_NETWORK_SELECTION.toFormInput.heading")}),l.jsx(vt,{testId:`${ws}-to`,drawerText:{heading:e("views.WALLET_NETWORK_SELECTION.toFormInput.walletSelectorHeading"),defaultText:e("views.WALLET_NETWORK_SELECTION.toFormInput.selectDefaultText")},showWalletSelectorTarget:!$,walletOptions:Y,showDrawer:M,setShowDrawer:B,onWalletItemClick:ae})]})]}),l.jsx(d,{headerBarTitle:e("views.WALLET_NETWORK_SELECTION.fromFormInput.networkSelectorHeading"),size:"full",onCloseDrawer:()=>{I(!1)},visible:f,children:l.jsxs(d.Content,{sx:{paddingX:"base.spacing.x4"},children:[l.jsx(ls,{testId:ws,chainName:g,onNetworkClick:se,chainId:E},g),Z===i.METAMASK&&l.jsx(ls,{testId:ws,chainName:p,onNetworkClick:se,chainId:x},p)]})}),$&&J&&l.jsxs(h,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[l.jsx(Ts,{testId:ws,walletName:J,walletAddress:ts(V),chainId:O,disableNetworkButton:!0,onWalletClick:()=>{B(!0)},onNetworkClick:()=>{}}),l.jsx(h,{sx:ns,children:l.jsx(w,{testId:`${ws}-submit-button`,size:"large",onClick:ne,children:e("views.WALLET_NETWORK_SELECTION.submitButton.text")})})]})]})}function bs(){const{t:e}=r(),{viewDispatch:t}=o.useContext(R),{eventTargetState:{eventTarget:s}}=o.useContext(G),{page:a}=S();return o.useEffect((()=>{a({userJourney:k.BRIDGE,screen:"WalletNetworkSelection"})}),[]),l.jsx(z,{testId:"bridge-view",header:l.jsx(H,{title:e("views.WALLET_NETWORK_SELECTION.layoutHeading"),onCloseButtonClick:()=>_t(s),rightActions:l.jsx(Y,{icon:"Minting",sx:X(),onClick:()=>{t({payload:{type:j.UPDATE_VIEW,view:{type:Pe.TRANSACTIONS}}})},testId:"move-transactions-button"})}),footer:l.jsx($,{}),children:l.jsx(ms,{})})}function fs(e,t){return e&&0!==parseFloat(e)?t&&Number(e)>Number(t)?"views.BRIDGE_FORM.validation.insufficientBalance":"":"views.BRIDGE_FORM.validation.noAmountInputted"}const Is={height:"100%",display:"flex",flexDirection:"column",justifyContent:"space-between",paddingTop:"base.spacing.x10"},As={paddingTop:"base.spacing.x4",display:"flex",gap:"base.spacing.x1"},ys={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6",paddingX:"base.spacing.x4"},vs={display:"flex",flexDirection:"column",alignItems:"center",paddingTop:"base.spacing.x6",paddingBottom:"base.spacing.x1",height:"100%"},Ss={color:"base.color.text.body.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"15px"},_s={display:"flex",flexDirection:"column",justifyContent:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},ks={width:"100%",height:"base.spacing.x16"},Cs={display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",paddingTop:"base.spacing.x6"};function Rs({environment:e,onCloseDrawer:t,visible:s,showHeaderBar:a,walletAddress:n,showAdjustAmount:i,tokenSymbol:c,onAddCoinsClick:u}){const{t:x}=r(),[p,E]=o.useState(!1),g=ee(e),m=te(e),b=c===se?`${x("drawers.notEnoughGas.content.eth.heading")}`:`${x("drawers.notEnoughGas.content.imx.heading")}`,f=c===se?`${x("drawers.notEnoughGas.content.eth.body")}`:`${x("drawers.notEnoughGas.content.imx.body")}`,I=o.useCallback((()=>{n&&""!==n&&navigator.clipboard.writeText(n),E(!0),setTimeout((()=>{E(!1)}),3e3)}),[n]);return l.jsx(d,{headerBarTitle:void 0,size:"full",onCloseDrawer:t,visible:s,showHeaderBar:a,children:l.jsx(d.Content,{children:l.jsxs(h,{testId:"not-enough-gas-bottom-sheet",sx:vs,children:[l.jsx(ae,{imageUrl:c===se?g:m,sx:{w:"base.icon.size.600",h:"base.icon.size.600"}}),l.jsx(Q,{size:"small",sx:Ss,testId:"not-enough-gas-heading",children:b}),l.jsx(T,{sx:Ss,children:f}),l.jsxs(h,{sx:_s,children:[i&&l.jsx(w,{testId:"not-enough-gas-adjust-amount-button",sx:ks,variant:"tertiary",onClick:t,children:x("drawers.notEnoughGas.buttons.adjustAmount")}),c===se?l.jsxs(w,{testId:"not-enough-gas-copy-address-button",sx:ks,variant:"tertiary",onClick:I,children:[x("drawers.notEnoughGas.buttons.copyAddress"),l.jsx(w.Icon,{icon:p?"Tick":"CopyText"})]}):l.jsx(w,{testId:"not-enough-gas-add-imx-button",sx:ks,variant:"tertiary",onClick:u,children:x("drawers.notEnoughGas.buttons.addMoreImx")}),l.jsx(w,{sx:ks,variant:"tertiary",onClick:t,testId:"not-enough-gas-cancel-button",children:x("drawers.notEnoughGas.buttons.cancel")})]}),l.jsx(h,{sx:Cs,children:l.jsx(D,{testId:"footer-logo-image",logo:"ImmutableHorizontalLockup",sx:{width:"base.spacing.x25"}})})]})})})}function js({sx:e}){return l.jsxs(h,{sx:{...e,paddingTop:"0",marginTop:"base.spacing.x4"},rc:l.jsx("div",{}),children:[l.jsx(h,{sx:{display:"flex",backgroundColor:"#F3F3F30A",borderRadius:"8px"},children:l.jsx(h,{sx:{minw:"170px",height:"64px",WebkitMaskPosition:"left center",WebkitMaskRepeat:"no-repeat",WebkitMaskSize:"contain",WebkitMaskImage:'url(\'data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path d="M154.75 39q1.65 0 2.85-1.15 1.15-1.15 1.15-2.85v-4q0-1.65-1.15-2.8-1.2-1.2-2.85-1.2h-93.6q-2.3 0-3.85 1.2-1.55 1.15-1.55 2.8v4q0 1.7 1.55 2.85Q58.85 39 61.15 39h93.6m-111.7-3.35q.2-1.3.2-2.65 0-1.35-.2-2.65-.75-4.9-4.5-8.65-4.7-4.7-11.3-4.7-6.65 0-11.3 4.7-4.7 4.7-4.7 11.3 0 6.65 4.7 11.3Q20.6 49 27.25 49q6.6 0 11.3-4.7 3.75-3.7 4.5-8.65Z" id="a"/></svg>\')'},rc:l.jsx("span",{}),children:l.jsx(g,{rc:l.jsx("span",{})})})}),l.jsx(h,{sx:{display:"flex",width:"100%",backgroundColor:"#F3F3F30A",borderRadius:"8px"},children:l.jsx(h,{sx:{width:"100%",height:"64px",WebkitMaskPosition:"right center",WebkitMaskRepeat:"no-repeat",WebkitMaskSize:"contain",WebkitMaskImage:'url(\'data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" width="196" height="96"><path d="M182.85 55.2Q181.65 54 180 54h-56q-1.7 0-2.85 1.2Q120 56.35 120 58v4q0 1.7 1.15 2.85Q122.3 66 124 66h56q1.65 0 2.85-1.15Q184 63.7 184 62v-4q0-1.65-1.15-2.8m0-22Q181.65 32 180 32H68q-1.7 0-2.85 1.2Q64 34.35 64 36v8q0 1.7 1.15 2.85Q66.3 48 68 48h112q1.65 0 2.85-1.15Q184 45.7 184 44v-8q0-1.65-1.15-2.8Z" id="a"/></svg>\')'},rc:l.jsx("span",{}),children:l.jsx(g,{rc:l.jsx("span",{})})})})]})}function Ns(e){const{t:t}=r(),{bridgeDispatch:s,bridgeState:{tokenBalances:a,allowedTokens:n,checkout:i,from:c,to:d,amount:u,token:x}}=o.useContext(ft),{cryptoFiatState:p,cryptoFiatDispatch:E}=o.useContext(We),{viewDispatch:g}=o.useContext(R),{testId:T,defaultAmount:m,defaultTokenAddress:b,isTokenBalancesLoading:f,defaultTokenImage:I}=e,{track:A}=S(),[y,v]=o.useState(m||""),[_,C]=o.useState(""),[N,L]=o.useState(),[D,M]=o.useState(""),[P,W]=o.useState(""),[G,V]=o.useState(!1),K=o.useRef(!1),U=N?`${t("views.BRIDGE_FORM.content.availableBalancePrefix")} ${ne(N?.formattedBalance)}`:"",[z,H]=o.useState([]),[$,Z]=o.useState(!1),[J,q]=o.useState(""),[Y,X]=o.useState(!1),ee=o.useCallback(((e,t)=>t?`${e.toLowerCase()}-${t.toLowerCase()}`:e.toLowerCase()),[]);o.useEffect((()=>{if(0===a.length)return;const e=a.filter((e=>e.balance.gt(0))).map((e=>({id:ee(e.token.symbol,e.token.address),name:e.token.name,symbol:e.token.symbol,icon:e.token.icon,balance:{formattedFiatAmount:0===p.conversions.size?oe(""):O(e.formattedBalance,e.token.symbol,p.conversions),formattedAmount:ne(e.formattedBalance)}})));H(e),K.current||(K.current=!0,b&&L(a.find((e=>B(e.token.address)&&b?.toLocaleUpperCase()===re||e.token.address?.toLowerCase()===b?.toLowerCase()))))}),[a,p.conversions,b,K.current,ee,oe]),o.useEffect((()=>{if(u&&x){v(u);for(let e=0;e<a.length;e++){const t=a[e];if(t.token.address===x.address){L(t);break}}s({payload:{type:bt.SET_TOKEN_AND_AMOUNT,token:null,amount:""}})}}),[u,x,a]);const te=o.useMemo((()=>N&&N.token?ee(N.token.symbol,N.token.address):void 0),[N,a,p.conversions,ee]),ae=o.useMemo((()=>!a.find((e=>B(e.token.address)))),[a,N,y]),de=e=>{let t=e;if("."===t&&(t="0."),v(t),_){const e=fs(t,N?.formattedBalance);C(e)}var s;N&&(W(O(t,N.token.symbol,p.conversions)),s=!0,Number.isNaN(parseFloat(y))||parseFloat(y)<=0||!N||!c||!c.walletAddress||!d||!d.walletAddress||s&&G||!i||V(!0))};o.useEffect((()=>{E({payload:{type:Oe.SET_TOKEN_SYMBOLS,tokenSymbols:n.map((e=>e.symbol))}})}),[E,n]),o.useEffect((()=>{y&&N&&W(O(y,N.token.symbol,p.conversions))}),[y,N]),o.useEffect((()=>{(async()=>{if(!c?.web3Provider)return;const e=await c.web3Provider.getSigner().getAddress();q((t=>(""!==t&&t!==e&&L(void 0),e)))})()}),[c?.web3Provider,a]);const ue=o.useCallback((()=>{const e=N?"":"views.BRIDGE_FORM.validation.noTokenSelected";const t=fs(y,N?.formattedBalance);return e&&M(e),t&&C(t),!e&&!t}),[N,y,M,C]),xe=o.useCallback((async()=>{ue()&&i&&c?.web3Provider&&N&&(ae?Z(!0):(A({userJourney:k.BRIDGE,screen:"TokenAmount",control:"Review",controlType:"Button",extras:{tokenAddress:N.token.address,amount:y}}),s({payload:{type:bt.SET_TOKEN_AND_AMOUNT,token:N.token,amount:y}}),g({payload:{type:j.UPDATE_VIEW,view:{type:Pe.BRIDGE_REVIEW}}})))}),[i,c?.web3Provider,ue,ae,N]);return l.jsxs(h,{testId:T,sx:Is,children:[l.jsxs(h,{sx:{paddingX:"base.spacing.x4"},children:[l.jsx(Q,{testId:`${T}-content-heading`,size:"small",weight:"regular",sx:{paddingBottom:"base.spacing.x4"},children:t("views.BRIDGE_FORM.content.title")}),(!b||!f)&&l.jsxs(h,{sx:As,children:[l.jsx(ze,{testId:"bridge-token",options:z,optionsLoading:f,coinSelectorHeading:t("views.BRIDGE_FORM.bridgeForm.from.selectorTitle"),selectedOption:te,subtext:U,textAlign:"left",errorMessage:t(D),onSelectChange:e=>(e=>{const t=a.find((t=>e===ee(t.token.symbol,t.token.address)));t&&(L(t),M(""))})(e),defaultTokenImage:I}),l.jsx(He,{testId:"bridge-amount",type:"number",value:y,placeholder:t("views.BRIDGE_FORM.bridgeForm.from.inputPlaceholder"),subtext:`${t("views.BRIDGE_FORM.content.fiatPricePrefix")} $${oe(P,!0)}`,validator:ie,onTextInputChange:e=>de(e),onTextInputEnter:xe,textAlign:"right",errorMessage:t(_)})]}),b&&f&&l.jsx(js,{sx:As})]}),l.jsxs(h,{sx:ys,children:[l.jsx(w,{testId:`${T}-button`,variant:"primary",onClick:xe,size:"large",children:t("views.BRIDGE_FORM.bridgeForm.buttonText")}),l.jsx($e,{visible:Y,showHeaderBar:!1,onCloseDrawer:()=>X(!1),onRetry:async()=>{X(!1),await xe()}}),l.jsx(Rs,{environment:i.config.environment,visible:$,showHeaderBar:!1,onCloseDrawer:()=>Z(!1),walletAddress:J,showAdjustAmount:B(N?.token.address),tokenSymbol:c?.network===F(i?.config)?se:le,onAddCoinsClick:()=>{g({payload:{type:j.UPDATE_VIEW,view:{type:ce.TOP_UP_VIEW}}})}})]})]})}const Ls=1e4;function Ds({amount:e,tokenAddress:t,defaultTokenImage:s}){const{t:a}=r(),{bridgeState:n,bridgeDispatch:i}=o.useContext(ft),{checkout:c,from:d}=n,{eventTargetState:{eventTarget:u}}=o.useContext(G),[x,p]=o.useState(!1),{page:E}=S();o.useEffect((()=>{(e||t)&&E({userJourney:k.BRIDGE,screen:"TokenAmount",extras:{amount:e,tokenAddress:t}})}),[]);const g=o.useCallback((async()=>{if(c&&d?.web3Provider)try{const e=await Ze({checkout:c,provider:d.web3Provider,allowTokenListType:V.BRIDGE,retryPolicy:{retryIntervalMs:0,retries:0}});if(void 0===e)return;i({payload:{type:bt.SET_TOKEN_BALANCES,tokenBalances:e.allowedBalances}}),i({payload:{type:bt.SET_ALLOWED_TOKENS,allowedTokens:e.allowList.tokens}})}catch(e){console.debug(e)}}),[c,d?.web3Provider]);return Ke(g,Ls),o.useEffect((()=>{c&&d?.web3Provider&&(p(!0),g().finally((()=>p(!1))))}),[c,d?.web3Provider]),l.jsx(z,{testId:"bridge-view",header:l.jsx(H,{showBack:!0,title:a("views.BRIDGE_FORM.header.title"),onCloseButtonClick:()=>_t(u)}),footer:l.jsx($,{}),children:l.jsx(Ns,{testId:"bridge-form",defaultAmount:e,defaultTokenAddress:t,isTokenBalancesLoading:x,defaultTokenImage:s})})}const Ms={borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px",marginBottom:"2px"},Bs={borderTopLeftRadius:"0px",borderTopRightRadius:"0px",backgroundColor:"base.color.translucent.emphasis.100"},Ps={height:"100%",display:"flex",flexDirection:"column",paddingX:"base.spacing.x4"},Ws={paddingTop:"base.spacing.x10",paddingBottom:"base.spacing.x4"},Os={display:"flex",flexDirection:"column",alignItems:"center",paddingY:"base.spacing.x1"},Gs={width:"base.icon.size.300",transform:"rotate(270deg)"},Fs={width:"base.icon.size.400"},Vs=(e,t,s)=>{const a=[];if(!e?.fees||!e.token)return a;let n=de.from(0);if(e.fees.bridgeFee&&(n=n.add(e.fees.bridgeFee)),e.fees.imtblFee&&(n=n.add(e.fees.imtblFee)),n.gt(0)&&a.push({label:s("drawers.feesBreakdown.fees.serviceFee.label"),fiatAmount:`~ ${s("drawers.feesBreakdown.fees.fiatPricePrefix")}${O(ue(n,e.token.decimals),e.token.symbol,t.conversions)}`,amount:ne(ue(n,e.token.decimals))}),e.fees.sourceChainGas?.gt(0)){const n=ue(e.fees.sourceChainGas,e.token.decimals);a.push({label:s("drawers.feesBreakdown.fees.gasFeeMove.label"),fiatAmount:`~ ${s("drawers.feesBreakdown.fees.fiatPricePrefix")}${O(n,e.token.symbol,t.conversions)}`,amount:`${ne(n)}`,prefix:"~ "})}if(e.fees.approvalFee?.gt(0)){const n=ue(e.fees.approvalFee,e.token.decimals);a.push({label:s("drawers.feesBreakdown.fees.gasFeeApproval.label"),fiatAmount:`~ ${s("drawers.feesBreakdown.fees.fiatPricePrefix")}${O(n,e.token.symbol,t.conversions)}`,amount:`${ne(n)}`,prefix:"~ "})}return a},Ks={[s.IMTBL_ZKEVM_DEVNET]:"Immutable",[s.IMTBL_ZKEVM_MAINNET]:"Immutable",[s.IMTBL_ZKEVM_TESTNET]:"Immutable",[s.ETHEREUM]:"EthToken",[s.SEPOLIA]:"EthToken"},Us={[i.PASSPORT]:"PassportSymbolOutlined",[i.METAMASK]:"MetaMaskSymbol"},zs="bridge-review-summary";function Hs(){const{t:e}=r(),{viewDispatch:t}=o.useContext(R),{bridgeState:{checkout:s,tokenBridge:a,from:n,to:d,token:u,amount:x}}=o.useContext(ft),{track:p}=S(),{cryptoFiatState:E}=o.useContext(We),[g,m]=o.useState(!1),[b,I]=o.useState(void 0),[A,y]=o.useState(""),[v,_]=o.useState(""),[C,D]=o.useState(void 0),[M,B]=o.useState(void 0),P=e=>L(e)?i.PASSPORT:i.METAMASK,W=o.useMemo((()=>u?.symbol?`${u?.symbol} ${x}`:`${x}`),[u,x]),G=o.useMemo((()=>x&&u?O(x,u.symbol,E.conversions):""),[u,x]),F=o.useMemo((()=>n?n.walletAddress:"-"),[n]),V=o.useMemo((()=>P(n?.web3Provider)),[n]),K=o.useMemo((()=>n&&n.network),[n]),U=o.useMemo((()=>d?d.walletAddress:"-"),[d]),z=o.useMemo((()=>P(d?.web3Provider)),[d]),H=o.useMemo((()=>d?.network),[d]),$=o.useCallback((async()=>{if(!(a&&x&&n&&d&&u))return;const[e,t]=await Promise.all([a.getUnsignedApproveBridgeTx({senderAddress:F,token:u.address??re.toUpperCase(),amount:xe(x,u.decimals),sourceChainId:n?.network.toString(),destinationChainId:d?.network.toString()}),a.getUnsignedBridgeTx({senderAddress:F,recipientAddress:U,token:u.address??re.toUpperCase(),amount:xe(x,u.decimals),sourceChainId:n?.network.toString(),destinationChainId:d?.network.toString(),gasMultiplier:1.1})]);D(e),B(t);const o=t.feeData,{totalFees:r,approvalFee:i}=o;let l=r;e.unsignedTx||(l=r.sub(i),o.approvalFee=de.from(0));const c={gasEstimateType:pe.BRIDGE_TO_L2,fees:{...o,totalFees:l},token:s.config.networkMap.get(n.network)?.nativeCurrency};I(c);const p=ue(c?.fees.totalFees||0,ge);y(p),_(O(p,c?.token?.symbol||"",E.conversions))}),[s,a]);Ke((()=>$()),Ee);const Z=o.useCallback((()=>Vs(b,E,e)),[b]);o.useEffect((()=>{(async()=>{m(!0),await $(),m(!1)})()}),[]);const J=o.useCallback((async()=>{C&&M&&(p({userJourney:k.BRIDGE,screen:"Summary",control:"Submit",controlType:"Button",extras:{fromWalletAddress:F,fromNetwork:K,fromWallet:{address:F,isPassportWallet:L(n?.web3Provider),isMetaMask:N(n?.web3Provider)},toWalletAddress:U,toNetwork:H,toWallet:{address:U,isPassportWallet:L(d?.web3Provider),isMetaMask:N(d?.web3Provider)},amount:x,fiatAmount:G,tokenAddress:u?.address}}),t({payload:{type:j.UPDATE_VIEW,view:{type:Pe.APPROVE_TRANSACTION,approveTransaction:C,transaction:M}}}))}),[t,C,M]);return l.jsxs(h,{testId:zs,sx:Ps,children:[l.jsx(Q,{testId:`${zs}-heading`,size:"small",weight:"regular",sx:Ws,children:e("views.BRIDGE_REVIEW.heading")}),l.jsxs(c,{testId:`${zs}-from-amount`,size:"small",emphasized:!0,sx:Ms,children:[l.jsx(c.Label,{size:"small",sx:{marginBottom:"base.spacing.x4",fontWeight:"bold"},children:e("views.BRIDGE_REVIEW.fromLabel.amountHeading")}),l.jsx(c.Caption,{}),l.jsx(c.PriceDisplay,{use:l.jsx(Q,{size:"xSmall",weight:"light"}),price:W??"-",fiatAmount:`${e("views.BRIDGE_REVIEW.fiatPricePrefix")}${G}`})]}),l.jsxs(c,{testId:`${zs}-from-address`,size:"xSmall",emphasized:!0,sx:Bs,children:[V&&l.jsx(c.FramedLogo,{logo:Us[V],sx:{backgroundColor:"base.color.translucent.standard.200"}}),l.jsxs(c.Label,{children:[l.jsx("strong",{children:e("views.BRIDGE_REVIEW.fromLabel.heading")})," ",l.jsx(T,{size:"small",sx:{color:"base.color.text.body.secondary"},children:ts(F??"")})]}),K&&l.jsx(c.IntentIcon,{icon:Ks[K],sx:Es(K)})]}),l.jsx(h,{sx:Os,children:l.jsx(f,{icon:"ArrowBackward",sx:Gs})}),l.jsxs(c,{testId:`${zs}-to-address`,size:"xSmall",emphasized:!0,sx:Ms,children:[z&&l.jsx(c.FramedLogo,{logo:Us[z],sx:{backgroundColor:"base.color.translucent.standard.200"}}),l.jsxs(c.Label,{children:[l.jsx("strong",{children:e("views.BRIDGE_REVIEW.toLabel.heading")})," ",l.jsx(T,{size:"small",sx:{color:"base.color.text.body.secondary"},children:ts(U??"")})]}),H&&l.jsx(c.IntentIcon,{icon:Ks[H],sx:Es(H)})]}),l.jsx(Je,{gasFeeValue:A,gasFeeFiatValue:v,gasFeeToken:b?.token,fees:Z(),onFeesClick:()=>{p({userJourney:k.BRIDGE,screen:"MoveCoins",control:"ViewFees",controlType:"Button"})},sx:{borderTopRightRadius:"0",borderTopLeftRadius:"0"},loading:g}),l.jsx(h,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"flex-end",paddingY:"base.spacing.x6",width:"100%"},children:l.jsx(w,{size:"large",sx:{width:"100%"},onClick:J,disabled:g,testId:`${zs}__submit-button`,children:g?l.jsx(w.Icon,{icon:"Loading",sx:Fs}):e("views.BRIDGE_REVIEW.submitButton.buttonText")})})]})}function $s(){const{t:e}=r(),{eventTargetState:{eventTarget:t}}=o.useContext(G),{page:s}=S();return o.useEffect((()=>{s({userJourney:k.BRIDGE,screen:"Review"})}),[]),l.jsx(z,{testId:"bridge-review",header:l.jsx(H,{showBack:!0,title:e("views.BRIDGE_REVIEW.layoutHeading"),onCloseButtonClick:()=>_t(t)}),footer:l.jsx($,{}),children:l.jsx(Hs,{})})}function Zs({environment:e}){const{RiveComponent:t}=he.useRive({src:`${Te[e]}/v1/blob/img/rocket.riv`,autoplay:!0,layout:new he.Layout({fit:he.Fit.Cover}),stateMachines:"State Machine 1"});return l.jsx(h,{sx:{...we,background:"base.color.translucent.emphasis.100"},children:l.jsx(h,{sx:me,rc:l.jsx(t,{})})})}function Js({transactionHash:e}){const{t:t}=r(),{eventTargetState:{eventTarget:s}}=o.useContext(G),{page:a}=S(),{cryptoFiatState:n}=o.useContext(We),{viewDispatch:i}=o.useContext(R),{bridgeState:{checkout:c,from:d,to:u,token:x,amount:p}}=o.useContext(ft);return o.useEffect((()=>{St(s,e);const t=O(p,x?.symbol??"",n.conversions);a({userJourney:k.BRIDGE,screen:"InProgress",extras:{fromWalletAddress:d?.walletAddress,toWalletAddress:u?.walletAddress,amount:p,fiatAmount:t,tokenAddress:x?.address}})}),[]),l.jsx(z,{testId:"move-in-progress-view",header:l.jsx(H,{transparent:!0,onCloseButtonClick:()=>_t(s),rightActions:l.jsxs(l.Fragment,{children:[l.jsx(Y,{icon:"Minting",sx:X(),onClick:()=>{i({payload:{type:j.UPDATE_VIEW,view:{type:Pe.TRANSACTIONS}}})},testId:"settings-button"}),l.jsx(be,{isAnimated:!0,variant:"guidance",sx:{position:"absolute",right:"base.spacing.x14",top:"base.spacing.x1"}})]})}),footer:l.jsx($,{}),heroContent:l.jsx(Zs,{environment:c.config.environment}),floatHeader:!0,children:l.jsxs(fe,{heading:t("views.IN_PROGRESS.heading"),children:[t("views.IN_PROGRESS.body1"),l.jsx("br",{}),l.jsx("br",{}),t("views.IN_PROGRESS.body2")]})})}function qs({approveTransaction:e,transaction:t}){const{t:s}=r(),{bridgeState:a}=o.useContext(ft),{checkout:n,from:i}=a,{viewDispatch:c}=o.useContext(R),{eventTargetState:{eventTarget:d}}=o.useContext(G),{page:u}=S();o.useEffect((()=>{u({userJourney:k.BRIDGE,screen:"ApproveTransaction"})}),[]);const[x,p]=o.useState(!1),[E,g]=o.useState(!1),[T,w]=o.useState(!1),[m,b]=o.useState(!1),f=o.useCallback((()=>{c({payload:{type:j.UPDATE_VIEW,view:{type:ce.ERROR_VIEW,error:new Error("No checkout object or no provider object found")}}})}),[c]),I=o.useCallback((()=>{c({payload:{type:j.GO_BACK}})}),[c]),A=e=>{if(e.type!==Ie.UNPREDICTABLE_GAS_LIMIT){if(e.type===Ie.TRANSACTION_FAILED||e.type===Ie.INSUFFICIENT_FUNDS||e.receipt&&0===e.receipt.status){let t="Transaction failed";return e.type===Ie.INSUFFICIENT_FUNDS&&(t="Insufficient funds"),e.receipt&&0===e.receipt.status&&(t="Transaction failed to settle on chain"),void c({payload:{type:j.UPDATE_VIEW,view:{type:Pe.BRIDGE_FAILURE,reason:t}}})}c({payload:{type:j.UPDATE_VIEW,view:{type:ce.ERROR_VIEW,error:e}}})}else c({payload:{type:j.UPDATE_VIEW,view:{type:Pe.BRIDGE_FAILURE,reason:"Unpredictable gas limit"}}})},y=o.useCallback((async()=>{let s=!1;if(n&&i?.web3Provider&&t){if(!x){if(p(!0),e.unsignedTx)try{g(!0);const t=await n.sendTransaction({provider:i.web3Provider,transaction:e.unsignedTx});if(1!==(await t.transactionResponse.wait()).status)return void c({payload:{type:j.UPDATE_VIEW,view:{type:Pe.BRIDGE_FAILURE,reason:"Transaction failed to settle on chain"}}})}catch(e){g(!1),e.type===Ie.USER_REJECTED_REQUEST_ERROR?(b(!0),s=!0):A(e)}finally{p(!1)}try{if(s)return;g(!0);const e=await n.sendTransaction({provider:i.web3Provider,transaction:t.unsignedTx});w(!0);const a=await e.transactionResponse.wait();if(0===a.status)return void c({payload:{type:j.UPDATE_VIEW,view:{type:Pe.BRIDGE_FAILURE,reason:"Approval transaction failed to settle on chain"}}});c({payload:{type:j.UPDATE_VIEW,view:{type:Pe.IN_PROGRESS,transactionHash:a.transactionHash}}})}catch(e){e.type===Ie.USER_REJECTED_REQUEST_ERROR?b(!0):A(e)}finally{w(!1),g(!1),p(!1)}}}else f()}),[n,i,f,c,t,e,x]);return l.jsxs(l.Fragment,{children:[T&&l.jsx(q,{loadingText:s("views.APPROVE_TRANSACTION.loadingView.text"),showFooterLogo:!0}),!T&&l.jsx(z,{header:l.jsx(H,{transparent:!0,showBack:!0,onCloseButtonClick:()=>_t(d),onBackButtonClick:I}),floatHeader:!0,heroContent:l.jsx(qe,{}),footer:l.jsxs(h,{sx:{width:"100%",flexDirection:"column"},children:[l.jsx(Ae,{loading:E,actionText:s("views.APPROVE_TRANSACTION."+(m?"footer.retryText":"footer.buttonText")),onActionClick:y}),l.jsx($,{})]}),children:l.jsx(fe,{heading:s("views.APPROVE_TRANSACTION.content.heading"),children:l.jsx(h,{children:s("views.APPROVE_TRANSACTION.content.body")})})})]})}const Qs={display:"flex",flexDirection:"column",alignItems:"center",paddingTop:"base.spacing.x6",paddingBottom:"base.spacing.x1",height:"100%"},Ys={color:"base.color.text.body.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"15px"},Xs={display:"flex",flexDirection:"column",justifyContent:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},ea={width:"100%",height:"base.spacing.x16"};function ta({visible:e,onClose:t,onChangeAccount:s}){const{t:a}=r(),{bridgeState:{checkout:n}}=o.useContext(ft),i=ee(n.config.environment);return l.jsx(d,{headerBarTitle:void 0,size:"full",onCloseDrawer:t,visible:e,showHeaderBar:!1,children:l.jsx(d.Content,{children:l.jsxs(h,{testId:"not-enough-eth-drawer",sx:Qs,children:[l.jsx(ae,{imageUrl:i,sx:{w:"base.icon.size.600",h:"base.icon.size.600"}}),l.jsx(Q,{size:"small",sx:Ys,testId:"not-enough-gas-heading",children:`${a("drawers.notEnoughEthWithdrawal.content.heading1")} ${se} ${a("drawers.notEnoughEthWithdrawal.content.heading2")}`}),l.jsx(T,{sx:Ys,children:`${a("drawers.notEnoughEthWithdrawal.content.body1")} ${se} ${a("drawers.notEnoughEthWithdrawal.content.body2")}`}),l.jsxs(h,{sx:Xs,children:[l.jsx(w,{testId:"not-enough-eth-drawer-retry-button",sx:ea,variant:"tertiary",onClick:s,children:a("drawers.notEnoughEthWithdrawal.buttons.retry")}),l.jsx(w,{sx:ea,variant:"tertiary",onClick:t,testId:"not-enough-eth-drawer-dismiss-button",children:a("drawers.notEnoughEthWithdrawal.buttons.dismiss")})]})]})})})}function sa({transaction:e}){const{t:t}=r(),{bridgeState:{checkout:s,tokenBridge:a,from:n}}=o.useContext(ft),{viewDispatch:c}=o.useContext(R),{eventTargetState:{eventTarget:d}}=o.useContext(G),{page:u}=S();o.useEffect((()=>{u({userJourney:k.BRIDGE,screen:"ClaimWithdrawal"})}),[]);const[x,p]=o.useState(!1),[E,g]=o.useState(!1),[T,m]=o.useState(!1),[b,f]=o.useState(),[I,A]=o.useState(!1),y=o.useCallback((()=>{c({payload:{type:j.GO_BACK}})}),[c]);o.useEffect((()=>{(async()=>{if(a&&e&&void 0!==e.details.current_status?.index){g(!0);try{const t=await(a?.getFlowRateWithdrawTx({recipient:e.details.to_address,index:e.details.current_status.index}));f(t)}catch(e){console.log(e)}finally{g(!1)}}})()}),[a,e]);const _=o.useCallback((async({forceChangeAccount:e})=>{if(!(s&&a&&n?.web3Provider&&b))return;if(!b.pendingWithdrawal.canWithdraw||!b.unsignedTx)return void console.log(`Unable to process withdrawal transaction as it is not ready yet. Delay timeout at ${b.pendingWithdrawal.timeoutEnd} `);let t=n?.web3Provider;const o=F(s.config);if(p(!0),L(n?.web3Provider)||e)try{const e=await s.createProvider({walletProviderName:i.METAMASK});t=(await s.connect({provider:e.provider,requestWalletPermissions:!0})).provider,A(!1)}catch(e){return console.log(e),m(!0),void p(!1)}let r,l=null;try{try{r=await t.estimateGas(b.unsignedTx)}catch(e){r=de.from(ye)}let e=null;try{e=await t.getFeeData()}catch(e){console.log(e)}let s=null;e&&e.lastBaseFeePerGas&&e.maxPriorityFeePerGas?s=e.lastBaseFeePerGas.add(e.maxPriorityFeePerGas):e&&e.gasPrice&&(s=e.gasPrice),s&&(l=r.mul(s))}catch(e){console.log(e)}try{const e=(await s.getAllBalances({provider:t,chainId:o})).balances.find((e=>B(e.token.address)));if(!e||e.balance.lt(l))return A(!0),void p(!1)}catch(e){console.log(e)}if((await t.getNetwork()).chainId!==o)try{t=(await s.switchNetwork({provider:t,chainId:o})).provider}catch(e){return m(!0),g(!1),void console.log(e)}try{const e=await s.sendTransaction({provider:t,transaction:b.unsignedTx});c({payload:{type:j.UPDATE_VIEW,view:{type:Pe.CLAIM_WITHDRAWAL_IN_PROGRESS,transactionResponse:e.transactionResponse}}})}catch(e){console.log(e),m(!0),p(!1)}finally{p(!1)}}),[a,n,b]);return l.jsxs(z,{testId:"claim-withdrawal",header:l.jsx(H,{transparent:!0,showBack:!0,onCloseButtonClick:()=>_t(d),onBackButtonClick:y}),floatHeader:!0,heroContent:l.jsx(qe,{}),footer:l.jsxs(h,{sx:{width:"100%",display:"flex",flexDirection:"column"},children:[l.jsx(h,{sx:{pb:"base.spacing.x5",px:"base.spacing.x6",width:"100%",display:"flex",flexDirection:"column"},children:l.jsx(w,{testId:"claim-withdrawal-continue-button",size:"large",variant:"primary",disabled:E,onClick:()=>x||E?void 0:_({forceChangeAccount:!0}),children:E||x?l.jsx(w.Icon,{icon:"Loading",sx:{width:"base.icon.size.400"}}):t("views.CLAIM_WITHDRAWAL."+(T?"footer.retryText":"footer.buttonText"))})}),l.jsx($,{})]}),children:[l.jsxs(fe,{heading:`${t("views.CLAIM_WITHDRAWAL.content.heading")} ${ht(F(s.config))}`,children:[l.jsx(h,{sx:{display:"flex",flexWrap:"wrap",pb:"base.spacing.x1"},children:t("views.CLAIM_WITHDRAWAL.content.body")}),l.jsxs(h,{children:[t("views.CLAIM_WITHDRAWAL.content.body2"),l.jsx(v,{text:e.details.to_address.toLowerCase()??""})]})]}),l.jsx(ta,{visible:I,onClose:()=>A(!1),onChangeAccount:()=>_({forceChangeAccount:!0})})]})}function aa({checkout:e,web3Provider:t,config:s,amount:a,tokenAddress:n}){const{t:i}=r(),{environment:c,isOnRampEnabled:d,isSwapEnabled:u,isBridgeEnabled:E,theme:g}=s,h=ve(e.config.environment,g),{eventTargetState:{eventTarget:T}}=o.useContext(G),{page:w}=S(),[m,b]=o.useReducer(Se,{..._e,view:{type:Pe.WALLET_NETWORK_SELECTION},history:[{type:Pe.WALLET_NETWORK_SELECTION}]}),[f,I]=o.useReducer(It,{...mt,checkout:e,web3Provider:t??null,tokenBridge:(()=>{let t=De;e.config.isDevelopment&&(t=Me),e.config.isProduction&&(t=Be);const s=new Z(e.config.networkMap.get(F(e.config))?.rpcUrls[0]),a=new Z(e.config.networkMap.get(K(e.config))?.rpcUrls[0]),n=new ke({baseConfig:new Ce({environment:e.config.environment}),bridgeInstance:t,rootProvider:s,childProvider:a});return new Re(n)})()}),A=o.useMemo((()=>({viewState:m,viewDispatch:b})),[m,b]),y=o.useMemo((()=>({bridgeState:f,bridgeDispatch:I})),[f,I]),v=o.useCallback((()=>{I({payload:{type:bt.SET_WALLETS_AND_NETWORKS,from:null,to:null}}),I({payload:{type:bt.SET_TOKEN_AND_AMOUNT,amount:"",token:null}}),b({payload:{type:j.GO_BACK_TO,view:{type:Pe.WALLET_NETWORK_SELECTION}}})}),[b]),_=o.useCallback((()=>{b({payload:{type:j.GO_BACK_TO,view:{type:Pe.WALLET_NETWORK_SELECTION}}})}),[b]),C=o.useCallback((()=>{b({payload:{type:j.UPDATE_VIEW,view:{type:Pe.TRANSACTIONS}}})}),[b]),N=o.useCallback((()=>{b({payload:{type:j.GO_BACK_TO,view:{type:Pe.BRIDGE_REVIEW}}})}),[b]);return o.useEffect((()=>{(async()=>{I({payload:{type:bt.SET_PROVIDER,web3Provider:t??null}})})()}),[t]),l.jsx(R.Provider,{value:A,children:l.jsx(ft.Provider,{value:y,children:l.jsxs(Ge,{environment:c,children:[m.view.type===Pe.WALLET_NETWORK_SELECTION&&l.jsx(bs,{}),m.view.type===Pe.BRIDGE_FORM&&l.jsx(Ds,{amount:a,tokenAddress:n,defaultTokenImage:h}),m.view.type===Pe.BRIDGE_REVIEW&&l.jsx($s,{}),m.view.type===Pe.IN_PROGRESS&&l.jsx(Js,{transactionHash:m.view.transactionHash}),m.view.type===Pe.BRIDGE_FAILURE&&l.jsx(je,{testId:"bridge-fail",statusText:i("views.BRIDGE_FAILURE.bridgeFailureText.statusText"),actionText:i("views.BRIDGE_FAILURE.bridgeFailureText.actionText"),onActionClick:N,statusType:Ne.FAILURE,onRenderEvent:()=>{let e="";m.view.type===Pe.BRIDGE_FAILURE&&(e=m.view.reason),w({userJourney:k.BRIDGE,screen:"Failed",extras:{reason:e}}),((e,t)=>{const s=new CustomEvent(x.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:p.FAILURE,data:{reason:t,timestamp:(new Date).getTime()}}});console.log("bridge failed ",e,s),void 0!==e&&e.dispatchEvent(s)})(T,e)}}),m.view.type===Pe.APPROVE_TRANSACTION&&l.jsx(qs,{approveTransaction:m.view.approveTransaction,transaction:m.view.transaction}),m.view.type===Pe.TRANSACTIONS&&l.jsx(Xt,{onBackButtonClick:_,defaultTokenImage:h}),m.view.type===Pe.CLAIM_WITHDRAWAL&&l.jsx(sa,{transaction:m.view.transaction}),m.view.type===ce.ERROR_VIEW&&l.jsx(Le,{actionText:i("views.ERROR_VIEW.actionText"),onActionClick:v,onCloseClick:()=>_t(T),errorEventAction:()=>{w({userJourney:k.BRIDGE,screen:"Error"})}}),m.view.type===ce.TOP_UP_VIEW&&l.jsx(Fe,{analytics:{userJourney:k.BRIDGE},widgetEvent:x.IMTBL_BRIDGE_WIDGET_EVENT,checkout:e,provider:t,showOnrampOption:d,showSwapOption:u,showBridgeOption:E,onCloseButtonClick:()=>_t(T)}),m.view.type===Pe.CLAIM_WITHDRAWAL_IN_PROGRESS&&l.jsx(es,{transactionResponse:m.view.transactionResponse}),m.view.type===Pe.CLAIM_WITHDRAWAL_SUCCESS&&l.jsx(je,{statusText:i("views.CLAIM_WITHDRAWAL.IN_PROGRESS.success.text"),actionText:i("views.CLAIM_WITHDRAWAL.IN_PROGRESS.success.actionText"),onRenderEvent:()=>{w({userJourney:k.BRIDGE,screen:"ClaimWithdrawalSuccess"}),((e,t)=>{const s=new CustomEvent(x.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:p.CLAIM_WITHDRAWAL_SUCCESS,data:{transactionHash:t}}});console.log("bridge claim withdrawal success event:",e,s),void 0!==e&&e.dispatchEvent(s)})(T,m.view.transactionHash)},onActionClick:C,statusType:Ne.SUCCESS,testId:"claim-withdrawal-success-view"}),m.view.type===Pe.CLAIM_WITHDRAWAL_FAILURE&&l.jsx(je,{statusText:i("views.CLAIM_WITHDRAWAL.IN_PROGRESS.failure.text"),actionText:i("views.CLAIM_WITHDRAWAL.IN_PROGRESS.failure.actionText"),onRenderEvent:()=>{let e="";m.view.type===Pe.CLAIM_WITHDRAWAL_FAILURE&&(e=m.view.reason),w({userJourney:k.BRIDGE,screen:"ClaimWithdrawalFailure",extras:{reason:e}}),((e,t,s)=>{const a=new CustomEvent(x.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:p.CLAIM_WITHDRAWAL_FAILURE,data:{transactionHash:t,reason:s,timestamp:(new Date).getTime()}}});console.log("bridge claim withdrawal failed event:",e,a),void 0!==e&&e.dispatchEvent(a)})(T,m.view.transactionHash,"Transaction failed")},onActionClick:C,statusType:Ne.FAILURE,onCloseClick:()=>_t(T),testId:"claim-withdrawal-fail-view"})]})})})}var na=Object.freeze({__proto__:null,default:aa});export{aa as B,na as a,ht as g};
@@ -1 +1 @@
1
- import{r as e,C as t,E as s,u as a,V as o,S as n,a as r,b as i,j as d,B as c,c as E,H as R,s as p,U as S,d as u,F as A,e as l,v,i as T,N as w,L as O,f as _,g as y,h as N,k as P,I}from"./index-57f03d43.js";import{O as C,T as x}from"./TopUpView-83b01082.js";import{u as m,T as h}from"./useTransakEvents-4a36b909.js";import{S as g}from"./SpendingCapHero-f00c162d.js";const f=e=>({position:"relative",maxWidth:"420px",height:"565px",borderRadius:"base.borderRadius.x6",overflow:"hidden",marginLeft:"base.spacing.x2",marginRight:"base.spacing.x2",marginBottom:"base.spacing.x2",display:e?"block":"none"}),D=e=>({display:e?"block":"none"});var L,k;!function(e){e.TRANSAK_WIDGET_OPEN="TRANSAK_WIDGET_OPEN",e.TRANSAK_ORDER_CREATED="TRANSAK_ORDER_CREATED",e.TRANSAK_ORDER_SUCCESSFUL="TRANSAK_ORDER_SUCCESSFUL",e.TRANSAK_ORDER_FAILED="TRANSAK_ORDER_FAILED"}(L||(L={})),function(e){e.PROCESSING="PROCESSING",e.COMPLETED="COMPLETED"}(k||(k={}));const M="transak-iframe",U=6e3;function j({passport:A,showIframe:l,tokenAmount:v,tokenAddress:T}){const{connectLoaderState:w}=e.useContext(t),{checkout:O,provider:_}=w,{eventTargetState:{eventTarget:y}}=e.useContext(s),{t:N}=a(),{viewState:P,viewDispatch:I}=e.useContext(o),[x,g]=e.useState(""),j=e.useRef(),b=!!A&&_?.provider?.isPassport,F=e.useMemo((()=>P.history.length>2&&P.history[P.history.length-2].type===n.TOP_UP_VIEW),[P.history]),{track:G}=r();return e.useEffect((()=>{if(!O||!_)return;let e,t="";(async()=>{const e={exchangeType:i.ONRAMP,web3Provider:_,tokenAddress:T,tokenAmount:v,passport:A};g(await O.createFiatRampUrl(e)),t=await _.getSigner().getAddress()})(),(async()=>{if(A){const t=await A.getUserInfo();e=t?.email}})();const s=document.getElementById(M);if(!s)return;window.addEventListener("message",(a=>{if(!s)return;const o=m.parse(a.origin)?.host?.toLowerCase();a.source===s.contentWindow&&o&&h.includes(o)&&((async(e,t,s)=>{const a={userId:t.toLowerCase(),isPassportWallet:b,email:s};switch(e.event_id){case L.TRANSAK_WIDGET_OPEN:G({userJourney:S.ON_RAMP,screen:"InputScreen",control:"TransakWidgetOpen",controlType:"IframeEvent",extras:{...a}});break;case L.TRANSAK_ORDER_CREATED:G({userJourney:S.ON_RAMP,screen:"InputScreen",control:"OrderCreated",controlType:"IframeEvent",extras:{...a}});break;case L.TRANSAK_ORDER_SUCCESSFUL:e.data.status===k.PROCESSING&&G({userJourney:S.ON_RAMP,screen:"OrderInProgress",control:"PaymentProcessing",controlType:"IframeEvent",extras:{...a}}),e.data.status===k.COMPLETED&&G({userJourney:S.ON_RAMP,screen:"Success",control:"PaymentCompleted",controlType:"IframeEvent",extras:{...a}});break;case L.TRANSAK_ORDER_FAILED:G({userJourney:S.ON_RAMP,screen:"Failure",control:"PaymentFailed",controlType:"IframeEvent",extras:{...a}})}})(a.data,t,e),(e=>{if(j.current&&clearTimeout(j.current),e.event_id!==L.TRANSAK_WIDGET_OPEN)return e.event_id===L.TRANSAK_ORDER_SUCCESSFUL&&e.data.status===k.PROCESSING?(I({payload:{type:u.UPDATE_VIEW,view:{type:C.IN_PROGRESS_LOADING}}}),void(j.current=window.setTimeout((()=>{I({payload:{type:u.UPDATE_VIEW,view:{type:C.IN_PROGRESS}}})}),U))):void(e.event_id!==L.TRANSAK_ORDER_SUCCESSFUL||e.data.status!==k.COMPLETED?e.event_id===L.TRANSAK_ORDER_FAILED&&I({payload:{type:u.UPDATE_VIEW,view:{type:C.FAIL,data:{amount:v,tokenAddress:T},reason:`Transaction failed: ${e.data.statusReason}`}}}):I({payload:{type:u.UPDATE_VIEW,view:{type:C.SUCCESS,data:{transactionHash:e.data.transactionHash}}}}));I({payload:{type:u.UPDATE_VIEW,view:{type:C.ONRAMP,data:{amount:P.view.data?.amount??v,tokenAddress:P.view.data?.tokenAddress??T}}}})})(a.data))}))}),[O,_,v,T,A]),d.jsx(c,{sx:D(l),children:d.jsx(E,{header:d.jsx(R,{showBack:F,title:N("views.ONRAMP.header.title"),onCloseButtonClick:()=>p(y)}),footerBackgroundColor:"base.color.translucent.emphasis.200",children:d.jsx(c,{sx:f(l),children:d.jsx("iframe",{title:"Transak",id:M,src:x,allow:"camera;microphone;fullscreen;payment",style:{height:"100%",width:"100%",border:"none",position:"absolute"}})})})})}function b(){const{eventTargetState:{eventTarget:t}}=e.useContext(s),{t:o}=a();return d.jsx(E,{testId:"order-in-progress-view",header:d.jsx(R,{transparent:!0,onCloseButtonClick:()=>p(t)}),footer:d.jsx(A,{}),heroContent:d.jsx(g,{}),floatHeader:!0,children:d.jsxs(l,{heading:o("views.ONRAMP.IN_PROGRESS.content.heading"),children:[o("views.ONRAMP.IN_PROGRESS.content.body1"),d.jsx("br",{}),d.jsx("br",{}),o("views.ONRAMP.IN_PROGRESS.content.body2")]})})}function F({amount:r,tokenAddress:i,config:c}){const{isOnRampEnabled:E,isSwapEnabled:R,isBridgeEnabled:A}=c,[l,m]=e.useReducer(v,{...T,history:[]}),h=e.useMemo((()=>({viewState:l,viewDispatch:m})),[l,v]),{connectLoaderState:g}=e.useContext(t),{checkout:f,provider:D}=g,[L,k]=e.useState(i),{eventTargetState:{eventTarget:M}}=e.useContext(s),{t:U}=a(),F=e.useMemo((()=>l.view.type===C.ONRAMP),[l.view.type]);return e.useEffect((()=>{f&&D&&(async()=>{if(!(await f.getNetworkInfo({provider:D})).isSupported)return;const e=L?.toLocaleLowerCase()===w?w:i;k(e)})()}),[f,D,m]),d.jsxs(o.Provider,{value:h,children:[l.view.type===n.LOADING_VIEW&&d.jsx(O,{loadingText:U("views.ONRAMP.initialLoadingText"),showFooterLogo:!0}),l.view.type===C.IN_PROGRESS_LOADING&&d.jsx(O,{loadingText:U("views.ONRAMP.IN_PROGRESS_LOADING.loading.text"),showFooterLogo:!0}),l.view.type===C.IN_PROGRESS&&d.jsx(b,{}),l.view.type===C.SUCCESS&&d.jsx(_,{statusText:U("views.ONRAMP.SUCCESS.text"),actionText:U("views.ONRAMP.SUCCESS.actionText"),onRenderEvent:()=>y(M,l.view.data.transactionHash),onActionClick:()=>p(M),statusType:N.SUCCESS,testId:"success-view"}),l.view.type===C.FAIL&&d.jsx(_,{statusText:U("views.ONRAMP.FAIL.text"),actionText:U("views.ONRAMP.FAIL.actionText"),onRenderEvent:()=>P(M,l.view.reason??"Transaction failed"),onActionClick:()=>{m({payload:{type:u.UPDATE_VIEW,view:{type:C.ONRAMP,data:l.view.data}}})},statusType:N.FAILURE,onCloseClick:()=>p(M),testId:"fail-view"}),l.view.type!==C.SUCCESS&&l.view.type!==C.FAIL&&d.jsx(j,{passport:f?.passport,showIframe:F,tokenAmount:l.view.data?.amount??r,tokenAddress:l.view.data?.tokenAddress??L}),l.view.type===n.TOP_UP_VIEW&&d.jsx(x,{analytics:{userJourney:S.ON_RAMP},widgetEvent:I.IMTBL_ONRAMP_WIDGET_EVENT,checkout:f,provider:D,showOnrampOption:E,showSwapOption:R,showBridgeOption:A,onCloseButtonClick:()=>p(M)})]})}export{F as default};
1
+ import{r as e,C as t,E as s,u as a,V as o,S as n,a as r,b as i,j as d,B as c,c as E,H as R,s as p,U as S,d as u,F as A,e as l,v,i as T,N as w,L as O,f as _,g as y,h as N,k as P,I}from"./index-a5ec4ed9.js";import{O as C,T as x}from"./TopUpView-24b7522e.js";import{u as m,T as h}from"./useTransakEvents-05f3e770.js";import{S as g}from"./SpendingCapHero-8f336477.js";const f=e=>({position:"relative",maxWidth:"420px",height:"565px",borderRadius:"base.borderRadius.x6",overflow:"hidden",marginLeft:"base.spacing.x2",marginRight:"base.spacing.x2",marginBottom:"base.spacing.x2",display:e?"block":"none"}),D=e=>({display:e?"block":"none"});var L,k;!function(e){e.TRANSAK_WIDGET_OPEN="TRANSAK_WIDGET_OPEN",e.TRANSAK_ORDER_CREATED="TRANSAK_ORDER_CREATED",e.TRANSAK_ORDER_SUCCESSFUL="TRANSAK_ORDER_SUCCESSFUL",e.TRANSAK_ORDER_FAILED="TRANSAK_ORDER_FAILED"}(L||(L={})),function(e){e.PROCESSING="PROCESSING",e.COMPLETED="COMPLETED"}(k||(k={}));const M="transak-iframe",U=6e3;function j({passport:A,showIframe:l,tokenAmount:v,tokenAddress:T}){const{connectLoaderState:w}=e.useContext(t),{checkout:O,provider:_}=w,{eventTargetState:{eventTarget:y}}=e.useContext(s),{t:N}=a(),{viewState:P,viewDispatch:I}=e.useContext(o),[x,g]=e.useState(""),j=e.useRef(),b=!!A&&_?.provider?.isPassport,F=e.useMemo((()=>P.history.length>2&&P.history[P.history.length-2].type===n.TOP_UP_VIEW),[P.history]),{track:G}=r();return e.useEffect((()=>{if(!O||!_)return;let e,t="";(async()=>{const e={exchangeType:i.ONRAMP,web3Provider:_,tokenAddress:T,tokenAmount:v,passport:A};g(await O.createFiatRampUrl(e)),t=await _.getSigner().getAddress()})(),(async()=>{if(A){const t=await A.getUserInfo();e=t?.email}})();const s=document.getElementById(M);if(!s)return;window.addEventListener("message",(a=>{if(!s)return;const o=m.parse(a.origin)?.host?.toLowerCase();a.source===s.contentWindow&&o&&h.includes(o)&&((async(e,t,s)=>{const a={userId:t.toLowerCase(),isPassportWallet:b,email:s};switch(e.event_id){case L.TRANSAK_WIDGET_OPEN:G({userJourney:S.ON_RAMP,screen:"InputScreen",control:"TransakWidgetOpen",controlType:"IframeEvent",extras:{...a}});break;case L.TRANSAK_ORDER_CREATED:G({userJourney:S.ON_RAMP,screen:"InputScreen",control:"OrderCreated",controlType:"IframeEvent",extras:{...a}});break;case L.TRANSAK_ORDER_SUCCESSFUL:e.data.status===k.PROCESSING&&G({userJourney:S.ON_RAMP,screen:"OrderInProgress",control:"PaymentProcessing",controlType:"IframeEvent",extras:{...a}}),e.data.status===k.COMPLETED&&G({userJourney:S.ON_RAMP,screen:"Success",control:"PaymentCompleted",controlType:"IframeEvent",extras:{...a}});break;case L.TRANSAK_ORDER_FAILED:G({userJourney:S.ON_RAMP,screen:"Failure",control:"PaymentFailed",controlType:"IframeEvent",extras:{...a}})}})(a.data,t,e),(e=>{if(j.current&&clearTimeout(j.current),e.event_id!==L.TRANSAK_WIDGET_OPEN)return e.event_id===L.TRANSAK_ORDER_SUCCESSFUL&&e.data.status===k.PROCESSING?(I({payload:{type:u.UPDATE_VIEW,view:{type:C.IN_PROGRESS_LOADING}}}),void(j.current=window.setTimeout((()=>{I({payload:{type:u.UPDATE_VIEW,view:{type:C.IN_PROGRESS}}})}),U))):void(e.event_id!==L.TRANSAK_ORDER_SUCCESSFUL||e.data.status!==k.COMPLETED?e.event_id===L.TRANSAK_ORDER_FAILED&&I({payload:{type:u.UPDATE_VIEW,view:{type:C.FAIL,data:{amount:v,tokenAddress:T},reason:`Transaction failed: ${e.data.statusReason}`}}}):I({payload:{type:u.UPDATE_VIEW,view:{type:C.SUCCESS,data:{transactionHash:e.data.transactionHash}}}}));I({payload:{type:u.UPDATE_VIEW,view:{type:C.ONRAMP,data:{amount:P.view.data?.amount??v,tokenAddress:P.view.data?.tokenAddress??T}}}})})(a.data))}))}),[O,_,v,T,A]),d.jsx(c,{sx:D(l),children:d.jsx(E,{header:d.jsx(R,{showBack:F,title:N("views.ONRAMP.header.title"),onCloseButtonClick:()=>p(y)}),footerBackgroundColor:"base.color.translucent.emphasis.200",children:d.jsx(c,{sx:f(l),children:d.jsx("iframe",{title:"Transak",id:M,src:x,allow:"camera;microphone;fullscreen;payment",style:{height:"100%",width:"100%",border:"none",position:"absolute"}})})})})}function b(){const{eventTargetState:{eventTarget:t}}=e.useContext(s),{t:o}=a();return d.jsx(E,{testId:"order-in-progress-view",header:d.jsx(R,{transparent:!0,onCloseButtonClick:()=>p(t)}),footer:d.jsx(A,{}),heroContent:d.jsx(g,{}),floatHeader:!0,children:d.jsxs(l,{heading:o("views.ONRAMP.IN_PROGRESS.content.heading"),children:[o("views.ONRAMP.IN_PROGRESS.content.body1"),d.jsx("br",{}),d.jsx("br",{}),o("views.ONRAMP.IN_PROGRESS.content.body2")]})})}function F({amount:r,tokenAddress:i,config:c}){const{isOnRampEnabled:E,isSwapEnabled:R,isBridgeEnabled:A}=c,[l,m]=e.useReducer(v,{...T,history:[]}),h=e.useMemo((()=>({viewState:l,viewDispatch:m})),[l,v]),{connectLoaderState:g}=e.useContext(t),{checkout:f,provider:D}=g,[L,k]=e.useState(i),{eventTargetState:{eventTarget:M}}=e.useContext(s),{t:U}=a(),F=e.useMemo((()=>l.view.type===C.ONRAMP),[l.view.type]);return e.useEffect((()=>{f&&D&&(async()=>{if(!(await f.getNetworkInfo({provider:D})).isSupported)return;const e=L?.toLocaleLowerCase()===w?w:i;k(e)})()}),[f,D,m]),d.jsxs(o.Provider,{value:h,children:[l.view.type===n.LOADING_VIEW&&d.jsx(O,{loadingText:U("views.ONRAMP.initialLoadingText"),showFooterLogo:!0}),l.view.type===C.IN_PROGRESS_LOADING&&d.jsx(O,{loadingText:U("views.ONRAMP.IN_PROGRESS_LOADING.loading.text"),showFooterLogo:!0}),l.view.type===C.IN_PROGRESS&&d.jsx(b,{}),l.view.type===C.SUCCESS&&d.jsx(_,{statusText:U("views.ONRAMP.SUCCESS.text"),actionText:U("views.ONRAMP.SUCCESS.actionText"),onRenderEvent:()=>y(M,l.view.data.transactionHash),onActionClick:()=>p(M),statusType:N.SUCCESS,testId:"success-view"}),l.view.type===C.FAIL&&d.jsx(_,{statusText:U("views.ONRAMP.FAIL.text"),actionText:U("views.ONRAMP.FAIL.actionText"),onRenderEvent:()=>P(M,l.view.reason??"Transaction failed"),onActionClick:()=>{m({payload:{type:u.UPDATE_VIEW,view:{type:C.ONRAMP,data:l.view.data}}})},statusType:N.FAILURE,onCloseClick:()=>p(M),testId:"fail-view"}),l.view.type!==C.SUCCESS&&l.view.type!==C.FAIL&&d.jsx(j,{passport:f?.passport,showIframe:F,tokenAmount:l.view.data?.amount??r,tokenAddress:l.view.data?.tokenAddress??L}),l.view.type===n.TOP_UP_VIEW&&d.jsx(x,{analytics:{userJourney:S.ON_RAMP},widgetEvent:I.IMTBL_ONRAMP_WIDGET_EVENT,checkout:f,provider:D,showOnrampOption:E,showSwapOption:R,showBridgeOption:A,onCloseButtonClick:()=>p(M)})]})}export{F as default};