@imtbl/sdk 1.15.7 → 1.15.8

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 (44) hide show
  1. package/dist/blockchain_data.js +2 -2
  2. package/dist/browser/checkout/BridgeWidget-fba6ad7a.js +1 -0
  3. package/dist/browser/checkout/OnRampWidget-367b588b.js +2 -0
  4. package/dist/browser/checkout/SaleWidget-39db9b40.js +2 -0
  5. package/dist/browser/checkout/SpendingCapHero-a266244d.js +1 -0
  6. package/dist/browser/checkout/SwapWidget-fd34a5bb.js +1 -0
  7. package/dist/browser/checkout/{TopUpView-16db081a.js → TopUpView-ba8d5718.js} +1 -1
  8. package/dist/browser/checkout/WalletWidget-20fd8095.js +1 -0
  9. package/dist/browser/checkout/{auto-track-639217b4.js → auto-track-d11001d7.js} +1 -1
  10. package/dist/browser/checkout/balance-9b928d1a.js +1 -0
  11. package/dist/browser/checkout/{index-2141407f.js → index-06ec99ba.js} +1 -1
  12. package/dist/browser/checkout/{index-9c24e104.js → index-10010369.js} +1 -1
  13. package/dist/browser/checkout/index-1fe0b25d.js +1 -0
  14. package/dist/browser/checkout/index-5fe8addc.js +1 -0
  15. package/dist/browser/checkout/{index-92d189dd.js → index-946c7dc4.js} +1 -1
  16. package/dist/browser/checkout/{index-4c08daa5.js → index-9949aaa2.js} +2 -2
  17. package/dist/browser/checkout/index-a05e1253.js +1 -0
  18. package/dist/browser/checkout/{index-4b1d2f64.js → index-f8760edb.js} +10 -10
  19. package/dist/browser/checkout/{index.umd-ccd06a86.js → index.umd-cb54344d.js} +1 -1
  20. package/dist/browser/checkout/{retry-428bd9ee.js → retry-fda6574c.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 +61 -61
  24. package/dist/checkout.js +4 -4
  25. package/dist/config.js +1 -1
  26. package/dist/index.browser.js +13 -13
  27. package/dist/index.browser.js.map +1 -1
  28. package/dist/index.cjs +7 -7
  29. package/dist/index.js +7 -7
  30. package/dist/orderbook.js +1 -1
  31. package/dist/passport.js +4 -4
  32. package/dist/x.js +3 -3
  33. package/package.json +1 -1
  34. package/dist/browser/checkout/BridgeWidget-2efbd9ad.js +0 -1
  35. package/dist/browser/checkout/OnRampWidget-a66e7fa3.js +0 -1
  36. package/dist/browser/checkout/SaleWidget-3c62a591.js +0 -2
  37. package/dist/browser/checkout/SpendingCapHero-f79df11e.js +0 -1
  38. package/dist/browser/checkout/SwapWidget-c978d4a4.js +0 -1
  39. package/dist/browser/checkout/WalletWidget-a5c469ba.js +0 -1
  40. package/dist/browser/checkout/balance-123191fd.js +0 -1
  41. package/dist/browser/checkout/index-0246bdc8.js +0 -1
  42. package/dist/browser/checkout/index-0e73c11a.js +0 -1
  43. package/dist/browser/checkout/index-7c3b9755.js +0 -1
  44. package/dist/browser/checkout/useTransakEvents-c01d9b36.js +0 -2
@@ -4814,7 +4814,7 @@ const flattenProperties = (properties) => {
4814
4814
  };
4815
4815
 
4816
4816
  // WARNING: DO NOT CHANGE THE STRING BELOW. IT GETS REPLACED AT BUILD TIME.
4817
- const SDK_VERSION = '1.15.7';
4817
+ const SDK_VERSION = '1.15.8';
4818
4818
  const getReferrer = () => {
4819
4819
  if (isNode()) {
4820
4820
  return '';
@@ -5059,7 +5059,7 @@ class APIError extends Error {
5059
5059
 
5060
5060
  /* eslint-disable implicit-arrow-linebreak */
5061
5061
  const defaultHeaders = {
5062
- sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.15.7',
5062
+ sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.15.8',
5063
5063
  };
5064
5064
  /**
5065
5065
  * createAPIConfiguration to create a custom Configuration
@@ -0,0 +1 @@
1
+ import{b8 as e,b9 as t,r as s,ba as a,u as n,j as o,M as r,ap as i,bb as l,I as c,al as d,bc as u,bd as x,B as p,a as g,p as w,be as h,X as b,bf as m,aL as f,q as E,v as T,bg as v,bh as y,d as I,bi as A,U as k,bj as S,V as C,c as R,K as _,bk as j,O as N,bl as D,aK as W,bm as L,k as P,x as O,bn as B,a8 as M,y as G,E as F,i as z,e as U,T as $,g as V,bo as H,bp as K,z as J,A as q,J as Q,bq as X,br as Y,bs as Z,a0 as ee,ah as te,ao as se,H as ae,bt as ne,b as oe,F as re,bu as ie,aI as le,bv as ce,aJ as de,t as ue,f as xe,a9 as pe,aO as ge,aU as we,S as he,a7 as be,aP as me,aH as fe,bw as Ee,aM as Te,bx as ve,by as ye,aS as Ie,bz as Ae,bA as ke,P as Se,Q as Ce,bB as Re,W as _e,l as je,aV as Ne,bC as De,h as We,_ as Le,$ as Pe,bD as Oe,aX as Be,bE as Me,az as Ge,ay as Fe,a1 as ze,bF as Ue,bG as $e,bH as Ve}from"./index-9949aaa2.js";import{B as He,C as Ke,a as Je,b as qe,T as Qe}from"./TopUpView-ba8d5718.js";import{r as Xe,u as Ye}from"./retry-fda6574c.js";import{b as Ze,S as et,T as tt,a as st,g as at,F as nt,N as ot,W as rt}from"./balance-9b928d1a.js";const{Axios:it,AxiosError:lt,CanceledError:ct,isCancel:dt,CancelToken:ut,VERSION:xt,all:pt,Cancel:gt,isAxiosError:wt,spread:ht,toFormData:bt,AxiosHeaders:mt,HttpStatusCode:ft,formToJSON:Et,getAdapter:Tt,mergeConfig:vt}=e;class yt{url;ttl;env;cacheMap;setCache(e,t){this.cacheMap[e]={data:t,ttl:(new Date).getTime()+1e3*this.ttl}}getCache(e){const t=this.cacheMap[e];return!t||t.ttl<=(new Date).getTime()?null:t.data}constructor(e){this.env=e.env,this.url=`${t[this.env]}/checkout`,this.cacheMap={},this.ttl=void 0!==e.ttl?e.ttl:60}static isHttpError=e=>"code"in e;async getTransactions(t){const{txType:s,fromAddress:a}=t;try{const t=`${this.url}/v1/transactions?from_address=${a}&tx_type=${s}`,n=this.getCache(t);if(n)return Promise.resolve(n);const o=await e.get(t);if(o.status>=400)return Promise.reject({code:o.status,message:o.statusText});const{data:r}=o;return this.setCache(t,r),Promise.resolve(r)}catch(t){let s=ft.InternalServerError,a="InternalServerError";return e.isAxiosError(t)&&(s=t.response?.status||s,a=t.message),Promise.reject({code:s,message:a})}}}var It;!function(e){e.BRIDGE="bridge"}(It||(It={}));const At={IN_PROGRESS:"in_progress",WITHDRAWAL_PENDING:"withdrawal_pending"},kt={web3Provider:null,walletProviderName:null,from:null,to:null,tokenBridge:null,tokenBalances:[],allowedTokens:[],token:null,amount:"0"};var St;!function(e){e.SET_WALLETS_AND_NETWORKS="SET_WALLETS_AND_NETWORKS",e.SET_WALLET_PROVIDER_NAME="SET_WALLET_PROVIDER_NAME",e.SET_PROVIDER="SET_PROVIDER",e.SET_TOKEN_BRIDGE="SET_TOKEN_BRIDGE",e.SET_TOKEN_BALANCES="SET_TOKEN_BALANCES",e.SET_ALLOWED_TOKENS="SET_ALLOWED_TOKENS",e.SET_TOKEN_AND_AMOUNT="SET_TOKEN_AND_AMOUNT"}(St||(St={}));const Ct=s.createContext({bridgeState:{...kt,checkout:{}},bridgeDispatch:()=>{}});Ct.displayName="BridgeContext";const Rt=(e,t)=>{switch(t.payload.type){case St.SET_WALLETS_AND_NETWORKS:return{...e,from:t.payload.from,to:t.payload.to};case St.SET_WALLET_PROVIDER_NAME:return{...e,walletProviderName:t.payload.walletProviderName};case St.SET_PROVIDER:return{...e,web3Provider:t.payload.web3Provider};case St.SET_TOKEN_BRIDGE:return{...e,tokenBridge:t.payload.tokenBridge};case St.SET_TOKEN_BALANCES:return{...e,tokenBalances:t.payload.tokenBalances};case St.SET_ALLOWED_TOKENS:return{...e,allowedTokens:t.payload.allowedTokens};case St.SET_TOKEN_AND_AMOUNT:return{...e,token:t.payload.token,amount:t.payload.amount};default:return e}};function _t(e){switch(e){case a.METAMASK:return"MetaMaskSymbol";case a.PASSPORT:return"PassportSymbolOutlined";case"walletconnect":return"WalletConnectSymbol";default:return"MetaMaskSymbol"}}function jt({testId:e,walletProviderName:t,onWalletClick:a,loading:i}){const{t:l}=n(),[c,d]=s.useState(!1);return o.jsxs(r,{testId:`${e}-wallet-list-${t}`,size:"medium",emphasized:!0,onClick:async()=>{if(!i){d(!0);try{await a(t)}finally{d(!1)}}},children:[o.jsx(r.FramedLogo,{logo:_t(t),sx:{backgroundColor:"base.color.translucent.standard.200"}}),o.jsx(r.Label,{size:"medium",children:l(`wallets.${t}.heading`)}),c&&o.jsx(r.StatefulButtCon,{state:"loading",icon:"Loading"})]})}const Nt={display:"flex",flexDirection:"column",gap:"base.spacing.x1",paddingX:"base.spacing.x4"};function Dt({testId:e,drawerText:t,walletOptions:a,showWalletSelectorTarget:n,showDrawer:r,setShowDrawer:c,onWalletItemClick:d}){const[u,x]=s.useState(!1),{heading:p,defaultText:g}=t,w=async e=>{x(!0);try{await d(e)}catch(e){console.error(e)}finally{x(!1)}};return o.jsxs(i,{headerBarTitle:p,size:"full",onCloseDrawer:()=>{u||c(!1)},visible:r,children:[n&&o.jsx(i.Target,{children:o.jsx(Ze,{testId:`${e}-wallet-form-control`,textAlign:"left",children:o.jsx(l,{testId:`${e}-wallet-select`,defaultLabel:g??"",size:"large",targetClickOveride:()=>c(!0)})})}),o.jsx(i.Content,{sx:Nt,children:a.map((t=>o.jsx(jt,{testId:e,loading:u,walletProviderName:t,onWalletClick:w},t)))})]})}const Wt=(e,t)=>{const s=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.TRANSACTION_SENT,data:{transactionHash:t}}});console.log("bridge success ",e,s),void 0!==e&&e.dispatchEvent(s)};function Lt(e){const t=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.CLOSE_WIDGET,data:{}}});console.log("bridge close ",e,t),void 0!==e&&e.dispatchEvent(t)}function Pt(){return o.jsxs(u,{sx:{gap:"base.spacing.x2"},children:[o.jsx(x,{sx:{h:"base.spacing.x4",w:"base.spacing.x32",mt:"base.spacing.x2"}}),o.jsx(r,{shimmer:!0,emphasized:!0,size:"small"}),o.jsx(r,{shimmer:!0,emphasized:!0,size:"small"}),o.jsx(r,{shimmer:!0,emphasized:!0,size:"small"})]})}const Ot={px:"base.spacing.x4",display:"flex",flexDirection:"column",height:"100%"},Bt={flexGrow:"1",flexShrink:"0",flexBasis:"0"},Mt={flexGrow:"0",flexShrink:"1",mt:"base.spacing.x2"},Gt={bg:"base.color.translucent.emphasis.100",borderRadius:"base.borderRadius.x4",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column",height:"100%",px:"base.spacing.x5"};function Ft({openWalletDrawer:e}){const{t:t}=n();return o.jsxs(p,{sx:Gt,children:[o.jsx(g,{sx:{mb:"base.spacing.x8"},children:t("views.TRANSACTIONS.status.emptyState.notConnected.body")}),o.jsx(w,{variant:"secondary",size:"medium",testId:"transactions-connect-wallet-button",onClick:e,children:t("views.TRANSACTIONS.status.emptyState.notConnected.buttonText")})]})}const zt={backgroundColor:"base.color.neutral.800",px:"base.spacing.x4",p:"base.spacing.x5",borderRadius:"base.borderRadius.x6"},Ut={color:"base.color.text.body.secondary"};function $t({checkout:e,isPassport:t}){const{t:a}=n(),[r,i]=s.useState("");return s.useEffect((()=>{e&&i(h[e.config.environment])}),[e]),o.jsx(p,{sx:zt,children:o.jsxs(p,{sx:{display:"flex",flexDirection:"column"},children:[o.jsxs(p,{children:[o.jsx(g,{size:"small",children:a("views.TRANSACTIONS.support.body1")}),o.jsxs(g,{size:"small",sx:Ut,children:[a("views.TRANSACTIONS.support.body2"),o.jsx(b,{size:"small",rc:o.jsx("a",{target:"_blank",href:a("views.TRANSACTIONS.support.supportLink"),rel:"noreferrer"}),children:a("views.TRANSACTIONS.support.body3")})]})]}),t&&o.jsxs(g,{size:"small",sx:Ut,children:[a("views.TRANSACTIONS.support.passport.body1")," ",o.jsx(b,{size:"small",rc:o.jsx("a",{target:"_blank",href:r,rel:"noreferrer"}),children:a("views.TRANSACTIONS.support.passport.body2")})]})]})})}const Vt={display:"flex",flexDirection:"column",borderRadius:"base.borderRadius.x4",bg:"base.color.translucent.emphasis.100"},Ht={p:"base.spacing.x3",d:"flex",justifyContent:"space-between",position:"relative"},Kt={display:"flex",flexGrow:"1",alignItems:"center",gap:"base.spacing.x2"};function Jt({transaction:e}){const t=m(e.details.from_chain),s=m(e.details.to_chain);return o.jsxs(p,{sx:{display:"flex",px:"base.spacing.x4",gap:"base.spacing.x2"},children:[o.jsx(f,{icon:E[t],sx:{w:"base.icon.size.250",fill:T[t]},variant:"bold"}),o.jsxs(p,{sx:{display:"flex",flexDirection:"column",flexGrow:"1"},children:[o.jsx(g,{size:"xxSmall",sx:{color:"base.color.translucent.standard.900"},children:v[t]}),o.jsx(y,{size:"xxSmall",sx:{color:"base.color.translucent.standard.600"},text:e.details.from_address})]}),o.jsx(p,{sx:{flexGrow:"1"}}),o.jsx(f,{icon:"ArrowForward",sx:{w:"base.icon.size.250",fill:"base.color.brand.4"}}),o.jsx(p,{sx:{flexGrow:"1"}}),o.jsx(f,{icon:E[s],sx:{w:"base.icon.size.250",fill:T[s]},variant:"bold"}),o.jsxs(p,{sx:{display:"flex",flexDirection:"column",flexGrow:"1"},children:[o.jsx(g,{size:"xxSmall",sx:{color:"base.color.translucent.standard.900"},children:v[s]}),o.jsx(y,{size:"xxSmall",sx:{color:"base.color.translucent.standard.600"},text:e.details.to_address})]})]})}function qt({label:e,details:t,transaction:a,fiatAmount:n,amount:i,icon:l,defaultTokenImage:c}){const{track:d}=I(),u=s.useMemo((()=>`${t.link}${t.hash}`),[t]);return o.jsx(p,{testId:`transaction-item-${a.blockchain_metadata.transaction_hash}`,sx:Vt,children:o.jsxs(A,{chevronSide:"right",sx:{button:{p:"base.spacing.x1"},article:{pr:"base.spacing.x10"}},onExpandChange:e=>e&&d({userJourney:k.BRIDGE,screen:"TransactionItem",control:"Accordion",controlType:"Button"}),children:[o.jsx(A.TargetLeftSlot,{sx:{pr:"base.spacing.x2"},children:o.jsxs(r,{size:"xSmall",children:[o.jsx(r.FramedImage,{imageUrl:l,circularFrame:!0,defaultImageUrl:c}),o.jsx(r.Label,{children:e}),o.jsx(r.Caption,{children:o.jsx(b,{size:"xSmall",rc:o.jsx("a",{target:"_blank",href:u,rel:"noreferrer",onClick:e=>{return s=t,e.stopPropagation(),void d({userJourney:k.BRIDGE,screen:"TransactionItem",control:"Details",controlType:"Link",extras:{linkDetail:s}});var s}}),children:t.text})}),o.jsx(r.PriceDisplay,{fiatAmount:n,price:i})]})}),o.jsxs(A.ExpandedContent,{sx:{pr:"0",pl:"0",mb:"base.spacing.x3",gap:"0"},children:[o.jsx(S,{size:"xSmall",sx:{px:"base.spacing.x2"}}),o.jsx(Jt,{transaction:a})]})]})})}const Qt=e=>{let t=440;return e&&(t-=20),{backgroundColor:"base.color.neutral.800",px:"base.spacing.x4",pt:"base.spacing.x5",pb:"base.spacing.x4",borderRadius:"base.borderRadius.x6",h:`${t}px`,w:"100%",overflowY:"scroll"}},Xt={borderRadius:"base.borderRadius.x4",display:"flex",flexDirection:"column",gap:"base.spacing.x5"};function Yt({label:e,transaction:t,fiatAmount:a,amount:i,icon:l,defaultTokenImage:c}){const{viewDispatch:d}=s.useContext(C),{track:u}=I(),x=n(),h=s.useMemo((()=>(new Date).getTime()),[]),b=s.useMemo((()=>t.details.current_status.withdrawal_ready_at?new Date(t.details.current_status.withdrawal_ready_at):void 0),[t]),m=t.details.current_status.status===At.WITHDRAWAL_PENDING,E=new Intl.RelativeTimeFormat(x[1].language||"en",{numeric:"auto"}),T=s.useMemo((()=>{if(!m||void 0===b)return"";const e=(b.getTime()-h)/6e4;if(e<=1)return"in 1 minute";if(e<60)return E.format(Math.ceil(e),"minute");const t=e/60;if(e<1440)return E.format(Math.ceil(t),"hour");const s=t/24;return E.format(Math.ceil(s),"day")}),[h,x[1].language]),v=!!b&&b.getTime()<h,y=s.useMemo((()=>!0===v?x.t("views.TRANSACTIONS.status.withdrawalPending.withdrawalReadyText"):`${x.t("views.TRANSACTIONS.status.withdrawalPending.withdrawalDelayText")} ${T}`),[T,x[1].language]);return o.jsxs(p,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}`,sx:Vt,children:[m&&o.jsxs(o.Fragment,{children:[o.jsxs(p,{sx:Ht,children:[o.jsxs(p,{sx:Kt,children:[o.jsx(f,{icon:"Alert",variant:"bold",sx:{fill:v?"base.color.status.fatal.bright":"base.color.status.attention.bright",w:"base.icon.size.200"}}),o.jsx(g,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}-action-message`,size:"xSmall",sx:{color:"base.color.text.body.secondary"},children:y})]}),m&&v&&o.jsx(w,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}-action-button`,variant:"primary",size:"small",onClick:()=>{d({payload:{type:R.UPDATE_VIEW,view:{type:He.CLAIM_WITHDRAWAL,transaction:t}}})},children:x.t("views.TRANSACTIONS.status.withdrawalPending.actionButtonText")})]}),o.jsx(S,{size:"small",sx:{color:"base.color.translucent.emphasis.300",opacity:.1}})]}),o.jsxs(A,{chevronSide:"right",sx:{button:{p:"base.spacing.x1"},article:{pr:"base.spacing.x10"},borderTopRightRadius:"0",borderTopLeftRadius:"0"},onExpandChange:e=>e&&u({userJourney:k.BRIDGE,screen:"TransactionItem",control:"Accordion",controlType:"Button"}),children:[o.jsx(A.TargetLeftSlot,{sx:{pr:"base.spacing.x2"},children:o.jsxs(r,{size:"xSmall",children:[o.jsx(r.FramedImage,{imageUrl:l,circularFrame:!0,defaultImageUrl:c}),o.jsx(r.Label,{children:e}),o.jsx(r.Caption,{children:x.t("views.TRANSACTIONS.status.withdrawalPending.caption")}),o.jsx(r.PriceDisplay,{fiatAmount:a,price:i})]})}),o.jsxs(A.ExpandedContent,{sx:{pr:"0",pl:"0",mb:"base.spacing.x3",gap:"0"},children:[o.jsx(S,{size:"xSmall",sx:{px:"base.spacing.x2"}}),o.jsx(Jt,{transaction:t})]})]})]})}const Zt={display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",p:"base.spacing.x2",pb:"base.spacing.x4"},es={position:"relative",pr:"base.spacing.x2"},ts={width:"base.icon.size.400"},ss={position:"absolute",top:"-6px",left:"18px",width:"20px",padding:"2px",backgroundColor:"base.color.translucent.inverse.900",borderRadius:"base.borderRadius.x2"};function as({onChangeWalletClick:e}){const{t:t}=n(),{bridgeState:{checkout:a,from:r}}=s.useContext(Ct),[i,l]=s.useState(void 0),[c,d]=s.useState(!1),{isWalletConnectEnabled:u,getWalletLogoUrl:x}=_({checkout:a}),{track:g}=I(),h=r?.walletAddress||"",b=_t(j(r?.web3Provider));return s.useEffect((()=>{u&&(d(N(r?.web3Provider)),(async()=>{l(await x())})())}),[u,r]),o.jsxs(p,{sx:Zt,children:[o.jsxs(p,{sx:{display:"flex",alignItems:"center",gap:"base.spacing.x1"},children:[c&&i?o.jsxs(p,{sx:es,children:[o.jsx(D,{imageUrl:i,alt:"walletconnect",sx:ts}),o.jsx(W,{logo:"WalletConnectSymbol",sx:ss})]}):o.jsx(W,{logo:b,sx:{width:"base.icon.size.400",pr:"base.spacing.x1"}}),o.jsx(y,{leftSideLength:6,rightSideLength:4,text:h})]}),o.jsx(w,{size:"small",variant:"tertiary",onClick:()=>{g({userJourney:k.BRIDGE,screen:He.TRANSACTIONS,controlType:"Button",control:"Pressed"}),e()},children:t("views.TRANSACTIONS.changeWallet.buttonText")})]})}function ns({checkout:e,transactions:t,knownTokenMap:a,isPassport:r,defaultTokenImage:i,changeWallet:l}){const{cryptoFiatState:c}=s.useContext(Ke),{t:d}=n(),[u,x]=s.useState("");s.useEffect((()=>{e&&x(L[e.config.environment])}),[e]);const g=s.useCallback(((e,t)=>e.details.current_status.status===At.WITHDRAWAL_PENDING&&t.details.current_status.status!==At.WITHDRAWAL_PENDING?-1:e.details.current_status.status===t.details.current_status.status?0:1),[]),w=s.useCallback((t=>P(t.details.from_token_address)?O(e.config.environment,B(t.details.from_chain)):O(e.config.environment,t.details.from_token_address)),[e]);return o.jsxs(p,{sx:Qt(r),children:[o.jsx(as,{onChangeWalletClick:l}),o.jsx(p,{testId:"move-transaction-list",sx:Xt,children:t.sort(g).map((e=>{const t=e.blockchain_metadata.transaction_hash,s=a[e.details.from_chain][e.details.from_token_address.toLowerCase()],n=M.formatUnits(e.details.amount,s.decimals),r=G(n,s.symbol,c.conversions);return e.details.current_status.status===At.WITHDRAWAL_PENDING?o.jsx(Yt,{label:s.name,transaction:e,fiatAmount:`${d("views.TRANSACTIONS.fiatPricePrefix")}${r}`,amount:n,icon:w(e),defaultTokenImage:i},t):o.jsx(qt,{label:s.name,details:{text:d("views.TRANSACTIONS.status.inProgress.stepInfo"),link:u,hash:t},transaction:e,fiatAmount:`${d("views.TRANSACTIONS.fiatPricePrefix")}${r}`,amount:n,icon:w(e),defaultTokenImage:i},t)}))})]})}const os={backgroundColor:"base.color.neutral.800",px:"base.spacing.x4",pt:"base.spacing.x5",pb:"base.spacing.x4",borderRadius:"base.borderRadius.x6",h:"100%",w:"100%",display:"flex",flexDirection:"column"},rs={display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",padding:"base.spacing.x5",flex:1},is={mb:"base.spacing.x8",color:"base.color.text.body.secondary"},ls={color:"base.color.text.body.secondary"};function cs({checkout:e,isPassport:t,changeWallet:a}){const{page:r}=I(),{t:i}=n(),[l,c]=s.useState("");return s.useEffect((()=>{e&&c(h[e.config.environment])}),[e]),s.useEffect((()=>{r({userJourney:k.BRIDGE,screen:"NoTransactions"})}),[]),o.jsxs(p,{sx:os,children:[o.jsx(as,{onChangeWalletClick:a}),o.jsxs(p,{sx:rs,children:[o.jsx(g,{size:"small",sx:is,children:i("views.TRANSACTIONS.status.noTransactions.body")}),t&&o.jsxs(g,{size:"small",sx:ls,children:[i("views.TRANSACTIONS.status.noTransactions.passport.body")," ",o.jsx(b,{size:"small",rc:o.jsx("a",{target:"_blank",href:l,rel:"noreferrer"}),children:i("views.TRANSACTIONS.status.noTransactions.passport.link")})]})]})]})}function ds({defaultTokenImage:e,onBackButtonClick:t}){const{eventTargetState:{eventTarget:r}}=s.useContext(F),{cryptoFiatDispatch:i}=s.useContext(Ke),{bridgeDispatch:l,bridgeState:{checkout:c,from:d}}=s.useContext(Ct),{page:u}=I(),{t:x}=n(),{track:g}=I(),[w,h]=s.useState(!0),[b,m]=s.useState(void 0),[f,E]=s.useState([]),[T,v]=s.useState(!1),y=z(d?.web3Provider),{isWalletConnectEnabled:A,openWalletConnectModal:S}=_({checkout:c}),C=s.useCallback((async()=>{if(!c)return{};const e=U(c.config);try{return((await c.getTokenAllowList({type:$.BRIDGE,chainId:e})).tokens??[]).reduce(((e,t)=>(e[t.address.toLowerCase()]=t,e)),{})}catch(e){return console.error(e),[]}}),[c]),R=s.useCallback((async()=>{if(!d?.web3Provider)return{};if(!d?.walletAddress)return{};const e=V(c.config);try{return(await c.getAllBalances({provider:d?.web3Provider,walletAddress:d?.walletAddress,chainId:e})).balances.reduce(((e,t)=>(e[t.token.address.toLowerCase()]=t.token,e)),{})}catch(e){return console.error(e),[]}}),[c,d]),j=e=>{e.getNetwork().then((t=>{e?.getSigner().getAddress().then((s=>{E([]),l({payload:{type:St.SET_WALLETS_AND_NETWORKS,from:{web3Provider:e,walletAddress:s.toLowerCase(),network:t.chainId},to:null}})}))}))},N=s.useCallback((async e=>{g({userJourney:k.BRIDGE,screen:"EmptyStateNotConnected",control:"WalletProvider",controlType:"Select",extras:{walletProviderName:e}});try{let t;"walletconnect"===e?await S({connectCallback:e=>{j(new H(e))},restoreSession:!0}):(t=await K(c,e,!0),j(t))}catch(e){console.error(e)}finally{v(!1)}}),[c,d,S]),D=async e=>{const t=X(U(c.config)),s=X(V(c.config)),[a,n]=await Promise.all([C(),R()]),o={};Object.entries(e).forEach((([r,i])=>{(e[r]===t&&!a[r]||e[r]===s&&!n[r])&&(o[r]=i)}));const r=new Y(c.config.networkMap.get(U(c.config))?.rpcUrls[0]),l=new Y(c.config.networkMap.get(V(c.config))?.rpcUrls[0]),d=[],u=[];Object.entries(o).forEach((([e,s])=>{s===t?d.push(c.getTokenInfo({provider:r,tokenAddress:e})):u.push(c.getTokenInfo({provider:l,tokenAddress:e}))}));const x=await Promise.allSettled(d),p=await Promise.allSettled(u);x.filter((e=>"fulfilled"===e.status)).forEach((e=>{const t=e;a[t.value.address.toLowerCase()]=t.value})),p.filter((e=>"fulfilled"===e.status)).forEach((e=>{const t=e;n[t.value.address.toLowerCase()]=t.value}));const g=[];return Object.values(a).forEach((e=>g.push(e.symbol.toLowerCase()))),Object.values(n).forEach((e=>g.push(e.symbol.toLowerCase()))),i({payload:{type:Je.SET_TOKEN_SYMBOLS,tokenSymbols:g}}),{[t]:a,[s]:n}},W=s.useCallback((async(e,t)=>new yt({env:e}).getTransactions({txType:It.BRIDGE,fromAddress:t})),[]),L=s.useCallback((async()=>{if(!d?.walletAddress)return;const e=await W(c.config.environment,d?.walletAddress),t={};return e.result.forEach((e=>{t[e.details.from_token_address]=e.details.from_chain})),{tokens:await D(t),transactions:e.result}}),[d,W]),P=s.useMemo((()=>{const e=[a.METAMASK];return c.passport&&e.push(a.PASSPORT),A&&e.push("walletconnect"),e}),[c,A]);return s.useEffect((()=>{(async()=>{h(!0);const e=await Xe(L,Z);if(!e)return void h(!1);const t=e.transactions.filter((t=>{const s=e.tokens[t.details.from_chain];if(!s)return!1;return!!s[t.details.from_token_address.toLowerCase()]}));m(e.tokens),E(t),h(!1)})()}),[d,c]),s.useEffect((()=>{u({userJourney:k.BRIDGE,screen:"Transactions"})}),[]),o.jsx(J,{testId:"bridge-view",header:o.jsx(q,{showBack:!0,onBackButtonClick:()=>{d&&(l({payload:{type:St.SET_WALLETS_AND_NETWORKS,from:{web3Provider:d?.web3Provider,walletAddress:d?.walletAddress,network:d?.network},to:null}}),l({payload:{type:St.SET_TOKEN_AND_AMOUNT,token:null,amount:""}})),t()},title:x("views.TRANSACTIONS.layoutHeading"),onCloseButtonClick:()=>Lt(r)}),footer:o.jsx(Q,{}),children:o.jsxs(p,{sx:Ot,children:[o.jsxs(p,{sx:Bt,children:[!d?.web3Provider&&o.jsx(Ft,{openWalletDrawer:()=>v(!0)}),d?.web3Provider&&w&&o.jsx(Pt,{}),d?.web3Provider&&!w&&f.length>0&&b&&o.jsx(ns,{checkout:c,transactions:f,knownTokenMap:b,isPassport:y,defaultTokenImage:e,changeWallet:()=>v(!0)}),d?.web3Provider&&!w&&0===f.length&&o.jsx(cs,{checkout:c,isPassport:y,changeWallet:()=>v(!0)})]}),d?.web3Provider&&f.length>0&&o.jsx(p,{sx:Mt,children:o.jsx($t,{checkout:c,isPassport:y})}),o.jsx(Dt,{testId:"select-wallet-drawer",drawerText:{heading:x("views.TRANSACTIONS.walletSelection.heading")},showWalletSelectorTarget:!1,walletOptions:P,showDrawer:T,setShowDrawer:e=>{v(e)},onWalletItemClick:N})]})})}function us({transactionResponse:e}){const{t:t}=n(),{viewDispatch:a}=s.useContext(C),{page:r}=I();return s.useEffect((()=>{r({userJourney:k.BRIDGE,screen:"ClaimWithdrawalInProgress"})}),[]),s.useEffect((()=>{e&&(async()=>{try{const t=await e.wait();if(1===t.status)return void a({payload:{type:R.UPDATE_VIEW,view:{type:He.CLAIM_WITHDRAWAL_SUCCESS,transactionHash:t.transactionHash}}});a({payload:{type:R.UPDATE_VIEW,view:{type:He.CLAIM_WITHDRAWAL_FAILURE,transactionHash:t.transactionHash,reason:"Transaction failed"}}})}catch(e){console.error(e),a({payload:{type:R.UPDATE_VIEW,view:{type:He.CLAIM_WITHDRAWAL_FAILURE,transactionHash:"",reason:"Transaction failed"}}})}})()}),[e]),o.jsx(ee,{loadingText:t("views.CLAIM_WITHDRAWAL.IN_PROGRESS.loading.text"),showFooterLogo:!0})}function xs(e){return e?e.substring(0,6).concat("...").concat(e.substring(e.length-4)):""}const ps={height:"100%",display:"flex",flexDirection:"column",paddingX:"base.spacing.x4"},gs={paddingTop:"base.spacing.x10",paddingBottom:"base.spacing.x4"},ws={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6"},hs={[te.IMTBL_ZKEVM_DEVNET]:"base.color.text.link.primary",[te.IMTBL_ZKEVM_TESTNET]:"base.color.text.link.primary",[te.IMTBL_ZKEVM_MAINNET]:"base.color.text.link.primary",[te.ETHEREUM]:"base.color.accent.5",[te.SEPOLIA]:"base.color.accent.5"},bs=e=>({backgroundColor:hs[e],"& svg":{fill:"base.color.brand.2"}});function ms({testId:e,chainId:t,chainName:s,onNetworkClick:a}){return o.jsxs(r,{testId:`${e}-network-list-${t}`,size:"medium",emphasized:!0,onClick:async()=>{await a(t)},sx:{marginBottom:"base.spacing.x1"},children:[o.jsx(r.FramedIcon,{icon:E[t],circularFrame:!0,sx:bs(t)}),o.jsx(r.Label,{size:"medium",children:s})]})}const fs={[te.IMTBL_ZKEVM_DEVNET]:"base.color.text.link.primary",[te.IMTBL_ZKEVM_TESTNET]:"base.color.text.link.primary",[te.IMTBL_ZKEVM_MAINNET]:"base.color.text.link.primary",[te.ETHEREUM]:"base.color.accent.5",[te.SEPOLIA]:"base.color.accent.5"},Es={position:"relative",width:"100%",backgroundColor:"base.color.translucent.emphasis.100",borderRadius:"base.borderRadius.x4",paddingX:"base.spacing.x3",paddingY:"base.spacing.x5",display:"flex",flexDirection:"row",gap:"base.spacing.x4",alignItems:"center","&:hover":{cursor:"pointer",backgroundColor:"base.color.translucent.emphasis.200"}},Ts={width:"base.icon.size.500",backgroundColor:"base.color.translucent.standard.200",borderRadius:"base.borderRadius.x2"},vs={position:"absolute",top:"14px",left:"38px",width:"28px",padding:"base.spacing.x1",backgroundColor:"base.color.translucent.inverse.900",borderRadius:"base.borderRadius.x2"},ys=e=>({width:"base.icon.size.500",padding:(a.PASSPORT,"base.spacing.x1"),backgroundColor:"base.color.translucent.standard.200",borderRadius:"base.borderRadius.x2"}),Is={color:"base.color.text.body.secondary"},As={paddingY:"base.spacing.x6",borderRadius:"base.borderRadius.x18"},ks=e=>({fill:"base.color.brand.2",width:"base.icon.size.300",backgroundColor:fs[e],borderRadius:"100%",padding:"base.spacing.x1"});function Ss({testId:e,walletProvider:t,walletName:n,walletAddress:r,chainId:i,disableNetworkButton:l=!1,onWalletClick:c,onNetworkClick:d}){const u=se(i),x=function(e){switch(e){case a.METAMASK:return"MetaMask";case a.PASSPORT:return"Passport";case"WalletConnect":return"WalletConnect";default:return"Other"}}(n),h=_t(n),[b,m]=s.useState(void 0),[f,T]=s.useState(!1),{bridgeState:{checkout:v}}=s.useContext(Ct),{isWalletConnectEnabled:y,getWalletLogoUrl:I}=_({checkout:v});return s.useEffect((()=>{y&&(T(N(t)),(async()=>{m(await I())})())}),[y,t]),o.jsxs(p,{testId:`${e}-${n}-${i}-button-wrapper`,sx:Es,onClick:c,children:[f&&b?o.jsxs(o.Fragment,{children:[o.jsx(D,{imageUrl:b,alt:"walletconnect",sx:Ts}),o.jsx(W,{logo:"WalletConnectSymbol",sx:vs})]}):o.jsx(W,{logo:h,sx:ys(n)}),o.jsxs(p,{sx:{display:"flex",flexDirection:"column",flex:1},children:[o.jsx(ae,{size:"xSmall",children:x}),o.jsx(g,{size:"xSmall",sx:Is,children:r})]}),o.jsxs(w,{testId:`${e}-network-${i}-button`,size:"small",disabled:l,onClick:e=>{e.stopPropagation(),d(e)},variant:"tertiary",sx:As,children:[o.jsx(w.Icon,{icon:E[i],sx:ks(i)}),u]})]})}const Cs="wallet-network-selector";function Rs(){const{t:e}=n(),{bridgeState:{checkout:t,from:r,to:l},bridgeDispatch:c}=s.useContext(Ct),{viewDispatch:d}=s.useContext(C),{track:u}=I(),x=U(t.config),g=se(x),h=V(t.config),b=se(h),m=s.useRef(),{isWalletConnectEnabled:f,openWalletConnectModal:E}=_({checkout:t}),[T,v]=s.useState(!1),[y,A]=s.useState(!1),[S,N]=s.useState(),[D,W]=s.useState(),[L,P]=s.useState(""),[O,B]=s.useState(!1),[M,G]=s.useState(),[F,$]=s.useState(),[J,q]=s.useState(""),Q=S&&D,X=M&&F,Y=s.useMemo((()=>S?j(S):null),[S]),Z=s.useMemo((()=>M?j(M):null),[M]),ee=s.useMemo((()=>{const e=[a.METAMASK.toString()];return t.passport&&e.push(a.PASSPORT.toString()),f&&e.push("walletconnect"),e}),[t,f]),te=s.useMemo((()=>{const e=[a.METAMASK.toString()];return t.passport&&D===x&&e.push(a.PASSPORT.toString()),f&&e.push("walletconnect"),e}),[t,D,Y,f]);s.useEffect((()=>{r&&l&&(L!==r?.walletAddress&&u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"FromWallet",controlType:"Select",extras:{walletAddress:r?.walletAddress}}),D!==r?.network&&u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"FromNetwork",controlType:"Select",extras:{chainId:r?.network}}),J!==l?.walletAddress&&u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"ToWallet",controlType:"Select",extras:{walletAddress:l?.walletAddress}}),F!==l?.network&&u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"ToNetwork",controlType:"Select",extras:{chainId:l?.network}}),N(r.web3Provider),P(r.walletAddress.toLowerCase()),W(r.network),G(l.web3Provider),q(l.walletAddress.toLowerCase()),$(l.network),c({payload:{type:St.SET_WALLETS_AND_NETWORKS,from:null,to:null}}))}),[r,l]);const oe=s.useCallback((async e=>{let s;try{return s=await K(t,e),e===a.PASSPORT.toString()&&(m.current=s),s}catch(e){throw console.error(e),e}}),[t]);function re(){G(null),$(null)}const ie=async e=>{N(e);const t=await e.getSigner().getAddress();if(P(t.toLowerCase()),z(e))return W(h),void v(!1);W(null),v(!1),setTimeout((()=>A(!0)),500)},le=s.useCallback((async e=>{let t;if(re(),e===a.PASSPORT.toString()&&m.current)return t=m.current,void await ie(t);if(!t)try{"walletconnect"===e?await E({connectCallback:e=>{ie(new H(e))},restoreSession:!0}):(t=await oe(e),await ie(t))}catch(e){console.error(e)}}),[Y,m.current,E]),ce=s.useCallback((async e=>{S&&(re(),A(!1),W(e))}),[t,S]),de=s.useCallback((()=>{$(D===x?h:x),B(!1)}),[D]),ue=s.useCallback((e=>{G(e),e.getSigner().getAddress().then((e=>{q(e.toLowerCase()),de()}))}),[de]),xe=s.useCallback((async e=>{if(Y===e){G(S);const e=await S.getSigner().getAddress();return q(e.toLowerCase()),void de()}let t;try{if("walletconnect"===e)await E({connectCallback:e=>{const t=new H(e);ue(t),de()}});else{t=e===a.PASSPORT.toString()&&m.current?m.current:await oe(e),G(t);const s=await t.getSigner().getAddress();q(s.toLowerCase()),de()}}catch(e){console.error(e)}}),[Y,S,m.current,de,ue]),pe=s.useCallback((()=>{S&&D&&M&&F&&(c({payload:{type:St.SET_TOKEN_BALANCES,tokenBalances:[]}}),c({payload:{type:St.SET_ALLOWED_TOKENS,allowedTokens:[]}}),c({payload:{type:St.SET_WALLETS_AND_NETWORKS,from:{web3Provider:S,walletAddress:L.toLowerCase(),network:D},to:{web3Provider:M,walletAddress:J.toLowerCase(),network:F}}}),u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"Next",controlType:"Button",extras:{fromWalletAddress:L,fromNetwork:D,fromWallet:{address:L,isPassportWallet:z(S),isMetaMask:ne(S)},toWalletAddress:J,toNetwork:F,toWallet:{address:J,isPassportWallet:z(M),isMetaMask:ne(M)}}}),d({payload:{type:R.UPDATE_VIEW,view:{type:He.BRIDGE_FORM}}}))}),[S,D,L,M,F,J]);return o.jsxs(p,{testId:Cs,sx:ps,children:[o.jsx(ae,{testId:`${Cs}-heading`,size:"small",weight:"regular",sx:gs,children:e("views.WALLET_NETWORK_SELECTION.heading")}),o.jsx(ae,{size:"xSmall",sx:{paddingBottom:"base.spacing.x2"},children:e("views.WALLET_NETWORK_SELECTION.fromFormInput.heading")}),o.jsx(Dt,{testId:`${Cs}-from`,drawerText:{heading:e("views.WALLET_NETWORK_SELECTION.fromFormInput.walletSelectorHeading"),defaultText:e("views.WALLET_NETWORK_SELECTION.fromFormInput.selectDefaultText")},showWalletSelectorTarget:!Q,walletOptions:ee,showDrawer:T,setShowDrawer:v,onWalletItemClick:le}),Q&&Y&&o.jsxs(p,{sx:{display:"flex",flexDirection:"column",gap:"base.spacing.x10"},children:[o.jsx(Ss,{testId:Cs,walletProvider:S,walletName:Y,walletAddress:xs(L),chainId:D,onWalletClick:()=>{v(!0)},onNetworkClick:()=>A(!0)}),o.jsxs(p,{children:[o.jsx(ae,{size:"xSmall",sx:{paddingBottom:"base.spacing.x2"},children:e("views.WALLET_NETWORK_SELECTION.toFormInput.heading")}),o.jsx(Dt,{testId:`${Cs}-to`,drawerText:{heading:e("views.WALLET_NETWORK_SELECTION.toFormInput.walletSelectorHeading"),defaultText:e("views.WALLET_NETWORK_SELECTION.toFormInput.selectDefaultText")},showWalletSelectorTarget:!X,walletOptions:te,showDrawer:O,setShowDrawer:B,onWalletItemClick:xe})]})]}),o.jsx(i,{headerBarTitle:e("views.WALLET_NETWORK_SELECTION.fromFormInput.networkSelectorHeading"),size:"full",onCloseDrawer:()=>{A(!1)},visible:y,children:o.jsxs(i.Content,{sx:{paddingX:"base.spacing.x4"},children:[o.jsx(ms,{testId:Cs,chainName:b,onNetworkClick:ce,chainId:h},b),(Y===a.METAMASK.toString()||"walletconnect"===Y)&&o.jsx(ms,{testId:Cs,chainName:g,onNetworkClick:ce,chainId:x},g)]})}),X&&Z&&o.jsxs(p,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[o.jsx(Ss,{testId:Cs,walletProvider:M,walletName:Z,walletAddress:xs(J),chainId:F,disableNetworkButton:!0,onWalletClick:()=>{B(!0)},onNetworkClick:()=>{}}),o.jsx(p,{sx:ws,children:o.jsx(w,{testId:`${Cs}-submit-button`,size:"large",onClick:pe,children:e("views.WALLET_NETWORK_SELECTION.submitButton.text")})})]})]})}function _s(){const{t:e}=n(),{viewDispatch:t}=s.useContext(C),{eventTargetState:{eventTarget:a}}=s.useContext(F),{page:r}=I();return s.useEffect((()=>{r({userJourney:k.BRIDGE,screen:"WalletNetworkSelection"})}),[]),o.jsx(J,{testId:"bridge-view",header:o.jsx(q,{title:e("views.WALLET_NETWORK_SELECTION.layoutHeading"),onCloseButtonClick:()=>Lt(a),rightActions:o.jsx(oe,{icon:"Minting",sx:re(),onClick:()=>{t({payload:{type:R.UPDATE_VIEW,view:{type:He.TRANSACTIONS}}})},testId:"move-transactions-button"})}),footer:o.jsx(Q,{}),children:o.jsx(Rs,{})})}function js(e,t){return e&&0!==parseFloat(e)?t&&Number(e)>Number(t)?"views.BRIDGE_FORM.validation.insufficientBalance":"":"views.BRIDGE_FORM.validation.noAmountInputted"}const Ns={height:"100%",display:"flex",flexDirection:"column",justifyContent:"space-between",paddingTop:"base.spacing.x10"},Ds={paddingTop:"base.spacing.x4",display:"flex",gap:"base.spacing.x1"},Ws={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6",paddingX:"base.spacing.x4"},Ls={display:"flex",flexDirection:"column",alignItems:"center",paddingTop:"base.spacing.x6",paddingBottom:"base.spacing.x1",height:"100%"},Ps={color:"base.color.text.body.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"15px"},Os={display:"flex",flexDirection:"column",justifyContent:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},Bs={width:"100%",height:"base.spacing.x16"},Ms={display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",paddingTop:"base.spacing.x6"};function Gs({environment:e,onCloseDrawer:t,visible:a,showHeaderBar:r,walletAddress:l,showAdjustAmount:c,tokenSymbol:d,onAddCoinsClick:u}){const{t:x}=n(),[h,b]=s.useState(!1),m=ie(e),f=le(e),E=d===ce?`${x("drawers.notEnoughGas.content.eth.heading")}`:`${x("drawers.notEnoughGas.content.imx.heading")}`,T=d===ce?`${x("drawers.notEnoughGas.content.eth.body")}`:`${x("drawers.notEnoughGas.content.imx.body")}`,v=s.useCallback((()=>{l&&""!==l&&navigator.clipboard.writeText(l),b(!0),setTimeout((()=>{b(!1)}),3e3)}),[l]);return o.jsx(i,{headerBarTitle:void 0,size:"full",onCloseDrawer:t,visible:a,showHeaderBar:r,children:o.jsx(i.Content,{children:o.jsxs(p,{testId:"not-enough-gas-bottom-sheet",sx:Ls,children:[o.jsx(de,{imageUrl:d===ce?m:f,sx:{w:"base.icon.size.600",h:"base.icon.size.600"}}),o.jsx(ae,{size:"small",sx:Ps,testId:"not-enough-gas-heading",children:E}),o.jsx(g,{sx:Ps,children:T}),o.jsxs(p,{sx:Os,children:[c&&o.jsx(w,{testId:"not-enough-gas-adjust-amount-button",sx:Bs,variant:"tertiary",onClick:t,children:x("drawers.notEnoughGas.buttons.adjustAmount")}),d===ce?o.jsxs(w,{testId:"not-enough-gas-copy-address-button",sx:Bs,variant:"tertiary",onClick:v,children:[x("drawers.notEnoughGas.buttons.copyAddress"),o.jsx(w.Icon,{icon:h?"Tick":"CopyText"})]}):o.jsx(w,{testId:"not-enough-gas-add-imx-button",sx:Bs,variant:"tertiary",onClick:u,children:x("drawers.notEnoughGas.buttons.addMoreImx")}),o.jsx(w,{sx:Bs,variant:"tertiary",onClick:t,testId:"not-enough-gas-cancel-button",children:x("drawers.notEnoughGas.buttons.cancel")})]}),o.jsx(p,{sx:Ms,children:o.jsx(W,{testId:"footer-logo-image",logo:"ImmutableHorizontalLockup",sx:{width:"base.spacing.x25"}})})]})})})}function Fs({sx:e}){return o.jsxs(p,{sx:{...e,paddingTop:"0",marginTop:"base.spacing.x4"},rc:o.jsx("div",{}),children:[o.jsx(p,{sx:{display:"flex",backgroundColor:"#F3F3F30A",borderRadius:"8px"},children:o.jsx(p,{sx:{minw:"170px",height:"64px",WebkitMaskPosition:"left center",WebkitMaskRepeat:"no-repeat",WebkitMaskSize:"contain",WebkitMaskImage:'url(\'data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path d="M154.75 39q1.65 0 2.85-1.15 1.15-1.15 1.15-2.85v-4q0-1.65-1.15-2.8-1.2-1.2-2.85-1.2h-93.6q-2.3 0-3.85 1.2-1.55 1.15-1.55 2.8v4q0 1.7 1.55 2.85Q58.85 39 61.15 39h93.6m-111.7-3.35q.2-1.3.2-2.65 0-1.35-.2-2.65-.75-4.9-4.5-8.65-4.7-4.7-11.3-4.7-6.65 0-11.3 4.7-4.7 4.7-4.7 11.3 0 6.65 4.7 11.3Q20.6 49 27.25 49q6.6 0 11.3-4.7 3.75-3.7 4.5-8.65Z" id="a"/></svg>\')'},rc:o.jsx("span",{}),children:o.jsx(x,{rc:o.jsx("span",{})})})}),o.jsx(p,{sx:{display:"flex",width:"100%",backgroundColor:"#F3F3F30A",borderRadius:"8px"},children:o.jsx(p,{sx:{width:"100%",height:"64px",WebkitMaskPosition:"right center",WebkitMaskRepeat:"no-repeat",WebkitMaskSize:"contain",WebkitMaskImage:'url(\'data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" width="196" height="96"><path d="M182.85 55.2Q181.65 54 180 54h-56q-1.7 0-2.85 1.2Q120 56.35 120 58v4q0 1.7 1.15 2.85Q122.3 66 124 66h56q1.65 0 2.85-1.15Q184 63.7 184 62v-4q0-1.65-1.15-2.8m0-22Q181.65 32 180 32H68q-1.7 0-2.85 1.2Q64 34.35 64 36v8q0 1.7 1.15 2.85Q66.3 48 68 48h112q1.65 0 2.85-1.15Q184 45.7 184 44v-8q0-1.65-1.15-2.8Z" id="a"/></svg>\')'},rc:o.jsx("span",{}),children:o.jsx(x,{rc:o.jsx("span",{})})})})]})}function zs(e){const{t:t}=n(),{bridgeDispatch:a,bridgeState:{tokenBalances:r,allowedTokens:i,checkout:l,from:c,to:d,amount:u,token:x}}=s.useContext(Ct),{cryptoFiatState:g,cryptoFiatDispatch:h}=s.useContext(Ke),{viewDispatch:b}=s.useContext(C),{testId:m,defaultAmount:f,defaultTokenAddress:E,isTokenBalancesLoading:T,defaultTokenImage:v}=e,{track:y}=I(),[A,S]=s.useState(f||""),[_,j]=s.useState(""),[N,D]=s.useState(),[W,L]=s.useState(""),[O,B]=s.useState(""),[M,F]=s.useState(!1),z=s.useRef(!1),$=N?`${t("views.BRIDGE_FORM.content.availableBalancePrefix")} ${ue(N?.formattedBalance)}`:"",[V,H]=s.useState([]),[K,J]=s.useState(!1),[q,Q]=s.useState(""),[X,Y]=s.useState(!1),Z=s.useCallback(((e,t)=>t?`${e.toLowerCase()}-${t.toLowerCase()}`:e.toLowerCase()),[]);s.useEffect((()=>{if(0===r.length)return;const e=r.filter((e=>e.balance.gt(0))).map((e=>({id:Z(e.token.symbol,e.token.address),name:e.token.name,symbol:e.token.symbol,icon:e.token.icon,balance:{formattedFiatAmount:0===g.conversions.size?xe(""):G(e.formattedBalance,e.token.symbol,g.conversions),formattedAmount:ue(e.formattedBalance)}})));H(e),z.current||(z.current=!0,E&&D(r.find((e=>P(e.token.address)&&E?.toLocaleUpperCase()===pe||e.token.address?.toLowerCase()===E?.toLowerCase()))))}),[r,g.conversions,E,z.current,Z,xe]),s.useEffect((()=>{if(u&&x){S(u);for(let e=0;e<r.length;e++){const t=r[e];if(t.token.address===x.address){D(t);break}}a({payload:{type:St.SET_TOKEN_AND_AMOUNT,token:null,amount:""}})}}),[u,x,r]);const ee=s.useMemo((()=>N&&N.token?Z(N.token.symbol,N.token.address):void 0),[N,r,g.conversions,Z]),te=s.useMemo((()=>!r.find((e=>P(e.token.address)))),[r,N,A]),se=e=>{let t=e;if("."===t&&(t="0."),S(t),_){const e=js(t,N?.formattedBalance);j(e)}var s;N&&(B(G(t,N.token.symbol,g.conversions)),s=!0,Number.isNaN(parseFloat(A))||parseFloat(A)<=0||!N||!c||!c.walletAddress||!d||!d.walletAddress||s&&M||!l||F(!0))};s.useEffect((()=>{h({payload:{type:Je.SET_TOKEN_SYMBOLS,tokenSymbols:i.map((e=>e.symbol))}})}),[h,i]),s.useEffect((()=>{A&&N&&B(G(A,N.token.symbol,g.conversions))}),[A,N]),s.useEffect((()=>{(async()=>{if(!c?.web3Provider)return;const e=await c.web3Provider.getSigner().getAddress();Q((t=>(""!==t&&t!==e&&D(void 0),e)))})()}),[c?.web3Provider,r]);const ne=s.useCallback((()=>{const e=N?"":"views.BRIDGE_FORM.validation.noTokenSelected";const t=js(A,N?.formattedBalance);return e&&L(e),t&&j(t),!e&&!t}),[N,A,L,j]),oe=s.useCallback((async()=>{ne()&&l&&c?.web3Provider&&N&&(te?J(!0):(y({userJourney:k.BRIDGE,screen:"TokenAmount",control:"Review",controlType:"Button",extras:{tokenAddress:N.token.address,amount:A}}),a({payload:{type:St.SET_TOKEN_AND_AMOUNT,token:N.token,amount:A}}),b({payload:{type:R.UPDATE_VIEW,view:{type:He.BRIDGE_REVIEW}}})))}),[l,c?.web3Provider,ne,te,N]);return o.jsxs(p,{testId:m,sx:Ns,children:[o.jsxs(p,{sx:{paddingX:"base.spacing.x4"},children:[o.jsx(ae,{testId:`${m}-content-heading`,size:"small",weight:"regular",sx:{paddingBottom:"base.spacing.x4"},children:t("views.BRIDGE_FORM.content.title")}),(!E||!T)&&o.jsxs(p,{sx:Ds,children:[o.jsx(et,{testId:"bridge-token",options:V,optionsLoading:T,coinSelectorHeading:t("views.BRIDGE_FORM.bridgeForm.from.selectorTitle"),selectedOption:ee,subtext:$,textAlign:"left",errorMessage:t(W),onSelectChange:e=>(e=>{const t=r.find((t=>e===Z(t.token.symbol,t.token.address)));t&&(D(t),L(""))})(e),defaultTokenImage:v}),o.jsx(tt,{testId:"bridge-amount",type:"number",value:A,placeholder:t("views.BRIDGE_FORM.bridgeForm.from.inputPlaceholder"),subtext:`${t("views.BRIDGE_FORM.content.fiatPricePrefix")} $${xe(O,!0)}`,validator:ge,onTextInputChange:e=>se(e),onTextInputEnter:oe,textAlign:"right",errorMessage:t(_)})]}),E&&T&&o.jsx(Fs,{sx:Ds})]}),o.jsxs(p,{sx:Ws,children:[o.jsx(w,{testId:`${m}-button`,variant:"primary",onClick:oe,size:"large",children:t("views.BRIDGE_FORM.bridgeForm.buttonText")}),o.jsx(st,{visible:X,showHeaderBar:!1,onCloseDrawer:()=>Y(!1),onRetry:async()=>{Y(!1),await oe()}}),o.jsx(Gs,{environment:l.config.environment,visible:K,showHeaderBar:!1,onCloseDrawer:()=>J(!1),walletAddress:q,showAdjustAmount:P(N?.token.address),tokenSymbol:c?.network===U(l?.config)?ce:we,onAddCoinsClick:()=>{b({payload:{type:R.UPDATE_VIEW,view:{type:he.TOP_UP_VIEW}}})}})]})]})}const Us=1e4;function $s({amount:e,tokenAddress:t,defaultTokenImage:a}){const{t:r}=n(),{bridgeState:i,bridgeDispatch:l}=s.useContext(Ct),{checkout:c,from:d}=i,{eventTargetState:{eventTarget:u}}=s.useContext(F),[x,p]=s.useState(!1),{page:g}=I();s.useEffect((()=>{(e||t)&&g({userJourney:k.BRIDGE,screen:"TokenAmount",extras:{amount:e,tokenAddress:t}})}),[]);const w=s.useCallback((async()=>{if(c&&d?.web3Provider)try{const e=await at({checkout:c,provider:d.web3Provider,chainId:d?.network,allowTokenListType:$.BRIDGE,retryPolicy:{retryIntervalMs:0,retries:0}});if(void 0===e)return;l({payload:{type:St.SET_TOKEN_BALANCES,tokenBalances:e.allowedBalances}}),l({payload:{type:St.SET_ALLOWED_TOKENS,allowedTokens:e.allowList.tokens}})}catch(e){console.debug(e)}}),[c,d?.web3Provider,d?.network]);return Ye(w,Us),s.useEffect((()=>{c&&d?.web3Provider&&(p(!0),w().finally((()=>p(!1))))}),[c,d?.web3Provider]),o.jsx(J,{testId:"bridge-view",header:o.jsx(q,{showBack:!0,title:r("views.BRIDGE_FORM.header.title"),onCloseButtonClick:()=>Lt(u)}),footer:o.jsx(Q,{}),children:o.jsx(zs,{testId:"bridge-form",defaultAmount:e,defaultTokenAddress:t,isTokenBalancesLoading:x,defaultTokenImage:a})})}const Vs={borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px",marginBottom:"2px",position:"relative"},Hs={borderTopLeftRadius:"0px",borderTopRightRadius:"0px",backgroundColor:"base.color.translucent.emphasis.100",position:"relative"},Ks={width:"base.icon.size.400"},Js={position:"absolute",top:"2px",left:"26px",width:"20px",padding:"2px",backgroundColor:"base.color.translucent.inverse.900",borderRadius:"base.borderRadius.x2"},qs={height:"100%",display:"flex",flexDirection:"column",paddingX:"base.spacing.x4"},Qs={paddingTop:"base.spacing.x10",paddingBottom:"base.spacing.x4"},Xs={display:"flex",flexDirection:"column",alignItems:"center",paddingY:"base.spacing.x1"},Ys={width:"base.icon.size.300",transform:"rotate(270deg)"},Zs={width:"base.icon.size.400"},ea=(e,t,s)=>{const a=[];if(!e?.fees||!e.token)return a;let n=be.from(0);if(e.fees.bridgeFee&&(n=n.add(e.fees.bridgeFee)),e.fees.imtblFee&&(n=n.add(e.fees.imtblFee)),n.gt(0)&&a.push({label:s("drawers.feesBreakdown.fees.serviceFee.label"),fiatAmount:`~ ${s("drawers.feesBreakdown.fees.fiatPricePrefix")}${G(me(n,e.token.decimals),e.token.symbol,t.conversions)}`,amount:ue(me(n,e.token.decimals))}),e.fees.sourceChainGas?.gt(0)){const n=me(e.fees.sourceChainGas,e.token.decimals);a.push({label:s("drawers.feesBreakdown.fees.gasFeeMove.label"),fiatAmount:`~ ${s("drawers.feesBreakdown.fees.fiatPricePrefix")}${G(n,e.token.symbol,t.conversions)}`,amount:`${ue(n)}`,prefix:"~ "})}if(e.fees.approvalFee?.gt(0)){const n=me(e.fees.approvalFee,e.token.decimals);a.push({label:s("drawers.feesBreakdown.fees.gasFeeApproval.label"),fiatAmount:`~ ${s("drawers.feesBreakdown.fees.fiatPricePrefix")}${G(n,e.token.symbol,t.conversions)}`,amount:`${ue(n)}`,prefix:"~ "})}return a},ta="bridge-review-summary";function sa(){const{t:e}=n(),{viewDispatch:t}=s.useContext(C),{bridgeState:{checkout:a,tokenBridge:i,from:l,to:c,token:d,amount:u},bridgeDispatch:x}=s.useContext(Ct),{track:h}=I(),{cryptoFiatState:b}=s.useContext(Ke),[m,T]=s.useState(!1),[v,y]=s.useState(void 0),[A,S]=s.useState(""),[D,L]=s.useState(""),[P,O]=s.useState(void 0),[B,M]=s.useState(void 0),[F,U]=s.useState(!1),[$,V]=s.useState(void 0),[K,J]=s.useState(void 0),[q,Q]=s.useState(!1),[X,Y]=s.useState(!1),{isWalletConnectEnabled:Z,getWalletLogoUrl:ee}=_({checkout:a}),te=s.useMemo((()=>d?.symbol?`${d?.symbol} ${u}`:`${u}`),[d,u]),se=s.useMemo((()=>u&&d?G(u,d.symbol,b.conversions):""),[d,u]),oe=s.useMemo((()=>l?l.walletAddress:"-"),[l]),re=s.useMemo((()=>j(l?.web3Provider)),[l]),ie=s.useMemo((()=>l&&l.network),[l]),le=_t(re),ce=s.useMemo((()=>c?c.walletAddress:"-"),[c]),de=s.useMemo((()=>j(c?.web3Provider)),[c]),ue=s.useMemo((()=>c?.network),[c]),xe=_t(de),ge=s.useCallback((async()=>{if(!(i&&u&&l&&c&&d))return;const[e,t]=await Promise.all([i.getUnsignedApproveBridgeTx({senderAddress:oe,token:d.address??pe.toUpperCase(),amount:fe(u,d.decimals),sourceChainId:l?.network.toString(),destinationChainId:c?.network.toString()}),i.getUnsignedBridgeTx({senderAddress:oe,recipientAddress:ce,token:d.address??pe.toUpperCase(),amount:fe(u,d.decimals),sourceChainId:l?.network.toString(),destinationChainId:c?.network.toString(),gasMultiplier:1.1})]);O(e),M(t);const s=t.feeData,{totalFees:n,approvalFee:o}=s;let r=n;e.unsignedTx||(r=n.sub(o),s.approvalFee=be.from(0));const x={gasEstimateType:Ee.BRIDGE_TO_L2,fees:{...s,totalFees:r},token:a.config.networkMap.get(l.network)?.nativeCurrency};y(x);const p=me(x?.fees.totalFees||0,Ie);S(p),L(G(p,x?.token?.symbol||"",b.conversions))}),[a,i]);Ye((()=>ge()),Te);const we=s.useCallback((()=>ea(v,b,e)),[v]);s.useEffect((()=>{(async()=>{T(!0),await ge(),T(!1)})()}),[]);const he=s.useCallback((e=>{x({payload:{type:St.SET_WALLETS_AND_NETWORKS,from:{web3Provider:e,walletAddress:l?.walletAddress,network:l?.network},to:{web3Provider:c?.web3Provider,walletAddress:c?.walletAddress,network:c?.network}}})}),[l?.web3Provider,l?.network,c?.web3Provider,c?.network]);s.useEffect((()=>{if(!l?.web3Provider)return;const e=()=>{const e=new H(l?.web3Provider.provider);he(e),U(!1)};return ve(l?.web3Provider,e),()=>{ye(l?.web3Provider,e)}}),[l?.web3Provider]),s.useEffect((()=>{Z&&(Q(N(l?.web3Provider)),Y(N(c?.web3Provider)),(async()=>{V(await ee()),J(await ee())})())}),[Z,l,c]);const Ae=s.useCallback((async()=>{if(P&&B){try{const e=await(l?.web3Provider.provider).request({method:"eth_chainId",params:[]});if(parseInt(e.toString())!==l?.network)return void U(!0)}catch(e){console.error("Current network check failed",e)}h({userJourney:k.BRIDGE,screen:"Summary",control:"Submit",controlType:"Button",extras:{fromWalletAddress:oe,fromNetwork:ie,fromWallet:{address:oe,isPassportWallet:z(l?.web3Provider),isMetaMask:ne(l?.web3Provider)},toWalletAddress:ce,toNetwork:ue,toWallet:{address:ce,isPassportWallet:z(c?.web3Provider),isMetaMask:ne(c?.web3Provider)},amount:u,fiatAmount:se,tokenAddress:d?.address}}),t({payload:{type:R.UPDATE_VIEW,view:{type:He.APPROVE_TRANSACTION,approveTransaction:P,transaction:B}}})}}),[t,P,B,l?.web3Provider,l?.network]);return o.jsxs(p,{testId:ta,sx:qs,children:[o.jsx(ae,{testId:`${ta}-heading`,size:"small",weight:"regular",sx:Qs,children:e("views.BRIDGE_REVIEW.heading")}),o.jsxs(r,{testId:`${ta}-from-amount`,size:"small",emphasized:!0,sx:Vs,children:[o.jsx(r.Label,{size:"small",sx:{marginBottom:"base.spacing.x4",fontWeight:"bold"},children:e("views.BRIDGE_REVIEW.fromLabel.amountHeading")}),o.jsx(r.Caption,{}),o.jsx(r.PriceDisplay,{use:o.jsx(ae,{size:"xSmall",weight:"light"}),price:te??"-",fiatAmount:`${e("views.BRIDGE_REVIEW.fiatPricePrefix")}${se}`})]}),o.jsxs(r,{testId:`${ta}-from-address`,size:"xSmall",emphasized:!0,sx:Hs,children:[q&&$&&o.jsxs(o.Fragment,{children:[o.jsx(r.FramedImage,{imageUrl:$,alt:"walletconnect",sx:Ks}),o.jsx(W,{logo:"WalletConnectSymbol",sx:Js})]}),re&&!q&&o.jsx(r.FramedLogo,{logo:le,sx:{backgroundColor:"base.color.translucent.standard.200"}}),o.jsxs(r.Label,{children:[o.jsx("strong",{children:e("views.BRIDGE_REVIEW.fromLabel.heading")})," ",o.jsx(g,{size:"small",sx:{color:"base.color.text.body.secondary"},children:xs(oe??"")})]}),ie&&o.jsx(r.IntentIcon,{icon:E[ie],sx:ks(ie)})]}),o.jsx(p,{sx:Xs,children:o.jsx(f,{icon:"ArrowBackward",sx:Ys})}),o.jsxs(r,{testId:`${ta}-to-address`,size:"xSmall",emphasized:!0,sx:Vs,children:[de&&X&&K&&o.jsxs(o.Fragment,{children:[o.jsx(r.FramedImage,{imageUrl:K,alt:"walletconnect",sx:Ks}),o.jsx(W,{logo:"WalletConnectSymbol",sx:Js})]}),de&&!X&&o.jsx(r.FramedLogo,{logo:xe,sx:{backgroundColor:"base.color.translucent.standard.200"}}),o.jsxs(r.Label,{children:[o.jsx("strong",{children:e("views.BRIDGE_REVIEW.toLabel.heading")})," ",o.jsx(g,{size:"small",sx:{color:"base.color.text.body.secondary"},children:xs(ce??"")})]}),ue&&o.jsx(r.IntentIcon,{icon:E[ue],sx:ks(ue)})]}),o.jsx(nt,{gasFeeValue:A,gasFeeFiatValue:D,gasFeeToken:v?.token,fees:we(),onFeesClick:()=>{h({userJourney:k.BRIDGE,screen:"MoveCoins",control:"ViewFees",controlType:"Button"})},sx:{borderTopRightRadius:"0",borderTopLeftRadius:"0"},loading:m}),o.jsx(p,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"flex-end",paddingY:"base.spacing.x6",width:"100%"},children:o.jsx(w,{size:"large",sx:{width:"100%"},onClick:Ae,disabled:m,testId:`${ta}__submit-button`,children:m?o.jsx(w.Icon,{icon:"Loading",sx:Zs}):e("views.BRIDGE_REVIEW.submitButton.buttonText")})}),o.jsx(ot,{visible:F,targetChainId:l?.network,provider:l?.web3Provider,checkout:a,onCloseDrawer:()=>U(!1),onNetworkSwitch:he})]})}function aa(){const{t:e}=n(),{eventTargetState:{eventTarget:t}}=s.useContext(F),{page:a}=I();return s.useEffect((()=>{a({userJourney:k.BRIDGE,screen:"Review"})}),[]),o.jsx(J,{testId:"bridge-review",header:o.jsx(q,{showBack:!0,title:e("views.BRIDGE_REVIEW.layoutHeading"),onCloseButtonClick:()=>Lt(t)}),footer:o.jsx(Q,{}),children:o.jsx(sa,{})})}function na({environment:e}){const{RiveComponent:t}=Ae.useRive({src:`${ke[e]}/v1/blob/img/rocket.riv`,autoplay:!0,layout:new Ae.Layout({fit:Ae.Fit.Cover}),stateMachines:"State Machine 1"});return o.jsx(p,{sx:{...Se,background:"base.color.translucent.emphasis.100"},children:o.jsx(p,{sx:Ce,rc:o.jsx(t,{})})})}function oa({transactionHash:e}){const{t:t}=n(),{eventTargetState:{eventTarget:a}}=s.useContext(F),{page:r}=I(),{cryptoFiatState:i}=s.useContext(Ke),{viewDispatch:l}=s.useContext(C),{bridgeState:{checkout:c,from:d,to:u,token:x,amount:p}}=s.useContext(Ct);return s.useEffect((()=>{Wt(a,e);const t=G(p,x?.symbol??"",i.conversions);r({userJourney:k.BRIDGE,screen:"InProgress",extras:{fromWalletAddress:d?.walletAddress,toWalletAddress:u?.walletAddress,amount:p,fiatAmount:t,tokenAddress:x?.address}})}),[]),o.jsx(J,{testId:"move-in-progress-view",header:o.jsx(q,{transparent:!0,onCloseButtonClick:()=>Lt(a),rightActions:o.jsxs(o.Fragment,{children:[o.jsx(oe,{icon:"Minting",sx:re(),onClick:()=>{l({payload:{type:R.UPDATE_VIEW,view:{type:He.TRANSACTIONS}}})},testId:"settings-button"}),o.jsx(Re,{isAnimated:!0,variant:"guidance",sx:{position:"absolute",right:"base.spacing.x14",top:"base.spacing.x1"}})]})}),footer:o.jsx(Q,{}),heroContent:o.jsx(na,{environment:c.config.environment}),floatHeader:!0,children:o.jsxs(_e,{heading:t("views.IN_PROGRESS.heading"),children:[t("views.IN_PROGRESS.body1"),o.jsx("br",{}),o.jsx("br",{}),t("views.IN_PROGRESS.body2")]})})}function ra({approveTransaction:e,transaction:t}){const{t:a}=n(),{bridgeState:r}=s.useContext(Ct),{checkout:i,from:l}=r,{viewDispatch:c}=s.useContext(C),{eventTargetState:{eventTarget:d}}=s.useContext(F),{page:u}=I();s.useEffect((()=>{u({userJourney:k.BRIDGE,screen:"ApproveTransaction"})}),[]);const[x,g]=s.useState(!1),[w,h]=s.useState(!1),[b,m]=s.useState(!1),[f,E]=s.useState(!1),T=s.useCallback((()=>{c({payload:{type:R.UPDATE_VIEW,view:{type:he.ERROR_VIEW,error:new Error("No checkout object or no provider object found")}}})}),[c]),v=s.useCallback((()=>{c({payload:{type:R.GO_BACK}})}),[c]),y=e=>{if(e.type!==je.UNPREDICTABLE_GAS_LIMIT){if(e.type===je.TRANSACTION_FAILED||e.type===je.INSUFFICIENT_FUNDS||e.receipt&&0===e.receipt.status){let t="Transaction failed";return e.type===je.INSUFFICIENT_FUNDS&&(t="Insufficient funds"),e.receipt&&0===e.receipt.status&&(t="Transaction failed to settle on chain"),void c({payload:{type:R.UPDATE_VIEW,view:{type:He.BRIDGE_FAILURE,reason:t}}})}c({payload:{type:R.UPDATE_VIEW,view:{type:he.ERROR_VIEW,error:e}}})}else c({payload:{type:R.UPDATE_VIEW,view:{type:He.BRIDGE_FAILURE,reason:"Unpredictable gas limit"}}})},A=s.useCallback((async()=>{let s=!1;if(i&&l?.web3Provider&&t){if(!x){if(g(!0),e.unsignedTx)try{h(!0);const t=await i.sendTransaction({provider:l.web3Provider,transaction:e.unsignedTx});if(1!==(await t.transactionResponse.wait()).status)return void c({payload:{type:R.UPDATE_VIEW,view:{type:He.BRIDGE_FAILURE,reason:"Transaction failed to settle on chain"}}})}catch(e){h(!1),e.type===je.USER_REJECTED_REQUEST_ERROR?(E(!0),s=!0):y(e)}finally{g(!1)}try{if(s)return;h(!0);const e=await i.sendTransaction({provider:l.web3Provider,transaction:t.unsignedTx});m(!0);const a=await e.transactionResponse.wait();if(0===a.status)return void c({payload:{type:R.UPDATE_VIEW,view:{type:He.BRIDGE_FAILURE,reason:"Approval transaction failed to settle on chain"}}});c({payload:{type:R.UPDATE_VIEW,view:{type:He.IN_PROGRESS,transactionHash:a.transactionHash}}})}catch(e){e.type===je.USER_REJECTED_REQUEST_ERROR?E(!0):y(e)}finally{m(!1),h(!1),g(!1)}}}else T()}),[i,l,T,c,t,e,x]);return o.jsxs(o.Fragment,{children:[b&&o.jsx(ee,{loadingText:a("views.APPROVE_TRANSACTION.loadingView.text"),showFooterLogo:!0}),!b&&o.jsx(J,{header:o.jsx(q,{transparent:!0,showBack:!0,onCloseButtonClick:()=>Lt(d),onBackButtonClick:v}),floatHeader:!0,heroContent:o.jsx(rt,{}),footer:o.jsxs(p,{sx:{width:"100%",flexDirection:"column"},children:[o.jsx(Ne,{loading:w,actionText:a("views.APPROVE_TRANSACTION."+(f?"footer.retryText":"footer.buttonText")),onActionClick:A}),o.jsx(Q,{})]}),children:o.jsx(_e,{heading:a("views.APPROVE_TRANSACTION.content.heading"),children:o.jsx(p,{children:a("views.APPROVE_TRANSACTION.content.body")})})})]})}const ia={display:"flex",flexDirection:"column",alignItems:"center",paddingTop:"base.spacing.x6",paddingBottom:"base.spacing.x1",height:"100%"},la={color:"base.color.text.body.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"15px"},ca={display:"flex",flexDirection:"column",justifyContent:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},da={width:"100%",height:"base.spacing.x16"};function ua({visible:e,onClose:t,onChangeAccount:a}){const{t:r}=n(),{bridgeState:{checkout:l}}=s.useContext(Ct),c=ie(l.config.environment);return o.jsx(i,{headerBarTitle:void 0,size:"full",onCloseDrawer:t,visible:e,showHeaderBar:!1,children:o.jsx(i.Content,{children:o.jsxs(p,{testId:"not-enough-eth-drawer",sx:ia,children:[o.jsx(de,{imageUrl:c,sx:{w:"base.icon.size.600",h:"base.icon.size.600"}}),o.jsx(ae,{size:"small",sx:la,testId:"not-enough-gas-heading",children:`${r("drawers.notEnoughEthWithdrawal.content.heading1")} ${ce} ${r("drawers.notEnoughEthWithdrawal.content.heading2")}`}),o.jsx(g,{sx:la,children:`${r("drawers.notEnoughEthWithdrawal.content.body1")} ${ce} ${r("drawers.notEnoughEthWithdrawal.content.body2")}`}),o.jsxs(p,{sx:ca,children:[o.jsx(w,{testId:"not-enough-eth-drawer-retry-button",sx:da,variant:"tertiary",onClick:a,children:r("drawers.notEnoughEthWithdrawal.buttons.retry")}),o.jsx(w,{sx:da,variant:"tertiary",onClick:t,testId:"not-enough-eth-drawer-dismiss-button",children:r("drawers.notEnoughEthWithdrawal.buttons.dismiss")})]})]})})})}function xa({transaction:e}){const{t:t}=n(),{bridgeState:{checkout:r,tokenBridge:i,from:l}}=s.useContext(Ct),{viewDispatch:c}=s.useContext(C),{eventTargetState:{eventTarget:d}}=s.useContext(F),{page:u}=I();s.useEffect((()=>{u({userJourney:k.BRIDGE,screen:"ClaimWithdrawal"})}),[]);const[x,g]=s.useState(!1),[h,b]=s.useState(!1),[m,f]=s.useState(!1),[E,T]=s.useState(),[v,A]=s.useState(!1),S=s.useCallback((()=>{c({payload:{type:R.GO_BACK}})}),[c]);s.useEffect((()=>{(async()=>{if(i&&e&&void 0!==e.details.current_status?.index){b(!0);try{const t=await(i?.getFlowRateWithdrawTx({recipient:e.details.to_address,index:e.details.current_status.index}));T(t)}catch(e){console.log(e)}finally{b(!1)}}})()}),[i,e]);const _=s.useCallback((async({forceChangeAccount:e})=>{if(!(r&&i&&l?.web3Provider&&E))return;if(!E.pendingWithdrawal.canWithdraw||!E.unsignedTx)return void console.log(`Unable to process withdrawal transaction as it is not ready yet. Delay timeout at ${E.pendingWithdrawal.timeoutEnd} `);let t=l?.web3Provider;const s=U(r.config);if(g(!0),z(l?.web3Provider)||e)try{const e=await r.createProvider({walletProviderName:a.METAMASK});t=(await r.connect({provider:e.provider,requestWalletPermissions:!0})).provider,A(!1)}catch(e){return console.log(e),f(!0),void g(!1)}let n,o=null;try{try{n=await t.estimateGas(E.unsignedTx)}catch(e){n=be.from(De)}let e=null;try{e=await t.getFeeData()}catch(e){console.log(e)}let s=null;e&&e.lastBaseFeePerGas&&e.maxPriorityFeePerGas?s=e.lastBaseFeePerGas.add(e.maxPriorityFeePerGas):e&&e.gasPrice&&(s=e.gasPrice),s&&(o=n.mul(s))}catch(e){console.log(e)}try{const e=(await r.getAllBalances({provider:t,chainId:s})).balances.find((e=>P(e.token.address)));if(!e||e.balance.lt(o))return A(!0),void g(!1)}catch(e){console.log(e)}if((await t.getNetwork()).chainId!==s)try{t=(await r.switchNetwork({provider:t,chainId:s})).provider}catch(e){return f(!0),b(!1),void console.log(e)}try{const e=await r.sendTransaction({provider:t,transaction:E.unsignedTx});c({payload:{type:R.UPDATE_VIEW,view:{type:He.CLAIM_WITHDRAWAL_IN_PROGRESS,transactionResponse:e.transactionResponse}}})}catch(e){console.log(e),f(!0),g(!1)}finally{g(!1)}}),[i,l,E]);return o.jsxs(J,{testId:"claim-withdrawal",header:o.jsx(q,{transparent:!0,showBack:!0,onCloseButtonClick:()=>Lt(d),onBackButtonClick:S}),floatHeader:!0,heroContent:o.jsx(rt,{}),footer:o.jsxs(p,{sx:{width:"100%",display:"flex",flexDirection:"column"},children:[o.jsx(p,{sx:{pb:"base.spacing.x5",px:"base.spacing.x6",width:"100%",display:"flex",flexDirection:"column"},children:o.jsx(w,{testId:"claim-withdrawal-continue-button",size:"large",variant:"primary",disabled:h,onClick:()=>x||h?void 0:_({forceChangeAccount:!0}),children:h||x?o.jsx(w.Icon,{icon:"Loading",sx:{width:"base.icon.size.400"}}):t("views.CLAIM_WITHDRAWAL."+(m?"footer.retryText":"footer.buttonText"))})}),o.jsx(Q,{})]}),children:[o.jsxs(_e,{heading:`${t("views.CLAIM_WITHDRAWAL.content.heading")} ${se(U(r.config))}`,children:[o.jsx(p,{sx:{display:"flex",flexWrap:"wrap",pb:"base.spacing.x1"},children:t("views.CLAIM_WITHDRAWAL.content.body")}),o.jsxs(p,{children:[t("views.CLAIM_WITHDRAWAL.content.body2"),o.jsx(y,{text:e.details.to_address.toLowerCase()??""})]})]}),o.jsx(ua,{visible:v,onClose:()=>A(!1),onChangeAccount:()=>_({forceChangeAccount:!0})})]})}function pa({checkout:e,web3Provider:t,config:a,amount:r,tokenAddress:i}){const{t:l}=n(),{environment:u,isOnRampEnabled:x,isSwapEnabled:p,isBridgeEnabled:g,theme:w}=a,h=We(e.config.environment,w),{eventTargetState:{eventTarget:b}}=s.useContext(F),{page:m}=I(),[f,E]=s.useReducer(Le,{...Pe,view:{type:He.WALLET_NETWORK_SELECTION},history:[{type:He.WALLET_NETWORK_SELECTION}]}),[T,v]=s.useReducer(Rt,{...kt,checkout:e,web3Provider:t??null,tokenBridge:(()=>{let t=Ue;e.config.isDevelopment&&(t=$e),e.config.isProduction&&(t=Ve);const s=new Y(e.config.networkMap.get(U(e.config))?.rpcUrls[0]),a=new Y(e.config.networkMap.get(V(e.config))?.rpcUrls[0]),n=new Oe({baseConfig:new Be({environment:e.config.environment}),bridgeInstance:t,rootProvider:s,childProvider:a});return new Me(n)})()}),y=s.useMemo((()=>({viewState:f,viewDispatch:E})),[f,E]),A=s.useMemo((()=>({bridgeState:T,bridgeDispatch:v})),[T,v]),S=s.useCallback((()=>{v({payload:{type:St.SET_WALLETS_AND_NETWORKS,from:null,to:null}}),v({payload:{type:St.SET_TOKEN_AND_AMOUNT,amount:"",token:null}}),E({payload:{type:R.GO_BACK_TO,view:{type:He.WALLET_NETWORK_SELECTION}}})}),[E]),_=s.useCallback((()=>{E({payload:{type:R.GO_BACK_TO,view:{type:He.WALLET_NETWORK_SELECTION}}})}),[E]),j=s.useCallback((()=>{E({payload:{type:R.UPDATE_VIEW,view:{type:He.TRANSACTIONS}}})}),[E]),N=s.useCallback((()=>{E({payload:{type:R.GO_BACK_TO,view:{type:He.BRIDGE_REVIEW}}})}),[E]);return s.useEffect((()=>{(async()=>{v({payload:{type:St.SET_PROVIDER,web3Provider:t??null}})})()}),[t]),o.jsx(C.Provider,{value:y,children:o.jsx(Ct.Provider,{value:A,children:o.jsxs(qe,{environment:u,children:[f.view.type===He.WALLET_NETWORK_SELECTION&&o.jsx(_s,{}),f.view.type===He.BRIDGE_FORM&&o.jsx($s,{amount:r,tokenAddress:i,defaultTokenImage:h}),f.view.type===He.BRIDGE_REVIEW&&o.jsx(aa,{}),f.view.type===He.IN_PROGRESS&&o.jsx(oa,{transactionHash:f.view.transactionHash}),f.view.type===He.BRIDGE_FAILURE&&o.jsx(Ge,{testId:"bridge-fail",statusText:l("views.BRIDGE_FAILURE.bridgeFailureText.statusText"),actionText:l("views.BRIDGE_FAILURE.bridgeFailureText.actionText"),onActionClick:N,statusType:Fe.FAILURE,onRenderEvent:()=>{let e="";f.view.type===He.BRIDGE_FAILURE&&(e=f.view.reason),m({userJourney:k.BRIDGE,screen:"Failed",extras:{reason:e}}),((e,t)=>{const s=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.FAILURE,data:{reason:t,timestamp:(new Date).getTime()}}});console.log("bridge failed ",e,s),void 0!==e&&e.dispatchEvent(s)})(b,e)}}),f.view.type===He.APPROVE_TRANSACTION&&o.jsx(ra,{approveTransaction:f.view.approveTransaction,transaction:f.view.transaction}),f.view.type===He.TRANSACTIONS&&o.jsx(ds,{onBackButtonClick:_,defaultTokenImage:h}),f.view.type===He.CLAIM_WITHDRAWAL&&o.jsx(xa,{transaction:f.view.transaction}),f.view.type===he.ERROR_VIEW&&o.jsx(ze,{actionText:l("views.ERROR_VIEW.actionText"),onActionClick:S,onCloseClick:()=>Lt(b),errorEventAction:()=>{m({userJourney:k.BRIDGE,screen:"Error"})}}),f.view.type===he.TOP_UP_VIEW&&o.jsx(Qe,{analytics:{userJourney:k.BRIDGE},widgetEvent:c.IMTBL_BRIDGE_WIDGET_EVENT,checkout:e,provider:t,showOnrampOption:x,showSwapOption:p,showBridgeOption:g,onCloseButtonClick:()=>Lt(b)}),f.view.type===He.CLAIM_WITHDRAWAL_IN_PROGRESS&&o.jsx(us,{transactionResponse:f.view.transactionResponse}),f.view.type===He.CLAIM_WITHDRAWAL_SUCCESS&&o.jsx(Ge,{statusText:l("views.CLAIM_WITHDRAWAL.IN_PROGRESS.success.text"),actionText:l("views.CLAIM_WITHDRAWAL.IN_PROGRESS.success.actionText"),onRenderEvent:()=>{m({userJourney:k.BRIDGE,screen:"ClaimWithdrawalSuccess"}),((e,t)=>{const s=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.CLAIM_WITHDRAWAL_SUCCESS,data:{transactionHash:t}}});console.log("bridge claim withdrawal success event:",e,s),void 0!==e&&e.dispatchEvent(s)})(b,f.view.transactionHash)},onActionClick:j,statusType:Fe.SUCCESS,testId:"claim-withdrawal-success-view"}),f.view.type===He.CLAIM_WITHDRAWAL_FAILURE&&o.jsx(Ge,{statusText:l("views.CLAIM_WITHDRAWAL.IN_PROGRESS.failure.text"),actionText:l("views.CLAIM_WITHDRAWAL.IN_PROGRESS.failure.actionText"),onRenderEvent:()=>{let e="";f.view.type===He.CLAIM_WITHDRAWAL_FAILURE&&(e=f.view.reason),m({userJourney:k.BRIDGE,screen:"ClaimWithdrawalFailure",extras:{reason:e}}),((e,t,s)=>{const a=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.CLAIM_WITHDRAWAL_FAILURE,data:{transactionHash:t,reason:s,timestamp:(new Date).getTime()}}});console.log("bridge claim withdrawal failed event:",e,a),void 0!==e&&e.dispatchEvent(a)})(b,f.view.transactionHash,"Transaction failed")},onActionClick:j,statusType:Fe.FAILURE,onCloseClick:()=>Lt(b),testId:"claim-withdrawal-fail-view"})]})})})}export{pa as default};
@@ -0,0 +1,2 @@
1
+ import{a$ as e,b0 as t,b1 as a,b2 as r,b3 as n,d as o,r as s,C as i,E as h,u as c,V as u,S as l,b4 as p,j as f,B as d,z as m,A as R,b5 as E,U as v,c as A,J as S,W as O,_ as T,$ as y,a9 as _,a0 as I,az as g,b6 as C,ay as w,b7 as N,I as P}from"./index-9949aaa2.js";import{O as x,T as b}from"./TopUpView-ba8d5718.js";import{S as D}from"./SpendingCapHero-a266244d.js";
2
+ /*! https://mths.be/punycode v1.4.1 by @mathias */var L=2147483647,U=36,j=1,k=26,F=38,K=700,M=72,G=128,W="-",q=/[^\x20-\x7E]/,$=/[\x2E\u3002\uFF0E\uFF61]/g,V={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},B=U-j,J=Math.floor,z=String.fromCharCode;function H(e){throw new RangeError(V[e])}function Z(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function Q(e,t,a){var r=0;for(e=a?J(e/K):e>>1,e+=J(e/t);e>B*k>>1;r+=U)e=J(e/B);return J(r+(B+1)*e/(e+F))}function X(e){return function(e,t){var a=e.split("@"),r="";a.length>1&&(r=a[0]+"@",e=a[1]);var n=function(e,t){for(var a=e.length,r=[];a--;)r[a]=t(e[a]);return r}((e=e.replace($,".")).split("."),t).join(".");return r+n}(e,(function(e){return q.test(e)?"xn--"+function(e){var t,a,r,n,o,s,i,h,c,u,l,p,f,d,m,R=[];for(e=function(e){for(var t,a,r=[],n=0,o=e.length;n<o;)(t=e.charCodeAt(n++))>=55296&&t<=56319&&n<o?56320==(64512&(a=e.charCodeAt(n++)))?r.push(((1023&t)<<10)+(1023&a)+65536):(r.push(t),n--):r.push(t);return r}(e),p=e.length,t=G,a=0,o=M,s=0;s<p;++s)(l=e[s])<128&&R.push(z(l));for(r=n=R.length,n&&R.push(W);r<p;){for(i=L,s=0;s<p;++s)(l=e[s])>=t&&l<i&&(i=l);for(i-t>J((L-a)/(f=r+1))&&H("overflow"),a+=(i-t)*f,t=i,s=0;s<p;++s)if((l=e[s])<t&&++a>L&&H("overflow"),l==t){for(h=a,c=U;!(h<(u=c<=o?j:c>=o+k?k:c-o));c+=U)m=h-u,d=U-u,R.push(z(Z(u+m%d,0))),h=J(m/d);R.push(z(Z(h,0))),o=Q(a,f,r==n),a=0,++r}++a,++t}return R.join("")}(e):e}))}function Y(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var ee=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function te(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}}function ae(e,t){if(e.map)return e.map(t);for(var a=[],r=0;r<e.length;r++)a.push(t(e[r],r));return a}var re=Object.keys||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.push(a);return t};function ne(e,t,a,r){t=t||"&",a=a||"=";var n={};if("string"!=typeof e||0===e.length)return n;var o=/\+/g;e=e.split(t);var s=1e3;r&&"number"==typeof r.maxKeys&&(s=r.maxKeys);var i=e.length;s>0&&i>s&&(i=s);for(var h=0;h<i;++h){var c,u,l,p,f=e[h].replace(o,"%20"),d=f.indexOf(a);d>=0?(c=f.substr(0,d),u=f.substr(d+1)):(c=f,u=""),l=decodeURIComponent(c),p=decodeURIComponent(u),Y(n,l)?ee(n[l])?n[l].push(p):n[l]=[n[l],p]:n[l]=p}return n}var oe={parse:Se,resolve:function(e,t){return Se(e,!1,!0).resolve(t)},resolveObject:function(e,t){return e?Se(e,!1,!0).resolveObject(t):t},fileURLToPath:function(e){if("string"==typeof e)e=(new se).parse(e);else if(!(e instanceof se))throw new TypeError('The "path" argument must be of type string or an instance of URL. Received type '+typeof e+String(e));if("file:"!==e.protocol)throw new TypeError("The URL must be of scheme file");return function(e){const t=e.pathname;for(let e=0;e<t.length;e++)if("%"===t[e]){const a=32|t.codePointAt(e+2);if("2"===t[e+1]&&102===a)throw new TypeError("must not include encoded / characters")}return decodeURIComponent(t)}(e)},format:function(e){a(e)&&(e=Oe({},e));return Te(e)},Url:se,URL:e.URL,URLSearchParams:e.URLSearchParams};function se(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var ie=/^([a-z0-9.+-]+:)/i,he=/:[0-9]*$/,ce=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,ue=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),le=["'"].concat(ue),pe=["%","/","?",";","#"].concat(le),fe=["/","?","#"],de=255,me=/^[+a-z0-9A-Z_-]{0,63}$/,Re=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,Ee={javascript:!0,"javascript:":!0},ve={javascript:!0,"javascript:":!0},Ae={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function Se(e,a,r){if(e&&t(e)&&e instanceof se)return e;var n=new se;return n.parse(e,a,r),n}function Oe(e,t,r,n){if(!a(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var o=t.indexOf("?"),s=-1!==o&&o<t.indexOf("#")?"?":"#",i=t.split(s);i[0]=i[0].replace(/\\/g,"/");var h=t=i.join(s);if(h=h.trim(),!n&&1===t.split("#").length){var c=ce.exec(h);if(c)return e.path=h,e.href=h,e.pathname=c[1],c[2]?(e.search=c[2],e.query=r?ne(e.search.substr(1)):e.search.substr(1)):r&&(e.search="",e.query={}),e}var u,l,p,f,d=ie.exec(h);if(d){var m=(d=d[0]).toLowerCase();e.protocol=m,h=h.substr(d.length)}if(n||d||h.match(/^\/\/[^@\/]+@[^@\/]+/)){var R="//"===h.substr(0,2);!R||d&&ve[d]||(h=h.substr(2),e.slashes=!0)}if(!ve[d]&&(R||d&&!Ae[d])){var E,v,A=-1;for(u=0;u<fe.length;u++)-1!==(l=h.indexOf(fe[u]))&&(-1===A||l<A)&&(A=l);for(-1!==(v=-1===A?h.lastIndexOf("@"):h.lastIndexOf("@",A))&&(E=h.slice(0,v),h=h.slice(v+1),e.auth=decodeURIComponent(E)),A=-1,u=0;u<pe.length;u++)-1!==(l=h.indexOf(pe[u]))&&(-1===A||l<A)&&(A=l);-1===A&&(A=h.length),e.host=h.slice(0,A),h=h.slice(A),ye(e),e.hostname=e.hostname||"";var S="["===e.hostname[0]&&"]"===e.hostname[e.hostname.length-1];if(!S){var O=e.hostname.split(/\./);for(u=0,p=O.length;u<p;u++){var T=O[u];if(T&&!T.match(me)){for(var y="",_=0,I=T.length;_<I;_++)T.charCodeAt(_)>127?y+="x":y+=T[_];if(!y.match(me)){var g=O.slice(0,u),C=O.slice(u+1),w=T.match(Re);w&&(g.push(w[1]),C.unshift(w[2])),C.length&&(h="/"+C.join(".")+h),e.hostname=g.join(".");break}}}}e.hostname.length>de?e.hostname="":e.hostname=e.hostname.toLowerCase(),S||(e.hostname=X(e.hostname)),f=e.port?":"+e.port:"";var N=e.hostname||"";e.host=N+f,e.href+=e.host,S&&(e.hostname=e.hostname.substr(1,e.hostname.length-2),"/"!==h[0]&&(h="/"+h))}if(!Ee[m])for(u=0,p=le.length;u<p;u++){var P=le[u];if(-1!==h.indexOf(P)){var x=encodeURIComponent(P);x===P&&(x=escape(P)),h=h.split(P).join(x)}}var b=h.indexOf("#");-1!==b&&(e.hash=h.substr(b),h=h.slice(0,b));var D=h.indexOf("?");if(-1!==D?(e.search=h.substr(D),e.query=h.substr(D+1),r&&(e.query=ne(e.query)),h=h.slice(0,D)):r&&(e.search="",e.query={}),h&&(e.pathname=h),Ae[m]&&e.hostname&&!e.pathname&&(e.pathname="/"),e.pathname||e.search){f=e.pathname||"";var L=e.search||"";e.path=f+L}return e.href=Te(e),e}function Te(e){var a=e.auth||"";a&&(a=(a=encodeURIComponent(a)).replace(/%3A/i,":"),a+="@");var r,n,o,s,i=e.protocol||"",h=e.pathname||"",c=e.hash||"",u=!1,l="";e.host?u=a+e.host:e.hostname&&(u=a+(-1===e.hostname.indexOf(":")?e.hostname:"["+this.hostname+"]"),e.port&&(u+=":"+e.port)),e.query&&t(e.query)&&Object.keys(e.query).length&&(r=e.query,n=n||"&",o=o||"=",null===r&&(r=void 0),l="object"==typeof r?ae(re(r),(function(e){var t=encodeURIComponent(te(e))+o;return ee(r[e])?ae(r[e],(function(e){return t+encodeURIComponent(te(e))})).join(n):t+encodeURIComponent(te(r[e]))})).join(n):s?encodeURIComponent(te(s))+o+encodeURIComponent(te(r)):"");var p=e.search||l&&"?"+l||"";return i&&":"!==i.substr(-1)&&(i+=":"),e.slashes||(!i||Ae[i])&&!1!==u?(u="//"+(u||""),h&&"/"!==h.charAt(0)&&(h="/"+h)):u||(u=""),c&&"#"!==c.charAt(0)&&(c="#"+c),p&&"?"!==p.charAt(0)&&(p="?"+p),i+u+(h=h.replace(/[?#]/g,(function(e){return encodeURIComponent(e)})))+(p=p.replace("#","%23"))+c}function ye(e){var t=e.host,a=he.exec(t);a&&(":"!==(a=a[0])&&(e.port=a.substr(1)),t=t.substr(0,t.length-a.length)),t&&(e.hostname=t)}se.prototype.parse=function(e,t,a){return Oe(this,e,t,a)},se.prototype.format=function(){return Te(this)},se.prototype.resolve=function(e){return this.resolveObject(Se(e,!1,!0)).format()},se.prototype.resolveObject=function(e){if(a(e)){var t=new se;t.parse(e,!1,!0),e=t}for(var o,s=new se,i=Object.keys(this),h=0;h<i.length;h++){var c=i[h];s[c]=this[c]}if(s.hash=e.hash,""===e.href)return s.href=s.format(),s;if(e.slashes&&!e.protocol){for(var u=Object.keys(e),l=0;l<u.length;l++){var p=u[l];"protocol"!==p&&(s[p]=e[p])}return Ae[s.protocol]&&s.hostname&&!s.pathname&&(s.path=s.pathname="/"),s.href=s.format(),s}if(e.protocol&&e.protocol!==s.protocol){if(!Ae[e.protocol]){for(var f=Object.keys(e),d=0;d<f.length;d++){var m=f[d];s[m]=e[m]}return s.href=s.format(),s}if(s.protocol=e.protocol,e.host||ve[e.protocol])s.pathname=e.pathname;else{for(o=(e.pathname||"").split("/");o.length&&!(e.host=o.shift()););e.host||(e.host=""),e.hostname||(e.hostname=""),""!==o[0]&&o.unshift(""),o.length<2&&o.unshift(""),s.pathname=o.join("/")}if(s.search=e.search,s.query=e.query,s.host=e.host||"",s.auth=e.auth,s.hostname=e.hostname||e.host,s.port=e.port,s.pathname||s.search){var R=s.pathname||"",E=s.search||"";s.path=R+E}return s.slashes=s.slashes||e.slashes,s.href=s.format(),s}var v,A=s.pathname&&"/"===s.pathname.charAt(0),S=e.host||e.pathname&&"/"===e.pathname.charAt(0),O=S||A||s.host&&e.pathname,T=O,y=s.pathname&&s.pathname.split("/")||[],_=s.protocol&&!Ae[s.protocol];if(o=e.pathname&&e.pathname.split("/")||[],_&&(s.hostname="",s.port=null,s.host&&(""===y[0]?y[0]=s.host:y.unshift(s.host)),s.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(""===o[0]?o[0]=e.host:o.unshift(e.host)),e.host=null),O=O&&(""===o[0]||""===y[0])),S)s.host=e.host||""===e.host?e.host:s.host,s.hostname=e.hostname||""===e.hostname?e.hostname:s.hostname,s.search=e.search,s.query=e.query,y=o;else if(o.length)y||(y=[]),y.pop(),y=y.concat(o),s.search=e.search,s.query=e.query;else if(!r(e.search))return _&&(s.hostname=s.host=y.shift(),(v=!!(s.host&&s.host.indexOf("@")>0)&&s.host.split("@"))&&(s.auth=v.shift(),s.host=s.hostname=v.shift())),s.search=e.search,s.query=e.query,n(s.pathname)&&n(s.search)||(s.path=(s.pathname?s.pathname:"")+(s.search?s.search:"")),s.href=s.format(),s;if(!y.length)return s.pathname=null,s.search?s.path="/"+s.search:s.path=null,s.href=s.format(),s;for(var I=y.slice(-1)[0],g=(s.host||e.host||y.length>1)&&("."===I||".."===I)||""===I,C=0,w=y.length;w>=0;w--)"."===(I=y[w])?y.splice(w,1):".."===I?(y.splice(w,1),C++):C&&(y.splice(w,1),C--);if(!O&&!T)for(;C--;C)y.unshift("..");!O||""===y[0]||y[0]&&"/"===y[0].charAt(0)||y.unshift(""),g&&"/"!==y.join("/").substr(-1)&&y.push("");var N=""===y[0]||y[0]&&"/"===y[0].charAt(0);return _&&(s.hostname=s.host=N?"":y.length?y.shift():"",(v=!!(s.host&&s.host.indexOf("@")>0)&&s.host.split("@"))&&(s.auth=v.shift(),s.host=s.hostname=v.shift())),(O=O||s.host&&y.length)&&!N&&y.unshift(""),y.length?s.pathname=y.join("/"):(s.pathname=null,s.path=null),n(s.pathname)&&n(s.search)||(s.path=(s.pathname?s.pathname:"")+(s.search?s.search:"")),s.auth=e.auth||s.auth,s.slashes=s.slashes||e.slashes,s.href=s.format(),s},se.prototype.parseHost=function(){return ye(this)};const _e=e=>({position:"relative",maxWidth:"420px",height:"565px",borderRadius:"base.borderRadius.x6",overflow:"hidden",marginLeft:"base.spacing.x2",marginRight:"base.spacing.x2",marginBottom:"base.spacing.x2",display:e?"block":"none"}),Ie=e=>({display:e?"block":"none"});var ge,Ce,we,Ne;!function(e){e.TRANSAK_WIDGET_OPEN="TRANSAK_WIDGET_OPEN",e.TRANSAK_ORDER_CREATED="TRANSAK_ORDER_CREATED",e.TRANSAK_ORDER_SUCCESSFUL="TRANSAK_ORDER_SUCCESSFUL",e.TRANSAK_ORDER_FAILED="TRANSAK_ORDER_FAILED"}(ge||(ge={})),function(e){e.PROCESSING="PROCESSING",e.COMPLETED="COMPLETED"}(Ce||(Ce={})),function(e){e.TRANSAK_WIDGET_INITIALISED="TRANSAK_WIDGET_INITIALISED",e.TRANSAK_WIDGET_OPEN="TRANSAK_WIDGET_OPEN",e.TRANSAK_ORDER_CREATED="TRANSAK_ORDER_CREATED",e.TRANSAK_ORDER_SUCCESSFUL="TRANSAK_ORDER_SUCCESSFUL",e.TRANSAK_ORDER_FAILED="TRANSAK_ORDER_FAILED"}(we||(we={})),function(e){e.PROCESSING="PROCESSING",e.COMPLETED="COMPLETED"}(Ne||(Ne={}));const Pe=["global.transak.com","global-stg.transak.com"],xe={[we.TRANSAK_WIDGET_OPEN]:{screen:"InputScreen",control:"TransakWidgetOpen",controlType:"IframeEvent"},[we.TRANSAK_ORDER_CREATED]:{screen:"InputScreen",control:"OrderCreated",controlType:"IframeEvent"},[`${we.TRANSAK_ORDER_SUCCESSFUL}${Ne.PROCESSING}`]:{screen:"OrderInProgress",control:"PaymentProcessing",controlType:"IframeEvent"},[`${we.TRANSAK_ORDER_SUCCESSFUL}${Ne.COMPLETED}`]:{screen:"Success",control:"PaymentCompleted",controlType:"IframeEvent"},[we.TRANSAK_ORDER_FAILED]:{screen:"Failure",control:"PaymentFailed",controlType:"IframeEvent"}},be=e=>{const{track:t}=o(),{userJourney:a,ref:r,email:n,userId:i,isPassportWallet:h,failedToLoadTimeoutInMs:c,onFailedToLoad:u}=e,[l,p]=s.useState(!1),f=c||1e4,d=s.useRef(void 0),m=s.useCallback((e=>{const r=e.event_id,o=[we.TRANSAK_ORDER_SUCCESSFUL].includes(r)?`${r}${e.data.status}`:r,s=xe?.[o]||{};Object.keys(s).length>=0&&t({...s,userJourney:a,extras:{email:n,userId:i,isPassportWallet:h}})}),[]),R=s.useCallback((t=>{switch(t.event_id){case we.TRANSAK_WIDGET_INITIALISED:a=t.data,p(!0),clearTimeout(d.current),d.current=void 0,e.onInit?.(a);break;case we.TRANSAK_WIDGET_OPEN:e.onOpen?.(t.data);break;case we.TRANSAK_ORDER_CREATED:e.onOrderCreated?.(t.data);break;case we.TRANSAK_ORDER_SUCCESSFUL:t.data.status===Ne.PROCESSING&&e.onOrderProcessing?.(t.data),t.data.status===Ne.COMPLETED&&e.onOrderCompleted?.(t.data);break;case we.TRANSAK_ORDER_FAILED:e.onOrderFailed?.(t.data)}var a}),[]),E=s.useCallback((e=>{const t=Se(e.origin)?.host?.toLowerCase();e.source===r?.current?.contentWindow&&t&&Pe.includes(t)&&(m(e.data),R(e.data),console.log("@@@ Transak event",e))}),[r]);return s.useEffect((()=>(window.addEventListener("message",E),()=>{clearTimeout(d.current),window.removeEventListener("message",E)})),[]),{initialised:l,onLoad:()=>{void 0!==u&&(void 0!==d.current||l||(d.current=setTimeout((()=>{l||u()}),f)))}}},De="transak-iframe",Le=6e3;function Ue({passport:e,showIframe:t,tokenAmount:a,tokenAddress:r}){const{connectLoaderState:n}=s.useContext(i),{checkout:S,provider:O}=n,{eventTargetState:{eventTarget:T}}=s.useContext(h),{t:y}=c(),{viewState:_,viewDispatch:I}=s.useContext(u),[g,C]=s.useState(""),w=s.useRef(),N=!!e&&O?.provider?.isPassport,P=s.useMemo((()=>_.history.length>2&&_.history[_.history.length-2].type===l.TOP_UP_VIEW),[_.history]),{track:b}=o();return s.useEffect((()=>{if(!S||!O)return;let t,n="";(async()=>{const t={exchangeType:p.ONRAMP,web3Provider:O,tokenAddress:r,tokenAmount:a,passport:e};C(await S.createFiatRampUrl(t)),n=await O.getSigner().getAddress()})(),(async()=>{if(e){const a=await e.getUserInfo();t=a?.email}})();const o=document.getElementById(De);if(!o)return;window.addEventListener("message",(e=>{if(!o)return;const s=oe.parse(e.origin)?.host?.toLowerCase();e.source===o.contentWindow&&s&&Pe.includes(s)&&((async(e,t,a)=>{const r={userId:t.toLowerCase(),isPassportWallet:N,email:a};switch(e.event_id){case ge.TRANSAK_WIDGET_OPEN:b({userJourney:v.ON_RAMP,screen:"InputScreen",control:"TransakWidgetOpen",controlType:"IframeEvent",extras:{...r}});break;case ge.TRANSAK_ORDER_CREATED:b({userJourney:v.ON_RAMP,screen:"InputScreen",control:"OrderCreated",controlType:"IframeEvent",extras:{...r}});break;case ge.TRANSAK_ORDER_SUCCESSFUL:e.data.status===Ce.PROCESSING&&b({userJourney:v.ON_RAMP,screen:"OrderInProgress",control:"PaymentProcessing",controlType:"IframeEvent",extras:{...r}}),e.data.status===Ce.COMPLETED&&b({userJourney:v.ON_RAMP,screen:"Success",control:"PaymentCompleted",controlType:"IframeEvent",extras:{...r}});break;case ge.TRANSAK_ORDER_FAILED:b({userJourney:v.ON_RAMP,screen:"Failure",control:"PaymentFailed",controlType:"IframeEvent",extras:{...r}})}})(e.data,n,t),(e=>{if(w.current&&clearTimeout(w.current),e.event_id!==ge.TRANSAK_WIDGET_OPEN)return e.event_id===ge.TRANSAK_ORDER_SUCCESSFUL&&e.data.status===Ce.PROCESSING?(I({payload:{type:A.UPDATE_VIEW,view:{type:x.IN_PROGRESS_LOADING}}}),void(w.current=window.setTimeout((()=>{I({payload:{type:A.UPDATE_VIEW,view:{type:x.IN_PROGRESS}}})}),Le))):void(e.event_id!==ge.TRANSAK_ORDER_SUCCESSFUL||e.data.status!==Ce.COMPLETED?e.event_id===ge.TRANSAK_ORDER_FAILED&&I({payload:{type:A.UPDATE_VIEW,view:{type:x.FAIL,data:{amount:a,tokenAddress:r},reason:`Transaction failed: ${e.data.statusReason}`}}}):I({payload:{type:A.UPDATE_VIEW,view:{type:x.SUCCESS,data:{transactionHash:e.data.transactionHash}}}}));I({payload:{type:A.UPDATE_VIEW,view:{type:x.ONRAMP,data:{amount:_.view.data?.amount??a,tokenAddress:_.view.data?.tokenAddress??r}}}})})(e.data))}))}),[S,O,a,r,e]),f.jsx(d,{sx:Ie(t),children:f.jsx(m,{header:f.jsx(R,{showBack:P,title:y("views.ONRAMP.header.title"),onCloseButtonClick:()=>E(T)}),footerBackgroundColor:"base.color.translucent.emphasis.200",children:f.jsx(d,{sx:_e(t),children:f.jsx("iframe",{title:"Transak",id:De,src:g,allow:"camera;microphone;fullscreen;payment",style:{height:"100%",width:"100%",border:"none",position:"absolute"}})})})})}function je(){const{eventTargetState:{eventTarget:e}}=s.useContext(h),{t:t}=c();return f.jsx(m,{testId:"order-in-progress-view",header:f.jsx(R,{transparent:!0,onCloseButtonClick:()=>E(e)}),footer:f.jsx(S,{}),heroContent:f.jsx(D,{}),floatHeader:!0,children:f.jsxs(O,{heading:t("views.ONRAMP.IN_PROGRESS.content.heading"),children:[t("views.ONRAMP.IN_PROGRESS.content.body1"),f.jsx("br",{}),f.jsx("br",{}),t("views.ONRAMP.IN_PROGRESS.content.body2")]})})}function ke({amount:e,tokenAddress:t,config:a}){const{isOnRampEnabled:r,isSwapEnabled:n,isBridgeEnabled:o}=a,[p,d]=s.useReducer(T,{...y,history:[]}),m=s.useMemo((()=>({viewState:p,viewDispatch:d})),[p,T]),{connectLoaderState:R}=s.useContext(i),{checkout:S,provider:O}=R,[D,L]=s.useState(t),{eventTargetState:{eventTarget:U}}=s.useContext(h),{t:j}=c(),k=s.useMemo((()=>p.view.type===x.ONRAMP),[p.view.type]);return s.useEffect((()=>{S&&O&&(async()=>{if(!(await S.getNetworkInfo({provider:O})).isSupported)return;const e=D?.toLocaleLowerCase()===_?_:t;L(e)})()}),[S,O,d]),f.jsxs(u.Provider,{value:m,children:[p.view.type===l.LOADING_VIEW&&f.jsx(I,{loadingText:j("views.ONRAMP.initialLoadingText"),showFooterLogo:!0}),p.view.type===x.IN_PROGRESS_LOADING&&f.jsx(I,{loadingText:j("views.ONRAMP.IN_PROGRESS_LOADING.loading.text"),showFooterLogo:!0}),p.view.type===x.IN_PROGRESS&&f.jsx(je,{}),p.view.type===x.SUCCESS&&f.jsx(g,{statusText:j("views.ONRAMP.SUCCESS.text"),actionText:j("views.ONRAMP.SUCCESS.actionText"),onRenderEvent:()=>C(U,p.view.data.transactionHash),onActionClick:()=>E(U),statusType:w.SUCCESS,testId:"success-view"}),p.view.type===x.FAIL&&f.jsx(g,{statusText:j("views.ONRAMP.FAIL.text"),actionText:j("views.ONRAMP.FAIL.actionText"),onRenderEvent:()=>N(U,p.view.reason??"Transaction failed"),onActionClick:()=>{d({payload:{type:A.UPDATE_VIEW,view:{type:x.ONRAMP,data:p.view.data}}})},statusType:w.FAILURE,onCloseClick:()=>E(U),testId:"fail-view"}),p.view.type!==x.SUCCESS&&p.view.type!==x.FAIL&&f.jsx(Ue,{passport:S?.passport,showIframe:k,tokenAmount:p.view.data?.amount??e,tokenAddress:p.view.data?.tokenAddress??D}),p.view.type===l.TOP_UP_VIEW&&f.jsx(b,{analytics:{userJourney:v.ON_RAMP},widgetEvent:P.IMTBL_ONRAMP_WIDGET_EVENT,checkout:S,provider:O,showOnrampOption:r,showSwapOption:n,showBridgeOption:o,onCloseButtonClick:()=>E(U)})]})}var Fe=Object.freeze({__proto__:null,default:ke});export{ke as O,Fe as a,be as u};
@@ -0,0 +1,2 @@
1
+ import{a2 as e,r as t,a3 as n,a4 as a,a5 as s,a6 as i,a7 as r,g as o,a8 as d,a9 as l,aa as c,y as u,ab as _,V as h,c as f,ac as m,j as p,u as g,C as w,ad as E,ae as T,e as y,I as b,af as v,E as A,a0 as k,ag as I,ah as C,ai as x,aj as S,ak as R,al as O,am as N,an as D,M as U,H as L,t as F,m as M,p as z,ao as P,ap as W,z as H,A as B,aq as j,J as Z,B as K,a as V,d as G,U as Y,ar as X,as as $,at as q,au as J,av as Q,aw as ee,S as te,ax as ne,X as ae,ay as se,az as ie,aA as re,_ as oe,$ as de,aB as le}from"./index-9949aaa2.js";import ce from"./BridgeWidget-fba6ad7a.js";import{O as ue,u as _e}from"./OnRampWidget-367b588b.js";import he from"./SwapWidget-fd34a5bb.js";import{C as fe,a as me,b as pe,T as ge}from"./TopUpView-ba8d5718.js";import"./retry-fda6574c.js";import"./balance-9b928d1a.js";import"./SpendingCapHero-a266244d.js";var we,Ee,Te,ye;!function(e){e.PAYMENT_METHODS="PAYMENT_METHODS",e.PAY_WITH_COINS="PAY_WITH_COINS",e.PAY_WITH_CARD="PAY_WITH_CARD",e.FUND_WITH_SMART_CHECKOUT="FUND_WITH_SMART_CHECKOUT",e.SALE_SUCCESS="SALE_SUCCESS",e.SALE_FAIL="SALE_FAIL"}(we||(we={})),function(e){e.INIT="INIT",e.LOADING="LOADING",e.FUNDING_ROUTE_SELECT="FUNDING_ROUTE_SELECT",e.FUNDING_ROUTE_EXECUTE="FUNDING_ROUTE_EXECUTE"}(Ee||(Ee={})),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.SMART_CHECKOUT_ERROR="SMART_CHECKOUT_ERROR",e.SMART_CHECKOUT_EXECUTE_ERROR="SMART_CHECKOUT_EXECUTE_ERROR"}(Te||(Te={})),function(e){e.FRACTIONAL_BALANCE_BLOCKED="FRACTIONAL_BALANCE_BLOCKED"}(ye||(ye={}));const be={[e.SANDBOX]:"https://api.sandbox.immutable.com/v1/primary-sales",[e.PRODUCTION]:"https://api.immutable.com/v1/primary-sales"};var ve;!function(e){e.CONTRACT_ADDRESS="contract_address",e.CURRENCY_SYMBOL="currency_symbol"}(ve||(ve={}));const Ae=e=>{const{provider:n,items:a,recipientAddress:s,environment:i,environmentId:r}=e,[o,d]=t.useState(void 0),[l,c]=t.useState(void 0),[u,_]=t.useState({done:!1,transactions:[]}),[h,f]=t.useState([]),m=()=>_((e=>({...e,done:!0}))),p=()=>_({done:!1,transactions:[]}),g=t.useCallback((async(e,t,a,s)=>{let i;try{const o=n?.getSigner(),d=await(n?.getGasPrice()),l=await(o?.sendTransaction({to:e,data:t,gasPrice:d,gasLimit:a}));return r={method:s,hash:l?.hash},_((e=>({...e,transactions:[...e.transactions,r]}))),i=l?.hash||"",[i,void 0]}catch(e){const t=`${e?.reason||e?.message||""}`.toLowerCase();i=e?.transactionHash;let n=Te.WALLET_FAILED;return t.includes("rejected")&&t.includes("user")&&(n=Te.WALLET_REJECTED),t.includes("failed to submit")&&t.includes("highest gas limit")&&(n=Te.WALLET_REJECTED_NO_FUNDS),(t.includes("status failed")||t.includes("transaction failed"))&&(n=Te.TRANSACTION_FAILED),d({type:n,data:{error:e}}),[void 0,e]}var r}),[n]);return{sign:t.useCallback((async(e,t)=>{try{const n={recipient_address:s,payment_type:e,currency_filter:ve.CONTRACT_ADDRESS,currency_value:t,products:a.map((e=>({product_id:e.productId,quantity:e.qty})))},o=`${be[i]}/${r}/order/sign`,l=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}),{ok:u,status:_}=l;if(!u){const{code:e}=await l.json();let t;switch(_){case 400:t=Te.SERVICE_BREAKDOWN;break;case 404:t="insufficient_stock"===e?Te.INSUFFICIENT_STOCK:Te.PRODUCT_NOT_FOUND;break;case 429:case 500:t=Te.DEFAULT;break;default:throw new Error("Unknown error")}return void d({type:t})}const h=await l.json(),m=h.order.products.map((e=>e.detail.map((({token_id:e})=>e)))).flat(),p=((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})))}})(h,a);return f(m),c(p),p}catch(e){d({type:Te.DEFAULT,data:{error:e}})}}),[a,s,r,i,n]),signResponse:l,signError:o,execute:async(e,t,n)=>{if(!e)return d({type:Te.DEFAULT,data:{reason:"No sign data"}}),[];let a=!0;const s=[];for(const i of e.transactions){const{tokenAddress:e,rawData:r,methodCall:o,gasEstimate:d}=i,[l,c]=await g(e,r,d,o);if(c||!l){a=!1,n(c,s);break}s.push({method:o,hash:l}),t({method:o,hash:l})}return(a?m:p)(),s},executeResponse:u,tokenIds:h}},ke="30000000",Ie=(e,t)=>{const n=[];for(const t of e.steps)switch(t.type){case c.BRIDGE:n.push(t.fees.approvalGasFee),n.push(...t.fees.bridgeFees),n.push(t.fees.bridgeGasFee);break;case c.SWAP:n.push(t.fees.approvalGasFee),n.push(...t.fees.swapFees),n.push(t.fees.swapGasFee)}let a=0;for(const e of n)if(e.token){const n=u(e.formattedAmount,e.token.symbol,t);a+=parseFloat(n)}return _(a)},Ce=e=>{if(e.sufficient||e.router.routingOutcome.type!==n.ROUTES_FOUND)return[];const t=[];for(const n of e.transactionRequirements){const{token:e}=n.current;t.includes(e.symbol)||t.push(e.symbol)}for(const n of e.router.routingOutcome.fundingRoutes)for(const e of n.steps)t.includes(e.fundingItem.token.symbol)||t.push(e.fundingItem.token.symbol);return t},xe=({checkout:e,provider:c,items:u,amount:_,tokenAddress:h})=>{const[f,m]=t.useState(void 0),[p,g]=t.useState(void 0),w=t.useCallback((async()=>{try{const t=c?.getSigner(),u=await(t?.getAddress())||"",f=await(async(e,t,n,a,s)=>{const i=o(a.config),c=await a.getAllBalances({provider:s,walletAddress:e,chainId:i}),u=r.from("0");if(0===c.balances.length)return!0;const _=c.balances.find((e=>e.token.address?.toLowerCase()===t.toLocaleLowerCase()));if(!_)return!1;const h=d.parseUnits(n,_.token.decimals);if(_.balance.gt(u)&&_.balance.lt(h))return!0;if(s?.provider?.isPassport)return!1;const f=c.balances.find((e=>e.token.address===l)),m=f?f.balance:r.from("0");return!(!m.gte(u)||!m.lt(r.from(ke)))})(u,h,_,e,c);if(f)throw new Error(ye.FRACTIONAL_BALANCE_BLOCKED);const p=((e,t,n)=>[{type:a.ERC20,tokenAddress:n,spenderAddress:t,amount:e}])(_,u,h),g={type:s.GAS,gasToken:{type:i.NATIVE,limit:r.from(ke)}},w=await(e?.smartCheckout({provider:c,itemRequirements:p,transactionOrGasAmount:g}));if(!w)throw new Error;const E={...w},T=((e,t)=>{if(e.sufficient||e.router.routingOutcome.type!==n.ROUTES_FOUND)return e;const s=!!t?.provider?.isPassport,i=e.transactionRequirements.every((e=>e.type===a.NATIVE?!e.sufficient:e.sufficient));if(s&&!e.sufficient&&i)return{sufficient:!0,transactionRequirements:e.transactionRequirements};const r=[],o=e.router.routingOutcome.fundingRoutes.filter((e=>!e.steps.some((e=>r.includes(e.type)))));let d;return d=0===o.length?{type:n.NO_ROUTES_FOUND,message:"Smart Checkout did not find any routes to fulfill the transaction"}:{type:n.ROUTES_FOUND,fundingRoutes:o},{...e,router:{...e.router,routingOutcome:d}}})(E,c);return m(T),E}catch(e){g({type:Te.SMART_CHECKOUT_ERROR,data:{error:e}})}}),[e,c,u,_,h]);return{smartCheckout:w,smartCheckoutResult:f,smartCheckoutError:p}},Se={contractId:"",currencies:[]},Re=t.createContext({items:[],amount:"",fromTokenAddress:"",collectionName:"",provider:void 0,checkout:void 0,environmentId:"",environment:e.SANDBOX,recipientAddress:"",recipientEmail:"",sign:()=>Promise.resolve(void 0),execute:()=>Promise.resolve([]),signResponse:void 0,signError:void 0,executeResponse:void 0,passport:void 0,isPassportWallet:!1,paymentMethod:void 0,setPaymentMethod:()=>{},goBackToPaymentMethods:()=>{},goToErrorView:()=>{},goToSuccessView:()=>{},config:{},querySmartCheckout:()=>Promise.resolve(void 0),smartCheckoutResult:void 0,fundingRoutes:[],disabledPaymentTypes:[],invalidParameters:!1,clientConfig:Se});Re.displayName="SaleSaleContext";const Oe=1;function Ne(e){const{children:a,value:{config:s,environment:i,environmentId:r,items:o,amount:d,fromTokenAddress:l,provider:c,checkout:u,passport:_,collectionName:g,clientConfig:w}}=e,E=t.useRef(0),{viewDispatch:T}=t.useContext(h),[{recipientEmail:y,recipientAddress:b},v]=t.useState({recipientEmail:"",recipientAddress:""}),[A,k]=t.useState(void 0),[I,C]=t.useState([]),[x,S]=t.useState([]),[R,O]=t.useState(!1),N=t.useCallback(((e,t)=>{k(e),T({payload:{type:f.UPDATE_VIEW,view:{type:we.PAYMENT_METHODS,data:{showInsufficientCoinsBanner:t}}}})}),[]);t.useEffect((()=>{(async()=>{const e=c?.getSigner(),t=await(e?.getAddress())||"",n=(await(_?.getUserInfo()))?.email||"";v({recipientEmail:n,recipientAddress:t})})()}),[c]);const{sign:D,execute:U,signResponse:L,signError:F,executeResponse:M,tokenIds:z}=Ae({items:o,provider:c,fromTokenAddress:l,recipientAddress:b,environmentId:r,environment:i}),P=t.useCallback((async(e,t)=>{const n=await D(e,l);if(n)return t?.(n),n}),[D,l]),W=t.useCallback(((e,t={})=>{E.current+=1,E.current>Oe&&(E.current=0,k(void 0)),T({payload:{type:f.UPDATE_VIEW,view:{type:we.SALE_FAIL,data:{...t,errorType:e,paymentMethod:A,transactions:M.transactions}}}})}),[A,k,M]),H=t.useCallback((e=>{T({payload:{type:f.UPDATE_VIEW,view:{type:we.SALE_SUCCESS,data:{paymentMethod:A,transactions:M.transactions,tokenIds:z,...e}}}})}),[[A,M,z]]);t.useEffect((()=>{F&&W(F.type,F.data)}),[F]);const{smartCheckout:B,smartCheckoutResult:j,smartCheckoutError:Z}=xe({provider:c,checkout:u,items:o,amount:d,tokenAddress:l});t.useEffect((()=>{if(Z)return Z.data?.error?.message===ye.FRACTIONAL_BALANCE_BLOCKED?(S([m.CRYPTO]),void N(void 0,!0)):void W(Z.type,Z.data)}),[Z]);const K=t.useCallback((async e=>{const t=await B();return e?.(t),t}),[B]);t.useEffect((()=>{if(j&&(j.sufficient&&(P(m.CRYPTO),T({payload:{type:f.UPDATE_VIEW,view:{type:we.PAY_WITH_COINS}}})),!j.sufficient))switch(j.router.routingOutcome.type){case n.ROUTES_FOUND:C(j.router.routingOutcome.fundingRoutes),T({payload:{type:f.UPDATE_VIEW,view:{type:we.FUND_WITH_SMART_CHECKOUT,subView:Ee.FUNDING_ROUTE_SELECT}}});break;case n.NO_ROUTES_FOUND:case n.NO_ROUTE_OPTIONS:default:C([]),k(void 0),S([m.CRYPTO]),N(void 0,!0)}}),[j]),t.useEffect((()=>{const e=!o||0===o.length,t=!d||"0"===d,n=!l||!l.startsWith("0x");O(!(!(e||t||n)&&g&&r))}),[o,d,l,g,r]);const V=t.useMemo((()=>({config:s,items:o,amount:d,fromTokenAddress:l,sign:P,signResponse:L,signError:F,execute:U,executeResponse:M,environmentId:r,collectionName:g,environment:i,provider:c,checkout:u,recipientAddress:b,recipientEmail:y,paymentMethod:A,setPaymentMethod:k,goBackToPaymentMethods:N,goToErrorView:W,goToSuccessView:H,isPassportWallet:!!c?.provider?.isPassport,querySmartCheckout:K,smartCheckoutResult:j,fundingRoutes:I,disabledPaymentTypes:x,invalidParameters:R,clientConfig:w})),[s,i,r,o,d,l,g,c,u,b,y,L,F,M,A,N,W,H,P,K,j,I,x,R,w]);return p.jsx(Re.Provider,{value:V,children:a})}function De(){return t.useContext(Re)}var Ue;function Le({fundingRouteStep:e,onFundingRouteExecuted:n}){const{t:a}=g(),{config:s,provider:i,checkout:r,fromTokenAddress:d}=De(),{viewDispatch:l}=t.useContext(h),{connectLoaderDispatch:u}=t.useContext(w),[_,m]=t.useState(void 0),[U,L]=t.useState(void 0),[F,M]=t.useState(void 0),[z,P]=t.useState(Ue.LOADING),W=t.useRef(!1),H=t.useRef(void 0),B=t.useRef(void 0),[j,Z]=t.useReducer(E,T),K=t.useMemo((()=>({eventTargetState:j,eventTargetDispatch:Z})),[j,Z]),V=new EventTarget,G=e=>{l({payload:{type:f.UPDATE_VIEW,view:{type:we.SALE_FAIL,data:{errorType:Te.SMART_CHECKOUT_EXECUTE_ERROR,errorData:e}}}})},Y=t.useCallback((async e=>{if(!r||!i)throw new Error("checkout or provider not available.");const t=await r.getNetworkInfo({provider:i});if(e.type===c.BRIDGE){if(L({tokenAddress:e.fundingItem.token.address,amount:e.fundingItem.fundsRequired.formattedAmount}),t.chainId===y(r.config))return void P(Ue.EXECUTE_BRIDGE);W.current=Ue.EXECUTE_BRIDGE,P(Ue.SWITCH_NETWORK_ETH)}if(e.type===c.SWAP){if(m({amount:e.fundingItem.fundsRequired.formattedAmount,fromTokenAddress:e.fundingItem.token.address,toTokenAddress:d}),t.chainId===o(r.config))return void P(Ue.EXECUTE_SWAP);W.current=Ue.EXECUTE_SWAP,P(Ue.SWITCH_NETWORK_ZKEVM)}e.type===c.ONRAMP&&(M({amount:e.fundingItem.fundsRequired.formattedAmount,tokenAddress:e.fundingItem.token.address}),P(Ue.EXECUTE_ON_RAMP))}),[i,r]);t.useEffect((()=>{if(e)try{Y(e)}catch(e){G(e)}}),[e]);const X=()=>{H.current?(H.current=void 0,B.current=void 0,n()):G(B.current)},$=e=>{switch(e.detail.type){case O.TRANSACTION_SENT:case S.SUCCESS:case R.SUCCESS:{const t=e.detail.data;H.current=t;break}case O.FAILURE:case S.FAILURE:case R.FAILURE:{const t=e.detail.data;B.current=t;break}case O.CLOSE_WIDGET:case S.CLOSE_WIDGET:case R.CLOSE_WIDGET:X();case S.REJECTED:}},q=e=>{switch(e.detail.type){case N.SUCCESS:{const t=e.detail.data;u({payload:{type:D.SET_PROVIDER,provider:t.provider}}),!1!==W.current&&(P(W.current),W.current=!1);break}case N.FAILURE:case N.CLOSE_WIDGET:default:X()}};return t.useEffect((()=>(V.addEventListener(b.IMTBL_CONNECT_WIDGET_EVENT,q),V.addEventListener(b.IMTBL_BRIDGE_WIDGET_EVENT,$),V.addEventListener(b.IMTBL_SWAP_WIDGET_EVENT,$),()=>{V.removeEventListener(b.IMTBL_CONNECT_WIDGET_EVENT,q),V.removeEventListener(b.IMTBL_BRIDGE_WIDGET_EVENT,$),V.removeEventListener(b.IMTBL_SWAP_WIDGET_EVENT,$)})),[]),t.useEffect((()=>{Z({payload:{type:v.SET_EVENT_TARGET,eventTarget:V}})}),[r]),p.jsxs(A.Provider,{value:K,children:[z===Ue.LOADING&&p.jsx(k,{loadingText:a("views.FUND_WITH_SMART_CHECKOUT.loading.checkingBalances"),showFooterLogo:!0}),z===Ue.EXECUTE_BRIDGE&&p.jsx(ce,{...U,config:s,checkout:r}),z===Ue.EXECUTE_SWAP&&p.jsx(he,{..._,config:s}),z===Ue.EXECUTE_ON_RAMP&&p.jsx(ue,{config:s,...F}),z===Ue.SWITCH_NETWORK_ETH&&p.jsx(I,{config:s,targetChainId:r.config.isProduction?C.ETHEREUM:C.SEPOLIA,web3Provider:i,checkout:r,deepLink:x.SWITCH_NETWORK}),z===Ue.SWITCH_NETWORK_ZKEVM&&p.jsx(I,{config:s,targetChainId:r.config.isProduction?C.IMTBL_ZKEVM_MAINNET:C.IMTBL_ZKEVM_TESTNET,web3Provider:i,checkout:r,deepLink:x.SWITCH_NETWORK})]})}!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"}(Ue||(Ue={}));const Fe={[C.IMTBL_ZKEVM_DEVNET]:"Immutable",[C.IMTBL_ZKEVM_MAINNET]:"Immutable",[C.IMTBL_ZKEVM_TESTNET]:"Immutable",[C.ETHEREUM]:"EthToken",[C.SEPOLIA]:"EthToken"},Me={[C.IMTBL_ZKEVM_DEVNET]:"base.color.text.link.primary",[C.IMTBL_ZKEVM_TESTNET]:"base.color.text.link.primary",[C.IMTBL_ZKEVM_MAINNET]:"base.color.text.link.primary",[C.ETHEREUM]:"base.color.accent.5",[C.SEPOLIA]:"base.color.accent.5"};function ze({onClick:e,fundingRoute:n,toggleVisible:a,selected:s,size:i="small"}){const{t:r}=g(),o=n.steps[0],{cryptoFiatState:d}=t.useContext(fe),{isPassportWallet:l}=De(),[c,_]=t.useState(void 0),[h,f]=t.useState(void 0);t.useEffect((()=>{if(d.conversions)try{_(Ie(n,d.conversions)),f(u(o.fundingItem.userBalance.formattedBalance,o.fundingItem.token.symbol,d.conversions))}catch{_(void 0),f(void 0)}}),[d,n]);return p.jsxs(U,{emphasized:!0,testId:"funding-route-menu-item",onClick:e,selected:s,size:i,children:[a&&p.jsx(U.IntentIcon,{icon:"ChevronExpand"}),p.jsx(U.FramedIcon,{icon:"Coins",circularFrame:!0}),p.jsx(U.PriceDisplay,{use:p.jsx(L,{size:"xSmall"}),fiatAmount:`${r("views.FUND_WITH_SMART_CHECKOUT.currency.usdEstimate")}${h}`,price:F(o.fundingItem.userBalance.formattedBalance)}),p.jsxs(U.Label,{sx:{display:"flex",wordBreak:"default"},children:[o.fundingItem.token.symbol,l?null:p.jsxs(M.Button,{rc:p.jsx("a",{}),sx:{pointerEvents:"none",cursor:"default",height:"100%",marginLeft:"base.spacing.x2",fontSize:"base.text.body.xxSmall.regular.fontSize",fontWeight:"base.text.body.xxSmall.regular.fontWeight",color:"base.color.brand.4",paddingLeft:"base.spacing.x2",paddingRight:"base.spacing.x2"},size:"small",children:[p.jsx(z.Icon,{icon:Fe[o.chainId],sx:{width:"14px",fill:Me[o.chainId]}}),P(o.chainId)]})]}),p.jsxs(U.Caption,{children:["Fees ≈ USD $",c]})]})}function Pe({visible:e,onCloseDrawer:t,fundingRoutes:n,activeFundingRouteIndex:a}){const{t:s}=g();return p.jsx(W,{size:"full",onCloseDrawer:()=>t(a),visible:e,showHeaderBar:!0,headerBarTitle:s("views.FUND_WITH_SMART_CHECKOUT.fundingRouteDrawer.header"),children:p.jsx(W.Content,{children:n.map(((e,n)=>p.jsx(ze,{onClick:()=>{t(n)},fundingRoute:e,selected:a===n,size:"medium"},e.steps[0].fundingItem.type+e.steps[0].fundingItem.token)))})})}function We({fundingRoute:e,collectionName:n}){const{t:a}=g(),{items:s}=De(),i=s[0],r=e.steps[0],{cryptoFiatState:o}=t.useContext(fe),[d,l]=t.useState(void 0);return t.useEffect((()=>{if(o.conversions)try{l(u(r.fundingItem.fundsRequired.formattedAmount,r.fundingItem.token.symbol,o.conversions))}catch{l(void 0)}}),[o,e]),p.jsxs(U,{emphasized:!0,testId:"funding-route-purchase-item",size:"medium",children:[p.jsx(U.FramedImage,{imageUrl:i?.image}),p.jsx(U.PriceDisplay,{use:p.jsx(L,{size:"xSmall"}),price:`${r?.fundingItem.token.symbol} \n ${F(r.fundingItem.fundsRequired.formattedAmount)}`,fiatAmount:`${a("views.FUND_WITH_SMART_CHECKOUT.currency.usdEstimate")}${d}`}),p.jsxs(U.Label,{children:[i?.name,i?.qty>1?` x${i.qty}`:null]}),p.jsx(U.Caption,{children:n})]},i?.name)}function He({fundingRoutes:e,collectionName:n,onFundingRouteSelected:a}){const{t:s}=g(),[i,r]=t.useState(!1),[o,d]=t.useState(0),{viewDispatch:l}=t.useContext(h),{eventTargetState:{eventTarget:c}}=t.useContext(A),{goBackToPaymentMethods:u}=De();return p.jsxs(H,{testId:"funding-route-select",header:p.jsx(B,{onCloseButtonClick:()=>j(c)}),footer:p.jsx(Z,{}),children:[p.jsxs(K,{sx:{display:"flex",flexDirection:"column",paddingX:"base.spacing.x2",paddingY:"base.spacing.x8",rowGap:"base.spacing.x4",height:"100%"},children:[p.jsx(L,{size:"small",children:s("views.FUND_WITH_SMART_CHECKOUT.fundingRouteSelect.heading")}),0===e.length?[p.jsx(V,{size:"small",children:s("views.FUND_WITH_SMART_CHECKOUT.fundingRouteSelect.noRoutesAvailable")},"noRoutesAvailableText"),p.jsx(z,{variant:"tertiary",children:s("views.FUND_WITH_SMART_CHECKOUT.fundingRouteSelect.payWithCard")},"payWithCardButton")]:[p.jsx(ze,{"data-testid":"funding-route-select-selected-route",onClick:e.length>1?()=>{r(!0)}:()=>{},fundingRoute:e[o],selected:!0,toggleVisible:e.length>1},"selectedFundingRouteMenuItem"),p.jsx(We,{fundingRoute:e[o],collectionName:n},"purchaseMenuItem"),p.jsx(z,{sx:{mt:"auto"},variant:"primary",onClick:()=>{a(e[o]),l({payload:{type:f.UPDATE_VIEW,view:{type:we.FUND_WITH_SMART_CHECKOUT,subView:Ee.FUNDING_ROUTE_EXECUTE}}})},children:s("views.FUND_WITH_SMART_CHECKOUT.fundingRouteSelect.continue")},"continueButton"),p.jsx(z,{variant:"tertiary",onClick:()=>u(),children:s("views.FUND_WITH_SMART_CHECKOUT.fundingRouteSelect.payWithCardInstead")},"payWithCardButton")]]}),p.jsx(Pe,{visible:i,onCloseDrawer:e=>{d(e),r(!1)},fundingRoutes:e,activeFundingRouteIndex:o})]})}const Be=e=>e.map((({method:e,hash:t})=>`${e}: ${t}`)).join(" | "),je=e=>e.split("_").map((e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase())).join(""),Ze=()=>{const{track:e,page:n}=G(),{recipientAddress:a,recipientEmail:s,signResponse:i,paymentMethod:r}=De(),{eventTargetState:{eventTarget:o}}=t.useContext(A),d=we.PAYMENT_METHODS,l={location:"web",userJourney:Y.SALE},c={email:s,userId:a,paymentMethod:r},u={amount:i?.order.totalAmount,currency:i?.order.currency.name};return{track:e,page:n,sendPageView:(e,t)=>{n({...l,screen:je(e),action:"Viewed",...t})},sendCloseEvent:(t=d,n="Button",a="Pressed")=>{e({...l,screen:je(t),control:"Close",controlType:n,action:a,extras:{...c}}),j(o)},sendSuccessEvent:(t=d,n=[],a=[],s)=>{e({...l,screen:je(t),control:"Success",controlType:"Event",action:"Succeeded",extras:{...s,...c,transactions:Be(n),...u,paymentMethod:r,tokenIds:a}}),X(o,r,n,a)},sendFailedEvent:(t,n,a=[],s=d)=>{e({...l,screen:je(s),control:"Fail",controlType:"Event",action:"Failed",extras:{transactions:Be(a),...n,...u,...c,paymentMethod:r,reason:t}}),$(o,t,n,r,a)},sendTransactionSuccessEvent:e=>{q(o,r,[e])},sendOrderCreated:(t,n)=>{e({...l,screen:je(t),control:"OrderCreated",controlType:"Event",extras:{...n}})},sendSelectedPaymentMethod:(t,n)=>{e({...l,screen:je(n),control:"Select",controlType:"MenuItem",extras:{paymentMethod:t}}),J(o,t)}}};function Ke({subView:e}){const{t:n}=g(),{sendPageView:a}=Ze(),{viewDispatch:s}=t.useContext(h),[i,r]=t.useState(void 0),[o,d]=t.useState(0),{querySmartCheckout:l,fundingRoutes:c,smartCheckoutResult:u,collectionName:_}=De(),{cryptoFiatDispatch:m}=t.useContext(fe),w=t.useRef(!1);t.useEffect((()=>{if(e===Ee.INIT&&!w.current){w.current=!0;try{l()}finally{w.current=!1}}}),[e]),t.useEffect((()=>{if(!m||!u)return;const e=Ce(u);m({payload:{type:me.SET_TOKEN_SYMBOLS,tokenSymbols:e}})}),[m,u]);const E=t.useMemo((()=>{if(i)return i.steps[o]}),[i,o]);return t.useEffect((()=>a(we.FUND_WITH_SMART_CHECKOUT,{subView:e,...!!E&&{fundingStep:E.type}})),[]),p.jsxs(K,{children:[e===Ee.INIT&&p.jsx(k,{loadingText:n("views.FUND_WITH_SMART_CHECKOUT.loading.checkingBalances"),showFooterLogo:!0}),e===Ee.FUNDING_ROUTE_SELECT&&p.jsx(He,{fundingRoutes:c,collectionName:_,onFundingRouteSelected:e=>{r(e)}}),e===Ee.FUNDING_ROUTE_EXECUTE&&p.jsx(Le,{onFundingRouteExecuted:()=>{i&&(o===i.steps.length-1?(d(0),r(void 0),s({payload:{type:f.UPDATE_VIEW,view:{type:we.FUND_WITH_SMART_CHECKOUT,subView:Ee.INIT}}})):d(o+1))},fundingRouteStep:E})]})}
2
+ /*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */function Ve(e){let t=e.length;for(;--t>=0;)e[t]=0}const Ge=256,Ye=286,Xe=30,$e=15,qe=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),Je=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),Qe=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),et=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),tt=new Array(576);Ve(tt);const nt=new Array(60);Ve(nt);const at=new Array(512);Ve(at);const st=new Array(256);Ve(st);const it=new Array(29);Ve(it);const rt=new Array(Xe);function ot(e,t,n,a,s){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=a,this.max_length=s,this.has_stree=e&&e.length}let dt,lt,ct;function ut(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}Ve(rt);const _t=e=>e<256?at[e]:at[256+(e>>>7)],ht=(e,t)=>{e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},ft=(e,t,n)=>{e.bi_valid>16-n?(e.bi_buf|=t<<e.bi_valid&65535,ht(e,e.bi_buf),e.bi_buf=t>>16-e.bi_valid,e.bi_valid+=n-16):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)},mt=(e,t,n)=>{ft(e,n[2*t],n[2*t+1])},pt=(e,t)=>{let n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1},gt=(e,t,n)=>{const a=new Array(16);let s,i,r=0;for(s=1;s<=$e;s++)r=r+n[s-1]<<1,a[s]=r;for(i=0;i<=t;i++){let t=e[2*i+1];0!==t&&(e[2*i]=pt(a[t]++,t))}},wt=e=>{let t;for(t=0;t<Ye;t++)e.dyn_ltree[2*t]=0;for(t=0;t<Xe;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},Et=e=>{e.bi_valid>8?ht(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},Tt=(e,t,n,a)=>{const s=2*t,i=2*n;return e[s]<e[i]||e[s]===e[i]&&a[t]<=a[n]},yt=(e,t,n)=>{const a=e.heap[n];let s=n<<1;for(;s<=e.heap_len&&(s<e.heap_len&&Tt(t,e.heap[s+1],e.heap[s],e.depth)&&s++,!Tt(t,a,e.heap[s],e.depth));)e.heap[n]=e.heap[s],n=s,s<<=1;e.heap[n]=a},bt=(e,t,n)=>{let a,s,i,r,o=0;if(0!==e.sym_next)do{a=255&e.pending_buf[e.sym_buf+o++],a+=(255&e.pending_buf[e.sym_buf+o++])<<8,s=e.pending_buf[e.sym_buf+o++],0===a?mt(e,s,t):(i=st[s],mt(e,i+Ge+1,t),r=qe[i],0!==r&&(s-=it[i],ft(e,s,r)),a--,i=_t(a),mt(e,i,n),r=Je[i],0!==r&&(a-=rt[i],ft(e,a,r)))}while(o<e.sym_next);mt(e,256,t)},vt=(e,t)=>{const n=t.dyn_tree,a=t.stat_desc.static_tree,s=t.stat_desc.has_stree,i=t.stat_desc.elems;let r,o,d,l=-1;for(e.heap_len=0,e.heap_max=573,r=0;r<i;r++)0!==n[2*r]?(e.heap[++e.heap_len]=l=r,e.depth[r]=0):n[2*r+1]=0;for(;e.heap_len<2;)d=e.heap[++e.heap_len]=l<2?++l:0,n[2*d]=1,e.depth[d]=0,e.opt_len--,s&&(e.static_len-=a[2*d+1]);for(t.max_code=l,r=e.heap_len>>1;r>=1;r--)yt(e,n,r);d=i;do{r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],yt(e,n,1),o=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=o,n[2*d]=n[2*r]+n[2*o],e.depth[d]=(e.depth[r]>=e.depth[o]?e.depth[r]:e.depth[o])+1,n[2*r+1]=n[2*o+1]=d,e.heap[1]=d++,yt(e,n,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],((e,t)=>{const n=t.dyn_tree,a=t.max_code,s=t.stat_desc.static_tree,i=t.stat_desc.has_stree,r=t.stat_desc.extra_bits,o=t.stat_desc.extra_base,d=t.stat_desc.max_length;let l,c,u,_,h,f,m=0;for(_=0;_<=$e;_++)e.bl_count[_]=0;for(n[2*e.heap[e.heap_max]+1]=0,l=e.heap_max+1;l<573;l++)c=e.heap[l],_=n[2*n[2*c+1]+1]+1,_>d&&(_=d,m++),n[2*c+1]=_,c>a||(e.bl_count[_]++,h=0,c>=o&&(h=r[c-o]),f=n[2*c],e.opt_len+=f*(_+h),i&&(e.static_len+=f*(s[2*c+1]+h)));if(0!==m){do{for(_=d-1;0===e.bl_count[_];)_--;e.bl_count[_]--,e.bl_count[_+1]+=2,e.bl_count[d]--,m-=2}while(m>0);for(_=d;0!==_;_--)for(c=e.bl_count[_];0!==c;)u=e.heap[--l],u>a||(n[2*u+1]!==_&&(e.opt_len+=(_-n[2*u+1])*n[2*u],n[2*u+1]=_),c--)}})(e,t),gt(n,l,e.bl_count)},At=(e,t,n)=>{let a,s,i=-1,r=t[1],o=0,d=7,l=4;for(0===r&&(d=138,l=3),t[2*(n+1)+1]=65535,a=0;a<=n;a++)s=r,r=t[2*(a+1)+1],++o<d&&s===r||(o<l?e.bl_tree[2*s]+=o:0!==s?(s!==i&&e.bl_tree[2*s]++,e.bl_tree[32]++):o<=10?e.bl_tree[34]++:e.bl_tree[36]++,o=0,i=s,0===r?(d=138,l=3):s===r?(d=6,l=3):(d=7,l=4))},kt=(e,t,n)=>{let a,s,i=-1,r=t[1],o=0,d=7,l=4;for(0===r&&(d=138,l=3),a=0;a<=n;a++)if(s=r,r=t[2*(a+1)+1],!(++o<d&&s===r)){if(o<l)do{mt(e,s,e.bl_tree)}while(0!=--o);else 0!==s?(s!==i&&(mt(e,s,e.bl_tree),o--),mt(e,16,e.bl_tree),ft(e,o-3,2)):o<=10?(mt(e,17,e.bl_tree),ft(e,o-3,3)):(mt(e,18,e.bl_tree),ft(e,o-11,7));o=0,i=s,0===r?(d=138,l=3):s===r?(d=6,l=3):(d=7,l=4)}};let It=!1;const Ct=(e,t,n,a)=>{ft(e,0+(a?1:0),3),Et(e),ht(e,n),ht(e,~n),n&&e.pending_buf.set(e.window.subarray(t,t+n),e.pending),e.pending+=n};var xt=(e,t,n,a)=>{let s,i,r=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=(e=>{let t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<Ge;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0})(e)),vt(e,e.l_desc),vt(e,e.d_desc),r=(e=>{let t;for(At(e,e.dyn_ltree,e.l_desc.max_code),At(e,e.dyn_dtree,e.d_desc.max_code),vt(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*et[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(e),s=e.opt_len+3+7>>>3,i=e.static_len+3+7>>>3,i<=s&&(s=i)):s=i=n+5,n+4<=s&&-1!==t?Ct(e,t,n,a):4===e.strategy||i===s?(ft(e,2+(a?1:0),3),bt(e,tt,nt)):(ft(e,4+(a?1:0),3),((e,t,n,a)=>{let s;for(ft(e,t-257,5),ft(e,n-1,5),ft(e,a-4,4),s=0;s<a;s++)ft(e,e.bl_tree[2*et[s]+1],3);kt(e,e.dyn_ltree,t-1),kt(e,e.dyn_dtree,n-1)})(e,e.l_desc.max_code+1,e.d_desc.max_code+1,r+1),bt(e,e.dyn_ltree,e.dyn_dtree)),wt(e),a&&Et(e)},St={_tr_init:e=>{It||((()=>{let e,t,n,a,s;const i=new Array(16);for(n=0,a=0;a<28;a++)for(it[a]=n,e=0;e<1<<qe[a];e++)st[n++]=a;for(st[n-1]=a,s=0,a=0;a<16;a++)for(rt[a]=s,e=0;e<1<<Je[a];e++)at[s++]=a;for(s>>=7;a<Xe;a++)for(rt[a]=s<<7,e=0;e<1<<Je[a]-7;e++)at[256+s++]=a;for(t=0;t<=$e;t++)i[t]=0;for(e=0;e<=143;)tt[2*e+1]=8,e++,i[8]++;for(;e<=255;)tt[2*e+1]=9,e++,i[9]++;for(;e<=279;)tt[2*e+1]=7,e++,i[7]++;for(;e<=287;)tt[2*e+1]=8,e++,i[8]++;for(gt(tt,287,i),e=0;e<Xe;e++)nt[2*e+1]=5,nt[2*e]=pt(e,5);dt=new ot(tt,qe,257,Ye,$e),lt=new ot(nt,Je,0,Xe,$e),ct=new ot(new Array(0),Qe,0,19,7)})(),It=!0),e.l_desc=new ut(e.dyn_ltree,dt),e.d_desc=new ut(e.dyn_dtree,lt),e.bl_desc=new ut(e.bl_tree,ct),e.bi_buf=0,e.bi_valid=0,wt(e)},_tr_stored_block:Ct,_tr_flush_block:xt,_tr_tally:(e,t,n)=>(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=n,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(st[n]+Ge+1)]++,e.dyn_dtree[2*_t(t)]++),e.sym_next===e.sym_end),_tr_align:e=>{ft(e,2,3),mt(e,256,tt),(e=>{16===e.bi_valid?(ht(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)})(e)}};var Rt=(e,t,n,a)=>{let s=65535&e|0,i=e>>>16&65535|0,r=0;for(;0!==n;){r=n>2e3?2e3:n,n-=r;do{s=s+t[a++]|0,i=i+s|0}while(--r);s%=65521,i%=65521}return s|i<<16|0};const Ot=new Uint32Array((()=>{let e,t=[];for(var n=0;n<256;n++){e=n;for(var a=0;a<8;a++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t})());var Nt=(e,t,n,a)=>{const s=Ot,i=a+n;e^=-1;for(let n=a;n<i;n++)e=e>>>8^s[255&(e^t[n])];return-1^e},Dt={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},Ut={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:Lt,_tr_stored_block:Ft,_tr_flush_block:Mt,_tr_tally:zt,_tr_align:Pt}=St,{Z_NO_FLUSH:Wt,Z_PARTIAL_FLUSH:Ht,Z_FULL_FLUSH:Bt,Z_FINISH:jt,Z_BLOCK:Zt,Z_OK:Kt,Z_STREAM_END:Vt,Z_STREAM_ERROR:Gt,Z_DATA_ERROR:Yt,Z_BUF_ERROR:Xt,Z_DEFAULT_COMPRESSION:$t,Z_FILTERED:qt,Z_HUFFMAN_ONLY:Jt,Z_RLE:Qt,Z_FIXED:en,Z_DEFAULT_STRATEGY:tn,Z_UNKNOWN:nn,Z_DEFLATED:an}=Ut,sn=258,rn=262,on=42,dn=113,ln=666,cn=(e,t)=>(e.msg=Dt[t],t),un=e=>2*e-(e>4?9:0),_n=e=>{let t=e.length;for(;--t>=0;)e[t]=0},hn=e=>{let t,n,a,s=e.w_size;t=e.hash_size,a=t;do{n=e.head[--a],e.head[a]=n>=s?n-s:0}while(--t);t=s,a=t;do{n=e.prev[--a],e.prev[a]=n>=s?n-s:0}while(--t)};let fn=(e,t,n)=>(t<<e.hash_shift^n)&e.hash_mask;const mn=e=>{const t=e.state;let n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+n),e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))},pn=(e,t)=>{Mt(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,mn(e.strm)},gn=(e,t)=>{e.pending_buf[e.pending++]=t},wn=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t},En=(e,t,n,a)=>{let s=e.avail_in;return s>a&&(s=a),0===s?0:(e.avail_in-=s,t.set(e.input.subarray(e.next_in,e.next_in+s),n),1===e.state.wrap?e.adler=Rt(e.adler,t,s,n):2===e.state.wrap&&(e.adler=Nt(e.adler,t,s,n)),e.next_in+=s,e.total_in+=s,s)},Tn=(e,t)=>{let n,a,s=e.max_chain_length,i=e.strstart,r=e.prev_length,o=e.nice_match;const d=e.strstart>e.w_size-rn?e.strstart-(e.w_size-rn):0,l=e.window,c=e.w_mask,u=e.prev,_=e.strstart+sn;let h=l[i+r-1],f=l[i+r];e.prev_length>=e.good_match&&(s>>=2),o>e.lookahead&&(o=e.lookahead);do{if(n=t,l[n+r]===f&&l[n+r-1]===h&&l[n]===l[i]&&l[++n]===l[i+1]){i+=2,n++;do{}while(l[++i]===l[++n]&&l[++i]===l[++n]&&l[++i]===l[++n]&&l[++i]===l[++n]&&l[++i]===l[++n]&&l[++i]===l[++n]&&l[++i]===l[++n]&&l[++i]===l[++n]&&i<_);if(a=sn-(_-i),i=_-sn,a>r){if(e.match_start=t,r=a,a>=o)break;h=l[i+r-1],f=l[i+r]}}}while((t=u[t&c])>d&&0!=--s);return r<=e.lookahead?r:e.lookahead},yn=e=>{const t=e.w_size;let n,a,s;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-rn)&&(e.window.set(e.window.subarray(t,t+t-a),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),hn(e),a+=t),0===e.strm.avail_in)break;if(n=En(e.strm,e.window,e.strstart+e.lookahead,a),e.lookahead+=n,e.lookahead+e.insert>=3)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=fn(e,e.ins_h,e.window[s+1]);e.insert&&(e.ins_h=fn(e,e.ins_h,e.window[s+3-1]),e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<rn&&0!==e.strm.avail_in)},bn=(e,t)=>{let n,a,s,i=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,r=0,o=e.strm.avail_in;do{if(n=65535,s=e.bi_valid+42>>3,e.strm.avail_out<s)break;if(s=e.strm.avail_out-s,a=e.strstart-e.block_start,n>a+e.strm.avail_in&&(n=a+e.strm.avail_in),n>s&&(n=s),n<i&&(0===n&&t!==jt||t===Wt||n!==a+e.strm.avail_in))break;r=t===jt&&n===a+e.strm.avail_in?1:0,Ft(e,0,0,r),e.pending_buf[e.pending-4]=n,e.pending_buf[e.pending-3]=n>>8,e.pending_buf[e.pending-2]=~n,e.pending_buf[e.pending-1]=~n>>8,mn(e.strm),a&&(a>n&&(a=n),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+a),e.strm.next_out),e.strm.next_out+=a,e.strm.avail_out-=a,e.strm.total_out+=a,e.block_start+=a,n-=a),n&&(En(e.strm,e.strm.output,e.strm.next_out,n),e.strm.next_out+=n,e.strm.avail_out-=n,e.strm.total_out+=n)}while(0===r);return o-=e.strm.avail_in,o&&(o>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=o&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-o,e.strm.next_in),e.strstart),e.strstart+=o,e.insert+=o>e.w_size-e.insert?e.w_size-e.insert:o),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),r?4:t!==Wt&&t!==jt&&0===e.strm.avail_in&&e.strstart===e.block_start?2:(s=e.window_size-e.strstart,e.strm.avail_in>s&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,s+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),s>e.strm.avail_in&&(s=e.strm.avail_in),s&&(En(e.strm,e.window,e.strstart,s),e.strstart+=s,e.insert+=s>e.w_size-e.insert?e.w_size-e.insert:s),e.high_water<e.strstart&&(e.high_water=e.strstart),s=e.bi_valid+42>>3,s=e.pending_buf_size-s>65535?65535:e.pending_buf_size-s,i=s>e.w_size?e.w_size:s,a=e.strstart-e.block_start,(a>=i||(a||t===jt)&&t!==Wt&&0===e.strm.avail_in&&a<=s)&&(n=a>s?s:a,r=t===jt&&0===e.strm.avail_in&&n===a?1:0,Ft(e,e.block_start,n,r),e.block_start+=n,mn(e.strm)),r?3:1)},vn=(e,t)=>{let n,a;for(;;){if(e.lookahead<rn){if(yn(e),e.lookahead<rn&&t===Wt)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=3&&(e.ins_h=fn(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==n&&e.strstart-n<=e.w_size-rn&&(e.match_length=Tn(e,n)),e.match_length>=3)if(a=zt(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do{e.strstart++,e.ins_h=fn(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=fn(e,e.ins_h,e.window[e.strstart+1]);else a=zt(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(a&&(pn(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,t===jt?(pn(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(pn(e,!1),0===e.strm.avail_out)?1:2},An=(e,t)=>{let n,a,s;for(;;){if(e.lookahead<rn){if(yn(e),e.lookahead<rn&&t===Wt)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=3&&(e.ins_h=fn(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==n&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-rn&&(e.match_length=Tn(e,n),e.match_length<=5&&(e.strategy===qt||3===e.match_length&&e.strstart-e.match_start>4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){s=e.strstart+e.lookahead-3,a=zt(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=s&&(e.ins_h=fn(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=2,e.strstart++,a&&(pn(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if(a=zt(e,0,e.window[e.strstart-1]),a&&pn(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(a=zt(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,t===jt?(pn(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(pn(e,!1),0===e.strm.avail_out)?1:2};function kn(e,t,n,a,s){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=a,this.func=s}const In=[new kn(0,0,0,0,bn),new kn(4,4,8,4,vn),new kn(4,5,16,8,vn),new kn(4,6,32,32,vn),new kn(4,4,16,16,An),new kn(8,16,32,32,An),new kn(8,16,128,128,An),new kn(8,32,128,256,An),new kn(32,128,258,1024,An),new kn(32,258,258,4096,An)];function Cn(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=an,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),_n(this.dyn_ltree),_n(this.dyn_dtree),_n(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),_n(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),_n(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const xn=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.status!==on&&57!==t.status&&69!==t.status&&73!==t.status&&91!==t.status&&103!==t.status&&t.status!==dn&&t.status!==ln?1:0},Sn=e=>{if(xn(e))return cn(e,Gt);e.total_in=e.total_out=0,e.data_type=nn;const t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=2===t.wrap?57:t.wrap?on:dn,e.adler=2===t.wrap?0:1,t.last_flush=-2,Lt(t),Kt},Rn=e=>{const t=Sn(e);var n;return t===Kt&&((n=e.state).window_size=2*n.w_size,_n(n.head),n.max_lazy_match=In[n.level].max_lazy,n.good_match=In[n.level].good_length,n.nice_match=In[n.level].nice_length,n.max_chain_length=In[n.level].max_chain,n.strstart=0,n.block_start=0,n.lookahead=0,n.insert=0,n.match_length=n.prev_length=2,n.match_available=0,n.ins_h=0),t},On=(e,t,n,a,s,i)=>{if(!e)return Gt;let r=1;if(t===$t&&(t=6),a<0?(r=0,a=-a):a>15&&(r=2,a-=16),s<1||s>9||n!==an||a<8||a>15||t<0||t>9||i<0||i>en||8===a&&1!==r)return cn(e,Gt);8===a&&(a=9);const o=new Cn;return e.state=o,o.strm=e,o.status=on,o.wrap=r,o.gzhead=null,o.w_bits=a,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=s+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+3-1)/3),o.window=new Uint8Array(2*o.w_size),o.head=new Uint16Array(o.hash_size),o.prev=new Uint16Array(o.w_size),o.lit_bufsize=1<<s+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new Uint8Array(o.pending_buf_size),o.sym_buf=o.lit_bufsize,o.sym_end=3*(o.lit_bufsize-1),o.level=t,o.strategy=i,o.method=n,Rn(e)};var Nn={deflateInit:(e,t)=>On(e,t,an,15,8,tn),deflateInit2:On,deflateReset:Rn,deflateResetKeep:Sn,deflateSetHeader:(e,t)=>xn(e)||2!==e.state.wrap?Gt:(e.state.gzhead=t,Kt),deflate:(e,t)=>{if(xn(e)||t>Zt||t<0)return e?cn(e,Gt):Gt;const n=e.state;if(!e.output||0!==e.avail_in&&!e.input||n.status===ln&&t!==jt)return cn(e,0===e.avail_out?Xt:Gt);const a=n.last_flush;if(n.last_flush=t,0!==n.pending){if(mn(e),0===e.avail_out)return n.last_flush=-1,Kt}else if(0===e.avail_in&&un(t)<=un(a)&&t!==jt)return cn(e,Xt);if(n.status===ln&&0!==e.avail_in)return cn(e,Xt);if(n.status===on&&0===n.wrap&&(n.status=dn),n.status===on){let t=an+(n.w_bits-8<<4)<<8,a=-1;if(a=n.strategy>=Jt||n.level<2?0:n.level<6?1:6===n.level?2:3,t|=a<<6,0!==n.strstart&&(t|=32),t+=31-t%31,wn(n,t),0!==n.strstart&&(wn(n,e.adler>>>16),wn(n,65535&e.adler)),e.adler=1,n.status=dn,mn(e),0!==n.pending)return n.last_flush=-1,Kt}if(57===n.status)if(e.adler=0,gn(n,31),gn(n,139),gn(n,8),n.gzhead)gn(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),gn(n,255&n.gzhead.time),gn(n,n.gzhead.time>>8&255),gn(n,n.gzhead.time>>16&255),gn(n,n.gzhead.time>>24&255),gn(n,9===n.level?2:n.strategy>=Jt||n.level<2?4:0),gn(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(gn(n,255&n.gzhead.extra.length),gn(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=Nt(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69;else if(gn(n,0),gn(n,0),gn(n,0),gn(n,0),gn(n,0),gn(n,9===n.level?2:n.strategy>=Jt||n.level<2?4:0),gn(n,3),n.status=dn,mn(e),0!==n.pending)return n.last_flush=-1,Kt;if(69===n.status){if(n.gzhead.extra){let t=n.pending,a=(65535&n.gzhead.extra.length)-n.gzindex;for(;n.pending+a>n.pending_buf_size;){let s=n.pending_buf_size-n.pending;if(n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex,n.gzindex+s),n.pending),n.pending=n.pending_buf_size,n.gzhead.hcrc&&n.pending>t&&(e.adler=Nt(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex+=s,mn(e),0!==n.pending)return n.last_flush=-1,Kt;t=0,a-=s}let s=new Uint8Array(n.gzhead.extra);n.pending_buf.set(s.subarray(n.gzindex,n.gzindex+a),n.pending),n.pending+=a,n.gzhead.hcrc&&n.pending>t&&(e.adler=Nt(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex=0}n.status=73}if(73===n.status){if(n.gzhead.name){let t,a=n.pending;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>a&&(e.adler=Nt(e.adler,n.pending_buf,n.pending-a,a)),mn(e),0!==n.pending)return n.last_flush=-1,Kt;a=0}t=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,gn(n,t)}while(0!==t);n.gzhead.hcrc&&n.pending>a&&(e.adler=Nt(e.adler,n.pending_buf,n.pending-a,a)),n.gzindex=0}n.status=91}if(91===n.status){if(n.gzhead.comment){let t,a=n.pending;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>a&&(e.adler=Nt(e.adler,n.pending_buf,n.pending-a,a)),mn(e),0!==n.pending)return n.last_flush=-1,Kt;a=0}t=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,gn(n,t)}while(0!==t);n.gzhead.hcrc&&n.pending>a&&(e.adler=Nt(e.adler,n.pending_buf,n.pending-a,a))}n.status=103}if(103===n.status){if(n.gzhead.hcrc){if(n.pending+2>n.pending_buf_size&&(mn(e),0!==n.pending))return n.last_flush=-1,Kt;gn(n,255&e.adler),gn(n,e.adler>>8&255),e.adler=0}if(n.status=dn,mn(e),0!==n.pending)return n.last_flush=-1,Kt}if(0!==e.avail_in||0!==n.lookahead||t!==Wt&&n.status!==ln){let a=0===n.level?bn(n,t):n.strategy===Jt?((e,t)=>{let n;for(;;){if(0===e.lookahead&&(yn(e),0===e.lookahead)){if(t===Wt)return 1;break}if(e.match_length=0,n=zt(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(pn(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===jt?(pn(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(pn(e,!1),0===e.strm.avail_out)?1:2})(n,t):n.strategy===Qt?((e,t)=>{let n,a,s,i;const r=e.window;for(;;){if(e.lookahead<=sn){if(yn(e),e.lookahead<=sn&&t===Wt)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(s=e.strstart-1,a=r[s],a===r[++s]&&a===r[++s]&&a===r[++s])){i=e.strstart+sn;do{}while(a===r[++s]&&a===r[++s]&&a===r[++s]&&a===r[++s]&&a===r[++s]&&a===r[++s]&&a===r[++s]&&a===r[++s]&&s<i);e.match_length=sn-(i-s),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(n=zt(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=zt(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(pn(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===jt?(pn(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(pn(e,!1),0===e.strm.avail_out)?1:2})(n,t):In[n.level].func(n,t);if(3!==a&&4!==a||(n.status=ln),1===a||3===a)return 0===e.avail_out&&(n.last_flush=-1),Kt;if(2===a&&(t===Ht?Pt(n):t!==Zt&&(Ft(n,0,0,!1),t===Bt&&(_n(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),mn(e),0===e.avail_out))return n.last_flush=-1,Kt}return t!==jt?Kt:n.wrap<=0?Vt:(2===n.wrap?(gn(n,255&e.adler),gn(n,e.adler>>8&255),gn(n,e.adler>>16&255),gn(n,e.adler>>24&255),gn(n,255&e.total_in),gn(n,e.total_in>>8&255),gn(n,e.total_in>>16&255),gn(n,e.total_in>>24&255)):(wn(n,e.adler>>>16),wn(n,65535&e.adler)),mn(e),n.wrap>0&&(n.wrap=-n.wrap),0!==n.pending?Kt:Vt)},deflateEnd:e=>{if(xn(e))return Gt;const t=e.state.status;return e.state=null,t===dn?cn(e,Yt):Kt},deflateSetDictionary:(e,t)=>{let n=t.length;if(xn(e))return Gt;const a=e.state,s=a.wrap;if(2===s||1===s&&a.status!==on||a.lookahead)return Gt;if(1===s&&(e.adler=Rt(e.adler,t,n,0)),a.wrap=0,n>=a.w_size){0===s&&(_n(a.head),a.strstart=0,a.block_start=0,a.insert=0);let e=new Uint8Array(a.w_size);e.set(t.subarray(n-a.w_size,n),0),t=e,n=a.w_size}const i=e.avail_in,r=e.next_in,o=e.input;for(e.avail_in=n,e.next_in=0,e.input=t,yn(a);a.lookahead>=3;){let e=a.strstart,t=a.lookahead-2;do{a.ins_h=fn(a,a.ins_h,a.window[e+3-1]),a.prev[e&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=e,e++}while(--t);a.strstart=e,a.lookahead=2,yn(a)}return a.strstart+=a.lookahead,a.block_start=a.strstart,a.insert=a.lookahead,a.lookahead=0,a.match_length=a.prev_length=2,a.match_available=0,e.next_in=r,e.input=o,e.avail_in=i,a.wrap=s,Kt},deflateInfo:"pako deflate (from Nodeca project)"};const Dn=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var Un={assign:function(e){const t=Array.prototype.slice.call(arguments,1);for(;t.length;){const n=t.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(const t in n)Dn(n,t)&&(e[t]=n[t])}}return e},flattenChunks:e=>{let t=0;for(let n=0,a=e.length;n<a;n++)t+=e[n].length;const n=new Uint8Array(t);for(let t=0,a=0,s=e.length;t<s;t++){let s=e[t];n.set(s,a),a+=s.length}return n}};let Ln=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){Ln=!1}const Fn=new Uint8Array(256);for(let e=0;e<256;e++)Fn[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;Fn[254]=Fn[254]=1;var Mn={string2buf:e=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);let t,n,a,s,i,r=e.length,o=0;for(s=0;s<r;s++)n=e.charCodeAt(s),55296==(64512&n)&&s+1<r&&(a=e.charCodeAt(s+1),56320==(64512&a)&&(n=65536+(n-55296<<10)+(a-56320),s++)),o+=n<128?1:n<2048?2:n<65536?3:4;for(t=new Uint8Array(o),i=0,s=0;i<o;s++)n=e.charCodeAt(s),55296==(64512&n)&&s+1<r&&(a=e.charCodeAt(s+1),56320==(64512&a)&&(n=65536+(n-55296<<10)+(a-56320),s++)),n<128?t[i++]=n:n<2048?(t[i++]=192|n>>>6,t[i++]=128|63&n):n<65536?(t[i++]=224|n>>>12,t[i++]=128|n>>>6&63,t[i++]=128|63&n):(t[i++]=240|n>>>18,t[i++]=128|n>>>12&63,t[i++]=128|n>>>6&63,t[i++]=128|63&n);return t},buf2string:(e,t)=>{const n=t||e.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(e.subarray(0,t));let a,s;const i=new Array(2*n);for(s=0,a=0;a<n;){let t=e[a++];if(t<128){i[s++]=t;continue}let r=Fn[t];if(r>4)i[s++]=65533,a+=r-1;else{for(t&=2===r?31:3===r?15:7;r>1&&a<n;)t=t<<6|63&e[a++],r--;r>1?i[s++]=65533:t<65536?i[s++]=t:(t-=65536,i[s++]=55296|t>>10&1023,i[s++]=56320|1023&t)}}return((e,t)=>{if(t<65534&&e.subarray&&Ln)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let n="";for(let a=0;a<t;a++)n+=String.fromCharCode(e[a]);return n})(i,s)},utf8border:(e,t)=>{(t=t||e.length)>e.length&&(t=e.length);let n=t-1;for(;n>=0&&128==(192&e[n]);)n--;return n<0||0===n?t:n+Fn[e[n]]>t?n:t}};var zn=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const Pn=Object.prototype.toString,{Z_NO_FLUSH:Wn,Z_SYNC_FLUSH:Hn,Z_FULL_FLUSH:Bn,Z_FINISH:jn,Z_OK:Zn,Z_STREAM_END:Kn,Z_DEFAULT_COMPRESSION:Vn,Z_DEFAULT_STRATEGY:Gn,Z_DEFLATED:Yn}=Ut;function Xn(e){this.options=Un.assign({level:Vn,method:Yn,chunkSize:16384,windowBits:15,memLevel:8,strategy:Gn},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new zn,this.strm.avail_out=0;let n=Nn.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==Zn)throw new Error(Dt[n]);if(t.header&&Nn.deflateSetHeader(this.strm,t.header),t.dictionary){let e;if(e="string"==typeof t.dictionary?Mn.string2buf(t.dictionary):"[object ArrayBuffer]"===Pn.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,n=Nn.deflateSetDictionary(this.strm,e),n!==Zn)throw new Error(Dt[n]);this._dict_set=!0}}function $n(e,t){const n=new Xn(t);if(n.push(e,!0),n.err)throw n.msg||Dt[n.err];return n.result}Xn.prototype.push=function(e,t){const n=this.strm,a=this.options.chunkSize;let s,i;if(this.ended)return!1;for(i=t===~~t?t:!0===t?jn:Wn,"string"==typeof e?n.input=Mn.string2buf(e):"[object ArrayBuffer]"===Pn.call(e)?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;)if(0===n.avail_out&&(n.output=new Uint8Array(a),n.next_out=0,n.avail_out=a),(i===Hn||i===Bn)&&n.avail_out<=6)this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;else{if(s=Nn.deflate(n,i),s===Kn)return n.next_out>0&&this.onData(n.output.subarray(0,n.next_out)),s=Nn.deflateEnd(this.strm),this.onEnd(s),this.ended=!0,s===Zn;if(0!==n.avail_out){if(i>0&&n.next_out>0)this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;else if(0===n.avail_in)break}else this.onData(n.output)}return!0},Xn.prototype.onData=function(e){this.chunks.push(e)},Xn.prototype.onEnd=function(e){e===Zn&&(this.result=Un.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var qn={Deflate:Xn,deflate:$n,deflateRaw:function(e,t){return(t=t||{}).raw=!0,$n(e,t)},gzip:function(e,t){return(t=t||{}).gzip=!0,$n(e,t)},constants:Ut};const Jn=16209;var Qn=function(e,t){let n,a,s,i,r,o,d,l,c,u,_,h,f,m,p,g,w,E,T,y,b,v,A,k;const I=e.state;n=e.next_in,A=e.input,a=n+(e.avail_in-5),s=e.next_out,k=e.output,i=s-(t-e.avail_out),r=s+(e.avail_out-257),o=I.dmax,d=I.wsize,l=I.whave,c=I.wnext,u=I.window,_=I.hold,h=I.bits,f=I.lencode,m=I.distcode,p=(1<<I.lenbits)-1,g=(1<<I.distbits)-1;e:do{h<15&&(_+=A[n++]<<h,h+=8,_+=A[n++]<<h,h+=8),w=f[_&p];t:for(;;){if(E=w>>>24,_>>>=E,h-=E,E=w>>>16&255,0===E)k[s++]=65535&w;else{if(!(16&E)){if(0==(64&E)){w=f[(65535&w)+(_&(1<<E)-1)];continue t}if(32&E){I.mode=16191;break e}e.msg="invalid literal/length code",I.mode=Jn;break e}T=65535&w,E&=15,E&&(h<E&&(_+=A[n++]<<h,h+=8),T+=_&(1<<E)-1,_>>>=E,h-=E),h<15&&(_+=A[n++]<<h,h+=8,_+=A[n++]<<h,h+=8),w=m[_&g];n:for(;;){if(E=w>>>24,_>>>=E,h-=E,E=w>>>16&255,!(16&E)){if(0==(64&E)){w=m[(65535&w)+(_&(1<<E)-1)];continue n}e.msg="invalid distance code",I.mode=Jn;break e}if(y=65535&w,E&=15,h<E&&(_+=A[n++]<<h,h+=8,h<E&&(_+=A[n++]<<h,h+=8)),y+=_&(1<<E)-1,y>o){e.msg="invalid distance too far back",I.mode=Jn;break e}if(_>>>=E,h-=E,E=s-i,y>E){if(E=y-E,E>l&&I.sane){e.msg="invalid distance too far back",I.mode=Jn;break e}if(b=0,v=u,0===c){if(b+=d-E,E<T){T-=E;do{k[s++]=u[b++]}while(--E);b=s-y,v=k}}else if(c<E){if(b+=d+c-E,E-=c,E<T){T-=E;do{k[s++]=u[b++]}while(--E);if(b=0,c<T){E=c,T-=E;do{k[s++]=u[b++]}while(--E);b=s-y,v=k}}}else if(b+=c-E,E<T){T-=E;do{k[s++]=u[b++]}while(--E);b=s-y,v=k}for(;T>2;)k[s++]=v[b++],k[s++]=v[b++],k[s++]=v[b++],T-=3;T&&(k[s++]=v[b++],T>1&&(k[s++]=v[b++]))}else{b=s-y;do{k[s++]=k[b++],k[s++]=k[b++],k[s++]=k[b++],T-=3}while(T>2);T&&(k[s++]=k[b++],T>1&&(k[s++]=k[b++]))}break}}break}}while(n<a&&s<r);T=h>>3,n-=T,h-=T<<3,_&=(1<<h)-1,e.next_in=n,e.next_out=s,e.avail_in=n<a?a-n+5:5-(n-a),e.avail_out=s<r?r-s+257:257-(s-r),I.hold=_,I.bits=h};const ea=15,ta=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),na=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),aa=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),sa=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var ia=(e,t,n,a,s,i,r,o)=>{const d=o.bits;let l,c,u,_,h,f,m=0,p=0,g=0,w=0,E=0,T=0,y=0,b=0,v=0,A=0,k=null;const I=new Uint16Array(16),C=new Uint16Array(16);let x,S,R,O=null;for(m=0;m<=ea;m++)I[m]=0;for(p=0;p<a;p++)I[t[n+p]]++;for(E=d,w=ea;w>=1&&0===I[w];w--);if(E>w&&(E=w),0===w)return s[i++]=20971520,s[i++]=20971520,o.bits=1,0;for(g=1;g<w&&0===I[g];g++);for(E<g&&(E=g),b=1,m=1;m<=ea;m++)if(b<<=1,b-=I[m],b<0)return-1;if(b>0&&(0===e||1!==w))return-1;for(C[1]=0,m=1;m<ea;m++)C[m+1]=C[m]+I[m];for(p=0;p<a;p++)0!==t[n+p]&&(r[C[t[n+p]]++]=p);if(0===e?(k=O=r,f=20):1===e?(k=ta,O=na,f=257):(k=aa,O=sa,f=0),A=0,p=0,m=g,h=i,T=E,y=0,u=-1,v=1<<E,_=v-1,1===e&&v>852||2===e&&v>592)return 1;for(;;){x=m-y,r[p]+1<f?(S=0,R=r[p]):r[p]>=f?(S=O[r[p]-f],R=k[r[p]-f]):(S=96,R=0),l=1<<m-y,c=1<<T,g=c;do{c-=l,s[h+(A>>y)+c]=x<<24|S<<16|R|0}while(0!==c);for(l=1<<m-1;A&l;)l>>=1;if(0!==l?(A&=l-1,A+=l):A=0,p++,0==--I[m]){if(m===w)break;m=t[n+r[p]]}if(m>E&&(A&_)!==u){for(0===y&&(y=E),h+=g,T=m-y,b=1<<T;T+y<w&&(b-=I[T+y],!(b<=0));)T++,b<<=1;if(v+=1<<T,1===e&&v>852||2===e&&v>592)return 1;u=A&_,s[u]=E<<24|T<<16|h-i|0}}return 0!==A&&(s[h+A]=m-y<<24|64<<16|0),o.bits=E,0};const{Z_FINISH:ra,Z_BLOCK:oa,Z_TREES:da,Z_OK:la,Z_STREAM_END:ca,Z_NEED_DICT:ua,Z_STREAM_ERROR:_a,Z_DATA_ERROR:ha,Z_MEM_ERROR:fa,Z_BUF_ERROR:ma,Z_DEFLATED:pa}=Ut,ga=16180,wa=16190,Ea=16191,Ta=16192,ya=16194,ba=16199,va=16200,Aa=16206,ka=16209,Ia=e=>(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24);function Ca(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const xa=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.mode<ga||t.mode>16211?1:0},Sa=e=>{if(xa(e))return _a;const t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=ga,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,la},Ra=e=>{if(xa(e))return _a;const t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,Sa(e)},Oa=(e,t)=>{let n;if(xa(e))return _a;const a=e.state;return t<0?(n=0,t=-t):(n=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?_a:(null!==a.window&&a.wbits!==t&&(a.window=null),a.wrap=n,a.wbits=t,Ra(e))},Na=(e,t)=>{if(!e)return _a;const n=new Ca;e.state=n,n.strm=e,n.window=null,n.mode=ga;const a=Oa(e,t);return a!==la&&(e.state=null),a};let Da,Ua,La=!0;const Fa=e=>{if(La){Da=new Int32Array(512),Ua=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(ia(1,e.lens,0,288,Da,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;ia(2,e.lens,0,32,Ua,0,e.work,{bits:5}),La=!1}e.lencode=Da,e.lenbits=9,e.distcode=Ua,e.distbits=5},Ma=(e,t,n,a)=>{let s;const i=e.state;return null===i.window&&(i.wsize=1<<i.wbits,i.wnext=0,i.whave=0,i.window=new Uint8Array(i.wsize)),a>=i.wsize?(i.window.set(t.subarray(n-i.wsize,n),0),i.wnext=0,i.whave=i.wsize):(s=i.wsize-i.wnext,s>a&&(s=a),i.window.set(t.subarray(n-a,n-a+s),i.wnext),(a-=s)?(i.window.set(t.subarray(n-a,n),0),i.wnext=a,i.whave=i.wsize):(i.wnext+=s,i.wnext===i.wsize&&(i.wnext=0),i.whave<i.wsize&&(i.whave+=s))),0};var za={inflateReset:Ra,inflateReset2:Oa,inflateResetKeep:Sa,inflateInit:e=>Na(e,15),inflateInit2:Na,inflate:(e,t)=>{let n,a,s,i,r,o,d,l,c,u,_,h,f,m,p,g,w,E,T,y,b,v,A=0;const k=new Uint8Array(4);let I,C;const x=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(xa(e)||!e.output||!e.input&&0!==e.avail_in)return _a;n=e.state,n.mode===Ea&&(n.mode=Ta),r=e.next_out,s=e.output,d=e.avail_out,i=e.next_in,a=e.input,o=e.avail_in,l=n.hold,c=n.bits,u=o,_=d,v=la;e:for(;;)switch(n.mode){case ga:if(0===n.wrap){n.mode=Ta;break}for(;c<16;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}if(2&n.wrap&&35615===l){0===n.wbits&&(n.wbits=15),n.check=0,k[0]=255&l,k[1]=l>>>8&255,n.check=Nt(n.check,k,2,0),l=0,c=0,n.mode=16181;break}if(n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&l)<<8)+(l>>8))%31){e.msg="incorrect header check",n.mode=ka;break}if((15&l)!==pa){e.msg="unknown compression method",n.mode=ka;break}if(l>>>=4,c-=4,b=8+(15&l),0===n.wbits&&(n.wbits=b),b>15||b>n.wbits){e.msg="invalid window size",n.mode=ka;break}n.dmax=1<<n.wbits,n.flags=0,e.adler=n.check=1,n.mode=512&l?16189:Ea,l=0,c=0;break;case 16181:for(;c<16;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}if(n.flags=l,(255&n.flags)!==pa){e.msg="unknown compression method",n.mode=ka;break}if(57344&n.flags){e.msg="unknown header flags set",n.mode=ka;break}n.head&&(n.head.text=l>>8&1),512&n.flags&&4&n.wrap&&(k[0]=255&l,k[1]=l>>>8&255,n.check=Nt(n.check,k,2,0)),l=0,c=0,n.mode=16182;case 16182:for(;c<32;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}n.head&&(n.head.time=l),512&n.flags&&4&n.wrap&&(k[0]=255&l,k[1]=l>>>8&255,k[2]=l>>>16&255,k[3]=l>>>24&255,n.check=Nt(n.check,k,4,0)),l=0,c=0,n.mode=16183;case 16183:for(;c<16;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}n.head&&(n.head.xflags=255&l,n.head.os=l>>8),512&n.flags&&4&n.wrap&&(k[0]=255&l,k[1]=l>>>8&255,n.check=Nt(n.check,k,2,0)),l=0,c=0,n.mode=16184;case 16184:if(1024&n.flags){for(;c<16;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}n.length=l,n.head&&(n.head.extra_len=l),512&n.flags&&4&n.wrap&&(k[0]=255&l,k[1]=l>>>8&255,n.check=Nt(n.check,k,2,0)),l=0,c=0}else n.head&&(n.head.extra=null);n.mode=16185;case 16185:if(1024&n.flags&&(h=n.length,h>o&&(h=o),h&&(n.head&&(b=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(a.subarray(i,i+h),b)),512&n.flags&&4&n.wrap&&(n.check=Nt(n.check,a,h,i)),o-=h,i+=h,n.length-=h),n.length))break e;n.length=0,n.mode=16186;case 16186:if(2048&n.flags){if(0===o)break e;h=0;do{b=a[i+h++],n.head&&b&&n.length<65536&&(n.head.name+=String.fromCharCode(b))}while(b&&h<o);if(512&n.flags&&4&n.wrap&&(n.check=Nt(n.check,a,h,i)),o-=h,i+=h,b)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=16187;case 16187:if(4096&n.flags){if(0===o)break e;h=0;do{b=a[i+h++],n.head&&b&&n.length<65536&&(n.head.comment+=String.fromCharCode(b))}while(b&&h<o);if(512&n.flags&&4&n.wrap&&(n.check=Nt(n.check,a,h,i)),o-=h,i+=h,b)break e}else n.head&&(n.head.comment=null);n.mode=16188;case 16188:if(512&n.flags){for(;c<16;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}if(4&n.wrap&&l!==(65535&n.check)){e.msg="header crc mismatch",n.mode=ka;break}l=0,c=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=Ea;break;case 16189:for(;c<32;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}e.adler=n.check=Ia(l),l=0,c=0,n.mode=wa;case wa:if(0===n.havedict)return e.next_out=r,e.avail_out=d,e.next_in=i,e.avail_in=o,n.hold=l,n.bits=c,ua;e.adler=n.check=1,n.mode=Ea;case Ea:if(t===oa||t===da)break e;case Ta:if(n.last){l>>>=7&c,c-=7&c,n.mode=Aa;break}for(;c<3;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}switch(n.last=1&l,l>>>=1,c-=1,3&l){case 0:n.mode=16193;break;case 1:if(Fa(n),n.mode=ba,t===da){l>>>=2,c-=2;break e}break;case 2:n.mode=16196;break;case 3:e.msg="invalid block type",n.mode=ka}l>>>=2,c-=2;break;case 16193:for(l>>>=7&c,c-=7&c;c<32;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}if((65535&l)!=(l>>>16^65535)){e.msg="invalid stored block lengths",n.mode=ka;break}if(n.length=65535&l,l=0,c=0,n.mode=ya,t===da)break e;case ya:n.mode=16195;case 16195:if(h=n.length,h){if(h>o&&(h=o),h>d&&(h=d),0===h)break e;s.set(a.subarray(i,i+h),r),o-=h,i+=h,d-=h,r+=h,n.length-=h;break}n.mode=Ea;break;case 16196:for(;c<14;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}if(n.nlen=257+(31&l),l>>>=5,c-=5,n.ndist=1+(31&l),l>>>=5,c-=5,n.ncode=4+(15&l),l>>>=4,c-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=ka;break}n.have=0,n.mode=16197;case 16197:for(;n.have<n.ncode;){for(;c<3;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}n.lens[x[n.have++]]=7&l,l>>>=3,c-=3}for(;n.have<19;)n.lens[x[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,I={bits:n.lenbits},v=ia(0,n.lens,0,19,n.lencode,0,n.work,I),n.lenbits=I.bits,v){e.msg="invalid code lengths set",n.mode=ka;break}n.have=0,n.mode=16198;case 16198:for(;n.have<n.nlen+n.ndist;){for(;A=n.lencode[l&(1<<n.lenbits)-1],p=A>>>24,g=A>>>16&255,w=65535&A,!(p<=c);){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}if(w<16)l>>>=p,c-=p,n.lens[n.have++]=w;else{if(16===w){for(C=p+2;c<C;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}if(l>>>=p,c-=p,0===n.have){e.msg="invalid bit length repeat",n.mode=ka;break}b=n.lens[n.have-1],h=3+(3&l),l>>>=2,c-=2}else if(17===w){for(C=p+3;c<C;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}l>>>=p,c-=p,b=0,h=3+(7&l),l>>>=3,c-=3}else{for(C=p+7;c<C;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}l>>>=p,c-=p,b=0,h=11+(127&l),l>>>=7,c-=7}if(n.have+h>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=ka;break}for(;h--;)n.lens[n.have++]=b}}if(n.mode===ka)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=ka;break}if(n.lenbits=9,I={bits:n.lenbits},v=ia(1,n.lens,0,n.nlen,n.lencode,0,n.work,I),n.lenbits=I.bits,v){e.msg="invalid literal/lengths set",n.mode=ka;break}if(n.distbits=6,n.distcode=n.distdyn,I={bits:n.distbits},v=ia(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,I),n.distbits=I.bits,v){e.msg="invalid distances set",n.mode=ka;break}if(n.mode=ba,t===da)break e;case ba:n.mode=va;case va:if(o>=6&&d>=258){e.next_out=r,e.avail_out=d,e.next_in=i,e.avail_in=o,n.hold=l,n.bits=c,Qn(e,_),r=e.next_out,s=e.output,d=e.avail_out,i=e.next_in,a=e.input,o=e.avail_in,l=n.hold,c=n.bits,n.mode===Ea&&(n.back=-1);break}for(n.back=0;A=n.lencode[l&(1<<n.lenbits)-1],p=A>>>24,g=A>>>16&255,w=65535&A,!(p<=c);){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}if(g&&0==(240&g)){for(E=p,T=g,y=w;A=n.lencode[y+((l&(1<<E+T)-1)>>E)],p=A>>>24,g=A>>>16&255,w=65535&A,!(E+p<=c);){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}l>>>=E,c-=E,n.back+=E}if(l>>>=p,c-=p,n.back+=p,n.length=w,0===g){n.mode=16205;break}if(32&g){n.back=-1,n.mode=Ea;break}if(64&g){e.msg="invalid literal/length code",n.mode=ka;break}n.extra=15&g,n.mode=16201;case 16201:if(n.extra){for(C=n.extra;c<C;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}n.length+=l&(1<<n.extra)-1,l>>>=n.extra,c-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=16202;case 16202:for(;A=n.distcode[l&(1<<n.distbits)-1],p=A>>>24,g=A>>>16&255,w=65535&A,!(p<=c);){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}if(0==(240&g)){for(E=p,T=g,y=w;A=n.distcode[y+((l&(1<<E+T)-1)>>E)],p=A>>>24,g=A>>>16&255,w=65535&A,!(E+p<=c);){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}l>>>=E,c-=E,n.back+=E}if(l>>>=p,c-=p,n.back+=p,64&g){e.msg="invalid distance code",n.mode=ka;break}n.offset=w,n.extra=15&g,n.mode=16203;case 16203:if(n.extra){for(C=n.extra;c<C;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}n.offset+=l&(1<<n.extra)-1,l>>>=n.extra,c-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=ka;break}n.mode=16204;case 16204:if(0===d)break e;if(h=_-d,n.offset>h){if(h=n.offset-h,h>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=ka;break}h>n.wnext?(h-=n.wnext,f=n.wsize-h):f=n.wnext-h,h>n.length&&(h=n.length),m=n.window}else m=s,f=r-n.offset,h=n.length;h>d&&(h=d),d-=h,n.length-=h;do{s[r++]=m[f++]}while(--h);0===n.length&&(n.mode=va);break;case 16205:if(0===d)break e;s[r++]=n.length,d--,n.mode=va;break;case Aa:if(n.wrap){for(;c<32;){if(0===o)break e;o--,l|=a[i++]<<c,c+=8}if(_-=d,e.total_out+=_,n.total+=_,4&n.wrap&&_&&(e.adler=n.check=n.flags?Nt(n.check,s,_,r-_):Rt(n.check,s,_,r-_)),_=d,4&n.wrap&&(n.flags?l:Ia(l))!==n.check){e.msg="incorrect data check",n.mode=ka;break}l=0,c=0}n.mode=16207;case 16207:if(n.wrap&&n.flags){for(;c<32;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}if(4&n.wrap&&l!==(4294967295&n.total)){e.msg="incorrect length check",n.mode=ka;break}l=0,c=0}n.mode=16208;case 16208:v=ca;break e;case ka:v=ha;break e;case 16210:return fa;default:return _a}return e.next_out=r,e.avail_out=d,e.next_in=i,e.avail_in=o,n.hold=l,n.bits=c,(n.wsize||_!==e.avail_out&&n.mode<ka&&(n.mode<Aa||t!==ra))&&Ma(e,e.output,e.next_out,_-e.avail_out),u-=e.avail_in,_-=e.avail_out,e.total_in+=u,e.total_out+=_,n.total+=_,4&n.wrap&&_&&(e.adler=n.check=n.flags?Nt(n.check,s,_,e.next_out-_):Rt(n.check,s,_,e.next_out-_)),e.data_type=n.bits+(n.last?64:0)+(n.mode===Ea?128:0)+(n.mode===ba||n.mode===ya?256:0),(0===u&&0===_||t===ra)&&v===la&&(v=ma),v},inflateEnd:e=>{if(xa(e))return _a;let t=e.state;return t.window&&(t.window=null),e.state=null,la},inflateGetHeader:(e,t)=>{if(xa(e))return _a;const n=e.state;return 0==(2&n.wrap)?_a:(n.head=t,t.done=!1,la)},inflateSetDictionary:(e,t)=>{const n=t.length;let a,s,i;return xa(e)?_a:(a=e.state,0!==a.wrap&&a.mode!==wa?_a:a.mode===wa&&(s=1,s=Rt(s,t,n,0),s!==a.check)?ha:(i=Ma(e,t,n,n),i?(a.mode=16210,fa):(a.havedict=1,la)))},inflateInfo:"pako inflate (from Nodeca project)"};var Pa=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const Wa=Object.prototype.toString,{Z_NO_FLUSH:Ha,Z_FINISH:Ba,Z_OK:ja,Z_STREAM_END:Za,Z_NEED_DICT:Ka,Z_STREAM_ERROR:Va,Z_DATA_ERROR:Ga,Z_MEM_ERROR:Ya}=Ut;function Xa(e){this.options=Un.assign({chunkSize:65536,windowBits:15,to:""},e||{});const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new zn,this.strm.avail_out=0;let n=za.inflateInit2(this.strm,t.windowBits);if(n!==ja)throw new Error(Dt[n]);if(this.header=new Pa,za.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=Mn.string2buf(t.dictionary):"[object ArrayBuffer]"===Wa.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=za.inflateSetDictionary(this.strm,t.dictionary),n!==ja)))throw new Error(Dt[n])}function $a(e,t){const n=new Xa(t);if(n.push(e),n.err)throw n.msg||Dt[n.err];return n.result}Xa.prototype.push=function(e,t){const n=this.strm,a=this.options.chunkSize,s=this.options.dictionary;let i,r,o;if(this.ended)return!1;for(r=t===~~t?t:!0===t?Ba:Ha,"[object ArrayBuffer]"===Wa.call(e)?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){for(0===n.avail_out&&(n.output=new Uint8Array(a),n.next_out=0,n.avail_out=a),i=za.inflate(n,r),i===Ka&&s&&(i=za.inflateSetDictionary(n,s),i===ja?i=za.inflate(n,r):i===Ga&&(i=Ka));n.avail_in>0&&i===Za&&n.state.wrap>0&&0!==e[n.next_in];)za.inflateReset(n),i=za.inflate(n,r);switch(i){case Va:case Ga:case Ka:case Ya:return this.onEnd(i),this.ended=!0,!1}if(o=n.avail_out,n.next_out&&(0===n.avail_out||i===Za))if("string"===this.options.to){let e=Mn.utf8border(n.output,n.next_out),t=n.next_out-e,s=Mn.buf2string(n.output,e);n.next_out=t,n.avail_out=a-t,t&&n.output.set(n.output.subarray(e,e+t),0),this.onData(s)}else this.onData(n.output.length===n.next_out?n.output:n.output.subarray(0,n.next_out));if(i!==ja||0!==o){if(i===Za)return i=za.inflateEnd(this.strm),this.onEnd(i),this.ended=!0,!0;if(0===n.avail_in)break}}return!0},Xa.prototype.onData=function(e){this.chunks.push(e)},Xa.prototype.onEnd=function(e){e===ja&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Un.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var qa={Inflate:Xa,inflate:$a,inflateRaw:function(e,t){return(t=t||{}).raw=!0,$a(e,t)},ungzip:$a,constants:Ut};const{Deflate:Ja,deflate:Qa,deflateRaw:es,gzip:ts}=qn,{Inflate:ns,inflate:as,inflateRaw:ss,ungzip:is}=qa;var rs={Deflate:Ja,deflate:Qa,deflateRaw:es,gzip:ts,Inflate:ns,inflate:as,inflateRaw:ss,ungzip:is,constants:Ut};const os={[e.SANDBOX]:"https://global-stg.transak.com",[e.PRODUCTION]:"https://global.transak.com/"},ds={[e.SANDBOX]:"STAGING",[e.PRODUCTION]:"PRODUCTION"},ls=e=>{const{contractId:n,environment:a,transakParams:s}=e,[i,r]=t.useState(""),o=t.useCallback((()=>{const{calldata:e,nftData:t,estimatedGasLimit:i,...r}=s,o=t?.slice(0,1),d=i>0?i:"30000000",l={apiKey:"d14b44fb-0f84-4db5-affb-e044040d724b",isNFT:"true",disableWalletAddressForm:"true",contractId:n,environment:ds[a],calldata:btoa(String.fromCharCode.apply(null,rs.deflate(e))),nftData:btoa(JSON.stringify(o)),estimatedGasLimit:d.toString(),...r,themeColor:"0D0D0D"};return`${`${os[a]}?`}${new URLSearchParams(l).toString()}`}),[e]);return t.useEffect((()=>{r(o())}),[e]),{iframeSrc:i}};function cs(e){const{id:n,type:a,email:s,walletAddress:i,isPassportWallet:r,nftData:o,calldata:d,cryptoCurrencyCode:l,estimatedGasLimit:c,exchangeScreenTitle:u,partnerOrderId:_,onOpen:h,onInit:f,onOrderCreated:m,onOrderProcessing:g,onOrderCompleted:w,onOrderFailed:E,onFailedToLoad:T,failedToLoadTimeoutInMs:y,loadingText:b,environment:v,contractId:A}=e,k=t.useRef(null),{onLoad:I,initialised:C}=_e({userJourney:Y.SALE,ref:k,email:s,userId:i,isPassportWallet:r,onOpen:h,onOrderCreated:m,onOrderProcessing:g,onOrderCompleted:w,onOrderFailed:E,onInit:f,failedToLoadTimeoutInMs:y,onFailedToLoad:T}),{iframeSrc:x}=ls({type:a,contractId:A,environment:v,transakParams:{nftData:o,calldata:d,cryptoCurrencyCode:l,estimatedGasLimit:c,exchangeScreenTitle:u,email:s,walletAddress:i,partnerOrderId:_}});return p.jsxs(p.Fragment,{children:[!C&&p.jsx(Q,{testId:"loading-view",children:p.jsx(ee,{loadingText:b})}),p.jsx("iframe",{id:n,ref:k,src:x,title:"Transak-Iframe",allow:"camera;microphone;fullscreen;payment",style:{height:"100%",width:"100%",border:"none",position:"absolute",top:0,left:0,opacity:C?1:0,transition:"opacity 0.5s ease-out"},onLoad:I,onError:()=>T?.()})]})}function us(e){const{t:n}=g(),{onInit:a,onOpen:s,onOrderCreated:i,onOrderProcessing:r,onOrderCompleted:o,onOrderFailed:d}=e,{recipientEmail:l,recipientAddress:c,isPassportWallet:u,signResponse:_,goToErrorView:h,environment:f,clientConfig:m}=De(),w=_?.transactions.find((e=>e.methodCall.startsWith("execute")));if(!_||!w)return null;const E=t.useMemo((()=>_.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"})))),[_]);return p.jsx(cs,{id:"transak-iframe",type:"nft-checkout",email:l,walletAddress:c,isPassportWallet:u,exchangeScreenTitle:n("views.PAY_WITH_CARD.screenTitle"),loadingText:n("views.PAY_WITH_CARD.loading"),nftData:E,calldata:w.rawData,cryptoCurrencyCode:_.order.currency.name,estimatedGasLimit:w.gasEstimate,partnerOrderId:w.params.reference,onInit:a,onOpen:s,onOrderCreated:i,onOrderProcessing:r,onOrderCompleted:o,onOrderFailed:d,onFailedToLoad:()=>{h(Te.TRANSACTION_FAILED)},environment:f,contractId:m.contractId})}function _s(){const{sendPageView:e}=Ze(),[n,a]=t.useState(!1),{goBackToPaymentMethods:s,goToErrorView:i,goToSuccessView:r}=De(),{sendOrderCreated:o}=Ze(),d=(e={})=>{const{id:t,status:n,cryptoAmount:a,cryptoCurrency:s,fiatAmount:i,fiatAmountInUsd:o,amountPaid:d,totalFeeInFiat:l,paymentOptionId:c,userId:u,userKycType:_,walletAddress:h,nftAssetInfo:f}=e,{nftDataBase64:m,quantity:p}=f||{};r({orderId:t,orderStatus:n,cryptoAmount:a,cryptoCurrency:s,fiatAmount:i,fiatAmountInUsd:o,amountPaid:d,totalFeeInFiat:l,paymentOption:c,userId:u,userKycType:_,walletAddress:h,nftDataBase64:m,quantity:p})};return t.useEffect((()=>e(we.PAY_WITH_CARD)),[]),p.jsx(H,{header:n&&p.jsx(B,{onCloseButtonClick:()=>s()}),footer:p.jsx(Z,{hideLogo:n}),children:p.jsx(K,{style:{display:"block",position:"relative",maxWidth:"420px",height:"565px",borderRadius:"1%",overflow:"hidden",margin:"0 auto",width:"100%"},children:p.jsx(us,{onInit:()=>a(!0),onOrderFailed:()=>{i(Te.TRANSAK_FAILED)},onOrderCompleted:d,onOrderCreated:(e={})=>{const{id:t,status:n,cryptoAmount:a,cryptoCurrency:s,fiatAmount:i,fiatAmountInUsd:r,amountPaid:d,totalFeeInFiat:l,paymentOptionId:c,userId:u,userKycType:_,walletAddress:h,nftAssetInfo:f}=e,{nftDataBase64:m,quantity:p}=f||{};o(we.PAY_WITH_CARD,{orderId:t,orderStatus:n,cryptoAmount:a,cryptoCurrency:s,fiatAmount:i,fiatAmountInUsd:r,amountPaid:d,totalFeeInFiat:l,paymentOption:c,userId:u,userKycType:_,walletAddress:h,nftDataBase64:m,quantity:p})},onOrderProcessing:d})})})}function hs(){const{t:e}=g(),n=t.useRef(!1),{sendPageView:a,sendTransactionSuccessEvent:s,sendFailedEvent:i}=Ze(),{execute:r,signResponse:o,executeResponse:d,goToSuccessView:l}=De(),c=o?.transactions.length||0,u=d?.transactions.length||0;let _=e("views.PAYMENT_METHODS.loading.ready");void 0!==o?_=e("views.PAYMENT_METHODS.loading.confirm"):u>0&&u===c&&(_=e("views.PAYMENT_METHODS.loading.processing")),void 0!==o&&(_=`${_} ${u}/${c}`);return t.useEffect((()=>{void 0!==o&&!1===n.current&&(n.current=!0,(async()=>{r(o,(e=>{s(e)}),((e,t)=>{i(e.toString(),e,t)}))})())}),[o]),t.useEffect((()=>{!0===d?.done&&l()}),[d]),t.useEffect((()=>a(we.PAY_WITH_COINS)),[]),p.jsx(k,{loadingText:_,showFooterLogo:!0})}function fs(e){const{t:t}=g(),{type:n,onClick:a,disabled:s}=e,i={[m.CRYPTO]:"Coins",[m.FIAT]:"BankCard"};return p.jsxs(U,{size:"medium",emphasized:!0,onClick:s?void 0:()=>a(n),sx:{...s&&{opacity:"0.5",cursor:"not-allowed"},marginBottom:"base.spacing.x1"},disabled:s,children:[p.jsx(U.FramedIcon,{icon:i[n]}),p.jsx(U.Label,{size:"medium",children:t(`views.PAYMENT_METHODS.options.${n}.heading`)}),!s&&p.jsx(U.IntentIcon,{}),p.jsx(U.Caption,{children:t(`views.PAYMENT_METHODS.options.${n}.${s?"disabledCaption":"caption"}`)})]})}const ms=[m.FIAT,m.CRYPTO];function ps(e){const{disabledOptions:t=[],onClick:n}=e;return p.jsx(K,{testId:"payment-options-list",sx:{width:"100%",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start"},children:ms.map((e=>p.jsx(fs,{disabled:t.includes(e),onClick:n,type:e},e)))})}function gs(){const{t:e}=g(),{viewState:n,viewDispatch:a}=t.useContext(h),{sign:s,goToErrorView:i,paymentMethod:r,setPaymentMethod:o,disabledPaymentTypes:d,invalidParameters:l}=De(),{sendPageView:c,sendCloseEvent:u,sendSelectedPaymentMethod:_}=Ze();t.useEffect((()=>{r&&_(r,we.PAYMENT_METHODS),r===m.FIAT&&(s(r,(()=>{a({payload:{type:f.UPDATE_VIEW,view:{type:we.PAY_WITH_CARD}}})})),a({payload:{type:f.UPDATE_VIEW,view:{type:te.LOADING_VIEW,data:{loadingText:e("views.PAYMENT_METHODS.loading.ready")}}}})),r===m.CRYPTO&&a({payload:{type:f.UPDATE_VIEW,view:{type:we.FUND_WITH_SMART_CHECKOUT,subView:Ee.INIT}}})}),[r]);const w=p.jsx(K,{sx:{paddingX:"base.spacing.x2"},children:p.jsxs(ne,{children:[p.jsx(ne.Icon,{icon:"InformationCircle"}),p.jsxs(ne.Caption,{children:[e("views.PAYMENT_METHODS.insufficientCoinsBanner.caption"),p.jsx(ae,{sx:{mx:"base.spacing.x1"},onClick:()=>{a({payload:{type:f.UPDATE_VIEW,view:{type:te.TOP_UP_VIEW}}})},children:e("views.PAYMENT_METHODS.insufficientCoinsBanner.captionCTA")}),e("views.PAYMENT_METHODS.insufficientCoinsBanner.captionEnd")]})]})});return t.useEffect((()=>c(we.PAYMENT_METHODS)),[]),t.useEffect((()=>{l&&i(Te.INVALID_PARAMETERS)}),[l]),p.jsx(H,{testId:"payment-methods",header:p.jsx(B,{onCloseButtonClick:()=>u(we.PAYMENT_METHODS)}),footer:p.jsx(Z,{}),children:p.jsxs(K,{sx:{display:"flex",flexDirection:"column",paddingX:"base.spacing.x2",paddingY:"base.spacing.x8",rowGap:"base.spacing.x4"},children:[p.jsx(L,{size:"small",sx:{paddingX:"base.spacing.x4"},children:e("views.PAYMENT_METHODS.header.heading")}),p.jsx(K,{sx:{paddingX:"base.spacing.x2"},children:p.jsx(ps,{disabledOptions:d,onClick:e=>o(e)})}),n.view.data?.showInsufficientCoinsBanner?w:null]})})}function ws({errorType:e=Te.DEFAULT,transactionHash:n,blockExplorerLink:a,biomeTheme:s}){const{t:i}=g(),{goBackToPaymentMethods:r}=De(),{eventTargetState:{eventTarget:o}}=t.useContext(A),d=()=>{j(o)},l={[Te.TRANSACTION_FAILED]:{onActionClick:r,onSecondaryActionClick:n?()=>{window.open(a)}:d,statusType:se.FAILURE,statusIconStyles:{fill:s.color.status.destructive.dim}},[Te.SERVICE_BREAKDOWN]:{onSecondaryActionClick:d,statusType:se.INFORMATION,statusIconStyles:{fill:s.color.status.fatal.dim}},[Te.PRODUCT_NOT_FOUND]:{onSecondaryActionClick:d,statusType:se.INFORMATION,statusIconStyles:{fill:s.color.status.fatal.dim}},[Te.INSUFFICIENT_STOCK]:{onSecondaryActionClick:d,statusType:se.INFORMATION,statusIconStyles:{fill:s.color.status.fatal.dim}},[Te.TRANSAK_FAILED]:{onActionClick:r,onSecondaryActionClick:d,statusType:se.INFORMATION},[Te.WALLET_FAILED]:{onActionClick:r,onSecondaryActionClick:d,statusType:se.INFORMATION,statusIconStyles:{fill:s.color.status.fatal.dim}},[Te.WALLET_REJECTED_NO_FUNDS]:{onActionClick:r,onSecondaryActionClick:d,statusType:se.INFORMATION},[Te.WALLET_REJECTED]:{onActionClick:()=>{r(m.CRYPTO)},onSecondaryActionClick:d,statusType:se.INFORMATION},[Te.SMART_CHECKOUT_ERROR]:{onActionClick:r,onSecondaryActionClick:d,statusType:se.INFORMATION},[Te.SMART_CHECKOUT_EXECUTE_ERROR]:{onActionClick:r,onSecondaryActionClick:d,statusType:se.INFORMATION},[Te.INVALID_PARAMETERS]:{onSecondaryActionClick:d,statusType:se.ALERT,statusIconStyles:{fill:s.color.status.attention.dim,transform:"none"}},[Te.DEFAULT]:{onActionClick:r,onSecondaryActionClick:d,statusType:se.INFORMATION}};return p.jsx(ie,{...(()=>{const t=l[e]||{},a=e===Te.TRANSACTION_FAILED&&n?i(`views.SALE_FAIL.errors.${Te.DEFAULT}.secondaryAction`):i(`views.SALE_FAIL.errors.${e}.secondaryAction`);return{testId:"fail-view",statusText:i(`views.SALE_FAIL.errors.${e}.description`),actionText:i(`views.SALE_FAIL.errors.${e}.primaryAction`),onActionClick:t?.onActionClick,secondaryActionText:a,onSecondaryActionClick:t?.onSecondaryActionClick,onCloseClick:d,statusType:t.statusType,statusIconStyles:{transform:"rotate(180deg)",fill:s.color.status.guidance.dim,...t.statusIconStyles}}})()})}function Es({data:e}){const{t:t}=g(),{sendCloseEvent:n,sendSuccessEvent:a}=Ze();return p.jsx(ie,{statusText:t("views.SALE_SUCCESS.text"),actionText:t("views.SALE_SUCCESS.actionText"),onRenderEvent:()=>{const{transactions:t,tokenIds:n,...s}=e;a(we.SALE_SUCCESS,t,n,s)},onActionClick:()=>{n(we.SALE_SUCCESS)},statusType:se.SUCCESS,testId:"success-view"})}function Ts(e){const{t:n}=g(),{config:a,amount:s,items:i,environmentId:r,collectionName:o}=e,{connectLoaderState:d}=t.useContext(w),{checkout:l,provider:c}=d,u=t.useRef(),{eventTargetState:{eventTarget:_}}=t.useContext(A),{theme:m}=a,E=t.useMemo((()=>re(m)),[m]),[T,y]=t.useReducer(oe,de),v=t.useMemo((()=>({viewState:T,viewDispatch:y})),[T,y]),{currency:I,clientConfig:C}=(({environment:e,environmentId:n,defaultCurrency:a})=>{const[s,i]=t.useState(),[r,o]=t.useState(Se);return t.useEffect((()=>{e&&n&&(async()=>{const t=`${be[e]}/${n}/client-config`;try{const e=await fetch(t,{method:"GET",headers:{"Content-Type":"application/json"}});if(!e.ok)throw new Error(`${e.status} - ${e.statusText}`);const n=await e.json();o((e=>({contractId:e.contract_id,currencies:e.currencies.map((e=>({...e,erc20Address:e.erc20_address})))}))(n))}catch(e){console.warn("Error fetching client config",e)}})()}),[e,n]),t.useEffect((()=>{if(0===r.currencies.length)return;const e=r.currencies.find((e=>e.name===a))||r.currencies[0];i(e)}),[a,r]),{clientConfig:r,currency:s}})({environmentId:r,environment:a.environment}),x=I?.erc20Address||"",S=T.view.data?.loadingText||n("views.LOADING_VIEW.text");t.useEffect((()=>{l&&c&&(async()=>{const e=await l.getNetworkInfo({provider:c});u.current=e.chainId})()}),[l,c]);const R=t.useRef(!1),O=t.useCallback((()=>{l&&c&&""!==x&&(R.current||(R.current=!0,y({payload:{type:f.UPDATE_VIEW,view:{type:we.PAYMENT_METHODS}}})))}),[l,c,x]);return t.useEffect((()=>{l&&c&&O()}),[l,c,I]),p.jsx(h.Provider,{value:v,children:p.jsx(Ne,{value:{config:a,items:i,amount:s,fromTokenAddress:x,environment:a.environment,environmentId:r,provider:c,checkout:l,passport:l?.passport,collectionName:o,clientConfig:C},children:p.jsxs(pe,{environment:a.environment,children:[T.view.type===te.LOADING_VIEW&&p.jsx(k,{loadingText:S,showFooterLogo:!0}),T.view.type===we.PAYMENT_METHODS&&p.jsx(gs,{}),T.view.type===we.PAY_WITH_CARD&&p.jsx(_s,{}),T.view.type===we.PAY_WITH_COINS&&p.jsx(hs,{}),T.view.type===we.SALE_FAIL&&p.jsx(ws,{biomeTheme:E,errorType:T.view.data?.errorType,transactionHash:T.view.data?.transactionHash,blockExplorerLink:le.getTransactionLink(u.current,T.view.data?.transactionHash)}),T.view.type===we.SALE_SUCCESS&&c&&p.jsx(Es,{data:T.view.data}),T.view.type===we.FUND_WITH_SMART_CHECKOUT&&p.jsx(Ke,{subView:T.view.subView}),T.view.type===te.TOP_UP_VIEW&&p.jsx(ge,{analytics:{userJourney:Y.SALE},widgetEvent:b.IMTBL_SALE_WIDGET_EVENT,checkout:l,provider:c,showOnrampOption:a.isOnRampEnabled,showSwapOption:a.isSwapEnabled,showBridgeOption:a.isBridgeEnabled,onCloseButtonClick:()=>j(_)})]})})})}export{Ts as default};
@@ -0,0 +1 @@
1
+ import{j as o,B as e,P as t,Q as n,R as r}from"./index-9949aaa2.js";function s(){return o.jsx(e,{sx:{...t,background:"base.color.translucent.emphasis.100"},children:o.jsx(e,{sx:{...n,...r},children:o.jsxs("svg",{width:"430",height:"305",viewBox:"0 0 430 305",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[o.jsx("path",{d:"M94.0614 105.632L93.6321 104L92 104.429L92.4292 106.061L94.0614 105.632Z",fill:"white"}),o.jsx("path",{d:"M63.6531 193.101L63.1006 191L60.9996 191.553L61.5521 193.654L63.6531 193.101Z",fill:"white"}),o.jsx("path",{d:"M344.489 224.345L342.345 224L342 226.145L344.144 226.49L344.489 224.345Z",fill:"white"}),o.jsx("path",{d:"M372.286 139.905L372.905 138.619L371.619 138L371 139.286L372.286 139.905Z",fill:"white"}),o.jsx("path",{d:"M341.653 78.101L341.101 76L339 76.5525L339.552 78.6535L341.653 78.101Z",fill:"white"}),o.jsx("path",{d:"M359.286 242.905L359.905 241.619L358.619 241L358 242.286L359.286 242.905Z",fill:"white"}),o.jsx("path",{d:"M87.0123 112.087L86.0869 111L85.0002 111.925L85.9256 113.012L87.0123 112.087Z",fill:"white"}),o.jsx("path",{d:"M84.2862 248.905L84.9053 247.619L83.6192 247L83.0001 248.286L84.2862 248.905Z",fill:"white"}),o.jsx("path",{d:"M215.496 262.992C268.237 262.992 310.993 220.237 310.993 167.496C310.993 114.755 268.237 72 215.496 72C162.755 72 120 114.755 120 167.496C120 220.237 162.755 262.992 215.496 262.992Z",fill:"white",fillOpacity:"0.24",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M159.82 95.1695C179.975 79.6536 204.651 73.1506 227.89 77.0665C261.089 82.6606 253.281 101.028 199.197 121.314C151.934 139.037 123.49 136.348 143.823 110.95C148.422 105.208 153.721 99.8623 159.82 95.1695Z",fill:"white",fillOpacity:"0.08"}),o.jsx("path",{d:"M215.497 227.183C171.451 227.183 135.159 219.871 130.194 210.462H130.187C145.912 241.626 178.21 263.001 215.497 263.001C252.705 263.001 284.942 241.719 300.706 210.664C295.33 219.98 259.232 227.183 215.505 227.183H215.497Z",fill:"#36E0F8",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M284.219 219.607L283.978 219.84C281.275 222.482 256.583 215.986 253.172 218.418C222.389 240.36 182.779 269.061 146.099 219.397C146.099 219.397 140.761 217.641 138.609 216.686C139.425 217.96 140.279 219.226 141.165 220.469C170.425 261.516 227.423 271.073 268.47 241.813C276.97 235.752 284.118 228.503 289.852 220.454L292.424 216.841L288.252 218.302C287.086 218.713 285.851 219.11 284.553 219.498L284.227 219.599L284.219 219.607Z",fill:"black"}),o.jsx("path",{d:"M215.496 241.4C262.183 241.4 300.03 226.557 300.03 208.248C300.03 189.938 262.183 175.095 215.496 175.095C168.81 175.095 130.963 189.938 130.963 208.248C130.963 226.557 168.81 241.4 215.496 241.4Z",fill:"#F191FA",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M300.705 210.659C300.705 210.659 300.705 210.65 300.705 210.641C300.705 210.641 300.705 210.65 300.705 210.659Z",fill:"#EBE9E9",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M193.624 204.511C208.952 204.511 221.377 199.638 221.377 193.626C221.377 187.614 208.952 182.741 193.624 182.741C178.297 182.741 165.871 187.614 165.871 193.626C165.871 199.638 178.297 204.511 193.624 204.511Z",fill:"#D0F500",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M193.624 204.511C208.954 204.511 221.377 199.64 221.377 193.626V201.349C221.377 207.363 208.954 212.234 193.624 212.234C178.295 212.234 165.871 207.363 165.871 201.349V193.626C165.871 199.64 178.295 204.511 193.624 204.511Z",fill:"#E4F4F7",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M197.33 204.41C199.49 204.294 201.573 204.084 203.546 203.789V211.512C201.573 211.807 199.49 212.017 197.33 212.133V204.41Z",fill:"#D0F500"}),o.jsx("path",{d:"M206.398 203.291C211.246 202.304 215.255 200.774 217.905 198.901V206.624C215.255 208.497 211.246 210.027 206.398 211.014V203.291Z",fill:"black"}),o.jsx("path",{d:"M193.624 204.511C208.954 204.511 221.377 199.64 221.377 193.626V201.349C221.377 207.363 208.954 212.234 193.624 212.234C178.295 212.234 165.871 207.363 165.871 201.349V193.626C165.871 199.64 178.295 204.511 193.624 204.511Z",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M206.398 211.015C211.246 210.028 215.255 208.497 217.905 206.625",stroke:"#A66CFF",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M193.624 196.788C208.952 196.788 221.377 191.914 221.377 185.903C221.377 179.891 208.952 175.017 193.624 175.017C178.297 175.017 165.871 179.891 165.871 185.903C165.871 191.914 178.297 196.788 193.624 196.788Z",fill:"#D0F500",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M193.624 196.788C208.954 196.788 221.377 191.917 221.377 185.903V193.626C221.377 199.639 208.954 204.511 193.624 204.511C178.295 204.511 165.871 199.639 165.871 193.626V185.903C165.871 191.917 178.295 196.788 193.624 196.788Z",fill:"#E4F4F7",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M197.33 196.687C199.49 196.57 201.573 196.361 203.546 196.065V203.788C201.573 204.084 199.49 204.293 197.33 204.41V196.687Z",fill:"#36E0F8"}),o.jsx("path",{d:"M206.398 195.568C211.246 194.581 215.255 193.051 217.905 191.178V198.901C215.255 200.774 211.246 202.304 206.398 203.291V195.568Z",fill:"black"}),o.jsx("path",{d:"M193.624 196.788C208.954 196.788 221.377 191.917 221.377 185.903V193.626C221.377 199.639 208.954 204.511 193.624 204.511C178.295 204.511 165.871 199.639 165.871 193.626V185.903C165.871 191.917 178.295 196.788 193.624 196.788Z",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M206.398 203.291C211.246 202.304 215.255 200.774 217.905 198.901",stroke:"white",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M193.624 189.065C208.952 189.065 221.377 184.192 221.377 178.18C221.377 172.168 208.952 167.294 193.624 167.294C178.297 167.294 165.871 172.168 165.871 178.18C165.871 184.192 178.297 189.065 193.624 189.065Z",fill:"#F191FA",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M193.624 189.065C208.954 189.065 221.377 184.194 221.377 178.18V185.903C221.377 191.917 208.954 196.788 193.624 196.788C178.295 196.788 165.871 191.917 165.871 185.903V178.18C165.871 184.194 178.295 189.065 193.624 189.065Z",fill:"#E4F4F7",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M197.33 188.965C199.49 188.849 201.573 188.639 203.546 188.343V196.067C201.573 196.362 199.49 196.571 197.33 196.688V188.965Z",fill:"#F191FA"}),o.jsx("path",{d:"M206.398 187.845C211.246 186.858 215.255 185.327 217.905 183.455V191.178C215.255 193.05 211.246 194.581 206.398 195.568V187.845Z",fill:"black"}),o.jsx("path",{d:"M193.624 189.065C208.954 189.065 221.377 184.194 221.377 178.18V185.903C221.377 191.917 208.954 196.788 193.624 196.788C178.295 196.788 165.871 191.917 165.871 185.903V178.18C165.871 184.194 178.295 189.065 193.624 189.065Z",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M206.398 195.569C211.246 194.582 215.255 193.052 217.905 191.179",stroke:"white",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M238.601 212.934C253.929 212.934 266.354 208.06 266.354 202.049C266.354 196.037 253.929 191.164 238.601 191.164C223.274 191.164 210.848 196.037 210.848 202.049C210.848 208.06 223.274 212.934 238.601 212.934Z",fill:"#D0F500",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M238.601 212.935C253.931 212.935 266.354 208.063 266.354 202.049V209.772C266.354 215.786 253.931 220.658 238.601 220.658C223.272 220.658 210.848 215.786 210.848 209.772V202.049C210.848 208.063 223.272 212.935 238.601 212.935Z",fill:"#E4F4F7",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M242.307 212.833C244.467 212.717 246.55 212.507 248.523 212.212V219.935C246.55 220.23 244.467 220.44 242.307 220.556V212.833Z",fill:"#F191FA"}),o.jsx("path",{d:"M251.375 211.713C256.223 210.727 260.232 209.196 262.882 207.324V215.047C260.232 216.919 256.223 218.45 251.375 219.436V211.713Z",fill:"black"}),o.jsx("path",{d:"M238.601 212.935C253.931 212.935 266.354 208.063 266.354 202.049V209.772C266.354 215.786 253.931 220.658 238.601 220.658C223.272 220.658 210.848 215.786 210.848 209.772V202.049C210.848 208.063 223.272 212.935 238.601 212.935Z",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M251.375 219.437C256.223 218.45 260.232 216.919 262.882 215.047",stroke:"white",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M238.601 205.21C253.929 205.21 266.354 200.336 266.354 194.324C266.354 188.313 253.929 183.439 238.601 183.439C223.274 183.439 210.848 188.313 210.848 194.324C210.848 200.336 223.274 205.21 238.601 205.21Z",fill:"#D0F500",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M238.601 205.21C253.931 205.21 266.354 200.339 266.354 194.325V202.048C266.354 208.062 253.931 212.934 238.601 212.934C223.272 212.934 210.848 208.062 210.848 202.048V194.325C210.848 200.339 223.272 205.21 238.601 205.21Z",fill:"#E4F4F7",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M242.307 205.109C244.467 204.993 246.55 204.783 248.523 204.488V212.211C246.55 212.506 244.467 212.716 242.307 212.832V205.109Z",fill:"#36E0F8"}),o.jsx("path",{d:"M251.375 203.989C256.223 203.003 260.232 201.472 262.882 199.6V207.323C260.232 209.195 256.223 210.726 251.375 211.712V203.989Z",fill:"black"}),o.jsx("path",{d:"M238.601 205.21C253.931 205.21 266.354 200.339 266.354 194.325V202.048C266.354 208.062 253.931 212.934 238.601 212.934C223.272 212.934 210.848 208.062 210.848 202.048V194.325C210.848 200.339 223.272 205.21 238.601 205.21Z",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M251.375 211.713C256.223 210.726 260.232 209.195 262.882 207.323",stroke:"white",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M238.601 197.487C253.929 197.487 266.354 192.613 266.354 186.602C266.354 180.59 253.929 175.716 238.601 175.716C223.274 175.716 210.848 180.59 210.848 186.602C210.848 192.613 223.274 197.487 238.601 197.487Z",fill:"#F191FA",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M238.601 197.487C253.931 197.487 266.354 192.616 266.354 186.602V194.325C266.354 200.339 253.931 205.21 238.601 205.21C223.272 205.21 210.848 200.339 210.848 194.325V186.602C210.848 192.616 223.272 197.487 238.601 197.487Z",fill:"#E4F4F7",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M242.307 197.386C244.467 197.27 246.55 197.06 248.523 196.765V204.488C246.55 204.783 244.467 204.992 242.307 205.109V197.386Z",fill:"#F191FA"}),o.jsx("path",{d:"M251.375 196.267C256.223 195.28 260.232 193.75 262.882 191.877V199.6C260.232 201.473 256.223 203.003 251.375 203.99V196.267Z",fill:"#9AEFFB"}),o.jsx("path",{d:"M238.601 197.487C253.931 197.487 266.354 192.616 266.354 186.602V194.325C266.354 200.339 253.931 205.21 238.601 205.21C223.272 205.21 210.848 200.339 210.848 194.325V186.602C210.848 192.616 223.272 197.487 238.601 197.487Z",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M251.375 203.99C256.223 203.004 260.232 201.473 262.882 199.601",stroke:"white",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M232.652 189.678C247.979 189.678 260.405 184.804 260.405 178.793C260.405 172.781 247.979 167.908 232.652 167.908C217.324 167.908 204.899 172.781 204.899 178.793C204.899 184.804 217.324 189.678 232.652 189.678Z",fill:"#F191FA",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M232.652 189.678C247.981 189.678 260.405 184.807 260.405 178.793V186.516C260.405 192.53 247.981 197.401 232.652 197.401C217.323 197.401 204.899 192.53 204.899 186.516V178.793C204.899 184.807 217.323 189.678 232.652 189.678Z",fill:"#E4F4F7",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M236.358 189.578C238.518 189.461 240.6 189.251 242.574 188.956V196.679C240.6 196.974 238.518 197.184 236.358 197.301V189.578Z",fill:"#F191FA"}),o.jsx("path",{d:"M245.426 188.458C250.274 187.471 254.283 185.94 256.932 184.067V191.791C254.283 193.663 250.274 195.194 245.426 196.18V188.458Z",fill:"black"}),o.jsx("path",{d:"M232.652 189.678C247.981 189.678 260.405 184.807 260.405 178.793V186.516C260.405 192.53 247.981 197.401 232.652 197.401C217.323 197.401 204.899 192.53 204.899 186.516V178.793C204.899 184.807 217.323 189.678 232.652 189.678Z",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M245.426 196.182C250.274 195.195 254.283 193.664 256.932 191.792",stroke:"white",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M240.99 180.021C256.317 180.021 268.743 175.148 268.743 169.136C268.743 163.124 256.317 158.25 240.99 158.25C225.662 158.25 213.237 163.124 213.237 169.136C213.237 175.148 225.662 180.021 240.99 180.021Z",fill:"#F191FA",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M240.99 180.021C256.319 180.021 268.743 175.15 268.743 169.136V176.859C268.743 182.873 256.319 187.744 240.99 187.744C225.66 187.744 213.237 182.873 213.237 176.859V169.136C213.237 175.15 225.66 180.021 240.99 180.021Z",fill:"#E4F4F7",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M244.696 179.92C246.856 179.804 248.938 179.594 250.911 179.299V187.022C248.938 187.317 246.856 187.527 244.696 187.643V179.92Z",fill:"#9AEFFB"}),o.jsx("path",{d:"M253.763 178.801C258.612 177.815 262.621 176.284 265.27 174.412V182.135C262.621 184.007 258.612 185.538 253.763 186.524V178.801Z",fill:"black"}),o.jsx("path",{d:"M240.99 180.021C256.319 180.021 268.743 175.15 268.743 169.136V176.859C268.743 182.873 256.319 187.744 240.99 187.744C225.66 187.744 213.237 182.873 213.237 176.859V169.136C213.237 175.15 225.66 180.021 240.99 180.021Z",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M253.763 186.525C258.612 185.538 262.621 184.007 265.27 182.135",stroke:"white",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M189.911 223.803C205.238 223.803 217.664 218.929 217.664 212.918C217.664 206.906 205.238 202.032 189.911 202.032C174.583 202.032 162.158 206.906 162.158 212.918C162.158 218.929 174.583 223.803 189.911 223.803Z",fill:"#F191FA",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M189.911 223.803C205.24 223.803 217.664 218.932 217.664 212.918V220.641C217.664 226.655 205.24 231.526 189.911 231.526C174.581 231.526 162.158 226.655 162.158 220.641V212.918C162.158 218.932 174.581 223.803 189.911 223.803Z",fill:"#E4F4F7",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M193.625 223.71C195.785 223.593 197.867 223.384 199.84 223.088V230.811C197.867 231.107 195.785 231.316 193.625 231.433V223.71Z",fill:"#F191FA"}),o.jsx("path",{d:"M202.685 222.583C207.533 221.596 211.542 220.066 214.191 218.193V225.916C211.542 227.789 207.533 229.319 202.685 230.306V222.583Z",fill:"#9AEFFB"}),o.jsx("path",{d:"M189.911 223.803C205.24 223.803 217.664 218.932 217.664 212.918V220.641C217.664 226.655 205.24 231.526 189.911 231.526C174.581 231.526 162.158 226.655 162.158 220.641V212.918C162.158 218.932 174.581 223.803 189.911 223.803Z",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M202.685 230.306C207.533 229.32 211.542 227.789 214.191 225.917",stroke:"white",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M300.705 210.658C300.705 210.658 300.705 210.649 300.705 210.641C300.705 210.641 300.705 210.649 300.705 210.658Z",fill:"#A66CFF",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"})]})})})}export{s as S};
@@ -0,0 +1 @@
1
+ import{u as e,aC as t,aD as o,j as s,B as a,aE as n,aF as r,a as i,aG as d,r as c,a7 as l,aH as p,V as u,C as m,d as w,p as x,U as f,g as T,c as y,l as A,S as E,aI as g,ap as S,aJ as v,H as h,aK as I,aL as C,h as b,k,a9 as P,t as R,f as _,y as F,aM as j,aN as O,aO as W,a2 as D,aP as L,aQ as N,aR as V,aS as U,E as B,z as M,A as G,aT as $,aU as z,a0 as H,i as J,W as q,aV as K,_ as X,$ as Q,T as Z,D as Y,aW as ee,aX as te,az as oe,aY as se,ay as ae,aZ as ne,a_ as re,a1 as ie,I as de}from"./index-9949aaa2.js";import{S as ce,T as le,a as pe,F as ue,N as me,W as we,g as xe}from"./balance-9b928d1a.js";import{S as fe,C as Te,a as ye,b as Ae,T as Ee}from"./TopUpView-ba8d5718.js";import{u as ge}from"./retry-fda6574c.js";import{S as Se}from"./SpendingCapHero-a266244d.js";function ve({theme:c,environment:l}){const{t:p}=e(),u=c===t.DARK?o(l,"/quickswapdark.webp"):o(l,"/quickswaplight.webp");return s.jsxs(a,{testId:"quickswap-footer-container",sx:n,children:[s.jsxs(a,{testId:"quickswap-logo",sx:r,children:[s.jsx(i,{size:"xSmall",sx:{paddingRight:"base.spacing.x1"},children:"By"}),s.jsx("img",{style:{height:"26px"},alt:"Quickswap logo",src:u})]}),s.jsx(i,{testId:"quickswap-footer-disclaimer-text",size:"xSmall",sx:d,children:p("footers.quickswapFooter.disclaimerText")})]})}const he={exchange:null,walletProviderName:null,network:null,tokenBalances:[],supportedTopUps:null,allowedTokens:[]};var Ie;!function(e){e.SET_EXCHANGE="SET_EXCHANGE",e.SET_WALLET_PROVIDER_NAME="SET_WALLET_PROVIDER_NAME",e.SET_NETWORK="SET_NETWORK",e.SET_SUPPORTED_TOP_UPS="SET_SUPPORTED_TOP_UPS",e.SET_TOKEN_BALANCES="SET_TOKEN_BALANCES",e.SET_ALLOWED_TOKENS="SET_ALLOWED_TOKENS"}(Ie||(Ie={}));const Ce=c.createContext({swapState:he,swapDispatch:()=>{}});Ce.displayName="SwapContext";const be=(e,t)=>{switch(t.payload.type){case Ie.SET_EXCHANGE:return{...e,exchange:t.payload.exchange};case Ie.SET_WALLET_PROVIDER_NAME:return{...e,walletProviderName:t.payload.walletProviderName};case Ie.SET_NETWORK:return{...e,network:t.payload.network};case Ie.SET_SUPPORTED_TOP_UPS:return{...e,supportedTopUps:{isSwapEnabled:t.payload.supportedTopUps.isSwapEnabled??!0,isOnRampEnabled:t.payload.supportedTopUps.isOnRampEnabled??!0,isBridgeEnabled:t.payload.supportedTopUps.isBridgeEnabled??!0}};case Ie.SET_TOKEN_BALANCES:return{...e,tokenBalances:t.payload.tokenBalances};case Ie.SET_ALLOWED_TOKENS:return{...e,allowedTokens:t.payload.allowedTokens};default:return e}},ke={fromAmountIn:async(e,t,o,s,a)=>{const n=await t.getSigner().getAddress();return e.getUnsignedSwapTxFromAmountIn(n,o.address,a.address,l.from(p(s,o.decimals)))},fromAmountOut:async(e,t,o,s,a)=>{const n=await t.getSigner().getAddress();return e.getUnsignedSwapTxFromAmountOut(n,a.address,o.address,l.from(p(s,o.decimals)))}},Pe={display:"flex",flexDirection:"row",justifyContent:"space-between",columnGap:"base.spacing.x1"},Re={flex:1},_e={flex:2};function Fe({testId:e,options:t,textInputValue:o,textInputPlaceholder:n,textInputValidator:r,textInputType:i,onTextInputChange:d,onTextInputBlur:c,onTextInputFocus:l,textInputTextAlign:p,textInputSubtext:u,textInputErrorMessage:m,selectTextAlign:w,selectSubtext:x,selectErrorMessage:f,textInputMaxButtonClick:T,onSelectChange:y,textInputDisabled:A,selectInputDisabled:E,selectedOption:g,coinSelectorHeading:S,defaultTokenImage:v}){return s.jsxs(a,{sx:Pe,children:[s.jsx(a,{sx:Re,children:s.jsx(ce,{testId:`${e}-select-form`,options:t,subtext:x,textAlign:w,errorMessage:f,onSelectChange:y,disabled:E,selectedOption:g,coinSelectorHeading:S,defaultTokenImage:v})}),s.jsx(a,{sx:_e,children:s.jsx(le,{type:i,testId:`${e}-text-form`,value:o,placeholder:n,subtext:u,textAlign:p,errorMessage:m,validator:r,onTextInputChange:d,onTextInputBlur:c,onTextInputFocus:l,maxButtonClick:T,disabled:A})})]})}const je={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6",paddingX:"base.spacing.x4"},Oe={width:"base.icon.size.400"};function We({loading:t,updateLoading:o,validator:n,transaction:r,data:i,insufficientFundsForGas:d,openNotEnoughImxDrawer:l,openNetworkSwitchDrawer:p}){const{t:g}=e(),[S,v]=c.useState(!1),{viewDispatch:h}=c.useContext(u),{connectLoaderState:I}=c.useContext(m),{checkout:C,provider:b}=I,{track:k}=w(),P=async()=>{const e=n();if(k({userJourney:f.SWAP,screen:"SwapCoins",control:"Swap",controlType:"Button",extras:{swapFromAddress:i?.fromTokenAddress,swapFromAmount:i?.fromAmount,swapFromTokenSymbol:i?.fromTokenSymbol,swapToAddress:i?.toTokenAddress,swapToAmount:i?.toAmount,swapToTokenSymbol:i?.toTokenSymbol,isSwapFormValid:e,hasFundsForGas:!d}}),e&&C&&b&&r)if(d)l();else{try{const e=await b.provider.request({method:"eth_chainId",params:[]});if(parseInt(e.toString())!==T(C.config))return void p()}catch(e){console.error("Current network check failed",e)}if(r)try{o(!0);const e={fromAmount:i?.fromAmount||"",fromTokenAddress:i?.fromTokenAddress||"",toTokenAddress:i?.toTokenAddress||"",toAmount:i?.toAmount||""};if(r.approval)return void h({payload:{type:y.UPDATE_VIEW,view:{type:fe.APPROVE_ERC20,data:{approveTransaction:r.approval.transaction,transaction:r.swap.transaction,info:r.quote,swapFormInfo:e}}}});const t=await C.sendTransaction({provider:b,transaction:r.swap.transaction});h({payload:{type:y.UPDATE_VIEW,view:{type:fe.IN_PROGRESS,data:{transactionResponse:t.transactionResponse,swapForm:e}}}})}catch(e){if(console.error(e),o(!1),e.type===A.USER_REJECTED_REQUEST_ERROR)return void v(!0);if(e.type===A.UNPREDICTABLE_GAS_LIMIT)return void h({payload:{type:y.UPDATE_VIEW,view:{type:fe.PRICE_SURGE,data:i}}});if(e.type===A.TRANSACTION_FAILED||e.type===A.INSUFFICIENT_FUNDS||e.receipt&&0===e.receipt.status)return void h({payload:{type:y.UPDATE_VIEW,view:{type:fe.FAIL,reason:"Transaction failed",data:i}}});h({payload:{type:y.UPDATE_VIEW,view:{type:E.ERROR_VIEW,error:e}}})}}};return s.jsxs(a,{sx:je,children:[s.jsx(x,{testId:"swap-button",disabled:t,variant:"primary",onClick:P,size:"large",children:t?s.jsx(x.Icon,{icon:"Loading",sx:Oe}):g("views.SWAP.swapForm.buttonText")}),s.jsx(pe,{visible:S,showHeaderBar:!1,onCloseDrawer:()=>v(!1),onRetry:()=>{P(),v(!1)}})]})}const De={display:"flex",flexDirection:"column",alignItems:"center",paddingTop:"base.spacing.x6",paddingBottom:"base.spacing.x1",height:"100%"},Le={color:"base.color.text.body.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"base.spacing.x4"},Ne={display:"flex",flexDirection:"column",justifyContent:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},Ve={width:"100%",height:"base.spacing.x16"},Ue={display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",paddingTop:"base.spacing.x6"};function Be({environment:t,visible:o,showAdjustAmount:n,hasZeroImx:r,onCloseDrawer:d,onAddCoinsClick:c}){const{t:l}=e(),p=g(t);return s.jsx(S,{size:"full",onCloseDrawer:d,visible:o,showHeaderBar:!1,children:s.jsx(S.Content,{children:s.jsxs(a,{testId:"not-enough-gas-bottom-sheet",sx:De,children:[s.jsx(v,{imageUrl:p,sx:{w:"base.icon.size.600",h:"base.icon.size.600"}}),s.jsx(h,{size:"small",sx:Le,testId:"not-enough-gas-heading",children:l(`drawers.notEnoughImx.content.${r?"noImx":"insufficientImx"}.heading`)}),s.jsx(i,{sx:Le,children:l(`drawers.notEnoughImx.content.${r?"noImx":"insufficientImx"}.body`)}),s.jsxs(a,{sx:Ne,children:[n&&s.jsx(x,{testId:"not-enough-gas-adjust-amount-button",sx:Ve,variant:"tertiary",onClick:d,children:l("drawers.notEnoughImx.buttons.adjustAmount")}),s.jsx(x,{testId:"not-enough-gas-add-imx-button",sx:Ve,variant:"tertiary",onClick:c,children:l("drawers.notEnoughImx.buttons.addMoreImx")}),s.jsx(x,{sx:Ve,variant:"tertiary",onClick:d,testId:"not-enough-gas-cancel-button",children:l("drawers.notEnoughImx.buttons.cancel")})]}),s.jsx(a,{sx:Ue,children:s.jsx(I,{testId:"footer-logo-image",logo:"ImmutableHorizontalLockup",sx:{width:"base.spacing.x25"}})})]})})})}const Me={display:"flex",flexDirection:"column",alignItems:"center",paddingTop:"base.spacing.x6",paddingBottom:"base.spacing.x4",paddingX:"base.spacing.x4",height:"100%"},Ge={color:"base.color.text.body.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"base.spacing.x4"},$e={display:"flex",flexDirection:"column",justifyContent:"flex-end",alignItems:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},ze={width:"100%",height:"base.spacing.x16",marginBottom:"base.spacing.x16"},He={display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",paddingTop:"base.spacing.x6"},Je={width:"base.icon.size.600",fill:"base.color.status.fatal.bright"};function qe({visible:t,onCloseDrawer:o}){const{t:n}=e();return s.jsx(S,{size:"full",onCloseDrawer:o,visible:t,showHeaderBar:!1,children:s.jsx(S.Content,{children:s.jsxs(a,{testId:"unable-to-swap-bottom-sheet",sx:Me,children:[s.jsx(C,{icon:"Alert",testId:"unable-to-swap-icon",variant:"bold",sx:Je}),s.jsx(h,{size:"small",sx:Ge,testId:"unable-to-swap-heading",children:n("drawers.unableToSwap.heading")}),s.jsx(i,{sx:Ge,children:n("drawers.unableToSwap.body")}),s.jsx(a,{sx:$e,children:s.jsx(x,{sx:ze,variant:"tertiary",onClick:o,testId:"unable-to-swap-cancel-button",children:n("drawers.unableToSwap.buttons.cancel")})}),s.jsx(a,{sx:He,children:s.jsx(I,{testId:"footer-logo-image",logo:"ImmutableHorizontalLockup",sx:{width:"base.spacing.x25"}})})]})})})}const Ke=(e,t=500)=>{const[o,s]=c.useState(e);return c.useEffect((()=>{const o=setTimeout((()=>{s(e)}),t);return()=>{clearTimeout(o)}}),[e,t]),o};class Xe{static id=0;promiseId=0;promise;isCancelled=!1;onCancel=null;rejectPromise=()=>{};constructor(e){Xe.id+=1,this.promiseId=Xe.id,this.promise=new Promise(((t,o)=>{this.rejectPromise=o,e((e=>{this.isCancelled?o({cancelled:!0}):t(e)}),(e=>{this.isCancelled?o({cancelled:!0}):o(e)}))}))}static all(e){return new Xe(((t,o)=>{Promise.all(e.map((e=>e instanceof Xe?e.promise:e))).then(t,o)}))}then(e,t){return new Xe(((o,s)=>{this.promise.then((t=>o(e?e(t):t)),(e=>t?o(t(e)):s(e)))}))}catch(e){return this.then(void 0,e)}finally(e){return new Xe(((t,o)=>{this.promise.then(t,o).finally((()=>{e&&e()}))}))}cancel(){this.isCancelled||(this.isCancelled=!0,this.onCancel&&this.onCancel(),this.rejectPromise({cancelled:!0}))}onCancelled(e){this.onCancel=e}get cancelled(){return this.isCancelled}}var Qe;!function(e){e.FROM="FROM",e.TO="TO"}(Qe||(Qe={}));const Ze=({swapFromToken:e,swapToToken:t,swapFromAmount:o,swapToAmount:s,conversion:a})=>{const n={fromToConversion:"",swapToAmount:""};if(!s)return n;if(n.swapToAmount=R(s),o&&e&&t){const o=_(R(L(a,t.decimals)),!0);n.fromToConversion=`1 ${e.symbol} ≈ ${o} ${t.symbol}`}return n},Ye=(e,t)=>void 0!==e&&(""!==e&&t!==e);let et;function tt({data:t,theme:o}){const{t:n}=e(),{swapState:{allowedTokens:r,exchange:d,tokenBalances:x,network:A}}=c.useContext(Ce),{connectLoaderState:g}=c.useContext(m),{checkout:S,provider:v}=g,I=b(S?.config.environment,o),C=c.useCallback(((e,t)=>k(t)?`${e.toLowerCase()}-${P}`:`${e.toLowerCase()}-${t.toLowerCase()}`),[]),{cryptoFiatState:B,cryptoFiatDispatch:M}=c.useContext(Te),{viewDispatch:G}=c.useContext(u),[$,z]=c.useState(Qe.FROM),[H,J]=c.useState(!1),[q,K]=c.useState(l.from(0)),[X,Q]=c.useState(""),Z=c.useRef(!1),{track:Y}=w(),[ee,te]=c.useState(t?.fromAmount||""),[oe,se]=c.useState(""),ae=Ke(ee,N),[ne,re]=c.useState(),[ie,de]=c.useState(""),[ce,le]=c.useState(""),[pe,we]=c.useState(t?.toAmount||""),[xe,fe]=c.useState(""),Ae=Ke(pe,N),[Ee,Se]=c.useState(),[ve,he]=c.useState(""),[Ie,be]=c.useState(""),[Pe,Re]=c.useState(null),[_e,je]=c.useState(""),[Oe,De]=c.useState(void 0),[Le,Ne]=c.useState(""),[Ve,Ue]=c.useState([]),[Me,Ge]=c.useState(!1),[$e,ze]=c.useState(!1),[He,Je]=c.useState(!1);c.useEffect((()=>{if(0===x.length)return;if(!A)return;const e=x.filter((e=>e.balance.gt(0))).map((e=>({id:C(e.token.symbol,e.token.address),name:e.token.name,symbol:e.token.symbol,icon:e.token.icon,balance:{formattedAmount:R(e.formattedBalance),formattedFiatAmount:0===B.conversions.size?_(""):F(e.formattedBalance,e.token.symbol||"",B.conversions)}})));Ue(e),Z.current||(Z.current=!0,t?.fromTokenAddress&&(re(r.find((e=>k(e.address)&&t?.fromTokenAddress?.toLowerCase()===P||e.address?.toLowerCase()===t?.fromTokenAddress?.toLowerCase()))),de(x.find((e=>k(e.token.address)&&t?.fromTokenAddress?.toLowerCase()===P||e.token.address?.toLowerCase()===t?.fromTokenAddress?.toLowerCase()))?.formattedBalance??"")),Ye(t?.toTokenAddress,t?.fromTokenAddress)&&Se(r.find((e=>k(e.address)&&t?.toTokenAddress?.toLowerCase()===P||e.address?.toLowerCase()===t?.toTokenAddress?.toLowerCase()))))}),[x,r,B.conversions,t?.fromTokenAddress,t?.toTokenAddress,Z.current,re,de,Se,Ue,C,_,A]);const tt=c.useMemo((()=>r.map((e=>({id:C(e.symbol,e.address),name:e.name,symbol:e.symbol,icon:e.icon})))),[r,ne]);c.useEffect((()=>{M({payload:{type:ye.SET_TOKEN_SYMBOLS,tokenSymbols:r.map((e=>e.symbol))}})}),[M,r]);const ot=()=>{se(""),le(""),fe(""),he("")},st=()=>{et&&et.cancel(),Q(""),Ne(""),Re(null)},at=e=>!Number.isNaN(parseFloat(ee))&&(!(parseFloat(ee)<=0)&&(!!ne&&(!!Ee&&(!e||!H)))),nt=async(e=!1)=>{at(e)&&(et&&et.cancel(),e||J(!0),await(async(e=!1)=>{if(v&&d&&ne&&Ee){try{e||Q("");const t=ke.fromAmountIn(d,v,ne,ee,Ee),o=ke.fromAmountIn(d,v,ne,"1",Ee),s=Xe.all([t,o]);et=s;const a=await s,n=a[0],i=a[1];K(i.quote.amount.value);const c=n.swap.gasFeeEstimate;let p=l.from(c?.value||0);n.approval?.gasFeeEstimate&&(p=p.add(n.approval.gasFeeEstimate.value));const u=L(p,U),m=c?.token,w=r.find((e=>e.address?.toLocaleLowerCase()===m?.address?.toLocaleLowerCase()));Re(n),je(u),De({name:w?.name||"",symbol:w?.symbol||"",decimals:w?.decimals||0,address:w?.address,icon:w?.icon}),Ne(F(u,w?.symbol||"",B.conversions)),we(_(R(L(n.quote.amount.value,n.quote.amount.token.decimals),n.quote.amount.token.decimals))),ot()}catch(e){e.cancelled||(st(),Ge(!1),ze(!0))}e||J(!1)}})(e))},rt=e=>!Number.isNaN(parseFloat(pe))&&(!(parseFloat(pe)<=0)&&(!!ne&&(!!Ee&&(!e||!H)))),it=async(e=!1)=>{rt(e)&&(et&&et.cancel(),e||J(!0),await(async(e=!1)=>{if(v&&d&&ne&&Ee){try{e||Q("");const t=ke.fromAmountOut(d,v,Ee,pe,ne),o=ke.fromAmountIn(d,v,ne,"1",Ee),s=Xe.all([t,o]);et=s;const a=await s,n=a[0],i=a[1];K(i.quote.amount.value);const c=n.swap.gasFeeEstimate;let p=l.from(c?.value||0);n.approval?.gasFeeEstimate&&(p=p.add(n.approval.gasFeeEstimate.value));const u=L(p,U),m=c?.token,w=r.find((e=>e.symbol===m?.symbol));Re(n),je(u),De({name:w?.name||"",symbol:w?.symbol||"",decimals:w?.decimals||0,address:w?.address,icon:w?.icon}),Ne(F(u,w?.symbol||"",B.conversions)),te(_(R(L(n.quote.amount.value,n.quote.amount.token.decimals)))),ot()}catch(e){e.cancelled||(st(),Ge(!1),ze(!0))}e||J(!1)}})(e))},dt=async(e=!1)=>{$===Qe.FROM?await nt(e):await it(e)};ge((()=>dt(!0)),j),c.useEffect((()=>{if($===Qe.FROM){if(ae<=0)return J(!1),void st();(async()=>{await dt()})()}}),[ae,ne,Ee]),c.useEffect((()=>{if($===Qe.TO){if(Ae<=0)return J(!1),void st();(async()=>{await dt()})()}}),[Ae,Ee,ne]);const ct=c.useMemo((()=>{const e=x.find((e=>e.token.address?.toLowerCase()===P));if(!e)return!0;const t=ne?.address?.toLowerCase()===P,o=O(0!==_e.length?_e:"0"),s=t&&!Number.isNaN(parseFloat(ee))?p(ee,ne?.decimals||18):l.from("0");return o.add(s).gt(e.balance)}),[_e,x,ne,ee]);c.useEffect((()=>{ee&&ne&&be(F(ee,ne.symbol,B.conversions))}),[ee,ne]);const lt=c.useCallback((e=>{const t=x.find((t=>e===C(t.token.symbol,t.token.address)));t&&(Ee&&e===C(Ee.symbol,Ee?.address)&&Se(void 0),re(t.token),de(t.formattedBalance),le(""))}),[Ee]),pt=c.useCallback((e=>{const t=r.find((t=>e===C(t.symbol,t.address)));t&&(ne&&e===C(ne.symbol,ne?.address)&&re(void 0),Se(t),he(""))}),[ne]);return c.useEffect((()=>{Pe&&q&&Q(Ze({swapFromToken:ne,swapFromAmount:ee,swapToToken:Ee,swapToAmount:pe,conversion:q}).fromToConversion)}),[Pe,q]),s.jsxs(s.Fragment,{children:[s.jsxs(a,{sx:{paddingX:"base.spacing.x4",marginBottom:"base.spacing.x2"},children:[s.jsx(h,{size:"small",weight:"regular",sx:{paddingBottom:"base.spacing.x4"},children:n("views.SWAP.content.title")}),s.jsxs(a,{sx:{display:"flex",flexDirection:"column",rowGap:"base.spacing.x6",paddingBottom:"base.spacing.x2"},children:[s.jsxs(a,{children:[s.jsx(h,{size:"xSmall",sx:{display:"flex",justifyContent:"space-between",paddingBottom:"base.spacing.x1"},children:n("views.SWAP.swapForm.from.label")}),s.jsx(Fe,{testId:"fromTokenInputs",options:Ve,selectSubtext:ne?`${n("views.SWAP.content.availableBalancePrefix")} ${R(ie)}`:"",selectTextAlign:"left",textInputType:"number",textInputValue:ee,textInputPlaceholder:n("views.SWAP.swapForm.from.inputPlaceholder"),textInputSubtext:`${n("views.SWAP.content.fiatPricePrefix")} \n $${_(Ie,!0)}`,textInputTextAlign:"right",textInputValidator:W,onTextInputChange:e=>{return t=e,ot(),st(),we(""),at(!1)&&J(!0),void te(t);var t},onTextInputFocus:()=>{z(Qe.FROM)},textInputMaxButtonClick:()=>{if(!ie)return;const e=ie.slice(0,ie.indexOf(".")+V+1);ot(),st(),we(""),z(Qe.FROM),te(e),Y({userJourney:f.SWAP,screen:"SwapCoins",control:"MaxFrom",controlType:"Button",extras:{fromBalance:ie,fromBalanceTruncated:e}})},onSelectChange:lt,textInputErrorMessage:n(oe),selectErrorMessage:n(ce),selectedOption:ne?C(ne.symbol,ne.address):void 0,coinSelectorHeading:n("views.SWAP.swapForm.from.selectorTitle"),defaultTokenImage:I})]}),s.jsxs(a,{children:[s.jsxs(a,{sx:{display:"flex",justifyContent:"space-between",paddingBottom:"base.spacing.x1"},children:[s.jsx(h,{size:"xSmall",children:n("views.SWAP.swapForm.to.label")}),s.jsx(i,{sx:{color:"base.color.brand.4"},size:"small",children:X})]}),s.jsx(Fe,{testId:"toTokenInputs",options:tt,selectTextAlign:"left",textInputType:"number",textInputValue:pe,textInputPlaceholder:n("views.SWAP.swapForm.to.inputPlaceholder"),textInputTextAlign:"right",textInputValidator:W,onTextInputChange:e=>{return t=e,ot(),st(),be(""),te(""),rt(!1)&&J(!0),void we(t);var t},onTextInputFocus:()=>{z(Qe.TO)},onSelectChange:pt,textInputErrorMessage:n(xe),selectErrorMessage:n(ve),selectedOption:Ee?C(Ee.symbol,Ee.address):void 0,coinSelectorHeading:n("views.SWAP.swapForm.to.selectorTitle"),defaultTokenImage:I})]})]}),s.jsx(ue,{gasFeeFiatValue:Le,gasFeeToken:Oe,gasFeeValue:_e,fees:[{label:n("drawers.feesBreakdown.fees.gasFeeSwap.label"),fiatAmount:`~ ${n("drawers.feesBreakdown.fees.fiatPricePrefix")}${Le}`,amount:R(_e),prefix:"~"}],onFeesClick:()=>{Y({userJourney:f.SWAP,screen:"SwapCoins",control:"ViewFees",controlType:"Button"})},sx:{paddingBottom:"0"},loading:H})]}),s.jsx(We,{validator:()=>{const e=function(e){return e?"":"views.SWAP.validation.noFromTokenSelected"}(ne),t=(s=ie,(o=ee)&&0!==parseFloat(o)?s&&Number(o)>Number(s)?"views.SWAP.validation.insufficientBalance":"":"views.SWAP.validation.noAmountInputted");var o,s;const a=function(e){return e?"":"views.SWAP.validation.noToTokenSelected"}(Ee),n=function(e){return e&&0!==parseFloat(e)?"":"views.SWAP.validation.noAmountInputted"}(pe);$===Qe.FROM?(fe(""),t&&se(t)):$===Qe.TO&&(se(""),n&&fe(n)),e&&le(e),a&&he(a);let r=!0;return(e||a||t&&$===Qe.FROM||n&&$===Qe.TO)&&(r=!1),Y({userJourney:f.SWAP,screen:"SwapCoins",control:"FormValid",controlType:"Button",extras:{isSwapFormValid:r,swapFromAddress:ne?.address,swapFromAmount:ee,swapFromTokenSymbol:ne?.symbol,swapToAddress:Ee?.address,swapToAmount:pe,swapToTokenSymbol:Ee?.symbol}}),r},updateLoading:e=>{J(e)},loading:H,transaction:Pe,data:{fromAmount:ee,toAmount:pe,fromTokenSymbol:ne?.symbol,fromTokenAddress:ne?.address,toTokenSymbol:Ee?.symbol,toTokenAddress:Ee?.address},insufficientFundsForGas:ct,openNotEnoughImxDrawer:()=>{ze(!1),Ge(!0)},openNetworkSwitchDrawer:()=>Je(!0)}),s.jsx(Be,{environment:S?.config.environment??D.PRODUCTION,visible:Me,showAdjustAmount:ne?.address===P,hasZeroImx:!1,onAddCoinsClick:()=>{G({payload:{type:y.UPDATE_VIEW,view:{type:E.TOP_UP_VIEW},currentViewData:{fromTokenAddress:ne?.address??"",fromAmount:ee,toTokenAddress:Ee?.address??""}}})},onCloseDrawer:()=>Ge(!1)}),s.jsx(qe,{visible:$e,onCloseDrawer:()=>{ze(!1),re(void 0),te(""),Se(void 0),we("")}}),s.jsx(me,{visible:He,targetChainId:T(S?.config),provider:v,checkout:S,onCloseDrawer:()=>Je(!1)})]})}const ot=(e,t)=>{if(0===e.length)return!0;let o=!1;return e.forEach((e=>{e.token.symbol===t&&e.balance.eq(0)&&(o=!0)})),o};function st({theme:t,fromAmount:o,toAmount:n,fromTokenAddress:r,toTokenAddress:i}){const{t:d}=e(),{viewDispatch:l}=c.useContext(u),{eventTargetState:{eventTarget:p}}=c.useContext(B),{swapState:{tokenBalances:x}}=c.useContext(Ce),{connectLoaderState:{checkout:T}}=c.useContext(m),[A,g]=c.useState(!1),{page:S}=w();return c.useEffect((()=>{S({userJourney:f.SWAP,screen:"SwapCoins",extras:{fromAmount:o,toAmount:n,fromTokenAddress:r,toTokenAddress:i}})}),[]),c.useEffect((()=>{ot(x,z)&&g(!0)}),[x]),s.jsx(M,{header:s.jsx(G,{title:d("views.SWAP.header.title"),onCloseButtonClick:()=>$(p)}),footer:s.jsx(ve,{environment:T?.config.environment,theme:t}),children:s.jsxs(a,{sx:{height:"100%",display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[s.jsx(tt,{data:{fromAmount:o,toAmount:n,fromTokenAddress:r,toTokenAddress:i},theme:t}),s.jsx(Be,{environment:T?.config.environment??D.PRODUCTION,visible:A,showAdjustAmount:!1,hasZeroImx:!0,onAddCoinsClick:()=>{l({payload:{type:y.UPDATE_VIEW,view:{type:E.TOP_UP_VIEW}}})},onCloseDrawer:()=>{g(!1)}})]})})}function at({transactionResponse:t,swapForm:o}){const{t:a}=e(),{viewDispatch:n}=c.useContext(u),{page:r}=w();return c.useEffect((()=>{r({userJourney:f.SWAP,screen:"SwapInProgress",extras:{swapFormInfo:o}})}),[]),c.useEffect((()=>{(async()=>{try{const e=await t.wait();if(1===e.status)return void n({payload:{type:y.UPDATE_VIEW,view:{type:fe.SUCCESS,data:{fromTokenAddress:o.fromTokenAddress,fromAmount:o.fromAmount,toTokenAddress:o.toTokenAddress,toAmount:o.toAmount||"",transactionHash:e.transactionHash}}}});n({payload:{type:y.UPDATE_VIEW,view:{type:fe.FAIL,data:o,reason:"Transaction failed"}}})}catch{n({payload:{type:y.UPDATE_VIEW,view:{type:fe.FAIL,data:o,reason:"Transaction failed"}}})}})()}),[t]),s.jsx(H,{loadingText:a("views.SWAP.IN_PROGRESS.loading.text"),showFooterLogo:!0})}function nt({data:t}){const{t:o}=e(),{swapState:{allowedTokens:n}}=c.useContext(Ce),{connectLoaderState:r}=c.useContext(m),{checkout:i,provider:d}=r,{viewDispatch:l}=c.useContext(u),{eventTargetState:{eventTarget:p}}=c.useContext(B),x=J(d),[T,g]=c.useState(!1),[S,v]=c.useState(!1),[h,I]=c.useState(!1),[C,b]=c.useState(!1),[k,P]=c.useState(!1),[R,_]=c.useState(!1),{page:F,track:j}=w();c.useEffect((()=>{F({userJourney:f.SWAP,screen:"ApproveERC20",extras:{swapFormInfo:t.swapFormInfo}})}),[]);const O=c.useMemo((()=>n.find((e=>e.address===t.swapFormInfo.fromTokenAddress))),[n,t.swapFormInfo.fromTokenAddress]),W=c.useCallback((()=>{l({payload:{type:y.UPDATE_VIEW,view:{type:E.ERROR_VIEW,error:new Error("No checkout object or no provider object found")}}})}),[l]),D=c.useCallback((()=>{l({payload:{type:y.UPDATE_VIEW,view:{type:fe.SWAP,data:t.swapFormInfo}}})}),[l]),L=(e,t)=>{e.type!==A.UNPREDICTABLE_GAS_LIMIT?e.type===A.TRANSACTION_FAILED||e.type===A.INSUFFICIENT_FUNDS||e.receipt&&0===e.receipt.status?l({payload:{type:y.UPDATE_VIEW,view:{type:fe.FAIL,reason:"Transaction failed",data:t}}}):l({payload:{type:y.UPDATE_VIEW,view:{type:E.ERROR_VIEW,error:e}}}):l({payload:{type:y.UPDATE_VIEW,view:{type:fe.PRICE_SURGE,data:t}}})},N=c.useCallback((async()=>{if(!C)if(j({userJourney:f.SWAP,screen:"ApproveERC20",control:"ApproveSpending",controlType:"Button"}),b(!0),i&&d){if(!T){g(!0);try{const e=await i.sendTransaction({provider:d,transaction:t.approveTransaction});v(!0);if(1!==(await e.transactionResponse.wait()).status)return void l({payload:{type:y.UPDATE_VIEW,view:{type:fe.FAIL,data:t.swapFormInfo}}});v(!1),g(!1),I(!0)}catch(e){if(v(!1),g(!1),e.type===A.USER_REJECTED_REQUEST_ERROR)return void P(!0);L(e,t.swapFormInfo)}finally{b(!1)}}}else W()}),[i,d,W,l,_,t.approveTransaction,t.swapFormInfo,T,g,v]),V=c.useMemo((()=>s.jsxs(q,{heading:o(`views.APPROVE_ERC20.approveSpending.content.${x?"passport":"metamask"}.heading`),children:[x&&s.jsx(a,{children:o("views.APPROVE_ERC20.approveSpending.content.passport.body")}),!x&&s.jsx(a,{children:o("views.APPROVE_ERC20.approveSpending.content.metamask.body",{amount:`${t.swapFormInfo.fromAmount} ${O?.symbol||""}`})})]})),[t.swapFormInfo,O,x]),U=c.useMemo((()=>s.jsx(K,{loading:C,actionText:o(k?"views.APPROVE_ERC20.approveSpending.footer.retryText":"views.APPROVE_ERC20.approveSpending.footer.buttonText"),onActionClick:N})),[k,N,C]),z=c.useCallback((async()=>{if(!C)if(j({userJourney:f.SWAP,screen:"ApproveERC20",control:"ApproveSwap",controlType:"Button"}),b(!0),i&&d){if(!T){g(!0);try{const e=await i.sendTransaction({provider:d,transaction:t.transaction});g(!1),l({payload:{type:y.UPDATE_VIEW,view:{type:fe.IN_PROGRESS,data:{transactionResponse:e.transactionResponse,swapForm:t.swapFormInfo}}}})}catch(e){if(g(!1),e.type===A.USER_REJECTED_REQUEST_ERROR)return void _(!0);L(e,t.swapFormInfo)}finally{b(!1)}}}else W()}),[i,d,W,l,_,t.transaction,t.swapFormInfo,T,g]),X=s.jsx(q,{heading:o("views.APPROVE_ERC20.approveSwap.content.heading"),children:s.jsx(a,{children:o("views.APPROVE_ERC20.approveSwap.content.body")})}),Q=c.useMemo((()=>s.jsx(K,{loading:C,actionText:o(R?"views.APPROVE_ERC20.approveSwap.footer.retryText":"views.APPROVE_ERC20.approveSwap.footer.buttonText"),onActionClick:z})),[R,z,C]);return s.jsxs(s.Fragment,{children:[S&&s.jsx(H,{loadingText:o("views.APPROVE_ERC20.approveSpending.loading.text"),showFooterLogo:!0}),!S&&s.jsx(M,{header:s.jsx(G,{transparent:!0,showBack:!0,onCloseButtonClick:()=>$(p),onBackButtonClick:D}),floatHeader:!0,heroContent:h?s.jsx(we,{}):s.jsx(Se,{}),footer:h?Q:U,children:h?X:V})]})}function rt({amount:t,fromTokenAddress:o,toTokenAddress:a,config:n}){const{t:r}=e(),{eventTargetState:{eventTarget:i}}=c.useContext(B),{environment:d,theme:l,isOnRampEnabled:p,isSwapEnabled:x,isBridgeEnabled:A}=n,{connectLoaderState:{checkout:g,provider:S}}=c.useContext(m),[v,h]=c.useReducer(X,{...Q,history:[]}),[I,C]=c.useReducer(be,he),{page:b}=w(),[k,P]=c.useState(!1),R=c.useMemo((()=>({swapState:I,swapDispatch:C})),[I,C]),_=c.useMemo((()=>({viewState:v,viewDispatch:h})),[v,h]),F=c.useCallback(((e,t)=>{h({payload:{type:y.UPDATE_VIEW,view:{type:E.ERROR_VIEW,tryAgain:t,error:e}}})}),[h]),j=c.useCallback((()=>{h({payload:{type:y.UPDATE_VIEW,view:{type:fe.SWAP}}})}),[h]),O=c.useCallback((async()=>{if(!g)throw new Error("loadBalances: missing checkout");if(!S)throw new Error("loadBalances: missing provider");try{const e=await xe({checkout:g,provider:S,allowTokenListType:Z.SWAP});if(void 0===e)return!1;C({payload:{type:Ie.SET_ALLOWED_TOKENS,allowedTokens:e.allowList.tokens}}),C({payload:{type:Ie.SET_TOKEN_BALANCES,tokenBalances:e.allowedBalances}})}catch(e){if(Y.nonRetryable(e))return F(e,O),!1}return!0}),[g,S]);return c.useEffect((()=>{(async()=>{if(!g||!S)return;const e=await g.getNetworkInfo({provider:S});if(e.chainId!==T(g.config))return;let t;try{t=await g.config.remote.getConfig("dex")}catch(e){return void F(e)}const o=new ee({chainId:e.chainId,baseConfig:new te({environment:d}),secondaryFees:t.secondaryFees,overrides:t.overrides});C({payload:{type:Ie.SET_EXCHANGE,exchange:o}}),C({payload:{type:Ie.SET_NETWORK,network:e}}),await O()&&v.view.type===E.LOADING_VIEW&&j()})()}),[g,S]),s.jsx(u.Provider,{value:_,children:s.jsx(Ce.Provider,{value:R,children:s.jsxs(Ae,{environment:d,children:[v.view.type===E.LOADING_VIEW&&s.jsx(H,{loadingText:r("views.LOADING_VIEW.text")}),v.view.type===fe.SWAP&&s.jsx(st,{theme:l,fromAmount:v.view.data?.fromAmount??t,fromTokenAddress:v.view.data?.fromTokenAddress??o,toTokenAddress:v.view.data?.toTokenAddress??a}),v.view.type===fe.IN_PROGRESS&&s.jsx(at,{transactionResponse:v.view.data.transactionResponse,swapForm:v.view.data.swapForm}),v.view.type===fe.APPROVE_ERC20&&s.jsx(nt,{data:v.view.data}),v.view.type===fe.SUCCESS&&s.jsx(oe,{statusText:r("views.SWAP.success.text"),actionText:r("views.SWAP.success.actionText"),onRenderEvent:()=>{b({userJourney:f.SWAP,screen:"SwapSuccess",extras:{fromTokenAddress:v.view.data?.fromTokenAddress,fromAmount:v.view.data?.fromAmount,toTokenAddress:v.view.data?.toTokenAddress,toAmount:v.view.data?.toAmount}}),se(i,v.view.data.transactionHash)},onActionClick:()=>$(i),statusType:ae.SUCCESS,testId:"success-view"}),v.view.type===fe.FAIL&&s.jsx(oe,{statusText:r("views.SWAP.failed.text"),actionText:r("views.SWAP.failed.actionText"),onRenderEvent:()=>{b({userJourney:f.SWAP,screen:"SwapFailed"}),ne(i,"Transaction failed")},onActionClick:()=>{v.view.type===fe.FAIL&&h({payload:{type:y.UPDATE_VIEW,view:{type:fe.SWAP,data:v.view.data}}})},statusType:ae.FAILURE,onCloseClick:()=>$(i),testId:"fail-view"}),v.view.type===fe.PRICE_SURGE&&s.jsx(oe,{statusText:r("views.SWAP.rejected.text"),actionText:r("views.SWAP.rejected.actionText"),onRenderEvent:()=>{b({userJourney:f.SWAP,screen:"PriceSurge"}),re(i,"Price surge")},onActionClick:()=>{v.view.type===fe.PRICE_SURGE&&h({payload:{type:y.UPDATE_VIEW,view:{type:fe.SWAP,data:v.view.data}}})},statusType:ae.WARNING,onCloseClick:()=>$(i),testId:"price-surge-view"}),v.view.type===E.ERROR_VIEW&&s.jsx(ie,{actionText:r("views.ERROR_VIEW.actionText"),onActionClick:async()=>{P(!0);const e=v.view;if(!e.tryAgain)return j(),void P(!1);await e.tryAgain()&&j(),P(!1)},onCloseClick:()=>$(i),errorEventActionLoading:k}),v.view.type===E.TOP_UP_VIEW&&s.jsx(Ee,{analytics:{userJourney:f.SWAP},checkout:g,provider:S,widgetEvent:de.IMTBL_SWAP_WIDGET_EVENT,showOnrampOption:p,showSwapOption:x,showBridgeOption:A,onCloseButtonClick:()=>$(i)})]})})})}export{rt as default};