@imtbl/sdk 1.14.1-alpha.1 → 1.15.0-alpha.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 (33) hide show
  1. package/dist/blockchain_data.js +2 -2
  2. package/dist/browser/checkout/{BridgeWidget-0f2ecc28.js → BridgeWidget-9aea408c.js} +1 -1
  3. package/dist/browser/checkout/{OnRampWidget-dd89c42d.js → OnRampWidget-98216e40.js} +1 -1
  4. package/dist/browser/checkout/{SaleWidget-7add26fc.js → SaleWidget-324d4ac6.js} +2 -2
  5. package/dist/browser/checkout/{SpendingCapHero-87ddc872.js → SpendingCapHero-db1a406a.js} +1 -1
  6. package/dist/browser/checkout/{SwapWidget-2f2dbe0e.js → SwapWidget-7eab0ed5.js} +1 -1
  7. package/dist/browser/checkout/{TopUpView-fe28f44e.js → TopUpView-4ac021b8.js} +1 -1
  8. package/dist/browser/checkout/{WalletWidget-78e08af9.js → WalletWidget-83e502dd.js} +1 -1
  9. package/dist/browser/checkout/{auto-track-bde3714a.js → auto-track-53a8fe04.js} +1 -1
  10. package/dist/browser/checkout/{balance-f24b805f.js → balance-98d4e932.js} +1 -1
  11. package/dist/browser/checkout/{index-85fb206f.js → index-0ad7d6e5.js} +1 -1
  12. package/dist/browser/checkout/{index-93f58b81.js → index-10ca17ee.js} +1 -1
  13. package/dist/browser/checkout/{index-d85fa07b.js → index-305232a2.js} +1 -1
  14. package/dist/browser/checkout/{index-783674ed.js → index-59dac553.js} +1 -1
  15. package/dist/browser/checkout/{index-2fde8395.js → index-a05a60e7.js} +1 -1
  16. package/dist/browser/checkout/{index-2f2c9933.js → index-c30e9aab.js} +1 -1
  17. package/dist/browser/checkout/{index-819ff95c.js → index-e3891182.js} +2 -2
  18. package/dist/browser/checkout/index-faaf7864.js +1 -0
  19. package/dist/browser/checkout/{index.umd-bec85183.js → index.umd-cbf0019d.js} +1 -1
  20. package/dist/browser/checkout/{retry-8e6e3b1a.js → retry-1d87da11.js} +1 -1
  21. package/dist/browser/checkout/sdk.js +4 -4
  22. package/dist/browser/checkout/widgets-esm.js +1 -1
  23. package/dist/browser/checkout/widgets.js +1 -1
  24. package/dist/checkout.js +4 -4
  25. package/dist/config.js +1 -1
  26. package/dist/index.browser.js +4 -4
  27. package/dist/index.cjs +6 -6
  28. package/dist/index.js +6 -6
  29. package/dist/orderbook.js +1 -1
  30. package/dist/passport.js +3 -3
  31. package/dist/x.js +2 -2
  32. package/package.json +1 -1
  33. package/dist/browser/checkout/index-af51ea6c.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.14.1-alpha.1';
