@imtbl/sdk 1.45.1 → 1.45.2-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 (39) hide show
  1. package/dist/blockchain_data.js +2 -2
  2. package/dist/browser/checkout/{BridgeWidget-1fe55e1d.js → BridgeWidget-33fe2d0c.js} +1 -1
  3. package/dist/browser/checkout/{OnRampWidget-b2906496.js → OnRampWidget-b8c9cd0b.js} +1 -1
  4. package/dist/browser/checkout/SaleWidget-cca46d60.js +1 -0
  5. package/dist/browser/checkout/{SpendingCapHero-5b467efd.js → SpendingCapHero-1b919b8c.js} +1 -1
  6. package/dist/browser/checkout/{SwapWidget-0cf02a7c.js → SwapWidget-a9fb4c7b.js} +1 -1
  7. package/dist/browser/checkout/{TopUpView-742d8a9b.js → TopUpView-b056d920.js} +1 -1
  8. package/dist/browser/checkout/{WalletWidget-04923baf.js → WalletWidget-450a3439.js} +1 -1
  9. package/dist/browser/checkout/{auto-track-d8e12e3d.js → auto-track-4fc68d3e.js} +1 -1
  10. package/dist/browser/checkout/{balance-2290eaf3.js → balance-18ac456f.js} +1 -1
  11. package/dist/browser/checkout/{index-1a84a032.js → index-4a0c58c0.js} +1 -1
  12. package/dist/browser/checkout/index-57373dd3.js +1 -0
  13. package/dist/browser/checkout/{index-8aaa9aa6.js → index-61da45d2.js} +1 -1
  14. package/dist/browser/checkout/{index-ff545313.js → index-668c358b.js} +1 -1
  15. package/dist/browser/checkout/{index-b19a05ed.js → index-6bc3e52a.js} +1 -1
  16. package/dist/browser/checkout/{index-58429539.js → index-98df569a.js} +1 -1
  17. package/dist/browser/checkout/{index-23793c68.js → index-bca0dfd7.js} +2 -2
  18. package/dist/browser/checkout/{index-d2960e63.js → index-f53fdc26.js} +1 -1
  19. package/dist/browser/checkout/{index.umd-6b0466d0.js → index.umd-f9001eae.js} +1 -1
  20. package/dist/browser/checkout/{retry-52c80d97.js → retry-dc9e0a7d.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 +2 -2
  24. package/dist/checkout.d.ts +2 -0
  25. package/dist/checkout.js +4 -4
  26. package/dist/config.js +1 -1
  27. package/dist/index.browser.js +4 -4
  28. package/dist/index.browser.js.map +1 -1
  29. package/dist/index.cjs +8 -9
  30. package/dist/index.d.ts +2 -0
  31. package/dist/index.js +8 -9
  32. package/dist/minting_backend.js +2 -2
  33. package/dist/orderbook.js +1 -1
  34. package/dist/passport.js +5 -6
  35. package/dist/webhook.js +1 -1
  36. package/dist/x.js +3 -3
  37. package/package.json +1 -1
  38. package/dist/browser/checkout/SaleWidget-cb5741e0.js +0 -1
  39. package/dist/browser/checkout/index-2af5207e.js +0 -1
@@ -5339,7 +5339,7 @@ const flattenProperties = (properties) => {
5339
5339
  };
5340
5340
 
5341
5341
  // WARNING: DO NOT CHANGE THE STRING BELOW. IT GETS REPLACED AT BUILD TIME.
5342
- const SDK_VERSION = '1.45.1';
5342
+ const SDK_VERSION = '1.45.2-alpha.1';
5343
5343
  const getFrameParentDomain = () => {
5344
5344
  if (isNode()) {
5345
5345
  return '';
@@ -5610,7 +5610,7 @@ class APIError extends Error {
5610
5610
 
5611
5611
  /* eslint-disable implicit-arrow-linebreak */
5612
5612
  const defaultHeaders = {
5613
- sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.45.1',
5613
+ sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.45.2-alpha.1',
5614
5614
  };
5615
5615
  /**
5616
5616
  * createAPIConfiguration to create a custom Configuration
@@ -1 +1 @@
1
- import{bG as e,j as t,_ as a,aq as n,o as s,k as o,K as r,bH as i,r as l,I as c,b2 as d,n as u,bI as p,M as w,aN as g,l as h,d as f,a as b,bJ as m,ag as v,bK as x,Q as T,bL as E,P as y,bf as I,t as A,U as S,aP as k,V as C,aD as R,p as _,a8 as D,aa as N,be as P,bM as L,bN as W,G as O,X as B,bO as M,Y as G,E as F,w as z,y as U,T as V,x as $,bP as H,bQ as K,bR as J,$ as j,a2 as q,bS as Q,a3 as Y,bT as X,bU as Z,bV as ee,aj as te,aZ as ae,bW as ne,H as se,a5 as oe,bX as re,a4 as ie,a7 as le,B as ce,a0 as de,A as ue,v as pe,bh as we,bj as ge,b8 as he,bd as fe,bY as be,at as me,as as ve,bZ as xe,bn as Te,bi as Ee,b_ as ye,b$ as Ie,bp as Ae,L as Se,c0 as ke,c1 as Ce,ab as Re,ac as _e,c2 as De,ae as Ne,bq as Pe,c3 as Le,c4 as We,bg as Oe,ah as Be,ai as Me,c5 as Ge,bs as Fe,c6 as ze,bt as Ue,aL as Ve,ak as $e,c7 as He,c8 as Ke,c9 as Je}from"./index-23793c68.js";import{B as je,C as qe,f as Qe,a as Ye,p as Xe,T as Ze,b as et}from"./TopUpView-742d8a9b.js";import{T as tt,r as at,u as nt}from"./retry-52c80d97.js";import{A as st,S as ot,T as rt,a as it,g as lt,F as ct,N as dt,W as ut}from"./balance-2290eaf3.js";const{Axios:pt,AxiosError:wt,CanceledError:gt,isCancel:ht,CancelToken:ft,VERSION:bt,all:mt,Cancel:vt,isAxiosError:xt,spread:Tt,toFormData:Et,AxiosHeaders:yt,HttpStatusCode:It,formToJSON:At,getAdapter:St,mergeConfig:kt}=e;var Ct=["leftSideLength","rightSideLength","text","rc","sx"],Rt=["use"],_t=["size"],Dt=["weight"];function Nt(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function Pt(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?Nt(Object(a),!0).forEach((function(t){o(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Nt(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function Lt(e){var o=e.leftSideLength,r=void 0===o?8:o,i=e.rightSideLength,l=void 0===i?4:i,c=e.text,d=e.rc,u=void 0===d?t("span",{}):d,p=e.sx,w=a(e,Ct),g="use"in w?w:Pt(Pt({},w),{},{use:void 0}),h=g.use,f=a(g,Rt),b="size"in f?f:Pt({size:void 0},f),m=b.size,v=a(b,_t),x="weight"in v?v:Pt({weight:void 0},v),T=x.weight,E=a(x,Dt),y=function(e){var t=e.text,a=e.leftSideLength,n=void 0===a?4:a,s=e.rightSideLength,o=void 0===s?4:s;if(n+o>=t.length)return t;var r=t.substring(0,n),i=t.substring(t.length-o,t.length);return"".concat(r,"...").concat(i)}({leftSideLength:r,rightSideLength:l,text:c});return n(h||t(s,{size:m,weight:T}),Pt(Pt({},E),{},{rc:u,sx:p,children:y}))}async function Wt(e,t,a){let n=!1,s=t;try{const{isConnected:a}=await e.checkIsWalletConnected({provider:t});n=a}catch(e){throw console.error(e),e}if(!n||a)try{const{provider:o}=await e.connect({provider:t,requestWalletPermissions:a});s=o,n=!0}catch(e){throw e.type===r.USER_REJECTED_REQUEST_ERROR&&console.log("User rejected request"),console.error(e),e}return s}Lt.displayName="EllipsizedText";class Ot{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=`${i[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:a,fromAddress:n}=t;try{const t=`${this.url}/v1/transactions?from_address=${n}&tx_type=${a}`,s=this.getCache(t);if(s)return Promise.resolve(s);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 a=It.InternalServerError,n="InternalServerError";return e.isAxiosError(t)&&(a=t.response?.status||a,n=t.message),Promise.reject({code:a,message:n})}}}var Bt;!function(e){e.BRIDGE="bridge"}(Bt||(Bt={}));const Mt={IN_PROGRESS:"in_progress",WITHDRAWAL_PENDING:"withdrawal_pending"},Gt={web3Provider:null,walletProviderName:null,from:null,to:null,tokenBridge:null,tokenBalances:[],allowedTokens:[],token:null,amount:"0"};var Ft;!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"}(Ft||(Ft={}));const zt=l.createContext({bridgeState:{...Gt,checkout:{}},bridgeDispatch:()=>{}});zt.displayName="BridgeContext";const Ut=(e,t)=>{switch(t.payload.type){case Ft.SET_WALLETS_AND_NETWORKS:return{...e,from:t.payload.from,to:t.payload.to};case Ft.SET_WALLET_PROVIDER_NAME:return{...e,walletProviderName:t.payload.walletProviderName};case Ft.SET_PROVIDER:return{...e,web3Provider:t.payload.web3Provider};case Ft.SET_TOKEN_BRIDGE:return{...e,tokenBridge:t.payload.tokenBridge};case Ft.SET_TOKEN_BALANCES:return{...e,tokenBalances:t.payload.tokenBalances};case Ft.SET_ALLOWED_TOKENS:return{...e,allowedTokens:t.payload.allowedTokens};case Ft.SET_TOKEN_AND_AMOUNT:return{...e,token:t.payload.token,amount:t.payload.amount};default:return e}},Vt=(e,t)=>{const a=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.TRANSACTION_SENT,data:{transactionHash:t}}});console.log("bridge success ",e,a),void 0!==e&&e.dispatchEvent(a)};function $t(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 Ht(){return u(g,{sx:{gap:"base.spacing.x2"},children:[t(p,{sx:{h:"base.spacing.x4",w:"base.spacing.x32",mt:"base.spacing.x2"}}),t(w,{shimmer:!0,emphasized:!0,size:"small"}),t(w,{shimmer:!0,emphasized:!0,size:"small"}),t(w,{shimmer:!0,emphasized:!0,size:"small"})]})}const Kt={px:"base.spacing.x4",display:"flex",flexDirection:"column",height:"100%"},Jt={flexGrow:"1",flexShrink:"0",flexBasis:"0"},jt={flexGrow:"0",flexShrink:"1",mt:"base.spacing.x2"},qt={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 Qt({openWalletDrawer:e}){const{t:a}=h();return u(b,{sx:qt,children:[t(s,{sx:{mb:"base.spacing.x8"},children:a("views.TRANSACTIONS.status.emptyState.notConnected.body")}),t(f,{variant:"secondary",size:"medium",testId:"transactions-connect-wallet-button",onClick:e,children:a("views.TRANSACTIONS.status.emptyState.notConnected.buttonText")})]})}const Yt={backgroundColor:"base.color.neutral.800",px:"base.spacing.x4",p:"base.spacing.x5",borderRadius:"base.borderRadius.x6"},Xt={color:"base.color.text.body.secondary"};function Zt({checkout:e,isPassport:a}){const{t:n}=h(),[o,r]=l.useState("");return l.useEffect((()=>{e&&r(m[e.config.environment])}),[e]),t(b,{sx:Yt,children:u(b,{sx:{display:"flex",flexDirection:"column"},children:[u(b,{children:[t(s,{size:"small",children:n("views.TRANSACTIONS.support.body1")}),u(s,{size:"small",sx:Xt,children:[n("views.TRANSACTIONS.support.body2"),t(v,{size:"small",rc:t("a",{target:"_blank",href:n("views.TRANSACTIONS.support.supportLink"),rel:"noreferrer"}),children:n("views.TRANSACTIONS.support.body3")})]})]}),a&&u(s,{size:"small",sx:Xt,children:[n("views.TRANSACTIONS.support.passport.body1")," ",t(v,{size:"small",rc:t("a",{target:"_blank",href:o,rel:"noreferrer"}),children:n("views.TRANSACTIONS.support.passport.body2")})]})]})})}const ea={display:"flex",flexDirection:"column",borderRadius:"base.borderRadius.x4",bg:"base.color.translucent.emphasis.100"},ta={p:"base.spacing.x3",d:"flex",justifyContent:"space-between",position:"relative"},aa={display:"flex",flexGrow:"1",alignItems:"center",gap:"base.spacing.x2"};function na({transaction:e,environment:a}){const n=x(e.details.from_chain),o=x(e.details.to_chain);return u(b,{sx:{display:"flex",px:"base.spacing.x4",gap:"base.spacing.x2"},children:[t(y,{sx:{w:"base.icon.size.400",h:"base.icon.size.400"},use:t("img",{src:T(a,n),alt:E[n]})}),u(b,{sx:{display:"flex",flexDirection:"column",flexGrow:"1"},children:[t(s,{size:"xxSmall",sx:{color:"base.color.translucent.standard.900"},children:E[n]}),t(Lt,{size:"xxSmall",sx:{color:"base.color.translucent.standard.600"},text:e.details.from_address})]}),t(b,{sx:{flexGrow:"1"}}),t(I,{icon:"ArrowForward",sx:{w:"base.icon.size.250",fill:"base.color.brand.4"}}),t(b,{sx:{flexGrow:"1"}}),t(y,{sx:{w:"base.icon.size.400",h:"base.icon.size.400"},use:t("img",{src:T(a,o),alt:E[o]})}),u(b,{sx:{display:"flex",flexDirection:"column",flexGrow:"1"},children:[t(s,{size:"xxSmall",sx:{color:"base.color.translucent.standard.900"},children:E[o]}),t(Lt,{size:"xxSmall",sx:{color:"base.color.translucent.standard.600"},text:e.details.to_address})]})]})}function sa({label:e,details:a,transaction:n,fiatAmount:s,amount:o,icon:r,defaultTokenImage:i,environment:c}){const{track:d}=A(),p=l.useMemo((()=>`${a.link}${a.hash}`),[a]);return t(b,{testId:`transaction-item-${n.blockchain_metadata.transaction_hash}`,sx:ea,children:u(st,{chevronSide:"right",sx:{button:{p:"base.spacing.x1"},article:{pr:"base.spacing.x10"}},onExpandChange:e=>e&&d({userJourney:S.BRIDGE,screen:"TransactionItem",control:"Accordion",controlType:"Button"}),children:[t(st.TargetLeftSlot,{sx:{pr:"base.spacing.x2"},children:u(w,{size:"xSmall",children:[t(w.FramedImage,{circularFrame:!0,use:t(tt,{src:r,name:e,defaultImage:i})}),t(w.Label,{children:e}),t(w.Caption,{children:t(v,{size:"xSmall",rc:t("a",{target:"_blank",href:p,rel:"noreferrer",onClick:e=>{return t=a,e.stopPropagation(),void d({userJourney:S.BRIDGE,screen:"TransactionItem",control:"Details",controlType:"Link",extras:{linkDetail:t}});var t}}),children:a.text})}),t(w.PriceDisplay,{fiatAmount:s,price:o})]})}),u(st.ExpandedContent,{sx:{pr:"0",pl:"0",mb:"base.spacing.x3",gap:"0"},children:[t(k,{size:"xSmall",sx:{px:"base.spacing.x2"}}),t(na,{transaction:n,environment:c})]})]})})}const oa=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"}},ra={borderRadius:"base.borderRadius.x4",display:"flex",flexDirection:"column",gap:"base.spacing.x5"};function ia({label:e,transaction:a,fiatAmount:n,amount:o,icon:r,defaultTokenImage:i,environment:c}){const{viewDispatch:d}=l.useContext(C),{track:p}=A(),g=h(),m=l.useMemo((()=>(new Date).getTime()),[]),v=l.useMemo((()=>a.details.current_status.withdrawal_ready_at?new Date(a.details.current_status.withdrawal_ready_at):void 0),[a]),x=a.details.current_status.status===Mt.WITHDRAWAL_PENDING,T=new Intl.RelativeTimeFormat(g[1].language||"en",{numeric:"auto"}),E=l.useMemo((()=>{if(!x||void 0===v)return"";const e=(v.getTime()-m)/6e4;if(e<=1)return"in 1 minute";if(e<60)return T.format(Math.ceil(e),"minute");const t=e/60;if(e<1440)return T.format(Math.ceil(t),"hour");const a=t/24;return T.format(Math.ceil(a),"day")}),[m,g[1].language]),y=!!v&&v.getTime()<m,D=l.useMemo((()=>!0===y?g.t("views.TRANSACTIONS.status.withdrawalPending.withdrawalReadyText"):`${g.t("views.TRANSACTIONS.status.withdrawalPending.withdrawalDelayText")} ${E}`),[E,g[1].language]);return u(b,{testId:`transaction-item-${a.blockchain_metadata.transaction_hash}`,sx:ea,children:[x&&u(R,{children:[u(b,{sx:ta,children:[u(b,{sx:aa,children:[t(I,{icon:"Alert",variant:"bold",sx:{fill:y?"base.color.status.fatal.bright":"base.color.status.attention.bright",w:"base.icon.size.200"}}),t(s,{testId:`transaction-item-${a.blockchain_metadata.transaction_hash}-action-message`,size:"xSmall",sx:{color:"base.color.text.body.secondary"},children:D})]}),x&&y&&t(f,{testId:`transaction-item-${a.blockchain_metadata.transaction_hash}-action-button`,variant:"primary",size:"small",onClick:()=>{d({payload:{type:_.UPDATE_VIEW,view:{type:je.CLAIM_WITHDRAWAL,transaction:a}}})},children:g.t("views.TRANSACTIONS.status.withdrawalPending.actionButtonText")})]}),t(k,{size:"small",sx:{color:"base.color.translucent.emphasis.300",opacity:.1}})]}),u(st,{chevronSide:"right",sx:{button:{p:"base.spacing.x1"},article:{pr:"base.spacing.x10"},borderTopRightRadius:"0",borderTopLeftRadius:"0"},onExpandChange:e=>e&&p({userJourney:S.BRIDGE,screen:"TransactionItem",control:"Accordion",controlType:"Button"}),children:[t(st.TargetLeftSlot,{sx:{pr:"base.spacing.x2"},children:u(w,{size:"xSmall",children:[t(w.FramedImage,{circularFrame:!0,use:t(tt,{src:r,name:e,defaultImage:i})}),t(w.Label,{children:e}),t(w.Caption,{children:g.t("views.TRANSACTIONS.status.withdrawalPending.caption")}),t(w.PriceDisplay,{fiatAmount:n,price:o})]})}),u(st.ExpandedContent,{sx:{pr:"0",pl:"0",mb:"base.spacing.x3",gap:"0"},children:[t(k,{size:"xSmall",sx:{px:"base.spacing.x2"}}),t(na,{transaction:a,environment:c})]})]})]})}const la={display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",p:"base.spacing.x2",pb:"base.spacing.x4"},ca={position:"relative",pr:"base.spacing.x2"},da={width:"base.icon.size.400"},ua={position:"absolute",top:"-6px",left:"18px",width:"20px",padding:"2px",backgroundColor:"base.color.translucent.inverse.900",borderRadius:"base.borderRadius.x2"},pa={backgroundColor:"transparent",width:"base.icon.size.400",height:"base.icon.size.400",marginRight:"base.spacing.x1",padding:"base.spacing.x1"};function wa({onChangeWalletClick:e}){const{t:a}=h(),{bridgeState:{from:n}}=l.useContext(zt),[s,o]=l.useState(void 0),[r,i]=l.useState(!1),{isWalletConnectEnabled:c,getWalletLogoUrl:d}=D(),{track:p}=A(),w=n?.walletAddress||"",g=n?.walletProviderInfo;return l.useEffect((()=>{if(c){const e=N(n?.web3Provider);i(e),e&&(async()=>{o(await d())})()}}),[c,n]),u(b,{sx:la,children:[u(b,{sx:{display:"flex",alignItems:"center",gap:"base.spacing.x1"},children:[r&&s?u(b,{sx:ca,children:[t(y,{sx:da,use:t("img",{src:s,alt:"walletconnect"})}),t(P,{logo:"WalletConnectSymbol",sx:ua})]}):g&&t(L,{src:g.icon,alt:g.name,sx:pa}),t(Lt,{leftSideLength:6,rightSideLength:4,text:w})]}),t(f,{size:"small",variant:"tertiary",onClick:()=>{p({userJourney:S.BRIDGE,screen:je.TRANSACTIONS,controlType:"Button",control:"Pressed"}),e()},children:a("views.TRANSACTIONS.changeWallet.buttonText")})]})}function ga({checkout:e,transactions:a,knownTokenMap:n,isPassport:s,defaultTokenImage:o,changeWallet:r}){const{cryptoFiatState:i}=l.useContext(qe),{t:c}=h(),[d,p]=l.useState(""),{environment:w}=e.config;l.useEffect((()=>{e&&p(W[e.config.environment])}),[e]);const g=l.useCallback(((e,t)=>e.details.current_status.status===Mt.WITHDRAWAL_PENDING&&t.details.current_status.status!==Mt.WITHDRAWAL_PENDING?-1:e.details.current_status.status===t.details.current_status.status?0:1),[]),f=l.useCallback((t=>O(t.details.from_token_address)?B(e.config.environment,M(t.details.from_chain)):B(e.config.environment,t.details.from_token_address)),[e]);return u(b,{sx:oa(s),children:[t(wa,{onChangeWalletClick:r}),t(b,{testId:"move-transaction-list",sx:ra,children:a.sort(g).map((e=>{const a=e.blockchain_metadata.transaction_hash,s=n[e.details.from_chain][e.details.from_token_address.toLowerCase()],r=Qe(e.details.amount,s.decimals),l=G(r,s.symbol,i.conversions);return e.details.current_status.status===Mt.WITHDRAWAL_PENDING?t(ia,{label:s.symbol,transaction:e,fiatAmount:`${c("views.TRANSACTIONS.fiatPricePrefix")}${l}`,amount:r,icon:f(e),defaultTokenImage:o,environment:w},a):t(sa,{label:s.symbol,details:{text:c("views.TRANSACTIONS.status.inProgress.stepInfo"),link:d,hash:a},transaction:e,fiatAmount:`${c("views.TRANSACTIONS.fiatPricePrefix")}${l}`,amount:r,icon:f(e),defaultTokenImage:o,environment:w},a)}))})]})}const ha={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"},fa={display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",padding:"base.spacing.x5",flex:1},ba={mb:"base.spacing.x8",color:"base.color.text.body.secondary"},ma={color:"base.color.text.body.secondary"};function va({checkout:e,isPassport:a,changeWallet:n}){const{page:o}=A(),{t:r}=h(),[i,c]=l.useState("");return l.useEffect((()=>{e&&c(m[e.config.environment])}),[e]),l.useEffect((()=>{o({userJourney:S.BRIDGE,screen:"NoTransactions"})}),[]),u(b,{sx:ha,children:[t(wa,{onChangeWalletClick:n}),u(b,{sx:fa,children:[t(s,{size:"small",sx:ba,children:r("views.TRANSACTIONS.status.noTransactions.body")}),a&&u(s,{size:"small",sx:ma,children:[r("views.TRANSACTIONS.status.noTransactions.passport.body")," ",t(v,{size:"small",rc:t("a",{target:"_blank",href:i,rel:"noreferrer"}),children:r("views.TRANSACTIONS.status.noTransactions.passport.link")})]})]})]})}function xa({defaultTokenImage:e,onBackButtonClick:a}){const{eventTargetState:{eventTarget:n}}=l.useContext(F),{cryptoFiatDispatch:s}=l.useContext(qe),{bridgeDispatch:o,bridgeState:{checkout:r,from:i}}=l.useContext(zt),{page:c}=A(),{t:d}=h(),{track:p}=A(),[w,g]=l.useState(!0),[f,m]=l.useState(void 0),[v,x]=l.useState([]),[T,E]=l.useState(!1),y=z(i?.web3Provider),I=l.useCallback((async()=>{if(!r)return{};const e=U(r.config);try{return((await r.getTokenAllowList({type:V.BRIDGE,chainId:e})).tokens??[]).reduce(((e,t)=>(e[t.address.toLowerCase()]=t,e)),{})}catch(e){return console.error(e),[]}}),[r]),k=l.useCallback((async()=>{if(!i?.web3Provider)return{};if(!i?.walletAddress)return{};const e=$(r.config);try{return(await r.getAllBalances({provider:i?.web3Provider,walletAddress:i?.walletAddress,chainId:e})).balances.reduce(((e,t)=>(e[t.token.address.toLowerCase()]=t.token,e)),{})}catch(e){return console.error(e),[]}}),[r,i]),C=async e=>{const t=X(U(r.config)),a=X($(r.config)),[n,o]=await Promise.all([I(),k()]),i={};Object.entries(e).forEach((([s,r])=>{(e[s]===t&&!n[s]||e[s]===a&&!o[s])&&(i[s]=r)}));const l=new Z(r.config.networkMap.get(U(r.config))?.rpcUrls[0]),c=new Z(r.config.networkMap.get($(r.config))?.rpcUrls[0]),d=[],u=[];Object.entries(i).forEach((([e,a])=>{a===t?d.push(r.getTokenInfo({provider:l,tokenAddress:e})):u.push(r.getTokenInfo({provider:c,tokenAddress:e}))}));const p=await Promise.allSettled(d),w=await Promise.allSettled(u);p.filter((e=>"fulfilled"===e.status)).forEach((e=>{const t=e;n[t.value.address.toLowerCase()]=t.value})),w.filter((e=>"fulfilled"===e.status)).forEach((e=>{const t=e;o[t.value.address.toLowerCase()]=t.value}));const g=[];return Object.values(n).forEach((e=>g.push(e.symbol.toLowerCase()))),Object.values(o).forEach((e=>g.push(e.symbol.toLowerCase()))),s({payload:{type:Ye.SET_TOKEN_SYMBOLS,tokenSymbols:g}}),{[t]:n,[a]:o}},R=l.useCallback((async(e,t)=>new Ot({env:e}).getTransactions({txType:Bt.BRIDGE,fromAddress:t})),[]),_=l.useCallback((async e=>{p({userJourney:S.BRIDGE,screen:"EmptyStateNotConnected",control:"WalletProvider",controlType:"Select",extras:{walletProviderName:e.providerDetail.info.name}});try{let t=!1;e.providerDetail.info.rdns===H.METAMASK&&(t=!0);const a=new K(e.provider),n=await Wt(r,a,t),s=await n.getNetwork(),i=await n.getSigner().getAddress();x([]),o({payload:{type:Ft.SET_WALLETS_AND_NETWORKS,from:{web3Provider:n,walletProviderInfo:{...e.providerDetail.info},walletAddress:i.toLowerCase(),network:s.chainId},to:null}})}catch(e){console.error(e)}finally{E(!1)}}),[r]),D=l.useCallback((async()=>{if(!i?.walletAddress)return;const e=await R(r.config.environment,i?.walletAddress),t={};return e.result.forEach((e=>{t[e.details.from_token_address]=e.details.from_chain})),{tokens:await C(t),transactions:e.result}}),[i,R]),{providers:N}=J({checkout:r}),P=l.useMemo((()=>N),[N]);return l.useEffect((()=>{(async()=>{g(!0);const e=await at(D,ee);if(!e)return void g(!1);const t=e.transactions.filter((t=>{const a=e.tokens[t.details.from_chain];if(!a)return!1;return!!a[t.details.from_token_address.toLowerCase()]}));m(e.tokens),x(t),g(!1)})()}),[i,r]),l.useEffect((()=>{c({userJourney:S.BRIDGE,screen:"Transactions"})}),[]),t(Y,{testId:"bridge-view",header:t(j,{showBack:!0,onBackButtonClick:()=>{i&&(o({payload:{type:Ft.SET_WALLETS_AND_NETWORKS,from:{web3Provider:i?.web3Provider,walletAddress:i?.walletAddress,walletProviderInfo:i?.walletProviderInfo,network:i?.network},to:null}}),o({payload:{type:Ft.SET_TOKEN_AND_AMOUNT,token:null,amount:""}})),a()},title:d("views.TRANSACTIONS.layoutHeading"),onCloseButtonClick:()=>$t(n)}),footer:t(q,{}),children:u(b,{sx:Kt,children:[u(b,{sx:Jt,children:[!i?.web3Provider&&t(Qt,{openWalletDrawer:()=>E(!0)}),i?.web3Provider&&w&&t(Ht,{}),i?.web3Provider&&!w&&v.length>0&&f&&t(ga,{checkout:r,transactions:v,knownTokenMap:f,isPassport:y,defaultTokenImage:e,changeWallet:()=>E(!0)}),i?.web3Provider&&!w&&0===v.length&&t(va,{checkout:r,isPassport:y,changeWallet:()=>E(!0)})]}),i?.web3Provider&&v.length>0&&t(b,{sx:jt,children:t(Zt,{checkout:r,isPassport:y})}),t(Q,{testId:"select-wallet-drawer",drawerText:{heading:d("views.TRANSACTIONS.walletSelection.heading")},showWalletSelectorTarget:!1,walletOptions:P,showDrawer:T,setShowDrawer:e=>{E(e)},onWalletChange:_})]})})}function Ta({transactionResponse:e}){const{t:a}=h(),{viewDispatch:n}=l.useContext(C),{page:s}=A();return l.useEffect((()=>{s({userJourney:S.BRIDGE,screen:"ClaimWithdrawalInProgress"})}),[]),l.useEffect((()=>{e&&(async()=>{try{const t=await e.wait();if(1===t.status)return void n({payload:{type:_.UPDATE_VIEW,view:{type:je.CLAIM_WITHDRAWAL_SUCCESS,transactionHash:t.transactionHash}}});n({payload:{type:_.UPDATE_VIEW,view:{type:je.CLAIM_WITHDRAWAL_FAILURE,transactionHash:t.transactionHash,reason:"Transaction failed"}}})}catch(e){console.error(e),n({payload:{type:_.UPDATE_VIEW,view:{type:je.CLAIM_WITHDRAWAL_FAILURE,transactionHash:"",reason:"Transaction failed"}}})}})()}),[e]),t(te,{loadingText:a("views.CLAIM_WITHDRAWAL.IN_PROGRESS.loading.text")})}function Ea(e){return e?e.substring(0,6).concat("...").concat(e.substring(e.length-4)):""}const ya={height:"100%",display:"flex",flexDirection:"column",paddingX:"base.spacing.x4"},Ia={paddingTop:"base.spacing.x10",paddingBottom:"base.spacing.x4"},Aa={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6"};function Sa({testId:e,chainId:a,chainName:n,onNetworkClick:s,environment:o}){return u(w,{testId:`${e}-network-list-${a}`,size:"medium",emphasized:!0,onClick:async()=>{await s(a)},sx:{marginBottom:"base.spacing.x1"},children:[t(w.FramedImage,{use:t("img",{src:T(o,a),alt:n})}),t(w.Label,{size:"medium",children:n})]})}ae.IMTBL_ZKEVM_DEVNET,ae.IMTBL_ZKEVM_TESTNET,ae.IMTBL_ZKEVM_MAINNET,ae.ETHEREUM,ae.SEPOLIA;const ka={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"}},Ca={width:"base.icon.size.500",backgroundColor:"base.color.translucent.standard.200",borderRadius:"base.borderRadius.x2"},Ra={position:"absolute",top:"14px",left:"38px",width:"28px",padding:"base.spacing.x1",backgroundColor:"base.color.translucent.inverse.900",borderRadius:"base.borderRadius.x2"},_a={color:"base.color.text.body.secondary"},Da={paddingY:"base.spacing.x6",borderRadius:"base.borderRadius.x18"};function Na({testId:e,walletProvider:a,walletProviderDetail:n,walletAddress:o,walletName:r,chainId:i,disableNetworkButton:c=!1,onWalletClick:d,onNetworkClick:p,environment:w}){const g=ne(i),[h,m]=l.useState(void 0),[v,x]=l.useState("Other"),[E,I]=l.useState(!1),{isWalletConnectEnabled:A,getWalletLogoUrl:S,getWalletName:k}=D(),C=l.useMemo((()=>n?.info.rdns===H.PASSPORT?r:N(a)?v:n?.info.name),[n,v,a]);return l.useEffect((()=>{if(A){const e=N(a);I(e),e&&((async()=>{m(await S())})(),x(k()))}}),[A,a,S,k]),u(b,{testId:`${e}-${n?.info.rdns}-${i}-button-wrapper`,sx:ka,onClick:d,children:[E&&h?u(R,{children:[t(y,{imageUrl:h,alt:"walletconnect",sx:Ca}),t(P,{logo:"WalletConnectSymbol",sx:Ra})]}):n&&t(L,{src:n.info.icon,alt:n.info.name}),u(b,{sx:{display:"flex",flexDirection:"column",flex:1},children:[t(se,{size:"xSmall",sx:{textTransform:"capitalize"},children:C}),t(s,{size:"xSmall",sx:_a,children:o})]}),u(f,{testId:`${e}-network-${i}-button`,size:"small",disabled:c,onClick:e=>{e.stopPropagation(),p(e)},variant:"tertiary",sx:Da,children:[t(y,{sx:{w:"base.icon.size.400",h:"base.icon.size.400"},use:t("img",{src:T(w,i),alt:g[i]})}),g]})]})}const Pa="wallet-network-selector";function La(){const{t:e}=h(),{bridgeState:{checkout:a,from:n,to:s},bridgeDispatch:o}=l.useContext(zt),{viewDispatch:r}=l.useContext(C),{providers:i}=J({checkout:a}),{environment:c}=a.config,{track:d}=A(),p=n?.web3Provider??null,w=n?.network??null,g=n?.walletAddress?.toLowerCase()??"",m=n?{provider:p,providerDetail:{provider:p,info:{...n.walletProviderInfo}}}:null,v=s?.web3Provider??null,x=s?.network??null,T=s?.walletAddress?.toLowerCase()??"",E=s?{provider:v,providerDetail:{provider:v,info:{...s.walletProviderInfo}}}:null,y=U(a.config),I=ne(y),k=$(a.config),R=ne(k),[D,P]=l.useState(!1),[L,W]=l.useState(!1),[O,B]=l.useState(p),[M,G]=l.useState(w),[F,V]=l.useState(g),[j,q]=l.useState(m),[Y,X]=l.useState(!1),[Z,ee]=l.useState(!1),[te,ae]=l.useState(v),[ce,de]=l.useState(x),[ue,pe]=l.useState(T),[we,ge]=l.useState(E),he=O&&M,fe=te&&ce,be=l.useMemo((()=>O?oe(O):null),[O]),me=l.useMemo((()=>te?oe(te):null),[te]),ve=l.useMemo((()=>i),[i]),xe=l.useMemo((()=>i.filter((e=>e.info.rdns!==H.PASSPORT||e.info.rdns===H.PASSPORT&&j?.providerDetail?.info?.rdns!==H.PASSPORT))),[i,M,j]);function Te(){ae(null),de(null)}l.useEffect((()=>{n&&s&&o({payload:{type:Ft.SET_WALLETS_AND_NETWORKS,from:null,to:null}})}),[n,s]);const Ee=l.useCallback((async e=>{Te(),q(e);let t=!1;e.providerDetail.info.rdns===H.METAMASK&&(t=!0);const n=new K(e.provider),s=await Wt(a,n,t);await(async e=>{B(e);const t=await e.getSigner().getAddress();if(V(t.toLowerCase()),d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"FromWallet",controlType:"Select",extras:{walletAddress:t.toLowerCase()}}),z(e))return G(k),P(!1),void d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"FromNetwork",controlType:"Select",extras:{chainId:k}});G(null),P(!1),setTimeout((()=>W(!0)),500)})(s)}),[a]),ye=l.useCallback((async e=>{O&&(Te(),W(!1),G(e),d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"FromNetwork",controlType:"Select",extras:{chainId:e}}))}),[a,O]),Ie=l.useCallback((async e=>{te&&(X(!1),de(e),d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"ToNetwork",controlType:"Select",extras:{chainId:e}}))}),[a,te]),Ae=l.useCallback((e=>{const t=F===e&&M===k?y:k;de(t),ee(!1),d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"ToNetwork",controlType:"Select",extras:{chainId:t}})}),[F,M]),Se=l.useCallback((e=>{ae(e),e.getSigner().getAddress().then((e=>{pe(e.toLowerCase()),Ae(e.toLowerCase()),d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"ToWallet",controlType:"Select",extras:{walletAddress:e.toLowerCase()}})}))}),[Ae]),ke=l.useCallback((async e=>{if(j?.providerDetail.info.rdns===e.providerDetail.info.rdns){ae(O),ge(e);const t=await O.getSigner().getAddress();return pe(t.toLowerCase()),Ae(t.toLowerCase()),void d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"ToWallet",controlType:"Select",extras:{walletAddress:t.toLowerCase()}})}try{ge(e);const t=new K(e.provider),n=await Wt(a,t,!1);if(N(n))Se(n);else{ae(n);const e=await n.getSigner().getAddress();pe(e.toLowerCase()),Ae(e.toLowerCase()),d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"ToWallet",controlType:"Select",extras:{walletAddress:e.toLowerCase()}})}}catch(e){console.error(e)}}),[be,O,Ae,Se]),Ce=l.useCallback((()=>{O&&M&&te&&ce&&(o({payload:{type:Ft.SET_TOKEN_BALANCES,tokenBalances:[]}}),o({payload:{type:Ft.SET_ALLOWED_TOKENS,allowedTokens:[]}}),o({payload:{type:Ft.SET_WALLETS_AND_NETWORKS,from:{web3Provider:O,walletAddress:F.toLowerCase(),walletProviderInfo:j?.providerDetail.info,network:M},to:{web3Provider:te,walletAddress:ue.toLowerCase(),walletProviderInfo:we?.providerDetail.info,network:ce}}}),d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"Next",controlType:"Button",extras:{fromWalletAddress:F,fromNetwork:M,fromWallet:{address:F,rdns:j?.providerDetail.info.rdns,uuid:j?.providerDetail.info.uuid,isPassportWallet:z(O),isMetaMask:re(O)},toWalletAddress:ue,toNetwork:ce,toWallet:{address:ue,rdns:we?.providerDetail.info.rdns,uuid:we?.providerDetail.info.uuid,isPassportWallet:z(te),isMetaMask:re(te)},moveType:M&&M===ce?"transfer":"bridge"}}),r({payload:{type:_.UPDATE_VIEW,view:{type:je.BRIDGE_FORM}}}))}),[j,O,M,F,we,te,ce,ue]);return u(b,{testId:Pa,sx:ya,children:[t(se,{testId:`${Pa}-heading`,size:"small",weight:"regular",sx:Ia,children:e("views.WALLET_NETWORK_SELECTION.heading")}),t(se,{size:"xSmall",sx:{paddingBottom:"base.spacing.x2"},children:e("views.WALLET_NETWORK_SELECTION.fromFormInput.heading")}),t(Q,{testId:`${Pa}-from`,drawerText:{heading:e("views.WALLET_NETWORK_SELECTION.fromFormInput.walletSelectorHeading"),defaultText:e("views.WALLET_NETWORK_SELECTION.fromFormInput.selectDefaultText")},showWalletSelectorTarget:!he,showDrawer:D,setShowDrawer:P,walletOptions:ve,onWalletChange:Ee}),he&&be&&u(b,{sx:{display:"flex",flexDirection:"column",gap:"base.spacing.x10"},children:[t(Na,{testId:Pa,walletProviderDetail:j?.providerDetail,walletProvider:O,walletName:be,walletAddress:Ea(F),chainId:M,disableNetworkButton:be===ie.PASSPORT.toString(),onWalletClick:()=>{P(!0)},onNetworkClick:()=>W(!0),environment:c}),u(b,{children:[t(se,{size:"xSmall",sx:{paddingBottom:"base.spacing.x2"},children:e("views.WALLET_NETWORK_SELECTION.toFormInput.heading")}),t(Q,{testId:`${Pa}-to`,drawerText:{heading:e("views.WALLET_NETWORK_SELECTION.toFormInput.walletSelectorHeading"),defaultText:e("views.WALLET_NETWORK_SELECTION.toFormInput.selectDefaultText")},showWalletSelectorTarget:!fe,walletOptions:xe,showDrawer:Z,setShowDrawer:ee,onWalletChange:ke})]})]}),t(le,{headerBarTitle:e(L?"views.WALLET_NETWORK_SELECTION.fromFormInput.networkSelectorHeading":"views.WALLET_NETWORK_SELECTION.toFormInput.networkSelectorHeading"),size:"full",onCloseDrawer:()=>{L?W(!1):X(!1)},visible:L||Y,children:u(le.Content,{sx:{paddingX:"base.spacing.x4"},children:[t(Sa,{testId:Pa,chainName:R,onNetworkClick:L?ye:Ie,chainId:k,environment:c},R),(Y||j?.providerDetail.info.rdns!==H.PASSPORT)&&t(Sa,{testId:Pa,chainName:I,onNetworkClick:L?ye:Ie,chainId:y,environment:c},I)]})}),fe&&me&&u(b,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[t(Na,{testId:Pa,walletProviderDetail:we?.providerDetail,walletProvider:te,walletName:me,walletAddress:Ea(ue),chainId:ce,disableNetworkButton:M===y||me===ie.PASSPORT.toString()||F===ue,onWalletClick:()=>{ee(!0)},onNetworkClick:()=>{X(!0)},environment:c}),t(b,{sx:Aa,children:t(f,{testId:`${Pa}-submit-button`,size:"large",onClick:Ce,children:e("views.WALLET_NETWORK_SELECTION.submitButton.text")})})]})]})}function Wa(){const{t:e}=h(),{viewDispatch:a}=l.useContext(C),{eventTargetState:{eventTarget:n}}=l.useContext(F),{page:s}=A();return l.useEffect((()=>{s({userJourney:S.BRIDGE,screen:"WalletNetworkSelection"})}),[]),t(Y,{testId:"bridge-view",header:t(j,{title:e("views.WALLET_NETWORK_SELECTION.layoutHeading"),onCloseButtonClick:()=>$t(n),rightActions:t(ce,{icon:"Minting",sx:de(),onClick:()=>{a({payload:{type:_.UPDATE_VIEW,view:{type:je.TRANSACTIONS}}})},testId:"move-transactions-button"})}),footer:t(q,{}),children:t(La,{})})}function Oa(e,t){return e&&0!==parseFloat(e)?t&&Number(e)>Number(t)?"views.BRIDGE_FORM.validation.insufficientBalance":"":"views.BRIDGE_FORM.validation.noAmountInputted"}const Ba={height:"100%",display:"flex",flexDirection:"column",justifyContent:"space-between",paddingTop:"base.spacing.x10"},Ma={paddingTop:"base.spacing.x4",display:"flex",gap:"base.spacing.x1"},Ga={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6",paddingX:"base.spacing.x4"};function Fa({sx:e}){return u(b,{sx:{...e,paddingTop:"0",marginTop:"base.spacing.x4"},rc:t("div",{}),children:[t(b,{sx:{display:"flex",backgroundColor:"#F3F3F30A",borderRadius:"8px"},children:t(b,{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:t("span",{}),children:t(p,{rc:t("span",{})})})}),t(b,{sx:{display:"flex",width:"100%",backgroundColor:"#F3F3F30A",borderRadius:"8px"},children:t(b,{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:t("span",{}),children:t(p,{rc:t("span",{})})})})]})}function za(e){const{t:a}=h(),{bridgeDispatch:n,bridgeState:{tokenBalances:s,allowedTokens:o,checkout:r,from:i,to:c,amount:d,token:p}}=l.useContext(zt),{cryptoFiatState:w,cryptoFiatDispatch:g}=l.useContext(qe),{viewDispatch:m}=l.useContext(C),{testId:v,defaultAmount:x,defaultTokenAddress:T,isTokenBalancesLoading:E,defaultTokenImage:y,environment:I,theme:k}=e,{track:R}=A(),[D,N]=l.useState(x||""),[P,L]=l.useState(""),[W,B]=l.useState(),[M,F]=l.useState(""),[z,U]=l.useState(""),[V,$]=l.useState(!1),H=l.useRef(!1),K=W?`${a("views.BRIDGE_FORM.content.availableBalancePrefix")} ${ue(W?.formattedBalance)}`:"",[J,j]=l.useState([]),[q,Q]=l.useState(!1),Y=l.useCallback(((e,t)=>t?`${e.toLowerCase()}-${t.toLowerCase()}`:e.toLowerCase()),[]);l.useEffect((()=>{if(0===s.length)return;const e=s.filter((e=>e.balance.gt(0))).map((e=>({id:Y(e.token.symbol,e.token.address),name:e.token.name,symbol:e.token.symbol,icon:e.token.icon,balance:{formattedFiatAmount:0===w.conversions.size?pe(""):G(e.formattedBalance,e.token.symbol,w.conversions),formattedAmount:ue(e.formattedBalance)}})));j(e),H.current||(H.current=!0,T&&B(s.find((e=>O(e.token.address)&&T?.toLocaleUpperCase()===we||e.token.address?.toLowerCase()===T?.toLowerCase()))))}),[s,w.conversions,T,H.current,Y,pe]),l.useEffect((()=>{if(d&&p){N(d);for(let e=0;e<s.length;e++){const t=s[e];if(t.token.address===p.address){B(t);break}}n({payload:{type:Ft.SET_TOKEN_AND_AMOUNT,token:null,amount:""}})}}),[d,p,s]);const X=l.useMemo((()=>W&&W.token?Y(W.token.symbol,W.token.address):void 0),[W,s,w.conversions,Y]),Z=e=>{if(N(e),P){const t=Oa(e,W?.formattedBalance);L(t)}var t;W&&(U(G(e,W.token.symbol,w.conversions)),t=!0,Number.isNaN(parseFloat(D))||parseFloat(D)<=0||!W||!i||!i.walletAddress||!c||!c.walletAddress||t&&V||!r||$(!0))};l.useEffect((()=>{g({payload:{type:Ye.SET_TOKEN_SYMBOLS,tokenSymbols:o.map((e=>e.symbol))}})}),[g,o]),l.useEffect((()=>{D&&W&&U(G(D,W.token.symbol,w.conversions))}),[D,W]);const ee=l.useCallback((()=>{const e=W?"":"views.BRIDGE_FORM.validation.noTokenSelected";const t=Oa(D,W?.formattedBalance);return e&&F(e),t&&L(t),!e&&!t}),[W,D,F,L]),te=l.useCallback((async()=>{ee()&&r&&i?.web3Provider&&W&&(R({userJourney:S.BRIDGE,screen:"TokenAmount",control:"Review",controlType:"Button",extras:{tokenAddress:W.token.address,amount:D}}),n({payload:{type:Ft.SET_TOKEN_AND_AMOUNT,token:W.token,amount:D}}),m({payload:{type:_.UPDATE_VIEW,view:{type:je.BRIDGE_REVIEW}}}))}),[r,i?.web3Provider,ee,W]);return u(b,{testId:v,sx:Ba,children:[u(b,{sx:{paddingX:"base.spacing.x4"},children:[t(se,{testId:`${v}-content-heading`,size:"small",weight:"regular",sx:{paddingBottom:"base.spacing.x4"},children:a("views.BRIDGE_FORM.content.title")}),(!T||!E)&&u(b,{sx:Ma,children:[t(ot,{testId:"bridge-token",options:J,optionsLoading:E,coinSelectorHeading:a("views.BRIDGE_FORM.bridgeForm.from.selectorTitle"),selectedOption:X,subtext:K,textAlign:"left",errorMessage:a(M),onSelectChange:e=>(e=>{const t=s.find((t=>e===Y(t.token.symbol,t.token.address)));t&&(B(t),F(""))})(e),defaultTokenImage:y,environment:I,theme:k}),t(rt,{testId:"bridge-amount",type:"number",value:D,placeholder:a("views.BRIDGE_FORM.bridgeForm.from.inputPlaceholder"),subtext:`${a("views.BRIDGE_FORM.content.fiatPricePrefix")} $${pe(z,!0)}`,validator:ge,onTextInputChange:e=>Z(e),onTextInputEnter:te,textAlign:"right",inputMode:"decimal",errorMessage:a(P)})]}),T&&E&&t(Fa,{sx:Ma})]}),u(b,{sx:Ga,children:[t(f,{testId:`${v}-button`,variant:"primary",onClick:te,size:"large",children:a("views.BRIDGE_FORM.bridgeForm.buttonText")}),t(it,{visible:q,showHeaderBar:!1,onCloseDrawer:()=>Q(!1),onRetry:async()=>{Q(!1),await te()}})]})]})}const Ua=1e4;function Va({amount:e,tokenAddress:a,defaultTokenImage:n,theme:s}){const{t:o}=h(),{bridgeState:r,bridgeDispatch:i}=l.useContext(zt),{checkout:c,from:d}=r,{eventTargetState:{eventTarget:u}}=l.useContext(F),[p,w]=l.useState(!1),{page:g}=A();l.useEffect((()=>{(e||a)&&g({userJourney:S.BRIDGE,screen:"TokenAmount",extras:{amount:e,tokenAddress:a}})}),[]);const f=l.useCallback((async()=>{if(c&&d?.web3Provider)try{const e=await lt({checkout:c,provider:d.web3Provider,chainId:d?.network,allowTokenListType:V.BRIDGE,retryPolicy:{retryIntervalMs:0,retries:0}});if(void 0===e)return;i({payload:{type:Ft.SET_TOKEN_BALANCES,tokenBalances:e.allowedBalances}}),i({payload:{type:Ft.SET_ALLOWED_TOKENS,allowedTokens:e.allowList.tokens}})}catch(e){console.debug(e)}}),[c,d?.web3Provider,d?.network]);return nt(f,Ua),l.useEffect((()=>{c&&d?.web3Provider&&(w(!0),f().finally((()=>w(!1))))}),[c,d?.web3Provider]),t(Y,{testId:"bridge-view",header:t(j,{showBack:!0,title:o("views.BRIDGE_FORM.header.title"),onCloseButtonClick:()=>$t(u)}),footer:t(q,{}),children:t(za,{testId:"bridge-form",defaultAmount:e,defaultTokenAddress:a,isTokenBalancesLoading:p,defaultTokenImage:n,environment:c?.config.environment,theme:s})})}const $a={display:"flex",flexDirection:"column",alignItems:"center",paddingBottom:"base.spacing.x6",height:"100%",paddingX:"base.spacing.x6"},Ha={fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"15px",paddingX:"base.spacing.x6"},Ka={...Ha,color:"base.color.text.body.secondary"},Ja={display:"flex",flexDirection:"column",justifyContent:"flex-end",gap:"base.spacing.x2",height:"100%",width:"100%"},ja={width:"100%",height:"base.spacing.x16"};function qa({environment:e,onCloseDrawer:a,visible:n,walletAddress:o,tokenSymbol:r,onAddCoinsClick:i}){const{t:c}=h(),[d,p]=l.useState(!1),w=he(e,"/notenougheth.svg"),g=he(e,"/notenoughimx.svg"),m=c("drawers.notEnoughGas.content.heading",{token:r.toUpperCase()}),v=c("drawers.notEnoughGas.content.body",{token:r.toUpperCase()}),x=l.useCallback((()=>{o&&""!==o&&navigator.clipboard.writeText(o),p(!0),setTimeout((()=>{p(!1)}),3e3)}),[o]);return t(le,{size:"threeQuarter",visible:n,showHeaderBar:!0,headerBarTitle:void 0,onCloseDrawer:a,children:u(le.Content,{testId:"not-enough-gas-bottom-sheet",sx:$a,children:[t(fe,{sx:{w:"90px",h:r===be?"110px":"90px"},use:t("img",{src:r===be?w:g,alt:m})}),t(se,{size:"small",weight:"bold",sx:Ha,testId:"not-enough-gas-heading",children:m}),t(s,{sx:Ka,children:v}),t(b,{sx:Ja,children:r===be?u(f,{testId:"not-enough-gas-copy-address-button",sx:ja,variant:"primary",onClick:x,children:[c("drawers.notEnoughGas.buttons.copyAddress"),t(f.Icon,{icon:d?"Tick":"CopyText"})]}):t(f,{testId:"not-enough-gas-add-imx-button",sx:ja,variant:"primary",onClick:i,children:c("drawers.notEnoughGas.buttons.addMoreImx")})})]})})}const Qa={borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px",marginBottom:"2px",position:"relative"},Ya={borderTopLeftRadius:"0px",borderTopRightRadius:"0px",backgroundColor:"base.color.translucent.emphasis.100",position:"relative"},Xa={width:"base.icon.size.400"},Za={position:"absolute",top:"2px",left:"26px",width:"20px",padding:"2px",backgroundColor:"base.color.translucent.inverse.900",borderRadius:"base.borderRadius.x2"},en={height:"100%",display:"flex",flexDirection:"column",paddingX:"base.spacing.x4"},tn={paddingTop:"base.spacing.x10",paddingBottom:"base.spacing.x4"},an={display:"flex",flexDirection:"column",alignItems:"center",paddingY:"base.spacing.x1"},nn={width:"base.icon.size.300",transform:"rotate(270deg)"},sn={width:"base.icon.size.400"},on={backgroundColor:"base.color.translucent.standard.200",position:"absolute",width:"32px",height:"32px",padding:"6px",left:"base.spacing.x3"},rn={position:"absolute",right:"base.spacing.x3",w:"base.icon.size.400",h:"base.icon.size.400"},ln=(e,t,a,n)=>{const s=[];if(!e?.fees||!e.token)return s;let o=me.from(0);if(e.fees.bridgeFee&&(o=o.add(e.fees.bridgeFee)),e.fees.imtblFee&&(o=o.add(e.fees.imtblFee)),o.gt(0)&&s.push({label:n(t?"drawers.feesBreakdown.fees.serviceFee.depositLabel":"drawers.feesBreakdown.fees.serviceFee.withdrawLabel"),fiatAmount:`≈ ${n("drawers.feesBreakdown.fees.fiatPricePrefix")}${G(Qe(o,e.token.decimals),e.token.symbol,a.conversions)}`,amount:ue(Qe(o,e.token.decimals)),token:e.token}),e.fees.sourceChainGas?.gt(0)){const t=Qe(e.fees.sourceChainGas,e.token.decimals);s.push({label:n("drawers.feesBreakdown.fees.gasFeeMove.label"),fiatAmount:`≈ ${n("drawers.feesBreakdown.fees.fiatPricePrefix")}${G(t,e.token.symbol,a.conversions)}`,amount:`${ue(t)}`,prefix:"≈ ",token:e.token})}if(e.fees.approvalFee?.gt(0)){const t=Qe(e.fees.approvalFee,e.token.decimals);s.push({label:n("drawers.feesBreakdown.fees.approvalFee.label"),fiatAmount:`≈ ${n("drawers.feesBreakdown.fees.fiatPricePrefix")}${G(t,e.token.symbol,a.conversions)}`,amount:`${ue(t)}`,prefix:"≈ ",token:e.token})}return s},cn=(e,t)=>new ve(e,["function transfer(address to, uint amount)"],t),dn="bridge-review-summary";function un(){const{t:e}=h(),{viewDispatch:a}=l.useContext(C),{bridgeState:{checkout:n,tokenBridge:o,from:r,to:i,token:c,amount:d,tokenBalances:p},bridgeDispatch:g}=l.useContext(zt),{environment:m}=n.config,{track:v}=A(),{cryptoFiatState:x}=l.useContext(qe),[y,k]=l.useState(!1),[W,B]=l.useState(void 0),[M,F]=l.useState(""),[V,H]=l.useState(""),[J,j]=l.useState(void 0),[q,Q]=l.useState(void 0),[Y,X]=l.useState(!1),[Z,ee]=l.useState(void 0),[te,ae]=l.useState(void 0),[ne,oe]=l.useState(!1),[ie,le]=l.useState(!1),{isWalletConnectEnabled:ce,getWalletLogoUrl:de}=D(),[ue,pe]=l.useState(!1),ge=l.useMemo((()=>r?.network===i?.network),[r,i]),he=l.useMemo((()=>$(n.config)===i?.network),[r,i,n]),fe=l.useMemo((()=>{if(!W)return!1;if(!c)return!0;const e=p.find((e=>O(e.token.address)));let t=me.from(W.fees.totalFees);return O(c.address)&&(t=t.add(Xe(d,c.decimals))),!e||e.balance.lt(t)}),[p,W,c,d]),ve=l.useMemo((()=>c?.symbol?`${c?.symbol} ${d}`:`${d}`),[c,d]),ke=l.useMemo((()=>d&&c?G(d,c.symbol,x.conversions):""),[c,d]),Ce=l.useMemo((()=>r?r.walletAddress:"-"),[r]),Re=l.useMemo((()=>r&&r.network),[r]),_e=l.useMemo((()=>i?i.walletAddress:"-"),[i]),De=l.useMemo((()=>i?.network),[i]),Ne=l.useCallback((async()=>{if(!(o&&d&&r&&i&&c))return;const e=c?.address?.toLowerCase()??we.toUpperCase(),t={gasEstimateType:xe.BRIDGE_TO_L2,fees:{},token:n.config.networkMap.get(r.network)?.nativeCurrency};let a;if(e===we.toLowerCase())a=n.providerCall(r.web3Provider,(async e=>await e.estimateGas({to:_e,from:Ce,value:Xe(d,c.decimals)})));else{a=cn(e,r.web3Provider.getSigner()).estimateGas.transfer(_e,Xe(d,c.decimals))}try{const[e,n]=await Promise.all([a,r.web3Provider.getGasPrice()]),s=e.mul(n),o=Qe(s,Te);t.fees.sourceChainGas=s,t.fees.totalFees=s,B(t),F(o),H(G(o,we.toUpperCase(),x.conversions))}catch(e){console.error("Unable to fetch gas estimate",e)}}),[n,r,i,c,d]),Pe=l.useCallback((async()=>{if(!(o&&d&&r&&i&&c))return;const e=await o.getUnsignedBridgeBundledTx({senderAddress:Ce,recipientAddress:_e,token:c.address??we.toUpperCase(),amount:Xe(d,c.decimals),sourceChainId:r?.network.toString(),destinationChainId:i?.network.toString(),gasMultiplier:"auto"}),t={contractToApprove:e.contractToApprove,unsignedTx:e.unsignedApprovalTx},a={feeData:e.feeData,unsignedTx:e.unsignedBridgeTx};j(t),Q(a);const s=a.feeData,{totalFees:l,approvalFee:u}=s;let p=l;t.unsignedTx||(p=l.sub(u),s.approvalFee=me.from(0));const w={gasEstimateType:xe.BRIDGE_TO_L2,fees:{...s,totalFees:p},token:n.config.networkMap.get(r.network)?.nativeCurrency};B(w);const g=Qe(w?.fees.totalFees||0,Te);F(g),H(G(g,w?.token?.symbol||"",x.conversions))}),[n,o]);nt((()=>{ge?Ne():Pe()}),Ee);const Le=l.useCallback((()=>ln(W,he,x,e)),[W,he]);l.useEffect((()=>{(async()=>{k(!0),ge?await Ne():await Pe(),k(!1)})()}),[]);const We=l.useCallback((e=>{g({payload:{type:Ft.SET_WALLETS_AND_NETWORKS,from:{web3Provider:e,walletAddress:r?.walletAddress,walletProviderInfo:r?.walletProviderInfo,network:r?.network},to:{web3Provider:i?.web3Provider,walletAddress:i?.walletAddress,walletProviderInfo:i?.walletProviderInfo,network:i?.network}}})}),[r?.web3Provider,r?.network,i?.web3Provider,i?.network]);l.useEffect((()=>{if(!r?.web3Provider)return;const e=()=>{const e=new K(r?.web3Provider.provider);We(e),X(!1)};return ye(r?.web3Provider,e),()=>{Ie(r?.web3Provider,e)}}),[r?.web3Provider]),l.useEffect((()=>{if(ce){const e=N(r?.web3Provider),t=N(i?.web3Provider);oe(e),le(t),(async()=>{e&&ee(await de()),t&&ae(await de())})()}}),[ce,r?.web3Provider,i?.web3Provider]),l.useEffect((()=>{fe&&pe(!0)}),[fe]);const Oe=l.useCallback((async()=>{if(ge||J&&q)if(fe)pe(!0);else{try{const e=await(r?.web3Provider.provider).request({method:"eth_chainId",params:[]});if(parseInt(e.toString())!==r?.network)return void X(!0)}catch(e){console.error("Current network check failed",e)}v({userJourney:S.BRIDGE,screen:"Summary",control:"Submit",controlType:"Button",extras:{fromWalletAddress:Ce,fromNetwork:Re,fromWallet:{address:Ce,rdns:r?.walletProviderInfo?.rdns,uuid:r?.walletProviderInfo?.uuid,isPassportWallet:z(r?.web3Provider),isMetaMask:re(r?.web3Provider)},toWalletAddress:_e,toNetwork:De,toWallet:{address:_e,rdns:i?.walletProviderInfo?.rdns,uuid:i?.walletProviderInfo?.uuid,isPassportWallet:z(i?.web3Provider),isMetaMask:re(i?.web3Provider)},amount:d,fiatAmount:ke,tokenAddress:c?.address,moveType:ge?"transfer":"bridge"}}),a({payload:{type:_.UPDATE_VIEW,view:{type:je.APPROVE_TRANSACTION,approveTransaction:J,transaction:q}}})}}),[a,J,q,r?.web3Provider,r?.network,r?.walletProviderInfo,i?.web3Provider,i?.network,i?.walletProviderInfo]);return u(b,{testId:dn,sx:en,children:[t(se,{testId:`${dn}-heading`,size:"small",weight:"regular",sx:tn,children:e("views.BRIDGE_REVIEW.heading")}),u(w,{testId:`${dn}-from-amount`,size:"small",emphasized:!0,sx:Qa,children:[t(w.Label,{size:"small",sx:{marginBottom:"base.spacing.x4",fontWeight:"bold"},children:e("views.BRIDGE_REVIEW.fromLabel.amountHeading")}),t(w.Caption,{}),t(w.PriceDisplay,{use:t(se,{size:"xSmall",weight:"light"}),price:ve??"-",fiatAmount:`${e("views.BRIDGE_REVIEW.fiatPricePrefix")}${ke}`})]}),u(w,{testId:`${dn}-from-address`,size:"xSmall",emphasized:!0,sx:Ya,children:[ne&&Z?u(R,{children:[t(w.FramedImage,{imageUrl:Z,alt:"walletconnect",sx:Xa}),t(P,{logo:"WalletConnectSymbol",sx:Za})]}):r?.walletProviderInfo&&t(L,{src:r?.walletProviderInfo.icon,alt:r?.walletProviderInfo.name,sx:on}),u(w.Label,{sx:{marginLeft:ne&&Z?"0px":"45px"},children:[t("strong",{children:e("views.BRIDGE_REVIEW.fromLabel.heading")})," ",t(s,{size:"small",sx:{color:"base.color.text.body.secondary"},children:Ea(Ce??"")})]}),Re&&t(w.FramedImage,{use:t("img",{src:T(m,Re),alt:E[Re]}),sx:rn})]}),t(b,{sx:an,children:t(I,{icon:"ArrowBackward",sx:nn})}),u(w,{testId:`${dn}-to-address`,size:"xSmall",emphasized:!0,sx:Qa,children:[ie&&te?u(R,{children:[t(w.FramedImage,{imageUrl:te,alt:"walletconnect",sx:Xa}),t(P,{logo:"WalletConnectSymbol",sx:Za})]}):i?.walletProviderInfo&&t(L,{src:i?.walletProviderInfo.icon,alt:i?.walletProviderInfo.name,sx:on}),u(w.Label,{sx:{marginLeft:ie&&te?"0px":"45px"},children:[t("strong",{children:e("views.BRIDGE_REVIEW.toLabel.heading")})," ",t(s,{size:"small",sx:{color:"base.color.text.body.secondary"},children:Ea(_e??"")})]}),De&&t(w.FramedImage,{use:t("img",{src:T(m,De),alt:E[De]}),sx:rn})]}),t(ct,{gasFeeValue:M,gasFeeFiatValue:V,gasFeeToken:W?.token,fees:Le(),onFeesClick:()=>{v({userJourney:S.BRIDGE,screen:"MoveCoins",control:"ViewFees",controlType:"Button"})},sx:{borderTopRightRadius:"0",borderTopLeftRadius:"0"},loading:y}),t(b,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"flex-end",paddingY:"base.spacing.x6",width:"100%"},children:W&&!y&&t(f,{size:"large",sx:{width:"100%"},onClick:Oe,disabled:y,testId:`${dn}__submit-button`,children:y?t(f.Icon,{icon:"Loading",sx:sn}):e("views.BRIDGE_REVIEW.submitButton.buttonText")})}),t(dt,{visible:Y,targetChainId:r?.network,provider:r?.web3Provider,checkout:n,onCloseDrawer:()=>X(!1),onNetworkSwitch:We}),t(qa,{environment:n.config.environment,visible:ue,onCloseDrawer:()=>pe(!1),walletAddress:r?.walletAddress||"",tokenSymbol:r?.network===U(n?.config)?be:Ae,onAddCoinsClick:()=>{a({payload:{type:_.UPDATE_VIEW,view:{type:Se.TOP_UP_VIEW}}})}})]})}function pn(){const{t:e}=h(),{eventTargetState:{eventTarget:a}}=l.useContext(F),{page:n}=A();return l.useEffect((()=>{n({userJourney:S.BRIDGE,screen:"Review"})}),[]),t(Y,{testId:"bridge-review",header:t(j,{showBack:!0,title:e("views.BRIDGE_REVIEW.layoutHeading"),onCloseButtonClick:()=>$t(a)}),footer:t(q,{}),children:t(un,{})})}function wn({environment:e}){const{RiveComponent:a}=ke.useRive({src:`${Ce[e]}/v1/blob/img/rocket.riv`,autoplay:!0,layout:new ke.Layout({fit:ke.Fit.Cover}),stateMachines:"State Machine 1"});return t(b,{sx:{...Re,background:"base.color.translucent.emphasis.100"},children:t(b,{sx:_e,rc:t(a,{})})})}function gn({transactionHash:e,isTransfer:a}){const{t:n}=h(),{eventTargetState:{eventTarget:s}}=l.useContext(F),{page:o}=A(),{cryptoFiatState:r}=l.useContext(qe),{viewDispatch:i}=l.useContext(C),{bridgeState:{checkout:c,from:d,to:p,token:w,amount:g}}=l.useContext(zt);return l.useEffect((()=>{Vt(s,e);const t=G(g,w?.symbol??"",r.conversions);o({userJourney:S.BRIDGE,screen:"InProgress",extras:{fromWalletAddress:d?.walletAddress,toWalletAddress:p?.walletAddress,amount:g,fiatAmount:t,tokenAddress:w?.address,moveType:a?"transfer":"bridge"}})}),[]),t(Y,{testId:"move-in-progress-view",header:t(j,{transparent:!0,onCloseButtonClick:()=>$t(s),rightActions:u(R,{children:[t(ce,{icon:"Minting",sx:de(),onClick:()=>{i({payload:{type:_.UPDATE_VIEW,view:{type:je.TRANSACTIONS}}})},testId:"settings-button"}),!a&&t(De,{isAnimated:!0,variant:"guidance",sx:{position:"absolute",right:"base.spacing.x14",top:"base.spacing.x1"}})]})}),footer:t(q,{}),heroContent:t(wn,{environment:c.config.environment}),floatHeader:!0,children:u(Ne,{heading:n(a?"views.IN_PROGRESS.transferHeading":"views.IN_PROGRESS.heading"),children:[!a&&u(R,{children:[n("views.IN_PROGRESS.body1"),t("br",{}),t("br",{})]}),n("views.IN_PROGRESS.body2")]})})}function hn({bridgeTransaction:e}){const{t:a}=h(),{bridgeState:n}=l.useContext(zt),{checkout:s,from:o,to:i,token:c,amount:d}=n,{viewDispatch:p}=l.useContext(C),{eventTargetState:{eventTarget:w}}=l.useContext(F),{page:g}=A();l.useEffect((()=>{g({userJourney:S.BRIDGE,screen:"ApproveTransaction",extras:{moveType:e?"bridge":"transfer"}})}),[]);const[f,m]=l.useState(!1),[v,x]=l.useState(!1),[T,E]=l.useState(!1),[y,I]=l.useState(!1),k=l.useCallback((()=>{p({payload:{type:_.UPDATE_VIEW,view:{type:Se.ERROR_VIEW,error:new Error("No checkout object or no provider object found")}}})}),[p]),D=l.useCallback((()=>{p({payload:{type:_.GO_BACK}})}),[p]),N=e=>{if(e.type!==r.UNPREDICTABLE_GAS_LIMIT){if(e.type===r.TRANSACTION_FAILED||e.type===r.INSUFFICIENT_FUNDS||e.receipt&&0===e.receipt.status){let t="Transaction failed";return e.type===r.INSUFFICIENT_FUNDS&&(t="Insufficient funds"),e.receipt&&0===e.receipt.status&&(t="Transaction failed to settle on chain"),void p({payload:{type:_.UPDATE_VIEW,view:{type:je.BRIDGE_FAILURE,reason:t}}})}p({payload:{type:_.UPDATE_VIEW,view:{type:Se.ERROR_VIEW,error:e}}})}else p({payload:{type:_.UPDATE_VIEW,view:{type:je.BRIDGE_FAILURE,reason:"Unpredictable gas limit"}}})},P=l.useCallback((async()=>{if(!s||!o?.web3Provider)return void k();if(f)return;m(!0),x(!0);const e=c?.address?.toLowerCase()??we.toUpperCase();let t;try{if(e===we.toLowerCase()){const e={to:i?.walletAddress,value:Xe(d,c?.decimals)};t=(await s.sendTransaction({provider:o.web3Provider,transaction:e})).transactionResponse.hash}else{const a=cn(e,o.web3Provider.getSigner()),n=Xe(d,c?.decimals);t=(await s.providerCall(o.web3Provider,(async()=>await a.transfer(i?.walletAddress,n)))).hash}p({payload:{type:_.UPDATE_VIEW,view:{type:je.IN_PROGRESS,transactionHash:t,isTransfer:!0}}})}catch(e){x(!1),e.type===r.USER_REJECTED_REQUEST_ERROR?I(!0):N(e)}finally{m(!1)}}),[s,o,k,p,f]),L=l.useCallback((async()=>{let t=!1;const{approveTransaction:a,transaction:n}=e;if(s&&o?.web3Provider&&n){if(!f){if(m(!0),a.unsignedTx)try{x(!0);const e=await s.sendTransaction({provider:o.web3Provider,transaction:a.unsignedTx});if(1!==(await e.transactionResponse.wait()).status)return void p({payload:{type:_.UPDATE_VIEW,view:{type:je.BRIDGE_FAILURE,reason:"Transaction failed to settle on chain"}}})}catch(e){x(!1),e.type===r.USER_REJECTED_REQUEST_ERROR?(I(!0),t=!0):N(e)}finally{m(!1)}try{if(t)return;x(!0);const e=await s.sendTransaction({provider:o.web3Provider,transaction:n.unsignedTx});p({payload:{type:_.UPDATE_VIEW,view:{type:je.IN_PROGRESS,transactionHash:e.transactionResponse.hash,isTransfer:!1}}});0===(await e.transactionResponse.wait()).status&&p({payload:{type:_.UPDATE_VIEW,view:{type:je.BRIDGE_FAILURE,reason:"Approval transaction failed to settle on chain"}}})}catch(e){e.type===r.USER_REJECTED_REQUEST_ERROR?I(!0):N(e)}finally{E(!1),x(!1),m(!1)}}}else k()}),[s,o,k,p,e,f]);return u(R,{children:[T&&t(te,{loadingText:a("views.APPROVE_TRANSACTION.loadingView.text")}),!T&&t(Y,{header:t(j,{transparent:!0,showBack:!0,onCloseButtonClick:()=>$t(w),onBackButtonClick:D}),floatHeader:!0,heroContent:t(ut,{}),footer:u(b,{sx:{width:"100%",flexDirection:"column"},children:[t(Pe,{loading:v,actionText:a("views.APPROVE_TRANSACTION."+(y?"footer.retryText":"footer.buttonText")),onActionClick:e?L:P}),t(q,{})]}),children:t(Ne,{heading:a("views.APPROVE_TRANSACTION.content.heading"),children:t(b,{children:a("views.APPROVE_TRANSACTION.content.body")})})})]})}const fn={display:"flex",flexDirection:"column",alignItems:"center",paddingTop:"base.spacing.x6",paddingBottom:"base.spacing.x1",height:"100%"},bn={color:"base.color.text.body.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"15px"},mn={display:"flex",flexDirection:"column",justifyContent:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},vn={width:"100%",height:"base.spacing.x16"};function xn({visible:e,onClose:a,onChangeAccount:n}){const{t:o}=h(),{bridgeState:{checkout:r}}=l.useContext(zt),i=Le(r.config.environment);return t(le,{headerBarTitle:void 0,size:"full",onCloseDrawer:a,visible:e,showHeaderBar:!1,children:t(le.Content,{children:u(b,{testId:"not-enough-eth-drawer",sx:fn,children:[t(fe,{sx:{w:"base.icon.size.600",h:"base.icon.size.600"},use:t("img",{src:i,alt:"ETH"})}),t(se,{size:"small",sx:bn,testId:"not-enough-gas-heading",children:`${o("drawers.notEnoughEthWithdrawal.content.heading1")} ${be} ${o("drawers.notEnoughEthWithdrawal.content.heading2")}`}),t(s,{sx:bn,children:`${o("drawers.notEnoughEthWithdrawal.content.body1")} ${be} ${o("drawers.notEnoughEthWithdrawal.content.body2")}`}),u(b,{sx:mn,children:[t(f,{testId:"not-enough-eth-drawer-retry-button",sx:vn,variant:"tertiary",onClick:n,children:o("drawers.notEnoughEthWithdrawal.buttons.retry")}),t(f,{sx:vn,variant:"tertiary",onClick:a,testId:"not-enough-eth-drawer-dismiss-button",children:o("drawers.notEnoughEthWithdrawal.buttons.dismiss")})]})]})})})}function Tn({transaction:e}){const{t:a}=h(),{bridgeState:{checkout:n,tokenBridge:s,from:o}}=l.useContext(zt),{viewDispatch:r}=l.useContext(C),{eventTargetState:{eventTarget:i}}=l.useContext(F),{page:c}=A();l.useEffect((()=>{c({userJourney:S.BRIDGE,screen:"ClaimWithdrawal"})}),[]);const[d,p]=l.useState(!1),[w,g]=l.useState(!1),[m,v]=l.useState(!1),[x,T]=l.useState(),[E,y]=l.useState(!1),I=l.useCallback((()=>{r({payload:{type:_.GO_BACK}})}),[r]);l.useEffect((()=>{(async()=>{if(s&&e&&void 0!==e.details.current_status?.index){g(!0);try{const t=await(s?.getFlowRateWithdrawTx({recipient:e.details.to_address,index:e.details.current_status.index}));T(t)}catch(e){console.log(e)}finally{g(!1)}}})()}),[s,e]);const k=l.useCallback((async({forceChangeAccount:e})=>{if(!(n&&s&&o?.web3Provider&&x))return;if(!x.pendingWithdrawal.canWithdraw||!x.unsignedTx)return void console.log(`Unable to process withdrawal transaction as it is not ready yet. Delay timeout at ${x.pendingWithdrawal.timeoutEnd} `);let t=o?.web3Provider;const a=U(n.config);if(p(!0),z(o?.web3Provider)||e)try{const e=await n.createProvider({walletProviderName:ie.METAMASK});t=(await n.connect({provider:e.provider,requestWalletPermissions:!0})).provider,y(!1)}catch(e){return console.log(e),v(!0),void p(!1)}let i,l=null;try{try{i=await t.estimateGas(x.unsignedTx)}catch(e){i=me.from(We)}let e=null;try{e=await t.getFeeData()}catch(e){console.log(e)}let a=null;e&&e.lastBaseFeePerGas&&e.maxPriorityFeePerGas?a=e.lastBaseFeePerGas.add(e.maxPriorityFeePerGas):e&&e.gasPrice&&(a=e.gasPrice),a&&(l=i.mul(a))}catch(e){console.log(e)}try{const e=(await n.getAllBalances({provider:t,chainId:a})).balances.find((e=>O(e.token.address)));if(!e||e.balance.lt(l))return y(!0),void p(!1)}catch(e){console.log(e)}if((await t.getNetwork()).chainId!==a)try{t=(await n.switchNetwork({provider:t,chainId:a})).provider}catch(e){return v(!0),g(!1),void console.log(e)}try{const e=await n.sendTransaction({provider:t,transaction:x.unsignedTx});r({payload:{type:_.UPDATE_VIEW,view:{type:je.CLAIM_WITHDRAWAL_IN_PROGRESS,transactionResponse:e.transactionResponse}}})}catch(e){console.log(e),v(!0),p(!1)}finally{p(!1)}}),[s,o,x]);return u(Y,{testId:"claim-withdrawal",header:t(j,{transparent:!0,showBack:!0,onCloseButtonClick:()=>$t(i),onBackButtonClick:I}),floatHeader:!0,heroContent:t(ut,{}),footer:u(b,{sx:{width:"100%",display:"flex",flexDirection:"column"},children:[t(b,{sx:{pb:"base.spacing.x5",px:"base.spacing.x6",width:"100%",display:"flex",flexDirection:"column"},children:t(f,{testId:"claim-withdrawal-continue-button",size:"large",variant:"primary",disabled:w,onClick:()=>d||w?void 0:k({forceChangeAccount:!0}),children:w||d?t(f.Icon,{icon:"Loading",sx:{width:"base.icon.size.400"}}):a("views.CLAIM_WITHDRAWAL."+(m?"footer.retryText":"footer.buttonText"))})}),t(q,{})]}),children:[u(Ne,{heading:`${a("views.CLAIM_WITHDRAWAL.content.heading")} ${ne(U(n.config))}`,children:[t(b,{sx:{display:"flex",flexWrap:"wrap",pb:"base.spacing.x1"},children:a("views.CLAIM_WITHDRAWAL.content.body")}),u(b,{children:[a("views.CLAIM_WITHDRAWAL.content.body2"),t(Lt,{text:e.details.to_address.toLowerCase()??""})]})]}),t(xn,{visible:E,onClose:()=>y(!1),onChangeAccount:()=>k({forceChangeAccount:!0})})]})}function En({checkout:e,web3Provider:a,config:n,amount:s,tokenAddress:o}){const{t:r}=h(),{environment:i,isOnRampEnabled:p,isSwapEnabled:w,isBridgeEnabled:g,theme:f}=n,b=Oe(e.config.environment,f),{eventTargetState:{eventTarget:m}}=l.useContext(F),{page:v}=A(),[x,T]=l.useReducer(Be,{...Me,view:{type:je.WALLET_NETWORK_SELECTION},history:[{type:je.WALLET_NETWORK_SELECTION}]}),[E,y]=l.useReducer(Ut,{...Gt,checkout:e,web3Provider:a??null,tokenBridge:(()=>{let t=He;e.config.isDevelopment&&(t=Ke),e.config.isProduction&&(t=Je);const a=new Z(e.config.networkMap.get(U(e.config))?.rpcUrls[0]),n=new Z(e.config.networkMap.get($(e.config))?.rpcUrls[0]),s=new Ge({baseConfig:new Fe({environment:e.config.environment}),bridgeInstance:t,rootProvider:a,childProvider:n});return new ze(s)})()}),I=l.useMemo((()=>({viewState:x,viewDispatch:T})),[x,T]),k=l.useMemo((()=>({bridgeState:E,bridgeDispatch:y})),[E,y]),R=l.useCallback((()=>{y({payload:{type:Ft.SET_WALLETS_AND_NETWORKS,from:null,to:null}}),y({payload:{type:Ft.SET_TOKEN_AND_AMOUNT,amount:"",token:null}}),T({payload:{type:_.GO_BACK_TO,view:{type:je.WALLET_NETWORK_SELECTION}}})}),[T]),D=l.useCallback((()=>{T({payload:{type:_.GO_BACK_TO,view:{type:je.WALLET_NETWORK_SELECTION}}})}),[T]),N=l.useCallback((()=>{T({payload:{type:_.UPDATE_VIEW,view:{type:je.TRANSACTIONS}}})}),[T]),P=l.useCallback((()=>{T({payload:{type:_.GO_BACK_TO,view:{type:je.BRIDGE_REVIEW}}})}),[T]);return l.useEffect((()=>{(async()=>{y({payload:{type:Ft.SET_PROVIDER,web3Provider:a??null}})})()}),[a]),t(C.Provider,{value:I,children:t(zt.Provider,{value:k,children:u(et,{environment:i,children:[x.view.type===je.WALLET_NETWORK_SELECTION&&t(Wa,{}),x.view.type===je.BRIDGE_FORM&&t(Va,{amount:s,tokenAddress:o,defaultTokenImage:b,theme:f}),x.view.type===je.BRIDGE_REVIEW&&t(pn,{}),x.view.type===je.IN_PROGRESS&&t(gn,{transactionHash:x.view.transactionHash,isTransfer:x.view.isTransfer}),x.view.type===je.BRIDGE_FAILURE&&t(Ue,{testId:"bridge-fail",statusText:r("views.BRIDGE_FAILURE.bridgeFailureText.statusText"),actionText:r("views.BRIDGE_FAILURE.bridgeFailureText.actionText"),onActionClick:P,statusType:Ve.FAILURE,onRenderEvent:()=>{let e="";x.view.type===je.BRIDGE_FAILURE&&(e=x.view.reason),v({userJourney:S.BRIDGE,screen:"Failed",extras:{reason:e}}),((e,t)=>{const a=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.FAILURE,data:{reason:t,timestamp:(new Date).getTime()}}});console.log("bridge failed ",e,a),void 0!==e&&e.dispatchEvent(a)})(m,e)}}),x.view.type===je.APPROVE_TRANSACTION&&t(hn,{bridgeTransaction:x.view.approveTransaction&&x.view.transaction?{approveTransaction:x.view.approveTransaction,transaction:x.view.transaction}:void 0}),x.view.type===je.TRANSACTIONS&&t(xa,{onBackButtonClick:D,defaultTokenImage:b}),x.view.type===je.CLAIM_WITHDRAWAL&&t(Tn,{transaction:x.view.transaction}),x.view.type===Se.ERROR_VIEW&&t($e,{actionText:r("views.ERROR_VIEW.actionText"),onActionClick:R,onCloseClick:()=>$t(m),errorEventAction:()=>{v({userJourney:S.BRIDGE,screen:"Error"})}}),x.view.type===Se.TOP_UP_VIEW&&t(Ze,{analytics:{userJourney:S.BRIDGE},widgetEvent:c.IMTBL_BRIDGE_WIDGET_EVENT,checkout:e,provider:a,showOnrampOption:p,showSwapOption:w,showBridgeOption:g,onCloseButtonClick:()=>$t(m)}),x.view.type===je.CLAIM_WITHDRAWAL_IN_PROGRESS&&t(Ta,{transactionResponse:x.view.transactionResponse}),x.view.type===je.CLAIM_WITHDRAWAL_SUCCESS&&t(Ue,{statusText:r("views.CLAIM_WITHDRAWAL.IN_PROGRESS.success.text"),actionText:r("views.CLAIM_WITHDRAWAL.IN_PROGRESS.success.actionText"),onRenderEvent:()=>{v({userJourney:S.BRIDGE,screen:"ClaimWithdrawalSuccess"}),((e,t)=>{const a=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.CLAIM_WITHDRAWAL_SUCCESS,data:{transactionHash:t}}});console.log("bridge claim withdrawal success event:",e,a),void 0!==e&&e.dispatchEvent(a)})(m,x.view.transactionHash)},onActionClick:N,statusType:Ve.SUCCESS,testId:"claim-withdrawal-success-view"}),x.view.type===je.CLAIM_WITHDRAWAL_FAILURE&&t(Ue,{statusText:r("views.CLAIM_WITHDRAWAL.IN_PROGRESS.failure.text"),actionText:r("views.CLAIM_WITHDRAWAL.IN_PROGRESS.failure.actionText"),onRenderEvent:()=>{let e="";x.view.type===je.CLAIM_WITHDRAWAL_FAILURE&&(e=x.view.reason),v({userJourney:S.BRIDGE,screen:"ClaimWithdrawalFailure",extras:{reason:e}}),((e,t,a)=>{const n=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.CLAIM_WITHDRAWAL_FAILURE,data:{transactionHash:t,reason:a,timestamp:(new Date).getTime()}}});console.log("bridge claim withdrawal failed event:",e,n),void 0!==e&&e.dispatchEvent(n)})(m,x.view.transactionHash,"Transaction failed")},onActionClick:N,statusType:Ve.FAILURE,onCloseClick:()=>$t(m),testId:"claim-withdrawal-fail-view"})]})})})}export{En as default};
1
+ import{bG as e,j as t,_ as a,aq as n,o as s,k as o,K as r,bH as i,r as l,I as c,b2 as d,n as u,bI as p,M as w,aN as g,l as h,d as f,a as b,bJ as m,ag as v,bK as x,Q as T,bL as E,P as y,bf as I,t as A,U as S,aP as k,V as C,aD as R,p as _,a8 as D,aa as N,be as P,bM as L,bN as W,G as O,X as B,bO as M,Y as G,E as F,w as z,y as U,T as V,x as $,bP as H,bQ as K,bR as J,$ as j,a2 as q,bS as Q,a3 as Y,bT as X,bU as Z,bV as ee,aj as te,aZ as ae,bW as ne,H as se,a5 as oe,bX as re,a4 as ie,a7 as le,B as ce,a0 as de,A as ue,v as pe,bh as we,bj as ge,b8 as he,bd as fe,bY as be,at as me,as as ve,bZ as xe,bn as Te,bi as Ee,b_ as ye,b$ as Ie,bp as Ae,L as Se,c0 as ke,c1 as Ce,ab as Re,ac as _e,c2 as De,ae as Ne,bq as Pe,c3 as Le,c4 as We,bg as Oe,ah as Be,ai as Me,c5 as Ge,bs as Fe,c6 as ze,bt as Ue,aL as Ve,ak as $e,c7 as He,c8 as Ke,c9 as Je}from"./index-bca0dfd7.js";import{B as je,C as qe,f as Qe,a as Ye,p as Xe,T as Ze,b as et}from"./TopUpView-b056d920.js";import{T as tt,r as at,u as nt}from"./retry-dc9e0a7d.js";import{A as st,S as ot,T as rt,a as it,g as lt,F as ct,N as dt,W as ut}from"./balance-18ac456f.js";const{Axios:pt,AxiosError:wt,CanceledError:gt,isCancel:ht,CancelToken:ft,VERSION:bt,all:mt,Cancel:vt,isAxiosError:xt,spread:Tt,toFormData:Et,AxiosHeaders:yt,HttpStatusCode:It,formToJSON:At,getAdapter:St,mergeConfig:kt}=e;var Ct=["leftSideLength","rightSideLength","text","rc","sx"],Rt=["use"],_t=["size"],Dt=["weight"];function Nt(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function Pt(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?Nt(Object(a),!0).forEach((function(t){o(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Nt(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function Lt(e){var o=e.leftSideLength,r=void 0===o?8:o,i=e.rightSideLength,l=void 0===i?4:i,c=e.text,d=e.rc,u=void 0===d?t("span",{}):d,p=e.sx,w=a(e,Ct),g="use"in w?w:Pt(Pt({},w),{},{use:void 0}),h=g.use,f=a(g,Rt),b="size"in f?f:Pt({size:void 0},f),m=b.size,v=a(b,_t),x="weight"in v?v:Pt({weight:void 0},v),T=x.weight,E=a(x,Dt),y=function(e){var t=e.text,a=e.leftSideLength,n=void 0===a?4:a,s=e.rightSideLength,o=void 0===s?4:s;if(n+o>=t.length)return t;var r=t.substring(0,n),i=t.substring(t.length-o,t.length);return"".concat(r,"...").concat(i)}({leftSideLength:r,rightSideLength:l,text:c});return n(h||t(s,{size:m,weight:T}),Pt(Pt({},E),{},{rc:u,sx:p,children:y}))}async function Wt(e,t,a){let n=!1,s=t;try{const{isConnected:a}=await e.checkIsWalletConnected({provider:t});n=a}catch(e){throw console.error(e),e}if(!n||a)try{const{provider:o}=await e.connect({provider:t,requestWalletPermissions:a});s=o,n=!0}catch(e){throw e.type===r.USER_REJECTED_REQUEST_ERROR&&console.log("User rejected request"),console.error(e),e}return s}Lt.displayName="EllipsizedText";class Ot{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=`${i[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:a,fromAddress:n}=t;try{const t=`${this.url}/v1/transactions?from_address=${n}&tx_type=${a}`,s=this.getCache(t);if(s)return Promise.resolve(s);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 a=It.InternalServerError,n="InternalServerError";return e.isAxiosError(t)&&(a=t.response?.status||a,n=t.message),Promise.reject({code:a,message:n})}}}var Bt;!function(e){e.BRIDGE="bridge"}(Bt||(Bt={}));const Mt={IN_PROGRESS:"in_progress",WITHDRAWAL_PENDING:"withdrawal_pending"},Gt={web3Provider:null,walletProviderName:null,from:null,to:null,tokenBridge:null,tokenBalances:[],allowedTokens:[],token:null,amount:"0"};var Ft;!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"}(Ft||(Ft={}));const zt=l.createContext({bridgeState:{...Gt,checkout:{}},bridgeDispatch:()=>{}});zt.displayName="BridgeContext";const Ut=(e,t)=>{switch(t.payload.type){case Ft.SET_WALLETS_AND_NETWORKS:return{...e,from:t.payload.from,to:t.payload.to};case Ft.SET_WALLET_PROVIDER_NAME:return{...e,walletProviderName:t.payload.walletProviderName};case Ft.SET_PROVIDER:return{...e,web3Provider:t.payload.web3Provider};case Ft.SET_TOKEN_BRIDGE:return{...e,tokenBridge:t.payload.tokenBridge};case Ft.SET_TOKEN_BALANCES:return{...e,tokenBalances:t.payload.tokenBalances};case Ft.SET_ALLOWED_TOKENS:return{...e,allowedTokens:t.payload.allowedTokens};case Ft.SET_TOKEN_AND_AMOUNT:return{...e,token:t.payload.token,amount:t.payload.amount};default:return e}},Vt=(e,t)=>{const a=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.TRANSACTION_SENT,data:{transactionHash:t}}});console.log("bridge success ",e,a),void 0!==e&&e.dispatchEvent(a)};function $t(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 Ht(){return u(g,{sx:{gap:"base.spacing.x2"},children:[t(p,{sx:{h:"base.spacing.x4",w:"base.spacing.x32",mt:"base.spacing.x2"}}),t(w,{shimmer:!0,emphasized:!0,size:"small"}),t(w,{shimmer:!0,emphasized:!0,size:"small"}),t(w,{shimmer:!0,emphasized:!0,size:"small"})]})}const Kt={px:"base.spacing.x4",display:"flex",flexDirection:"column",height:"100%"},Jt={flexGrow:"1",flexShrink:"0",flexBasis:"0"},jt={flexGrow:"0",flexShrink:"1",mt:"base.spacing.x2"},qt={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 Qt({openWalletDrawer:e}){const{t:a}=h();return u(b,{sx:qt,children:[t(s,{sx:{mb:"base.spacing.x8"},children:a("views.TRANSACTIONS.status.emptyState.notConnected.body")}),t(f,{variant:"secondary",size:"medium",testId:"transactions-connect-wallet-button",onClick:e,children:a("views.TRANSACTIONS.status.emptyState.notConnected.buttonText")})]})}const Yt={backgroundColor:"base.color.neutral.800",px:"base.spacing.x4",p:"base.spacing.x5",borderRadius:"base.borderRadius.x6"},Xt={color:"base.color.text.body.secondary"};function Zt({checkout:e,isPassport:a}){const{t:n}=h(),[o,r]=l.useState("");return l.useEffect((()=>{e&&r(m[e.config.environment])}),[e]),t(b,{sx:Yt,children:u(b,{sx:{display:"flex",flexDirection:"column"},children:[u(b,{children:[t(s,{size:"small",children:n("views.TRANSACTIONS.support.body1")}),u(s,{size:"small",sx:Xt,children:[n("views.TRANSACTIONS.support.body2"),t(v,{size:"small",rc:t("a",{target:"_blank",href:n("views.TRANSACTIONS.support.supportLink"),rel:"noreferrer"}),children:n("views.TRANSACTIONS.support.body3")})]})]}),a&&u(s,{size:"small",sx:Xt,children:[n("views.TRANSACTIONS.support.passport.body1")," ",t(v,{size:"small",rc:t("a",{target:"_blank",href:o,rel:"noreferrer"}),children:n("views.TRANSACTIONS.support.passport.body2")})]})]})})}const ea={display:"flex",flexDirection:"column",borderRadius:"base.borderRadius.x4",bg:"base.color.translucent.emphasis.100"},ta={p:"base.spacing.x3",d:"flex",justifyContent:"space-between",position:"relative"},aa={display:"flex",flexGrow:"1",alignItems:"center",gap:"base.spacing.x2"};function na({transaction:e,environment:a}){const n=x(e.details.from_chain),o=x(e.details.to_chain);return u(b,{sx:{display:"flex",px:"base.spacing.x4",gap:"base.spacing.x2"},children:[t(y,{sx:{w:"base.icon.size.400",h:"base.icon.size.400"},use:t("img",{src:T(a,n),alt:E[n]})}),u(b,{sx:{display:"flex",flexDirection:"column",flexGrow:"1"},children:[t(s,{size:"xxSmall",sx:{color:"base.color.translucent.standard.900"},children:E[n]}),t(Lt,{size:"xxSmall",sx:{color:"base.color.translucent.standard.600"},text:e.details.from_address})]}),t(b,{sx:{flexGrow:"1"}}),t(I,{icon:"ArrowForward",sx:{w:"base.icon.size.250",fill:"base.color.brand.4"}}),t(b,{sx:{flexGrow:"1"}}),t(y,{sx:{w:"base.icon.size.400",h:"base.icon.size.400"},use:t("img",{src:T(a,o),alt:E[o]})}),u(b,{sx:{display:"flex",flexDirection:"column",flexGrow:"1"},children:[t(s,{size:"xxSmall",sx:{color:"base.color.translucent.standard.900"},children:E[o]}),t(Lt,{size:"xxSmall",sx:{color:"base.color.translucent.standard.600"},text:e.details.to_address})]})]})}function sa({label:e,details:a,transaction:n,fiatAmount:s,amount:o,icon:r,defaultTokenImage:i,environment:c}){const{track:d}=A(),p=l.useMemo((()=>`${a.link}${a.hash}`),[a]);return t(b,{testId:`transaction-item-${n.blockchain_metadata.transaction_hash}`,sx:ea,children:u(st,{chevronSide:"right",sx:{button:{p:"base.spacing.x1"},article:{pr:"base.spacing.x10"}},onExpandChange:e=>e&&d({userJourney:S.BRIDGE,screen:"TransactionItem",control:"Accordion",controlType:"Button"}),children:[t(st.TargetLeftSlot,{sx:{pr:"base.spacing.x2"},children:u(w,{size:"xSmall",children:[t(w.FramedImage,{circularFrame:!0,use:t(tt,{src:r,name:e,defaultImage:i})}),t(w.Label,{children:e}),t(w.Caption,{children:t(v,{size:"xSmall",rc:t("a",{target:"_blank",href:p,rel:"noreferrer",onClick:e=>{return t=a,e.stopPropagation(),void d({userJourney:S.BRIDGE,screen:"TransactionItem",control:"Details",controlType:"Link",extras:{linkDetail:t}});var t}}),children:a.text})}),t(w.PriceDisplay,{fiatAmount:s,price:o})]})}),u(st.ExpandedContent,{sx:{pr:"0",pl:"0",mb:"base.spacing.x3",gap:"0"},children:[t(k,{size:"xSmall",sx:{px:"base.spacing.x2"}}),t(na,{transaction:n,environment:c})]})]})})}const oa=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"}},ra={borderRadius:"base.borderRadius.x4",display:"flex",flexDirection:"column",gap:"base.spacing.x5"};function ia({label:e,transaction:a,fiatAmount:n,amount:o,icon:r,defaultTokenImage:i,environment:c}){const{viewDispatch:d}=l.useContext(C),{track:p}=A(),g=h(),m=l.useMemo((()=>(new Date).getTime()),[]),v=l.useMemo((()=>a.details.current_status.withdrawal_ready_at?new Date(a.details.current_status.withdrawal_ready_at):void 0),[a]),x=a.details.current_status.status===Mt.WITHDRAWAL_PENDING,T=new Intl.RelativeTimeFormat(g[1].language||"en",{numeric:"auto"}),E=l.useMemo((()=>{if(!x||void 0===v)return"";const e=(v.getTime()-m)/6e4;if(e<=1)return"in 1 minute";if(e<60)return T.format(Math.ceil(e),"minute");const t=e/60;if(e<1440)return T.format(Math.ceil(t),"hour");const a=t/24;return T.format(Math.ceil(a),"day")}),[m,g[1].language]),y=!!v&&v.getTime()<m,D=l.useMemo((()=>!0===y?g.t("views.TRANSACTIONS.status.withdrawalPending.withdrawalReadyText"):`${g.t("views.TRANSACTIONS.status.withdrawalPending.withdrawalDelayText")} ${E}`),[E,g[1].language]);return u(b,{testId:`transaction-item-${a.blockchain_metadata.transaction_hash}`,sx:ea,children:[x&&u(R,{children:[u(b,{sx:ta,children:[u(b,{sx:aa,children:[t(I,{icon:"Alert",variant:"bold",sx:{fill:y?"base.color.status.fatal.bright":"base.color.status.attention.bright",w:"base.icon.size.200"}}),t(s,{testId:`transaction-item-${a.blockchain_metadata.transaction_hash}-action-message`,size:"xSmall",sx:{color:"base.color.text.body.secondary"},children:D})]}),x&&y&&t(f,{testId:`transaction-item-${a.blockchain_metadata.transaction_hash}-action-button`,variant:"primary",size:"small",onClick:()=>{d({payload:{type:_.UPDATE_VIEW,view:{type:je.CLAIM_WITHDRAWAL,transaction:a}}})},children:g.t("views.TRANSACTIONS.status.withdrawalPending.actionButtonText")})]}),t(k,{size:"small",sx:{color:"base.color.translucent.emphasis.300",opacity:.1}})]}),u(st,{chevronSide:"right",sx:{button:{p:"base.spacing.x1"},article:{pr:"base.spacing.x10"},borderTopRightRadius:"0",borderTopLeftRadius:"0"},onExpandChange:e=>e&&p({userJourney:S.BRIDGE,screen:"TransactionItem",control:"Accordion",controlType:"Button"}),children:[t(st.TargetLeftSlot,{sx:{pr:"base.spacing.x2"},children:u(w,{size:"xSmall",children:[t(w.FramedImage,{circularFrame:!0,use:t(tt,{src:r,name:e,defaultImage:i})}),t(w.Label,{children:e}),t(w.Caption,{children:g.t("views.TRANSACTIONS.status.withdrawalPending.caption")}),t(w.PriceDisplay,{fiatAmount:n,price:o})]})}),u(st.ExpandedContent,{sx:{pr:"0",pl:"0",mb:"base.spacing.x3",gap:"0"},children:[t(k,{size:"xSmall",sx:{px:"base.spacing.x2"}}),t(na,{transaction:a,environment:c})]})]})]})}const la={display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",p:"base.spacing.x2",pb:"base.spacing.x4"},ca={position:"relative",pr:"base.spacing.x2"},da={width:"base.icon.size.400"},ua={position:"absolute",top:"-6px",left:"18px",width:"20px",padding:"2px",backgroundColor:"base.color.translucent.inverse.900",borderRadius:"base.borderRadius.x2"},pa={backgroundColor:"transparent",width:"base.icon.size.400",height:"base.icon.size.400",marginRight:"base.spacing.x1",padding:"base.spacing.x1"};function wa({onChangeWalletClick:e}){const{t:a}=h(),{bridgeState:{from:n}}=l.useContext(zt),[s,o]=l.useState(void 0),[r,i]=l.useState(!1),{isWalletConnectEnabled:c,getWalletLogoUrl:d}=D(),{track:p}=A(),w=n?.walletAddress||"",g=n?.walletProviderInfo;return l.useEffect((()=>{if(c){const e=N(n?.web3Provider);i(e),e&&(async()=>{o(await d())})()}}),[c,n]),u(b,{sx:la,children:[u(b,{sx:{display:"flex",alignItems:"center",gap:"base.spacing.x1"},children:[r&&s?u(b,{sx:ca,children:[t(y,{sx:da,use:t("img",{src:s,alt:"walletconnect"})}),t(P,{logo:"WalletConnectSymbol",sx:ua})]}):g&&t(L,{src:g.icon,alt:g.name,sx:pa}),t(Lt,{leftSideLength:6,rightSideLength:4,text:w})]}),t(f,{size:"small",variant:"tertiary",onClick:()=>{p({userJourney:S.BRIDGE,screen:je.TRANSACTIONS,controlType:"Button",control:"Pressed"}),e()},children:a("views.TRANSACTIONS.changeWallet.buttonText")})]})}function ga({checkout:e,transactions:a,knownTokenMap:n,isPassport:s,defaultTokenImage:o,changeWallet:r}){const{cryptoFiatState:i}=l.useContext(qe),{t:c}=h(),[d,p]=l.useState(""),{environment:w}=e.config;l.useEffect((()=>{e&&p(W[e.config.environment])}),[e]);const g=l.useCallback(((e,t)=>e.details.current_status.status===Mt.WITHDRAWAL_PENDING&&t.details.current_status.status!==Mt.WITHDRAWAL_PENDING?-1:e.details.current_status.status===t.details.current_status.status?0:1),[]),f=l.useCallback((t=>O(t.details.from_token_address)?B(e.config.environment,M(t.details.from_chain)):B(e.config.environment,t.details.from_token_address)),[e]);return u(b,{sx:oa(s),children:[t(wa,{onChangeWalletClick:r}),t(b,{testId:"move-transaction-list",sx:ra,children:a.sort(g).map((e=>{const a=e.blockchain_metadata.transaction_hash,s=n[e.details.from_chain][e.details.from_token_address.toLowerCase()],r=Qe(e.details.amount,s.decimals),l=G(r,s.symbol,i.conversions);return e.details.current_status.status===Mt.WITHDRAWAL_PENDING?t(ia,{label:s.symbol,transaction:e,fiatAmount:`${c("views.TRANSACTIONS.fiatPricePrefix")}${l}`,amount:r,icon:f(e),defaultTokenImage:o,environment:w},a):t(sa,{label:s.symbol,details:{text:c("views.TRANSACTIONS.status.inProgress.stepInfo"),link:d,hash:a},transaction:e,fiatAmount:`${c("views.TRANSACTIONS.fiatPricePrefix")}${l}`,amount:r,icon:f(e),defaultTokenImage:o,environment:w},a)}))})]})}const ha={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"},fa={display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",padding:"base.spacing.x5",flex:1},ba={mb:"base.spacing.x8",color:"base.color.text.body.secondary"},ma={color:"base.color.text.body.secondary"};function va({checkout:e,isPassport:a,changeWallet:n}){const{page:o}=A(),{t:r}=h(),[i,c]=l.useState("");return l.useEffect((()=>{e&&c(m[e.config.environment])}),[e]),l.useEffect((()=>{o({userJourney:S.BRIDGE,screen:"NoTransactions"})}),[]),u(b,{sx:ha,children:[t(wa,{onChangeWalletClick:n}),u(b,{sx:fa,children:[t(s,{size:"small",sx:ba,children:r("views.TRANSACTIONS.status.noTransactions.body")}),a&&u(s,{size:"small",sx:ma,children:[r("views.TRANSACTIONS.status.noTransactions.passport.body")," ",t(v,{size:"small",rc:t("a",{target:"_blank",href:i,rel:"noreferrer"}),children:r("views.TRANSACTIONS.status.noTransactions.passport.link")})]})]})]})}function xa({defaultTokenImage:e,onBackButtonClick:a}){const{eventTargetState:{eventTarget:n}}=l.useContext(F),{cryptoFiatDispatch:s}=l.useContext(qe),{bridgeDispatch:o,bridgeState:{checkout:r,from:i}}=l.useContext(zt),{page:c}=A(),{t:d}=h(),{track:p}=A(),[w,g]=l.useState(!0),[f,m]=l.useState(void 0),[v,x]=l.useState([]),[T,E]=l.useState(!1),y=z(i?.web3Provider),I=l.useCallback((async()=>{if(!r)return{};const e=U(r.config);try{return((await r.getTokenAllowList({type:V.BRIDGE,chainId:e})).tokens??[]).reduce(((e,t)=>(e[t.address.toLowerCase()]=t,e)),{})}catch(e){return console.error(e),[]}}),[r]),k=l.useCallback((async()=>{if(!i?.web3Provider)return{};if(!i?.walletAddress)return{};const e=$(r.config);try{return(await r.getAllBalances({provider:i?.web3Provider,walletAddress:i?.walletAddress,chainId:e})).balances.reduce(((e,t)=>(e[t.token.address.toLowerCase()]=t.token,e)),{})}catch(e){return console.error(e),[]}}),[r,i]),C=async e=>{const t=X(U(r.config)),a=X($(r.config)),[n,o]=await Promise.all([I(),k()]),i={};Object.entries(e).forEach((([s,r])=>{(e[s]===t&&!n[s]||e[s]===a&&!o[s])&&(i[s]=r)}));const l=new Z(r.config.networkMap.get(U(r.config))?.rpcUrls[0]),c=new Z(r.config.networkMap.get($(r.config))?.rpcUrls[0]),d=[],u=[];Object.entries(i).forEach((([e,a])=>{a===t?d.push(r.getTokenInfo({provider:l,tokenAddress:e})):u.push(r.getTokenInfo({provider:c,tokenAddress:e}))}));const p=await Promise.allSettled(d),w=await Promise.allSettled(u);p.filter((e=>"fulfilled"===e.status)).forEach((e=>{const t=e;n[t.value.address.toLowerCase()]=t.value})),w.filter((e=>"fulfilled"===e.status)).forEach((e=>{const t=e;o[t.value.address.toLowerCase()]=t.value}));const g=[];return Object.values(n).forEach((e=>g.push(e.symbol.toLowerCase()))),Object.values(o).forEach((e=>g.push(e.symbol.toLowerCase()))),s({payload:{type:Ye.SET_TOKEN_SYMBOLS,tokenSymbols:g}}),{[t]:n,[a]:o}},R=l.useCallback((async(e,t)=>new Ot({env:e}).getTransactions({txType:Bt.BRIDGE,fromAddress:t})),[]),_=l.useCallback((async e=>{p({userJourney:S.BRIDGE,screen:"EmptyStateNotConnected",control:"WalletProvider",controlType:"Select",extras:{walletProviderName:e.providerDetail.info.name}});try{let t=!1;e.providerDetail.info.rdns===H.METAMASK&&(t=!0);const a=new K(e.provider),n=await Wt(r,a,t),s=await n.getNetwork(),i=await n.getSigner().getAddress();x([]),o({payload:{type:Ft.SET_WALLETS_AND_NETWORKS,from:{web3Provider:n,walletProviderInfo:{...e.providerDetail.info},walletAddress:i.toLowerCase(),network:s.chainId},to:null}})}catch(e){console.error(e)}finally{E(!1)}}),[r]),D=l.useCallback((async()=>{if(!i?.walletAddress)return;const e=await R(r.config.environment,i?.walletAddress),t={};return e.result.forEach((e=>{t[e.details.from_token_address]=e.details.from_chain})),{tokens:await C(t),transactions:e.result}}),[i,R]),{providers:N}=J({checkout:r}),P=l.useMemo((()=>N),[N]);return l.useEffect((()=>{(async()=>{g(!0);const e=await at(D,ee);if(!e)return void g(!1);const t=e.transactions.filter((t=>{const a=e.tokens[t.details.from_chain];if(!a)return!1;return!!a[t.details.from_token_address.toLowerCase()]}));m(e.tokens),x(t),g(!1)})()}),[i,r]),l.useEffect((()=>{c({userJourney:S.BRIDGE,screen:"Transactions"})}),[]),t(Y,{testId:"bridge-view",header:t(j,{showBack:!0,onBackButtonClick:()=>{i&&(o({payload:{type:Ft.SET_WALLETS_AND_NETWORKS,from:{web3Provider:i?.web3Provider,walletAddress:i?.walletAddress,walletProviderInfo:i?.walletProviderInfo,network:i?.network},to:null}}),o({payload:{type:Ft.SET_TOKEN_AND_AMOUNT,token:null,amount:""}})),a()},title:d("views.TRANSACTIONS.layoutHeading"),onCloseButtonClick:()=>$t(n)}),footer:t(q,{}),children:u(b,{sx:Kt,children:[u(b,{sx:Jt,children:[!i?.web3Provider&&t(Qt,{openWalletDrawer:()=>E(!0)}),i?.web3Provider&&w&&t(Ht,{}),i?.web3Provider&&!w&&v.length>0&&f&&t(ga,{checkout:r,transactions:v,knownTokenMap:f,isPassport:y,defaultTokenImage:e,changeWallet:()=>E(!0)}),i?.web3Provider&&!w&&0===v.length&&t(va,{checkout:r,isPassport:y,changeWallet:()=>E(!0)})]}),i?.web3Provider&&v.length>0&&t(b,{sx:jt,children:t(Zt,{checkout:r,isPassport:y})}),t(Q,{testId:"select-wallet-drawer",drawerText:{heading:d("views.TRANSACTIONS.walletSelection.heading")},showWalletSelectorTarget:!1,walletOptions:P,showDrawer:T,setShowDrawer:e=>{E(e)},onWalletChange:_})]})})}function Ta({transactionResponse:e}){const{t:a}=h(),{viewDispatch:n}=l.useContext(C),{page:s}=A();return l.useEffect((()=>{s({userJourney:S.BRIDGE,screen:"ClaimWithdrawalInProgress"})}),[]),l.useEffect((()=>{e&&(async()=>{try{const t=await e.wait();if(1===t.status)return void n({payload:{type:_.UPDATE_VIEW,view:{type:je.CLAIM_WITHDRAWAL_SUCCESS,transactionHash:t.transactionHash}}});n({payload:{type:_.UPDATE_VIEW,view:{type:je.CLAIM_WITHDRAWAL_FAILURE,transactionHash:t.transactionHash,reason:"Transaction failed"}}})}catch(e){console.error(e),n({payload:{type:_.UPDATE_VIEW,view:{type:je.CLAIM_WITHDRAWAL_FAILURE,transactionHash:"",reason:"Transaction failed"}}})}})()}),[e]),t(te,{loadingText:a("views.CLAIM_WITHDRAWAL.IN_PROGRESS.loading.text")})}function Ea(e){return e?e.substring(0,6).concat("...").concat(e.substring(e.length-4)):""}const ya={height:"100%",display:"flex",flexDirection:"column",paddingX:"base.spacing.x4"},Ia={paddingTop:"base.spacing.x10",paddingBottom:"base.spacing.x4"},Aa={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6"};function Sa({testId:e,chainId:a,chainName:n,onNetworkClick:s,environment:o}){return u(w,{testId:`${e}-network-list-${a}`,size:"medium",emphasized:!0,onClick:async()=>{await s(a)},sx:{marginBottom:"base.spacing.x1"},children:[t(w.FramedImage,{use:t("img",{src:T(o,a),alt:n})}),t(w.Label,{size:"medium",children:n})]})}ae.IMTBL_ZKEVM_DEVNET,ae.IMTBL_ZKEVM_TESTNET,ae.IMTBL_ZKEVM_MAINNET,ae.ETHEREUM,ae.SEPOLIA;const ka={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"}},Ca={width:"base.icon.size.500",backgroundColor:"base.color.translucent.standard.200",borderRadius:"base.borderRadius.x2"},Ra={position:"absolute",top:"14px",left:"38px",width:"28px",padding:"base.spacing.x1",backgroundColor:"base.color.translucent.inverse.900",borderRadius:"base.borderRadius.x2"},_a={color:"base.color.text.body.secondary"},Da={paddingY:"base.spacing.x6",borderRadius:"base.borderRadius.x18"};function Na({testId:e,walletProvider:a,walletProviderDetail:n,walletAddress:o,walletName:r,chainId:i,disableNetworkButton:c=!1,onWalletClick:d,onNetworkClick:p,environment:w}){const g=ne(i),[h,m]=l.useState(void 0),[v,x]=l.useState("Other"),[E,I]=l.useState(!1),{isWalletConnectEnabled:A,getWalletLogoUrl:S,getWalletName:k}=D(),C=l.useMemo((()=>n?.info.rdns===H.PASSPORT?r:N(a)?v:n?.info.name),[n,v,a]);return l.useEffect((()=>{if(A){const e=N(a);I(e),e&&((async()=>{m(await S())})(),x(k()))}}),[A,a,S,k]),u(b,{testId:`${e}-${n?.info.rdns}-${i}-button-wrapper`,sx:ka,onClick:d,children:[E&&h?u(R,{children:[t(y,{imageUrl:h,alt:"walletconnect",sx:Ca}),t(P,{logo:"WalletConnectSymbol",sx:Ra})]}):n&&t(L,{src:n.info.icon,alt:n.info.name}),u(b,{sx:{display:"flex",flexDirection:"column",flex:1},children:[t(se,{size:"xSmall",sx:{textTransform:"capitalize"},children:C}),t(s,{size:"xSmall",sx:_a,children:o})]}),u(f,{testId:`${e}-network-${i}-button`,size:"small",disabled:c,onClick:e=>{e.stopPropagation(),p(e)},variant:"tertiary",sx:Da,children:[t(y,{sx:{w:"base.icon.size.400",h:"base.icon.size.400"},use:t("img",{src:T(w,i),alt:g[i]})}),g]})]})}const Pa="wallet-network-selector";function La(){const{t:e}=h(),{bridgeState:{checkout:a,from:n,to:s},bridgeDispatch:o}=l.useContext(zt),{viewDispatch:r}=l.useContext(C),{providers:i}=J({checkout:a}),{environment:c}=a.config,{track:d}=A(),p=n?.web3Provider??null,w=n?.network??null,g=n?.walletAddress?.toLowerCase()??"",m=n?{provider:p,providerDetail:{provider:p,info:{...n.walletProviderInfo}}}:null,v=s?.web3Provider??null,x=s?.network??null,T=s?.walletAddress?.toLowerCase()??"",E=s?{provider:v,providerDetail:{provider:v,info:{...s.walletProviderInfo}}}:null,y=U(a.config),I=ne(y),k=$(a.config),R=ne(k),[D,P]=l.useState(!1),[L,W]=l.useState(!1),[O,B]=l.useState(p),[M,G]=l.useState(w),[F,V]=l.useState(g),[j,q]=l.useState(m),[Y,X]=l.useState(!1),[Z,ee]=l.useState(!1),[te,ae]=l.useState(v),[ce,de]=l.useState(x),[ue,pe]=l.useState(T),[we,ge]=l.useState(E),he=O&&M,fe=te&&ce,be=l.useMemo((()=>O?oe(O):null),[O]),me=l.useMemo((()=>te?oe(te):null),[te]),ve=l.useMemo((()=>i),[i]),xe=l.useMemo((()=>i.filter((e=>e.info.rdns!==H.PASSPORT||e.info.rdns===H.PASSPORT&&j?.providerDetail?.info?.rdns!==H.PASSPORT))),[i,M,j]);function Te(){ae(null),de(null)}l.useEffect((()=>{n&&s&&o({payload:{type:Ft.SET_WALLETS_AND_NETWORKS,from:null,to:null}})}),[n,s]);const Ee=l.useCallback((async e=>{Te(),q(e);let t=!1;e.providerDetail.info.rdns===H.METAMASK&&(t=!0);const n=new K(e.provider),s=await Wt(a,n,t);await(async e=>{B(e);const t=await e.getSigner().getAddress();if(V(t.toLowerCase()),d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"FromWallet",controlType:"Select",extras:{walletAddress:t.toLowerCase()}}),z(e))return G(k),P(!1),void d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"FromNetwork",controlType:"Select",extras:{chainId:k}});G(null),P(!1),setTimeout((()=>W(!0)),500)})(s)}),[a]),ye=l.useCallback((async e=>{O&&(Te(),W(!1),G(e),d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"FromNetwork",controlType:"Select",extras:{chainId:e}}))}),[a,O]),Ie=l.useCallback((async e=>{te&&(X(!1),de(e),d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"ToNetwork",controlType:"Select",extras:{chainId:e}}))}),[a,te]),Ae=l.useCallback((e=>{const t=F===e&&M===k?y:k;de(t),ee(!1),d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"ToNetwork",controlType:"Select",extras:{chainId:t}})}),[F,M]),Se=l.useCallback((e=>{ae(e),e.getSigner().getAddress().then((e=>{pe(e.toLowerCase()),Ae(e.toLowerCase()),d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"ToWallet",controlType:"Select",extras:{walletAddress:e.toLowerCase()}})}))}),[Ae]),ke=l.useCallback((async e=>{if(j?.providerDetail.info.rdns===e.providerDetail.info.rdns){ae(O),ge(e);const t=await O.getSigner().getAddress();return pe(t.toLowerCase()),Ae(t.toLowerCase()),void d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"ToWallet",controlType:"Select",extras:{walletAddress:t.toLowerCase()}})}try{ge(e);const t=new K(e.provider),n=await Wt(a,t,!1);if(N(n))Se(n);else{ae(n);const e=await n.getSigner().getAddress();pe(e.toLowerCase()),Ae(e.toLowerCase()),d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"ToWallet",controlType:"Select",extras:{walletAddress:e.toLowerCase()}})}}catch(e){console.error(e)}}),[be,O,Ae,Se]),Ce=l.useCallback((()=>{O&&M&&te&&ce&&(o({payload:{type:Ft.SET_TOKEN_BALANCES,tokenBalances:[]}}),o({payload:{type:Ft.SET_ALLOWED_TOKENS,allowedTokens:[]}}),o({payload:{type:Ft.SET_WALLETS_AND_NETWORKS,from:{web3Provider:O,walletAddress:F.toLowerCase(),walletProviderInfo:j?.providerDetail.info,network:M},to:{web3Provider:te,walletAddress:ue.toLowerCase(),walletProviderInfo:we?.providerDetail.info,network:ce}}}),d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"Next",controlType:"Button",extras:{fromWalletAddress:F,fromNetwork:M,fromWallet:{address:F,rdns:j?.providerDetail.info.rdns,uuid:j?.providerDetail.info.uuid,isPassportWallet:z(O),isMetaMask:re(O)},toWalletAddress:ue,toNetwork:ce,toWallet:{address:ue,rdns:we?.providerDetail.info.rdns,uuid:we?.providerDetail.info.uuid,isPassportWallet:z(te),isMetaMask:re(te)},moveType:M&&M===ce?"transfer":"bridge"}}),r({payload:{type:_.UPDATE_VIEW,view:{type:je.BRIDGE_FORM}}}))}),[j,O,M,F,we,te,ce,ue]);return u(b,{testId:Pa,sx:ya,children:[t(se,{testId:`${Pa}-heading`,size:"small",weight:"regular",sx:Ia,children:e("views.WALLET_NETWORK_SELECTION.heading")}),t(se,{size:"xSmall",sx:{paddingBottom:"base.spacing.x2"},children:e("views.WALLET_NETWORK_SELECTION.fromFormInput.heading")}),t(Q,{testId:`${Pa}-from`,drawerText:{heading:e("views.WALLET_NETWORK_SELECTION.fromFormInput.walletSelectorHeading"),defaultText:e("views.WALLET_NETWORK_SELECTION.fromFormInput.selectDefaultText")},showWalletSelectorTarget:!he,showDrawer:D,setShowDrawer:P,walletOptions:ve,onWalletChange:Ee}),he&&be&&u(b,{sx:{display:"flex",flexDirection:"column",gap:"base.spacing.x10"},children:[t(Na,{testId:Pa,walletProviderDetail:j?.providerDetail,walletProvider:O,walletName:be,walletAddress:Ea(F),chainId:M,disableNetworkButton:be===ie.PASSPORT.toString(),onWalletClick:()=>{P(!0)},onNetworkClick:()=>W(!0),environment:c}),u(b,{children:[t(se,{size:"xSmall",sx:{paddingBottom:"base.spacing.x2"},children:e("views.WALLET_NETWORK_SELECTION.toFormInput.heading")}),t(Q,{testId:`${Pa}-to`,drawerText:{heading:e("views.WALLET_NETWORK_SELECTION.toFormInput.walletSelectorHeading"),defaultText:e("views.WALLET_NETWORK_SELECTION.toFormInput.selectDefaultText")},showWalletSelectorTarget:!fe,walletOptions:xe,showDrawer:Z,setShowDrawer:ee,onWalletChange:ke})]})]}),t(le,{headerBarTitle:e(L?"views.WALLET_NETWORK_SELECTION.fromFormInput.networkSelectorHeading":"views.WALLET_NETWORK_SELECTION.toFormInput.networkSelectorHeading"),size:"full",onCloseDrawer:()=>{L?W(!1):X(!1)},visible:L||Y,children:u(le.Content,{sx:{paddingX:"base.spacing.x4"},children:[t(Sa,{testId:Pa,chainName:R,onNetworkClick:L?ye:Ie,chainId:k,environment:c},R),(Y||j?.providerDetail.info.rdns!==H.PASSPORT)&&t(Sa,{testId:Pa,chainName:I,onNetworkClick:L?ye:Ie,chainId:y,environment:c},I)]})}),fe&&me&&u(b,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[t(Na,{testId:Pa,walletProviderDetail:we?.providerDetail,walletProvider:te,walletName:me,walletAddress:Ea(ue),chainId:ce,disableNetworkButton:M===y||me===ie.PASSPORT.toString()||F===ue,onWalletClick:()=>{ee(!0)},onNetworkClick:()=>{X(!0)},environment:c}),t(b,{sx:Aa,children:t(f,{testId:`${Pa}-submit-button`,size:"large",onClick:Ce,children:e("views.WALLET_NETWORK_SELECTION.submitButton.text")})})]})]})}function Wa(){const{t:e}=h(),{viewDispatch:a}=l.useContext(C),{eventTargetState:{eventTarget:n}}=l.useContext(F),{page:s}=A();return l.useEffect((()=>{s({userJourney:S.BRIDGE,screen:"WalletNetworkSelection"})}),[]),t(Y,{testId:"bridge-view",header:t(j,{title:e("views.WALLET_NETWORK_SELECTION.layoutHeading"),onCloseButtonClick:()=>$t(n),rightActions:t(ce,{icon:"Minting",sx:de(),onClick:()=>{a({payload:{type:_.UPDATE_VIEW,view:{type:je.TRANSACTIONS}}})},testId:"move-transactions-button"})}),footer:t(q,{}),children:t(La,{})})}function Oa(e,t){return e&&0!==parseFloat(e)?t&&Number(e)>Number(t)?"views.BRIDGE_FORM.validation.insufficientBalance":"":"views.BRIDGE_FORM.validation.noAmountInputted"}const Ba={height:"100%",display:"flex",flexDirection:"column",justifyContent:"space-between",paddingTop:"base.spacing.x10"},Ma={paddingTop:"base.spacing.x4",display:"flex",gap:"base.spacing.x1"},Ga={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6",paddingX:"base.spacing.x4"};function Fa({sx:e}){return u(b,{sx:{...e,paddingTop:"0",marginTop:"base.spacing.x4"},rc:t("div",{}),children:[t(b,{sx:{display:"flex",backgroundColor:"#F3F3F30A",borderRadius:"8px"},children:t(b,{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:t("span",{}),children:t(p,{rc:t("span",{})})})}),t(b,{sx:{display:"flex",width:"100%",backgroundColor:"#F3F3F30A",borderRadius:"8px"},children:t(b,{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:t("span",{}),children:t(p,{rc:t("span",{})})})})]})}function za(e){const{t:a}=h(),{bridgeDispatch:n,bridgeState:{tokenBalances:s,allowedTokens:o,checkout:r,from:i,to:c,amount:d,token:p}}=l.useContext(zt),{cryptoFiatState:w,cryptoFiatDispatch:g}=l.useContext(qe),{viewDispatch:m}=l.useContext(C),{testId:v,defaultAmount:x,defaultTokenAddress:T,isTokenBalancesLoading:E,defaultTokenImage:y,environment:I,theme:k}=e,{track:R}=A(),[D,N]=l.useState(x||""),[P,L]=l.useState(""),[W,B]=l.useState(),[M,F]=l.useState(""),[z,U]=l.useState(""),[V,$]=l.useState(!1),H=l.useRef(!1),K=W?`${a("views.BRIDGE_FORM.content.availableBalancePrefix")} ${ue(W?.formattedBalance)}`:"",[J,j]=l.useState([]),[q,Q]=l.useState(!1),Y=l.useCallback(((e,t)=>t?`${e.toLowerCase()}-${t.toLowerCase()}`:e.toLowerCase()),[]);l.useEffect((()=>{if(0===s.length)return;const e=s.filter((e=>e.balance.gt(0))).map((e=>({id:Y(e.token.symbol,e.token.address),name:e.token.name,symbol:e.token.symbol,icon:e.token.icon,balance:{formattedFiatAmount:0===w.conversions.size?pe(""):G(e.formattedBalance,e.token.symbol,w.conversions),formattedAmount:ue(e.formattedBalance)}})));j(e),H.current||(H.current=!0,T&&B(s.find((e=>O(e.token.address)&&T?.toLocaleUpperCase()===we||e.token.address?.toLowerCase()===T?.toLowerCase()))))}),[s,w.conversions,T,H.current,Y,pe]),l.useEffect((()=>{if(d&&p){N(d);for(let e=0;e<s.length;e++){const t=s[e];if(t.token.address===p.address){B(t);break}}n({payload:{type:Ft.SET_TOKEN_AND_AMOUNT,token:null,amount:""}})}}),[d,p,s]);const X=l.useMemo((()=>W&&W.token?Y(W.token.symbol,W.token.address):void 0),[W,s,w.conversions,Y]),Z=e=>{if(N(e),P){const t=Oa(e,W?.formattedBalance);L(t)}var t;W&&(U(G(e,W.token.symbol,w.conversions)),t=!0,Number.isNaN(parseFloat(D))||parseFloat(D)<=0||!W||!i||!i.walletAddress||!c||!c.walletAddress||t&&V||!r||$(!0))};l.useEffect((()=>{g({payload:{type:Ye.SET_TOKEN_SYMBOLS,tokenSymbols:o.map((e=>e.symbol))}})}),[g,o]),l.useEffect((()=>{D&&W&&U(G(D,W.token.symbol,w.conversions))}),[D,W]);const ee=l.useCallback((()=>{const e=W?"":"views.BRIDGE_FORM.validation.noTokenSelected";const t=Oa(D,W?.formattedBalance);return e&&F(e),t&&L(t),!e&&!t}),[W,D,F,L]),te=l.useCallback((async()=>{ee()&&r&&i?.web3Provider&&W&&(R({userJourney:S.BRIDGE,screen:"TokenAmount",control:"Review",controlType:"Button",extras:{tokenAddress:W.token.address,amount:D}}),n({payload:{type:Ft.SET_TOKEN_AND_AMOUNT,token:W.token,amount:D}}),m({payload:{type:_.UPDATE_VIEW,view:{type:je.BRIDGE_REVIEW}}}))}),[r,i?.web3Provider,ee,W]);return u(b,{testId:v,sx:Ba,children:[u(b,{sx:{paddingX:"base.spacing.x4"},children:[t(se,{testId:`${v}-content-heading`,size:"small",weight:"regular",sx:{paddingBottom:"base.spacing.x4"},children:a("views.BRIDGE_FORM.content.title")}),(!T||!E)&&u(b,{sx:Ma,children:[t(ot,{testId:"bridge-token",options:J,optionsLoading:E,coinSelectorHeading:a("views.BRIDGE_FORM.bridgeForm.from.selectorTitle"),selectedOption:X,subtext:K,textAlign:"left",errorMessage:a(M),onSelectChange:e=>(e=>{const t=s.find((t=>e===Y(t.token.symbol,t.token.address)));t&&(B(t),F(""))})(e),defaultTokenImage:y,environment:I,theme:k}),t(rt,{testId:"bridge-amount",type:"number",value:D,placeholder:a("views.BRIDGE_FORM.bridgeForm.from.inputPlaceholder"),subtext:`${a("views.BRIDGE_FORM.content.fiatPricePrefix")} $${pe(z,!0)}`,validator:ge,onTextInputChange:e=>Z(e),onTextInputEnter:te,textAlign:"right",inputMode:"decimal",errorMessage:a(P)})]}),T&&E&&t(Fa,{sx:Ma})]}),u(b,{sx:Ga,children:[t(f,{testId:`${v}-button`,variant:"primary",onClick:te,size:"large",children:a("views.BRIDGE_FORM.bridgeForm.buttonText")}),t(it,{visible:q,showHeaderBar:!1,onCloseDrawer:()=>Q(!1),onRetry:async()=>{Q(!1),await te()}})]})]})}const Ua=1e4;function Va({amount:e,tokenAddress:a,defaultTokenImage:n,theme:s}){const{t:o}=h(),{bridgeState:r,bridgeDispatch:i}=l.useContext(zt),{checkout:c,from:d}=r,{eventTargetState:{eventTarget:u}}=l.useContext(F),[p,w]=l.useState(!1),{page:g}=A();l.useEffect((()=>{(e||a)&&g({userJourney:S.BRIDGE,screen:"TokenAmount",extras:{amount:e,tokenAddress:a}})}),[]);const f=l.useCallback((async()=>{if(c&&d?.web3Provider)try{const e=await lt({checkout:c,provider:d.web3Provider,chainId:d?.network,allowTokenListType:V.BRIDGE,retryPolicy:{retryIntervalMs:0,retries:0}});if(void 0===e)return;i({payload:{type:Ft.SET_TOKEN_BALANCES,tokenBalances:e.allowedBalances}}),i({payload:{type:Ft.SET_ALLOWED_TOKENS,allowedTokens:e.allowList.tokens}})}catch(e){console.debug(e)}}),[c,d?.web3Provider,d?.network]);return nt(f,Ua),l.useEffect((()=>{c&&d?.web3Provider&&(w(!0),f().finally((()=>w(!1))))}),[c,d?.web3Provider]),t(Y,{testId:"bridge-view",header:t(j,{showBack:!0,title:o("views.BRIDGE_FORM.header.title"),onCloseButtonClick:()=>$t(u)}),footer:t(q,{}),children:t(za,{testId:"bridge-form",defaultAmount:e,defaultTokenAddress:a,isTokenBalancesLoading:p,defaultTokenImage:n,environment:c?.config.environment,theme:s})})}const $a={display:"flex",flexDirection:"column",alignItems:"center",paddingBottom:"base.spacing.x6",height:"100%",paddingX:"base.spacing.x6"},Ha={fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"15px",paddingX:"base.spacing.x6"},Ka={...Ha,color:"base.color.text.body.secondary"},Ja={display:"flex",flexDirection:"column",justifyContent:"flex-end",gap:"base.spacing.x2",height:"100%",width:"100%"},ja={width:"100%",height:"base.spacing.x16"};function qa({environment:e,onCloseDrawer:a,visible:n,walletAddress:o,tokenSymbol:r,onAddCoinsClick:i}){const{t:c}=h(),[d,p]=l.useState(!1),w=he(e,"/notenougheth.svg"),g=he(e,"/notenoughimx.svg"),m=c("drawers.notEnoughGas.content.heading",{token:r.toUpperCase()}),v=c("drawers.notEnoughGas.content.body",{token:r.toUpperCase()}),x=l.useCallback((()=>{o&&""!==o&&navigator.clipboard.writeText(o),p(!0),setTimeout((()=>{p(!1)}),3e3)}),[o]);return t(le,{size:"threeQuarter",visible:n,showHeaderBar:!0,headerBarTitle:void 0,onCloseDrawer:a,children:u(le.Content,{testId:"not-enough-gas-bottom-sheet",sx:$a,children:[t(fe,{sx:{w:"90px",h:r===be?"110px":"90px"},use:t("img",{src:r===be?w:g,alt:m})}),t(se,{size:"small",weight:"bold",sx:Ha,testId:"not-enough-gas-heading",children:m}),t(s,{sx:Ka,children:v}),t(b,{sx:Ja,children:r===be?u(f,{testId:"not-enough-gas-copy-address-button",sx:ja,variant:"primary",onClick:x,children:[c("drawers.notEnoughGas.buttons.copyAddress"),t(f.Icon,{icon:d?"Tick":"CopyText"})]}):t(f,{testId:"not-enough-gas-add-imx-button",sx:ja,variant:"primary",onClick:i,children:c("drawers.notEnoughGas.buttons.addMoreImx")})})]})})}const Qa={borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px",marginBottom:"2px",position:"relative"},Ya={borderTopLeftRadius:"0px",borderTopRightRadius:"0px",backgroundColor:"base.color.translucent.emphasis.100",position:"relative"},Xa={width:"base.icon.size.400"},Za={position:"absolute",top:"2px",left:"26px",width:"20px",padding:"2px",backgroundColor:"base.color.translucent.inverse.900",borderRadius:"base.borderRadius.x2"},en={height:"100%",display:"flex",flexDirection:"column",paddingX:"base.spacing.x4"},tn={paddingTop:"base.spacing.x10",paddingBottom:"base.spacing.x4"},an={display:"flex",flexDirection:"column",alignItems:"center",paddingY:"base.spacing.x1"},nn={width:"base.icon.size.300",transform:"rotate(270deg)"},sn={width:"base.icon.size.400"},on={backgroundColor:"base.color.translucent.standard.200",position:"absolute",width:"32px",height:"32px",padding:"6px",left:"base.spacing.x3"},rn={position:"absolute",right:"base.spacing.x3",w:"base.icon.size.400",h:"base.icon.size.400"},ln=(e,t,a,n)=>{const s=[];if(!e?.fees||!e.token)return s;let o=me.from(0);if(e.fees.bridgeFee&&(o=o.add(e.fees.bridgeFee)),e.fees.imtblFee&&(o=o.add(e.fees.imtblFee)),o.gt(0)&&s.push({label:n(t?"drawers.feesBreakdown.fees.serviceFee.depositLabel":"drawers.feesBreakdown.fees.serviceFee.withdrawLabel"),fiatAmount:`≈ ${n("drawers.feesBreakdown.fees.fiatPricePrefix")}${G(Qe(o,e.token.decimals),e.token.symbol,a.conversions)}`,amount:ue(Qe(o,e.token.decimals)),token:e.token}),e.fees.sourceChainGas?.gt(0)){const t=Qe(e.fees.sourceChainGas,e.token.decimals);s.push({label:n("drawers.feesBreakdown.fees.gasFeeMove.label"),fiatAmount:`≈ ${n("drawers.feesBreakdown.fees.fiatPricePrefix")}${G(t,e.token.symbol,a.conversions)}`,amount:`${ue(t)}`,prefix:"≈ ",token:e.token})}if(e.fees.approvalFee?.gt(0)){const t=Qe(e.fees.approvalFee,e.token.decimals);s.push({label:n("drawers.feesBreakdown.fees.approvalFee.label"),fiatAmount:`≈ ${n("drawers.feesBreakdown.fees.fiatPricePrefix")}${G(t,e.token.symbol,a.conversions)}`,amount:`${ue(t)}`,prefix:"≈ ",token:e.token})}return s},cn=(e,t)=>new ve(e,["function transfer(address to, uint amount)"],t),dn="bridge-review-summary";function un(){const{t:e}=h(),{viewDispatch:a}=l.useContext(C),{bridgeState:{checkout:n,tokenBridge:o,from:r,to:i,token:c,amount:d,tokenBalances:p},bridgeDispatch:g}=l.useContext(zt),{environment:m}=n.config,{track:v}=A(),{cryptoFiatState:x}=l.useContext(qe),[y,k]=l.useState(!1),[W,B]=l.useState(void 0),[M,F]=l.useState(""),[V,H]=l.useState(""),[J,j]=l.useState(void 0),[q,Q]=l.useState(void 0),[Y,X]=l.useState(!1),[Z,ee]=l.useState(void 0),[te,ae]=l.useState(void 0),[ne,oe]=l.useState(!1),[ie,le]=l.useState(!1),{isWalletConnectEnabled:ce,getWalletLogoUrl:de}=D(),[ue,pe]=l.useState(!1),ge=l.useMemo((()=>r?.network===i?.network),[r,i]),he=l.useMemo((()=>$(n.config)===i?.network),[r,i,n]),fe=l.useMemo((()=>{if(!W)return!1;if(!c)return!0;const e=p.find((e=>O(e.token.address)));let t=me.from(W.fees.totalFees);return O(c.address)&&(t=t.add(Xe(d,c.decimals))),!e||e.balance.lt(t)}),[p,W,c,d]),ve=l.useMemo((()=>c?.symbol?`${c?.symbol} ${d}`:`${d}`),[c,d]),ke=l.useMemo((()=>d&&c?G(d,c.symbol,x.conversions):""),[c,d]),Ce=l.useMemo((()=>r?r.walletAddress:"-"),[r]),Re=l.useMemo((()=>r&&r.network),[r]),_e=l.useMemo((()=>i?i.walletAddress:"-"),[i]),De=l.useMemo((()=>i?.network),[i]),Ne=l.useCallback((async()=>{if(!(o&&d&&r&&i&&c))return;const e=c?.address?.toLowerCase()??we.toUpperCase(),t={gasEstimateType:xe.BRIDGE_TO_L2,fees:{},token:n.config.networkMap.get(r.network)?.nativeCurrency};let a;if(e===we.toLowerCase())a=n.providerCall(r.web3Provider,(async e=>await e.estimateGas({to:_e,from:Ce,value:Xe(d,c.decimals)})));else{a=cn(e,r.web3Provider.getSigner()).estimateGas.transfer(_e,Xe(d,c.decimals))}try{const[e,n]=await Promise.all([a,r.web3Provider.getGasPrice()]),s=e.mul(n),o=Qe(s,Te);t.fees.sourceChainGas=s,t.fees.totalFees=s,B(t),F(o),H(G(o,we.toUpperCase(),x.conversions))}catch(e){console.error("Unable to fetch gas estimate",e)}}),[n,r,i,c,d]),Pe=l.useCallback((async()=>{if(!(o&&d&&r&&i&&c))return;const e=await o.getUnsignedBridgeBundledTx({senderAddress:Ce,recipientAddress:_e,token:c.address??we.toUpperCase(),amount:Xe(d,c.decimals),sourceChainId:r?.network.toString(),destinationChainId:i?.network.toString(),gasMultiplier:"auto"}),t={contractToApprove:e.contractToApprove,unsignedTx:e.unsignedApprovalTx},a={feeData:e.feeData,unsignedTx:e.unsignedBridgeTx};j(t),Q(a);const s=a.feeData,{totalFees:l,approvalFee:u}=s;let p=l;t.unsignedTx||(p=l.sub(u),s.approvalFee=me.from(0));const w={gasEstimateType:xe.BRIDGE_TO_L2,fees:{...s,totalFees:p},token:n.config.networkMap.get(r.network)?.nativeCurrency};B(w);const g=Qe(w?.fees.totalFees||0,Te);F(g),H(G(g,w?.token?.symbol||"",x.conversions))}),[n,o]);nt((()=>{ge?Ne():Pe()}),Ee);const Le=l.useCallback((()=>ln(W,he,x,e)),[W,he]);l.useEffect((()=>{(async()=>{k(!0),ge?await Ne():await Pe(),k(!1)})()}),[]);const We=l.useCallback((e=>{g({payload:{type:Ft.SET_WALLETS_AND_NETWORKS,from:{web3Provider:e,walletAddress:r?.walletAddress,walletProviderInfo:r?.walletProviderInfo,network:r?.network},to:{web3Provider:i?.web3Provider,walletAddress:i?.walletAddress,walletProviderInfo:i?.walletProviderInfo,network:i?.network}}})}),[r?.web3Provider,r?.network,i?.web3Provider,i?.network]);l.useEffect((()=>{if(!r?.web3Provider)return;const e=()=>{const e=new K(r?.web3Provider.provider);We(e),X(!1)};return ye(r?.web3Provider,e),()=>{Ie(r?.web3Provider,e)}}),[r?.web3Provider]),l.useEffect((()=>{if(ce){const e=N(r?.web3Provider),t=N(i?.web3Provider);oe(e),le(t),(async()=>{e&&ee(await de()),t&&ae(await de())})()}}),[ce,r?.web3Provider,i?.web3Provider]),l.useEffect((()=>{fe&&pe(!0)}),[fe]);const Oe=l.useCallback((async()=>{if(ge||J&&q)if(fe)pe(!0);else{try{const e=await(r?.web3Provider.provider).request({method:"eth_chainId",params:[]});if(parseInt(e.toString())!==r?.network)return void X(!0)}catch(e){console.error("Current network check failed",e)}v({userJourney:S.BRIDGE,screen:"Summary",control:"Submit",controlType:"Button",extras:{fromWalletAddress:Ce,fromNetwork:Re,fromWallet:{address:Ce,rdns:r?.walletProviderInfo?.rdns,uuid:r?.walletProviderInfo?.uuid,isPassportWallet:z(r?.web3Provider),isMetaMask:re(r?.web3Provider)},toWalletAddress:_e,toNetwork:De,toWallet:{address:_e,rdns:i?.walletProviderInfo?.rdns,uuid:i?.walletProviderInfo?.uuid,isPassportWallet:z(i?.web3Provider),isMetaMask:re(i?.web3Provider)},amount:d,fiatAmount:ke,tokenAddress:c?.address,moveType:ge?"transfer":"bridge"}}),a({payload:{type:_.UPDATE_VIEW,view:{type:je.APPROVE_TRANSACTION,approveTransaction:J,transaction:q}}})}}),[a,J,q,r?.web3Provider,r?.network,r?.walletProviderInfo,i?.web3Provider,i?.network,i?.walletProviderInfo]);return u(b,{testId:dn,sx:en,children:[t(se,{testId:`${dn}-heading`,size:"small",weight:"regular",sx:tn,children:e("views.BRIDGE_REVIEW.heading")}),u(w,{testId:`${dn}-from-amount`,size:"small",emphasized:!0,sx:Qa,children:[t(w.Label,{size:"small",sx:{marginBottom:"base.spacing.x4",fontWeight:"bold"},children:e("views.BRIDGE_REVIEW.fromLabel.amountHeading")}),t(w.Caption,{}),t(w.PriceDisplay,{use:t(se,{size:"xSmall",weight:"light"}),price:ve??"-",fiatAmount:`${e("views.BRIDGE_REVIEW.fiatPricePrefix")}${ke}`})]}),u(w,{testId:`${dn}-from-address`,size:"xSmall",emphasized:!0,sx:Ya,children:[ne&&Z?u(R,{children:[t(w.FramedImage,{imageUrl:Z,alt:"walletconnect",sx:Xa}),t(P,{logo:"WalletConnectSymbol",sx:Za})]}):r?.walletProviderInfo&&t(L,{src:r?.walletProviderInfo.icon,alt:r?.walletProviderInfo.name,sx:on}),u(w.Label,{sx:{marginLeft:ne&&Z?"0px":"45px"},children:[t("strong",{children:e("views.BRIDGE_REVIEW.fromLabel.heading")})," ",t(s,{size:"small",sx:{color:"base.color.text.body.secondary"},children:Ea(Ce??"")})]}),Re&&t(w.FramedImage,{use:t("img",{src:T(m,Re),alt:E[Re]}),sx:rn})]}),t(b,{sx:an,children:t(I,{icon:"ArrowBackward",sx:nn})}),u(w,{testId:`${dn}-to-address`,size:"xSmall",emphasized:!0,sx:Qa,children:[ie&&te?u(R,{children:[t(w.FramedImage,{imageUrl:te,alt:"walletconnect",sx:Xa}),t(P,{logo:"WalletConnectSymbol",sx:Za})]}):i?.walletProviderInfo&&t(L,{src:i?.walletProviderInfo.icon,alt:i?.walletProviderInfo.name,sx:on}),u(w.Label,{sx:{marginLeft:ie&&te?"0px":"45px"},children:[t("strong",{children:e("views.BRIDGE_REVIEW.toLabel.heading")})," ",t(s,{size:"small",sx:{color:"base.color.text.body.secondary"},children:Ea(_e??"")})]}),De&&t(w.FramedImage,{use:t("img",{src:T(m,De),alt:E[De]}),sx:rn})]}),t(ct,{gasFeeValue:M,gasFeeFiatValue:V,gasFeeToken:W?.token,fees:Le(),onFeesClick:()=>{v({userJourney:S.BRIDGE,screen:"MoveCoins",control:"ViewFees",controlType:"Button"})},sx:{borderTopRightRadius:"0",borderTopLeftRadius:"0"},loading:y}),t(b,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"flex-end",paddingY:"base.spacing.x6",width:"100%"},children:W&&!y&&t(f,{size:"large",sx:{width:"100%"},onClick:Oe,disabled:y,testId:`${dn}__submit-button`,children:y?t(f.Icon,{icon:"Loading",sx:sn}):e("views.BRIDGE_REVIEW.submitButton.buttonText")})}),t(dt,{visible:Y,targetChainId:r?.network,provider:r?.web3Provider,checkout:n,onCloseDrawer:()=>X(!1),onNetworkSwitch:We}),t(qa,{environment:n.config.environment,visible:ue,onCloseDrawer:()=>pe(!1),walletAddress:r?.walletAddress||"",tokenSymbol:r?.network===U(n?.config)?be:Ae,onAddCoinsClick:()=>{a({payload:{type:_.UPDATE_VIEW,view:{type:Se.TOP_UP_VIEW}}})}})]})}function pn(){const{t:e}=h(),{eventTargetState:{eventTarget:a}}=l.useContext(F),{page:n}=A();return l.useEffect((()=>{n({userJourney:S.BRIDGE,screen:"Review"})}),[]),t(Y,{testId:"bridge-review",header:t(j,{showBack:!0,title:e("views.BRIDGE_REVIEW.layoutHeading"),onCloseButtonClick:()=>$t(a)}),footer:t(q,{}),children:t(un,{})})}function wn({environment:e}){const{RiveComponent:a}=ke.useRive({src:`${Ce[e]}/v1/blob/img/rocket.riv`,autoplay:!0,layout:new ke.Layout({fit:ke.Fit.Cover}),stateMachines:"State Machine 1"});return t(b,{sx:{...Re,background:"base.color.translucent.emphasis.100"},children:t(b,{sx:_e,rc:t(a,{})})})}function gn({transactionHash:e,isTransfer:a}){const{t:n}=h(),{eventTargetState:{eventTarget:s}}=l.useContext(F),{page:o}=A(),{cryptoFiatState:r}=l.useContext(qe),{viewDispatch:i}=l.useContext(C),{bridgeState:{checkout:c,from:d,to:p,token:w,amount:g}}=l.useContext(zt);return l.useEffect((()=>{Vt(s,e);const t=G(g,w?.symbol??"",r.conversions);o({userJourney:S.BRIDGE,screen:"InProgress",extras:{fromWalletAddress:d?.walletAddress,toWalletAddress:p?.walletAddress,amount:g,fiatAmount:t,tokenAddress:w?.address,moveType:a?"transfer":"bridge"}})}),[]),t(Y,{testId:"move-in-progress-view",header:t(j,{transparent:!0,onCloseButtonClick:()=>$t(s),rightActions:u(R,{children:[t(ce,{icon:"Minting",sx:de(),onClick:()=>{i({payload:{type:_.UPDATE_VIEW,view:{type:je.TRANSACTIONS}}})},testId:"settings-button"}),!a&&t(De,{isAnimated:!0,variant:"guidance",sx:{position:"absolute",right:"base.spacing.x14",top:"base.spacing.x1"}})]})}),footer:t(q,{}),heroContent:t(wn,{environment:c.config.environment}),floatHeader:!0,children:u(Ne,{heading:n(a?"views.IN_PROGRESS.transferHeading":"views.IN_PROGRESS.heading"),children:[!a&&u(R,{children:[n("views.IN_PROGRESS.body1"),t("br",{}),t("br",{})]}),n("views.IN_PROGRESS.body2")]})})}function hn({bridgeTransaction:e}){const{t:a}=h(),{bridgeState:n}=l.useContext(zt),{checkout:s,from:o,to:i,token:c,amount:d}=n,{viewDispatch:p}=l.useContext(C),{eventTargetState:{eventTarget:w}}=l.useContext(F),{page:g}=A();l.useEffect((()=>{g({userJourney:S.BRIDGE,screen:"ApproveTransaction",extras:{moveType:e?"bridge":"transfer"}})}),[]);const[f,m]=l.useState(!1),[v,x]=l.useState(!1),[T,E]=l.useState(!1),[y,I]=l.useState(!1),k=l.useCallback((()=>{p({payload:{type:_.UPDATE_VIEW,view:{type:Se.ERROR_VIEW,error:new Error("No checkout object or no provider object found")}}})}),[p]),D=l.useCallback((()=>{p({payload:{type:_.GO_BACK}})}),[p]),N=e=>{if(e.type!==r.UNPREDICTABLE_GAS_LIMIT){if(e.type===r.TRANSACTION_FAILED||e.type===r.INSUFFICIENT_FUNDS||e.receipt&&0===e.receipt.status){let t="Transaction failed";return e.type===r.INSUFFICIENT_FUNDS&&(t="Insufficient funds"),e.receipt&&0===e.receipt.status&&(t="Transaction failed to settle on chain"),void p({payload:{type:_.UPDATE_VIEW,view:{type:je.BRIDGE_FAILURE,reason:t}}})}p({payload:{type:_.UPDATE_VIEW,view:{type:Se.ERROR_VIEW,error:e}}})}else p({payload:{type:_.UPDATE_VIEW,view:{type:je.BRIDGE_FAILURE,reason:"Unpredictable gas limit"}}})},P=l.useCallback((async()=>{if(!s||!o?.web3Provider)return void k();if(f)return;m(!0),x(!0);const e=c?.address?.toLowerCase()??we.toUpperCase();let t;try{if(e===we.toLowerCase()){const e={to:i?.walletAddress,value:Xe(d,c?.decimals)};t=(await s.sendTransaction({provider:o.web3Provider,transaction:e})).transactionResponse.hash}else{const a=cn(e,o.web3Provider.getSigner()),n=Xe(d,c?.decimals);t=(await s.providerCall(o.web3Provider,(async()=>await a.transfer(i?.walletAddress,n)))).hash}p({payload:{type:_.UPDATE_VIEW,view:{type:je.IN_PROGRESS,transactionHash:t,isTransfer:!0}}})}catch(e){x(!1),e.type===r.USER_REJECTED_REQUEST_ERROR?I(!0):N(e)}finally{m(!1)}}),[s,o,k,p,f]),L=l.useCallback((async()=>{let t=!1;const{approveTransaction:a,transaction:n}=e;if(s&&o?.web3Provider&&n){if(!f){if(m(!0),a.unsignedTx)try{x(!0);const e=await s.sendTransaction({provider:o.web3Provider,transaction:a.unsignedTx});if(1!==(await e.transactionResponse.wait()).status)return void p({payload:{type:_.UPDATE_VIEW,view:{type:je.BRIDGE_FAILURE,reason:"Transaction failed to settle on chain"}}})}catch(e){x(!1),e.type===r.USER_REJECTED_REQUEST_ERROR?(I(!0),t=!0):N(e)}finally{m(!1)}try{if(t)return;x(!0);const e=await s.sendTransaction({provider:o.web3Provider,transaction:n.unsignedTx});p({payload:{type:_.UPDATE_VIEW,view:{type:je.IN_PROGRESS,transactionHash:e.transactionResponse.hash,isTransfer:!1}}});0===(await e.transactionResponse.wait()).status&&p({payload:{type:_.UPDATE_VIEW,view:{type:je.BRIDGE_FAILURE,reason:"Approval transaction failed to settle on chain"}}})}catch(e){e.type===r.USER_REJECTED_REQUEST_ERROR?I(!0):N(e)}finally{E(!1),x(!1),m(!1)}}}else k()}),[s,o,k,p,e,f]);return u(R,{children:[T&&t(te,{loadingText:a("views.APPROVE_TRANSACTION.loadingView.text")}),!T&&t(Y,{header:t(j,{transparent:!0,showBack:!0,onCloseButtonClick:()=>$t(w),onBackButtonClick:D}),floatHeader:!0,heroContent:t(ut,{}),footer:u(b,{sx:{width:"100%",flexDirection:"column"},children:[t(Pe,{loading:v,actionText:a("views.APPROVE_TRANSACTION."+(y?"footer.retryText":"footer.buttonText")),onActionClick:e?L:P}),t(q,{})]}),children:t(Ne,{heading:a("views.APPROVE_TRANSACTION.content.heading"),children:t(b,{children:a("views.APPROVE_TRANSACTION.content.body")})})})]})}const fn={display:"flex",flexDirection:"column",alignItems:"center",paddingTop:"base.spacing.x6",paddingBottom:"base.spacing.x1",height:"100%"},bn={color:"base.color.text.body.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"15px"},mn={display:"flex",flexDirection:"column",justifyContent:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},vn={width:"100%",height:"base.spacing.x16"};function xn({visible:e,onClose:a,onChangeAccount:n}){const{t:o}=h(),{bridgeState:{checkout:r}}=l.useContext(zt),i=Le(r.config.environment);return t(le,{headerBarTitle:void 0,size:"full",onCloseDrawer:a,visible:e,showHeaderBar:!1,children:t(le.Content,{children:u(b,{testId:"not-enough-eth-drawer",sx:fn,children:[t(fe,{sx:{w:"base.icon.size.600",h:"base.icon.size.600"},use:t("img",{src:i,alt:"ETH"})}),t(se,{size:"small",sx:bn,testId:"not-enough-gas-heading",children:`${o("drawers.notEnoughEthWithdrawal.content.heading1")} ${be} ${o("drawers.notEnoughEthWithdrawal.content.heading2")}`}),t(s,{sx:bn,children:`${o("drawers.notEnoughEthWithdrawal.content.body1")} ${be} ${o("drawers.notEnoughEthWithdrawal.content.body2")}`}),u(b,{sx:mn,children:[t(f,{testId:"not-enough-eth-drawer-retry-button",sx:vn,variant:"tertiary",onClick:n,children:o("drawers.notEnoughEthWithdrawal.buttons.retry")}),t(f,{sx:vn,variant:"tertiary",onClick:a,testId:"not-enough-eth-drawer-dismiss-button",children:o("drawers.notEnoughEthWithdrawal.buttons.dismiss")})]})]})})})}function Tn({transaction:e}){const{t:a}=h(),{bridgeState:{checkout:n,tokenBridge:s,from:o}}=l.useContext(zt),{viewDispatch:r}=l.useContext(C),{eventTargetState:{eventTarget:i}}=l.useContext(F),{page:c}=A();l.useEffect((()=>{c({userJourney:S.BRIDGE,screen:"ClaimWithdrawal"})}),[]);const[d,p]=l.useState(!1),[w,g]=l.useState(!1),[m,v]=l.useState(!1),[x,T]=l.useState(),[E,y]=l.useState(!1),I=l.useCallback((()=>{r({payload:{type:_.GO_BACK}})}),[r]);l.useEffect((()=>{(async()=>{if(s&&e&&void 0!==e.details.current_status?.index){g(!0);try{const t=await(s?.getFlowRateWithdrawTx({recipient:e.details.to_address,index:e.details.current_status.index}));T(t)}catch(e){console.log(e)}finally{g(!1)}}})()}),[s,e]);const k=l.useCallback((async({forceChangeAccount:e})=>{if(!(n&&s&&o?.web3Provider&&x))return;if(!x.pendingWithdrawal.canWithdraw||!x.unsignedTx)return void console.log(`Unable to process withdrawal transaction as it is not ready yet. Delay timeout at ${x.pendingWithdrawal.timeoutEnd} `);let t=o?.web3Provider;const a=U(n.config);if(p(!0),z(o?.web3Provider)||e)try{const e=await n.createProvider({walletProviderName:ie.METAMASK});t=(await n.connect({provider:e.provider,requestWalletPermissions:!0})).provider,y(!1)}catch(e){return console.log(e),v(!0),void p(!1)}let i,l=null;try{try{i=await t.estimateGas(x.unsignedTx)}catch(e){i=me.from(We)}let e=null;try{e=await t.getFeeData()}catch(e){console.log(e)}let a=null;e&&e.lastBaseFeePerGas&&e.maxPriorityFeePerGas?a=e.lastBaseFeePerGas.add(e.maxPriorityFeePerGas):e&&e.gasPrice&&(a=e.gasPrice),a&&(l=i.mul(a))}catch(e){console.log(e)}try{const e=(await n.getAllBalances({provider:t,chainId:a})).balances.find((e=>O(e.token.address)));if(!e||e.balance.lt(l))return y(!0),void p(!1)}catch(e){console.log(e)}if((await t.getNetwork()).chainId!==a)try{t=(await n.switchNetwork({provider:t,chainId:a})).provider}catch(e){return v(!0),g(!1),void console.log(e)}try{const e=await n.sendTransaction({provider:t,transaction:x.unsignedTx});r({payload:{type:_.UPDATE_VIEW,view:{type:je.CLAIM_WITHDRAWAL_IN_PROGRESS,transactionResponse:e.transactionResponse}}})}catch(e){console.log(e),v(!0),p(!1)}finally{p(!1)}}),[s,o,x]);return u(Y,{testId:"claim-withdrawal",header:t(j,{transparent:!0,showBack:!0,onCloseButtonClick:()=>$t(i),onBackButtonClick:I}),floatHeader:!0,heroContent:t(ut,{}),footer:u(b,{sx:{width:"100%",display:"flex",flexDirection:"column"},children:[t(b,{sx:{pb:"base.spacing.x5",px:"base.spacing.x6",width:"100%",display:"flex",flexDirection:"column"},children:t(f,{testId:"claim-withdrawal-continue-button",size:"large",variant:"primary",disabled:w,onClick:()=>d||w?void 0:k({forceChangeAccount:!0}),children:w||d?t(f.Icon,{icon:"Loading",sx:{width:"base.icon.size.400"}}):a("views.CLAIM_WITHDRAWAL."+(m?"footer.retryText":"footer.buttonText"))})}),t(q,{})]}),children:[u(Ne,{heading:`${a("views.CLAIM_WITHDRAWAL.content.heading")} ${ne(U(n.config))}`,children:[t(b,{sx:{display:"flex",flexWrap:"wrap",pb:"base.spacing.x1"},children:a("views.CLAIM_WITHDRAWAL.content.body")}),u(b,{children:[a("views.CLAIM_WITHDRAWAL.content.body2"),t(Lt,{text:e.details.to_address.toLowerCase()??""})]})]}),t(xn,{visible:E,onClose:()=>y(!1),onChangeAccount:()=>k({forceChangeAccount:!0})})]})}function En({checkout:e,web3Provider:a,config:n,amount:s,tokenAddress:o}){const{t:r}=h(),{environment:i,isOnRampEnabled:p,isSwapEnabled:w,isBridgeEnabled:g,theme:f}=n,b=Oe(e.config.environment,f),{eventTargetState:{eventTarget:m}}=l.useContext(F),{page:v}=A(),[x,T]=l.useReducer(Be,{...Me,view:{type:je.WALLET_NETWORK_SELECTION},history:[{type:je.WALLET_NETWORK_SELECTION}]}),[E,y]=l.useReducer(Ut,{...Gt,checkout:e,web3Provider:a??null,tokenBridge:(()=>{let t=He;e.config.isDevelopment&&(t=Ke),e.config.isProduction&&(t=Je);const a=new Z(e.config.networkMap.get(U(e.config))?.rpcUrls[0]),n=new Z(e.config.networkMap.get($(e.config))?.rpcUrls[0]),s=new Ge({baseConfig:new Fe({environment:e.config.environment}),bridgeInstance:t,rootProvider:a,childProvider:n});return new ze(s)})()}),I=l.useMemo((()=>({viewState:x,viewDispatch:T})),[x,T]),k=l.useMemo((()=>({bridgeState:E,bridgeDispatch:y})),[E,y]),R=l.useCallback((()=>{y({payload:{type:Ft.SET_WALLETS_AND_NETWORKS,from:null,to:null}}),y({payload:{type:Ft.SET_TOKEN_AND_AMOUNT,amount:"",token:null}}),T({payload:{type:_.GO_BACK_TO,view:{type:je.WALLET_NETWORK_SELECTION}}})}),[T]),D=l.useCallback((()=>{T({payload:{type:_.GO_BACK_TO,view:{type:je.WALLET_NETWORK_SELECTION}}})}),[T]),N=l.useCallback((()=>{T({payload:{type:_.UPDATE_VIEW,view:{type:je.TRANSACTIONS}}})}),[T]),P=l.useCallback((()=>{T({payload:{type:_.GO_BACK_TO,view:{type:je.BRIDGE_REVIEW}}})}),[T]);return l.useEffect((()=>{(async()=>{y({payload:{type:Ft.SET_PROVIDER,web3Provider:a??null}})})()}),[a]),t(C.Provider,{value:I,children:t(zt.Provider,{value:k,children:u(et,{environment:i,children:[x.view.type===je.WALLET_NETWORK_SELECTION&&t(Wa,{}),x.view.type===je.BRIDGE_FORM&&t(Va,{amount:s,tokenAddress:o,defaultTokenImage:b,theme:f}),x.view.type===je.BRIDGE_REVIEW&&t(pn,{}),x.view.type===je.IN_PROGRESS&&t(gn,{transactionHash:x.view.transactionHash,isTransfer:x.view.isTransfer}),x.view.type===je.BRIDGE_FAILURE&&t(Ue,{testId:"bridge-fail",statusText:r("views.BRIDGE_FAILURE.bridgeFailureText.statusText"),actionText:r("views.BRIDGE_FAILURE.bridgeFailureText.actionText"),onActionClick:P,statusType:Ve.FAILURE,onRenderEvent:()=>{let e="";x.view.type===je.BRIDGE_FAILURE&&(e=x.view.reason),v({userJourney:S.BRIDGE,screen:"Failed",extras:{reason:e}}),((e,t)=>{const a=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.FAILURE,data:{reason:t,timestamp:(new Date).getTime()}}});console.log("bridge failed ",e,a),void 0!==e&&e.dispatchEvent(a)})(m,e)}}),x.view.type===je.APPROVE_TRANSACTION&&t(hn,{bridgeTransaction:x.view.approveTransaction&&x.view.transaction?{approveTransaction:x.view.approveTransaction,transaction:x.view.transaction}:void 0}),x.view.type===je.TRANSACTIONS&&t(xa,{onBackButtonClick:D,defaultTokenImage:b}),x.view.type===je.CLAIM_WITHDRAWAL&&t(Tn,{transaction:x.view.transaction}),x.view.type===Se.ERROR_VIEW&&t($e,{actionText:r("views.ERROR_VIEW.actionText"),onActionClick:R,onCloseClick:()=>$t(m),errorEventAction:()=>{v({userJourney:S.BRIDGE,screen:"Error"})}}),x.view.type===Se.TOP_UP_VIEW&&t(Ze,{analytics:{userJourney:S.BRIDGE},widgetEvent:c.IMTBL_BRIDGE_WIDGET_EVENT,checkout:e,provider:a,showOnrampOption:p,showSwapOption:w,showBridgeOption:g,onCloseButtonClick:()=>$t(m)}),x.view.type===je.CLAIM_WITHDRAWAL_IN_PROGRESS&&t(Ta,{transactionResponse:x.view.transactionResponse}),x.view.type===je.CLAIM_WITHDRAWAL_SUCCESS&&t(Ue,{statusText:r("views.CLAIM_WITHDRAWAL.IN_PROGRESS.success.text"),actionText:r("views.CLAIM_WITHDRAWAL.IN_PROGRESS.success.actionText"),onRenderEvent:()=>{v({userJourney:S.BRIDGE,screen:"ClaimWithdrawalSuccess"}),((e,t)=>{const a=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.CLAIM_WITHDRAWAL_SUCCESS,data:{transactionHash:t}}});console.log("bridge claim withdrawal success event:",e,a),void 0!==e&&e.dispatchEvent(a)})(m,x.view.transactionHash)},onActionClick:N,statusType:Ve.SUCCESS,testId:"claim-withdrawal-success-view"}),x.view.type===je.CLAIM_WITHDRAWAL_FAILURE&&t(Ue,{statusText:r("views.CLAIM_WITHDRAWAL.IN_PROGRESS.failure.text"),actionText:r("views.CLAIM_WITHDRAWAL.IN_PROGRESS.failure.actionText"),onRenderEvent:()=>{let e="";x.view.type===je.CLAIM_WITHDRAWAL_FAILURE&&(e=x.view.reason),v({userJourney:S.BRIDGE,screen:"ClaimWithdrawalFailure",extras:{reason:e}}),((e,t,a)=>{const n=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.CLAIM_WITHDRAWAL_FAILURE,data:{transactionHash:t,reason:a,timestamp:(new Date).getTime()}}});console.log("bridge claim withdrawal failed event:",e,n),void 0!==e&&e.dispatchEvent(n)})(m,x.view.transactionHash,"Transaction failed")},onActionClick:N,statusType:Ve.FAILURE,onCloseClick:()=>$t(m),testId:"claim-withdrawal-fail-view"})]})})})}export{En as default};
@@ -1,2 +1,2 @@
1
- import{bx as e,by as t,bz as a,bA as r,bB as n,t as o,r as s,q as i,E as h,l as c,V as u,L as l,bC as p,j as f,a3 as d,$ as m,bD as R,a as E,U as v,p as A,a2 as S,n as O,ae as T,ah as y,ai as _,bh as I,aj as C,bE as g,aL as w,bt as N,bF as P,I as b}from"./index-23793c68.js";import{O as D,T as L}from"./TopUpView-742d8a9b.js";import{S as x}from"./SpendingCapHero-5b467efd.js";
1
+ import{bx as e,by as t,bz as a,bA as r,bB as n,t as o,r as s,q as i,E as h,l as c,V as u,L as l,bC as p,j as f,a3 as d,$ as m,bD as R,a as E,U as v,p as A,a2 as S,n as O,ae as T,ah as y,ai as _,bh as I,aj as C,bE as g,aL as w,bt as N,bF as P,I as b}from"./index-bca0dfd7.js";import{O as D,T as L}from"./TopUpView-b056d920.js";import{S as x}from"./SpendingCapHero-1b919b8c.js";
2
2
  /*! https://mths.be/punycode v1.4.1 by @mathias */var U=2147483647,k=36,K=1,F=26,j=38,M=700,G=72,W=128,q="-",V=/[^\x20-\x7E]/,$=/[\x2E\u3002\uFF0E\uFF61]/g,B={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},J=k-K,H=Math.floor,z=String.fromCharCode;function Z(e){throw new RangeError(B[e])}function Q(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function X(e,t,a){var r=0;for(e=a?H(e/M):e>>1,e+=H(e/t);e>J*F>>1;r+=k)e=H(e/J);return H(r+(J+1)*e/(e+j))}function Y(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($,".")).split("."),t).join(".");return r+n}(e,(function(e){return V.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=W,a=0,o=G,s=0;s<p;++s)(l=e[s])<128&&R.push(z(l));for(r=n=R.length,n&&R.push(q);r<p;){for(i=U,s=0;s<p;++s)(l=e[s])>=t&&l<i&&(i=l);for(i-t>H((U-a)/(f=r+1))&&Z("overflow"),a+=(i-t)*f,t=i,s=0;s<p;++s)if((l=e[s])<t&&++a>U&&Z("overflow"),l==t){for(h=a,c=k;!(h<(u=c<=o?K:c>=o+F?F:c-o));c+=k)m=h-u,d=k-u,R.push(z(Q(u+m%d,0))),h=H(m/d);R.push(z(Q(h,0))),o=X(a,f,r==n),a=0,++r}++a,++t}return R.join("")}(e):e}))}function ee(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var te=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function ae(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}}function re(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 ne=Object.keys||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.push(a);return t};function oe(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),ee(n,l)?te(n[l])?n[l].push(p):n[l]=[n[l],p]:n[l]=p}return n}var se={parse:Oe,resolve:function(e,t){return Oe(e,!1,!0).resolve(t)},resolveObject:function(e,t){return e?Oe(e,!1,!0).resolveObject(t):t},fileURLToPath:function(e){if("string"==typeof e)e=(new ie).parse(e);else if(!(e instanceof ie))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=Te({},e));return ye(e)},Url:ie,URL:e.URL,URLSearchParams:e.URLSearchParams};function ie(){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 he=/^([a-z0-9.+-]+:)/i,ce=/:[0-9]*$/,ue=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,le=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),pe=["'"].concat(le),fe=["%","/","?",";","#"].concat(pe),de=["/","?","#"],me=255,Re=/^[+a-z0-9A-Z_-]{0,63}$/,Ee=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,ve={javascript:!0,"javascript:":!0},Ae={javascript:!0,"javascript:":!0},Se={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function Oe(e,a,r){if(e&&t(e)&&e instanceof ie)return e;var n=new ie;return n.parse(e,a,r),n}function Te(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=ue.exec(h);if(c)return e.path=h,e.href=h,e.pathname=c[1],c[2]?(e.search=c[2],e.query=r?oe(e.search.substr(1)):e.search.substr(1)):r&&(e.search="",e.query={}),e}var u,l,p,f,d=he.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&&Ae[d]||(h=h.substr(2),e.slashes=!0)}if(!Ae[d]&&(R||d&&!Se[d])){var E,v,A=-1;for(u=0;u<de.length;u++)-1!==(l=h.indexOf(de[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<fe.length;u++)-1!==(l=h.indexOf(fe[u]))&&(-1===A||l<A)&&(A=l);-1===A&&(A=h.length),e.host=h.slice(0,A),h=h.slice(A),_e(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(Re)){for(var y="",_=0,I=T.length;_<I;_++)T.charCodeAt(_)>127?y+="x":y+=T[_];if(!y.match(Re)){var C=O.slice(0,u),g=O.slice(u+1),w=T.match(Ee);w&&(C.push(w[1]),g.unshift(w[2])),g.length&&(h="/"+g.join(".")+h),e.hostname=C.join(".");break}}}}e.hostname.length>me?e.hostname="":e.hostname=e.hostname.toLowerCase(),S||(e.hostname=Y(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(!ve[m])for(u=0,p=pe.length;u<p;u++){var P=pe[u];if(-1!==h.indexOf(P)){var b=encodeURIComponent(P);b===P&&(b=escape(P)),h=h.split(P).join(b)}}var D=h.indexOf("#");-1!==D&&(e.hash=h.substr(D),h=h.slice(0,D));var L=h.indexOf("?");if(-1!==L?(e.search=h.substr(L),e.query=h.substr(L+1),r&&(e.query=oe(e.query)),h=h.slice(0,L)):r&&(e.search="",e.query={}),h&&(e.pathname=h),Se[m]&&e.hostname&&!e.pathname&&(e.pathname="/"),e.pathname||e.search){f=e.pathname||"";var x=e.search||"";e.path=f+x}return e.href=ye(e),e}function ye(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?re(ne(r),(function(e){var t=encodeURIComponent(ae(e))+o;return te(r[e])?re(r[e],(function(e){return t+encodeURIComponent(ae(e))})).join(n):t+encodeURIComponent(ae(r[e]))})).join(n):s?encodeURIComponent(ae(s))+o+encodeURIComponent(ae(r)):"");var p=e.search||l&&"?"+l||"";return i&&":"!==i.substr(-1)&&(i+=":"),e.slashes||(!i||Se[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 _e(e){var t=e.host,a=ce.exec(t);a&&(":"!==(a=a[0])&&(e.port=a.substr(1)),t=t.substr(0,t.length-a.length)),t&&(e.hostname=t)}ie.prototype.parse=function(e,t,a){return Te(this,e,t,a)},ie.prototype.format=function(){return ye(this)},ie.prototype.resolve=function(e){return this.resolveObject(Oe(e,!1,!0)).format()},ie.prototype.resolveObject=function(e){if(a(e)){var t=new ie;t.parse(e,!1,!0),e=t}for(var o,s=new ie,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 Se[s.protocol]&&s.hostname&&!s.pathname&&(s.path=s.pathname="/"),s.href=s.format(),s}if(e.protocol&&e.protocol!==s.protocol){if(!Se[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||Ae[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&&!Se[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],C=(s.host||e.host||y.length>1)&&("."===I||".."===I)||""===I,g=0,w=y.length;w>=0;w--)"."===(I=y[w])?y.splice(w,1):".."===I?(y.splice(w,1),g++):g&&(y.splice(w,1),g--);if(!O&&!T)for(;g--;g)y.unshift("..");!O||""===y[0]||y[0]&&"/"===y[0].charAt(0)||y.unshift(""),C&&"/"!==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},ie.prototype.parseHost=function(){return _e(this)};const Ie=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"}),Ce=e=>({display:e?"block":"none"});var ge,we,Ne,Pe;!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"}(we||(we={})),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"}(Ne||(Ne={})),function(e){e.PROCESSING="PROCESSING",e.COMPLETED="COMPLETED"}(Pe||(Pe={}));const be=["global.transak.com","global-stg.transak.com"],De={[Ne.TRANSAK_WIDGET_OPEN]:{screen:"InputScreen",control:"TransakWidgetOpen",controlType:"IframeEvent"},[Ne.TRANSAK_ORDER_CREATED]:{screen:"InputScreen",control:"OrderCreated",controlType:"IframeEvent"},[`${Ne.TRANSAK_ORDER_SUCCESSFUL}${Pe.PROCESSING}`]:{screen:"OrderInProgress",control:"PaymentProcessing",controlType:"IframeEvent"},[`${Ne.TRANSAK_ORDER_SUCCESSFUL}${Pe.COMPLETED}`]:{screen:"Success",control:"PaymentCompleted",controlType:"IframeEvent"},[Ne.TRANSAK_ORDER_FAILED]:{screen:"Failure",control:"PaymentFailed",controlType:"IframeEvent"}},Le=e=>{const{track:t}=o(),{userJourney:a,ref:r,walletAddress:n,isPassportWallet:i,failedToLoadTimeoutInMs:h,onFailedToLoad:c}=e,[u,l]=s.useState(!1),p=h||1e4,f=s.useRef(void 0),d=s.useCallback((e=>{const r=e.event_id,o=[Ne.TRANSAK_ORDER_SUCCESSFUL].includes(r)?`${r}${e.data.status}`:r,s=De?.[o]||{};Object.keys(s).length>=0&&t({...s,userJourney:a,extras:{walletAddress:n,isPassportWallet:i}})}),[]),m=s.useCallback((t=>{switch(t.event_id){case Ne.TRANSAK_WIDGET_INITIALISED:a=t.data,l(!0),clearTimeout(f.current),f.current=void 0,e.onInit?.(a);break;case Ne.TRANSAK_WIDGET_OPEN:e.onOpen?.(t.data);break;case Ne.TRANSAK_ORDER_CREATED:e.onOrderCreated?.(t.data);break;case Ne.TRANSAK_ORDER_SUCCESSFUL:t.data.status===Pe.PROCESSING&&e.onOrderProcessing?.(t.data),t.data.status===Pe.COMPLETED&&e.onOrderCompleted?.(t.data);break;case Ne.TRANSAK_ORDER_FAILED:e.onOrderFailed?.(t.data)}var a}),[]),R=s.useCallback((e=>{const t=Oe(e.origin)?.host?.toLowerCase();e.source===r?.current?.contentWindow&&t&&be.includes(t)&&(d(e.data),m(e.data),console.log("@@@ Transak event",e))}),[r]);return s.useEffect((()=>(window.addEventListener("message",R),()=>{clearTimeout(f.current),window.removeEventListener("message",R)})),[]),{initialised:u,onLoad:()=>{void 0!==c&&(void 0!==f.current||u||(f.current=setTimeout((()=>{u||c()}),p)))}}},xe="transak-iframe",Ue=6e3;function ke({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),[C,g]=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="";(async()=>{const n={exchangeType:p.ONRAMP,web3Provider:O,tokenAddress:r,tokenAmount:a,passport:e};g(await S.createFiatRampUrl(n)),t=await O.getSigner().getAddress()})();const n=document.getElementById(xe);if(!n)return;window.addEventListener("message",(e=>{if(!n)return;const o=se.parse(e.origin)?.host?.toLowerCase();e.source===n.contentWindow&&o&&be.includes(o)&&((async(e,t)=>{const a={userId:t.toLowerCase(),isPassportWallet:N};switch(e.event_id){case ge.TRANSAK_WIDGET_OPEN:b({userJourney:v.ON_RAMP,screen:"InputScreen",control:"TransakWidgetOpen",controlType:"IframeEvent",extras:{...a}});break;case ge.TRANSAK_ORDER_CREATED:b({userJourney:v.ON_RAMP,screen:"InputScreen",control:"OrderCreated",controlType:"IframeEvent",extras:{...a}});break;case ge.TRANSAK_ORDER_SUCCESSFUL:e.data.status===we.PROCESSING&&b({userJourney:v.ON_RAMP,screen:"OrderInProgress",control:"PaymentProcessing",controlType:"IframeEvent",extras:{...a}}),e.data.status===we.COMPLETED&&b({userJourney:v.ON_RAMP,screen:"Success",control:"PaymentCompleted",controlType:"IframeEvent",extras:{...a}});break;case ge.TRANSAK_ORDER_FAILED:b({userJourney:v.ON_RAMP,screen:"Failure",control:"PaymentFailed",controlType:"IframeEvent",extras:{...a}})}})(e.data,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===we.PROCESSING?(I({payload:{type:A.UPDATE_VIEW,view:{type:D.IN_PROGRESS_LOADING}}}),void(w.current=window.setTimeout((()=>{I({payload:{type:A.UPDATE_VIEW,view:{type:D.IN_PROGRESS}}})}),Ue))):void(e.event_id!==ge.TRANSAK_ORDER_SUCCESSFUL||e.data.status!==we.COMPLETED?e.event_id===ge.TRANSAK_ORDER_FAILED&&I({payload:{type:A.UPDATE_VIEW,view:{type:D.FAIL,data:{amount:a,tokenAddress:r},reason:`Transaction failed: ${e.data.statusReason}`}}}):I({payload:{type:A.UPDATE_VIEW,view:{type:D.SUCCESS,data:{transactionHash:e.data.transactionHash}}}}));I({payload:{type:A.UPDATE_VIEW,view:{type:D.ONRAMP,data:{amount:_.view.data?.amount??a,tokenAddress:_.view.data?.tokenAddress??r}}}})})(e.data))}))}),[S,O,a,r,e]),f(E,{sx:Ce(t),children:f(d,{header:f(m,{showBack:P,title:y("views.ONRAMP.header.title"),onCloseButtonClick:()=>R(T)}),footerBackgroundColor:"base.color.translucent.emphasis.200",children:f(E,{sx:Ie(t),children:f("iframe",{title:"Transak",id:xe,src:C,allow:"camera;microphone;fullscreen;payment",style:{height:"100%",width:"100%",border:"none",position:"absolute"}})})})})}function Ke(){const{eventTargetState:{eventTarget:e}}=s.useContext(h),{t:t}=c();return f(d,{testId:"order-in-progress-view",header:f(m,{transparent:!0,onCloseButtonClick:()=>R(e)}),footer:f(S,{}),heroContent:f(x,{}),floatHeader:!0,children:O(T,{heading:t("views.ONRAMP.IN_PROGRESS.content.heading"),children:[t("views.ONRAMP.IN_PROGRESS.content.body1"),f("br",{}),f("br",{}),t("views.ONRAMP.IN_PROGRESS.content.body2")]})})}function Fe({amount:e,tokenAddress:t,config:a}){const{isOnRampEnabled:r,isSwapEnabled:n,isBridgeEnabled:o}=a,[p,d]=s.useReducer(y,{..._,history:[]}),m=s.useMemo((()=>({viewState:p,viewDispatch:d})),[p,y]),{connectLoaderState:E}=s.useContext(i),{checkout:S,provider:T}=E,[x,U]=s.useState(t),{eventTargetState:{eventTarget:k}}=s.useContext(h),{t:K}=c(),F=s.useMemo((()=>p.view.type===D.ONRAMP),[p.view.type]);return s.useEffect((()=>{S&&T&&(async()=>{if(!(await S.getNetworkInfo({provider:T})).isSupported)return;const e=x?.toLocaleLowerCase()===I?I:t;U(e)})()}),[S,T,d]),O(u.Provider,{value:m,children:[p.view.type===l.LOADING_VIEW&&f(C,{loadingText:K("views.ONRAMP.initialLoadingText")}),p.view.type===D.IN_PROGRESS_LOADING&&f(C,{loadingText:K("views.ONRAMP.IN_PROGRESS_LOADING.loading.text")}),p.view.type===D.IN_PROGRESS&&f(Ke,{}),p.view.type===D.SUCCESS&&f(N,{statusText:K("views.ONRAMP.SUCCESS.text"),actionText:K("views.ONRAMP.SUCCESS.actionText"),onRenderEvent:()=>g(k,p.view.data.transactionHash),onActionClick:()=>R(k),statusType:w.SUCCESS,testId:"success-view"}),p.view.type===D.FAIL&&f(N,{statusText:K("views.ONRAMP.FAIL.text"),actionText:K("views.ONRAMP.FAIL.actionText"),onRenderEvent:()=>P(k,p.view.reason??"Transaction failed"),onActionClick:()=>{d({payload:{type:A.UPDATE_VIEW,view:{type:D.ONRAMP,data:p.view.data}}})},statusType:w.FAILURE,onCloseClick:()=>R(k),testId:"fail-view"}),p.view.type!==D.SUCCESS&&p.view.type!==D.FAIL&&f(ke,{passport:S?.passport,showIframe:F,tokenAmount:e??p.view.data?.amount,tokenAddress:x??p.view.data?.tokenAddress}),p.view.type===l.TOP_UP_VIEW&&f(L,{analytics:{userJourney:v.ON_RAMP},widgetEvent:b.IMTBL_ONRAMP_WIDGET_EVENT,checkout:S,provider:T,showOnrampOption:r,showSwapOption:n,showBridgeOption:o,onCloseButtonClick:()=>R(k)})]})}var je=Object.freeze({__proto__:null,default:Fe});export{Fe as O,je as a,Le as u};
@@ -0,0 +1 @@
1
+ import{j as e,_ as t,u as n,r as a,m as r,al as o,am as s,an as i,ao as c,ap as d,aq as l,k as u,ar as p,a as E,z as m,as as T,at as f,au as y,V as C,p as h,av as A,U as g,l as I,Y as v,t as R,E as S,aw as O,ax as b,ay as _,az as w,aA as D,aB as P,$ as k,n as x,aC as N,aD as M,a3 as L,aE as F,aF as U,aG as W,H as B,aH as V,o as Y,d as H,w as G,M as j,aI as $,aJ as X,aK as K,L as z,a2 as q,aL as Z,aM as J,A as Q,aN as ee,aO as te,a6 as ne,a7 as ae,aP as re,aQ as oe,aR as se,aS as ie,aT as ce,aU as de,G as le,X as ue,aV as pe,q as Ee,aW as me,aX as Te,y as fe,x as ye,I as Ce,aY as he,aj as Ae,aZ as ge,a_ as Ie,a$ as ve,b0 as Re,b1 as Se,b2 as Oe,b3 as be,b4 as _e,B as we,b5 as De,ah as Pe,ai as ke,b6 as xe}from"./index-bca0dfd7.js";import{u as Ne,O as Me}from"./OnRampWidget-b8c9cd0b.js";import{f as Le,u as Fe,C as Ue,a as We,T as Be,b as Ve}from"./TopUpView-b056d920.js";import{T as Ye}from"./retry-dc9e0a7d.js";import{F as He}from"./balance-18ac456f.js";import Ge from"./BridgeWidget-33fe2d0c.js";import je from"./SwapWidget-a9fb4c7b.js";import"./SpendingCapHero-1b919b8c.js";var $e=["size","weight","rc","sx","testId","children","domRef","className"];function Xe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Ke(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Xe(Object(n),!0).forEach((function(t){u(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Xe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var ze="base.color.text.caption.primary",qe="medium";function Ze(u){var p=u.size,E=void 0===p?qe:p,m=u.weight,T=void 0===m?"regular":m,f=u.rc,y=void 0===f?e("span",{}):f,C=u.sx,h=void 0===C?{}:C,A=u.testId,g=u.children,I=u.domRef,v=u.className,R=t(u,$e),S=n(),O=a.useMemo((function(){var e,t;return r(i,s(h,ze),o({themeProps:S,size:E,weight:T}),null!==(e=null===(t=S.components)||void 0===t||null===(t=t.Caption)||void 0===t?void 0:t.sxOverride)&&void 0!==e?e:{},h)}),[h,S,E,T]),b=c(O),_=d(E,qe,Object.keys(S.base.text.caption));return l(y,Ke(Ke(Ke(Ke({},R),A?{"data-testid":A}:{}),I?{ref:I}:{}),{},{css:b,children:g,className:"".concat(null!=v?v:""," Caption Caption--").concat(_)}))}Ze.displayName="Caption";var Je,Qe,et,tt,nt,at,rt=["sx","radius"];function ot(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function st(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ot(Object(n),!0).forEach((function(t){u(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ot(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function it(n){var a=n.sx,o=void 0===a?{}:a,s=n.radius,i=void 0===s?"50px":s,c=t(n,rt);return e(E,st(st({},c),{},{sx:r(p,{brad:"50%",w:i,h:i},o)}))}!function(e){e.PAYMENT_METHODS="PAYMENT_METHODS",e.PAY_WITH_COINS="PAY_WITH_COINS",e.PAY_WITH_CARD="PAY_WITH_CARD",e.ORDER_SUMMARY="ORDER_SUMMARY",e.SALE_SUCCESS="SALE_SUCCESS",e.SALE_FAIL="SALE_FAIL"}(Je||(Je={})),function(e){e.INIT="INIT",e.REVIEW_ORDER="REVIEW_ORDER",e.EXECUTE_FUNDING_ROUTE="EXECUTE_FUNDING_ROUTE"}(Qe||(Qe={})),function(e){e.DEFAULT="DEFAULT_ERROR",e.INVALID_PARAMETERS="INVALID_PARAMETERS",e.TRANSACTION_FAILED="TRANSACTION_FAILED",e.SERVICE_BREAKDOWN="SERVICE_BREAKDOWN",e.PRODUCT_NOT_FOUND="PRODUCT_NOT_FOUND",e.INSUFFICIENT_STOCK="INSUFFICIENT_STOCK",e.TRANSAK_FAILED="TRANSAK_FAILED",e.WALLET_FAILED="WALLET_FAILED",e.WALLET_REJECTED="WALLET_REJECTED",e.WALLET_REJECTED_NO_FUNDS="WALLET_REJECTED_NO_FUNDS",e.WALLET_POPUP_BLOCKED="WALLET_POPUP_BLOCKED",e.FUNDING_ROUTE_EXECUTE_ERROR="FUNDING_ROUTE_EXECUTE_ERROR"}(et||(et={})),function(e){e.CRYPTO="crypto",e.FIAT="fiat"}(tt||(tt={})),function(e){e.SUFFICIENT="SUFFICIENT"}(nt||(nt={})),function(e){e.BEFORE="before",e.PENDING="pending",e.AFTER="after"}(at||(at={}));const ct={[m.SANDBOX]:"https://api.sandbox.immutable.com/v1/primary-sales",[m.PRODUCTION]:"https://api.immutable.com/v1/primary-sales"},dt=e=>e.map((({method:e,hash:t})=>`${e}: ${t}`)).join(" | "),lt=e=>e.split(/[_\s-]+/).map((e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase())).join(""),ut=e=>e.replace(/[^\u0000-\u00FF]/g,""),pt=e=>{if(!e)return"";let t=e.trim().toLowerCase();if(t.startsWith("0x")&&(t=t.slice(2)),!/^[0-9a-f]+$/i.test(t))throw new Error("Invalid hexadecimal input");let n="";for(let e=0;e<t.length;e+=2){const a=parseInt(t.substr(e,2),16);n+=String.fromCharCode(a)}return n},Et=async(e,t)=>{try{const n=t.getSigner(),a=await n.getAddress(),r=e.find((e=>e.methodCall.startsWith("approve")));if(!r||!n||!a)return e;const o=new T(r.tokenAddress,["function allowance(address,address) view returns (uint256)"],n),s=await(n?.call({to:r.tokenAddress,data:o.interface.encodeFunctionData("allowance",[a,r.params.spender])})),i=f.from(s),c=r.params.amount?f.from(r.params.amount):f.from(0);if(i.gte(f.from("0"))&&i.gte(c))return e.filter((e=>e.methodCall!==r.methodCall))}catch{}return e};var mt;!function(e){e.CONTRACT_ADDRESS="contract_address",e.CURRENCY_SYMBOL="currency_symbol"}(mt||(mt={}));const Tt=e=>{const{provider:t,items:n,environment:r,environmentId:o,waitFulfillmentSettlements:s}=e,[i,c]=a.useState(void 0),[d,l]=a.useState(void 0),[u,p]=a.useState({done:!1,transactions:[]}),[E,m]=a.useState([]),[T,f]=a.useState(0),[y,C]=a.useState([]),h=()=>p((e=>({...e,done:!0}))),A=()=>p({done:!1,transactions:[]}),g=a.useCallback((async(e,n,a)=>{try{const r=t?.getSigner(),o=await(t?.getGasPrice()),i=await(r?.sendTransaction({to:e,data:n,gasPrice:o,gasLimit:a}));s&&await(i?.wait());const c=i?.hash;if(!c)throw new Error("Transaction hash is undefined");return[c,void 0]}catch(e){const t=`${e?.reason||e?.message||""}`.toLowerCase();let n=et.WALLET_FAILED;t.includes("failed")&&t.includes("open confirmation")&&(n=et.WALLET_POPUP_BLOCKED),t.includes("rejected")&&t.includes("user")&&(n=et.WALLET_REJECTED),t.includes("failed to submit")&&t.includes("highest gas limit")&&(n=et.WALLET_REJECTED_NO_FUNDS),(t.includes("status failed")||t.includes("transaction failed"))&&(n=et.TRANSACTION_FAILED);const a={type:n,data:{error:e}};return c(a),[void 0,a]}}),[t,s]),I=a.useCallback((async(e,a)=>{try{const s=t?.getSigner(),i={recipient_address:await(s?.getAddress())||"",payment_type:e,currency_filter:mt.CONTRACT_ADDRESS,currency_value:a,products:n.map((e=>({product_id:e.productId,quantity:e.qty})))},d=`${ct[r]}/${o}/order/sign`,u=await fetch(d,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)}),{ok:p,status:E}=u;if(!p){const{code:e}=await u.json();let t;switch(E){case 400:t=et.SERVICE_BREAKDOWN;break;case 404:t="insufficient_stock"===e?et.INSUFFICIENT_STOCK:et.PRODUCT_NOT_FOUND;break;case 429:case 500:t=et.DEFAULT;break;default:throw new Error("Unknown error")}return void c({type:t})}const T=await u.json(),f=T.order.products.map((e=>e.detail.map((({token_id:e})=>e)))).flat(),y=((e,t)=>{const{order:n,transactions:a}=e;return{order:{currency:{name:n.currency.name,erc20Address:n.currency.erc20_address},products:n.products.map((e=>((e,t,n)=>({productId:e.product_id,image:n?.image||"",qty:n?.qty||1,name:n?.name||"",description:n?.description||"",currency:t,contractType:e.contract_type,collectionAddress:e.collection_address,amount:e.detail.map((({amount:e})=>e)),tokenId:e.detail.map((({token_id:e})=>e))}))(e,n.currency.name,t.find((t=>t.productId===e.product_id))))).reduce(((e,t)=>{const n=e.findIndex((e=>e.name===t.name));return-1===n&&e.push({...t}),n>-1&&(e[n].amount=[...e[n].amount,...t.amount],e[n].tokenId=[...e[n].tokenId,...t.tokenId]),e}),[]),totalAmount:Number(n.total_amount)},transactions:a.map((e=>({tokenAddress:e.contract_address,gasEstimate:e.gas_estimate,methodCall:e.method_call,params:{reference:e.params.reference||"",amount:e.params.amount||0,spender:e.params.spender||""},rawData:e.raw_data}))),transactionId:pt(a.find((e=>e.method_call.startsWith("execute")))?.params.reference||"")}})(T,n);if(m(f),l(y),t){const e=await Et(y.transactions,t);C(e)}return y}catch(e){c({type:et.DEFAULT,data:{error:e}})}}),[n,o,r,t]),v=async(e,t,n)=>{if(!e)return!1;const{tokenAddress:a,rawData:r,methodCall:o,gasEstimate:s}=e,[i,c]=await g(a,r,s);if(c||!i)return n(c,u.transactions),!1;const d={method:o,hash:i};return(e=>{p((t=>({...t,transactions:[...t.transactions,e]})))})(d),t(d),!0},R=a.useCallback((async(e,n,a,r)=>{if(!e||!t)return c({type:et.DEFAULT,data:{reason:"No sign data"}}),[];const o=await Et(e.transactions,t);let s=!0;for(const e of o){r&&r(e.methodCall,at.BEFORE);if(!await v(e,n,a)){s=!1;break}r&&r(e.methodCall,at.AFTER)}return(s?h:A)(),u.transactions}),[t,v,h,A,Et,g]),S=a.useCallback((async(e,n,a)=>{if(!y||u.done||!t)return!1;const r=y[T];a&&a(r.methodCall,at.BEFORE);const o=await v(r,e,n);return o&&(f((e=>e+1)),T===y.length-1&&h(),a&&a(r.methodCall,at.AFTER)),o}),[T,t,y]);return{sign:I,signResponse:d,signError:i,filteredTransactions:y,currentTransactionIndex:T,executeAll:R,executeResponse:u,tokenIds:E,executeNextTransaction:S}},ft=(e,t)=>{const n=-1===e.findIndex((({name:e})=>y(e,t||"")));return t&&n&&console.warn(`[IMTBL]: invalid "preferredCurrency=${t}" widget input`),t&&!n?e.filter((({name:e})=>y(e,t))).map((({erc20_address:e,exchange_id:t,...n})=>({...n,base:!0,address:e,exchangeId:t}))):e.map((({erc20_address:e,exchange_id:t,...n})=>({...n,address:e,exchangeId:t})))},yt={config:{contractId:""},currencies:[],products:{},totalAmount:{}},Ct=({items:e,environment:t,environmentId:n,provider:r,preferredCurrency:o})=>{const[s,i]=a.useState(),c=a.useRef(!1),[d,l]=a.useState(""),[u,p]=a.useState(yt),[E,m]=a.useState(void 0),T=e=>{m({type:et.SERVICE_BREAKDOWN,data:{reason:"Error fetching settlement currencies",error:e}})};return a.useEffect((()=>{e?.length&&r&&(async()=>{try{const t=new URLSearchParams,n=e.map((({productId:e,qty:t})=>({id:e,qty:t})));t.append("products",btoa(JSON.stringify(n)));const a=r.getSigner(),o=await a.getAddress();t.append("wallet_address",o),l(t.toString())}catch(e){T(e)}})()}),[e,r]),a.useEffect((()=>{t&&n&&d&&(async()=>{if(!c.current)try{c.current=!0;const e=`${ct[t]}/${n}/order/quote?${d}`,a=await fetch(e,{method:"GET",headers:{"Content-Type":"application/json"}});if(!a.ok)throw new Error(`${a.status} - ${a.statusText}`);const r=(({config:e,currencies:t,products:n,total_amount:a},r)=>({config:{contractId:e.contract_id},currencies:ft(t,r),products:Object.entries(n).reduce(((e,[t,{product_id:n,...a}])=>({...e,[t]:{productId:t,...a}})),{}),totalAmount:a}))(await a.json(),o);p(r)}catch(e){T(e)}finally{c.current=!1}})()}),[t,n,d]),a.useEffect((()=>{if(0===u.currencies.length)return;const e=(o?u.currencies.find((e=>y(e.name,o))):void 0)||u.currencies.find((e=>e.base))||u.currencies?.[0];i(e)}),[u]),{orderQuote:u,selectedCurrency:s,orderQuoteError:E}},ht=a.createContext({items:[],collectionName:"",provider:void 0,checkout:void 0,environmentId:"",environment:m.SANDBOX,recipientAddress:"",recipientEmail:"",sign:()=>Promise.resolve(void 0),executeAll:()=>Promise.resolve([]),executeNextTransaction:()=>Promise.resolve(!1),signResponse:void 0,signError:void 0,filteredTransactions:[],currentTransactionIndex:0,executeResponse:void 0,passport:void 0,isPassportWallet:!1,showCreditCardWarning:!1,setShowCreditCardWarning:()=>{},paymentMethod:void 0,setPaymentMethod:()=>{},goBackToPaymentMethods:()=>{},goToErrorView:()=>{},goToSuccessView:()=>{},config:{},fundingRoutes:[],disabledPaymentTypes:[],invalidParameters:!1,fromTokenAddress:"",orderQuote:yt,signTokenIds:[],excludePaymentTypes:[],preferredCurrency:void 0,selectedCurrency:void 0,waitFulfillmentSettlements:!0,hideExcludedPaymentTypes:!1});ht.displayName="SaleSaleContext";const At=1;function gt(t){const{children:n,value:{config:r,environment:o,environmentId:s,items:i,provider:c,checkout:d,passport:l,collectionName:u,excludePaymentTypes:p,excludeFiatCurrencies:E,preferredCurrency:m,waitFulfillmentSettlements:T,hideExcludedPaymentTypes:f}}=t,y=a.useRef(0),{viewDispatch:g}=a.useContext(C),[{recipientEmail:I,recipientAddress:v},R]=a.useState({recipientEmail:"",recipientAddress:""}),[S,O]=a.useState(!1),[b,_]=a.useState(void 0),w=e=>{if(e===A.CREDIT&&!S)return _(void 0),void O(!0);_(e),O(!1)},[D]=a.useState([]),[P,k]=a.useState([]),[x,N]=a.useState(!1),{selectedCurrency:M,orderQuote:L,orderQuoteError:F}=Ct({items:i,provider:c,environmentId:s,environment:r.environment,preferredCurrency:m}),U=M?.address||"",W=a.useCallback(((e,t)=>{w(e),g({payload:{type:h.UPDATE_VIEW,view:{type:Je.PAYMENT_METHODS,data:t}}})}),[]);a.useEffect((()=>{(async()=>{const e=c?.getSigner(),t=await(e?.getAddress())||"",n=(await(l?.getUserInfo()))?.email||"";R({recipientEmail:n,recipientAddress:t})})()}),[c]);const{sign:B,executeAll:V,executeNextTransaction:Y,signResponse:H,signError:G,filteredTransactions:j,currentTransactionIndex:$,executeResponse:X,tokenIds:K}=Tt({items:i,provider:c,fromTokenAddress:U,recipientAddress:v,environmentId:s,environment:o,waitFulfillmentSettlements:T}),z=a.useCallback((async(e,t,n)=>{const a=t||U;if(!a||!a.startsWith("0x"))return void N(!0);const r=await B(e,a);return r?(n?.(r),r):void 0}),[B,U]),q=a.useCallback(((e,t={})=>{y.current+=1,y.current>At&&(y.current=0,w(void 0)),g({payload:{type:h.UPDATE_VIEW,view:{type:Je.SALE_FAIL,data:{...t,errorType:e,paymentMethod:b,transactions:X.transactions}}}})}),[b,w,X]),Z=a.useCallback((e=>{g({payload:{type:h.UPDATE_VIEW,view:{type:Je.SALE_SUCCESS,data:{paymentMethod:b,transactions:X.transactions,tokenIds:K,...e}}}})}),[[b,X,K]]);a.useEffect((()=>{G&&q(G.type,G.data)}),[G]),a.useEffect((()=>{F&&q(F.type,F.data)}),[F]),a.useEffect((()=>{!(!i||0===i.length)&&u&&s||N(!0)}),[i,u,s]),a.useEffect((()=>{p?.length<=0||k(p)}),[p]);const J=a.useMemo((()=>({config:r,items:i,fromTokenAddress:U,sign:z,signResponse:H,signError:G,filteredTransactions:j,currentTransactionIndex:$,executeAll:V,executeNextTransaction:Y,executeResponse:X,environmentId:s,collectionName:u,environment:o,provider:c,checkout:d,recipientAddress:v,recipientEmail:I,showCreditCardWarning:S,setShowCreditCardWarning:O,paymentMethod:b,setPaymentMethod:w,goBackToPaymentMethods:W,goToErrorView:q,goToSuccessView:Z,isPassportWallet:!!c?.provider?.isPassport,fundingRoutes:D,disabledPaymentTypes:P,invalidParameters:x,orderQuote:L,signTokenIds:K,excludePaymentTypes:p,excludeFiatCurrencies:E,selectedCurrency:M,waitFulfillmentSettlements:T,hideExcludedPaymentTypes:f})),[r,o,s,i,U,u,c,d,v,I,H,G,j,$,X,S,O,b,W,q,Z,z,D,P,x,L,K,p,E,M,T,f]);return e(ht.Provider,{value:J,children:n})}function It(){return a.useContext(ht)}const vt={[m.SANDBOX]:"https://global-stg.transak.com",[m.PRODUCTION]:"https://global.transak.com/"},Rt={[m.SANDBOX]:"https://api-stg.transak.com",[m.PRODUCTION]:"https://api.transak.com"},St={[m.SANDBOX]:"STAGING",[m.PRODUCTION]:"PRODUCTION"},Ot={[m.SANDBOX]:"d14b44fb-0f84-4db5-affb-e044040d724b",[m.PRODUCTION]:"ad1bca70-d917-4628-bb0f-5609537498bc"},bt=e=>{const{contractId:t,environment:n,transakParams:r,onError:o}=e,[s,i]=a.useState(""),c=a.useCallback((async()=>{try{const{calldata:e,nftData:a,estimatedGasLimit:o,cryptoCurrencyCode:s,excludeFiatCurrencies:i,...c}=r,d=a?.slice(0,1).map((e=>({...e,imageURL:ut(e.imageURL),nftName:ut(e.nftName)}))),l={contractId:t,cryptoCurrencyCode:s,calldata:e,nftData:d,estimatedGasLimit:(o>0?o:"30000000").toString()},u=`${Rt[n]}/cryptocoverage/api/v1/public/one-click-protocol/nft-transaction-id`,p=await fetch(u,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)});if(!p.ok)throw new Error("Failed to get NFT transaction ID");const{id:E}=await p.json(),m=`${vt[n]}?`,T=new URLSearchParams({apiKey:Ot[n],environment:St[n],isNFT:"true",nftTransactionId:E,themeColor:"0D0D0D",...c});return i&&T.append("excludeFiatCurrencies",i.join(",")),`${m}${T.toString()}`}catch{o?.()}return""}),[t,n,r,o]);return a.useEffect((()=>{(async()=>{const e=await c();i(e)})()}),[]),{iframeSrc:s}};function _t(t){const{id:n,type:r,email:o,walletAddress:s,isPassportWallet:i,nftData:c,calldata:d,cryptoCurrencyCode:l,estimatedGasLimit:u,exchangeScreenTitle:p,partnerOrderId:E,excludeFiatCurrencies:m,onOpen:T,onInit:f,onOrderCreated:y,onOrderProcessing:C,onOrderCompleted:h,onOrderFailed:A,onFailedToLoad:I,failedToLoadTimeoutInMs:v,environment:R,contractId:S}=t,O=a.useRef(null),{onLoad:b,initialised:_}=Ne({userJourney:g.SALE,ref:O,walletAddress:s,isPassportWallet:i,onOpen:T,onOrderCreated:y,onOrderProcessing:C,onOrderCompleted:h,onOrderFailed:A,onInit:f,failedToLoadTimeoutInMs:v,onFailedToLoad:I}),{iframeSrc:w}=bt({type:r,contractId:S,environment:R,transakParams:{nftData:c,calldata:d,cryptoCurrencyCode:l,estimatedGasLimit:u,exchangeScreenTitle:p,email:o,walletAddress:s,partnerOrderId:E,excludeFiatCurrencies:m},onError:I});return e("iframe",{id:n,ref:O,src:w,title:"Transak-Iframe",allow:"camera;microphone;fullscreen;payment",style:{height:"100%",width:"100%",border:"none",position:"absolute",top:0,left:0,opacity:_?1:0,transition:"opacity 0.5s ease-out"},onLoad:b,onError:()=>I?.()})}function wt(t){const{t:n}=I(),{onInit:r,onOpen:o,onOrderCreated:s,onOrderProcessing:i,onOrderCompleted:c,onOrderFailed:d}=t,{recipientEmail:l,recipientAddress:u,isPassportWallet:p,signResponse:E,goToErrorView:m,environment:T,orderQuote:f,excludeFiatCurrencies:y}=It(),C=E?.transactions.find((e=>e.methodCall.startsWith("execute")));if(!E||!C)return null;const h=a.useMemo((()=>E.order.products.map((e=>({collectionAddress:e.collectionAddress,imageURL:e.image,nftName:e.name,price:e.amount,quantity:e.qty,tokenID:e.tokenId,nftType:e.contractType||"ERC721"})))),[E]);return e(_t,{id:"transak-iframe",type:"nft-checkout",email:l,walletAddress:u,isPassportWallet:p,exchangeScreenTitle:n("views.PAY_WITH_CARD.screenTitle"),nftData:h,calldata:C.rawData,cryptoCurrencyCode:E.order.currency.name,estimatedGasLimit:C.gasEstimate,partnerOrderId:C.params.reference,excludeFiatCurrencies:y,onInit:r,onOpen:o,onOrderCreated:s,onOrderProcessing:i,onOrderCompleted:c,onOrderFailed:d,onFailedToLoad:()=>{m(et.TRANSAK_FAILED)},environment:T,contractId:f.config.contractId})}const Dt=(e,t)=>({type:e.type,token:e.token,amount:e.fundsRequired.formattedAmount,balance:e.userBalance.formattedBalance,fiat:{symbol:"USD",balance:v(e.userBalance.formattedBalance,e.token.symbol,t),amount:v(e.fundsRequired.formattedAmount,e.token.symbol,t)}}),Pt=()=>{const{track:e,page:t}=R(),{recipientAddress:n,signResponse:r,paymentMethod:o}=It(),{eventTargetState:{eventTarget:s}}=a.useContext(S),i=Je.PAYMENT_METHODS,c={location:"web",userJourney:g.SALE},d={userId:n,paymentMethod:o},l={amount:r?.order.totalAmount,currency:r?.order.currency.name};return{track:e,page:t,sendPageView:(e,n)=>{t({...c,screen:lt(e),action:"Viewed",extras:{...n}})},sendCloseEvent:(t=i,n="Button",a="Pressed")=>{e({...c,screen:lt(t),control:"Close",controlType:n,action:a,extras:{...d}}),O(s)},sendSuccessEvent:(t=i,n=[],a=[],r={})=>{e({...c,screen:lt(t),control:"Success",controlType:"Event",action:"Succeeded",extras:{...r,...d,transactions:dt(n),...l,paymentMethod:o,tokenIds:a}}),b(s,o,n,a,r.transactionId)},sendFailedEvent:(t,n,a=[],r=i,u={})=>{e({...c,screen:lt(r||i),control:"Fail",controlType:"Event",action:"Failed",extras:{...u,transactions:dt(a),...n,...l,...d,paymentMethod:o,reason:t}}),_(s,t,n,o,a,u.transactionId)},sendTransactionSuccessEvent:e=>{w(s,o,[e])},sendOrderCreated:(t,n)=>{e({...c,screen:lt(t),control:"OrderCreated",controlType:"Event",extras:{...n}})},sendSelectedPaymentMethod:(t,n)=>{e({...c,screen:lt(n),control:"Select",controlType:"MenuItem",extras:{paymentMethod:t}}),D(s,t)},sendSelectedPaymentToken:(t,n,a)=>{const r=Dt(n,a);e({...c,screen:lt(t),control:"Select",controlType:"MenuItem",extras:{...r}}),P(s,r)},sendProceedToPay:(t,n,a,r="Button",o="Pressed")=>{e({...c,screen:lt(t),control:"ProceedToPay",controlType:r,action:o,extras:{...d,...Dt(n,a)}})},sendViewFeesEvent:(t,n="Button",a="Pressed")=>{e({...c,screen:lt(t),control:"ViewFees",controlType:n,action:a,extras:{...d}})}}};function kt(){const{sendPageView:t}=Pt(),[n,r]=a.useState(!1),{goBackToPaymentMethods:o,goToErrorView:s,signResponse:i,signTokenIds:c}=It(),{sendOrderCreated:d,sendCloseEvent:l,sendSuccessEvent:u}=Pt(),{t:p}=I(),m=(e={})=>{const{id:t,status:n,cryptoAmount:a,cryptoCurrency:r,fiatAmount:o,fiatAmountInUsd:s,amountPaid:d,totalFeeInFiat:p,paymentOptionId:E,userId:m,userKycType:T,walletAddress:f,nftAssetInfo:y}=e,{nftDataBase64:C,quantity:h}=y||{},A={orderId:t,orderStatus:n,cryptoAmount:a,cryptoCurrency:r,fiatAmount:o,fiatAmountInUsd:s,amountPaid:d,totalFeeInFiat:p,paymentOption:E,userId:m,userKycType:T,walletAddress:f,nftDataBase64:C,quantity:h,signData:i,transactionId:i?.transactionId};u(Je.SALE_SUCCESS,[],c,A),l(Je.SALE_SUCCESS)};return a.useEffect((()=>t(Je.PAY_WITH_CARD)),[]),e(L,{header:n&&e(k,{onCloseButtonClick:()=>o()}),children:x(M,{children:[e(N,{visible:!n,children:e(N.Content,{children:e(N.Content.LoopingText,{text:[p("views.PAY_WITH_CARD.loading")]})})}),e(E,{style:{display:"block",position:"relative",maxWidth:"420px",height:"565px",borderRadius:"1%",overflow:"hidden",margin:"0 auto",width:"100%"},children:e(wt,{onInit:()=>r(!0),onOrderFailed:()=>{s(et.TRANSAK_FAILED)},onOrderCompleted:m,onOrderCreated:(e={})=>{const{id:t,status:n,cryptoAmount:a,cryptoCurrency:r,fiatAmount:o,fiatAmountInUsd:s,amountPaid:c,totalFeeInFiat:l,paymentOptionId:u,userId:p,userKycType:E,walletAddress:m,nftAssetInfo:T}=e,{nftDataBase64:f,quantity:y}=T||{};d(Je.PAY_WITH_CARD,{orderId:t,orderStatus:n,cryptoAmount:a,cryptoCurrency:r,fiatAmount:o,fiatAmountInUsd:s,amountPaid:c,totalFeeInFiat:l,paymentOption:u,userId:p,userKycType:E,walletAddress:m,nftDataBase64:f,quantity:y,signData:i,transactionId:i?.transactionId})},onOrderProcessing:m})})]})})}var xt;!function(e){e.APPROVE="approve(address spender,uint256 amount)",e.EXECUTE="execute(address multicallSigner, bytes32 reference, address[] targets, bytes[] data, uint256 deadline, bytes signature)"}(xt||(xt={}));const Nt=e=>{switch(e){case xt.APPROVE:return"/access_coins.riv";case xt.EXECUTE:return"/purchasing_items.riv";default:return""}};var Mt;!function(e){e[e.START=0]="START",e[e.WAITING=1]="WAITING",e[e.PROCESSING=2]="PROCESSING",e[e.COMPLETED=3]="COMPLETED",e[e.ERROR=4]="ERROR"}(Mt||(Mt={}));const Lt={[xt.APPROVE]:{url:Nt(xt.APPROVE),stateMachine:"State",input:"mode",inputValues:{start:Mt.START,waiting:Mt.WAITING,processing:Mt.PROCESSING,completed:Mt.COMPLETED,error:Mt.ERROR}},[xt.EXECUTE]:{url:Nt(xt.EXECUTE),stateMachine:"State",input:"mode",inputValues:{start:Mt.START,waiting:Mt.WAITING,processing:Mt.PROCESSING,completed:Mt.COMPLETED,error:Mt.ERROR}}};function Ft(t){const{t:n}=I(),{addHandover:r}=F({id:U.GLOBAL});return{onTxnStepExecuteNextTransaction:a.useCallback(((a,o)=>{switch(`${a}-${o}`){case`${xt.APPROVE}-${at.BEFORE}`:r({animationUrl:W(t,Nt(xt.APPROVE)),inputValue:Lt[xt.APPROVE].inputValues.processing,children:e(B,{children:n("views.PAYMENT_METHODS.handover.approve.pending")})});break;case`${xt.APPROVE}-${at.AFTER}`:r({duration:V.MEDIUM,animationUrl:W(t,Nt(xt.APPROVE)),inputValue:Lt[xt.APPROVE].inputValues.completed,children:e(B,{children:n("views.PAYMENT_METHODS.handover.approve.after")})});break;case`${xt.EXECUTE}-${at.BEFORE}`:r({animationUrl:W(t,Nt(xt.EXECUTE)),inputValue:Lt[xt.EXECUTE].inputValues.waiting,children:e(B,{children:n("views.PAYMENT_METHODS.handover.execute.pending")})});break;case`${xt.EXECUTE}-${at.AFTER}`:r({animationUrl:W(t,Nt(xt.EXECUTE)),inputValue:Lt[xt.EXECUTE].inputValues.processing,children:e(B,{children:n("views.PAYMENT_METHODS.handover.execute.after")})})}}),[t,r,n]),onTxnStepExecuteAll:a.useCallback(((a,o)=>{switch(`${a}-${o}`){case`${xt.APPROVE}-${at.BEFORE}`:r({animationUrl:W(t,Nt(xt.APPROVE)),inputValue:Lt[xt.APPROVE].inputValues.waiting,children:e(B,{children:n("views.PAYMENT_METHODS.handover.approve.before")})});break;case`${xt.APPROVE}-${at.AFTER}`:r({animationUrl:W(t,Nt(xt.APPROVE)),inputValue:Lt[xt.APPROVE].inputValues.completed,children:e(B,{children:n("views.PAYMENT_METHODS.handover.approve.after")})});break;case`${xt.EXECUTE}-${at.BEFORE}`:r({animationUrl:W(t,Nt(xt.EXECUTE)),inputValue:Lt[xt.EXECUTE].inputValues.waiting,children:e(B,{children:n("views.PAYMENT_METHODS.handover.execute.before")})});break;case`${xt.EXECUTE}-${at.AFTER}`:r({duration:V.MEDIUM,animationUrl:W(t,Nt(xt.EXECUTE)),inputValue:Lt[xt.EXECUTE].inputValues.processing,children:e(B,{children:n("views.PAYMENT_METHODS.handover.execute.after")})})}}),[t,r,n])}}function Ut({headingText:t,subheadingText:n,primaryButtonText:a,onPrimaryButtonClick:r,secondaryButtonText:o,onSecondaryButtonClick:s}){return x(E,{sx:{height:"100%",display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[x(E,{children:[e(B,{sx:{paddingBottom:"base.spacing.x4"},children:t}),e(Y,{size:"small",sx:{textAlign:"center",color:"base.color.text.body.secondary"},children:n})]}),x(E,{children:[a&&r&&e(E,{sx:{paddingBottom:"base.spacing.x2"},children:e(H,{sx:{width:"100%"},variant:"primary",size:"large",testId:"handover-primary-button",onClick:r,children:a})}),o&&s&&e(E,{sx:{paddingBottom:"base.spacing.x4"},children:e(H,{sx:{width:"100%"},variant:"tertiary",size:"large",testId:"handover-secondary-button",onClick:s,children:o})})]})]})}const Wt={[xt.APPROVE]:{headingTextKey:"views.PAYMENT_METHODS.handover.approve.beforeWithCta.heading",ctaButtonTextKey:"views.PAYMENT_METHODS.handover.approve.beforeWithCta.ctaButton",animationUrl:Nt(xt.APPROVE),inputValue:Mt.WAITING},[xt.EXECUTE]:{headingTextKey:"views.PAYMENT_METHODS.handover.execute.beforeWithCta.heading",ctaButtonTextKey:"views.PAYMENT_METHODS.handover.execute.beforeWithCta.ctaButton",animationUrl:Nt(xt.EXECUTE),inputValue:Mt.START}};function Bt(){const t=a.useRef(!1),n=a.useRef(null),{t:r}=I(),{sendPageView:o,sendTransactionSuccessEvent:s,sendFailedEvent:i,sendCloseEvent:c,sendSuccessEvent:d}=Pt(),{executeAll:l,executeNextTransaction:u,signResponse:p,filteredTransactions:E,currentTransactionIndex:m,executeResponse:T,signTokenIds:f,environment:y,provider:C,goToErrorView:h}=It(),{onTxnStepExecuteNextTransaction:A,onTxnStepExecuteAll:g}=Ft(y),{addHandover:v}=F({id:U.GLOBAL}),R=a.useCallback((async()=>{l(p,(e=>{s(e)}),((e,t)=>{const n={transactionId:p?.transactionId};i(e.toString(),e,t,void 0,n),h(e.type,e.data)}),g)}),[p,y]),S=a.useCallback((()=>{const t=E[m],n=Wt[t.methodCall],a=r(n.headingTextKey)||"",o=r(n.ctaButtonTextKey)||"";v({animationUrl:W(y,n.animationUrl),inputValue:n.inputValue,children:e(Ut,{headingText:a,primaryButtonText:o,onPrimaryButtonClick:()=>{try{u((e=>{s(e)}),((e,t)=>{const n={transactionId:p?.transactionId};i(e.toString(),e,t,void 0,n),h(e.type,e.data)}),A)}catch(e){h(et.SERVICE_BREAKDOWN,{error:e})}}})})}),[E,m,p,y]);return a.useEffect((()=>o(Je.PAY_WITH_COINS)),[]),a.useEffect((()=>{if(!C||0===E.length)return;const e=m<E.length&&n.current!==m;G(C)&&e&&(n.current=m,S())}),[E,m,C]),a.useEffect((()=>{p&&C&&!t.current&&(G(C)||(t.current=!0,R()))}),[p,C]),a.useEffect((()=>{if(T?.done){const t={transactionId:p?.transactionId};v({duration:V.MEDIUM,animationUrl:W(y,Nt(xt.EXECUTE)),inputValue:Mt.COMPLETED,children:e(B,{sx:{px:"base.spacing.x6"},children:r("views.PAYMENT_METHODS.handover.success")}),onClose:()=>{d(Je.SALE_SUCCESS,T?.transactions,f,t),c(Je.SALE_SUCCESS)}})}}),[T]),null}function Vt({type:t,onClick:n,disabled:a=!1,caption:r,size:o,rc:s=e("span",{})}){const{t:i}=I(),c={[A.CRYPTO]:"Coins",[A.DEBIT]:"BankCard",[A.CREDIT]:"BankCard"};return x(j,{rc:s,size:o||"medium",sx:{marginBottom:"base.spacing.x1",userSelect:"none",...a&&{filter:"opacity(0.5)",cursor:"not-allowed !important"}},...{disabled:a,emphasized:!0,onClick:a?void 0:()=>n(t)},children:[e(j.FramedIcon,{icon:c[t]}),e(j.Label,{size:"medium",children:i(`views.PAYMENT_METHODS.options.${t}.heading`)}),!a&&e(j.IntentIcon,{}),e(j.Caption,{children:r||i(`views.PAYMENT_METHODS.options.${t}.${a?"disabledCaption":"caption"}`)})]})}const Yt=[A.CRYPTO,A.DEBIT,A.CREDIT];function Ht(t){const{disabledOptions:n=[],paymentOptions:r,onClick:o,captions:s,size:i,hideDisabledOptions:c}=t,d=a.useMemo((()=>(r||Yt).filter((e=>!c||!n.includes(e)))),[r,n,c]);return e(E,{testId:"payment-options-list",sx:{width:"100%",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start"},rc:e($.div,{variants:X,initial:"hidden",animate:"show"}),children:d.map(((t,a)=>e(Vt,{type:t,size:i,onClick:o,disabled:n.includes(t),caption:s?.[t],rc:e($.div,{custom:a,variants:K})},`payment-type-${t}`)))})}function Gt(){const{t:t}=I(),{viewDispatch:n}=a.useContext(C),{sign:r,goToErrorView:o,paymentMethod:s,setPaymentMethod:i,invalidParameters:c,disabledPaymentTypes:d,hideExcludedPaymentTypes:l}=It(),{sendPageView:u,sendCloseEvent:p,sendSelectedPaymentMethod:m}=Pt();return a.useEffect((()=>{s&&m(s,Je.PAYMENT_METHODS),s&&[A.DEBIT,A.CREDIT].includes(s)&&(r(tt.FIAT,void 0,(()=>{n({payload:{type:h.UPDATE_VIEW,view:{type:Je.PAY_WITH_CARD}}})})),n({payload:{type:h.UPDATE_VIEW,view:{type:z.LOADING_VIEW,data:{loadingText:t("views.PAYMENT_METHODS.loading.ready1")}}}})),s&&s===A.CRYPTO&&n({payload:{type:h.UPDATE_VIEW,view:{type:Je.ORDER_SUMMARY,subView:Qe.INIT}}})}),[s]),a.useEffect((()=>u(Je.PAYMENT_METHODS)),[]),a.useEffect((()=>{c&&o(et.INVALID_PARAMETERS)}),[c]),e(L,{testId:"payment-methods",header:e(k,{onCloseButtonClick:()=>p(Je.PAYMENT_METHODS)}),footer:e(q,{}),children:x(E,{sx:{display:"flex",flexDirection:"column",paddingX:"base.spacing.x2",paddingY:"base.spacing.x8",rowGap:"base.spacing.x4"},children:[e(B,{size:"small",sx:{paddingX:"base.spacing.x4"},children:t("views.PAYMENT_METHODS.header.heading")}),e(E,{sx:{paddingX:"base.spacing.x2"},children:e(Ht,{hideDisabledOptions:l,disabledOptions:d,onClick:e=>{i(e)}})})]})})}function jt({biomeTheme:t,transactionHash:n,blockExplorerLink:r,errorType:o}){const{t:s}=I(),{goBackToPaymentMethods:i,executeNextTransaction:c,signResponse:d,environment:l,provider:u}=It(),{sendTransactionSuccessEvent:p,sendFailedEvent:E}=Pt(),{viewDispatch:m}=a.useContext(C),{eventTargetState:{eventTarget:T}}=a.useContext(S),{addHandover:f,closeHandover:y}=F({id:U.GLOBAL}),{onTxnStepExecuteNextTransaction:A}=Ft(l),[g,v]=a.useState(o),R=()=>{O(T)},b=()=>{try{c((e=>{p(e),m({payload:{type:h.UPDATE_VIEW,view:{type:Je.PAY_WITH_COINS}}})}),((e,t)=>{const n={transactionId:d?.transactionId};E(e.toString(),e,t,void 0,n),v(et.TRANSACTION_FAILED)}),A)}catch(e){v(et.SERVICE_BREAKDOWN)}},_={[et.TRANSACTION_FAILED]:{onActionClick:()=>{y(),i()},onSecondaryActionClick:n?()=>{window.open(r)}:R,statusType:Z.FAILURE,statusIconStyles:{fill:t.color.status.fatal.dim}},[et.SERVICE_BREAKDOWN]:{onSecondaryActionClick:R,statusType:Z.INFORMATION,statusIconStyles:{fill:t.color.status.fatal.dim}},[et.PRODUCT_NOT_FOUND]:{onSecondaryActionClick:R,statusType:Z.INFORMATION,statusIconStyles:{fill:t.color.status.fatal.dim}},[et.INSUFFICIENT_STOCK]:{onSecondaryActionClick:R,statusType:Z.INFORMATION,statusIconStyles:{fill:t.color.status.fatal.dim}},[et.TRANSAK_FAILED]:{onActionClick:()=>{y(),i()},onSecondaryActionClick:R,statusType:Z.INFORMATION},[et.WALLET_FAILED]:{onActionClick:()=>{G(u)?b():(y(),i())},onSecondaryActionClick:R,statusType:Z.INFORMATION,statusIconStyles:{fill:t.color.status.fatal.dim}},[et.WALLET_REJECTED_NO_FUNDS]:{onActionClick:()=>{y(),i()},onSecondaryActionClick:R,statusType:Z.INFORMATION},[et.WALLET_REJECTED]:{onActionClick:()=>{G(u)?b():(y(),i())},onSecondaryActionClick:R,statusType:Z.INFORMATION},[et.WALLET_POPUP_BLOCKED]:{onActionClick:()=>{G(u)?b():(y(),i())},onSecondaryActionClick:R,statusType:Z.INFORMATION},[et.FUNDING_ROUTE_EXECUTE_ERROR]:{onActionClick:()=>{y(),i()},onSecondaryActionClick:R,statusType:Z.INFORMATION},[et.INVALID_PARAMETERS]:{onSecondaryActionClick:R,statusType:Z.ALERT,statusIconStyles:{fill:t.color.status.attention.dim,transform:"none"}},[et.DEFAULT]:{onActionClick:()=>{y(),i()},onSecondaryActionClick:R,statusType:Z.INFORMATION}},w=()=>{const e=_[g||et.DEFAULT]||{},t=g===et.TRANSACTION_FAILED&&n?s(`views.SALE_FAIL.errors.${g}.secondaryAction`):s(`views.SALE_FAIL.errors.${et.DEFAULT}.secondaryAction`);return{headingText:s("views.PAYMENT_METHODS.handover.error.heading"),subheadingText:s(`views.SALE_FAIL.errors.${g}.description`),primaryButtonText:s(`views.SALE_FAIL.errors.${g}.primaryAction`),onPrimaryButtonClick:e?.onActionClick,secondaryButtonText:t,onSecondaryButtonClick:e?.onSecondaryActionClick}};return a.useEffect((()=>{l&&g&&f({animationUrl:W(l,Nt(xt.APPROVE)),inputValue:Mt.ERROR,children:e(Ut,{...w()})})}),[g,l]),null}function $t({balance:t,conversions:n,canOpen:a,onClick:r,onProceed:o,loading:s,priceDisplay:i}){const{t:c}=I(),{environment:d,config:{theme:l}}=It(),{token:u,userBalance:p,fundsRequired:E}=t.fundingItem,m=v(E.formattedAmount,u.symbol,n,""),T=v(p.formattedBalance,u.symbol,n,"");return x(ee,{sx:{w:"100%",bradtl:"base.borderRadius.x6",bradtr:"base.borderRadius.x6",px:"base.spacing.x4",pb:"base.spacing.x6",bg:"base.color.neutral.800",border:"0px solid transparent",borderTopWidth:"base.border.size.100",borderTopColor:"base.color.translucent.emphasis.400"},children:[x(j,{size:"medium",children:[e(j.FramedImage,{circularFrame:!0,use:e(Ye,{environment:d,theme:l,name:u.name,src:u.icon})}),e(j.Label,{children:c(`views.ORDER_SUMMARY.orderReview.payWith.${t.type}`,{symbol:u.symbol})}),e(j.Caption,{rc:e(B,{size:"xSmall"}),children:`${c("views.ORDER_SUMMARY.orderReview.balance",{amount:J(Q(p.formattedBalance))})} ${T?c("views.ORDER_SUMMARY.currency.fiat",{amount:J(Q(T))}):""}`}),i&&e(j.PriceDisplay,{use:e(B,{size:"xSmall"}),fiatAmount:m?c("views.ORDER_SUMMARY.currency.fiat",{amount:m}):void 0,price:Q(E.formattedAmount)}),a&&e(j.StatefulButtCon,{icon:"ChevronExpand",onClick:r}),!a&&s&&e(it,{radius:"base.icon.size.400"})]}),e(H,{size:"large",onClick:()=>o(t),children:c("views.ORDER_SUMMARY.orderReview.continue")})]})}const Xt=(e,t)=>e.filter((e=>e.amount.gt(0)&&e.token)).reduce(((e,n)=>{if(!n.token)return e;const a={...n.token,address:n.token.address||"",symbol:n.token.symbol||t?.symbol||""},r=ne(a.address,"...").toLowerCase(),o=a.symbol||r;if(!o)return e;if(e[o]){const t=e[o].amount.add(n.amount);return{...e,[o]:{...e[o],amount:t,formattedAmount:Le(t,a.decimals)}}}return o?{...e,[o]:{...n,token:a,formattedAmount:Le(n.amount,a.decimals)}}:e}),{}),Kt=e=>{if(e.type!==te.SWAP)return{};const t=[e.fees.approvalGasFee,e.fees.swapGasFee,...e.fees.swapFees];return Xt(t,e.fundingItem.token)},zt=(e,t,n)=>{const a=[];if(e.type!==te.SWAP)return[];const r=(e,r,o="~ ")=>{if(e.amount.gt(0)){const s=Le(e.amount,e?.token?.decimals);a.push({label:r,fiatAmount:`≈ ${n("drawers.feesBreakdown.fees.fiatPricePrefix")}${v(s,e.token?.symbol||"",t,"-.--",4)}`,amount:`${Q(s)}`,prefix:o,token:e?.token})}};r(e.fees.swapGasFee,n("drawers.feesBreakdown.fees.swapGasFee.label")),r(e.fees.approvalGasFee,n("drawers.feesBreakdown.fees.approvalFee.label"));return Object.entries(Xt(e.fees.swapFees,e.fundingItem.token)).forEach((([,e])=>{const t=e?.basisPoints??0;r(e,n("drawers.feesBreakdown.fees.swapSecondaryFee.label",{amount:t?t/100+"%":""}),"")})),a};function qt({rc:t=e("span",{}),balance:n,conversions:a,selected:r,onClick:o,size:s,environment:i,theme:c}){const{t:d}=I(),{token:l,userBalance:u}=n.fundingItem,p=v(u.formattedBalance,l.symbol,a,""),m=Object.entries(Kt(n));return x(j,{rc:t,sx:{mb:"base.spacing.x1"},size:s,emphasized:!0,...{onClick:o,selected:r},children:[e(j.FramedImage,{circularFrame:!0,alt:l.name,use:e(Ye,{environment:i,theme:c,name:l.name,src:l.icon})}),e(j.PriceDisplay,{use:e(B,{size:"xSmall"}),fiatAmount:p?d("views.ORDER_SUMMARY.currency.fiat",{amount:p}):void 0,price:Q(u.formattedBalance)}),e(j.Label,{sx:{display:"flex",wordBreak:"default"},children:l.symbol}),e(j.Caption,{children:m.length>0&&m.map((([t,{token:n,formattedAmount:a}])=>e(E,{rc:e("span",{}),sx:{d:"block"},children:d("views.ORDER_SUMMARY.coinsDrawer.fee",{symbol:n?.symbol||t,amount:J(Q(a))})},t)))})]})}function Zt({conversions:t,balances:n,selectedIndex:a,visible:r,loading:o,transactionRequirement:s,onClose:i,onSelect:c,onPayWithCard:d,disabledPaymentTypes:l,theme:u,environment:p}){const{t:m}=I();let T="medium";n.length>3&&(T="small");const f=[A.DEBIT,A.CREDIT],y=!f.every((e=>l?.includes(e)));return e(ae,{size:"full",visible:r,showHeaderBar:!0,onCloseDrawer:i,headerBarTitle:m("views.ORDER_SUMMARY.coinsDrawer.header"),children:e(ae.Content,{rc:e($.div,{variants:X,initial:"hidden",animate:"show"}),children:x(E,{sx:{height:"100%",display:"flex",flexDirection:"column",justifyContent:"space-between",px:"base.spacing.x4"},children:[x(E,{children:[x(E,{sx:{display:"flex",justifyContent:"space-between",mb:"base.spacing.x2"},children:[e(Ze,{size:"small",children:m("views.ORDER_SUMMARY.coinsDrawer.caption1")}),e(Ze,{size:"small",children:m("views.ORDER_SUMMARY.coinsDrawer.caption2")})]}),n?.map(((n,r)=>{return e(qt,{onClick:(o=r,()=>{c(o),i()}),balance:n,selected:a===r,conversions:t,transactionRequirement:s,size:T,theme:u,environment:p,rc:e($.div,{variants:K,custom:r})},`${n.fundingItem.token.symbol}-${n.type}`);var o})),o&&e($.div,{variants:K,custom:n.length,children:e(j,{shimmer:!0,emphasized:!0,size:T,testId:"funding-balance-item-shimmer"})},"funding-balance-item-shimmer")]}),d&&x(E,{sx:{pb:"base.spacing.x4"},rc:e($.div,{variants:K,custom:n.length+(o?1:0)}),children:[y&&e(re,{size:"small",rc:e(Ze,{}),sx:{my:"base.spacing.x4"},children:m("views.ORDER_SUMMARY.coinsDrawer.divider")}),e(Ht,{onClick:d,size:T,hideDisabledOptions:!0,paymentOptions:f,disabledOptions:l,captions:{[A.DEBIT]:m("views.PAYMENT_METHODS.options.debit.caption"),[A.CREDIT]:m("views.PAYMENT_METHODS.options.credit.caption")}})]})]})})})}function Jt({item:t,balance:n,pricing:a,conversions:r,size:o,sx:s,rc:i=e("span",{})}){const{t:c}=I(),{token:d}=n.fundingItem,l=a?.amount||0,u=v(l.toString(),d.symbol,r);return x(j,{rc:i,emphasized:!0,size:o||"medium",sx:{pointerEvents:"none",mb:"base.spacing.x1",...s},children:[e(j.FramedImage,{use:e(Ye,{src:t.image,name:t.name,defaultImage:t.image})}),e(j.Label,{children:t.name}),e(j.Caption,{children:c("views.ORDER_SUMMARY.orderItem.quantity",{qty:t.qty})}),l>0&&e(j.PriceDisplay,{use:e(B,{size:"xSmall"}),price:c("views.ORDER_SUMMARY.currency.price",{symbol:d.symbol,amount:Q(l)}),fiatAmount:c("views.ORDER_SUMMARY.currency.fiat",{amount:u})})]},t.name)}const Qt=(e,t,n)=>{if(!t)return;const a=e.toLowerCase(),r=oe[a]?.toLowerCase(),o=Object.values(t).find((e=>[a,r].includes(e.currency.toLowerCase())));if(o)return o;const s=n.get(a)||n.get(r);return s&&t.USDC?{currency:e,type:t.USDC.type,amount:t.USDC.amount/s}:void 0},en={mb:"0",bradbl:"0",bradbr:"0"};function tn({items:t,balance:n,pricing:a,conversions:r,children:o}){return x(E,{rc:e($.div,{variants:X,initial:"hidden",animate:"show"}),children:[t.map(((s,i)=>e(Jt,{item:s,balance:n,conversions:r,size:t.length>=3?"small":"medium",pricing:Qt(n.fundingItem.token.symbol,a?.[s.productId]?.pricing,r),sx:i===t.length-1&&o?en:void 0,rc:e($.div,{variants:K,custom:i})},s.name))),o]})}function nn({sx:t,swapFees:n,onFeesClick:a}){return e(He,{gasFeeFiatValue:n.fiatAmount,gasFeeToken:n.token,gasFeeValue:n.amount,fees:n.formattedFees,onFeesClick:a,sx:t,loading:!1})}function an({fundingBalances:t,conversions:n,collectionName:r,loadingBalances:o,transactionRequirement:s,onBackButtonClick:i,onPayWithCard:c,onProceedToBuy:d}){const{eventTargetState:{eventTarget:l}}=a.useContext(S),{t:u}=I(),{provider:p,items:m,orderQuote:T,disabledPaymentTypes:f,config:{theme:y,environment:C}}=It(),{sendSelectedPaymentToken:h,sendViewFeesEvent:A,sendPageView:g}=Pt(),[R,b]=a.useState(!1),[_,w]=a.useState(0),[D,P]=a.useState({token:void 0,amount:"",fiatAmount:"",formattedFees:[]}),N=a.useMemo((()=>t[_]),[t,_,p]);a.useEffect((()=>{if(!n?.size||!p)return;if(N.type!==te.SWAP)return;const[[,e]]=Object.entries(Kt(N));e&&e.token&&P({token:e.token,amount:e.formattedAmount,fiatAmount:v(e.formattedAmount,e.token.symbol,n),formattedFees:zt(N,n,u)})}),[N,n,p]),Fe((()=>{const e=t.map((({fundingItem:e})=>Dt(e,n)));g(Je.ORDER_SUMMARY,{subView:Qe.REVIEW_ORDER,tokens:e,items:m,collectionName:r})}),(()=>Boolean(m.length&&t.length&&!o&&n.size)),[m,t,o,n]);const M=m.length>1,F=!o&&N.type===te.SWAP;return x(L,{testId:"order-review",header:e(k,{showBack:!0,onCloseButtonClick:()=>O(l),onBackButtonClick:i,title:r}),bodyStyleOverrides:{display:"flex",flexDirection:"column",justifyContent:"space-between",height:"0"},children:[e(B,{size:"small",sx:{px:"base.spacing.x4",pb:"base.spacing.x4"},children:u("views.ORDER_SUMMARY.orderReview.heading")}),e(E,{sx:{display:"flex",flexDirection:"column",px:"base.spacing.x2",pb:"base.spacing.x8",flex:1,maxh:F?"45%":"60%",overflowY:"scroll",scrollbarWidth:"none",rowGap:"base.spacing.x4"},children:e(E,{sx:{px:"base.spacing.x2"},children:e(tn,{items:m,balance:N,pricing:T.products,conversions:n,children:!M&&F&&e(nn,{swapFees:D,sx:{bradtl:"0",bradtr:"0",brad:"base.borderRadius.x6",border:"0px solid transparent",borderTopWidth:"base.border.size.200",borderTopColor:"base.color.translucent.inverse.1000"},onFeesClick:()=>A(Je.ORDER_SUMMARY)})})})}),M&&F&&e(nn,{swapFees:D,sx:{mb:"-12px",bradtl:"base.borderRadius.x6",bradtr:"base.borderRadius.x6",border:"0px solid transparent",borderTopWidth:"base.border.size.100",borderTopColor:"base.color.translucent.emphasis.400"},onFeesClick:()=>A(Je.ORDER_SUMMARY)}),e($t,{onClick:()=>{b(!0)},onProceed:d,balance:N,conversions:n,canOpen:t.length>1,loading:o,priceDisplay:m.length>1}),e(Zt,{conversions:n,balances:t,onSelect:e=>{w(e);const{fundingItem:a}=t[e];h(Qe.REVIEW_ORDER,a,n)},onClose:()=>{b(!1)},selectedIndex:_,visible:R,loading:o,onPayWithCard:c,transactionRequirement:s,disabledPaymentTypes:f,theme:y,environment:C})]})}const rn=(e,t)=>{const n=le(e.address)?e.symbol:e.address??"";return{...e,icon:ue(t,n)}},on=(e,t)=>{return{type:nt.SUFFICIENT,fundingItem:{type:se.ERC20,token:rn((n=e,n.current.type!==se.ERC721&&n.current.token),t),fundsRequired:{amount:e.required.balance,formattedAmount:e.required.formattedBalance},userBalance:{balance:e.current.balance,formattedBalance:e.current.formattedBalance}}};var n},sn=(e,t)=>{if(0===e.length)return[];const n=e.filter((e=>1===e.steps.length)),a=[se.ERC20,se.NATIVE];return n.flatMap((e=>e.steps.filter((e=>a.includes(e.fundingItem.type))))).map((e=>({...e,fundingItem:{...e.fundingItem,token:rn(e.fundingItem.token,t)}})))},cn=e=>{let t=[];const n=(a=e.name,(e,t)=>{const n=e.fundingItem&&e.fundingItem.token&&e.fundingItem.token.symbol===a?-1:0,r=t.fundingItem&&t.fundingItem.token&&t.fundingItem.token.symbol===a?-1:0;return n!==r?n-r:e.type===nt.SUFFICIENT&&t.type===nt.SUFFICIENT?0:e.type===nt.SUFFICIENT?-1:t.type===nt.SUFFICIENT?1:0});var a;return e=>(0===e.length||(t=Array.from(new Set([...t,...e])).sort(n)),t)},dn=e=>({...e,amount:f.from(0),formattedAmount:"0"}),ln=(e,t)=>e.map((e=>((e,t)=>{if(e.type!==te.SWAP)return e;if(!pe(t))return e;const n={...e.fees,approvalGasFee:dn(e.fees.approvalGasFee),swapGasFee:dn(e.fees.swapGasFee)};return{...e,fees:n}})(e,t))),un=async e=>{const{provider:t,checkout:n,currencies:a,baseCurrency:r,onFundingBalance:o,getAmountByCurrency:s,getIsGasless:i,onComplete:c,onFundingRequirement:d}=e,l=t?.getSigner(),u=await(l?.getAddress())||"",p=n.config.environment,E=cn(r),m=e=>{Array.isArray(e)&&e.length>0&&o(E(ln(e,t)))},T=e=>y(e,r.name),C=a.map((async e=>{const a=s(e);if(!a)return null;const r=((e,t,n)=>[{type:se.ERC20,tokenAddress:n,spenderAddress:t,amount:e}])(a,u,e.address),o=i()?void 0:{type:ie.GAS,gasToken:{type:ce.NATIVE,limit:f.from("30000000")}};return{currency:e,smartCheckoutResult:await n.smartCheckout({provider:t,itemRequirements:r,transactionOrGasAmount:o,routingOptions:{bridge:!1,onRamp:!1,swap:!0},fundingRouteFullAmount:!0,onComplete:T(e.name)?()=>{c?.(E([]))}:void 0,onFundingRoute:T(e.name)?e=>{m(sn([e],p))}:void 0})}})).filter(Boolean),h=await(async(e,t)=>{const n=e.map((async e=>{const n=await e;return t(n),n}));return await Promise.all(n)})(C,(({currency:e,smartCheckoutResult:t})=>{if(T(e.name)){const e=t.transactionRequirements[0];d(e)}t.sufficient&&m(((e,t)=>{if(!0===e.sufficient){const n=e.transactionRequirements.find((e=>e.type===se.ERC20));if(n&&n.type===se.ERC20)return[on(n,t)]}return!1===e.sufficient&&e?.router?.routingOutcome.type===de.ROUTES_FOUND?sn(e.router.routingOutcome.fundingRoutes,t):null})(t,p))}));return h},pn=()=>{const e=a.useRef(!1),{fromTokenAddress:t,orderQuote:n,provider:r,checkout:o,selectedCurrency:s}=It(),{cryptoFiatState:i}=a.useContext(Ue),[c,d]=a.useState(),[l,u]=a.useState([]),[p,E]=a.useState([]),[m,T]=a.useState(!1);return{fundingBalances:l,loadingBalances:m,fundingBalancesResult:p,transactionRequirement:c,queryFundingBalances:()=>{t&&r&&o&&n&&s&&(e.current||m||(async()=>{e.current=!0,T(!0);try{const e=await un({provider:r,checkout:o,currencies:n.currencies,routingOptions:{bridge:!1,onRamp:!1,swap:!0},baseCurrency:s,getAmountByCurrency:e=>{const t=Qt(e.name,n.totalAmount,i.conversions);return t?t.amount.toString():""},getIsGasless:()=>r.provider?.isPassport||!1,onFundingBalance:e=>{u([...e])},onComplete:()=>{T(!1)},onFundingRequirement:e=>{d(e)}});E(e)}catch{T(!1)}finally{e.current=!1}})())}}},En=e=>{if(e&&e.current.type!==se.ERC721)return e.current.token},mn=e=>{const t=e.find((({type:e})=>e===se.NATIVE)),n=e.find((({type:e})=>e===se.ERC20)),a={erc20:{value:n?.delta.formattedBalance,symbol:En(n)?.symbol},native:{value:t?.delta.formattedBalance,symbol:En(t)?.symbol}};let r=["views.PAYMENT_METHODS.topUp.subheading.erc20",a],o=n?.delta.formattedBalance||"0",s=En(n)?.address;return t&&n&&!t.sufficient&&!n.sufficient&&(r=["views.PAYMENT_METHODS.topUp.subheading.both",a]),t&&n&&!t.sufficient&&n.sufficient&&(o=t?.delta.formattedBalance||"0",s=En(t)?.address,r=["views.PAYMENT_METHODS.topUp.subheading.native",a]),{heading:["views.PAYMENT_METHODS.topUp.heading"],subheading:r,amount:o,tokenAddress:s}};var Tn;function fn({fundingRouteStep:t,onFundingRouteExecuted:n}){const{t:r}=I(),{config:o,provider:s,checkout:i,fromTokenAddress:c}=It(),{viewDispatch:d}=a.useContext(C),{connectLoaderDispatch:l}=a.useContext(Ee),[u,p]=a.useState(void 0),[E,m]=a.useState(void 0),[T,f]=a.useState(void 0),[y,A]=a.useState(Tn.LOADING),g=a.useRef(!1),v=a.useRef(void 0),R=a.useRef(void 0),[O,b]=a.useReducer(me,Te),_=a.useMemo((()=>({eventTargetState:O,eventTargetDispatch:b})),[O,b]),w=new EventTarget,D=e=>{d({payload:{type:h.UPDATE_VIEW,view:{type:Je.SALE_FAIL,data:{errorType:et.FUNDING_ROUTE_EXECUTE_ERROR,errorData:e}}}})},P=a.useCallback((async e=>{if(!i||!s)throw new Error("checkout or provider not available.");const t=await i.getNetworkInfo({provider:s});if(e.type===te.BRIDGE){if(m({tokenAddress:e.fundingItem.token.address,amount:e.fundingItem.fundsRequired.formattedAmount}),t.chainId===fe(i.config))return void A(Tn.EXECUTE_BRIDGE);g.current=Tn.EXECUTE_BRIDGE,A(Tn.SWITCH_NETWORK_ETH)}if(e.type===te.SWAP){if(p({amount:e.fundingItem.fundsRequired.formattedAmount,fromTokenAddress:e.fundingItem.token.address,toTokenAddress:c}),t.chainId===ye(i.config))return void A(Tn.EXECUTE_SWAP);g.current=Tn.EXECUTE_SWAP,A(Tn.SWITCH_NETWORK_ZKEVM)}e.type===te.ONRAMP&&(f({amount:e.fundingItem.fundsRequired.formattedAmount,tokenAddress:e.fundingItem.token.address}),A(Tn.EXECUTE_ON_RAMP))}),[s,i]);a.useEffect((()=>{if(t)try{P(t)}catch(e){D(e)}}),[t]);const k=()=>{v.current?(v.current=void 0,R.current=void 0,n()):D(R.current)},N=e=>{switch(e.detail.type){case Re.SUCCESS:{const t=e.detail.data;v.current=t,k();break}case Oe.TRANSACTION_SENT:case Se.SUCCESS:{const t=e.detail.data;v.current=t;break}case Oe.FAILURE:case Re.FAILURE:case Se.FAILURE:{const t=e.detail.data;R.current=t;break}case Oe.CLOSE_WIDGET:case Re.CLOSE_WIDGET:case Se.CLOSE_WIDGET:k();case Re.REJECTED:}},M=e=>{switch(e.detail.type){case be.SUCCESS:{const t=e.detail.data;l({payload:{type:_e.SET_PROVIDER,provider:t.provider}}),!1!==g.current&&(A(g.current),g.current=!1);break}case be.FAILURE:case be.CLOSE_WIDGET:default:k()}};return a.useEffect((()=>(w.addEventListener(Ce.IMTBL_CONNECT_WIDGET_EVENT,M),w.addEventListener(Ce.IMTBL_BRIDGE_WIDGET_EVENT,N),w.addEventListener(Ce.IMTBL_SWAP_WIDGET_EVENT,N),()=>{w.removeEventListener(Ce.IMTBL_CONNECT_WIDGET_EVENT,M),w.removeEventListener(Ce.IMTBL_BRIDGE_WIDGET_EVENT,N),w.removeEventListener(Ce.IMTBL_SWAP_WIDGET_EVENT,N)})),[]),a.useEffect((()=>{b({payload:{type:he.SET_EVENT_TARGET,eventTarget:w}})}),[i]),x(S.Provider,{value:_,children:[y===Tn.LOADING&&e(Ae,{loadingText:r("views.ORDER_SUMMARY.loading.balances")}),y===Tn.EXECUTE_BRIDGE&&e(Ge,{...E,config:o,checkout:i}),y===Tn.EXECUTE_SWAP&&e(je,{...u,config:o}),y===Tn.EXECUTE_ON_RAMP&&e(Me,{config:o,...T}),y===Tn.SWITCH_NETWORK_ETH&&e(ve,{config:o,targetChainId:i.config.isProduction?ge.ETHEREUM:ge.SEPOLIA,web3Provider:s,checkout:i,deepLink:Ie.SWITCH_NETWORK}),y===Tn.SWITCH_NETWORK_ZKEVM&&e(ve,{config:o,targetChainId:i.config.isProduction?ge.IMTBL_ZKEVM_MAINNET:ge.IMTBL_ZKEVM_TESTNET,web3Provider:s,checkout:i,deepLink:Ie.SWITCH_NETWORK})]})}function yn({text:t,duration:n,animationUrl:a,inputValue:r=0}){const{addHandover:o}=F({id:U.GLOBAL});return Fe((()=>{o({duration:n,animationUrl:a,inputValue:r,children:e(B,{sx:{px:"base.spacing.x6"},children:t})})})),null}function Cn({subView:t}){const{t:n}=I(),{sendProceedToPay:r}=Pt(),{fromTokenAddress:o,collectionName:s,goToErrorView:i,goBackToPaymentMethods:c,sign:d,selectedCurrency:l,setPaymentMethod:u,environment:p}=It(),{viewDispatch:m,viewState:T}=a.useContext(C),{cryptoFiatDispatch:f,cryptoFiatState:y}=a.useContext(Ue),{addHandover:A,closeHandover:g}=F({id:U.GLOBAL}),v=t=>{A({animationUrl:W(p,Nt(xt.APPROVE)),inputValue:Lt[xt.APPROVE].inputValues.start,children:e(B,{sx:{px:"base.spacing.x6"},children:n("views.PAYMENT_METHODS.handover.initial")})}),d(tt.CRYPTO,t),m({payload:{type:h.UPDATE_VIEW,view:{type:Je.PAY_WITH_COINS}}})},R=()=>{v(l?.address)},{fundingBalances:S,loadingBalances:O,fundingBalancesResult:b,transactionRequirement:_,queryFundingBalances:w}=pn();return a.useEffect((()=>{t===Qe.INIT&&o&&w()}),[t,o]),a.useEffect((()=>{0!==S.length&&(g(),m({payload:{type:h.UPDATE_VIEW,view:{type:Je.ORDER_SUMMARY,subView:Qe.REVIEW_ORDER}}}))}),[S]),a.useEffect((()=>{if(!O&&b.length&&!(S.length>0))try{const e=b.find((e=>e.currency.base))?.smartCheckoutResult,t=mn(e.transactionRequirements);u(void 0),g(),m({payload:{type:h.UPDATE_VIEW,view:{type:z.TOP_UP_VIEW,data:t}}})}catch(e){i(et.SERVICE_BREAKDOWN,e)}}),[S,O,b]),a.useEffect((()=>{if(!f||0===S.length||O)return;const e=S.map((({fundingItem:e})=>e.token.symbol));f({payload:{type:We.SET_TOKEN_SYMBOLS,tokenSymbols:e}})}),[f,S,O]),x(E,{children:[t===Qe.INIT&&e(yn,{text:n("views.ORDER_SUMMARY.loading.balances"),animationUrl:W(p,"/preparing_order.riv"),inputValue:0}),t===Qe.REVIEW_ORDER&&e(an,{fundingBalances:S,conversions:y.conversions,collectionName:s,loadingBalances:O,onBackButtonClick:c,onProceedToBuy:e=>{const{type:t,fundingItem:n}=e;r(Je.ORDER_SUMMARY,n,y.conversions),t!==nt.SUFFICIENT?(g(),m({payload:{type:h.UPDATE_VIEW,view:{type:Je.ORDER_SUMMARY,subView:Qe.EXECUTE_FUNDING_ROUTE,data:{fundingBalance:e,onFundingRouteExecuted:R}}}})):v(n.token.address)},transactionRequirement:_,onPayWithCard:e=>c(e)}),t===Qe.EXECUTE_FUNDING_ROUTE&&e(fn,{fundingRouteStep:T.view.data.fundingBalance,onFundingRouteExecuted:R})]})}function hn(){return e(E,{testId:"credit-card-warning-hero",children:e(E,{children:x("svg",{width:"430",height:"161",viewBox:"0 0 430 161",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e("path",{d:"M172.973 133.128C171.472 132.262 170.399 130.653 170.399 128.67V91.134C170.399 87.4566 171.381 83.9165 173.158 80.8356C174.934 77.7546 177.509 75.137 180.697 73.2962L199.556 62.4057L231.623 44.1673C233.339 43.1761 235.27 43.3005 236.772 44.1673L229.34 39.8763C227.838 39.0095 225.907 38.8851 224.191 39.8763L192.124 58.1147L173.265 69.0052C170.077 70.8461 166.889 72.6253 165.112 75.7062C163.336 78.7872 162.967 83.1656 162.967 86.843V124.379C162.967 126.361 164.04 127.971 165.541 128.837L172.973 133.128Z",fill:"#F3F3F3",stroke:"#131313",strokeWidth:"1.64647",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"M239.133 48.6725V85.9384C239.133 96.0882 236.344 99.3065 228.835 103.776L178.124 133.123C174.691 135.105 170.4 132.629 170.4 128.665V91.3985C170.4 82.7861 172.193 78.066 180.698 73.5609L231.409 44.2142C234.842 42.2317 239.133 44.7076 239.133 48.6725Z",fill:"#F3F3F3",stroke:"#131313",strokeWidth:"1.64647",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"M172.973 133.127C171.472 132.26 170.399 130.651 170.399 128.668V91.3681C170.399 87.6907 170.631 83.7216 172.407 80.6406L164.975 76.3496C163.198 79.4306 162.967 83.3997 162.967 87.0771L162.967 124.377C162.967 126.36 164.04 127.969 165.541 128.836L172.973 133.127Z",fill:"#131313",stroke:"#131313",strokeWidth:"1.64647",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"M170.261 125.267V114.74L239.346 75.0625V85.3194L170.261 125.267Z",fill:"#0D0D0D",stroke:"black",strokeWidth:"0.823233"}),x("g",{clipPath:"url(#clip0_1548_70742)",children:[e("path",{d:"M228.362 71.9146C219.392 76.9925 219.392 93.5869 228.362 108.975C237.331 124.363 251.872 132.721 260.842 127.643L249.638 134.081C240.669 139.159 226.128 130.802 217.158 115.414C208.189 100.026 208.189 83.4311 217.158 78.3532L228.362 71.9146Z",fill:"black",stroke:"black",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"M228.361 71.9146C219.392 76.9925 219.392 93.5869 228.361 108.975C237.331 124.363 251.872 132.721 260.841 127.643C269.811 122.565 269.811 105.97 260.841 90.5822C251.872 75.194 237.331 66.8367 228.361 71.9146ZM234.856 83.0619C239.099 80.6582 245.416 83.268 250.539 89.0026L232.165 99.4117C229.72 92.1618 230.612 85.4657 234.856 83.0619ZM254.343 116.5C250.1 118.904 243.782 116.294 238.659 110.559L257.034 100.15C259.479 107.4 258.586 114.096 254.343 116.5Z",fill:"#FAFD7E",stroke:"black",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"M234.856 83.0618C239.099 80.658 245.417 83.2678 250.54 89.0024L232.165 99.4115C229.72 92.1617 230.613 85.4655 234.856 83.0618Z",fill:"#FAFD7E",stroke:"black",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"M254.347 116.5C250.104 118.903 243.787 116.294 238.664 110.559L257.038 100.15C259.483 107.4 258.591 114.096 254.347 116.5Z",fill:"#FAFD7E",stroke:"black",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"M232.165 99.4115C230.94 95.7844 230.552 92.299 231.001 89.4188C231.449 86.5386 232.734 84.2636 234.856 83.0618C236.977 81.8599 239.617 81.9114 242.368 82.9802L232.165 99.4115Z",fill:"black",stroke:"black",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"M246.835 116.581C244.084 115.513 241.225 113.426 238.664 110.559L247.853 105.357L257.042 100.154L246.84 116.586L246.835 116.581Z",fill:"black",stroke:"black",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),e("defs",{children:e("clipPath",{id:"clip0_1548_70742",children:e("rect",{width:"58",height:"66",fill:"white",transform:"translate(210 70)"})})})]})})})}function An(){const{t:t}=I(),{showCreditCardWarning:n,setShowCreditCardWarning:a,setPaymentMethod:r}=It();return e(ae,{size:"threeQuarter",visible:n,showHeaderBar:!1,children:x(ae.Content,{children:[e(we,{icon:"Close",variant:"tertiary",sx:{pos:"absolute",top:"base.spacing.x5",left:"base.spacing.x5",backdropFilter:"blur(30px)"},onClick:()=>a(!1)}),e(hn,{}),x(E,{sx:{px:"base.spacing.x12"},children:[e(B,{sx:{marginTop:"base.spacing.x6",marginBottom:"base.spacing.x2",textAlign:"center"},children:t("views.PAYMENT_METHODS.creditCardWarningDrawer.heading")}),e(Y,{size:"medium",sx:{display:"block",textAlign:"center",color:"base.color.text.body.secondary",marginBottom:"base.spacing.x13"},children:t("views.PAYMENT_METHODS.creditCardWarningDrawer.body")}),e(H,{sx:{width:"100%"},testId:"credit-card-button",variant:"primary",size:"large",onClick:()=>{r(A.CREDIT)},children:t("views.PAYMENT_METHODS.creditCardWarningDrawer.ctaButton")})]})]})})}function gn(t){const{t:n}=I(),{config:r,items:o,environmentId:s,collectionName:i,excludePaymentTypes:c,excludeFiatCurrencies:d,preferredCurrency:l,hideExcludedPaymentTypes:u,waitFulfillmentSettlements:p=!0}=t,{connectLoaderState:E}=a.useContext(Ee),{checkout:m,provider:T}=E,f=a.useRef(),{eventTargetState:{eventTarget:y}}=a.useContext(S),{theme:A}=r,v=a.useMemo((()=>De(A)),[A]),[R,b]=a.useReducer(Pe,ke),_=a.useMemo((()=>({viewState:R,viewDispatch:b})),[R,b]),w=R.view.data?.loadingText||n("views.LOADING_VIEW.text");a.useEffect((()=>{m&&T&&(async()=>{const e=await m.getNetworkInfo({provider:T});f.current=e.chainId})()}),[m,T]);const D=a.useRef(!1),P=a.useCallback((()=>{m&&T&&(D.current||(D.current=!0,b({payload:{type:h.UPDATE_VIEW,view:{type:Je.PAYMENT_METHODS}}})))}),[m,T]);return a.useEffect((()=>{m&&T&&P()}),[m,T]),e(C.Provider,{value:_,children:e(gt,{value:{config:r,items:o,environment:r.environment,environmentId:s,provider:T,checkout:m,passport:m?.passport,collectionName:i,excludePaymentTypes:c,excludeFiatCurrencies:d,preferredCurrency:l,waitFulfillmentSettlements:p,hideExcludedPaymentTypes:u},children:x(Ve,{environment:r.environment,children:[R.view.type===z.LOADING_VIEW&&e(Ae,{loadingText:w}),R.view.type===Je.PAYMENT_METHODS&&e(Gt,{}),R.view.type===Je.PAY_WITH_CARD&&e(kt,{}),R.view.type===Je.PAY_WITH_COINS&&e(Bt,{}),R.view.type===Je.SALE_FAIL&&e(jt,{biomeTheme:v,errorType:R.view.data?.errorType,transactionHash:R.view.data?.transactionHash,blockExplorerLink:xe.getTransactionLink(f.current,R.view.data?.transactionHash)}),R.view.type===Je.ORDER_SUMMARY&&e(Cn,{subView:R.view.subView}),R.view.type===z.TOP_UP_VIEW&&e(Be,{analytics:{userJourney:g.SALE},widgetEvent:Ce.IMTBL_SALE_WIDGET_EVENT,checkout:m,provider:T,showOnrampOption:r.isOnRampEnabled,showSwapOption:r.isSwapEnabled,showBridgeOption:r.isBridgeEnabled,onCloseButtonClick:()=>O(y),onBackButtonClick:()=>{b({payload:{type:h.UPDATE_VIEW,view:{type:Je.PAYMENT_METHODS}}})},amount:R.view.data?.amount,tokenAddress:R.view.data?.tokenAddress,heading:R.view.data?.heading,subheading:R.view.data?.subheading}),e(An,{})]})})})}!function(e){e.LOADING="LOADING",e.EXECUTE_SWAP="EXECUTE_SWAP",e.EXECUTE_BRIDGE="EXECUTE_BRIDGE",e.EXECUTE_ON_RAMP="EXECUTE_ON_RAMP",e.SWITCH_NETWORK_ETH="SWITCH_NETWORK_ETH",e.SWITCH_NETWORK_ZKEVM="SWITCH_NETWORK_ZKEVM"}(Tn||(Tn={}));export{gn as default};