4817
+ const SDK_VERSION = '1.15.0-alpha.1';
4818
4818
  const getReferrer = () => {
4819
4819
  if (isNode()) {
4820
4820
  return '';
@@ -5059,7 +5059,7 @@ class APIError extends Error {
5059
5059
 
5060
5060
  /* eslint-disable implicit-arrow-linebreak */
5061
5061
  const defaultHeaders = {
5062
- sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.14.1-alpha.1',
5062
+ sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.15.0-alpha.1',
5063
5063
  };
5064
5064
  /**
5065
5065
  * createAPIConfiguration to create a custom Configuration
@@ -1 +1 @@
1
- import{b6 as e,b7 as t,r as s,b8 as a,u as n,j as o,M as r,an as i,b9 as l,I as c,aj as d,ba as u,bb as x,B as p,a as g,p as w,bc as h,R as b,aJ as m,q as f,v as E,bd as T,be as v,d as y,bf as I,U as A,bg as k,V as S,c as C,bh as R,bi as _,bj as j,bk as N,aI as D,bl as W,k as L,x as P,a6 as O,y as B,E as M,i as G,e as F,T as z,g as U,bm as $,bn as V,z as H,A as K,J,bo as q,bp as Q,_ as Y,am as X,H as Z,bq as ee,b as te,F as se,br as ae,aG as ne,bs as oe,aH as re,t as ie,f as le,a7 as ce,aM as de,aS as ue,S as xe,a5 as pe,aN as ge,aF as we,bt as he,aK as be,bu as me,bv as fe,aQ as Ee,bw as Te,bx as ve,L as ye,O as Ie,by as Ae,Q as ke,l as Se,aT as Ce,bz as Re,h as _e,X as je,Y as Ne,bA as De,aV as We,bB as Le,ax as Pe,aw as Oe,$ as Be,bC as Me,bD as Ge,bE as Fe}from"./index-819ff95c.js";import{B as ze,C as Ue,a as $e,b as Ve,T as He}from"./TopUpView-fe28f44e.js";import{r as Ke,u as Je}from"./retry-8e6e3b1a.js";import{c as qe,d as Qe,e as Ye,f as Xe,g as Ze,S as et,T as tt,a as st,b as at,F as nt,N as ot,W as rt}from"./balance-f24b805f.js";const{Axios:it,AxiosError:lt,CanceledError:ct,isCancel:dt,CancelToken:ut,VERSION:xt,all:pt,Cancel:gt,isAxiosError:wt,spread:ht,toFormData:bt,AxiosHeaders:mt,HttpStatusCode:ft,formToJSON:Et,getAdapter:Tt,mergeConfig:vt}=e;class yt{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=ft.InternalServerError,a="InternalServerError";return e.isAxiosError(t)&&(s=t.response?.status||s,a=t.message),Promise.reject({code:s,message:a})}}}var It;!function(e){e.BRIDGE="bridge"}(It||(It={}));const At={IN_PROGRESS:"in_progress",WITHDRAWAL_PENDING:"withdrawal_pending"},kt={web3Provider:null,walletProviderName:null,from:null,to:null,tokenBridge:null,tokenBalances:[],allowedTokens:[],token:null,amount:"0"};var St;!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"}(St||(St={}));const Ct=s.createContext({bridgeState:{...kt,checkout:{}},bridgeDispatch:()=>{}});Ct.displayName="BridgeContext";const Rt=(e,t)=>{switch(t.payload.type){case St.SET_WALLETS_AND_NETWORKS:return{...e,from:t.payload.from,to:t.payload.to};case St.SET_WALLET_PROVIDER_NAME:return{...e,walletProviderName:t.payload.walletProviderName};case St.SET_PROVIDER:return{...e,web3Provider:t.payload.web3Provider};case St.SET_TOKEN_BRIDGE:return{...e,tokenBridge:t.payload.tokenBridge};case St.SET_TOKEN_BALANCES:return{...e,tokenBalances:t.payload.tokenBalances};case St.SET_ALLOWED_TOKENS:return{...e,allowedTokens:t.payload.allowedTokens};case St.SET_TOKEN_AND_AMOUNT:return{...e,token:t.payload.token,amount:t.payload.amount};default:return e}};function _t(e){switch(e){case a.METAMASK:return"MetaMaskSymbol";case a.PASSPORT:return"PassportSymbolOutlined";case"walletconnect":return"WalletConnectSymbol";default:return"MetaMaskSymbol"}}function jt({testId:e,walletProviderName:t,onWalletClick:a,loading:i}){const{t:l}=n(),[c,d]=s.useState(!1);return o.jsxs(r,{testId:`${e}-wallet-list-${t}`,size:"medium",emphasized:!0,onClick:async()=>{if(!i){d(!0);try{await a(t)}finally{d(!1)}}},children:[o.jsx(r.FramedLogo,{logo:_t(t),sx:{backgroundColor:"base.color.translucent.standard.200"}}),o.jsx(r.Label,{size:"medium",children:l(`wallets.${t}.heading`)}),c&&o.jsx(r.StatefulButtCon,{state:"loading",icon:"Loading"})]})}const Nt={display:"flex",flexDirection:"column",gap:"base.spacing.x1",paddingX:"base.spacing.x4"};function Dt({testId:e,drawerText:t,walletOptions:a,showWalletSelectorTarget:n,showDrawer:r,setShowDrawer:c,onWalletItemClick:d}){const[u,x]=s.useState(!1),{heading:p,defaultText:g}=t,w=async e=>{x(!0);try{await d(e)}catch(e){console.error(e)}finally{x(!1)}};return o.jsxs(i,{headerBarTitle:p,size:"full",onCloseDrawer:()=>{u||c(!1)},visible:r,children:[n&&o.jsx(i.Target,{children:o.jsx(qe,{testId:`${e}-wallet-form-control`,textAlign:"left",children:o.jsx(l,{testId:`${e}-wallet-select`,defaultLabel:g??"",size:"large",targetClickOveride:()=>c(!0)})})}),o.jsx(i.Content,{sx:Nt,children:a.map((t=>o.jsx(jt,{testId:e,loading:u,walletProviderName:t,onWalletClick:w},t)))})]})}const Wt=(e,t)=>{const s=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.TRANSACTION_SENT,data:{transactionHash:t}}});console.log("bridge success ",e,s),void 0!==e&&e.dispatchEvent(s)};function Lt(e){const t=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.CLOSE_WIDGET,data:{}}});console.log("bridge close ",e,t),void 0!==e&&e.dispatchEvent(t)}function Pt(){return o.jsxs(u,{sx:{gap:"base.spacing.x2"},children:[o.jsx(x,{sx:{h:"base.spacing.x4",w:"base.spacing.x32",mt:"base.spacing.x2"}}),o.jsx(r,{shimmer:!0,emphasized:!0,size:"small"}),o.jsx(r,{shimmer:!0,emphasized:!0,size:"small"}),o.jsx(r,{shimmer:!0,emphasized:!0,size:"small"})]})}const Ot={px:"base.spacing.x4",display:"flex",flexDirection:"column",height:"100%"},Bt={flexGrow:"1",flexShrink:"0",flexBasis:"0"},Mt={flexGrow:"0",flexShrink:"1",mt:"base.spacing.x2"},Gt={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 Ft({openWalletDrawer:e}){const{t:t}=n();return o.jsxs(p,{sx:Gt,children:[o.jsx(g,{sx:{mb:"base.spacing.x8"},children:t("views.TRANSACTIONS.status.emptyState.notConnected.body")}),o.jsx(w,{variant:"secondary",size:"medium",testId:"transactions-connect-wallet-button",onClick:e,children:t("views.TRANSACTIONS.status.emptyState.notConnected.buttonText")})]})}const zt={backgroundColor:"base.color.neutral.800",px:"base.spacing.x4",p:"base.spacing.x5",borderRadius:"base.borderRadius.x6"},Ut={color:"base.color.text.body.secondary"};function $t({checkout:e,isPassport:t}){const{t:a}=n(),[r,i]=s.useState("");return s.useEffect((()=>{e&&i(h[e.config.environment])}),[e]),o.jsx(p,{sx:zt,children:o.jsxs(p,{sx:{display:"flex",flexDirection:"column"},children:[o.jsxs(p,{children:[o.jsx(g,{size:"small",children:a("views.TRANSACTIONS.support.body1")}),o.jsxs(g,{size:"small",sx:Ut,children:[a("views.TRANSACTIONS.support.body2"),o.jsx(b,{size:"small",rc:o.jsx("a",{target:"_blank",href:a("views.TRANSACTIONS.support.supportLink"),rel:"noreferrer"}),children:a("views.TRANSACTIONS.support.body3")})]})]}),t&&o.jsxs(g,{size:"small",sx:Ut,children:[a("views.TRANSACTIONS.support.passport.body1")," ",o.jsx(b,{size:"small",rc:o.jsx("a",{target:"_blank",href:r,rel:"noreferrer"}),children:a("views.TRANSACTIONS.support.passport.body2")})]})]})})}const Vt={display:"flex",flexDirection:"column",borderRadius:"base.borderRadius.x4",bg:"base.color.translucent.emphasis.100"},Ht={p:"base.spacing.x3",d:"flex",justifyContent:"space-between",position:"relative"},Kt={display:"flex",flexGrow:"1",alignItems:"center",gap:"base.spacing.x2"};function Jt({transaction:e}){const t=Qe(e.details.from_chain),s=Qe(e.details.to_chain);return o.jsxs(p,{sx:{display:"flex",px:"base.spacing.x4",gap:"base.spacing.x2"},children:[o.jsx(m,{icon:f[t],sx:{w:"base.icon.size.250",fill:E[t]},variant:"bold"}),o.jsxs(p,{sx:{display:"flex",flexDirection:"column",flexGrow:"1"},children:[o.jsx(g,{size:"xxSmall",sx:{color:"base.color.translucent.standard.900"},children:T[t]}),o.jsx(v,{size:"xxSmall",sx:{color:"base.color.translucent.standard.600"},text:e.details.from_address})]}),o.jsx(p,{sx:{flexGrow:"1"}}),o.jsx(m,{icon:"ArrowForward",sx:{w:"base.icon.size.250",fill:"base.color.brand.4"}}),o.jsx(p,{sx:{flexGrow:"1"}}),o.jsx(m,{icon:f[s],sx:{w:"base.icon.size.250",fill:E[s]},variant:"bold"}),o.jsxs(p,{sx:{display:"flex",flexDirection:"column",flexGrow:"1"},children:[o.jsx(g,{size:"xxSmall",sx:{color:"base.color.translucent.standard.900"},children:T[s]}),o.jsx(v,{size:"xxSmall",sx:{color:"base.color.translucent.standard.600"},text:e.details.to_address})]})]})}function qt({label:e,details:t,transaction:a,fiatAmount:n,amount:i,icon:l,defaultTokenImage:c}){const{track:d}=y(),u=s.useMemo((()=>`${t.link}${t.hash}`),[t]);return o.jsx(p,{testId:`transaction-item-${a.blockchain_metadata.transaction_hash}`,sx:Vt,children:o.jsxs(I,{chevronSide:"right",sx:{button:{p:"base.spacing.x1"},article:{pr:"base.spacing.x10"}},onExpandChange:e=>e&&d({userJourney:A.BRIDGE,screen:"TransactionItem",control:"Accordion",controlType:"Button"}),children:[o.jsx(I.TargetLeftSlot,{sx:{pr:"base.spacing.x2"},children:o.jsxs(r,{size:"xSmall",children:[o.jsx(r.FramedImage,{imageUrl:l,circularFrame:!0,defaultImageUrl:c}),o.jsx(r.Label,{children:e}),o.jsx(r.Caption,{children:o.jsx(b,{size:"xSmall",rc:o.jsx("a",{target:"_blank",href:u,rel:"noreferrer",onClick:e=>{return s=t,e.stopPropagation(),void d({userJourney:A.BRIDGE,screen:"TransactionItem",control:"Details",controlType:"Link",extras:{linkDetail:s}});var s}}),children:t.text})}),o.jsx(r.PriceDisplay,{fiatAmount:n,price:i})]})}),o.jsxs(I.ExpandedContent,{sx:{pr:"0",pl:"0",mb:"base.spacing.x3",gap:"0"},children:[o.jsx(k,{size:"xSmall",sx:{px:"base.spacing.x2"}}),o.jsx(Jt,{transaction:a})]})]})})}const Qt=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"}},Yt={borderRadius:"base.borderRadius.x4",display:"flex",flexDirection:"column",gap:"base.spacing.x5"};function Xt({label:e,transaction:t,fiatAmount:a,amount:i,icon:l,defaultTokenImage:c}){const{viewDispatch:d}=s.useContext(S),{track:u}=y(),x=n(),h=s.useMemo((()=>(new Date).getTime()),[]),b=s.useMemo((()=>t.details.current_status.withdrawal_ready_at?new Date(t.details.current_status.withdrawal_ready_at):void 0),[t]),f=t.details.current_status.status===At.WITHDRAWAL_PENDING,E=new Intl.RelativeTimeFormat(x[1].language||"en",{numeric:"auto"}),T=s.useMemo((()=>{if(!f||void 0===b)return"";const e=(b.getTime()-h)/6e4;if(e<=1)return"in 1 minute";if(e<60)return E.format(Math.ceil(e),"minute");const t=e/60;if(e<1440)return E.format(Math.ceil(t),"hour");const s=t/24;return E.format(Math.ceil(s),"day")}),[h,x[1].language]),v=!!b&&b.getTime()<h,R=s.useMemo((()=>!0===v?x.t("views.TRANSACTIONS.status.withdrawalPending.withdrawalReadyText"):`${x.t("views.TRANSACTIONS.status.withdrawalPending.withdrawalDelayText")} ${T}`),[T,x[1].language]);return o.jsxs(p,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}`,sx:Vt,children:[f&&o.jsxs(o.Fragment,{children:[o.jsxs(p,{sx:Ht,children:[o.jsxs(p,{sx:Kt,children:[o.jsx(m,{icon:"Alert",variant:"bold",sx:{fill:v?"base.color.status.fatal.bright":"base.color.status.attention.bright",w:"base.icon.size.200"}}),o.jsx(g,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}-action-message`,size:"xSmall",sx:{color:"base.color.text.body.secondary"},children:R})]}),f&&v&&o.jsx(w,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}-action-button`,variant:"primary",size:"small",onClick:()=>{d({payload:{type:C.UPDATE_VIEW,view:{type:ze.CLAIM_WITHDRAWAL,transaction:t}}})},children:x.t("views.TRANSACTIONS.status.withdrawalPending.actionButtonText")})]}),o.jsx(k,{size:"small",sx:{color:"base.color.translucent.emphasis.300",opacity:.1}})]}),o.jsxs(I,{chevronSide:"right",sx:{button:{p:"base.spacing.x1"},article:{pr:"base.spacing.x10"},borderTopRightRadius:"0",borderTopLeftRadius:"0"},onExpandChange:e=>e&&u({userJourney:A.BRIDGE,screen:"TransactionItem",control:"Accordion",controlType:"Button"}),children:[o.jsx(I.TargetLeftSlot,{sx:{pr:"base.spacing.x2"},children:o.jsxs(r,{size:"xSmall",children:[o.jsx(r.FramedImage,{imageUrl:l,circularFrame:!0,defaultImageUrl:c}),o.jsx(r.Label,{children:e}),o.jsx(r.Caption,{children:x.t("views.TRANSACTIONS.status.withdrawalPending.caption")}),o.jsx(r.PriceDisplay,{fiatAmount:a,price:i})]})}),o.jsxs(I.ExpandedContent,{sx:{pr:"0",pl:"0",mb:"base.spacing.x3",gap:"0"},children:[o.jsx(k,{size:"xSmall",sx:{px:"base.spacing.x2"}}),o.jsx(Jt,{transaction:t})]})]})]})}const Zt={display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",p:"base.spacing.x2",pb:"base.spacing.x4"},es={position:"relative",pr:"base.spacing.x2"},ts={width:"base.icon.size.400"},ss={position:"absolute",top:"-6px",left:"18px",width:"20px",padding:"2px",backgroundColor:"base.color.translucent.inverse.900",borderRadius:"base.borderRadius.x2"};function as({onChangeWalletClick:e}){const{t:t}=n(),{bridgeState:{checkout:a,from:r}}=s.useContext(Ct),[i,l]=s.useState(void 0),[c,d]=s.useState(!1),{isWalletConnectEnabled:u,getWalletLogoUrl:x}=R({checkout:a}),{track:g}=y(),h=r?.walletAddress||"",b=_t(_(r?.web3Provider));return s.useEffect((()=>{u&&(d(j(r?.web3Provider)),(async()=>{l(await x())})())}),[u,r]),o.jsxs(p,{sx:Zt,children:[o.jsxs(p,{sx:{display:"flex",alignItems:"center",gap:"base.spacing.x1"},children:[c&&i?o.jsxs(p,{sx:es,children:[o.jsx(N,{imageUrl:i,alt:"walletconnect",sx:ts}),o.jsx(D,{logo:"WalletConnectSymbol",sx:ss})]}):o.jsx(D,{logo:b,sx:{width:"base.icon.size.400",pr:"base.spacing.x1"}}),o.jsx(v,{leftSideLength:6,rightSideLength:4,text:h})]}),o.jsx(w,{size:"small",variant:"tertiary",onClick:()=>{g({userJourney:A.BRIDGE,screen:ze.TRANSACTIONS,controlType:"Button",control:"Pressed"}),e()},children:t("views.TRANSACTIONS.changeWallet.buttonText")})]})}function ns({checkout:e,transactions:t,knownTokenMap:a,isPassport:r,defaultTokenImage:i,changeWallet:l}){const{cryptoFiatState:c}=s.useContext(Ue),{t:d}=n(),[u,x]=s.useState("");s.useEffect((()=>{e&&x(W[e.config.environment])}),[e]);const g=s.useCallback(((e,t)=>e.details.current_status.status===At.WITHDRAWAL_PENDING&&t.details.current_status.status!==At.WITHDRAWAL_PENDING?-1:e.details.current_status.status===t.details.current_status.status?0:1),[]),w=s.useCallback((t=>L(t.details.from_token_address)?P(e.config.environment,Ye(t.details.from_chain)):P(e.config.environment,t.details.from_token_address)),[e]);return o.jsxs(p,{sx:Qt(r),children:[o.jsx(as,{onChangeWalletClick:l}),o.jsx(p,{testId:"move-transaction-list",sx:Yt,children:t.sort(g).map((e=>{const t=e.blockchain_metadata.transaction_hash,s=a[e.details.from_chain][e.details.from_token_address.toLowerCase()],n=O.formatUnits(e.details.amount,s.decimals),r=B(n,s.symbol,c.conversions);return e.details.current_status.status===At.WITHDRAWAL_PENDING?o.jsx(Xt,{label:s.name,transaction:e,fiatAmount:`${d("views.TRANSACTIONS.fiatPricePrefix")}${r}`,amount:n,icon:w(e),defaultTokenImage:i},t):o.jsx(qt,{label:s.name,details:{text:d("views.TRANSACTIONS.status.inProgress.stepInfo"),link:u,hash:t},transaction:e,fiatAmount:`${d("views.TRANSACTIONS.fiatPricePrefix")}${r}`,amount:n,icon:w(e),defaultTokenImage:i},t)}))})]})}const os={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"},rs={display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",padding:"base.spacing.x5",flex:1},is={mb:"base.spacing.x8",color:"base.color.text.body.secondary"},ls={color:"base.color.text.body.secondary"};function cs({checkout:e,isPassport:t,changeWallet:a}){const{page:r}=y(),{t:i}=n(),[l,c]=s.useState("");return s.useEffect((()=>{e&&c(h[e.config.environment])}),[e]),s.useEffect((()=>{r({userJourney:A.BRIDGE,screen:"NoTransactions"})}),[]),o.jsxs(p,{sx:os,children:[o.jsx(as,{onChangeWalletClick:a}),o.jsxs(p,{sx:rs,children:[o.jsx(g,{size:"small",sx:is,children:i("views.TRANSACTIONS.status.noTransactions.body")}),t&&o.jsxs(g,{size:"small",sx:ls,children:[i("views.TRANSACTIONS.status.noTransactions.passport.body")," ",o.jsx(b,{size:"small",rc:o.jsx("a",{target:"_blank",href:l,rel:"noreferrer"}),children:i("views.TRANSACTIONS.status.noTransactions.passport.link")})]})]})]})}function ds({defaultTokenImage:e,onBackButtonClick:t}){const{eventTargetState:{eventTarget:r}}=s.useContext(M),{cryptoFiatDispatch:i}=s.useContext(Ue),{bridgeDispatch:l,bridgeState:{checkout:c,from:d}}=s.useContext(Ct),{page:u}=y(),{t:x}=n(),{track:g}=y(),[w,h]=s.useState(!0),[b,m]=s.useState(void 0),[f,E]=s.useState([]),[T,v]=s.useState(!1),I=G(d?.web3Provider),{isWalletConnectEnabled:k,openWalletConnectModal:S}=R({checkout:c}),C=s.useCallback((async()=>{if(!c)return{};const e=F(c.config);try{return((await c.getTokenAllowList({type:z.BRIDGE,chainId:e})).tokens??[]).reduce(((e,t)=>(e[t.address.toLowerCase()]=t,e)),{})}catch(e){return console.error(e),[]}}),[c]),_=s.useCallback((async()=>{if(!d?.web3Provider)return{};if(!d?.walletAddress)return{};const e=U(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]),j=e=>{e.getNetwork().then((t=>{e?.getSigner().getAddress().then((s=>{E([]),l({payload:{type:St.SET_WALLETS_AND_NETWORKS,from:{web3Provider:e,walletAddress:s.toLowerCase(),network:t.chainId},to:null}})}))}))},N=s.useCallback((async e=>{g({userJourney:A.BRIDGE,screen:"EmptyStateNotConnected",control:"WalletProvider",controlType:"Select",extras:{walletProviderName:e}});try{let t;"walletconnect"===e?await S({connectCallback:e=>{j(new $(e))},restoreSession:!0}):(t=await V(c,e,!0),j(t))}catch(e){console.error(e)}finally{v(!1)}}),[c,d,S]),D=async e=>{const t=Xe(F(c.config)),s=Xe(U(c.config)),[a,n]=await Promise.all([C(),_()]),o={};Object.entries(e).forEach((([r,i])=>{(e[r]===t&&!a[r]||e[r]===s&&!n[r])&&(o[r]=i)}));const r=new q(c.config.networkMap.get(F(c.config))?.rpcUrls[0]),l=new q(c.config.networkMap.get(U(c.config))?.rpcUrls[0]),d=[],u=[];Object.entries(o).forEach((([e,s])=>{s===t?d.push(c.getTokenInfo({provider:r,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;a[t.value.address.toLowerCase()]=t.value})),p.filter((e=>"fulfilled"===e.status)).forEach((e=>{const t=e;n[t.value.address.toLowerCase()]=t.value}));const g=[];return Object.values(a).forEach((e=>g.push(e.symbol.toLowerCase()))),Object.values(n).forEach((e=>g.push(e.symbol.toLowerCase()))),i({payload:{type:$e.SET_TOKEN_SYMBOLS,tokenSymbols:g}}),{[t]:a,[s]:n}},W=s.useCallback((async(e,t)=>new yt({env:e}).getTransactions({txType:It.BRIDGE,fromAddress:t})),[]),L=s.useCallback((async()=>{if(!d?.walletAddress)return;const e=await W(c.config.environment,d?.walletAddress),t={};return e.result.forEach((e=>{t[e.details.from_token_address]=e.details.from_chain})),{tokens:await D(t),transactions:e.result}}),[d,W]),P=s.useMemo((()=>{const e=[a.METAMASK];return c.passport&&e.push(a.PASSPORT),k&&e.push("walletconnect"),e}),[c,k]);return s.useEffect((()=>{(async()=>{h(!0);const e=await Ke(L,Q);if(!e)return void h(!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()]}));m(e.tokens),E(t),h(!1)})()}),[d,c]),s.useEffect((()=>{u({userJourney:A.BRIDGE,screen:"Transactions"})}),[]),o.jsx(H,{testId:"bridge-view",header:o.jsx(K,{showBack:!0,onBackButtonClick:()=>{d&&(l({payload:{type:St.SET_WALLETS_AND_NETWORKS,from:{web3Provider:d?.web3Provider,walletAddress:d?.walletAddress,network:d?.network},to:null}}),l({payload:{type:St.SET_TOKEN_AND_AMOUNT,token:null,amount:""}})),t()},title:x("views.TRANSACTIONS.layoutHeading"),onCloseButtonClick:()=>Lt(r)}),footer:o.jsx(J,{}),children:o.jsxs(p,{sx:Ot,children:[o.jsxs(p,{sx:Bt,children:[!d?.web3Provider&&o.jsx(Ft,{openWalletDrawer:()=>v(!0)}),d?.web3Provider&&w&&o.jsx(Pt,{}),d?.web3Provider&&!w&&f.length>0&&b&&o.jsx(ns,{checkout:c,transactions:f,knownTokenMap:b,isPassport:I,defaultTokenImage:e,changeWallet:()=>v(!0)}),d?.web3Provider&&!w&&0===f.length&&o.jsx(cs,{checkout:c,isPassport:I,changeWallet:()=>v(!0)})]}),d?.web3Provider&&f.length>0&&o.jsx(p,{sx:Mt,children:o.jsx($t,{checkout:c,isPassport:I})}),o.jsx(Dt,{testId:"select-wallet-drawer",drawerText:{heading:x("views.TRANSACTIONS.walletSelection.heading")},showWalletSelectorTarget:!1,walletOptions:P,showDrawer:T,setShowDrawer:e=>{v(e)},onWalletItemClick:N})]})})}function us({transactionResponse:e}){const{t:t}=n(),{viewDispatch:a}=s.useContext(S),{page:r}=y();return s.useEffect((()=>{r({userJourney:A.BRIDGE,screen:"ClaimWithdrawalInProgress"})}),[]),s.useEffect((()=>{e&&(async()=>{try{const t=await e.wait();if(1===t.status)return void a({payload:{type:C.UPDATE_VIEW,view:{type:ze.CLAIM_WITHDRAWAL_SUCCESS,transactionHash:t.transactionHash}}});a({payload:{type:C.UPDATE_VIEW,view:{type:ze.CLAIM_WITHDRAWAL_FAILURE,transactionHash:t.transactionHash,reason:"Transaction failed"}}})}catch(e){console.error(e),a({payload:{type:C.UPDATE_VIEW,view:{type:ze.CLAIM_WITHDRAWAL_FAILURE,transactionHash:"",reason:"Transaction failed"}}})}})()}),[e]),o.jsx(Y,{loadingText:t("views.CLAIM_WITHDRAWAL.IN_PROGRESS.loading.text"),showFooterLogo:!0})}function xs(e){return e?e.substring(0,6).concat("...").concat(e.substring(e.length-4)):""}const ps={height:"100%",display:"flex",flexDirection:"column",paddingX:"base.spacing.x4"},gs={paddingTop:"base.spacing.x10",paddingBottom:"base.spacing.x4"},ws={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6"},hs={[X.IMTBL_ZKEVM_DEVNET]:"base.color.text.link.primary",[X.IMTBL_ZKEVM_TESTNET]:"base.color.text.link.primary",[X.IMTBL_ZKEVM_MAINNET]:"base.color.text.link.primary",[X.ETHEREUM]:"base.color.accent.5",[X.SEPOLIA]:"base.color.accent.5"},bs=e=>({backgroundColor:hs[e],"& svg":{fill:"base.color.brand.2"}});function ms({testId:e,chainId:t,chainName:s,onNetworkClick:a}){return o.jsxs(r,{testId:`${e}-network-list-${t}`,size:"medium",emphasized:!0,onClick:async()=>{await a(t)},sx:{marginBottom:"base.spacing.x1"},children:[o.jsx(r.FramedIcon,{icon:f[t],circularFrame:!0,sx:bs(t)}),o.jsx(r.Label,{size:"medium",children:s})]})}const fs={[X.IMTBL_ZKEVM_DEVNET]:"base.color.text.link.primary",[X.IMTBL_ZKEVM_TESTNET]:"base.color.text.link.primary",[X.IMTBL_ZKEVM_MAINNET]:"base.color.text.link.primary",[X.ETHEREUM]:"base.color.accent.5",[X.SEPOLIA]:"base.color.accent.5"},Es={position:"relative",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"}},Ts={width:"base.icon.size.500",backgroundColor:"base.color.translucent.standard.200",borderRadius:"base.borderRadius.x2"},vs={position:"absolute",top:"14px",left:"38px",width:"28px",padding:"base.spacing.x1",backgroundColor:"base.color.translucent.inverse.900",borderRadius:"base.borderRadius.x2"},ys=e=>({width:"base.icon.size.500",padding:(a.PASSPORT,"base.spacing.x1"),backgroundColor:"base.color.translucent.standard.200",borderRadius:"base.borderRadius.x2"}),Is={color:"base.color.text.body.secondary"},As={paddingY:"base.spacing.x6",borderRadius:"base.borderRadius.x18"},ks=e=>({fill:"base.color.brand.2",width:"base.icon.size.300",backgroundColor:fs[e],borderRadius:"100%",padding:"base.spacing.x1"});function Ss({testId:e,walletProvider:t,walletName:n,walletAddress:r,chainId:i,disableNetworkButton:l=!1,onWalletClick:c,onNetworkClick:d}){const u=Ze(i),x=function(e){switch(e){case a.METAMASK:return"MetaMask";case a.PASSPORT:return"Passport";case"WalletConnect":return"WalletConnect";default:return"Other"}}(n),h=_t(n),[b,m]=s.useState(void 0),[E,T]=s.useState(!1),{bridgeState:{checkout:v}}=s.useContext(Ct),{isWalletConnectEnabled:y,getWalletLogoUrl:I}=R({checkout:v});return s.useEffect((()=>{y&&(T(j(t)),(async()=>{m(await I())})())}),[y,t]),o.jsxs(p,{testId:`${e}-${n}-${i}-button-wrapper`,sx:Es,onClick:c,children:[E&&b?o.jsxs(o.Fragment,{children:[o.jsx(N,{imageUrl:b,alt:"walletconnect",sx:Ts}),o.jsx(D,{logo:"WalletConnectSymbol",sx:vs})]}):o.jsx(D,{logo:h,sx:ys(n)}),o.jsxs(p,{sx:{display:"flex",flexDirection:"column",flex:1},children:[o.jsx(Z,{size:"xSmall",children:x}),o.jsx(g,{size:"xSmall",sx:Is,children:r})]}),o.jsxs(w,{testId:`${e}-network-${i}-button`,size:"small",disabled:l,onClick:e=>{e.stopPropagation(),d(e)},variant:"tertiary",sx:As,children:[o.jsx(w.Icon,{icon:f[i],sx:ks(i)}),u]})]})}const Cs="wallet-network-selector";function Rs(){const{t:e}=n(),{bridgeState:{checkout:t,from:r,to:l},bridgeDispatch:c}=s.useContext(Ct),{viewDispatch:d}=s.useContext(S),{track:u}=y(),x=F(t.config),g=Ze(x),h=U(t.config),b=Ze(h),m=s.useRef(),{isWalletConnectEnabled:f,openWalletConnectModal:E}=R({checkout:t}),[T,v]=s.useState(!1),[I,k]=s.useState(!1),[j,N]=s.useState(),[D,W]=s.useState(),[L,P]=s.useState(""),[O,B]=s.useState(!1),[M,z]=s.useState(),[H,K]=s.useState(),[J,q]=s.useState(""),Q=j&&D,Y=M&&H,X=s.useMemo((()=>j?_(j):null),[j]),te=s.useMemo((()=>M?_(M):null),[M]),se=s.useMemo((()=>{const e=[a.METAMASK.toString()];return t.passport&&e.push(a.PASSPORT.toString()),f&&e.push("walletconnect"),e}),[t,f]),ae=s.useMemo((()=>{const e=[a.METAMASK.toString()];return t.passport&&D===x&&e.push(a.PASSPORT.toString()),f&&e.push("walletconnect"),e}),[t,D,X,f]);s.useEffect((()=>{r&&l&&(L!==r?.walletAddress&&u({userJourney:A.BRIDGE,screen:"WalletAndNetwork",control:"FromWallet",controlType:"Select",extras:{walletAddress:r?.walletAddress}}),D!==r?.network&&u({userJourney:A.BRIDGE,screen:"WalletAndNetwork",control:"FromNetwork",controlType:"Select",extras:{chainId:r?.network}}),J!==l?.walletAddress&&u({userJourney:A.BRIDGE,screen:"WalletAndNetwork",control:"ToWallet",controlType:"Select",extras:{walletAddress:l?.walletAddress}}),H!==l?.network&&u({userJourney:A.BRIDGE,screen:"WalletAndNetwork",control:"ToNetwork",controlType:"Select",extras:{chainId:l?.network}}),N(r.web3Provider),P(r.walletAddress.toLowerCase()),W(r.network),z(l.web3Provider),q(l.walletAddress.toLowerCase()),K(l.network),c({payload:{type:St.SET_WALLETS_AND_NETWORKS,from:null,to:null}}))}),[r,l]);const ne=s.useCallback((async e=>{let s;try{return s=await V(t,e),e===a.PASSPORT.toString()&&(m.current=s),s}catch(e){throw console.error(e),e}}),[t]);function oe(){z(null),K(null)}const re=async e=>{N(e);const t=await e.getSigner().getAddress();if(P(t.toLowerCase()),G(e))return W(h),void v(!1);W(null),v(!1),setTimeout((()=>k(!0)),500)},ie=s.useCallback((async e=>{let t;if(oe(),e===a.PASSPORT.toString()&&m.current)return t=m.current,void await re(t);if(!t)try{"walletconnect"===e?await E({connectCallback:e=>{re(new $(e))},restoreSession:!0}):(t=await ne(e),await re(t))}catch(e){console.error(e)}}),[X,m.current,E]),le=s.useCallback((async e=>{j&&(oe(),k(!1),W(e))}),[t,j]),ce=s.useCallback((()=>{K(D===x?h:x),B(!1)}),[D]),de=s.useCallback((e=>{z(e),e.getSigner().getAddress().then((e=>{q(e.toLowerCase()),ce()}))}),[ce]),ue=s.useCallback((async e=>{if(X===e){z(j);const e=await j.getSigner().getAddress();return q(e.toLowerCase()),void ce()}let t;try{if("walletconnect"===e)await E({connectCallback:e=>{const t=new $(e);de(t),ce()}});else{t=e===a.PASSPORT.toString()&&m.current?m.current:await ne(e),z(t);const s=await t.getSigner().getAddress();q(s.toLowerCase()),ce()}}catch(e){console.error(e)}}),[X,j,m.current,ce,de]),xe=s.useCallback((()=>{j&&D&&M&&H&&(c({payload:{type:St.SET_TOKEN_BALANCES,tokenBalances:[]}}),c({payload:{type:St.SET_ALLOWED_TOKENS,allowedTokens:[]}}),c({payload:{type:St.SET_WALLETS_AND_NETWORKS,from:{web3Provider:j,walletAddress:L.toLowerCase(),network:D},to:{web3Provider:M,walletAddress:J.toLowerCase(),network:H}}}),u({userJourney:A.BRIDGE,screen:"WalletAndNetwork",control:"Next",controlType:"Button",extras:{fromWalletAddress:L,fromNetwork:D,fromWallet:{address:L,isPassportWallet:G(j),isMetaMask:ee(j)},toWalletAddress:J,toNetwork:H,toWallet:{address:J,isPassportWallet:G(M),isMetaMask:ee(M)}}}),d({payload:{type:C.UPDATE_VIEW,view:{type:ze.BRIDGE_FORM}}}))}),[j,D,L,M,H,J]);return o.jsxs(p,{testId:Cs,sx:ps,children:[o.jsx(Z,{testId:`${Cs}-heading`,size:"small",weight:"regular",sx:gs,children:e("views.WALLET_NETWORK_SELECTION.heading")}),o.jsx(Z,{size:"xSmall",sx:{paddingBottom:"base.spacing.x2"},children:e("views.WALLET_NETWORK_SELECTION.fromFormInput.heading")}),o.jsx(Dt,{testId:`${Cs}-from`,drawerText:{heading:e("views.WALLET_NETWORK_SELECTION.fromFormInput.walletSelectorHeading"),defaultText:e("views.WALLET_NETWORK_SELECTION.fromFormInput.selectDefaultText")},showWalletSelectorTarget:!Q,walletOptions:se,showDrawer:T,setShowDrawer:v,onWalletItemClick:ie}),Q&&X&&o.jsxs(p,{sx:{display:"flex",flexDirection:"column",gap:"base.spacing.x10"},children:[o.jsx(Ss,{testId:Cs,walletProvider:j,walletName:X,walletAddress:xs(L),chainId:D,onWalletClick:()=>{v(!0)},onNetworkClick:()=>k(!0)}),o.jsxs(p,{children:[o.jsx(Z,{size:"xSmall",sx:{paddingBottom:"base.spacing.x2"},children:e("views.WALLET_NETWORK_SELECTION.toFormInput.heading")}),o.jsx(Dt,{testId:`${Cs}-to`,drawerText:{heading:e("views.WALLET_NETWORK_SELECTION.toFormInput.walletSelectorHeading"),defaultText:e("views.WALLET_NETWORK_SELECTION.toFormInput.selectDefaultText")},showWalletSelectorTarget:!Y,walletOptions:ae,showDrawer:O,setShowDrawer:B,onWalletItemClick:ue})]})]}),o.jsx(i,{headerBarTitle:e("views.WALLET_NETWORK_SELECTION.fromFormInput.networkSelectorHeading"),size:"full",onCloseDrawer:()=>{k(!1)},visible:I,children:o.jsxs(i.Content,{sx:{paddingX:"base.spacing.x4"},children:[o.jsx(ms,{testId:Cs,chainName:b,onNetworkClick:le,chainId:h},b),(X===a.METAMASK.toString()||"walletconnect"===X)&&o.jsx(ms,{testId:Cs,chainName:g,onNetworkClick:le,chainId:x},g)]})}),Y&&te&&o.jsxs(p,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[o.jsx(Ss,{testId:Cs,walletProvider:M,walletName:te,walletAddress:xs(J),chainId:H,disableNetworkButton:!0,onWalletClick:()=>{B(!0)},onNetworkClick:()=>{}}),o.jsx(p,{sx:ws,children:o.jsx(w,{testId:`${Cs}-submit-button`,size:"large",onClick:xe,children:e("views.WALLET_NETWORK_SELECTION.submitButton.text")})})]})]})}function _s(){const{t:e}=n(),{viewDispatch:t}=s.useContext(S),{eventTargetState:{eventTarget:a}}=s.useContext(M),{page:r}=y();return s.useEffect((()=>{r({userJourney:A.BRIDGE,screen:"WalletNetworkSelection"})}),[]),o.jsx(H,{testId:"bridge-view",header:o.jsx(K,{title:e("views.WALLET_NETWORK_SELECTION.layoutHeading"),onCloseButtonClick:()=>Lt(a),rightActions:o.jsx(te,{icon:"Minting",sx:se(),onClick:()=>{t({payload:{type:C.UPDATE_VIEW,view:{type:ze.TRANSACTIONS}}})},testId:"move-transactions-button"})}),footer:o.jsx(J,{}),children:o.jsx(Rs,{})})}function js(e,t){return e&&0!==parseFloat(e)?t&&Number(e)>Number(t)?"views.BRIDGE_FORM.validation.insufficientBalance":"":"views.BRIDGE_FORM.validation.noAmountInputted"}const Ns={height:"100%",display:"flex",flexDirection:"column",justifyContent:"space-between",paddingTop:"base.spacing.x10"},Ds={paddingTop:"base.spacing.x4",display:"flex",gap:"base.spacing.x1"},Ws={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6",paddingX:"base.spacing.x4"},Ls={display:"flex",flexDirection:"column",alignItems:"center",paddingTop:"base.spacing.x6",paddingBottom:"base.spacing.x1",height:"100%"},Ps={color:"base.color.text.body.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"15px"},Os={display:"flex",flexDirection:"column",justifyContent:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},Bs={width:"100%",height:"base.spacing.x16"},Ms={display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",paddingTop:"base.spacing.x6"};function Gs({environment:e,onCloseDrawer:t,visible:a,showHeaderBar:r,walletAddress:l,showAdjustAmount:c,tokenSymbol:d,onAddCoinsClick:u}){const{t:x}=n(),[h,b]=s.useState(!1),m=ae(e),f=ne(e),E=d===oe?`${x("drawers.notEnoughGas.content.eth.heading")}`:`${x("drawers.notEnoughGas.content.imx.heading")}`,T=d===oe?`${x("drawers.notEnoughGas.content.eth.body")}`:`${x("drawers.notEnoughGas.content.imx.body")}`,v=s.useCallback((()=>{l&&""!==l&&navigator.clipboard.writeText(l),b(!0),setTimeout((()=>{b(!1)}),3e3)}),[l]);return o.jsx(i,{headerBarTitle:void 0,size:"full",onCloseDrawer:t,visible:a,showHeaderBar:r,children:o.jsx(i.Content,{children:o.jsxs(p,{testId:"not-enough-gas-bottom-sheet",sx:Ls,children:[o.jsx(re,{imageUrl:d===oe?m:f,sx:{w:"base.icon.size.600",h:"base.icon.size.600"}}),o.jsx(Z,{size:"small",sx:Ps,testId:"not-enough-gas-heading",children:E}),o.jsx(g,{sx:Ps,children:T}),o.jsxs(p,{sx:Os,children:[c&&o.jsx(w,{testId:"not-enough-gas-adjust-amount-button",sx:Bs,variant:"tertiary",onClick:t,children:x("drawers.notEnoughGas.buttons.adjustAmount")}),d===oe?o.jsxs(w,{testId:"not-enough-gas-copy-address-button",sx:Bs,variant:"tertiary",onClick:v,children:[x("drawers.notEnoughGas.buttons.copyAddress"),o.jsx(w.Icon,{icon:h?"Tick":"CopyText"})]}):o.jsx(w,{testId:"not-enough-gas-add-imx-button",sx:Bs,variant:"tertiary",onClick:u,children:x("drawers.notEnoughGas.buttons.addMoreImx")}),o.jsx(w,{sx:Bs,variant:"tertiary",onClick:t,testId:"not-enough-gas-cancel-button",children:x("drawers.notEnoughGas.buttons.cancel")})]}),o.jsx(p,{sx:Ms,children:o.jsx(D,{testId:"footer-logo-image",logo:"ImmutableHorizontalLockup",sx:{width:"base.spacing.x25"}})})]})})})}function Fs({sx:e}){return o.jsxs(p,{sx:{...e,paddingTop:"0",marginTop:"base.spacing.x4"},rc:o.jsx("div",{}),children:[o.jsx(p,{sx:{display:"flex",backgroundColor:"#F3F3F30A",borderRadius:"8px"},children:o.jsx(p,{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:o.jsx("span",{}),children:o.jsx(x,{rc:o.jsx("span",{})})})}),o.jsx(p,{sx:{display:"flex",width:"100%",backgroundColor:"#F3F3F30A",borderRadius:"8px"},children:o.jsx(p,{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:o.jsx("span",{}),children:o.jsx(x,{rc:o.jsx("span",{})})})})]})}function zs(e){const{t:t}=n(),{bridgeDispatch:a,bridgeState:{tokenBalances:r,allowedTokens:i,checkout:l,from:c,to:d,amount:u,token:x}}=s.useContext(Ct),{cryptoFiatState:g,cryptoFiatDispatch:h}=s.useContext(Ue),{viewDispatch:b}=s.useContext(S),{testId:m,defaultAmount:f,defaultTokenAddress:E,isTokenBalancesLoading:T,defaultTokenImage:v}=e,{track:I}=y(),[k,R]=s.useState(f||""),[_,j]=s.useState(""),[N,D]=s.useState(),[W,P]=s.useState(""),[O,M]=s.useState(""),[G,z]=s.useState(!1),U=s.useRef(!1),$=N?`${t("views.BRIDGE_FORM.content.availableBalancePrefix")} ${ie(N?.formattedBalance)}`:"",[V,H]=s.useState([]),[K,J]=s.useState(!1),[q,Q]=s.useState(""),[Y,X]=s.useState(!1),ee=s.useCallback(((e,t)=>t?`${e.toLowerCase()}-${t.toLowerCase()}`:e.toLowerCase()),[]);s.useEffect((()=>{if(0===r.length)return;const e=r.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===g.conversions.size?le(""):B(e.formattedBalance,e.token.symbol,g.conversions),formattedAmount:ie(e.formattedBalance)}})));H(e),U.current||(U.current=!0,E&&D(r.find((e=>L(e.token.address)&&E?.toLocaleUpperCase()===ce||e.token.address?.toLowerCase()===E?.toLowerCase()))))}),[r,g.conversions,E,U.current,ee,le]),s.useEffect((()=>{if(u&&x){R(u);for(let e=0;e<r.length;e++){const t=r[e];if(t.token.address===x.address){D(t);break}}a({payload:{type:St.SET_TOKEN_AND_AMOUNT,token:null,amount:""}})}}),[u,x,r]);const te=s.useMemo((()=>N&&N.token?ee(N.token.symbol,N.token.address):void 0),[N,r,g.conversions,ee]),se=s.useMemo((()=>!r.find((e=>L(e.token.address)))),[r,N,k]),ae=e=>{let t=e;if("."===t&&(t="0."),R(t),_){const e=js(t,N?.formattedBalance);j(e)}var s;N&&(M(B(t,N.token.symbol,g.conversions)),s=!0,Number.isNaN(parseFloat(k))||parseFloat(k)<=0||!N||!c||!c.walletAddress||!d||!d.walletAddress||s&&G||!l||z(!0))};s.useEffect((()=>{h({payload:{type:$e.SET_TOKEN_SYMBOLS,tokenSymbols:i.map((e=>e.symbol))}})}),[h,i]),s.useEffect((()=>{k&&N&&M(B(k,N.token.symbol,g.conversions))}),[k,N]),s.useEffect((()=>{(async()=>{if(!c?.web3Provider)return;const e=await c.web3Provider.getSigner().getAddress();Q((t=>(""!==t&&t!==e&&D(void 0),e)))})()}),[c?.web3Provider,r]);const ne=s.useCallback((()=>{const e=N?"":"views.BRIDGE_FORM.validation.noTokenSelected";const t=js(k,N?.formattedBalance);return e&&P(e),t&&j(t),!e&&!t}),[N,k,P,j]),re=s.useCallback((async()=>{ne()&&l&&c?.web3Provider&&N&&(se?J(!0):(I({userJourney:A.BRIDGE,screen:"TokenAmount",control:"Review",controlType:"Button",extras:{tokenAddress:N.token.address,amount:k}}),a({payload:{type:St.SET_TOKEN_AND_AMOUNT,token:N.token,amount:k}}),b({payload:{type:C.UPDATE_VIEW,view:{type:ze.BRIDGE_REVIEW}}})))}),[l,c?.web3Provider,ne,se,N]);return o.jsxs(p,{testId:m,sx:Ns,children:[o.jsxs(p,{sx:{paddingX:"base.spacing.x4"},children:[o.jsx(Z,{testId:`${m}-content-heading`,size:"small",weight:"regular",sx:{paddingBottom:"base.spacing.x4"},children:t("views.BRIDGE_FORM.content.title")}),(!E||!T)&&o.jsxs(p,{sx:Ds,children:[o.jsx(et,{testId:"bridge-token",options:V,optionsLoading:T,coinSelectorHeading:t("views.BRIDGE_FORM.bridgeForm.from.selectorTitle"),selectedOption:te,subtext:$,textAlign:"left",errorMessage:t(W),onSelectChange:e=>(e=>{const t=r.find((t=>e===ee(t.token.symbol,t.token.address)));t&&(D(t),P(""))})(e),defaultTokenImage:v}),o.jsx(tt,{testId:"bridge-amount",type:"number",value:k,placeholder:t("views.BRIDGE_FORM.bridgeForm.from.inputPlaceholder"),subtext:`${t("views.BRIDGE_FORM.content.fiatPricePrefix")} $${le(O,!0)}`,validator:de,onTextInputChange:e=>ae(e),onTextInputEnter:re,textAlign:"right",errorMessage:t(_)})]}),E&&T&&o.jsx(Fs,{sx:Ds})]}),o.jsxs(p,{sx:Ws,children:[o.jsx(w,{testId:`${m}-button`,variant:"primary",onClick:re,size:"large",children:t("views.BRIDGE_FORM.bridgeForm.buttonText")}),o.jsx(st,{visible:Y,showHeaderBar:!1,onCloseDrawer:()=>X(!1),onRetry:async()=>{X(!1),await re()}}),o.jsx(Gs,{environment:l.config.environment,visible:K,showHeaderBar:!1,onCloseDrawer:()=>J(!1),walletAddress:q,showAdjustAmount:L(N?.token.address),tokenSymbol:c?.network===F(l?.config)?oe:ue,onAddCoinsClick:()=>{b({payload:{type:C.UPDATE_VIEW,view:{type:xe.TOP_UP_VIEW}}})}})]})]})}const Us=1e4;function $s({amount:e,tokenAddress:t,defaultTokenImage:a}){const{t:r}=n(),{bridgeState:i,bridgeDispatch:l}=s.useContext(Ct),{checkout:c,from:d}=i,{eventTargetState:{eventTarget:u}}=s.useContext(M),[x,p]=s.useState(!1),{page:g}=y();s.useEffect((()=>{(e||t)&&g({userJourney:A.BRIDGE,screen:"TokenAmount",extras:{amount:e,tokenAddress:t}})}),[]);const w=s.useCallback((async()=>{if(c&&d?.web3Provider)try{const e=await at({checkout:c,provider:d.web3Provider,chainId:d?.network,allowTokenListType:z.BRIDGE,retryPolicy:{retryIntervalMs:0,retries:0}});if(void 0===e)return;l({payload:{type:St.SET_TOKEN_BALANCES,tokenBalances:e.allowedBalances}}),l({payload:{type:St.SET_ALLOWED_TOKENS,allowedTokens:e.allowList.tokens}})}catch(e){console.debug(e)}}),[c,d?.web3Provider,d?.network]);return Je(w,Us),s.useEffect((()=>{c&&d?.web3Provider&&(p(!0),w().finally((()=>p(!1))))}),[c,d?.web3Provider]),o.jsx(H,{testId:"bridge-view",header:o.jsx(K,{showBack:!0,title:r("views.BRIDGE_FORM.header.title"),onCloseButtonClick:()=>Lt(u)}),footer:o.jsx(J,{}),children:o.jsx(zs,{testId:"bridge-form",defaultAmount:e,defaultTokenAddress:t,isTokenBalancesLoading:x,defaultTokenImage:a})})}const Vs={borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px",marginBottom:"2px",position:"relative"},Hs={borderTopLeftRadius:"0px",borderTopRightRadius:"0px",backgroundColor:"base.color.translucent.emphasis.100",position:"relative"},Ks={width:"base.icon.size.400"},Js={position:"absolute",top:"2px",left:"26px",width:"20px",padding:"2px",backgroundColor:"base.color.translucent.inverse.900",borderRadius:"base.borderRadius.x2"},qs={height:"100%",display:"flex",flexDirection:"column",paddingX:"base.spacing.x4"},Qs={paddingTop:"base.spacing.x10",paddingBottom:"base.spacing.x4"},Ys={display:"flex",flexDirection:"column",alignItems:"center",paddingY:"base.spacing.x1"},Xs={width:"base.icon.size.300",transform:"rotate(270deg)"},Zs={width:"base.icon.size.400"},ea=(e,t,s)=>{const a=[];if(!e?.fees||!e.token)return a;let n=pe.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")}${B(ge(n,e.token.decimals),e.token.symbol,t.conversions)}`,amount:ie(ge(n,e.token.decimals))}),e.fees.sourceChainGas?.gt(0)){const n=ge(e.fees.sourceChainGas,e.token.decimals);a.push({label:s("drawers.feesBreakdown.fees.gasFeeMove.label"),fiatAmount:`~ ${s("drawers.feesBreakdown.fees.fiatPricePrefix")}${B(n,e.token.symbol,t.conversions)}`,amount:`${ie(n)}`,prefix:"~ "})}if(e.fees.approvalFee?.gt(0)){const n=ge(e.fees.approvalFee,e.token.decimals);a.push({label:s("drawers.feesBreakdown.fees.gasFeeApproval.label"),fiatAmount:`~ ${s("drawers.feesBreakdown.fees.fiatPricePrefix")}${B(n,e.token.symbol,t.conversions)}`,amount:`${ie(n)}`,prefix:"~ "})}return a},ta="bridge-review-summary";function sa(){const{t:e}=n(),{viewDispatch:t}=s.useContext(S),{bridgeState:{checkout:a,tokenBridge:i,from:l,to:c,token:d,amount:u},bridgeDispatch:x}=s.useContext(Ct),{track:h}=y(),{cryptoFiatState:b}=s.useContext(Ue),[E,T]=s.useState(!1),[v,I]=s.useState(void 0),[k,N]=s.useState(""),[W,L]=s.useState(""),[P,O]=s.useState(void 0),[M,F]=s.useState(void 0),[z,U]=s.useState(!1),[V,H]=s.useState(void 0),[K,J]=s.useState(void 0),[q,Q]=s.useState(!1),[Y,X]=s.useState(!1),{isWalletConnectEnabled:te,getWalletLogoUrl:se}=R({checkout:a}),ae=s.useMemo((()=>d?.symbol?`${d?.symbol} ${u}`:`${u}`),[d,u]),ne=s.useMemo((()=>u&&d?B(u,d.symbol,b.conversions):""),[d,u]),oe=s.useMemo((()=>l?l.walletAddress:"-"),[l]),re=s.useMemo((()=>_(l?.web3Provider)),[l]),ie=s.useMemo((()=>l&&l.network),[l]),le=_t(re),de=s.useMemo((()=>c?c.walletAddress:"-"),[c]),ue=s.useMemo((()=>_(c?.web3Provider)),[c]),xe=s.useMemo((()=>c?.network),[c]),Te=_t(ue),ve=s.useCallback((async()=>{if(!(i&&u&&l&&c&&d))return;const[e,t]=await Promise.all([i.getUnsignedApproveBridgeTx({senderAddress:oe,token:d.address??ce.toUpperCase(),amount:we(u,d.decimals),sourceChainId:l?.network.toString(),destinationChainId:c?.network.toString()}),i.getUnsignedBridgeTx({senderAddress:oe,recipientAddress:de,token:d.address??ce.toUpperCase(),amount:we(u,d.decimals),sourceChainId:l?.network.toString(),destinationChainId:c?.network.toString(),gasMultiplier:1.1})]);O(e),F(t);const s=t.feeData,{totalFees:n,approvalFee:o}=s;let r=n;e.unsignedTx||(r=n.sub(o),s.approvalFee=pe.from(0));const x={gasEstimateType:he.BRIDGE_TO_L2,fees:{...s,totalFees:r},token:a.config.networkMap.get(l.network)?.nativeCurrency};I(x);const p=ge(x?.fees.totalFees||0,Ee);N(p),L(B(p,x?.token?.symbol||"",b.conversions))}),[a,i]);Je((()=>ve()),be);const ye=s.useCallback((()=>ea(v,b,e)),[v]);s.useEffect((()=>{(async()=>{T(!0),await ve(),T(!1)})()}),[]);const Ie=s.useCallback((e=>{x({payload:{type:St.SET_WALLETS_AND_NETWORKS,from:{web3Provider:e,walletAddress:l?.walletAddress,network:l?.network},to:{web3Provider:c?.web3Provider,walletAddress:c?.walletAddress,network:c?.network}}})}),[l?.web3Provider,l?.network,c?.web3Provider,c?.network]);s.useEffect((()=>{if(!l?.web3Provider)return;const e=()=>{const e=new $(l?.web3Provider.provider);Ie(e),U(!1)};return me(l?.web3Provider,e),()=>{fe(l?.web3Provider,e)}}),[l?.web3Provider]),s.useEffect((()=>{te&&(Q(j(l?.web3Provider)),X(j(c?.web3Provider)),(async()=>{H(await se()),J(await se())})())}),[te,l,c]);const Ae=s.useCallback((async()=>{if(P&&M){try{const e=await(l?.web3Provider.provider).request({method:"eth_chainId",params:[]});if(parseInt(e.toString())!==l?.network)return void U(!0)}catch(e){console.error("Current network check failed",e)}h({userJourney:A.BRIDGE,screen:"Summary",control:"Submit",controlType:"Button",extras:{fromWalletAddress:oe,fromNetwork:ie,fromWallet:{address:oe,isPassportWallet:G(l?.web3Provider),isMetaMask:ee(l?.web3Provider)},toWalletAddress:de,toNetwork:xe,toWallet:{address:de,isPassportWallet:G(c?.web3Provider),isMetaMask:ee(c?.web3Provider)},amount:u,fiatAmount:ne,tokenAddress:d?.address}}),t({payload:{type:C.UPDATE_VIEW,view:{type:ze.APPROVE_TRANSACTION,approveTransaction:P,transaction:M}}})}}),[t,P,M,l?.web3Provider,l?.network]);return o.jsxs(p,{testId:ta,sx:qs,children:[o.jsx(Z,{testId:`${ta}-heading`,size:"small",weight:"regular",sx:Qs,children:e("views.BRIDGE_REVIEW.heading")}),o.jsxs(r,{testId:`${ta}-from-amount`,size:"small",emphasized:!0,sx:Vs,children:[o.jsx(r.Label,{size:"small",sx:{marginBottom:"base.spacing.x4",fontWeight:"bold"},children:e("views.BRIDGE_REVIEW.fromLabel.amountHeading")}),o.jsx(r.Caption,{}),o.jsx(r.PriceDisplay,{use:o.jsx(Z,{size:"xSmall",weight:"light"}),price:ae??"-",fiatAmount:`${e("views.BRIDGE_REVIEW.fiatPricePrefix")}${ne}`})]}),o.jsxs(r,{testId:`${ta}-from-address`,size:"xSmall",emphasized:!0,sx:Hs,children:[q&&V&&o.jsxs(o.Fragment,{children:[o.jsx(r.FramedImage,{imageUrl:V,alt:"walletconnect",sx:Ks}),o.jsx(D,{logo:"WalletConnectSymbol",sx:Js})]}),re&&!q&&o.jsx(r.FramedLogo,{logo:le,sx:{backgroundColor:"base.color.translucent.standard.200"}}),o.jsxs(r.Label,{children:[o.jsx("strong",{children:e("views.BRIDGE_REVIEW.fromLabel.heading")})," ",o.jsx(g,{size:"small",sx:{color:"base.color.text.body.secondary"},children:xs(oe??"")})]}),ie&&o.jsx(r.IntentIcon,{icon:f[ie],sx:ks(ie)})]}),o.jsx(p,{sx:Ys,children:o.jsx(m,{icon:"ArrowBackward",sx:Xs})}),o.jsxs(r,{testId:`${ta}-to-address`,size:"xSmall",emphasized:!0,sx:Vs,children:[ue&&Y&&K&&o.jsxs(o.Fragment,{children:[o.jsx(r.FramedImage,{imageUrl:K,alt:"walletconnect",sx:Ks}),o.jsx(D,{logo:"WalletConnectSymbol",sx:Js})]}),ue&&!Y&&o.jsx(r.FramedLogo,{logo:Te,sx:{backgroundColor:"base.color.translucent.standard.200"}}),o.jsxs(r.Label,{children:[o.jsx("strong",{children:e("views.BRIDGE_REVIEW.toLabel.heading")})," ",o.jsx(g,{size:"small",sx:{color:"base.color.text.body.secondary"},children:xs(de??"")})]}),xe&&o.jsx(r.IntentIcon,{icon:f[xe],sx:ks(xe)})]}),o.jsx(nt,{gasFeeValue:k,gasFeeFiatValue:W,gasFeeToken:v?.token,fees:ye(),onFeesClick:()=>{h({userJourney:A.BRIDGE,screen:"MoveCoins",control:"ViewFees",controlType:"Button"})},sx:{borderTopRightRadius:"0",borderTopLeftRadius:"0"},loading:E}),o.jsx(p,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"flex-end",paddingY:"base.spacing.x6",width:"100%"},children:o.jsx(w,{size:"large",sx:{width:"100%"},onClick:Ae,disabled:E,testId:`${ta}__submit-button`,children:E?o.jsx(w.Icon,{icon:"Loading",sx:Zs}):e("views.BRIDGE_REVIEW.submitButton.buttonText")})}),o.jsx(ot,{visible:z,targetChainId:l?.network,provider:l?.web3Provider,checkout:a,onCloseDrawer:()=>U(!1),onNetworkSwitch:Ie})]})}function aa(){const{t:e}=n(),{eventTargetState:{eventTarget:t}}=s.useContext(M),{page:a}=y();return s.useEffect((()=>{a({userJourney:A.BRIDGE,screen:"Review"})}),[]),o.jsx(H,{testId:"bridge-review",header:o.jsx(K,{showBack:!0,title:e("views.BRIDGE_REVIEW.layoutHeading"),onCloseButtonClick:()=>Lt(t)}),footer:o.jsx(J,{}),children:o.jsx(sa,{})})}function na({environment:e}){const{RiveComponent:t}=Te.useRive({src:`${ve[e]}/v1/blob/img/rocket.riv`,autoplay:!0,layout:new Te.Layout({fit:Te.Fit.Cover}),stateMachines:"State Machine 1"});return o.jsx(p,{sx:{...ye,background:"base.color.translucent.emphasis.100"},children:o.jsx(p,{sx:Ie,rc:o.jsx(t,{})})})}function oa({transactionHash:e}){const{t:t}=n(),{eventTargetState:{eventTarget:a}}=s.useContext(M),{page:r}=y(),{cryptoFiatState:i}=s.useContext(Ue),{viewDispatch:l}=s.useContext(S),{bridgeState:{checkout:c,from:d,to:u,token:x,amount:p}}=s.useContext(Ct);return s.useEffect((()=>{Wt(a,e);const t=B(p,x?.symbol??"",i.conversions);r({userJourney:A.BRIDGE,screen:"InProgress",extras:{fromWalletAddress:d?.walletAddress,toWalletAddress:u?.walletAddress,amount:p,fiatAmount:t,tokenAddress:x?.address}})}),[]),o.jsx(H,{testId:"move-in-progress-view",header:o.jsx(K,{transparent:!0,onCloseButtonClick:()=>Lt(a),rightActions:o.jsxs(o.Fragment,{children:[o.jsx(te,{icon:"Minting",sx:se(),onClick:()=>{l({payload:{type:C.UPDATE_VIEW,view:{type:ze.TRANSACTIONS}}})},testId:"settings-button"}),o.jsx(Ae,{isAnimated:!0,variant:"guidance",sx:{position:"absolute",right:"base.spacing.x14",top:"base.spacing.x1"}})]})}),footer:o.jsx(J,{}),heroContent:o.jsx(na,{environment:c.config.environment}),floatHeader:!0,children:o.jsxs(ke,{heading:t("views.IN_PROGRESS.heading"),children:[t("views.IN_PROGRESS.body1"),o.jsx("br",{}),o.jsx("br",{}),t("views.IN_PROGRESS.body2")]})})}function ra({approveTransaction:e,transaction:t}){const{t:a}=n(),{bridgeState:r}=s.useContext(Ct),{checkout:i,from:l}=r,{viewDispatch:c}=s.useContext(S),{eventTargetState:{eventTarget:d}}=s.useContext(M),{page:u}=y();s.useEffect((()=>{u({userJourney:A.BRIDGE,screen:"ApproveTransaction"})}),[]);const[x,g]=s.useState(!1),[w,h]=s.useState(!1),[b,m]=s.useState(!1),[f,E]=s.useState(!1),T=s.useCallback((()=>{c({payload:{type:C.UPDATE_VIEW,view:{type:xe.ERROR_VIEW,error:new Error("No checkout object or no provider object found")}}})}),[c]),v=s.useCallback((()=>{c({payload:{type:C.GO_BACK}})}),[c]),I=e=>{if(e.type!==Se.UNPREDICTABLE_GAS_LIMIT){if(e.type===Se.TRANSACTION_FAILED||e.type===Se.INSUFFICIENT_FUNDS||e.receipt&&0===e.receipt.status){let t="Transaction failed";return e.type===Se.INSUFFICIENT_FUNDS&&(t="Insufficient funds"),e.receipt&&0===e.receipt.status&&(t="Transaction failed to settle on chain"),void c({payload:{type:C.UPDATE_VIEW,view:{type:ze.BRIDGE_FAILURE,reason:t}}})}c({payload:{type:C.UPDATE_VIEW,view:{type:xe.ERROR_VIEW,error:e}}})}else c({payload:{type:C.UPDATE_VIEW,view:{type:ze.BRIDGE_FAILURE,reason:"Unpredictable gas limit"}}})},k=s.useCallback((async()=>{let s=!1;if(i&&l?.web3Provider&&t){if(!x){if(g(!0),e.unsignedTx)try{h(!0);const t=await i.sendTransaction({provider:l.web3Provider,transaction:e.unsignedTx});if(1!==(await t.transactionResponse.wait()).status)return void c({payload:{type:C.UPDATE_VIEW,view:{type:ze.BRIDGE_FAILURE,reason:"Transaction failed to settle on chain"}}})}catch(e){h(!1),e.type===Se.USER_REJECTED_REQUEST_ERROR?(E(!0),s=!0):I(e)}finally{g(!1)}try{if(s)return;h(!0);const e=await i.sendTransaction({provider:l.web3Provider,transaction:t.unsignedTx});m(!0);const a=await e.transactionResponse.wait();if(0===a.status)return void c({payload:{type:C.UPDATE_VIEW,view:{type:ze.BRIDGE_FAILURE,reason:"Approval transaction failed to settle on chain"}}});c({payload:{type:C.UPDATE_VIEW,view:{type:ze.IN_PROGRESS,transactionHash:a.transactionHash}}})}catch(e){e.type===Se.USER_REJECTED_REQUEST_ERROR?E(!0):I(e)}finally{m(!1),h(!1),g(!1)}}}else T()}),[i,l,T,c,t,e,x]);return o.jsxs(o.Fragment,{children:[b&&o.jsx(Y,{loadingText:a("views.APPROVE_TRANSACTION.loadingView.text"),showFooterLogo:!0}),!b&&o.jsx(H,{header:o.jsx(K,{transparent:!0,showBack:!0,onCloseButtonClick:()=>Lt(d),onBackButtonClick:v}),floatHeader:!0,heroContent:o.jsx(rt,{}),footer:o.jsxs(p,{sx:{width:"100%",flexDirection:"column"},children:[o.jsx(Ce,{loading:w,actionText:a("views.APPROVE_TRANSACTION."+(f?"footer.retryText":"footer.buttonText")),onActionClick:k}),o.jsx(J,{})]}),children:o.jsx(ke,{heading:a("views.APPROVE_TRANSACTION.content.heading"),children:o.jsx(p,{children:a("views.APPROVE_TRANSACTION.content.body")})})})]})}const ia={display:"flex",flexDirection:"column",alignItems:"center",paddingTop:"base.spacing.x6",paddingBottom:"base.spacing.x1",height:"100%"},la={color:"base.color.text.body.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"15px"},ca={display:"flex",flexDirection:"column",justifyContent:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},da={width:"100%",height:"base.spacing.x16"};function ua({visible:e,onClose:t,onChangeAccount:a}){const{t:r}=n(),{bridgeState:{checkout:l}}=s.useContext(Ct),c=ae(l.config.environment);return o.jsx(i,{headerBarTitle:void 0,size:"full",onCloseDrawer:t,visible:e,showHeaderBar:!1,children:o.jsx(i.Content,{children:o.jsxs(p,{testId:"not-enough-eth-drawer",sx:ia,children:[o.jsx(re,{imageUrl:c,sx:{w:"base.icon.size.600",h:"base.icon.size.600"}}),o.jsx(Z,{size:"small",sx:la,testId:"not-enough-gas-heading",children:`${r("drawers.notEnoughEthWithdrawal.content.heading1")} ${oe} ${r("drawers.notEnoughEthWithdrawal.content.heading2")}`}),o.jsx(g,{sx:la,children:`${r("drawers.notEnoughEthWithdrawal.content.body1")} ${oe} ${r("drawers.notEnoughEthWithdrawal.content.body2")}`}),o.jsxs(p,{sx:ca,children:[o.jsx(w,{testId:"not-enough-eth-drawer-retry-button",sx:da,variant:"tertiary",onClick:a,children:r("drawers.notEnoughEthWithdrawal.buttons.retry")}),o.jsx(w,{sx:da,variant:"tertiary",onClick:t,testId:"not-enough-eth-drawer-dismiss-button",children:r("drawers.notEnoughEthWithdrawal.buttons.dismiss")})]})]})})})}function xa({transaction:e}){const{t:t}=n(),{bridgeState:{checkout:r,tokenBridge:i,from:l}}=s.useContext(Ct),{viewDispatch:c}=s.useContext(S),{eventTargetState:{eventTarget:d}}=s.useContext(M),{page:u}=y();s.useEffect((()=>{u({userJourney:A.BRIDGE,screen:"ClaimWithdrawal"})}),[]);const[x,g]=s.useState(!1),[h,b]=s.useState(!1),[m,f]=s.useState(!1),[E,T]=s.useState(),[I,k]=s.useState(!1),R=s.useCallback((()=>{c({payload:{type:C.GO_BACK}})}),[c]);s.useEffect((()=>{(async()=>{if(i&&e&&void 0!==e.details.current_status?.index){b(!0);try{const t=await(i?.getFlowRateWithdrawTx({recipient:e.details.to_address,index:e.details.current_status.index}));T(t)}catch(e){console.log(e)}finally{b(!1)}}})()}),[i,e]);const _=s.useCallback((async({forceChangeAccount:e})=>{if(!(r&&i&&l?.web3Provider&&E))return;if(!E.pendingWithdrawal.canWithdraw||!E.unsignedTx)return void console.log(`Unable to process withdrawal transaction as it is not ready yet. Delay timeout at ${E.pendingWithdrawal.timeoutEnd} `);let t=l?.web3Provider;const s=F(r.config);if(g(!0),G(l?.web3Provider)||e)try{const e=await r.createProvider({walletProviderName:a.METAMASK});t=(await r.connect({provider:e.provider,requestWalletPermissions:!0})).provider,k(!1)}catch(e){return console.log(e),f(!0),void g(!1)}let n,o=null;try{try{n=await t.estimateGas(E.unsignedTx)}catch(e){n=pe.from(Re)}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&&(o=n.mul(s))}catch(e){console.log(e)}try{const e=(await r.getAllBalances({provider:t,chainId:s})).balances.find((e=>L(e.token.address)));if(!e||e.balance.lt(o))return k(!0),void g(!1)}catch(e){console.log(e)}if((await t.getNetwork()).chainId!==s)try{t=(await r.switchNetwork({provider:t,chainId:s})).provider}catch(e){return f(!0),b(!1),void console.log(e)}try{const e=await r.sendTransaction({provider:t,transaction:E.unsignedTx});c({payload:{type:C.UPDATE_VIEW,view:{type:ze.CLAIM_WITHDRAWAL_IN_PROGRESS,transactionResponse:e.transactionResponse}}})}catch(e){console.log(e),f(!0),g(!1)}finally{g(!1)}}),[i,l,E]);return o.jsxs(H,{testId:"claim-withdrawal",header:o.jsx(K,{transparent:!0,showBack:!0,onCloseButtonClick:()=>Lt(d),onBackButtonClick:R}),floatHeader:!0,heroContent:o.jsx(rt,{}),footer:o.jsxs(p,{sx:{width:"100%",display:"flex",flexDirection:"column"},children:[o.jsx(p,{sx:{pb:"base.spacing.x5",px:"base.spacing.x6",width:"100%",display:"flex",flexDirection:"column"},children:o.jsx(w,{testId:"claim-withdrawal-continue-button",size:"large",variant:"primary",disabled:h,onClick:()=>x||h?void 0:_({forceChangeAccount:!0}),children:h||x?o.jsx(w.Icon,{icon:"Loading",sx:{width:"base.icon.size.400"}}):t("views.CLAIM_WITHDRAWAL."+(m?"footer.retryText":"footer.buttonText"))})}),o.jsx(J,{})]}),children:[o.jsxs(ke,{heading:`${t("views.CLAIM_WITHDRAWAL.content.heading")} ${Ze(F(r.config))}`,children:[o.jsx(p,{sx:{display:"flex",flexWrap:"wrap",pb:"base.spacing.x1"},children:t("views.CLAIM_WITHDRAWAL.content.body")}),o.jsxs(p,{children:[t("views.CLAIM_WITHDRAWAL.content.body2"),o.jsx(v,{text:e.details.to_address.toLowerCase()??""})]})]}),o.jsx(ua,{visible:I,onClose:()=>k(!1),onChangeAccount:()=>_({forceChangeAccount:!0})})]})}function pa({checkout:e,web3Provider:t,config:a,amount:r,tokenAddress:i}){const{t:l}=n(),{environment:u,isOnRampEnabled:x,isSwapEnabled:p,isBridgeEnabled:g,theme:w}=a,h=_e(e.config.environment,w),{eventTargetState:{eventTarget:b}}=s.useContext(M),{page:m}=y(),[f,E]=s.useReducer(je,{...Ne,view:{type:ze.WALLET_NETWORK_SELECTION},history:[{type:ze.WALLET_NETWORK_SELECTION}]}),[T,v]=s.useReducer(Rt,{...kt,checkout:e,web3Provider:t??null,tokenBridge:(()=>{let t=Me;e.config.isDevelopment&&(t=Ge),e.config.isProduction&&(t=Fe);const s=new q(e.config.networkMap.get(F(e.config))?.rpcUrls[0]),a=new q(e.config.networkMap.get(U(e.config))?.rpcUrls[0]),n=new De({baseConfig:new We({environment:e.config.environment}),bridgeInstance:t,rootProvider:s,childProvider:a});return new Le(n)})()}),I=s.useMemo((()=>({viewState:f,viewDispatch:E})),[f,E]),k=s.useMemo((()=>({bridgeState:T,bridgeDispatch:v})),[T,v]),R=s.useCallback((()=>{v({payload:{type:St.SET_WALLETS_AND_NETWORKS,from:null,to:null}}),v({payload:{type:St.SET_TOKEN_AND_AMOUNT,amount:"",token:null}}),E({payload:{type:C.GO_BACK_TO,view:{type:ze.WALLET_NETWORK_SELECTION}}})}),[E]),_=s.useCallback((()=>{E({payload:{type:C.GO_BACK_TO,view:{type:ze.WALLET_NETWORK_SELECTION}}})}),[E]),j=s.useCallback((()=>{E({payload:{type:C.UPDATE_VIEW,view:{type:ze.TRANSACTIONS}}})}),[E]),N=s.useCallback((()=>{E({payload:{type:C.GO_BACK_TO,view:{type:ze.BRIDGE_REVIEW}}})}),[E]);return s.useEffect((()=>{(async()=>{v({payload:{type:St.SET_PROVIDER,web3Provider:t??null}})})()}),[t]),o.jsx(S.Provider,{value:I,children:o.jsx(Ct.Provider,{value:k,children:o.jsxs(Ve,{environment:u,children:[f.view.type===ze.WALLET_NETWORK_SELECTION&&o.jsx(_s,{}),f.view.type===ze.BRIDGE_FORM&&o.jsx($s,{amount:r,tokenAddress:i,defaultTokenImage:h}),f.view.type===ze.BRIDGE_REVIEW&&o.jsx(aa,{}),f.view.type===ze.IN_PROGRESS&&o.jsx(oa,{transactionHash:f.view.transactionHash}),f.view.type===ze.BRIDGE_FAILURE&&o.jsx(Pe,{testId:"bridge-fail",statusText:l("views.BRIDGE_FAILURE.bridgeFailureText.statusText"),actionText:l("views.BRIDGE_FAILURE.bridgeFailureText.actionText"),onActionClick:N,statusType:Oe.FAILURE,onRenderEvent:()=>{let e="";f.view.type===ze.BRIDGE_FAILURE&&(e=f.view.reason),m({userJourney:A.BRIDGE,screen:"Failed",extras:{reason:e}}),((e,t)=>{const s=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.FAILURE,data:{reason:t,timestamp:(new Date).getTime()}}});console.log("bridge failed ",e,s),void 0!==e&&e.dispatchEvent(s)})(b,e)}}),f.view.type===ze.APPROVE_TRANSACTION&&o.jsx(ra,{approveTransaction:f.view.approveTransaction,transaction:f.view.transaction}),f.view.type===ze.TRANSACTIONS&&o.jsx(ds,{onBackButtonClick:_,defaultTokenImage:h}),f.view.type===ze.CLAIM_WITHDRAWAL&&o.jsx(xa,{transaction:f.view.transaction}),f.view.type===xe.ERROR_VIEW&&o.jsx(Be,{actionText:l("views.ERROR_VIEW.actionText"),onActionClick:R,onCloseClick:()=>Lt(b),errorEventAction:()=>{m({userJourney:A.BRIDGE,screen:"Error"})}}),f.view.type===xe.TOP_UP_VIEW&&o.jsx(He,{analytics:{userJourney:A.BRIDGE},widgetEvent:c.IMTBL_BRIDGE_WIDGET_EVENT,checkout:e,provider:t,showOnrampOption:x,showSwapOption:p,showBridgeOption:g,onCloseButtonClick:()=>Lt(b)}),f.view.type===ze.CLAIM_WITHDRAWAL_IN_PROGRESS&&o.jsx(us,{transactionResponse:f.view.transactionResponse}),f.view.type===ze.CLAIM_WITHDRAWAL_SUCCESS&&o.jsx(Pe,{statusText:l("views.CLAIM_WITHDRAWAL.IN_PROGRESS.success.text"),actionText:l("views.CLAIM_WITHDRAWAL.IN_PROGRESS.success.actionText"),onRenderEvent:()=>{m({userJourney:A.BRIDGE,screen:"ClaimWithdrawalSuccess"}),((e,t)=>{const s=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.CLAIM_WITHDRAWAL_SUCCESS,data:{transactionHash:t}}});console.log("bridge claim withdrawal success event:",e,s),void 0!==e&&e.dispatchEvent(s)})(b,f.view.transactionHash)},onActionClick:j,statusType:Oe.SUCCESS,testId:"claim-withdrawal-success-view"}),f.view.type===ze.CLAIM_WITHDRAWAL_FAILURE&&o.jsx(Pe,{statusText:l("views.CLAIM_WITHDRAWAL.IN_PROGRESS.failure.text"),actionText:l("views.CLAIM_WITHDRAWAL.IN_PROGRESS.failure.actionText"),onRenderEvent:()=>{let e="";f.view.type===ze.CLAIM_WITHDRAWAL_FAILURE&&(e=f.view.reason),m({userJourney:A.BRIDGE,screen:"ClaimWithdrawalFailure",extras:{reason:e}}),((e,t,s)=>{const a=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.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)})(b,f.view.transactionHash,"Transaction failed")},onActionClick:j,statusType:Oe.FAILURE,onCloseClick:()=>Lt(b),testId:"claim-withdrawal-fail-view"})]})})})}export{pa as default};
1
+ import{b6 as e,b7 as t,r as s,b8 as a,u as n,j as o,M as r,an as i,b9 as l,I as c,aj as d,ba as u,bb as x,B as p,a as g,p as w,bc as h,R as b,aJ as m,q as f,v as E,bd as T,be as v,d as y,bf as I,U as A,bg as k,V as S,c as C,bh as R,bi as _,bj as j,bk as N,aI as D,bl as W,k as L,x as P,a6 as O,y as B,E as M,i as G,e as F,T as z,g as U,bm as $,bn as V,z as H,A as K,J,bo as q,bp as Q,_ as Y,am as X,H as Z,bq as ee,b as te,F as se,br as ae,aG as ne,bs as oe,aH as re,t as ie,f as le,a7 as ce,aM as de,aS as ue,S as xe,a5 as pe,aN as ge,aF as we,bt as he,aK as be,bu as me,bv as fe,aQ as Ee,bw as Te,bx as ve,L as ye,O as Ie,by as Ae,Q as ke,l as Se,aT as Ce,bz as Re,h as _e,X as je,Y as Ne,bA as De,aV as We,bB as Le,ax as Pe,aw as Oe,$ as Be,bC as Me,bD as Ge,bE as Fe}from"./index-e3891182.js";import{B as ze,C as Ue,a as $e,b as Ve,T as He}from"./TopUpView-4ac021b8.js";import{r as Ke,u as Je}from"./retry-1d87da11.js";import{c as qe,d as Qe,e as Ye,f as Xe,g as Ze,S as et,T as tt,a as st,b as at,F as nt,N as ot,W as rt}from"./balance-98d4e932.js";const{Axios:it,AxiosError:lt,CanceledError:ct,isCancel:dt,CancelToken:ut,VERSION:xt,all:pt,Cancel:gt,isAxiosError:wt,spread:ht,toFormData:bt,AxiosHeaders:mt,HttpStatusCode:ft,formToJSON:Et,getAdapter:Tt,mergeConfig:vt}=e;class yt{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=ft.InternalServerError,a="InternalServerError";return e.isAxiosError(t)&&(s=t.response?.status||s,a=t.message),Promise.reject({code:s,message:a})}}}var It;!function(e){e.BRIDGE="bridge"}(It||(It={}));const At={IN_PROGRESS:"in_progress",WITHDRAWAL_PENDING:"withdrawal_pending"},kt={web3Provider:null,walletProviderName:null,from:null,to:null,tokenBridge:null,tokenBalances:[],allowedTokens:[],token:null,amount:"0"};var St;!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"}(St||(St={}));const Ct=s.createContext({bridgeState:{...kt,checkout:{}},bridgeDispatch:()=>{}});Ct.displayName="BridgeContext";const Rt=(e,t)=>{switch(t.payload.type){case St.SET_WALLETS_AND_NETWORKS:return{...e,from:t.payload.from,to:t.payload.to};case St.SET_WALLET_PROVIDER_NAME:return{...e,walletProviderName:t.payload.walletProviderName};case St.SET_PROVIDER:return{...e,web3Provider:t.payload.web3Provider};case St.SET_TOKEN_BRIDGE:return{...e,tokenBridge:t.payload.tokenBridge};case St.SET_TOKEN_BALANCES:return{...e,tokenBalances:t.payload.tokenBalances};case St.SET_ALLOWED_TOKENS:return{...e,allowedTokens:t.payload.allowedTokens};case St.SET_TOKEN_AND_AMOUNT:return{...e,token:t.payload.token,amount:t.payload.amount};default:return e}};function _t(e){switch(e){case a.METAMASK:return"MetaMaskSymbol";case a.PASSPORT:return"PassportSymbolOutlined";case"walletconnect":return"WalletConnectSymbol";default:return"MetaMaskSymbol"}}function jt({testId:e,walletProviderName:t,onWalletClick:a,loading:i}){const{t:l}=n(),[c,d]=s.useState(!1);return o.jsxs(r,{testId:`${e}-wallet-list-${t}`,size:"medium",emphasized:!0,onClick:async()=>{if(!i){d(!0);try{await a(t)}finally{d(!1)}}},children:[o.jsx(r.FramedLogo,{logo:_t(t),sx:{backgroundColor:"base.color.translucent.standard.200"}}),o.jsx(r.Label,{size:"medium",children:l(`wallets.${t}.heading`)}),c&&o.jsx(r.StatefulButtCon,{state:"loading",icon:"Loading"})]})}const Nt={display:"flex",flexDirection:"column",gap:"base.spacing.x1",paddingX:"base.spacing.x4"};function Dt({testId:e,drawerText:t,walletOptions:a,showWalletSelectorTarget:n,showDrawer:r,setShowDrawer:c,onWalletItemClick:d}){const[u,x]=s.useState(!1),{heading:p,defaultText:g}=t,w=async e=>{x(!0);try{await d(e)}catch(e){console.error(e)}finally{x(!1)}};return o.jsxs(i,{headerBarTitle:p,size:"full",onCloseDrawer:()=>{u||c(!1)},visible:r,children:[n&&o.jsx(i.Target,{children:o.jsx(qe,{testId:`${e}-wallet-form-control`,textAlign:"left",children:o.jsx(l,{testId:`${e}-wallet-select`,defaultLabel:g??"",size:"large",targetClickOveride:()=>c(!0)})})}),o.jsx(i.Content,{sx:Nt,children:a.map((t=>o.jsx(jt,{testId:e,loading:u,walletProviderName:t,onWalletClick:w},t)))})]})}const Wt=(e,t)=>{const s=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.TRANSACTION_SENT,data:{transactionHash:t}}});console.log("bridge success ",e,s),void 0!==e&&e.dispatchEvent(s)};function Lt(e){const t=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.CLOSE_WIDGET,data:{}}});console.log("bridge close ",e,t),void 0!==e&&e.dispatchEvent(t)}function Pt(){return o.jsxs(u,{sx:{gap:"base.spacing.x2"},children:[o.jsx(x,{sx:{h:"base.spacing.x4",w:"base.spacing.x32",mt:"base.spacing.x2"}}),o.jsx(r,{shimmer:!0,emphasized:!0,size:"small"}),o.jsx(r,{shimmer:!0,emphasized:!0,size:"small"}),o.jsx(r,{shimmer:!0,emphasized:!0,size:"small"})]})}const Ot={px:"base.spacing.x4",display:"flex",flexDirection:"column",height:"100%"},Bt={flexGrow:"1",flexShrink:"0",flexBasis:"0"},Mt={flexGrow:"0",flexShrink:"1",mt:"base.spacing.x2"},Gt={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 Ft({openWalletDrawer:e}){const{t:t}=n();return o.jsxs(p,{sx:Gt,children:[o.jsx(g,{sx:{mb:"base.spacing.x8"},children:t("views.TRANSACTIONS.status.emptyState.notConnected.body")}),o.jsx(w,{variant:"secondary",size:"medium",testId:"transactions-connect-wallet-button",onClick:e,children:t("views.TRANSACTIONS.status.emptyState.notConnected.buttonText")})]})}const zt={backgroundColor:"base.color.neutral.800",px:"base.spacing.x4",p:"base.spacing.x5",borderRadius:"base.borderRadius.x6"},Ut={color:"base.color.text.body.secondary"};function $t({checkout:e,isPassport:t}){const{t:a}=n(),[r,i]=s.useState("");return s.useEffect((()=>{e&&i(h[e.config.environment])}),[e]),o.jsx(p,{sx:zt,children:o.jsxs(p,{sx:{display:"flex",flexDirection:"column"},children:[o.jsxs(p,{children:[o.jsx(g,{size:"small",children:a("views.TRANSACTIONS.support.body1")}),o.jsxs(g,{size:"small",sx:Ut,children:[a("views.TRANSACTIONS.support.body2"),o.jsx(b,{size:"small",rc:o.jsx("a",{target:"_blank",href:a("views.TRANSACTIONS.support.supportLink"),rel:"noreferrer"}),children:a("views.TRANSACTIONS.support.body3")})]})]}),t&&o.jsxs(g,{size:"small",sx:Ut,children:[a("views.TRANSACTIONS.support.passport.body1")," ",o.jsx(b,{size:"small",rc:o.jsx("a",{target:"_blank",href:r,rel:"noreferrer"}),children:a("views.TRANSACTIONS.support.passport.body2")})]})]})})}const Vt={display:"flex",flexDirection:"column",borderRadius:"base.borderRadius.x4",bg:"base.color.translucent.emphasis.100"},Ht={p:"base.spacing.x3",d:"flex",justifyContent:"space-between",position:"relative"},Kt={display:"flex",flexGrow:"1",alignItems:"center",gap:"base.spacing.x2"};function Jt({transaction:e}){const t=Qe(e.details.from_chain),s=Qe(e.details.to_chain);return o.jsxs(p,{sx:{display:"flex",px:"base.spacing.x4",gap:"base.spacing.x2"},children:[o.jsx(m,{icon:f[t],sx:{w:"base.icon.size.250",fill:E[t]},variant:"bold"}),o.jsxs(p,{sx:{display:"flex",flexDirection:"column",flexGrow:"1"},children:[o.jsx(g,{size:"xxSmall",sx:{color:"base.color.translucent.standard.900"},children:T[t]}),o.jsx(v,{size:"xxSmall",sx:{color:"base.color.translucent.standard.600"},text:e.details.from_address})]}),o.jsx(p,{sx:{flexGrow:"1"}}),o.jsx(m,{icon:"ArrowForward",sx:{w:"base.icon.size.250",fill:"base.color.brand.4"}}),o.jsx(p,{sx:{flexGrow:"1"}}),o.jsx(m,{icon:f[s],sx:{w:"base.icon.size.250",fill:E[s]},variant:"bold"}),o.jsxs(p,{sx:{display:"flex",flexDirection:"column",flexGrow:"1"},children:[o.jsx(g,{size:"xxSmall",sx:{color:"base.color.translucent.standard.900"},children:T[s]}),o.jsx(v,{size:"xxSmall",sx:{color:"base.color.translucent.standard.600"},text:e.details.to_address})]})]})}function qt({label:e,details:t,transaction:a,fiatAmount:n,amount:i,icon:l,defaultTokenImage:c}){const{track:d}=y(),u=s.useMemo((()=>`${t.link}${t.hash}`),[t]);return o.jsx(p,{testId:`transaction-item-${a.blockchain_metadata.transaction_hash}`,sx:Vt,children:o.jsxs(I,{chevronSide:"right",sx:{button:{p:"base.spacing.x1"},article:{pr:"base.spacing.x10"}},onExpandChange:e=>e&&d({userJourney:A.BRIDGE,screen:"TransactionItem",control:"Accordion",controlType:"Button"}),children:[o.jsx(I.TargetLeftSlot,{sx:{pr:"base.spacing.x2"},children:o.jsxs(r,{size:"xSmall",children:[o.jsx(r.FramedImage,{imageUrl:l,circularFrame:!0,defaultImageUrl:c}),o.jsx(r.Label,{children:e}),o.jsx(r.Caption,{children:o.jsx(b,{size:"xSmall",rc:o.jsx("a",{target:"_blank",href:u,rel:"noreferrer",onClick:e=>{return s=t,e.stopPropagation(),void d({userJourney:A.BRIDGE,screen:"TransactionItem",control:"Details",controlType:"Link",extras:{linkDetail:s}});var s}}),children:t.text})}),o.jsx(r.PriceDisplay,{fiatAmount:n,price:i})]})}),o.jsxs(I.ExpandedContent,{sx:{pr:"0",pl:"0",mb:"base.spacing.x3",gap:"0"},children:[o.jsx(k,{size:"xSmall",sx:{px:"base.spacing.x2"}}),o.jsx(Jt,{transaction:a})]})]})})}const Qt=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"}},Yt={borderRadius:"base.borderRadius.x4",display:"flex",flexDirection:"column",gap:"base.spacing.x5"};function Xt({label:e,transaction:t,fiatAmount:a,amount:i,icon:l,defaultTokenImage:c}){const{viewDispatch:d}=s.useContext(S),{track:u}=y(),x=n(),h=s.useMemo((()=>(new Date).getTime()),[]),b=s.useMemo((()=>t.details.current_status.withdrawal_ready_at?new Date(t.details.current_status.withdrawal_ready_at):void 0),[t]),f=t.details.current_status.status===At.WITHDRAWAL_PENDING,E=new Intl.RelativeTimeFormat(x[1].language||"en",{numeric:"auto"}),T=s.useMemo((()=>{if(!f||void 0===b)return"";const e=(b.getTime()-h)/6e4;if(e<=1)return"in 1 minute";if(e<60)return E.format(Math.ceil(e),"minute");const t=e/60;if(e<1440)return E.format(Math.ceil(t),"hour");const s=t/24;return E.format(Math.ceil(s),"day")}),[h,x[1].language]),v=!!b&&b.getTime()<h,R=s.useMemo((()=>!0===v?x.t("views.TRANSACTIONS.status.withdrawalPending.withdrawalReadyText"):`${x.t("views.TRANSACTIONS.status.withdrawalPending.withdrawalDelayText")} ${T}`),[T,x[1].language]);return o.jsxs(p,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}`,sx:Vt,children:[f&&o.jsxs(o.Fragment,{children:[o.jsxs(p,{sx:Ht,children:[o.jsxs(p,{sx:Kt,children:[o.jsx(m,{icon:"Alert",variant:"bold",sx:{fill:v?"base.color.status.fatal.bright":"base.color.status.attention.bright",w:"base.icon.size.200"}}),o.jsx(g,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}-action-message`,size:"xSmall",sx:{color:"base.color.text.body.secondary"},children:R})]}),f&&v&&o.jsx(w,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}-action-button`,variant:"primary",size:"small",onClick:()=>{d({payload:{type:C.UPDATE_VIEW,view:{type:ze.CLAIM_WITHDRAWAL,transaction:t}}})},children:x.t("views.TRANSACTIONS.status.withdrawalPending.actionButtonText")})]}),o.jsx(k,{size:"small",sx:{color:"base.color.translucent.emphasis.300",opacity:.1}})]}),o.jsxs(I,{chevronSide:"right",sx:{button:{p:"base.spacing.x1"},article:{pr:"base.spacing.x10"},borderTopRightRadius:"0",borderTopLeftRadius:"0"},onExpandChange:e=>e&&u({userJourney:A.BRIDGE,screen:"TransactionItem",control:"Accordion",controlType:"Button"}),children:[o.jsx(I.TargetLeftSlot,{sx:{pr:"base.spacing.x2"},children:o.jsxs(r,{size:"xSmall",children:[o.jsx(r.FramedImage,{imageUrl:l,circularFrame:!0,defaultImageUrl:c}),o.jsx(r.Label,{children:e}),o.jsx(r.Caption,{children:x.t("views.TRANSACTIONS.status.withdrawalPending.caption")}),o.jsx(r.PriceDisplay,{fiatAmount:a,price:i})]})}),o.jsxs(I.ExpandedContent,{sx:{pr:"0",pl:"0",mb:"base.spacing.x3",gap:"0"},children:[o.jsx(k,{size:"xSmall",sx:{px:"base.spacing.x2"}}),o.jsx(Jt,{transaction:t})]})]})]})}const Zt={display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",p:"base.spacing.x2",pb:"base.spacing.x4"},es={position:"relative",pr:"base.spacing.x2"},ts={width:"base.icon.size.400"},ss={position:"absolute",top:"-6px",left:"18px",width:"20px",padding:"2px",backgroundColor:"base.color.translucent.inverse.900",borderRadius:"base.borderRadius.x2"};function as({onChangeWalletClick:e}){const{t:t}=n(),{bridgeState:{checkout:a,from:r}}=s.useContext(Ct),[i,l]=s.useState(void 0),[c,d]=s.useState(!1),{isWalletConnectEnabled:u,getWalletLogoUrl:x}=R({checkout:a}),{track:g}=y(),h=r?.walletAddress||"",b=_t(_(r?.web3Provider));return s.useEffect((()=>{u&&(d(j(r?.web3Provider)),(async()=>{l(await x())})())}),[u,r]),o.jsxs(p,{sx:Zt,children:[o.jsxs(p,{sx:{display:"flex",alignItems:"center",gap:"base.spacing.x1"},children:[c&&i?o.jsxs(p,{sx:es,children:[o.jsx(N,{imageUrl:i,alt:"walletconnect",sx:ts}),o.jsx(D,{logo:"WalletConnectSymbol",sx:ss})]}):o.jsx(D,{logo:b,sx:{width:"base.icon.size.400",pr:"base.spacing.x1"}}),o.jsx(v,{leftSideLength:6,rightSideLength:4,text:h})]}),o.jsx(w,{size:"small",variant:"tertiary",onClick:()=>{g({userJourney:A.BRIDGE,screen:ze.TRANSACTIONS,controlType:"Button",control:"Pressed"}),e()},children:t("views.TRANSACTIONS.changeWallet.buttonText")})]})}function ns({checkout:e,transactions:t,knownTokenMap:a,isPassport:r,defaultTokenImage:i,changeWallet:l}){const{cryptoFiatState:c}=s.useContext(Ue),{t:d}=n(),[u,x]=s.useState("");s.useEffect((()=>{e&&x(W[e.config.environment])}),[e]);const g=s.useCallback(((e,t)=>e.details.current_status.status===At.WITHDRAWAL_PENDING&&t.details.current_status.status!==At.WITHDRAWAL_PENDING?-1:e.details.current_status.status===t.details.current_status.status?0:1),[]),w=s.useCallback((t=>L(t.details.from_token_address)?P(e.config.environment,Ye(t.details.from_chain)):P(e.config.environment,t.details.from_token_address)),[e]);return o.jsxs(p,{sx:Qt(r),children:[o.jsx(as,{onChangeWalletClick:l}),o.jsx(p,{testId:"move-transaction-list",sx:Yt,children:t.sort(g).map((e=>{const t=e.blockchain_metadata.transaction_hash,s=a[e.details.from_chain][e.details.from_token_address.toLowerCase()],n=O.formatUnits(e.details.amount,s.decimals),r=B(n,s.symbol,c.conversions);return e.details.current_status.status===At.WITHDRAWAL_PENDING?o.jsx(Xt,{label:s.name,transaction:e,fiatAmount:`${d("views.TRANSACTIONS.fiatPricePrefix")}${r}`,amount:n,icon:w(e),defaultTokenImage:i},t):o.jsx(qt,{label:s.name,details:{text:d("views.TRANSACTIONS.status.inProgress.stepInfo"),link:u,hash:t},transaction:e,fiatAmount:`${d("views.TRANSACTIONS.fiatPricePrefix")}${r}`,amount:n,icon:w(e),defaultTokenImage:i},t)}))})]})}const os={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"},rs={display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",padding:"base.spacing.x5",flex:1},is={mb:"base.spacing.x8",color:"base.color.text.body.secondary"},ls={color:"base.color.text.body.secondary"};function cs({checkout:e,isPassport:t,changeWallet:a}){const{page:r}=y(),{t:i}=n(),[l,c]=s.useState("");return s.useEffect((()=>{e&&c(h[e.config.environment])}),[e]),s.useEffect((()=>{r({userJourney:A.BRIDGE,screen:"NoTransactions"})}),[]),o.jsxs(p,{sx:os,children:[o.jsx(as,{onChangeWalletClick:a}),o.jsxs(p,{sx:rs,children:[o.jsx(g,{size:"small",sx:is,children:i("views.TRANSACTIONS.status.noTransactions.body")}),t&&o.jsxs(g,{size:"small",sx:ls,children:[i("views.TRANSACTIONS.status.noTransactions.passport.body")," ",o.jsx(b,{size:"small",rc:o.jsx("a",{target:"_blank",href:l,rel:"noreferrer"}),children:i("views.TRANSACTIONS.status.noTransactions.passport.link")})]})]})]})}function ds({defaultTokenImage:e,onBackButtonClick:t}){const{eventTargetState:{eventTarget:r}}=s.useContext(M),{cryptoFiatDispatch:i}=s.useContext(Ue),{bridgeDispatch:l,bridgeState:{checkout:c,from:d}}=s.useContext(Ct),{page:u}=y(),{t:x}=n(),{track:g}=y(),[w,h]=s.useState(!0),[b,m]=s.useState(void 0),[f,E]=s.useState([]),[T,v]=s.useState(!1),I=G(d?.web3Provider),{isWalletConnectEnabled:k,openWalletConnectModal:S}=R({checkout:c}),C=s.useCallback((async()=>{if(!c)return{};const e=F(c.config);try{return((await c.getTokenAllowList({type:z.BRIDGE,chainId:e})).tokens??[]).reduce(((e,t)=>(e[t.address.toLowerCase()]=t,e)),{})}catch(e){return console.error(e),[]}}),[c]),_=s.useCallback((async()=>{if(!d?.web3Provider)return{};if(!d?.walletAddress)return{};const e=U(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]),j=e=>{e.getNetwork().then((t=>{e?.getSigner().getAddress().then((s=>{E([]),l({payload:{type:St.SET_WALLETS_AND_NETWORKS,from:{web3Provider:e,walletAddress:s.toLowerCase(),network:t.chainId},to:null}})}))}))},N=s.useCallback((async e=>{g({userJourney:A.BRIDGE,screen:"EmptyStateNotConnected",control:"WalletProvider",controlType:"Select",extras:{walletProviderName:e}});try{let t;"walletconnect"===e?await S({connectCallback:e=>{j(new $(e))},restoreSession:!0}):(t=await V(c,e,!0),j(t))}catch(e){console.error(e)}finally{v(!1)}}),[c,d,S]),D=async e=>{const t=Xe(F(c.config)),s=Xe(U(c.config)),[a,n]=await Promise.all([C(),_()]),o={};Object.entries(e).forEach((([r,i])=>{(e[r]===t&&!a[r]||e[r]===s&&!n[r])&&(o[r]=i)}));const r=new q(c.config.networkMap.get(F(c.config))?.rpcUrls[0]),l=new q(c.config.networkMap.get(U(c.config))?.rpcUrls[0]),d=[],u=[];Object.entries(o).forEach((([e,s])=>{s===t?d.push(c.getTokenInfo({provider:r,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;a[t.value.address.toLowerCase()]=t.value})),p.filter((e=>"fulfilled"===e.status)).forEach((e=>{const t=e;n[t.value.address.toLowerCase()]=t.value}));const g=[];return Object.values(a).forEach((e=>g.push(e.symbol.toLowerCase()))),Object.values(n).forEach((e=>g.push(e.symbol.toLowerCase()))),i({payload:{type:$e.SET_TOKEN_SYMBOLS,tokenSymbols:g}}),{[t]:a,[s]:n}},W=s.useCallback((async(e,t)=>new yt({env:e}).getTransactions({txType:It.BRIDGE,fromAddress:t})),[]),L=s.useCallback((async()=>{if(!d?.walletAddress)return;const e=await W(c.config.environment,d?.walletAddress),t={};return e.result.forEach((e=>{t[e.details.from_token_address]=e.details.from_chain})),{tokens:await D(t),transactions:e.result}}),[d,W]),P=s.useMemo((()=>{const e=[a.METAMASK];return c.passport&&e.push(a.PASSPORT),k&&e.push("walletconnect"),e}),[c,k]);return s.useEffect((()=>{(async()=>{h(!0);const e=await Ke(L,Q);if(!e)return void h(!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()]}));m(e.tokens),E(t),h(!1)})()}),[d,c]),s.useEffect((()=>{u({userJourney:A.BRIDGE,screen:"Transactions"})}),[]),o.jsx(H,{testId:"bridge-view",header:o.jsx(K,{showBack:!0,onBackButtonClick:()=>{d&&(l({payload:{type:St.SET_WALLETS_AND_NETWORKS,from:{web3Provider:d?.web3Provider,walletAddress:d?.walletAddress,network:d?.network},to:null}}),l({payload:{type:St.SET_TOKEN_AND_AMOUNT,token:null,amount:""}})),t()},title:x("views.TRANSACTIONS.layoutHeading"),onCloseButtonClick:()=>Lt(r)}),footer:o.jsx(J,{}),children:o.jsxs(p,{sx:Ot,children:[o.jsxs(p,{sx:Bt,children:[!d?.web3Provider&&o.jsx(Ft,{openWalletDrawer:()=>v(!0)}),d?.web3Provider&&w&&o.jsx(Pt,{}),d?.web3Provider&&!w&&f.length>0&&b&&o.jsx(ns,{checkout:c,transactions:f,knownTokenMap:b,isPassport:I,defaultTokenImage:e,changeWallet:()=>v(!0)}),d?.web3Provider&&!w&&0===f.length&&o.jsx(cs,{checkout:c,isPassport:I,changeWallet:()=>v(!0)})]}),d?.web3Provider&&f.length>0&&o.jsx(p,{sx:Mt,children:o.jsx($t,{checkout:c,isPassport:I})}),o.jsx(Dt,{testId:"select-wallet-drawer",drawerText:{heading:x("views.TRANSACTIONS.walletSelection.heading")},showWalletSelectorTarget:!1,walletOptions:P,showDrawer:T,setShowDrawer:e=>{v(e)},onWalletItemClick:N})]})})}function us({transactionResponse:e}){const{t:t}=n(),{viewDispatch:a}=s.useContext(S),{page:r}=y();return s.useEffect((()=>{r({userJourney:A.BRIDGE,screen:"ClaimWithdrawalInProgress"})}),[]),s.useEffect((()=>{e&&(async()=>{try{const t=await e.wait();if(1===t.status)return void a({payload:{type:C.UPDATE_VIEW,view:{type:ze.CLAIM_WITHDRAWAL_SUCCESS,transactionHash:t.transactionHash}}});a({payload:{type:C.UPDATE_VIEW,view:{type:ze.CLAIM_WITHDRAWAL_FAILURE,transactionHash:t.transactionHash,reason:"Transaction failed"}}})}catch(e){console.error(e),a({payload:{type:C.UPDATE_VIEW,view:{type:ze.CLAIM_WITHDRAWAL_FAILURE,transactionHash:"",reason:"Transaction failed"}}})}})()}),[e]),o.jsx(Y,{loadingText:t("views.CLAIM_WITHDRAWAL.IN_PROGRESS.loading.text"),showFooterLogo:!0})}function xs(e){return e?e.substring(0,6).concat("...").concat(e.substring(e.length-4)):""}const ps={height:"100%",display:"flex",flexDirection:"column",paddingX:"base.spacing.x4"},gs={paddingTop:"base.spacing.x10",paddingBottom:"base.spacing.x4"},ws={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6"},hs={[X.IMTBL_ZKEVM_DEVNET]:"base.color.text.link.primary",[X.IMTBL_ZKEVM_TESTNET]:"base.color.text.link.primary",[X.IMTBL_ZKEVM_MAINNET]:"base.color.text.link.primary",[X.ETHEREUM]:"base.color.accent.5",[X.SEPOLIA]:"base.color.accent.5"},bs=e=>({backgroundColor:hs[e],"& svg":{fill:"base.color.brand.2"}});function ms({testId:e,chainId:t,chainName:s,onNetworkClick:a}){return o.jsxs(r,{testId:`${e}-network-list-${t}`,size:"medium",emphasized:!0,onClick:async()=>{await a(t)},sx:{marginBottom:"base.spacing.x1"},children:[o.jsx(r.FramedIcon,{icon:f[t],circularFrame:!0,sx:bs(t)}),o.jsx(r.Label,{size:"medium",children:s})]})}const fs={[X.IMTBL_ZKEVM_DEVNET]:"base.color.text.link.primary",[X.IMTBL_ZKEVM_TESTNET]:"base.color.text.link.primary",[X.IMTBL_ZKEVM_MAINNET]:"base.color.text.link.primary",[X.ETHEREUM]:"base.color.accent.5",[X.SEPOLIA]:"base.color.accent.5"},Es={position:"relative",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"}},Ts={width:"base.icon.size.500",backgroundColor:"base.color.translucent.standard.200",borderRadius:"base.borderRadius.x2"},vs={position:"absolute",top:"14px",left:"38px",width:"28px",padding:"base.spacing.x1",backgroundColor:"base.color.translucent.inverse.900",borderRadius:"base.borderRadius.x2"},ys=e=>({width:"base.icon.size.500",padding:(a.PASSPORT,"base.spacing.x1"),backgroundColor:"base.color.translucent.standard.200",borderRadius:"base.borderRadius.x2"}),Is={color:"base.color.text.body.secondary"},As={paddingY:"base.spacing.x6",borderRadius:"base.borderRadius.x18"},ks=e=>({fill:"base.color.brand.2",width:"base.icon.size.300",backgroundColor:fs[e],borderRadius:"100%",padding:"base.spacing.x1"});function Ss({testId:e,walletProvider:t,walletName:n,walletAddress:r,chainId:i,disableNetworkButton:l=!1,onWalletClick:c,onNetworkClick:d}){const u=Ze(i),x=function(e){switch(e){case a.METAMASK:return"MetaMask";case a.PASSPORT:return"Passport";case"WalletConnect":return"WalletConnect";default:return"Other"}}(n),h=_t(n),[b,m]=s.useState(void 0),[E,T]=s.useState(!1),{bridgeState:{checkout:v}}=s.useContext(Ct),{isWalletConnectEnabled:y,getWalletLogoUrl:I}=R({checkout:v});return s.useEffect((()=>{y&&(T(j(t)),(async()=>{m(await I())})())}),[y,t]),o.jsxs(p,{testId:`${e}-${n}-${i}-button-wrapper`,sx:Es,onClick:c,children:[E&&b?o.jsxs(o.Fragment,{children:[o.jsx(N,{imageUrl:b,alt:"walletconnect",sx:Ts}),o.jsx(D,{logo:"WalletConnectSymbol",sx:vs})]}):o.jsx(D,{logo:h,sx:ys(n)}),o.jsxs(p,{sx:{display:"flex",flexDirection:"column",flex:1},children:[o.jsx(Z,{size:"xSmall",children:x}),o.jsx(g,{size:"xSmall",sx:Is,children:r})]}),o.jsxs(w,{testId:`${e}-network-${i}-button`,size:"small",disabled:l,onClick:e=>{e.stopPropagation(),d(e)},variant:"tertiary",sx:As,children:[o.jsx(w.Icon,{icon:f[i],sx:ks(i)}),u]})]})}const Cs="wallet-network-selector";function Rs(){const{t:e}=n(),{bridgeState:{checkout:t,from:r,to:l},bridgeDispatch:c}=s.useContext(Ct),{viewDispatch:d}=s.useContext(S),{track:u}=y(),x=F(t.config),g=Ze(x),h=U(t.config),b=Ze(h),m=s.useRef(),{isWalletConnectEnabled:f,openWalletConnectModal:E}=R({checkout:t}),[T,v]=s.useState(!1),[I,k]=s.useState(!1),[j,N]=s.useState(),[D,W]=s.useState(),[L,P]=s.useState(""),[O,B]=s.useState(!1),[M,z]=s.useState(),[H,K]=s.useState(),[J,q]=s.useState(""),Q=j&&D,Y=M&&H,X=s.useMemo((()=>j?_(j):null),[j]),te=s.useMemo((()=>M?_(M):null),[M]),se=s.useMemo((()=>{const e=[a.METAMASK.toString()];return t.passport&&e.push(a.PASSPORT.toString()),f&&e.push("walletconnect"),e}),[t,f]),ae=s.useMemo((()=>{const e=[a.METAMASK.toString()];return t.passport&&D===x&&e.push(a.PASSPORT.toString()),f&&e.push("walletconnect"),e}),[t,D,X,f]);s.useEffect((()=>{r&&l&&(L!==r?.walletAddress&&u({userJourney:A.BRIDGE,screen:"WalletAndNetwork",control:"FromWallet",controlType:"Select",extras:{walletAddress:r?.walletAddress}}),D!==r?.network&&u({userJourney:A.BRIDGE,screen:"WalletAndNetwork",control:"FromNetwork",controlType:"Select",extras:{chainId:r?.network}}),J!==l?.walletAddress&&u({userJourney:A.BRIDGE,screen:"WalletAndNetwork",control:"ToWallet",controlType:"Select",extras:{walletAddress:l?.walletAddress}}),H!==l?.network&&u({userJourney:A.BRIDGE,screen:"WalletAndNetwork",control:"ToNetwork",controlType:"Select",extras:{chainId:l?.network}}),N(r.web3Provider),P(r.walletAddress.toLowerCase()),W(r.network),z(l.web3Provider),q(l.walletAddress.toLowerCase()),K(l.network),c({payload:{type:St.SET_WALLETS_AND_NETWORKS,from:null,to:null}}))}),[r,l]);const ne=s.useCallback((async e=>{let s;try{return s=await V(t,e),e===a.PASSPORT.toString()&&(m.current=s),s}catch(e){throw console.error(e),e}}),[t]);function oe(){z(null),K(null)}const re=async e=>{N(e);const t=await e.getSigner().getAddress();if(P(t.toLowerCase()),G(e))return W(h),void v(!1);W(null),v(!1),setTimeout((()=>k(!0)),500)},ie=s.useCallback((async e=>{let t;if(oe(),e===a.PASSPORT.toString()&&m.current)return t=m.current,void await re(t);if(!t)try{"walletconnect"===e?await E({connectCallback:e=>{re(new $(e))},restoreSession:!0}):(t=await ne(e),await re(t))}catch(e){console.error(e)}}),[X,m.current,E]),le=s.useCallback((async e=>{j&&(oe(),k(!1),W(e))}),[t,j]),ce=s.useCallback((()=>{K(D===x?h:x),B(!1)}),[D]),de=s.useCallback((e=>{z(e),e.getSigner().getAddress().then((e=>{q(e.toLowerCase()),ce()}))}),[ce]),ue=s.useCallback((async e=>{if(X===e){z(j);const e=await j.getSigner().getAddress();return q(e.toLowerCase()),void ce()}let t;try{if("walletconnect"===e)await E({connectCallback:e=>{const t=new $(e);de(t),ce()}});else{t=e===a.PASSPORT.toString()&&m.current?m.current:await ne(e),z(t);const s=await t.getSigner().getAddress();q(s.toLowerCase()),ce()}}catch(e){console.error(e)}}),[X,j,m.current,ce,de]),xe=s.useCallback((()=>{j&&D&&M&&H&&(c({payload:{type:St.SET_TOKEN_BALANCES,tokenBalances:[]}}),c({payload:{type:St.SET_ALLOWED_TOKENS,allowedTokens:[]}}),c({payload:{type:St.SET_WALLETS_AND_NETWORKS,from:{web3Provider:j,walletAddress:L.toLowerCase(),network:D},to:{web3Provider:M,walletAddress:J.toLowerCase(),network:H}}}),u({userJourney:A.BRIDGE,screen:"WalletAndNetwork",control:"Next",controlType:"Button",extras:{fromWalletAddress:L,fromNetwork:D,fromWallet:{address:L,isPassportWallet:G(j),isMetaMask:ee(j)},toWalletAddress:J,toNetwork:H,toWallet:{address:J,isPassportWallet:G(M),isMetaMask:ee(M)}}}),d({payload:{type:C.UPDATE_VIEW,view:{type:ze.BRIDGE_FORM}}}))}),[j,D,L,M,H,J]);return o.jsxs(p,{testId:Cs,sx:ps,children:[o.jsx(Z,{testId:`${Cs}-heading`,size:"small",weight:"regular",sx:gs,children:e("views.WALLET_NETWORK_SELECTION.heading")}),o.jsx(Z,{size:"xSmall",sx:{paddingBottom:"base.spacing.x2"},children:e("views.WALLET_NETWORK_SELECTION.fromFormInput.heading")}),o.jsx(Dt,{testId:`${Cs}-from`,drawerText:{heading:e("views.WALLET_NETWORK_SELECTION.fromFormInput.walletSelectorHeading"),defaultText:e("views.WALLET_NETWORK_SELECTION.fromFormInput.selectDefaultText")},showWalletSelectorTarget:!Q,walletOptions:se,showDrawer:T,setShowDrawer:v,onWalletItemClick:ie}),Q&&X&&o.jsxs(p,{sx:{display:"flex",flexDirection:"column",gap:"base.spacing.x10"},children:[o.jsx(Ss,{testId:Cs,walletProvider:j,walletName:X,walletAddress:xs(L),chainId:D,onWalletClick:()=>{v(!0)},onNetworkClick:()=>k(!0)}),o.jsxs(p,{children:[o.jsx(Z,{size:"xSmall",sx:{paddingBottom:"base.spacing.x2"},children:e("views.WALLET_NETWORK_SELECTION.toFormInput.heading")}),o.jsx(Dt,{testId:`${Cs}-to`,drawerText:{heading:e("views.WALLET_NETWORK_SELECTION.toFormInput.walletSelectorHeading"),defaultText:e("views.WALLET_NETWORK_SELECTION.toFormInput.selectDefaultText")},showWalletSelectorTarget:!Y,walletOptions:ae,showDrawer:O,setShowDrawer:B,onWalletItemClick:ue})]})]}),o.jsx(i,{headerBarTitle:e("views.WALLET_NETWORK_SELECTION.fromFormInput.networkSelectorHeading"),size:"full",onCloseDrawer:()=>{k(!1)},visible:I,children:o.jsxs(i.Content,{sx:{paddingX:"base.spacing.x4"},children:[o.jsx(ms,{testId:Cs,chainName:b,onNetworkClick:le,chainId:h},b),(X===a.METAMASK.toString()||"walletconnect"===X)&&o.jsx(ms,{testId:Cs,chainName:g,onNetworkClick:le,chainId:x},g)]})}),Y&&te&&o.jsxs(p,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[o.jsx(Ss,{testId:Cs,walletProvider:M,walletName:te,walletAddress:xs(J),chainId:H,disableNetworkButton:!0,onWalletClick:()=>{B(!0)},onNetworkClick:()=>{}}),o.jsx(p,{sx:ws,children:o.jsx(w,{testId:`${Cs}-submit-button`,size:"large",onClick:xe,children:e("views.WALLET_NETWORK_SELECTION.submitButton.text")})})]})]})}function _s(){const{t:e}=n(),{viewDispatch:t}=s.useContext(S),{eventTargetState:{eventTarget:a}}=s.useContext(M),{page:r}=y();return s.useEffect((()=>{r({userJourney:A.BRIDGE,screen:"WalletNetworkSelection"})}),[]),o.jsx(H,{testId:"bridge-view",header:o.jsx(K,{title:e("views.WALLET_NETWORK_SELECTION.layoutHeading"),onCloseButtonClick:()=>Lt(a),rightActions:o.jsx(te,{icon:"Minting",sx:se(),onClick:()=>{t({payload:{type:C.UPDATE_VIEW,view:{type:ze.TRANSACTIONS}}})},testId:"move-transactions-button"})}),footer:o.jsx(J,{}),children:o.jsx(Rs,{})})}function js(e,t){return e&&0!==parseFloat(e)?t&&Number(e)>Number(t)?"views.BRIDGE_FORM.validation.insufficientBalance":"":"views.BRIDGE_FORM.validation.noAmountInputted"}const Ns={height:"100%",display:"flex",flexDirection:"column",justifyContent:"space-between",paddingTop:"base.spacing.x10"},Ds={paddingTop:"base.spacing.x4",display:"flex",gap:"base.spacing.x1"},Ws={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6",paddingX:"base.spacing.x4"},Ls={display:"flex",flexDirection:"column",alignItems:"center",paddingTop:"base.spacing.x6",paddingBottom:"base.spacing.x1",height:"100%"},Ps={color:"base.color.text.body.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"15px"},Os={display:"flex",flexDirection:"column",justifyContent:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},Bs={width:"100%",height:"base.spacing.x16"},Ms={display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",paddingTop:"base.spacing.x6"};function Gs({environment:e,onCloseDrawer:t,visible:a,showHeaderBar:r,walletAddress:l,showAdjustAmount:c,tokenSymbol:d,onAddCoinsClick:u}){const{t:x}=n(),[h,b]=s.useState(!1),m=ae(e),f=ne(e),E=d===oe?`${x("drawers.notEnoughGas.content.eth.heading")}`:`${x("drawers.notEnoughGas.content.imx.heading")}`,T=d===oe?`${x("drawers.notEnoughGas.content.eth.body")}`:`${x("drawers.notEnoughGas.content.imx.body")}`,v=s.useCallback((()=>{l&&""!==l&&navigator.clipboard.writeText(l),b(!0),setTimeout((()=>{b(!1)}),3e3)}),[l]);return o.jsx(i,{headerBarTitle:void 0,size:"full",onCloseDrawer:t,visible:a,showHeaderBar:r,children:o.jsx(i.Content,{children:o.jsxs(p,{testId:"not-enough-gas-bottom-sheet",sx:Ls,children:[o.jsx(re,{imageUrl:d===oe?m:f,sx:{w:"base.icon.size.600",h:"base.icon.size.600"}}),o.jsx(Z,{size:"small",sx:Ps,testId:"not-enough-gas-heading",children:E}),o.jsx(g,{sx:Ps,children:T}),o.jsxs(p,{sx:Os,children:[c&&o.jsx(w,{testId:"not-enough-gas-adjust-amount-button",sx:Bs,variant:"tertiary",onClick:t,children:x("drawers.notEnoughGas.buttons.adjustAmount")}),d===oe?o.jsxs(w,{testId:"not-enough-gas-copy-address-button",sx:Bs,variant:"tertiary",onClick:v,children:[x("drawers.notEnoughGas.buttons.copyAddress"),o.jsx(w.Icon,{icon:h?"Tick":"CopyText"})]}):o.jsx(w,{testId:"not-enough-gas-add-imx-button",sx:Bs,variant:"tertiary",onClick:u,children:x("drawers.notEnoughGas.buttons.addMoreImx")}),o.jsx(w,{sx:Bs,variant:"tertiary",onClick:t,testId:"not-enough-gas-cancel-button",children:x("drawers.notEnoughGas.buttons.cancel")})]}),o.jsx(p,{sx:Ms,children:o.jsx(D,{testId:"footer-logo-image",logo:"ImmutableHorizontalLockup",sx:{width:"base.spacing.x25"}})})]})})})}function Fs({sx:e}){return o.jsxs(p,{sx:{...e,paddingTop:"0",marginTop:"base.spacing.x4"},rc:o.jsx("div",{}),children:[o.jsx(p,{sx:{display:"flex",backgroundColor:"#F3F3F30A",borderRadius:"8px"},children:o.jsx(p,{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:o.jsx("span",{}),children:o.jsx(x,{rc:o.jsx("span",{})})})}),o.jsx(p,{sx:{display:"flex",width:"100%",backgroundColor:"#F3F3F30A",borderRadius:"8px"},children:o.jsx(p,{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:o.jsx("span",{}),children:o.jsx(x,{rc:o.jsx("span",{})})})})]})}function zs(e){const{t:t}=n(),{bridgeDispatch:a,bridgeState:{tokenBalances:r,allowedTokens:i,checkout:l,from:c,to:d,amount:u,token:x}}=s.useContext(Ct),{cryptoFiatState:g,cryptoFiatDispatch:h}=s.useContext(Ue),{viewDispatch:b}=s.useContext(S),{testId:m,defaultAmount:f,defaultTokenAddress:E,isTokenBalancesLoading:T,defaultTokenImage:v}=e,{track:I}=y(),[k,R]=s.useState(f||""),[_,j]=s.useState(""),[N,D]=s.useState(),[W,P]=s.useState(""),[O,M]=s.useState(""),[G,z]=s.useState(!1),U=s.useRef(!1),$=N?`${t("views.BRIDGE_FORM.content.availableBalancePrefix")} ${ie(N?.formattedBalance)}`:"",[V,H]=s.useState([]),[K,J]=s.useState(!1),[q,Q]=s.useState(""),[Y,X]=s.useState(!1),ee=s.useCallback(((e,t)=>t?`${e.toLowerCase()}-${t.toLowerCase()}`:e.toLowerCase()),[]);s.useEffect((()=>{if(0===r.length)return;const e=r.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===g.conversions.size?le(""):B(e.formattedBalance,e.token.symbol,g.conversions),formattedAmount:ie(e.formattedBalance)}})));H(e),U.current||(U.current=!0,E&&D(r.find((e=>L(e.token.address)&&E?.toLocaleUpperCase()===ce||e.token.address?.toLowerCase()===E?.toLowerCase()))))}),[r,g.conversions,E,U.current,ee,le]),s.useEffect((()=>{if(u&&x){R(u);for(let e=0;e<r.length;e++){const t=r[e];if(t.token.address===x.address){D(t);break}}a({payload:{type:St.SET_TOKEN_AND_AMOUNT,token:null,amount:""}})}}),[u,x,r]);const te=s.useMemo((()=>N&&N.token?ee(N.token.symbol,N.token.address):void 0),[N,r,g.conversions,ee]),se=s.useMemo((()=>!r.find((e=>L(e.token.address)))),[r,N,k]),ae=e=>{let t=e;if("."===t&&(t="0."),R(t),_){const e=js(t,N?.formattedBalance);j(e)}var s;N&&(M(B(t,N.token.symbol,g.conversions)),s=!0,Number.isNaN(parseFloat(k))||parseFloat(k)<=0||!N||!c||!c.walletAddress||!d||!d.walletAddress||s&&G||!l||z(!0))};s.useEffect((()=>{h({payload:{type:$e.SET_TOKEN_SYMBOLS,tokenSymbols:i.map((e=>e.symbol))}})}),[h,i]),s.useEffect((()=>{k&&N&&M(B(k,N.token.symbol,g.conversions))}),[k,N]),s.useEffect((()=>{(async()=>{if(!c?.web3Provider)return;const e=await c.web3Provider.getSigner().getAddress();Q((t=>(""!==t&&t!==e&&D(void 0),e)))})()}),[c?.web3Provider,r]);const ne=s.useCallback((()=>{const e=N?"":"views.BRIDGE_FORM.validation.noTokenSelected";const t=js(k,N?.formattedBalance);return e&&P(e),t&&j(t),!e&&!t}),[N,k,P,j]),re=s.useCallback((async()=>{ne()&&l&&c?.web3Provider&&N&&(se?J(!0):(I({userJourney:A.BRIDGE,screen:"TokenAmount",control:"Review",controlType:"Button",extras:{tokenAddress:N.token.address,amount:k}}),a({payload:{type:St.SET_TOKEN_AND_AMOUNT,token:N.token,amount:k}}),b({payload:{type:C.UPDATE_VIEW,view:{type:ze.BRIDGE_REVIEW}}})))}),[l,c?.web3Provider,ne,se,N]);return o.jsxs(p,{testId:m,sx:Ns,children:[o.jsxs(p,{sx:{paddingX:"base.spacing.x4"},children:[o.jsx(Z,{testId:`${m}-content-heading`,size:"small",weight:"regular",sx:{paddingBottom:"base.spacing.x4"},children:t("views.BRIDGE_FORM.content.title")}),(!E||!T)&&o.jsxs(p,{sx:Ds,children:[o.jsx(et,{testId:"bridge-token",options:V,optionsLoading:T,coinSelectorHeading:t("views.BRIDGE_FORM.bridgeForm.from.selectorTitle"),selectedOption:te,subtext:$,textAlign:"left",errorMessage:t(W),onSelectChange:e=>(e=>{const t=r.find((t=>e===ee(t.token.symbol,t.token.address)));t&&(D(t),P(""))})(e),defaultTokenImage:v}),o.jsx(tt,{testId:"bridge-amount",type:"number",value:k,placeholder:t("views.BRIDGE_FORM.bridgeForm.from.inputPlaceholder"),subtext:`${t("views.BRIDGE_FORM.content.fiatPricePrefix")} $${le(O,!0)}`,validator:de,onTextInputChange:e=>ae(e),onTextInputEnter:re,textAlign:"right",errorMessage:t(_)})]}),E&&T&&o.jsx(Fs,{sx:Ds})]}),o.jsxs(p,{sx:Ws,children:[o.jsx(w,{testId:`${m}-button`,variant:"primary",onClick:re,size:"large",children:t("views.BRIDGE_FORM.bridgeForm.buttonText")}),o.jsx(st,{visible:Y,showHeaderBar:!1,onCloseDrawer:()=>X(!1),onRetry:async()=>{X(!1),await re()}}),o.jsx(Gs,{environment:l.config.environment,visible:K,showHeaderBar:!1,onCloseDrawer:()=>J(!1),walletAddress:q,showAdjustAmount:L(N?.token.address),tokenSymbol:c?.network===F(l?.config)?oe:ue,onAddCoinsClick:()=>{b({payload:{type:C.UPDATE_VIEW,view:{type:xe.TOP_UP_VIEW}}})}})]})]})}const Us=1e4;function $s({amount:e,tokenAddress:t,defaultTokenImage:a}){const{t:r}=n(),{bridgeState:i,bridgeDispatch:l}=s.useContext(Ct),{checkout:c,from:d}=i,{eventTargetState:{eventTarget:u}}=s.useContext(M),[x,p]=s.useState(!1),{page:g}=y();s.useEffect((()=>{(e||t)&&g({userJourney:A.BRIDGE,screen:"TokenAmount",extras:{amount:e,tokenAddress:t}})}),[]);const w=s.useCallback((async()=>{if(c&&d?.web3Provider)try{const e=await at({checkout:c,provider:d.web3Provider,chainId:d?.network,allowTokenListType:z.BRIDGE,retryPolicy:{retryIntervalMs:0,retries:0}});if(void 0===e)return;l({payload:{type:St.SET_TOKEN_BALANCES,tokenBalances:e.allowedBalances}}),l({payload:{type:St.SET_ALLOWED_TOKENS,allowedTokens:e.allowList.tokens}})}catch(e){console.debug(e)}}),[c,d?.web3Provider,d?.network]);return Je(w,Us),s.useEffect((()=>{c&&d?.web3Provider&&(p(!0),w().finally((()=>p(!1))))}),[c,d?.web3Provider]),o.jsx(H,{testId:"bridge-view",header:o.jsx(K,{showBack:!0,title:r("views.BRIDGE_FORM.header.title"),onCloseButtonClick:()=>Lt(u)}),footer:o.jsx(J,{}),children:o.jsx(zs,{testId:"bridge-form",defaultAmount:e,defaultTokenAddress:t,isTokenBalancesLoading:x,defaultTokenImage:a})})}const Vs={borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px",marginBottom:"2px",position:"relative"},Hs={borderTopLeftRadius:"0px",borderTopRightRadius:"0px",backgroundColor:"base.color.translucent.emphasis.100",position:"relative"},Ks={width:"base.icon.size.400"},Js={position:"absolute",top:"2px",left:"26px",width:"20px",padding:"2px",backgroundColor:"base.color.translucent.inverse.900",borderRadius:"base.borderRadius.x2"},qs={height:"100%",display:"flex",flexDirection:"column",paddingX:"base.spacing.x4"},Qs={paddingTop:"base.spacing.x10",paddingBottom:"base.spacing.x4"},Ys={display:"flex",flexDirection:"column",alignItems:"center",paddingY:"base.spacing.x1"},Xs={width:"base.icon.size.300",transform:"rotate(270deg)"},Zs={width:"base.icon.size.400"},ea=(e,t,s)=>{const a=[];if(!e?.fees||!e.token)return a;let n=pe.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")}${B(ge(n,e.token.decimals),e.token.symbol,t.conversions)}`,amount:ie(ge(n,e.token.decimals))}),e.fees.sourceChainGas?.gt(0)){const n=ge(e.fees.sourceChainGas,e.token.decimals);a.push({label:s("drawers.feesBreakdown.fees.gasFeeMove.label"),fiatAmount:`~ ${s("drawers.feesBreakdown.fees.fiatPricePrefix")}${B(n,e.token.symbol,t.conversions)}`,amount:`${ie(n)}`,prefix:"~ "})}if(e.fees.approvalFee?.gt(0)){const n=ge(e.fees.approvalFee,e.token.decimals);a.push({label:s("drawers.feesBreakdown.fees.gasFeeApproval.label"),fiatAmount:`~ ${s("drawers.feesBreakdown.fees.fiatPricePrefix")}${B(n,e.token.symbol,t.conversions)}`,amount:`${ie(n)}`,prefix:"~ "})}return a},ta="bridge-review-summary";function sa(){const{t:e}=n(),{viewDispatch:t}=s.useContext(S),{bridgeState:{checkout:a,tokenBridge:i,from:l,to:c,token:d,amount:u},bridgeDispatch:x}=s.useContext(Ct),{track:h}=y(),{cryptoFiatState:b}=s.useContext(Ue),[E,T]=s.useState(!1),[v,I]=s.useState(void 0),[k,N]=s.useState(""),[W,L]=s.useState(""),[P,O]=s.useState(void 0),[M,F]=s.useState(void 0),[z,U]=s.useState(!1),[V,H]=s.useState(void 0),[K,J]=s.useState(void 0),[q,Q]=s.useState(!1),[Y,X]=s.useState(!1),{isWalletConnectEnabled:te,getWalletLogoUrl:se}=R({checkout:a}),ae=s.useMemo((()=>d?.symbol?`${d?.symbol} ${u}`:`${u}`),[d,u]),ne=s.useMemo((()=>u&&d?B(u,d.symbol,b.conversions):""),[d,u]),oe=s.useMemo((()=>l?l.walletAddress:"-"),[l]),re=s.useMemo((()=>_(l?.web3Provider)),[l]),ie=s.useMemo((()=>l&&l.network),[l]),le=_t(re),de=s.useMemo((()=>c?c.walletAddress:"-"),[c]),ue=s.useMemo((()=>_(c?.web3Provider)),[c]),xe=s.useMemo((()=>c?.network),[c]),Te=_t(ue),ve=s.useCallback((async()=>{if(!(i&&u&&l&&c&&d))return;const[e,t]=await Promise.all([i.getUnsignedApproveBridgeTx({senderAddress:oe,token:d.address??ce.toUpperCase(),amount:we(u,d.decimals),sourceChainId:l?.network.toString(),destinationChainId:c?.network.toString()}),i.getUnsignedBridgeTx({senderAddress:oe,recipientAddress:de,token:d.address??ce.toUpperCase(),amount:we(u,d.decimals),sourceChainId:l?.network.toString(),destinationChainId:c?.network.toString(),gasMultiplier:1.1})]);O(e),F(t);const s=t.feeData,{totalFees:n,approvalFee:o}=s;let r=n;e.unsignedTx||(r=n.sub(o),s.approvalFee=pe.from(0));const x={gasEstimateType:he.BRIDGE_TO_L2,fees:{...s,totalFees:r},token:a.config.networkMap.get(l.network)?.nativeCurrency};I(x);const p=ge(x?.fees.totalFees||0,Ee);N(p),L(B(p,x?.token?.symbol||"",b.conversions))}),[a,i]);Je((()=>ve()),be);const ye=s.useCallback((()=>ea(v,b,e)),[v]);s.useEffect((()=>{(async()=>{T(!0),await ve(),T(!1)})()}),[]);const Ie=s.useCallback((e=>{x({payload:{type:St.SET_WALLETS_AND_NETWORKS,from:{web3Provider:e,walletAddress:l?.walletAddress,network:l?.network},to:{web3Provider:c?.web3Provider,walletAddress:c?.walletAddress,network:c?.network}}})}),[l?.web3Provider,l?.network,c?.web3Provider,c?.network]);s.useEffect((()=>{if(!l?.web3Provider)return;const e=()=>{const e=new $(l?.web3Provider.provider);Ie(e),U(!1)};return me(l?.web3Provider,e),()=>{fe(l?.web3Provider,e)}}),[l?.web3Provider]),s.useEffect((()=>{te&&(Q(j(l?.web3Provider)),X(j(c?.web3Provider)),(async()=>{H(await se()),J(await se())})())}),[te,l,c]);const Ae=s.useCallback((async()=>{if(P&&M){try{const e=await(l?.web3Provider.provider).request({method:"eth_chainId",params:[]});if(parseInt(e.toString())!==l?.network)return void U(!0)}catch(e){console.error("Current network check failed",e)}h({userJourney:A.BRIDGE,screen:"Summary",control:"Submit",controlType:"Button",extras:{fromWalletAddress:oe,fromNetwork:ie,fromWallet:{address:oe,isPassportWallet:G(l?.web3Provider),isMetaMask:ee(l?.web3Provider)},toWalletAddress:de,toNetwork:xe,toWallet:{address:de,isPassportWallet:G(c?.web3Provider),isMetaMask:ee(c?.web3Provider)},amount:u,fiatAmount:ne,tokenAddress:d?.address}}),t({payload:{type:C.UPDATE_VIEW,view:{type:ze.APPROVE_TRANSACTION,approveTransaction:P,transaction:M}}})}}),[t,P,M,l?.web3Provider,l?.network]);return o.jsxs(p,{testId:ta,sx:qs,children:[o.jsx(Z,{testId:`${ta}-heading`,size:"small",weight:"regular",sx:Qs,children:e("views.BRIDGE_REVIEW.heading")}),o.jsxs(r,{testId:`${ta}-from-amount`,size:"small",emphasized:!0,sx:Vs,children:[o.jsx(r.Label,{size:"small",sx:{marginBottom:"base.spacing.x4",fontWeight:"bold"},children:e("views.BRIDGE_REVIEW.fromLabel.amountHeading")}),o.jsx(r.Caption,{}),o.jsx(r.PriceDisplay,{use:o.jsx(Z,{size:"xSmall",weight:"light"}),price:ae??"-",fiatAmount:`${e("views.BRIDGE_REVIEW.fiatPricePrefix")}${ne}`})]}),o.jsxs(r,{testId:`${ta}-from-address`,size:"xSmall",emphasized:!0,sx:Hs,children:[q&&V&&o.jsxs(o.Fragment,{children:[o.jsx(r.FramedImage,{imageUrl:V,alt:"walletconnect",sx:Ks}),o.jsx(D,{logo:"WalletConnectSymbol",sx:Js})]}),re&&!q&&o.jsx(r.FramedLogo,{logo:le,sx:{backgroundColor:"base.color.translucent.standard.200"}}),o.jsxs(r.Label,{children:[o.jsx("strong",{children:e("views.BRIDGE_REVIEW.fromLabel.heading")})," ",o.jsx(g,{size:"small",sx:{color:"base.color.text.body.secondary"},children:xs(oe??"")})]}),ie&&o.jsx(r.IntentIcon,{icon:f[ie],sx:ks(ie)})]}),o.jsx(p,{sx:Ys,children:o.jsx(m,{icon:"ArrowBackward",sx:Xs})}),o.jsxs(r,{testId:`${ta}-to-address`,size:"xSmall",emphasized:!0,sx:Vs,children:[ue&&Y&&K&&o.jsxs(o.Fragment,{children:[o.jsx(r.FramedImage,{imageUrl:K,alt:"walletconnect",sx:Ks}),o.jsx(D,{logo:"WalletConnectSymbol",sx:Js})]}),ue&&!Y&&o.jsx(r.FramedLogo,{logo:Te,sx:{backgroundColor:"base.color.translucent.standard.200"}}),o.jsxs(r.Label,{children:[o.jsx("strong",{children:e("views.BRIDGE_REVIEW.toLabel.heading")})," ",o.jsx(g,{size:"small",sx:{color:"base.color.text.body.secondary"},children:xs(de??"")})]}),xe&&o.jsx(r.IntentIcon,{icon:f[xe],sx:ks(xe)})]}),o.jsx(nt,{gasFeeValue:k,gasFeeFiatValue:W,gasFeeToken:v?.token,fees:ye(),onFeesClick:()=>{h({userJourney:A.BRIDGE,screen:"MoveCoins",control:"ViewFees",controlType:"Button"})},sx:{borderTopRightRadius:"0",borderTopLeftRadius:"0"},loading:E}),o.jsx(p,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"flex-end",paddingY:"base.spacing.x6",width:"100%"},children:o.jsx(w,{size:"large",sx:{width:"100%"},onClick:Ae,disabled:E,testId:`${ta}__submit-button`,children:E?o.jsx(w.Icon,{icon:"Loading",sx:Zs}):e("views.BRIDGE_REVIEW.submitButton.buttonText")})}),o.jsx(ot,{visible:z,targetChainId:l?.network,provider:l?.web3Provider,checkout:a,onCloseDrawer:()=>U(!1),onNetworkSwitch:Ie})]})}function aa(){const{t:e}=n(),{eventTargetState:{eventTarget:t}}=s.useContext(M),{page:a}=y();return s.useEffect((()=>{a({userJourney:A.BRIDGE,screen:"Review"})}),[]),o.jsx(H,{testId:"bridge-review",header:o.jsx(K,{showBack:!0,title:e("views.BRIDGE_REVIEW.layoutHeading"),onCloseButtonClick:()=>Lt(t)}),footer:o.jsx(J,{}),children:o.jsx(sa,{})})}function na({environment:e}){const{RiveComponent:t}=Te.useRive({src:`${ve[e]}/v1/blob/img/rocket.riv`,autoplay:!0,layout:new Te.Layout({fit:Te.Fit.Cover}),stateMachines:"State Machine 1"});return o.jsx(p,{sx:{...ye,background:"base.color.translucent.emphasis.100"},children:o.jsx(p,{sx:Ie,rc:o.jsx(t,{})})})}function oa({transactionHash:e}){const{t:t}=n(),{eventTargetState:{eventTarget:a}}=s.useContext(M),{page:r}=y(),{cryptoFiatState:i}=s.useContext(Ue),{viewDispatch:l}=s.useContext(S),{bridgeState:{checkout:c,from:d,to:u,token:x,amount:p}}=s.useContext(Ct);return s.useEffect((()=>{Wt(a,e);const t=B(p,x?.symbol??"",i.conversions);r({userJourney:A.BRIDGE,screen:"InProgress",extras:{fromWalletAddress:d?.walletAddress,toWalletAddress:u?.walletAddress,amount:p,fiatAmount:t,tokenAddress:x?.address}})}),[]),o.jsx(H,{testId:"move-in-progress-view",header:o.jsx(K,{transparent:!0,onCloseButtonClick:()=>Lt(a),rightActions:o.jsxs(o.Fragment,{children:[o.jsx(te,{icon:"Minting",sx:se(),onClick:()=>{l({payload:{type:C.UPDATE_VIEW,view:{type:ze.TRANSACTIONS}}})},testId:"settings-button"}),o.jsx(Ae,{isAnimated:!0,variant:"guidance",sx:{position:"absolute",right:"base.spacing.x14",top:"base.spacing.x1"}})]})}),footer:o.jsx(J,{}),heroContent:o.jsx(na,{environment:c.config.environment}),floatHeader:!0,children:o.jsxs(ke,{heading:t("views.IN_PROGRESS.heading"),children:[t("views.IN_PROGRESS.body1"),o.jsx("br",{}),o.jsx("br",{}),t("views.IN_PROGRESS.body2")]})})}function ra({approveTransaction:e,transaction:t}){const{t:a}=n(),{bridgeState:r}=s.useContext(Ct),{checkout:i,from:l}=r,{viewDispatch:c}=s.useContext(S),{eventTargetState:{eventTarget:d}}=s.useContext(M),{page:u}=y();s.useEffect((()=>{u({userJourney:A.BRIDGE,screen:"ApproveTransaction"})}),[]);const[x,g]=s.useState(!1),[w,h]=s.useState(!1),[b,m]=s.useState(!1),[f,E]=s.useState(!1),T=s.useCallback((()=>{c({payload:{type:C.UPDATE_VIEW,view:{type:xe.ERROR_VIEW,error:new Error("No checkout object or no provider object found")}}})}),[c]),v=s.useCallback((()=>{c({payload:{type:C.GO_BACK}})}),[c]),I=e=>{if(e.type!==Se.UNPREDICTABLE_GAS_LIMIT){if(e.type===Se.TRANSACTION_FAILED||e.type===Se.INSUFFICIENT_FUNDS||e.receipt&&0===e.receipt.status){let t="Transaction failed";return e.type===Se.INSUFFICIENT_FUNDS&&(t="Insufficient funds"),e.receipt&&0===e.receipt.status&&(t="Transaction failed to settle on chain"),void c({payload:{type:C.UPDATE_VIEW,view:{type:ze.BRIDGE_FAILURE,reason:t}}})}c({payload:{type:C.UPDATE_VIEW,view:{type:xe.ERROR_VIEW,error:e}}})}else c({payload:{type:C.UPDATE_VIEW,view:{type:ze.BRIDGE_FAILURE,reason:"Unpredictable gas limit"}}})},k=s.useCallback((async()=>{let s=!1;if(i&&l?.web3Provider&&t){if(!x){if(g(!0),e.unsignedTx)try{h(!0);const t=await i.sendTransaction({provider:l.web3Provider,transaction:e.unsignedTx});if(1!==(await t.transactionResponse.wait()).status)return void c({payload:{type:C.UPDATE_VIEW,view:{type:ze.BRIDGE_FAILURE,reason:"Transaction failed to settle on chain"}}})}catch(e){h(!1),e.type===Se.USER_REJECTED_REQUEST_ERROR?(E(!0),s=!0):I(e)}finally{g(!1)}try{if(s)return;h(!0);const e=await i.sendTransaction({provider:l.web3Provider,transaction:t.unsignedTx});m(!0);const a=await e.transactionResponse.wait();if(0===a.status)return void c({payload:{type:C.UPDATE_VIEW,view:{type:ze.BRIDGE_FAILURE,reason:"Approval transaction failed to settle on chain"}}});c({payload:{type:C.UPDATE_VIEW,view:{type:ze.IN_PROGRESS,transactionHash:a.transactionHash}}})}catch(e){e.type===Se.USER_REJECTED_REQUEST_ERROR?E(!0):I(e)}finally{m(!1),h(!1),g(!1)}}}else T()}),[i,l,T,c,t,e,x]);return o.jsxs(o.Fragment,{children:[b&&o.jsx(Y,{loadingText:a("views.APPROVE_TRANSACTION.loadingView.text"),showFooterLogo:!0}),!b&&o.jsx(H,{header:o.jsx(K,{transparent:!0,showBack:!0,onCloseButtonClick:()=>Lt(d),onBackButtonClick:v}),floatHeader:!0,heroContent:o.jsx(rt,{}),footer:o.jsxs(p,{sx:{width:"100%",flexDirection:"column"},children:[o.jsx(Ce,{loading:w,actionText:a("views.APPROVE_TRANSACTION."+(f?"footer.retryText":"footer.buttonText")),onActionClick:k}),o.jsx(J,{})]}),children:o.jsx(ke,{heading:a("views.APPROVE_TRANSACTION.content.heading"),children:o.jsx(p,{children:a("views.APPROVE_TRANSACTION.content.body")})})})]})}const ia={display:"flex",flexDirection:"column",alignItems:"center",paddingTop:"base.spacing.x6",paddingBottom:"base.spacing.x1",height:"100%"},la={color:"base.color.text.body.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"15px"},ca={display:"flex",flexDirection:"column",justifyContent:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},da={width:"100%",height:"base.spacing.x16"};function ua({visible:e,onClose:t,onChangeAccount:a}){const{t:r}=n(),{bridgeState:{checkout:l}}=s.useContext(Ct),c=ae(l.config.environment);return o.jsx(i,{headerBarTitle:void 0,size:"full",onCloseDrawer:t,visible:e,showHeaderBar:!1,children:o.jsx(i.Content,{children:o.jsxs(p,{testId:"not-enough-eth-drawer",sx:ia,children:[o.jsx(re,{imageUrl:c,sx:{w:"base.icon.size.600",h:"base.icon.size.600"}}),o.jsx(Z,{size:"small",sx:la,testId:"not-enough-gas-heading",children:`${r("drawers.notEnoughEthWithdrawal.content.heading1")} ${oe} ${r("drawers.notEnoughEthWithdrawal.content.heading2")}`}),o.jsx(g,{sx:la,children:`${r("drawers.notEnoughEthWithdrawal.content.body1")} ${oe} ${r("drawers.notEnoughEthWithdrawal.content.body2")}`}),o.jsxs(p,{sx:ca,children:[o.jsx(w,{testId:"not-enough-eth-drawer-retry-button",sx:da,variant:"tertiary",onClick:a,children:r("drawers.notEnoughEthWithdrawal.buttons.retry")}),o.jsx(w,{sx:da,variant:"tertiary",onClick:t,testId:"not-enough-eth-drawer-dismiss-button",children:r("drawers.notEnoughEthWithdrawal.buttons.dismiss")})]})]})})})}function xa({transaction:e}){const{t:t}=n(),{bridgeState:{checkout:r,tokenBridge:i,from:l}}=s.useContext(Ct),{viewDispatch:c}=s.useContext(S),{eventTargetState:{eventTarget:d}}=s.useContext(M),{page:u}=y();s.useEffect((()=>{u({userJourney:A.BRIDGE,screen:"ClaimWithdrawal"})}),[]);const[x,g]=s.useState(!1),[h,b]=s.useState(!1),[m,f]=s.useState(!1),[E,T]=s.useState(),[I,k]=s.useState(!1),R=s.useCallback((()=>{c({payload:{type:C.GO_BACK}})}),[c]);s.useEffect((()=>{(async()=>{if(i&&e&&void 0!==e.details.current_status?.index){b(!0);try{const t=await(i?.getFlowRateWithdrawTx({recipient:e.details.to_address,index:e.details.current_status.index}));T(t)}catch(e){console.log(e)}finally{b(!1)}}})()}),[i,e]);const _=s.useCallback((async({forceChangeAccount:e})=>{if(!(r&&i&&l?.web3Provider&&E))return;if(!E.pendingWithdrawal.canWithdraw||!E.unsignedTx)return void console.log(`Unable to process withdrawal transaction as it is not ready yet. Delay timeout at ${E.pendingWithdrawal.timeoutEnd} `);let t=l?.web3Provider;const s=F(r.config);if(g(!0),G(l?.web3Provider)||e)try{const e=await r.createProvider({walletProviderName:a.METAMASK});t=(await r.connect({provider:e.provider,requestWalletPermissions:!0})).provider,k(!1)}catch(e){return console.log(e),f(!0),void g(!1)}let n,o=null;try{try{n=await t.estimateGas(E.unsignedTx)}catch(e){n=pe.from(Re)}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&&(o=n.mul(s))}catch(e){console.log(e)}try{const e=(await r.getAllBalances({provider:t,chainId:s})).balances.find((e=>L(e.token.address)));if(!e||e.balance.lt(o))return k(!0),void g(!1)}catch(e){console.log(e)}if((await t.getNetwork()).chainId!==s)try{t=(await r.switchNetwork({provider:t,chainId:s})).provider}catch(e){return f(!0),b(!1),void console.log(e)}try{const e=await r.sendTransaction({provider:t,transaction:E.unsignedTx});c({payload:{type:C.UPDATE_VIEW,view:{type:ze.CLAIM_WITHDRAWAL_IN_PROGRESS,transactionResponse:e.transactionResponse}}})}catch(e){console.log(e),f(!0),g(!1)}finally{g(!1)}}),[i,l,E]);return o.jsxs(H,{testId:"claim-withdrawal",header:o.jsx(K,{transparent:!0,showBack:!0,onCloseButtonClick:()=>Lt(d),onBackButtonClick:R}),floatHeader:!0,heroContent:o.jsx(rt,{}),footer:o.jsxs(p,{sx:{width:"100%",display:"flex",flexDirection:"column"},children:[o.jsx(p,{sx:{pb:"base.spacing.x5",px:"base.spacing.x6",width:"100%",display:"flex",flexDirection:"column"},children:o.jsx(w,{testId:"claim-withdrawal-continue-button",size:"large",variant:"primary",disabled:h,onClick:()=>x||h?void 0:_({forceChangeAccount:!0}),children:h||x?o.jsx(w.Icon,{icon:"Loading",sx:{width:"base.icon.size.400"}}):t("views.CLAIM_WITHDRAWAL."+(m?"footer.retryText":"footer.buttonText"))})}),o.jsx(J,{})]}),children:[o.jsxs(ke,{heading:`${t("views.CLAIM_WITHDRAWAL.content.heading")} ${Ze(F(r.config))}`,children:[o.jsx(p,{sx:{display:"flex",flexWrap:"wrap",pb:"base.spacing.x1"},children:t("views.CLAIM_WITHDRAWAL.content.body")}),o.jsxs(p,{children:[t("views.CLAIM_WITHDRAWAL.content.body2"),o.jsx(v,{text:e.details.to_address.toLowerCase()??""})]})]}),o.jsx(ua,{visible:I,onClose:()=>k(!1),onChangeAccount:()=>_({forceChangeAccount:!0})})]})}function pa({checkout:e,web3Provider:t,config:a,amount:r,tokenAddress:i}){const{t:l}=n(),{environment:u,isOnRampEnabled:x,isSwapEnabled:p,isBridgeEnabled:g,theme:w}=a,h=_e(e.config.environment,w),{eventTargetState:{eventTarget:b}}=s.useContext(M),{page:m}=y(),[f,E]=s.useReducer(je,{...Ne,view:{type:ze.WALLET_NETWORK_SELECTION},history:[{type:ze.WALLET_NETWORK_SELECTION}]}),[T,v]=s.useReducer(Rt,{...kt,checkout:e,web3Provider:t??null,tokenBridge:(()=>{let t=Me;e.config.isDevelopment&&(t=Ge),e.config.isProduction&&(t=Fe);const s=new q(e.config.networkMap.get(F(e.config))?.rpcUrls[0]),a=new q(e.config.networkMap.get(U(e.config))?.rpcUrls[0]),n=new De({baseConfig:new We({environment:e.config.environment}),bridgeInstance:t,rootProvider:s,childProvider:a});return new Le(n)})()}),I=s.useMemo((()=>({viewState:f,viewDispatch:E})),[f,E]),k=s.useMemo((()=>({bridgeState:T,bridgeDispatch:v})),[T,v]),R=s.useCallback((()=>{v({payload:{type:St.SET_WALLETS_AND_NETWORKS,from:null,to:null}}),v({payload:{type:St.SET_TOKEN_AND_AMOUNT,amount:"",token:null}}),E({payload:{type:C.GO_BACK_TO,view:{type:ze.WALLET_NETWORK_SELECTION}}})}),[E]),_=s.useCallback((()=>{E({payload:{type:C.GO_BACK_TO,view:{type:ze.WALLET_NETWORK_SELECTION}}})}),[E]),j=s.useCallback((()=>{E({payload:{type:C.UPDATE_VIEW,view:{type:ze.TRANSACTIONS}}})}),[E]),N=s.useCallback((()=>{E({payload:{type:C.GO_BACK_TO,view:{type:ze.BRIDGE_REVIEW}}})}),[E]);return s.useEffect((()=>{(async()=>{v({payload:{type:St.SET_PROVIDER,web3Provider:t??null}})})()}),[t]),o.jsx(S.Provider,{value:I,children:o.jsx(Ct.Provider,{value:k,children:o.jsxs(Ve,{environment:u,children:[f.view.type===ze.WALLET_NETWORK_SELECTION&&o.jsx(_s,{}),f.view.type===ze.BRIDGE_FORM&&o.jsx($s,{amount:r,tokenAddress:i,defaultTokenImage:h}),f.view.type===ze.BRIDGE_REVIEW&&o.jsx(aa,{}),f.view.type===ze.IN_PROGRESS&&o.jsx(oa,{transactionHash:f.view.transactionHash}),f.view.type===ze.BRIDGE_FAILURE&&o.jsx(Pe,{testId:"bridge-fail",statusText:l("views.BRIDGE_FAILURE.bridgeFailureText.statusText"),actionText:l("views.BRIDGE_FAILURE.bridgeFailureText.actionText"),onActionClick:N,statusType:Oe.FAILURE,onRenderEvent:()=>{let e="";f.view.type===ze.BRIDGE_FAILURE&&(e=f.view.reason),m({userJourney:A.BRIDGE,screen:"Failed",extras:{reason:e}}),((e,t)=>{const s=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.FAILURE,data:{reason:t,timestamp:(new Date).getTime()}}});console.log("bridge failed ",e,s),void 0!==e&&e.dispatchEvent(s)})(b,e)}}),f.view.type===ze.APPROVE_TRANSACTION&&o.jsx(ra,{approveTransaction:f.view.approveTransaction,transaction:f.view.transaction}),f.view.type===ze.TRANSACTIONS&&o.jsx(ds,{onBackButtonClick:_,defaultTokenImage:h}),f.view.type===ze.CLAIM_WITHDRAWAL&&o.jsx(xa,{transaction:f.view.transaction}),f.view.type===xe.ERROR_VIEW&&o.jsx(Be,{actionText:l("views.ERROR_VIEW.actionText"),onActionClick:R,onCloseClick:()=>Lt(b),errorEventAction:()=>{m({userJourney:A.BRIDGE,screen:"Error"})}}),f.view.type===xe.TOP_UP_VIEW&&o.jsx(He,{analytics:{userJourney:A.BRIDGE},widgetEvent:c.IMTBL_BRIDGE_WIDGET_EVENT,checkout:e,provider:t,showOnrampOption:x,showSwapOption:p,showBridgeOption:g,onCloseButtonClick:()=>Lt(b)}),f.view.type===ze.CLAIM_WITHDRAWAL_IN_PROGRESS&&o.jsx(us,{transactionResponse:f.view.transactionResponse}),f.view.type===ze.CLAIM_WITHDRAWAL_SUCCESS&&o.jsx(Pe,{statusText:l("views.CLAIM_WITHDRAWAL.IN_PROGRESS.success.text"),actionText:l("views.CLAIM_WITHDRAWAL.IN_PROGRESS.success.actionText"),onRenderEvent:()=>{m({userJourney:A.BRIDGE,screen:"ClaimWithdrawalSuccess"}),((e,t)=>{const s=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.CLAIM_WITHDRAWAL_SUCCESS,data:{transactionHash:t}}});console.log("bridge claim withdrawal success event:",e,s),void 0!==e&&e.dispatchEvent(s)})(b,f.view.transactionHash)},onActionClick:j,statusType:Oe.SUCCESS,testId:"claim-withdrawal-success-view"}),f.view.type===ze.CLAIM_WITHDRAWAL_FAILURE&&o.jsx(Pe,{statusText:l("views.CLAIM_WITHDRAWAL.IN_PROGRESS.failure.text"),actionText:l("views.CLAIM_WITHDRAWAL.IN_PROGRESS.failure.actionText"),onRenderEvent:()=>{let e="";f.view.type===ze.CLAIM_WITHDRAWAL_FAILURE&&(e=f.view.reason),m({userJourney:A.BRIDGE,screen:"ClaimWithdrawalFailure",extras:{reason:e}}),((e,t,s)=>{const a=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.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)})(b,f.view.transactionHash,"Transaction failed")},onActionClick:j,statusType:Oe.FAILURE,onCloseClick:()=>Lt(b),testId:"claim-withdrawal-fail-view"})]})})})}export{pa as default};
@@ -1,2 +1,2 @@
1
- import{aZ as e,a_ as t,a$ as a,b0 as r,b1 as n,d as o,r as s,C as i,E as h,u as c,V as u,S as l,b2 as p,j as f,B as d,z as m,A as R,b3 as E,U as v,c as A,J as S,Q as O,X as T,Y as y,a7 as _,_ as I,ax as g,b4 as C,aw as w,b5 as N,I as P}from"./index-819ff95c.js";import{O as x,T as b}from"./TopUpView-fe28f44e.js";import{S as D}from"./SpendingCapHero-87ddc872.js";
1
+ import{aZ as e,a_ as t,a$ as a,b0 as r,b1 as n,d as o,r as s,C as i,E as h,u as c,V as u,S as l,b2 as p,j as f,B as d,z as m,A as R,b3 as E,U as v,c as A,J as S,Q as O,X as T,Y as y,a7 as _,_ as I,ax as g,b4 as C,aw as w,b5 as N,I as P}from"./index-e3891182.js";import{O as x,T as b}from"./TopUpView-4ac021b8.js";import{S as D}from"./SpendingCapHero-db1a406a.js";
2
2
  /*! https://mths.be/punycode v1.4.1 by @mathias */var L=2147483647,U=36,j=1,k=26,F=38,K=700,M=72,G=128,W="-",q=/[^\x20-\x7E]/,V=/[\x2E\u3002\uFF0E\uFF61]/g,$={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},B=U-j,J=Math.floor,H=String.fromCharCode;function z(e){throw new RangeError($[e])}function Z(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function Q(e,t,a){var r=0;for(e=a?J(e/K):e>>1,e+=J(e/t);e>B*k>>1;r+=U)e=J(e/B);return J(r+(B+1)*e/(e+F))}function X(e){return function(e,t){var a=e.split("@"),r="";a.length>1&&(r=a[0]+"@",e=a[1]);var n=function(e,t){for(var a=e.length,r=[];a--;)r[a]=t(e[a]);return r}((e=e.replace(V,".")).split("."),t).join(".");return r+n}(e,(function(e){return q.test(e)?"xn--"+function(e){var t,a,r,n,o,s,i,h,c,u,l,p,f,d,m,R=[];for(e=function(e){for(var t,a,r=[],n=0,o=e.length;n<o;)(t=e.charCodeAt(n++))>=55296&&t<=56319&&n<o?56320==(64512&(a=e.charCodeAt(n++)))?r.push(((1023&t)<<10)+(1023&a)+65536):(r.push(t),n--):r.push(t);return r}(e),p=e.length,t=G,a=0,o=M,s=0;s<p;++s)(l=e[s])<128&&R.push(H(l));for(r=n=R.length,n&&R.push(W);r<p;){for(i=L,s=0;s<p;++s)(l=e[s])>=t&&l<i&&(i=l);for(i-t>J((L-a)/(f=r+1))&&z("overflow"),a+=(i-t)*f,t=i,s=0;s<p;++s)if((l=e[s])<t&&++a>L&&z("overflow"),l==t){for(h=a,c=U;!(h<(u=c<=o?j:c>=o+k?k:c-o));c+=U)m=h-u,d=U-u,R.push(H(Z(u+m%d,0))),h=J(m/d);R.push(H(Z(h,0))),o=Q(a,f,r==n),a=0,++r}++a,++t}return R.join("")}(e):e}))}function Y(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var ee=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function te(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}}function ae(e,t){if(e.map)return e.map(t);for(var a=[],r=0;r<e.length;r++)a.push(t(e[r],r));return a}var re=Object.keys||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.push(a);return t};function ne(e,t,a,r){t=t||"&",a=a||"=";var n={};if("string"!=typeof e||0===e.length)return n;var o=/\+/g;e=e.split(t);var s=1e3;r&&"number"==typeof r.maxKeys&&(s=r.maxKeys);var i=e.length;s>0&&i>s&&(i=s);for(var h=0;h<i;++h){var c,u,l,p,f=e[h].replace(o,"%20"),d=f.indexOf(a);d>=0?(c=f.substr(0,d),u=f.substr(d+1)):(c=f,u=""),l=decodeURIComponent(c),p=decodeURIComponent(u),Y(n,l)?ee(n[l])?n[l].push(p):n[l]=[n[l],p]:n[l]=p}return n}var oe={parse:Se,resolve:function(e,t){return Se(e,!1,!0).resolve(t)},resolveObject:function(e,t){return e?Se(e,!1,!0).resolveObject(t):t},fileURLToPath:function(e){if("string"==typeof e)e=(new se).parse(e);else if(!(e instanceof se))throw new TypeError('The "path" argument must be of type string or an instance of URL. Received type '+typeof e+String(e));if("file:"!==e.protocol)throw new TypeError("The URL must be of scheme file");return function(e){const t=e.pathname;for(let e=0;e<t.length;e++)if("%"===t[e]){const a=32|t.codePointAt(e+2);if("2"===t[e+1]&&102===a)throw new TypeError("must not include encoded / characters")}return decodeURIComponent(t)}(e)},format:function(e){a(e)&&(e=Oe({},e));return Te(e)},Url:se,URL:e.URL,URLSearchParams:e.URLSearchParams};function se(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var ie=/^([a-z0-9.+-]+:)/i,he=/:[0-9]*$/,ce=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,ue=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),le=["'"].concat(ue),pe=["%","/","?",";","#"].concat(le),fe=["/","?","#"],de=255,me=/^[+a-z0-9A-Z_-]{0,63}$/,Re=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,Ee={javascript:!0,"javascript:":!0},ve={javascript:!0,"javascript:":!0},Ae={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function Se(e,a,r){if(e&&t(e)&&e instanceof se)return e;var n=new se;return n.parse(e,a,r),n}function Oe(e,t,r,n){if(!a(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var o=t.indexOf("?"),s=-1!==o&&o<t.indexOf("#")?"?":"#",i=t.split(s);i[0]=i[0].replace(/\\/g,"/");var h=t=i.join(s);if(h=h.trim(),!n&&1===t.split("#").length){var c=ce.exec(h);if(c)return e.path=h,e.href=h,e.pathname=c[1],c[2]?(e.search=c[2],e.query=r?ne(e.search.substr(1)):e.search.substr(1)):r&&(e.search="",e.query={}),e}var u,l,p,f,d=ie.exec(h);if(d){var m=(d=d[0]).toLowerCase();e.protocol=m,h=h.substr(d.length)}if(n||d||h.match(/^\/\/[^@\/]+@[^@\/]+/)){var R="//"===h.substr(0,2);!R||d&&ve[d]||(h=h.substr(2),e.slashes=!0)}if(!ve[d]&&(R||d&&!Ae[d])){var E,v,A=-1;for(u=0;u<fe.length;u++)-1!==(l=h.indexOf(fe[u]))&&(-1===A||l<A)&&(A=l);for(-1!==(v=-1===A?h.lastIndexOf("@"):h.lastIndexOf("@",A))&&(E=h.slice(0,v),h=h.slice(v+1),e.auth=decodeURIComponent(E)),A=-1,u=0;u<pe.length;u++)-1!==(l=h.indexOf(pe[u]))&&(-1===A||l<A)&&(A=l);-1===A&&(A=h.length),e.host=h.slice(0,A),h=h.slice(A),ye(e),e.hostname=e.hostname||"";var S="["===e.hostname[0]&&"]"===e.hostname[e.hostname.length-1];if(!S){var O=e.hostname.split(/\./);for(u=0,p=O.length;u<p;u++){var T=O[u];if(T&&!T.match(me)){for(var y="",_=0,I=T.length;_<I;_++)T.charCodeAt(_)>127?y+="x":y+=T[_];if(!y.match(me)){var g=O.slice(0,u),C=O.slice(u+1),w=T.match(Re);w&&(g.push(w[1]),C.unshift(w[2])),C.length&&(h="/"+C.join(".")+h),e.hostname=g.join(".");break}}}}e.hostname.length>de?e.hostname="":e.hostname=e.hostname.toLowerCase(),S||(e.hostname=X(e.hostname)),f=e.port?":"+e.port:"";var N=e.hostname||"";e.host=N+f,e.href+=e.host,S&&(e.hostname=e.hostname.substr(1,e.hostname.length-2),"/"!==h[0]&&(h="/"+h))}if(!Ee[m])for(u=0,p=le.length;u<p;u++){var P=le[u];if(-1!==h.indexOf(P)){var x=encodeURIComponent(P);x===P&&(x=escape(P)),h=h.split(P).join(x)}}var b=h.indexOf("#");-1!==b&&(e.hash=h.substr(b),h=h.slice(0,b));var D=h.indexOf("?");if(-1!==D?(e.search=h.substr(D),e.query=h.substr(D+1),r&&(e.query=ne(e.query)),h=h.slice(0,D)):r&&(e.search="",e.query={}),h&&(e.pathname=h),Ae[m]&&e.hostname&&!e.pathname&&(e.pathname="/"),e.pathname||e.search){f=e.pathname||"";var L=e.search||"";e.path=f+L}return e.href=Te(e),e}function Te(e){var a=e.auth||"";a&&(a=(a=encodeURIComponent(a)).replace(/%3A/i,":"),a+="@");var r,n,o,s,i=e.protocol||"",h=e.pathname||"",c=e.hash||"",u=!1,l="";e.host?u=a+e.host:e.hostname&&(u=a+(-1===e.hostname.indexOf(":")?e.hostname:"["+this.hostname+"]"),e.port&&(u+=":"+e.port)),e.query&&t(e.query)&&Object.keys(e.query).length&&(r=e.query,n=n||"&",o=o||"=",null===r&&(r=void 0),l="object"==typeof r?ae(re(r),(function(e){var t=encodeURIComponent(te(e))+o;return ee(r[e])?ae(r[e],(function(e){return t+encodeURIComponent(te(e))})).join(n):t+encodeURIComponent(te(r[e]))})).join(n):s?encodeURIComponent(te(s))+o+encodeURIComponent(te(r)):"");var p=e.search||l&&"?"+l||"";return i&&":"!==i.substr(-1)&&(i+=":"),e.slashes||(!i||Ae[i])&&!1!==u?(u="//"+(u||""),h&&"/"!==h.charAt(0)&&(h="/"+h)):u||(u=""),c&&"#"!==c.charAt(0)&&(c="#"+c),p&&"?"!==p.charAt(0)&&(p="?"+p),i+u+(h=h.replace(/[?#]/g,(function(e){return encodeURIComponent(e)})))+(p=p.replace("#","%23"))+c}function ye(e){var t=e.host,a=he.exec(t);a&&(":"!==(a=a[0])&&(e.port=a.substr(1)),t=t.substr(0,t.length-a.length)),t&&(e.hostname=t)}se.prototype.parse=function(e,t,a){return Oe(this,e,t,a)},se.prototype.format=function(){return Te(this)},se.prototype.resolve=function(e){return this.resolveObject(Se(e,!1,!0)).format()},se.prototype.resolveObject=function(e){if(a(e)){var t=new se;t.parse(e,!1,!0),e=t}for(var o,s=new se,i=Object.keys(this),h=0;h<i.length;h++){var c=i[h];s[c]=this[c]}if(s.hash=e.hash,""===e.href)return s.href=s.format(),s;if(e.slashes&&!e.protocol){for(var u=Object.keys(e),l=0;l<u.length;l++){var p=u[l];"protocol"!==p&&(s[p]=e[p])}return Ae[s.protocol]&&s.hostname&&!s.pathname&&(s.path=s.pathname="/"),s.href=s.format(),s}if(e.protocol&&e.protocol!==s.protocol){if(!Ae[e.protocol]){for(var f=Object.keys(e),d=0;d<f.length;d++){var m=f[d];s[m]=e[m]}return s.href=s.format(),s}if(s.protocol=e.protocol,e.host||ve[e.protocol])s.pathname=e.pathname;else{for(o=(e.pathname||"").split("/");o.length&&!(e.host=o.shift()););e.host||(e.host=""),e.hostname||(e.hostname=""),""!==o[0]&&o.unshift(""),o.length<2&&o.unshift(""),s.pathname=o.join("/")}if(s.search=e.search,s.query=e.query,s.host=e.host||"",s.auth=e.auth,s.hostname=e.hostname||e.host,s.port=e.port,s.pathname||s.search){var R=s.pathname||"",E=s.search||"";s.path=R+E}return s.slashes=s.slashes||e.slashes,s.href=s.format(),s}var v,A=s.pathname&&"/"===s.pathname.charAt(0),S=e.host||e.pathname&&"/"===e.pathname.charAt(0),O=S||A||s.host&&e.pathname,T=O,y=s.pathname&&s.pathname.split("/")||[],_=s.protocol&&!Ae[s.protocol];if(o=e.pathname&&e.pathname.split("/")||[],_&&(s.hostname="",s.port=null,s.host&&(""===y[0]?y[0]=s.host:y.unshift(s.host)),s.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(""===o[0]?o[0]=e.host:o.unshift(e.host)),e.host=null),O=O&&(""===o[0]||""===y[0])),S)s.host=e.host||""===e.host?e.host:s.host,s.hostname=e.hostname||""===e.hostname?e.hostname:s.hostname,s.search=e.search,s.query=e.query,y=o;else if(o.length)y||(y=[]),y.pop(),y=y.concat(o),s.search=e.search,s.query=e.query;else if(!r(e.search))return _&&(s.hostname=s.host=y.shift(),(v=!!(s.host&&s.host.indexOf("@")>0)&&s.host.split("@"))&&(s.auth=v.shift(),s.host=s.hostname=v.shift())),s.search=e.search,s.query=e.query,n(s.pathname)&&n(s.search)||(s.path=(s.pathname?s.pathname:"")+(s.search?s.search:"")),s.href=s.format(),s;if(!y.length)return s.pathname=null,s.search?s.path="/"+s.search:s.path=null,s.href=s.format(),s;for(var I=y.slice(-1)[0],g=(s.host||e.host||y.length>1)&&("."===I||".."===I)||""===I,C=0,w=y.length;w>=0;w--)"."===(I=y[w])?y.splice(w,1):".."===I?(y.splice(w,1),C++):C&&(y.splice(w,1),C--);if(!O&&!T)for(;C--;C)y.unshift("..");!O||""===y[0]||y[0]&&"/"===y[0].charAt(0)||y.unshift(""),g&&"/"!==y.join("/").substr(-1)&&y.push("");var N=""===y[0]||y[0]&&"/"===y[0].charAt(0);return _&&(s.hostname=s.host=N?"":y.length?y.shift():"",(v=!!(s.host&&s.host.indexOf("@")>0)&&s.host.split("@"))&&(s.auth=v.shift(),s.host=s.hostname=v.shift())),(O=O||s.host&&y.length)&&!N&&y.unshift(""),y.length?s.pathname=y.join("/"):(s.pathname=null,s.path=null),n(s.pathname)&&n(s.search)||(s.path=(s.pathname?s.pathname:"")+(s.search?s.search:"")),s.auth=e.auth||s.auth,s.slashes=s.slashes||e.slashes,s.href=s.format(),s},se.prototype.parseHost=function(){return ye(this)};const _e=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"}),Ie=e=>({display:e?"block":"none"});var ge,Ce,we,Ne;!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"}(ge||(ge={})),function(e){e.PROCESSING="PROCESSING",e.COMPLETED="COMPLETED"}(Ce||(Ce={})),function(e){e.TRANSAK_WIDGET_INITIALISED="TRANSAK_WIDGET_INITIALISED",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"}(we||(we={})),function(e){e.PROCESSING="PROCESSING",e.COMPLETED="COMPLETED"}(Ne||(Ne={}));const Pe=["global.transak.com","global-stg.transak.com"],xe={[we.TRANSAK_WIDGET_OPEN]:{screen:"InputScreen",control:"TransakWidgetOpen",controlType:"IframeEvent"},[we.TRANSAK_ORDER_CREATED]:{screen:"InputScreen",control:"OrderCreated",controlType:"IframeEvent"},[`${we.TRANSAK_ORDER_SUCCESSFUL}${Ne.PROCESSING}`]:{screen:"OrderInProgress",control:"PaymentProcessing",controlType:"IframeEvent"},[`${we.TRANSAK_ORDER_SUCCESSFUL}${Ne.COMPLETED}`]:{screen:"Success",control:"PaymentCompleted",controlType:"IframeEvent"},[we.TRANSAK_ORDER_FAILED]:{screen:"Failure",control:"PaymentFailed",controlType:"IframeEvent"}},be=e=>{const{track:t}=o(),{userJourney:a,ref:r,email:n,userId:i,isPassportWallet:h,failedToLoadTimeoutInMs:c,onFailedToLoad:u}=e,[l,p]=s.useState(!1),f=c||1e4,d=s.useRef(void 0),m=s.useCallback((e=>{const r=e.event_id,o=[we.TRANSAK_ORDER_SUCCESSFUL].includes(r)?`${r}${e.data.status}`:r,s=xe?.[o]||{};Object.keys(s).length>=0&&t({...s,userJourney:a,extras:{email:n,userId:i,isPassportWallet:h}})}),[]),R=s.useCallback((t=>{switch(t.event_id){case we.TRANSAK_WIDGET_INITIALISED:a=t.data,p(!0),clearTimeout(d.current),d.current=void 0,e.onInit?.(a);break;case we.TRANSAK_WIDGET_OPEN:e.onOpen?.(t.data);break;case we.TRANSAK_ORDER_CREATED:e.onOrderCreated?.(t.data);break;case we.TRANSAK_ORDER_SUCCESSFUL:t.data.status===Ne.PROCESSING&&e.onOrderProcessing?.(t.data),t.data.status===Ne.COMPLETED&&e.onOrderCompleted?.(t.data);break;case we.TRANSAK_ORDER_FAILED:e.onOrderFailed?.(t.data)}var a}),[]),E=s.useCallback((e=>{const t=Se(e.origin)?.host?.toLowerCase();e.source===r?.current?.contentWindow&&t&&Pe.includes(t)&&(m(e.data),R(e.data),console.log("@@@ Transak event",e))}),[r]);return s.useEffect((()=>(window.addEventListener("message",E),()=>{clearTimeout(d.current),window.removeEventListener("message",E)})),[]),{initialised:l,onLoad:()=>{void 0!==u&&(void 0!==d.current||l||(d.current=setTimeout((()=>{l||u()}),f)))}}},De="transak-iframe",Le=6e3;function Ue({passport:e,showIframe:t,tokenAmount:a,tokenAddress:r}){const{connectLoaderState:n}=s.useContext(i),{checkout:S,provider:O}=n,{eventTargetState:{eventTarget:T}}=s.useContext(h),{t:y}=c(),{viewState:_,viewDispatch:I}=s.useContext(u),[g,C]=s.useState(""),w=s.useRef(),N=!!e&&O?.provider?.isPassport,P=s.useMemo((()=>_.history.length>2&&_.history[_.history.length-2].type===l.TOP_UP_VIEW),[_.history]),{track:b}=o();return s.useEffect((()=>{if(!S||!O)return;let t,n="";(async()=>{const t={exchangeType:p.ONRAMP,web3Provider:O,tokenAddress:r,tokenAmount:a,passport:e};C(await S.createFiatRampUrl(t)),n=await O.getSigner().getAddress()})(),(async()=>{if(e){const a=await e.getUserInfo();t=a?.email}})();const o=document.getElementById(De);if(!o)return;window.addEventListener("message",(e=>{if(!o)return;const s=oe.parse(e.origin)?.host?.toLowerCase();e.source===o.contentWindow&&s&&Pe.includes(s)&&((async(e,t,a)=>{const r={userId:t.toLowerCase(),isPassportWallet:N,email:a};switch(e.event_id){case ge.TRANSAK_WIDGET_OPEN:b({userJourney:v.ON_RAMP,screen:"InputScreen",control:"TransakWidgetOpen",controlType:"IframeEvent",extras:{...r}});break;case ge.TRANSAK_ORDER_CREATED:b({userJourney:v.ON_RAMP,screen:"InputScreen",control:"OrderCreated",controlType:"IframeEvent",extras:{...r}});break;case ge.TRANSAK_ORDER_SUCCESSFUL:e.data.status===Ce.PROCESSING&&b({userJourney:v.ON_RAMP,screen:"OrderInProgress",control:"PaymentProcessing",controlType:"IframeEvent",extras:{...r}}),e.data.status===Ce.COMPLETED&&b({userJourney:v.ON_RAMP,screen:"Success",control:"PaymentCompleted",controlType:"IframeEvent",extras:{...r}});break;case ge.TRANSAK_ORDER_FAILED:b({userJourney:v.ON_RAMP,screen:"Failure",control:"PaymentFailed",controlType:"IframeEvent",extras:{...r}})}})(e.data,n,t),(e=>{if(w.current&&clearTimeout(w.current),e.event_id!==ge.TRANSAK_WIDGET_OPEN)return e.event_id===ge.TRANSAK_ORDER_SUCCESSFUL&&e.data.status===Ce.PROCESSING?(I({payload:{type:A.UPDATE_VIEW,view:{type:x.IN_PROGRESS_LOADING}}}),void(w.current=window.setTimeout((()=>{I({payload:{type:A.UPDATE_VIEW,view:{type:x.IN_PROGRESS}}})}),Le))):void(e.event_id!==ge.TRANSAK_ORDER_SUCCESSFUL||e.data.status!==Ce.COMPLETED?e.event_id===ge.TRANSAK_ORDER_FAILED&&I({payload:{type:A.UPDATE_VIEW,view:{type:x.FAIL,data:{amount:a,tokenAddress:r},reason:`Transaction failed: ${e.data.statusReason}`}}}):I({payload:{type:A.UPDATE_VIEW,view:{type:x.SUCCESS,data:{transactionHash:e.data.transactionHash}}}}));I({payload:{type:A.UPDATE_VIEW,view:{type:x.ONRAMP,data:{amount:_.view.data?.amount??a,tokenAddress:_.view.data?.tokenAddress??r}}}})})(e.data))}))}),[S,O,a,r,e]),f.jsx(d,{sx:Ie(t),children:f.jsx(m,{header:f.jsx(R,{showBack:P,title:y("views.ONRAMP.header.title"),onCloseButtonClick:()=>E(T)}),footerBackgroundColor:"base.color.translucent.emphasis.200",children:f.jsx(d,{sx:_e(t),children:f.jsx("iframe",{title:"Transak",id:De,src:g,allow:"camera;microphone;fullscreen;payment",style:{height:"100%",width:"100%",border:"none",position:"absolute"}})})})})}function je(){const{eventTargetState:{eventTarget:e}}=s.useContext(h),{t:t}=c();return f.jsx(m,{testId:"order-in-progress-view",header:f.jsx(R,{transparent:!0,onCloseButtonClick:()=>E(e)}),footer:f.jsx(S,{}),heroContent:f.jsx(D,{}),floatHeader:!0,children:f.jsxs(O,{heading:t("views.ONRAMP.IN_PROGRESS.content.heading"),children:[t("views.ONRAMP.IN_PROGRESS.content.body1"),f.jsx("br",{}),f.jsx("br",{}),t("views.ONRAMP.IN_PROGRESS.content.body2")]})})}function ke({amount:e,tokenAddress:t,config:a}){const{isOnRampEnabled:r,isSwapEnabled:n,isBridgeEnabled:o}=a,[p,d]=s.useReducer(T,{...y,history:[]}),m=s.useMemo((()=>({viewState:p,viewDispatch:d})),[p,T]),{connectLoaderState:R}=s.useContext(i),{checkout:S,provider:O}=R,[D,L]=s.useState(t),{eventTargetState:{eventTarget:U}}=s.useContext(h),{t:j}=c(),k=s.useMemo((()=>p.view.type===x.ONRAMP),[p.view.type]);return s.useEffect((()=>{S&&O&&(async()=>{if(!(await S.getNetworkInfo({provider:O})).isSupported)return;const e=D?.toLocaleLowerCase()===_?_:t;L(e)})()}),[S,O,d]),f.jsxs(u.Provider,{value:m,children:[p.view.type===l.LOADING_VIEW&&f.jsx(I,{loadingText:j("views.ONRAMP.initialLoadingText"),showFooterLogo:!0}),p.view.type===x.IN_PROGRESS_LOADING&&f.jsx(I,{loadingText:j("views.ONRAMP.IN_PROGRESS_LOADING.loading.text"),showFooterLogo:!0}),p.view.type===x.IN_PROGRESS&&f.jsx(je,{}),p.view.type===x.SUCCESS&&f.jsx(g,{statusText:j("views.ONRAMP.SUCCESS.text"),actionText:j("views.ONRAMP.SUCCESS.actionText"),onRenderEvent:()=>C(U,p.view.data.transactionHash),onActionClick:()=>E(U),statusType:w.SUCCESS,testId:"success-view"}),p.view.type===x.FAIL&&f.jsx(g,{statusText:j("views.ONRAMP.FAIL.text"),actionText:j("views.ONRAMP.FAIL.actionText"),onRenderEvent:()=>N(U,p.view.reason??"Transaction failed"),onActionClick:()=>{d({payload:{type:A.UPDATE_VIEW,view:{type:x.ONRAMP,data:p.view.data}}})},statusType:w.FAILURE,onCloseClick:()=>E(U),testId:"fail-view"}),p.view.type!==x.SUCCESS&&p.view.type!==x.FAIL&&f.jsx(Ue,{passport:S?.passport,showIframe:k,tokenAmount:p.view.data?.amount??e,tokenAddress:p.view.data?.tokenAddress??D}),p.view.type===l.TOP_UP_VIEW&&f.jsx(b,{analytics:{userJourney:v.ON_RAMP},widgetEvent:P.IMTBL_ONRAMP_WIDGET_EVENT,checkout:S,provider:O,showOnrampOption:r,showSwapOption:n,showBridgeOption:o,onCloseButtonClick:()=>E(U)})]})}var Fe=Object.freeze({__proto__:null,default:ke});export{ke as O,Fe as a,be as u};