@imtbl/sdk 1.46.2-alpha.4 → 1.46.2-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/blockchain_data.js +2 -2
- package/dist/browser/checkout/BridgeWidget-69ef3783.js +1 -0
- package/dist/browser/checkout/CheckoutWidget-044ccde3.js +1 -0
- package/dist/browser/checkout/OnRampWidget-f68e31ac.js +2 -0
- package/dist/browser/checkout/SaleWidget-dff8ba88.js +1 -0
- package/dist/browser/checkout/SpendingCapHero-617b015a.js +1 -0
- package/dist/browser/checkout/SwapWidget-33b911a4.js +1 -0
- package/dist/browser/checkout/TopUpView-07d43ea1.js +1 -0
- package/dist/browser/checkout/WalletWidget-28f8d229.js +1 -0
- package/dist/browser/checkout/auto-track-128940e6.js +1 -0
- package/dist/browser/checkout/balance-02a997c2.js +1 -0
- package/dist/browser/checkout/index-160882ca.js +100 -0
- package/dist/browser/checkout/index-4e2eeff8.js +1 -0
- package/dist/browser/checkout/index-68cda8f5.js +60 -0
- package/dist/browser/checkout/index-96577f2f.js +1 -0
- package/dist/browser/checkout/index-9769b9c3.js +1 -0
- package/dist/browser/checkout/index-ac227ef4.js +773 -0
- package/dist/browser/checkout/index-d3fdff35.js +1 -0
- package/dist/browser/checkout/index-d4812548.js +1 -0
- package/dist/browser/checkout/index.umd-193f43db.js +1 -0
- package/dist/browser/checkout/is-plan-event-enabled-80f76ce6.js +1 -0
- package/dist/browser/checkout/retry-f0ac2e4f.js +1 -0
- package/dist/browser/checkout/sdk.js +75 -0
- package/dist/browser/checkout/widgets-esm.js +1 -0
- package/dist/browser/checkout/widgets.js +932 -0
- package/dist/checkout.js +4 -4
- package/dist/config.js +1 -1
- package/dist/index.browser.js +6 -6
- package/dist/index.cjs +7 -7
- package/dist/index.js +7 -7
- package/dist/minting_backend.js +2 -2
- package/dist/orderbook.js +1 -1
- package/dist/passport.js +4 -4
- package/dist/webhook.js +1 -1
- package/dist/x.js +3 -3
- package/package.json +2 -2
package/dist/blockchain_data.js
CHANGED
|
@@ -5559,7 +5559,7 @@ const flattenProperties = (properties) => {
|
|
|
5559
5559
|
};
|
|
5560
5560
|
|
|
5561
5561
|
// WARNING: DO NOT CHANGE THE STRING BELOW. IT GETS REPLACED AT BUILD TIME.
|
|
5562
|
-
const SDK_VERSION = '1.46.2-alpha.
|
|
5562
|
+
const SDK_VERSION = '1.46.2-alpha.6';
|
|
5563
5563
|
const getFrameParentDomain = () => {
|
|
5564
5564
|
if (isNode()) {
|
|
5565
5565
|
return '';
|
|
@@ -5830,7 +5830,7 @@ class APIError extends Error {
|
|
|
5830
5830
|
|
|
5831
5831
|
/* eslint-disable implicit-arrow-linebreak */
|
|
5832
5832
|
const defaultHeaders = {
|
|
5833
|
-
sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.46.2-alpha.
|
|
5833
|
+
sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.46.2-alpha.6',
|
|
5834
5834
|
};
|
|
5835
5835
|
/**
|
|
5836
5836
|
* createAPIConfiguration to create a custom Configuration
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{bG as e,j as t,_ as a,aq as n,o as s,k as o,K as r,bH as i,r as l,I as c,b2 as d,n as u,bI as p,M as w,aN as g,l as h,d as f,a as b,bJ as m,ag as v,bK as x,Q as T,bL as E,P as y,bf as I,t as A,U as S,aP as k,V as C,aD as R,p as _,a8 as D,aa as N,be as P,bM as L,bN as W,G as O,X as B,bO as M,Y as G,E as F,w as z,y as U,T as V,x as $,bP as H,bQ as K,bR as J,$ as j,a2 as q,bS as Q,a3 as Y,bT as X,bU as Z,bV as ee,aj as te,aZ as ae,bW as ne,H as se,a5 as oe,bX as re,a4 as ie,a7 as le,B as ce,a0 as de,A as ue,v as pe,bh as we,bj as ge,b8 as he,bd as fe,bY as be,at as me,as as ve,bZ as xe,bn as Te,bi as Ee,b_ as ye,b$ as Ie,bp as Ae,L as Se,c0 as ke,c1 as Ce,ab as Re,ac as _e,c2 as De,ae as Ne,bq as Pe,c3 as Le,c4 as We,bg as Oe,ah as Be,ai as Me,c5 as Ge,bs as Fe,c6 as ze,bt as Ue,aL as Ve,ak as $e,c7 as He,c8 as Ke,c9 as Je}from"./index-160882ca.js";import{B as je,C as qe,f as Qe,a as Ye,p as Xe,T as Ze,b as et}from"./TopUpView-07d43ea1.js";import{T as tt,r as at,u as nt}from"./retry-f0ac2e4f.js";import{A as st,S as ot,T as rt,a as it,g as lt,F as ct,N as dt,W as ut}from"./balance-02a997c2.js";const{Axios:pt,AxiosError:wt,CanceledError:gt,isCancel:ht,CancelToken:ft,VERSION:bt,all:mt,Cancel:vt,isAxiosError:xt,spread:Tt,toFormData:Et,AxiosHeaders:yt,HttpStatusCode:It,formToJSON:At,getAdapter:St,mergeConfig:kt}=e;var Ct=["leftSideLength","rightSideLength","text","rc","sx"],Rt=["use"],_t=["size"],Dt=["weight"];function Nt(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function Pt(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?Nt(Object(a),!0).forEach((function(t){o(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Nt(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function Lt(e){var o=e.leftSideLength,r=void 0===o?8:o,i=e.rightSideLength,l=void 0===i?4:i,c=e.text,d=e.rc,u=void 0===d?t("span",{}):d,p=e.sx,w=a(e,Ct),g="use"in w?w:Pt(Pt({},w),{},{use:void 0}),h=g.use,f=a(g,Rt),b="size"in f?f:Pt({size:void 0},f),m=b.size,v=a(b,_t),x="weight"in v?v:Pt({weight:void 0},v),T=x.weight,E=a(x,Dt),y=function(e){var t=e.text,a=e.leftSideLength,n=void 0===a?4:a,s=e.rightSideLength,o=void 0===s?4:s;if(n+o>=t.length)return t;var r=t.substring(0,n),i=t.substring(t.length-o,t.length);return"".concat(r,"...").concat(i)}({leftSideLength:r,rightSideLength:l,text:c});return n(h||t(s,{size:m,weight:T}),Pt(Pt({},E),{},{rc:u,sx:p,children:y}))}async function Wt(e,t,a){let n=!1,s=t;try{const{isConnected:a}=await e.checkIsWalletConnected({provider:t});n=a}catch(e){throw console.error(e),e}if(!n||a)try{const{provider:o}=await e.connect({provider:t,requestWalletPermissions:a});s=o,n=!0}catch(e){throw e.type===r.USER_REJECTED_REQUEST_ERROR&&console.log("User rejected request"),console.error(e),e}return s}Lt.displayName="EllipsizedText";class Ot{url;ttl;env;cacheMap;setCache(e,t){this.cacheMap[e]={data:t,ttl:(new Date).getTime()+1e3*this.ttl}}getCache(e){const t=this.cacheMap[e];return!t||t.ttl<=(new Date).getTime()?null:t.data}constructor(e){this.env=e.env,this.url=`${i[this.env]}/checkout`,this.cacheMap={},this.ttl=void 0!==e.ttl?e.ttl:60}static isHttpError=e=>"code"in e;async getTransactions(t){const{txType:a,fromAddress:n}=t;try{const t=`${this.url}/v1/transactions?from_address=${n}&tx_type=${a}`,s=this.getCache(t);if(s)return Promise.resolve(s);const o=await e.get(t);if(o.status>=400)return Promise.reject({code:o.status,message:o.statusText});const{data:r}=o;return this.setCache(t,r),Promise.resolve(r)}catch(t){let a=It.InternalServerError,n="InternalServerError";return e.isAxiosError(t)&&(a=t.response?.status||a,n=t.message),Promise.reject({code:a,message:n})}}}var Bt;!function(e){e.BRIDGE="bridge"}(Bt||(Bt={}));const Mt={IN_PROGRESS:"in_progress",WITHDRAWAL_PENDING:"withdrawal_pending"},Gt={web3Provider:null,walletProviderName:null,from:null,to:null,tokenBridge:null,tokenBalances:[],allowedTokens:[],token:null,amount:"0"};var Ft;!function(e){e.SET_WALLETS_AND_NETWORKS="SET_WALLETS_AND_NETWORKS",e.SET_WALLET_PROVIDER_NAME="SET_WALLET_PROVIDER_NAME",e.SET_PROVIDER="SET_PROVIDER",e.SET_TOKEN_BRIDGE="SET_TOKEN_BRIDGE",e.SET_TOKEN_BALANCES="SET_TOKEN_BALANCES",e.SET_ALLOWED_TOKENS="SET_ALLOWED_TOKENS",e.SET_TOKEN_AND_AMOUNT="SET_TOKEN_AND_AMOUNT"}(Ft||(Ft={}));const zt=l.createContext({bridgeState:{...Gt,checkout:{}},bridgeDispatch:()=>{}});zt.displayName="BridgeContext";const Ut=(e,t)=>{switch(t.payload.type){case Ft.SET_WALLETS_AND_NETWORKS:return{...e,from:t.payload.from,to:t.payload.to};case Ft.SET_WALLET_PROVIDER_NAME:return{...e,walletProviderName:t.payload.walletProviderName};case Ft.SET_PROVIDER:return{...e,web3Provider:t.payload.web3Provider};case Ft.SET_TOKEN_BRIDGE:return{...e,tokenBridge:t.payload.tokenBridge};case Ft.SET_TOKEN_BALANCES:return{...e,tokenBalances:t.payload.tokenBalances};case Ft.SET_ALLOWED_TOKENS:return{...e,allowedTokens:t.payload.allowedTokens};case Ft.SET_TOKEN_AND_AMOUNT:return{...e,token:t.payload.token,amount:t.payload.amount};default:return e}},Vt=(e,t)=>{const a=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.TRANSACTION_SENT,data:{transactionHash:t}}});console.log("bridge success ",e,a),void 0!==e&&e.dispatchEvent(a)};function $t(e){const t=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.CLOSE_WIDGET,data:{}}});console.log("bridge close ",e,t),void 0!==e&&e.dispatchEvent(t)}function Ht(){return u(g,{sx:{gap:"base.spacing.x2"},children:[t(p,{sx:{h:"base.spacing.x4",w:"base.spacing.x32",mt:"base.spacing.x2"}}),t(w,{shimmer:!0,emphasized:!0,size:"small"}),t(w,{shimmer:!0,emphasized:!0,size:"small"}),t(w,{shimmer:!0,emphasized:!0,size:"small"})]})}const Kt={px:"base.spacing.x4",display:"flex",flexDirection:"column",height:"100%"},Jt={flexGrow:"1",flexShrink:"0",flexBasis:"0"},jt={flexGrow:"0",flexShrink:"1",mt:"base.spacing.x2"},qt={bg:"base.color.translucent.emphasis.100",borderRadius:"base.borderRadius.x4",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column",height:"100%",px:"base.spacing.x5"};function Qt({openWalletDrawer:e}){const{t:a}=h();return u(b,{sx:qt,children:[t(s,{sx:{mb:"base.spacing.x8"},children:a("views.TRANSACTIONS.status.emptyState.notConnected.body")}),t(f,{variant:"secondary",size:"medium",testId:"transactions-connect-wallet-button",onClick:e,children:a("views.TRANSACTIONS.status.emptyState.notConnected.buttonText")})]})}const Yt={backgroundColor:"base.color.neutral.800",px:"base.spacing.x4",p:"base.spacing.x5",borderRadius:"base.borderRadius.x6"},Xt={color:"base.color.text.body.secondary"};function Zt({checkout:e,isPassport:a}){const{t:n}=h(),[o,r]=l.useState("");return l.useEffect((()=>{e&&r(m[e.config.environment])}),[e]),t(b,{sx:Yt,children:u(b,{sx:{display:"flex",flexDirection:"column"},children:[u(b,{children:[t(s,{size:"small",children:n("views.TRANSACTIONS.support.body1")}),u(s,{size:"small",sx:Xt,children:[n("views.TRANSACTIONS.support.body2"),t(v,{size:"small",rc:t("a",{target:"_blank",href:n("views.TRANSACTIONS.support.supportLink"),rel:"noreferrer"}),children:n("views.TRANSACTIONS.support.body3")})]})]}),a&&u(s,{size:"small",sx:Xt,children:[n("views.TRANSACTIONS.support.passport.body1")," ",t(v,{size:"small",rc:t("a",{target:"_blank",href:o,rel:"noreferrer"}),children:n("views.TRANSACTIONS.support.passport.body2")})]})]})})}const ea={display:"flex",flexDirection:"column",borderRadius:"base.borderRadius.x4",bg:"base.color.translucent.emphasis.100"},ta={p:"base.spacing.x3",d:"flex",justifyContent:"space-between",position:"relative"},aa={display:"flex",flexGrow:"1",alignItems:"center",gap:"base.spacing.x2"};function na({transaction:e,environment:a}){const n=x(e.details.from_chain),o=x(e.details.to_chain);return u(b,{sx:{display:"flex",px:"base.spacing.x4",gap:"base.spacing.x2"},children:[t(y,{sx:{w:"base.icon.size.400",h:"base.icon.size.400"},use:t("img",{src:T(a,n),alt:E[n]})}),u(b,{sx:{display:"flex",flexDirection:"column",flexGrow:"1"},children:[t(s,{size:"xxSmall",sx:{color:"base.color.translucent.standard.900"},children:E[n]}),t(Lt,{size:"xxSmall",sx:{color:"base.color.translucent.standard.600"},text:e.details.from_address})]}),t(b,{sx:{flexGrow:"1"}}),t(I,{icon:"ArrowForward",sx:{w:"base.icon.size.250",fill:"base.color.brand.4"}}),t(b,{sx:{flexGrow:"1"}}),t(y,{sx:{w:"base.icon.size.400",h:"base.icon.size.400"},use:t("img",{src:T(a,o),alt:E[o]})}),u(b,{sx:{display:"flex",flexDirection:"column",flexGrow:"1"},children:[t(s,{size:"xxSmall",sx:{color:"base.color.translucent.standard.900"},children:E[o]}),t(Lt,{size:"xxSmall",sx:{color:"base.color.translucent.standard.600"},text:e.details.to_address})]})]})}function sa({label:e,details:a,transaction:n,fiatAmount:s,amount:o,icon:r,defaultTokenImage:i,environment:c}){const{track:d}=A(),p=l.useMemo((()=>`${a.link}${a.hash}`),[a]);return t(b,{testId:`transaction-item-${n.blockchain_metadata.transaction_hash}`,sx:ea,children:u(st,{chevronSide:"right",sx:{button:{p:"base.spacing.x1"},article:{pr:"base.spacing.x10"}},onExpandChange:e=>e&&d({userJourney:S.BRIDGE,screen:"TransactionItem",control:"Accordion",controlType:"Button"}),children:[t(st.TargetLeftSlot,{sx:{pr:"base.spacing.x2"},children:u(w,{size:"xSmall",children:[t(w.FramedImage,{circularFrame:!0,use:t(tt,{src:r,name:e,defaultImage:i})}),t(w.Label,{children:e}),t(w.Caption,{children:t(v,{size:"xSmall",rc:t("a",{target:"_blank",href:p,rel:"noreferrer",onClick:e=>{return t=a,e.stopPropagation(),void d({userJourney:S.BRIDGE,screen:"TransactionItem",control:"Details",controlType:"Link",extras:{linkDetail:t}});var t}}),children:a.text})}),t(w.PriceDisplay,{fiatAmount:s,price:o})]})}),u(st.ExpandedContent,{sx:{pr:"0",pl:"0",mb:"base.spacing.x3",gap:"0"},children:[t(k,{size:"xSmall",sx:{px:"base.spacing.x2"}}),t(na,{transaction:n,environment:c})]})]})})}const oa=e=>{let t=440;return e&&(t-=20),{backgroundColor:"base.color.neutral.800",px:"base.spacing.x4",pt:"base.spacing.x5",pb:"base.spacing.x4",borderRadius:"base.borderRadius.x6",h:`${t}px`,w:"100%",overflowY:"scroll"}},ra={borderRadius:"base.borderRadius.x4",display:"flex",flexDirection:"column",gap:"base.spacing.x5"};function ia({label:e,transaction:a,fiatAmount:n,amount:o,icon:r,defaultTokenImage:i,environment:c}){const{viewDispatch:d}=l.useContext(C),{track:p}=A(),g=h(),m=l.useMemo((()=>(new Date).getTime()),[]),v=l.useMemo((()=>a.details.current_status.withdrawal_ready_at?new Date(a.details.current_status.withdrawal_ready_at):void 0),[a]),x=a.details.current_status.status===Mt.WITHDRAWAL_PENDING,T=new Intl.RelativeTimeFormat(g[1].language||"en",{numeric:"auto"}),E=l.useMemo((()=>{if(!x||void 0===v)return"";const e=(v.getTime()-m)/6e4;if(e<=1)return"in 1 minute";if(e<60)return T.format(Math.ceil(e),"minute");const t=e/60;if(e<1440)return T.format(Math.ceil(t),"hour");const a=t/24;return T.format(Math.ceil(a),"day")}),[m,g[1].language]),y=!!v&&v.getTime()<m,D=l.useMemo((()=>!0===y?g.t("views.TRANSACTIONS.status.withdrawalPending.withdrawalReadyText"):`${g.t("views.TRANSACTIONS.status.withdrawalPending.withdrawalDelayText")} ${E}`),[E,g[1].language]);return u(b,{testId:`transaction-item-${a.blockchain_metadata.transaction_hash}`,sx:ea,children:[x&&u(R,{children:[u(b,{sx:ta,children:[u(b,{sx:aa,children:[t(I,{icon:"Alert",variant:"bold",sx:{fill:y?"base.color.status.fatal.bright":"base.color.status.attention.bright",w:"base.icon.size.200"}}),t(s,{testId:`transaction-item-${a.blockchain_metadata.transaction_hash}-action-message`,size:"xSmall",sx:{color:"base.color.text.body.secondary"},children:D})]}),x&&y&&t(f,{testId:`transaction-item-${a.blockchain_metadata.transaction_hash}-action-button`,variant:"primary",size:"small",onClick:()=>{d({payload:{type:_.UPDATE_VIEW,view:{type:je.CLAIM_WITHDRAWAL,transaction:a}}})},children:g.t("views.TRANSACTIONS.status.withdrawalPending.actionButtonText")})]}),t(k,{size:"small",sx:{color:"base.color.translucent.emphasis.300",opacity:.1}})]}),u(st,{chevronSide:"right",sx:{button:{p:"base.spacing.x1"},article:{pr:"base.spacing.x10"},borderTopRightRadius:"0",borderTopLeftRadius:"0"},onExpandChange:e=>e&&p({userJourney:S.BRIDGE,screen:"TransactionItem",control:"Accordion",controlType:"Button"}),children:[t(st.TargetLeftSlot,{sx:{pr:"base.spacing.x2"},children:u(w,{size:"xSmall",children:[t(w.FramedImage,{circularFrame:!0,use:t(tt,{src:r,name:e,defaultImage:i})}),t(w.Label,{children:e}),t(w.Caption,{children:g.t("views.TRANSACTIONS.status.withdrawalPending.caption")}),t(w.PriceDisplay,{fiatAmount:n,price:o})]})}),u(st.ExpandedContent,{sx:{pr:"0",pl:"0",mb:"base.spacing.x3",gap:"0"},children:[t(k,{size:"xSmall",sx:{px:"base.spacing.x2"}}),t(na,{transaction:a,environment:c})]})]})]})}const la={display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",p:"base.spacing.x2",pb:"base.spacing.x4"},ca={position:"relative",pr:"base.spacing.x2"},da={width:"base.icon.size.400"},ua={position:"absolute",top:"-6px",left:"18px",width:"20px",padding:"2px",backgroundColor:"base.color.translucent.inverse.900",borderRadius:"base.borderRadius.x2"},pa={backgroundColor:"transparent",width:"base.icon.size.400",height:"base.icon.size.400",marginRight:"base.spacing.x1",padding:"base.spacing.x1"};function wa({onChangeWalletClick:e}){const{t:a}=h(),{bridgeState:{from:n}}=l.useContext(zt),[s,o]=l.useState(void 0),[r,i]=l.useState(!1),{isWalletConnectEnabled:c,getWalletLogoUrl:d}=D(),{track:p}=A(),w=n?.walletAddress||"",g=n?.walletProviderInfo;return l.useEffect((()=>{if(c){const e=N(n?.web3Provider);i(e),e&&(async()=>{o(await d())})()}}),[c,n]),u(b,{sx:la,children:[u(b,{sx:{display:"flex",alignItems:"center",gap:"base.spacing.x1"},children:[r&&s?u(b,{sx:ca,children:[t(y,{sx:da,use:t("img",{src:s,alt:"walletconnect"})}),t(P,{logo:"WalletConnectSymbol",sx:ua})]}):g&&t(L,{src:g.icon,alt:g.name,sx:pa}),t(Lt,{leftSideLength:6,rightSideLength:4,text:w})]}),t(f,{size:"small",variant:"tertiary",onClick:()=>{p({userJourney:S.BRIDGE,screen:je.TRANSACTIONS,controlType:"Button",control:"Pressed"}),e()},children:a("views.TRANSACTIONS.changeWallet.buttonText")})]})}function ga({checkout:e,transactions:a,knownTokenMap:n,isPassport:s,defaultTokenImage:o,changeWallet:r}){const{cryptoFiatState:i}=l.useContext(qe),{t:c}=h(),[d,p]=l.useState(""),{environment:w}=e.config;l.useEffect((()=>{e&&p(W[e.config.environment])}),[e]);const g=l.useCallback(((e,t)=>e.details.current_status.status===Mt.WITHDRAWAL_PENDING&&t.details.current_status.status!==Mt.WITHDRAWAL_PENDING?-1:e.details.current_status.status===t.details.current_status.status?0:1),[]),f=l.useCallback((t=>O(t.details.from_token_address)?B(e.config.environment,M(t.details.from_chain)):B(e.config.environment,t.details.from_token_address)),[e]);return u(b,{sx:oa(s),children:[t(wa,{onChangeWalletClick:r}),t(b,{testId:"move-transaction-list",sx:ra,children:a.sort(g).map((e=>{const a=e.blockchain_metadata.transaction_hash,s=n[e.details.from_chain][e.details.from_token_address.toLowerCase()],r=Qe(e.details.amount,s.decimals),l=G(r,s.symbol,i.conversions);return e.details.current_status.status===Mt.WITHDRAWAL_PENDING?t(ia,{label:s.symbol,transaction:e,fiatAmount:`${c("views.TRANSACTIONS.fiatPricePrefix")}${l}`,amount:r,icon:f(e),defaultTokenImage:o,environment:w},a):t(sa,{label:s.symbol,details:{text:c("views.TRANSACTIONS.status.inProgress.stepInfo"),link:d,hash:a},transaction:e,fiatAmount:`${c("views.TRANSACTIONS.fiatPricePrefix")}${l}`,amount:r,icon:f(e),defaultTokenImage:o,environment:w},a)}))})]})}const ha={backgroundColor:"base.color.neutral.800",px:"base.spacing.x4",pt:"base.spacing.x5",pb:"base.spacing.x4",borderRadius:"base.borderRadius.x6",h:"100%",w:"100%",display:"flex",flexDirection:"column"},fa={display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",padding:"base.spacing.x5",flex:1},ba={mb:"base.spacing.x8",color:"base.color.text.body.secondary"},ma={color:"base.color.text.body.secondary"};function va({checkout:e,isPassport:a,changeWallet:n}){const{page:o}=A(),{t:r}=h(),[i,c]=l.useState("");return l.useEffect((()=>{e&&c(m[e.config.environment])}),[e]),l.useEffect((()=>{o({userJourney:S.BRIDGE,screen:"NoTransactions"})}),[]),u(b,{sx:ha,children:[t(wa,{onChangeWalletClick:n}),u(b,{sx:fa,children:[t(s,{size:"small",sx:ba,children:r("views.TRANSACTIONS.status.noTransactions.body")}),a&&u(s,{size:"small",sx:ma,children:[r("views.TRANSACTIONS.status.noTransactions.passport.body")," ",t(v,{size:"small",rc:t("a",{target:"_blank",href:i,rel:"noreferrer"}),children:r("views.TRANSACTIONS.status.noTransactions.passport.link")})]})]})]})}function xa({defaultTokenImage:e,onBackButtonClick:a}){const{eventTargetState:{eventTarget:n}}=l.useContext(F),{cryptoFiatDispatch:s}=l.useContext(qe),{bridgeDispatch:o,bridgeState:{checkout:r,from:i}}=l.useContext(zt),{page:c}=A(),{t:d}=h(),{track:p}=A(),[w,g]=l.useState(!0),[f,m]=l.useState(void 0),[v,x]=l.useState([]),[T,E]=l.useState(!1),y=z(i?.web3Provider),I=l.useCallback((async()=>{if(!r)return{};const e=U(r.config);try{return((await r.getTokenAllowList({type:V.BRIDGE,chainId:e})).tokens??[]).reduce(((e,t)=>(e[t.address.toLowerCase()]=t,e)),{})}catch(e){return console.error(e),[]}}),[r]),k=l.useCallback((async()=>{if(!i?.web3Provider)return{};if(!i?.walletAddress)return{};const e=$(r.config);try{return(await r.getAllBalances({provider:i?.web3Provider,walletAddress:i?.walletAddress,chainId:e})).balances.reduce(((e,t)=>(e[t.token.address.toLowerCase()]=t.token,e)),{})}catch(e){return console.error(e),[]}}),[r,i]),C=async e=>{const t=X(U(r.config)),a=X($(r.config)),[n,o]=await Promise.all([I(),k()]),i={};Object.entries(e).forEach((([s,r])=>{(e[s]===t&&!n[s]||e[s]===a&&!o[s])&&(i[s]=r)}));const l=new Z(r.config.networkMap.get(U(r.config))?.rpcUrls[0]),c=new Z(r.config.networkMap.get($(r.config))?.rpcUrls[0]),d=[],u=[];Object.entries(i).forEach((([e,a])=>{a===t?d.push(r.getTokenInfo({provider:l,tokenAddress:e})):u.push(r.getTokenInfo({provider:c,tokenAddress:e}))}));const p=await Promise.allSettled(d),w=await Promise.allSettled(u);p.filter((e=>"fulfilled"===e.status)).forEach((e=>{const t=e;n[t.value.address.toLowerCase()]=t.value})),w.filter((e=>"fulfilled"===e.status)).forEach((e=>{const t=e;o[t.value.address.toLowerCase()]=t.value}));const g=[];return Object.values(n).forEach((e=>g.push(e.symbol.toLowerCase()))),Object.values(o).forEach((e=>g.push(e.symbol.toLowerCase()))),s({payload:{type:Ye.SET_TOKEN_SYMBOLS,tokenSymbols:g}}),{[t]:n,[a]:o}},R=l.useCallback((async(e,t)=>new Ot({env:e}).getTransactions({txType:Bt.BRIDGE,fromAddress:t})),[]),_=l.useCallback((async e=>{p({userJourney:S.BRIDGE,screen:"EmptyStateNotConnected",control:"WalletProvider",controlType:"Select",extras:{walletProviderName:e.providerDetail.info.name}});try{let t=!1;e.providerDetail.info.rdns===H.METAMASK&&(t=!0);const a=new K(e.provider),n=await Wt(r,a,t),s=await n.getNetwork(),i=await n.getSigner().getAddress();x([]),o({payload:{type:Ft.SET_WALLETS_AND_NETWORKS,from:{web3Provider:n,walletProviderInfo:{...e.providerDetail.info},walletAddress:i.toLowerCase(),network:s.chainId},to:null}})}catch(e){console.error(e)}finally{E(!1)}}),[r]),D=l.useCallback((async()=>{if(!i?.walletAddress)return;const e=await R(r.config.environment,i?.walletAddress),t={};return e.result.forEach((e=>{t[e.details.from_token_address]=e.details.from_chain})),{tokens:await C(t),transactions:e.result}}),[i,R]),{providers:N}=J({checkout:r}),P=l.useMemo((()=>N),[N]);return l.useEffect((()=>{(async()=>{g(!0);const e=await at(D,ee);if(!e)return void g(!1);const t=e.transactions.filter((t=>{const a=e.tokens[t.details.from_chain];if(!a)return!1;return!!a[t.details.from_token_address.toLowerCase()]}));m(e.tokens),x(t),g(!1)})()}),[i,r]),l.useEffect((()=>{c({userJourney:S.BRIDGE,screen:"Transactions"})}),[]),t(Y,{testId:"bridge-view",header:t(j,{showBack:!0,onBackButtonClick:()=>{i&&(o({payload:{type:Ft.SET_WALLETS_AND_NETWORKS,from:{web3Provider:i?.web3Provider,walletAddress:i?.walletAddress,walletProviderInfo:i?.walletProviderInfo,network:i?.network},to:null}}),o({payload:{type:Ft.SET_TOKEN_AND_AMOUNT,token:null,amount:""}})),a()},title:d("views.TRANSACTIONS.layoutHeading"),onCloseButtonClick:()=>$t(n)}),footer:t(q,{}),children:u(b,{sx:Kt,children:[u(b,{sx:Jt,children:[!i?.web3Provider&&t(Qt,{openWalletDrawer:()=>E(!0)}),i?.web3Provider&&w&&t(Ht,{}),i?.web3Provider&&!w&&v.length>0&&f&&t(ga,{checkout:r,transactions:v,knownTokenMap:f,isPassport:y,defaultTokenImage:e,changeWallet:()=>E(!0)}),i?.web3Provider&&!w&&0===v.length&&t(va,{checkout:r,isPassport:y,changeWallet:()=>E(!0)})]}),i?.web3Provider&&v.length>0&&t(b,{sx:jt,children:t(Zt,{checkout:r,isPassport:y})}),t(Q,{testId:"select-wallet-drawer",drawerText:{heading:d("views.TRANSACTIONS.walletSelection.heading")},showWalletSelectorTarget:!1,walletOptions:P,showDrawer:T,setShowDrawer:e=>{E(e)},onWalletChange:_})]})})}function Ta({transactionResponse:e}){const{t:a}=h(),{viewDispatch:n}=l.useContext(C),{page:s}=A();return l.useEffect((()=>{s({userJourney:S.BRIDGE,screen:"ClaimWithdrawalInProgress"})}),[]),l.useEffect((()=>{e&&(async()=>{try{const t=await e.wait();if(1===t.status)return void n({payload:{type:_.UPDATE_VIEW,view:{type:je.CLAIM_WITHDRAWAL_SUCCESS,transactionHash:t.transactionHash}}});n({payload:{type:_.UPDATE_VIEW,view:{type:je.CLAIM_WITHDRAWAL_FAILURE,transactionHash:t.transactionHash,reason:"Transaction failed"}}})}catch(e){console.error(e),n({payload:{type:_.UPDATE_VIEW,view:{type:je.CLAIM_WITHDRAWAL_FAILURE,transactionHash:"",reason:"Transaction failed"}}})}})()}),[e]),t(te,{loadingText:a("views.CLAIM_WITHDRAWAL.IN_PROGRESS.loading.text")})}function Ea(e){return e?e.substring(0,6).concat("...").concat(e.substring(e.length-4)):""}const ya={height:"100%",display:"flex",flexDirection:"column",paddingX:"base.spacing.x4"},Ia={paddingTop:"base.spacing.x10",paddingBottom:"base.spacing.x4"},Aa={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6"};function Sa({testId:e,chainId:a,chainName:n,onNetworkClick:s,environment:o}){return u(w,{testId:`${e}-network-list-${a}`,size:"medium",emphasized:!0,onClick:async()=>{await s(a)},sx:{marginBottom:"base.spacing.x1"},children:[t(w.FramedImage,{use:t("img",{src:T(o,a),alt:n})}),t(w.Label,{size:"medium",children:n})]})}ae.IMTBL_ZKEVM_DEVNET,ae.IMTBL_ZKEVM_TESTNET,ae.IMTBL_ZKEVM_MAINNET,ae.ETHEREUM,ae.SEPOLIA;const ka={position:"relative",width:"100%",backgroundColor:"base.color.translucent.emphasis.100",borderRadius:"base.borderRadius.x4",paddingX:"base.spacing.x3",paddingY:"base.spacing.x5",display:"flex",flexDirection:"row",gap:"base.spacing.x4",alignItems:"center","&:hover":{cursor:"pointer",backgroundColor:"base.color.translucent.emphasis.200"}},Ca={width:"base.icon.size.500",backgroundColor:"base.color.translucent.standard.200",borderRadius:"base.borderRadius.x2"},Ra={position:"absolute",top:"14px",left:"38px",width:"28px",padding:"base.spacing.x1",backgroundColor:"base.color.translucent.inverse.900",borderRadius:"base.borderRadius.x2"},_a={color:"base.color.text.body.secondary"},Da={paddingY:"base.spacing.x6",borderRadius:"base.borderRadius.x18"};function Na({testId:e,walletProvider:a,walletProviderDetail:n,walletAddress:o,walletName:r,chainId:i,disableNetworkButton:c=!1,onWalletClick:d,onNetworkClick:p,environment:w}){const g=ne(i),[h,m]=l.useState(void 0),[v,x]=l.useState("Other"),[E,I]=l.useState(!1),{isWalletConnectEnabled:A,getWalletLogoUrl:S,getWalletName:k}=D(),C=l.useMemo((()=>n?.info.rdns===H.PASSPORT?r:N(a)?v:n?.info.name),[n,v,a]);return l.useEffect((()=>{if(A){const e=N(a);I(e),e&&((async()=>{m(await S())})(),x(k()))}}),[A,a,S,k]),u(b,{testId:`${e}-${n?.info.rdns}-${i}-button-wrapper`,sx:ka,onClick:d,children:[E&&h?u(R,{children:[t(y,{imageUrl:h,alt:"walletconnect",sx:Ca}),t(P,{logo:"WalletConnectSymbol",sx:Ra})]}):n&&t(L,{src:n.info.icon,alt:n.info.name}),u(b,{sx:{display:"flex",flexDirection:"column",flex:1},children:[t(se,{size:"xSmall",sx:{textTransform:"capitalize"},children:C}),t(s,{size:"xSmall",sx:_a,children:o})]}),u(f,{testId:`${e}-network-${i}-button`,size:"small",disabled:c,onClick:e=>{e.stopPropagation(),p(e)},variant:"tertiary",sx:Da,children:[t(y,{sx:{w:"base.icon.size.400",h:"base.icon.size.400"},use:t("img",{src:T(w,i),alt:g[i]})}),g]})]})}const Pa="wallet-network-selector";function La(){const{t:e}=h(),{bridgeState:{checkout:a,from:n,to:s},bridgeDispatch:o}=l.useContext(zt),{viewDispatch:r}=l.useContext(C),{providers:i}=J({checkout:a}),{environment:c}=a.config,{track:d}=A(),p=n?.web3Provider??null,w=n?.network??null,g=n?.walletAddress?.toLowerCase()??"",m=n?{provider:p,providerDetail:{provider:p,info:{...n.walletProviderInfo}}}:null,v=s?.web3Provider??null,x=s?.network??null,T=s?.walletAddress?.toLowerCase()??"",E=s?{provider:v,providerDetail:{provider:v,info:{...s.walletProviderInfo}}}:null,y=U(a.config),I=ne(y),k=$(a.config),R=ne(k),[D,P]=l.useState(!1),[L,W]=l.useState(!1),[O,B]=l.useState(p),[M,G]=l.useState(w),[F,V]=l.useState(g),[j,q]=l.useState(m),[Y,X]=l.useState(!1),[Z,ee]=l.useState(!1),[te,ae]=l.useState(v),[ce,de]=l.useState(x),[ue,pe]=l.useState(T),[we,ge]=l.useState(E),he=O&&M,fe=te&&ce,be=l.useMemo((()=>O?oe(O):null),[O]),me=l.useMemo((()=>te?oe(te):null),[te]),ve=l.useMemo((()=>i),[i]),xe=l.useMemo((()=>i.filter((e=>e.info.rdns!==H.PASSPORT||e.info.rdns===H.PASSPORT&&j?.providerDetail?.info?.rdns!==H.PASSPORT))),[i,M,j]);function Te(){ae(null),de(null)}l.useEffect((()=>{n&&s&&o({payload:{type:Ft.SET_WALLETS_AND_NETWORKS,from:null,to:null}})}),[n,s]);const Ee=l.useCallback((async e=>{Te(),q(e);let t=!1;e.providerDetail.info.rdns===H.METAMASK&&(t=!0);const n=new K(e.provider),s=await Wt(a,n,t);await(async e=>{B(e);const t=await e.getSigner().getAddress();if(V(t.toLowerCase()),d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"FromWallet",controlType:"Select",extras:{walletAddress:t.toLowerCase()}}),z(e))return G(k),P(!1),void d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"FromNetwork",controlType:"Select",extras:{chainId:k}});G(null),P(!1),setTimeout((()=>W(!0)),500)})(s)}),[a]),ye=l.useCallback((async e=>{O&&(Te(),W(!1),G(e),d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"FromNetwork",controlType:"Select",extras:{chainId:e}}))}),[a,O]),Ie=l.useCallback((async e=>{te&&(X(!1),de(e),d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"ToNetwork",controlType:"Select",extras:{chainId:e}}))}),[a,te]),Ae=l.useCallback((e=>{const t=F===e&&M===k?y:k;de(t),ee(!1),d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"ToNetwork",controlType:"Select",extras:{chainId:t}})}),[F,M]),Se=l.useCallback((e=>{ae(e),e.getSigner().getAddress().then((e=>{pe(e.toLowerCase()),Ae(e.toLowerCase()),d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"ToWallet",controlType:"Select",extras:{walletAddress:e.toLowerCase()}})}))}),[Ae]),ke=l.useCallback((async e=>{if(j?.providerDetail.info.rdns===e.providerDetail.info.rdns){ae(O),ge(e);const t=await O.getSigner().getAddress();return pe(t.toLowerCase()),Ae(t.toLowerCase()),void d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"ToWallet",controlType:"Select",extras:{walletAddress:t.toLowerCase()}})}try{ge(e);const t=new K(e.provider),n=await Wt(a,t,!1);if(N(n))Se(n);else{ae(n);const e=await n.getSigner().getAddress();pe(e.toLowerCase()),Ae(e.toLowerCase()),d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"ToWallet",controlType:"Select",extras:{walletAddress:e.toLowerCase()}})}}catch(e){console.error(e)}}),[be,O,Ae,Se]),Ce=l.useCallback((()=>{O&&M&&te&&ce&&(o({payload:{type:Ft.SET_TOKEN_BALANCES,tokenBalances:[]}}),o({payload:{type:Ft.SET_ALLOWED_TOKENS,allowedTokens:[]}}),o({payload:{type:Ft.SET_WALLETS_AND_NETWORKS,from:{web3Provider:O,walletAddress:F.toLowerCase(),walletProviderInfo:j?.providerDetail.info,network:M},to:{web3Provider:te,walletAddress:ue.toLowerCase(),walletProviderInfo:we?.providerDetail.info,network:ce}}}),d({userJourney:S.BRIDGE,screen:"WalletAndNetwork",control:"Next",controlType:"Button",extras:{fromWalletAddress:F,fromNetwork:M,fromWallet:{address:F,rdns:j?.providerDetail.info.rdns,uuid:j?.providerDetail.info.uuid,isPassportWallet:z(O),isMetaMask:re(O)},toWalletAddress:ue,toNetwork:ce,toWallet:{address:ue,rdns:we?.providerDetail.info.rdns,uuid:we?.providerDetail.info.uuid,isPassportWallet:z(te),isMetaMask:re(te)},moveType:M&&M===ce?"transfer":"bridge"}}),r({payload:{type:_.UPDATE_VIEW,view:{type:je.BRIDGE_FORM}}}))}),[j,O,M,F,we,te,ce,ue]);return u(b,{testId:Pa,sx:ya,children:[t(se,{testId:`${Pa}-heading`,size:"small",weight:"regular",sx:Ia,children:e("views.WALLET_NETWORK_SELECTION.heading")}),t(se,{size:"xSmall",sx:{paddingBottom:"base.spacing.x2"},children:e("views.WALLET_NETWORK_SELECTION.fromFormInput.heading")}),t(Q,{testId:`${Pa}-from`,drawerText:{heading:e("views.WALLET_NETWORK_SELECTION.fromFormInput.walletSelectorHeading"),defaultText:e("views.WALLET_NETWORK_SELECTION.fromFormInput.selectDefaultText")},showWalletSelectorTarget:!he,showDrawer:D,setShowDrawer:P,walletOptions:ve,onWalletChange:Ee}),he&&be&&u(b,{sx:{display:"flex",flexDirection:"column",gap:"base.spacing.x10"},children:[t(Na,{testId:Pa,walletProviderDetail:j?.providerDetail,walletProvider:O,walletName:be,walletAddress:Ea(F),chainId:M,disableNetworkButton:be===ie.PASSPORT.toString(),onWalletClick:()=>{P(!0)},onNetworkClick:()=>W(!0),environment:c}),u(b,{children:[t(se,{size:"xSmall",sx:{paddingBottom:"base.spacing.x2"},children:e("views.WALLET_NETWORK_SELECTION.toFormInput.heading")}),t(Q,{testId:`${Pa}-to`,drawerText:{heading:e("views.WALLET_NETWORK_SELECTION.toFormInput.walletSelectorHeading"),defaultText:e("views.WALLET_NETWORK_SELECTION.toFormInput.selectDefaultText")},showWalletSelectorTarget:!fe,walletOptions:xe,showDrawer:Z,setShowDrawer:ee,onWalletChange:ke})]})]}),t(le,{headerBarTitle:e(L?"views.WALLET_NETWORK_SELECTION.fromFormInput.networkSelectorHeading":"views.WALLET_NETWORK_SELECTION.toFormInput.networkSelectorHeading"),size:"full",onCloseDrawer:()=>{L?W(!1):X(!1)},visible:L||Y,children:u(le.Content,{sx:{paddingX:"base.spacing.x4"},children:[t(Sa,{testId:Pa,chainName:R,onNetworkClick:L?ye:Ie,chainId:k,environment:c},R),(Y||j?.providerDetail.info.rdns!==H.PASSPORT)&&t(Sa,{testId:Pa,chainName:I,onNetworkClick:L?ye:Ie,chainId:y,environment:c},I)]})}),fe&&me&&u(b,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[t(Na,{testId:Pa,walletProviderDetail:we?.providerDetail,walletProvider:te,walletName:me,walletAddress:Ea(ue),chainId:ce,disableNetworkButton:M===y||me===ie.PASSPORT.toString()||F===ue,onWalletClick:()=>{ee(!0)},onNetworkClick:()=>{X(!0)},environment:c}),t(b,{sx:Aa,children:t(f,{testId:`${Pa}-submit-button`,size:"large",onClick:Ce,children:e("views.WALLET_NETWORK_SELECTION.submitButton.text")})})]})]})}function Wa(){const{t:e}=h(),{viewDispatch:a}=l.useContext(C),{eventTargetState:{eventTarget:n}}=l.useContext(F),{page:s}=A();return l.useEffect((()=>{s({userJourney:S.BRIDGE,screen:"WalletNetworkSelection"})}),[]),t(Y,{testId:"bridge-view",header:t(j,{title:e("views.WALLET_NETWORK_SELECTION.layoutHeading"),onCloseButtonClick:()=>$t(n),rightActions:t(ce,{icon:"Minting",sx:de(),onClick:()=>{a({payload:{type:_.UPDATE_VIEW,view:{type:je.TRANSACTIONS}}})},testId:"move-transactions-button"})}),footer:t(q,{}),children:t(La,{})})}function Oa(e,t){return e&&0!==parseFloat(e)?t&&Number(e)>Number(t)?"views.BRIDGE_FORM.validation.insufficientBalance":"":"views.BRIDGE_FORM.validation.noAmountInputted"}const Ba={height:"100%",display:"flex",flexDirection:"column",justifyContent:"space-between",paddingTop:"base.spacing.x10"},Ma={paddingTop:"base.spacing.x4",display:"flex",gap:"base.spacing.x1"},Ga={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6",paddingX:"base.spacing.x4"};function Fa({sx:e}){return u(b,{sx:{...e,paddingTop:"0",marginTop:"base.spacing.x4"},rc:t("div",{}),children:[t(b,{sx:{display:"flex",backgroundColor:"#F3F3F30A",borderRadius:"8px"},children:t(b,{sx:{minw:"170px",height:"64px",WebkitMaskPosition:"left center",WebkitMaskRepeat:"no-repeat",WebkitMaskSize:"contain",WebkitMaskImage:'url(\'data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path d="M154.75 39q1.65 0 2.85-1.15 1.15-1.15 1.15-2.85v-4q0-1.65-1.15-2.8-1.2-1.2-2.85-1.2h-93.6q-2.3 0-3.85 1.2-1.55 1.15-1.55 2.8v4q0 1.7 1.55 2.85Q58.85 39 61.15 39h93.6m-111.7-3.35q.2-1.3.2-2.65 0-1.35-.2-2.65-.75-4.9-4.5-8.65-4.7-4.7-11.3-4.7-6.65 0-11.3 4.7-4.7 4.7-4.7 11.3 0 6.65 4.7 11.3Q20.6 49 27.25 49q6.6 0 11.3-4.7 3.75-3.7 4.5-8.65Z" id="a"/></svg>\')'},rc:t("span",{}),children:t(p,{rc:t("span",{})})})}),t(b,{sx:{display:"flex",width:"100%",backgroundColor:"#F3F3F30A",borderRadius:"8px"},children:t(b,{sx:{width:"100%",height:"64px",WebkitMaskPosition:"right center",WebkitMaskRepeat:"no-repeat",WebkitMaskSize:"contain",WebkitMaskImage:'url(\'data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" width="196" height="96"><path d="M182.85 55.2Q181.65 54 180 54h-56q-1.7 0-2.85 1.2Q120 56.35 120 58v4q0 1.7 1.15 2.85Q122.3 66 124 66h56q1.65 0 2.85-1.15Q184 63.7 184 62v-4q0-1.65-1.15-2.8m0-22Q181.65 32 180 32H68q-1.7 0-2.85 1.2Q64 34.35 64 36v8q0 1.7 1.15 2.85Q66.3 48 68 48h112q1.65 0 2.85-1.15Q184 45.7 184 44v-8q0-1.65-1.15-2.8Z" id="a"/></svg>\')'},rc:t("span",{}),children:t(p,{rc:t("span",{})})})})]})}function za(e){const{t:a}=h(),{bridgeDispatch:n,bridgeState:{tokenBalances:s,allowedTokens:o,checkout:r,from:i,to:c,amount:d,token:p}}=l.useContext(zt),{cryptoFiatState:w,cryptoFiatDispatch:g}=l.useContext(qe),{viewDispatch:m}=l.useContext(C),{testId:v,defaultAmount:x,defaultTokenAddress:T,isTokenBalancesLoading:E,defaultTokenImage:y,environment:I,theme:k}=e,{track:R}=A(),[D,N]=l.useState(x||""),[P,L]=l.useState(""),[W,B]=l.useState(),[M,F]=l.useState(""),[z,U]=l.useState(""),[V,$]=l.useState(!1),H=l.useRef(!1),K=W?`${a("views.BRIDGE_FORM.content.availableBalancePrefix")} ${ue(W?.formattedBalance)}`:"",[J,j]=l.useState([]),[q,Q]=l.useState(!1),Y=l.useCallback(((e,t)=>t?`${e.toLowerCase()}-${t.toLowerCase()}`:e.toLowerCase()),[]);l.useEffect((()=>{if(0===s.length)return;const e=s.filter((e=>e.balance.gt(0))).map((e=>({id:Y(e.token.symbol,e.token.address),name:e.token.name,symbol:e.token.symbol,icon:e.token.icon,balance:{formattedFiatAmount:0===w.conversions.size?pe(""):G(e.formattedBalance,e.token.symbol,w.conversions),formattedAmount:ue(e.formattedBalance)}})));j(e),H.current||(H.current=!0,T&&B(s.find((e=>O(e.token.address)&&T?.toLocaleUpperCase()===we||e.token.address?.toLowerCase()===T?.toLowerCase()))))}),[s,w.conversions,T,H.current,Y,pe]),l.useEffect((()=>{if(d&&p){N(d);for(let e=0;e<s.length;e++){const t=s[e];if(t.token.address===p.address){B(t);break}}n({payload:{type:Ft.SET_TOKEN_AND_AMOUNT,token:null,amount:""}})}}),[d,p,s]);const X=l.useMemo((()=>W&&W.token?Y(W.token.symbol,W.token.address):void 0),[W,s,w.conversions,Y]),Z=e=>{if(N(e),P){const t=Oa(e,W?.formattedBalance);L(t)}var t;W&&(U(G(e,W.token.symbol,w.conversions)),t=!0,Number.isNaN(parseFloat(D))||parseFloat(D)<=0||!W||!i||!i.walletAddress||!c||!c.walletAddress||t&&V||!r||$(!0))};l.useEffect((()=>{g({payload:{type:Ye.SET_TOKEN_SYMBOLS,tokenSymbols:o.map((e=>e.symbol))}})}),[g,o]),l.useEffect((()=>{D&&W&&U(G(D,W.token.symbol,w.conversions))}),[D,W]);const ee=l.useCallback((()=>{const e=W?"":"views.BRIDGE_FORM.validation.noTokenSelected";const t=Oa(D,W?.formattedBalance);return e&&F(e),t&&L(t),!e&&!t}),[W,D,F,L]),te=l.useCallback((async()=>{ee()&&r&&i?.web3Provider&&W&&(R({userJourney:S.BRIDGE,screen:"TokenAmount",control:"Review",controlType:"Button",extras:{tokenAddress:W.token.address,amount:D}}),n({payload:{type:Ft.SET_TOKEN_AND_AMOUNT,token:W.token,amount:D}}),m({payload:{type:_.UPDATE_VIEW,view:{type:je.BRIDGE_REVIEW}}}))}),[r,i?.web3Provider,ee,W]);return u(b,{testId:v,sx:Ba,children:[u(b,{sx:{paddingX:"base.spacing.x4"},children:[t(se,{testId:`${v}-content-heading`,size:"small",weight:"regular",sx:{paddingBottom:"base.spacing.x4"},children:a("views.BRIDGE_FORM.content.title")}),(!T||!E)&&u(b,{sx:Ma,children:[t(ot,{testId:"bridge-token",options:J,optionsLoading:E,coinSelectorHeading:a("views.BRIDGE_FORM.bridgeForm.from.selectorTitle"),selectedOption:X,subtext:K,textAlign:"left",errorMessage:a(M),onSelectChange:e=>(e=>{const t=s.find((t=>e===Y(t.token.symbol,t.token.address)));t&&(B(t),F(""))})(e),defaultTokenImage:y,environment:I,theme:k}),t(rt,{testId:"bridge-amount",type:"number",value:D,placeholder:a("views.BRIDGE_FORM.bridgeForm.from.inputPlaceholder"),subtext:`${a("views.BRIDGE_FORM.content.fiatPricePrefix")} $${pe(z,!0)}`,validator:ge,onTextInputChange:e=>Z(e),onTextInputEnter:te,textAlign:"right",inputMode:"decimal",errorMessage:a(P)})]}),T&&E&&t(Fa,{sx:Ma})]}),u(b,{sx:Ga,children:[t(f,{testId:`${v}-button`,variant:"primary",onClick:te,size:"large",children:a("views.BRIDGE_FORM.bridgeForm.buttonText")}),t(it,{visible:q,showHeaderBar:!1,onCloseDrawer:()=>Q(!1),onRetry:async()=>{Q(!1),await te()}})]})]})}const Ua=1e4;function Va({amount:e,tokenAddress:a,defaultTokenImage:n,theme:s}){const{t:o}=h(),{bridgeState:r,bridgeDispatch:i}=l.useContext(zt),{checkout:c,from:d}=r,{eventTargetState:{eventTarget:u}}=l.useContext(F),[p,w]=l.useState(!1),{page:g}=A();l.useEffect((()=>{(e||a)&&g({userJourney:S.BRIDGE,screen:"TokenAmount",extras:{amount:e,tokenAddress:a}})}),[]);const f=l.useCallback((async()=>{if(c&&d?.web3Provider)try{const e=await lt({checkout:c,provider:d.web3Provider,chainId:d?.network,allowTokenListType:V.BRIDGE,retryPolicy:{retryIntervalMs:0,retries:0}});if(void 0===e)return;i({payload:{type:Ft.SET_TOKEN_BALANCES,tokenBalances:e.allowedBalances}}),i({payload:{type:Ft.SET_ALLOWED_TOKENS,allowedTokens:e.allowList.tokens}})}catch(e){console.debug(e)}}),[c,d?.web3Provider,d?.network]);return nt(f,Ua),l.useEffect((()=>{c&&d?.web3Provider&&(w(!0),f().finally((()=>w(!1))))}),[c,d?.web3Provider]),t(Y,{testId:"bridge-view",header:t(j,{showBack:!0,title:o("views.BRIDGE_FORM.header.title"),onCloseButtonClick:()=>$t(u)}),footer:t(q,{}),children:t(za,{testId:"bridge-form",defaultAmount:e,defaultTokenAddress:a,isTokenBalancesLoading:p,defaultTokenImage:n,environment:c?.config.environment,theme:s})})}const $a={display:"flex",flexDirection:"column",alignItems:"center",paddingBottom:"base.spacing.x6",height:"100%",paddingX:"base.spacing.x6"},Ha={fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"15px",paddingX:"base.spacing.x6"},Ka={...Ha,color:"base.color.text.body.secondary"},Ja={display:"flex",flexDirection:"column",justifyContent:"flex-end",gap:"base.spacing.x2",height:"100%",width:"100%"},ja={width:"100%",height:"base.spacing.x16"};function qa({environment:e,onCloseDrawer:a,visible:n,walletAddress:o,tokenSymbol:r,onAddCoinsClick:i}){const{t:c}=h(),[d,p]=l.useState(!1),w=he(e,"/notenougheth.svg"),g=he(e,"/notenoughimx.svg"),m=c("drawers.notEnoughGas.content.heading",{token:r.toUpperCase()}),v=c("drawers.notEnoughGas.content.body",{token:r.toUpperCase()}),x=l.useCallback((()=>{o&&""!==o&&navigator.clipboard.writeText(o),p(!0),setTimeout((()=>{p(!1)}),3e3)}),[o]);return t(le,{size:"threeQuarter",visible:n,showHeaderBar:!0,headerBarTitle:void 0,onCloseDrawer:a,children:u(le.Content,{testId:"not-enough-gas-bottom-sheet",sx:$a,children:[t(fe,{sx:{w:"90px",h:r===be?"110px":"90px"},use:t("img",{src:r===be?w:g,alt:m})}),t(se,{size:"small",weight:"bold",sx:Ha,testId:"not-enough-gas-heading",children:m}),t(s,{sx:Ka,children:v}),t(b,{sx:Ja,children:r===be?u(f,{testId:"not-enough-gas-copy-address-button",sx:ja,variant:"primary",onClick:x,children:[c("drawers.notEnoughGas.buttons.copyAddress"),t(f.Icon,{icon:d?"Tick":"CopyText"})]}):t(f,{testId:"not-enough-gas-add-imx-button",sx:ja,variant:"primary",onClick:i,children:c("drawers.notEnoughGas.buttons.addMoreImx")})})]})})}const Qa={borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px",marginBottom:"2px",position:"relative"},Ya={borderTopLeftRadius:"0px",borderTopRightRadius:"0px",backgroundColor:"base.color.translucent.emphasis.100",position:"relative"},Xa={width:"base.icon.size.400"},Za={position:"absolute",top:"2px",left:"26px",width:"20px",padding:"2px",backgroundColor:"base.color.translucent.inverse.900",borderRadius:"base.borderRadius.x2"},en={height:"100%",display:"flex",flexDirection:"column",paddingX:"base.spacing.x4"},tn={paddingTop:"base.spacing.x10",paddingBottom:"base.spacing.x4"},an={display:"flex",flexDirection:"column",alignItems:"center",paddingY:"base.spacing.x1"},nn={width:"base.icon.size.300",transform:"rotate(270deg)"},sn={width:"base.icon.size.400"},on={backgroundColor:"base.color.translucent.standard.200",position:"absolute",width:"32px",height:"32px",padding:"6px",left:"base.spacing.x3"},rn={position:"absolute",right:"base.spacing.x3",w:"base.icon.size.400",h:"base.icon.size.400"},ln=(e,t,a,n)=>{const s=[];if(!e?.fees||!e.token)return s;let o=me.from(0);if(e.fees.bridgeFee&&(o=o.add(e.fees.bridgeFee)),e.fees.imtblFee&&(o=o.add(e.fees.imtblFee)),o.gt(0)&&s.push({label:n(t?"drawers.feesBreakdown.fees.serviceFee.depositLabel":"drawers.feesBreakdown.fees.serviceFee.withdrawLabel"),fiatAmount:`≈ ${n("drawers.feesBreakdown.fees.fiatPricePrefix")}${G(Qe(o,e.token.decimals),e.token.symbol,a.conversions)}`,amount:ue(Qe(o,e.token.decimals)),token:e.token}),e.fees.sourceChainGas?.gt(0)){const t=Qe(e.fees.sourceChainGas,e.token.decimals);s.push({label:n("drawers.feesBreakdown.fees.gasFeeMove.label"),fiatAmount:`≈ ${n("drawers.feesBreakdown.fees.fiatPricePrefix")}${G(t,e.token.symbol,a.conversions)}`,amount:`${ue(t)}`,prefix:"≈ ",token:e.token})}if(e.fees.approvalFee?.gt(0)){const t=Qe(e.fees.approvalFee,e.token.decimals);s.push({label:n("drawers.feesBreakdown.fees.approvalFee.label"),fiatAmount:`≈ ${n("drawers.feesBreakdown.fees.fiatPricePrefix")}${G(t,e.token.symbol,a.conversions)}`,amount:`${ue(t)}`,prefix:"≈ ",token:e.token})}return s},cn=(e,t)=>new ve(e,["function transfer(address to, uint amount)"],t),dn="bridge-review-summary";function un(){const{t:e}=h(),{viewDispatch:a}=l.useContext(C),{bridgeState:{checkout:n,tokenBridge:o,from:r,to:i,token:c,amount:d,tokenBalances:p},bridgeDispatch:g}=l.useContext(zt),{environment:m}=n.config,{track:v}=A(),{cryptoFiatState:x}=l.useContext(qe),[y,k]=l.useState(!1),[W,B]=l.useState(void 0),[M,F]=l.useState(""),[V,H]=l.useState(""),[J,j]=l.useState(void 0),[q,Q]=l.useState(void 0),[Y,X]=l.useState(!1),[Z,ee]=l.useState(void 0),[te,ae]=l.useState(void 0),[ne,oe]=l.useState(!1),[ie,le]=l.useState(!1),{isWalletConnectEnabled:ce,getWalletLogoUrl:de}=D(),[ue,pe]=l.useState(!1),ge=l.useMemo((()=>r?.network===i?.network),[r,i]),he=l.useMemo((()=>$(n.config)===i?.network),[r,i,n]),fe=l.useMemo((()=>{if(!W)return!1;if(!c)return!0;const e=p.find((e=>O(e.token.address)));let t=me.from(W.fees.totalFees);return O(c.address)&&(t=t.add(Xe(d,c.decimals))),!e||e.balance.lt(t)}),[p,W,c,d]),ve=l.useMemo((()=>c?.symbol?`${c?.symbol} ${d}`:`${d}`),[c,d]),ke=l.useMemo((()=>d&&c?G(d,c.symbol,x.conversions):""),[c,d]),Ce=l.useMemo((()=>r?r.walletAddress:"-"),[r]),Re=l.useMemo((()=>r&&r.network),[r]),_e=l.useMemo((()=>i?i.walletAddress:"-"),[i]),De=l.useMemo((()=>i?.network),[i]),Ne=l.useCallback((async()=>{if(!(o&&d&&r&&i&&c))return;const e=c?.address?.toLowerCase()??we.toUpperCase(),t={gasEstimateType:xe.BRIDGE_TO_L2,fees:{},token:n.config.networkMap.get(r.network)?.nativeCurrency};let a;if(e===we.toLowerCase())a=n.providerCall(r.web3Provider,(async e=>await e.estimateGas({to:_e,from:Ce,value:Xe(d,c.decimals)})));else{a=cn(e,r.web3Provider.getSigner()).estimateGas.transfer(_e,Xe(d,c.decimals))}try{const[e,n]=await Promise.all([a,r.web3Provider.getGasPrice()]),s=e.mul(n),o=Qe(s,Te);t.fees.sourceChainGas=s,t.fees.totalFees=s,B(t),F(o),H(G(o,we.toUpperCase(),x.conversions))}catch(e){console.error("Unable to fetch gas estimate",e)}}),[n,r,i,c,d]),Pe=l.useCallback((async()=>{if(!(o&&d&&r&&i&&c))return;const e=await o.getUnsignedBridgeBundledTx({senderAddress:Ce,recipientAddress:_e,token:c.address??we.toUpperCase(),amount:Xe(d,c.decimals),sourceChainId:r?.network.toString(),destinationChainId:i?.network.toString(),gasMultiplier:"auto"}),t={contractToApprove:e.contractToApprove,unsignedTx:e.unsignedApprovalTx},a={feeData:e.feeData,unsignedTx:e.unsignedBridgeTx};j(t),Q(a);const s=a.feeData,{totalFees:l,approvalFee:u}=s;let p=l;t.unsignedTx||(p=l.sub(u),s.approvalFee=me.from(0));const w={gasEstimateType:xe.BRIDGE_TO_L2,fees:{...s,totalFees:p},token:n.config.networkMap.get(r.network)?.nativeCurrency};B(w);const g=Qe(w?.fees.totalFees||0,Te);F(g),H(G(g,w?.token?.symbol||"",x.conversions))}),[n,o]);nt((()=>{ge?Ne():Pe()}),Ee);const Le=l.useCallback((()=>ln(W,he,x,e)),[W,he]);l.useEffect((()=>{(async()=>{k(!0),ge?await Ne():await Pe(),k(!1)})()}),[]);const We=l.useCallback((e=>{g({payload:{type:Ft.SET_WALLETS_AND_NETWORKS,from:{web3Provider:e,walletAddress:r?.walletAddress,walletProviderInfo:r?.walletProviderInfo,network:r?.network},to:{web3Provider:i?.web3Provider,walletAddress:i?.walletAddress,walletProviderInfo:i?.walletProviderInfo,network:i?.network}}})}),[r?.web3Provider,r?.network,i?.web3Provider,i?.network]);l.useEffect((()=>{if(!r?.web3Provider)return;const e=()=>{const e=new K(r?.web3Provider.provider);We(e),X(!1)};return ye(r?.web3Provider,e),()=>{Ie(r?.web3Provider,e)}}),[r?.web3Provider]),l.useEffect((()=>{if(ce){const e=N(r?.web3Provider),t=N(i?.web3Provider);oe(e),le(t),(async()=>{e&&ee(await de()),t&&ae(await de())})()}}),[ce,r?.web3Provider,i?.web3Provider]),l.useEffect((()=>{fe&&pe(!0)}),[fe]);const Oe=l.useCallback((async()=>{if(ge||J&&q)if(fe)pe(!0);else{try{const e=await(r?.web3Provider.provider).request({method:"eth_chainId",params:[]});if(parseInt(e.toString())!==r?.network)return void X(!0)}catch(e){console.error("Current network check failed",e)}v({userJourney:S.BRIDGE,screen:"Summary",control:"Submit",controlType:"Button",extras:{fromWalletAddress:Ce,fromNetwork:Re,fromWallet:{address:Ce,rdns:r?.walletProviderInfo?.rdns,uuid:r?.walletProviderInfo?.uuid,isPassportWallet:z(r?.web3Provider),isMetaMask:re(r?.web3Provider)},toWalletAddress:_e,toNetwork:De,toWallet:{address:_e,rdns:i?.walletProviderInfo?.rdns,uuid:i?.walletProviderInfo?.uuid,isPassportWallet:z(i?.web3Provider),isMetaMask:re(i?.web3Provider)},amount:d,fiatAmount:ke,tokenAddress:c?.address,moveType:ge?"transfer":"bridge"}}),a({payload:{type:_.UPDATE_VIEW,view:{type:je.APPROVE_TRANSACTION,approveTransaction:J,transaction:q}}})}}),[a,J,q,r?.web3Provider,r?.network,r?.walletProviderInfo,i?.web3Provider,i?.network,i?.walletProviderInfo]);return u(b,{testId:dn,sx:en,children:[t(se,{testId:`${dn}-heading`,size:"small",weight:"regular",sx:tn,children:e("views.BRIDGE_REVIEW.heading")}),u(w,{testId:`${dn}-from-amount`,size:"small",emphasized:!0,sx:Qa,children:[t(w.Label,{size:"small",sx:{marginBottom:"base.spacing.x4",fontWeight:"bold"},children:e("views.BRIDGE_REVIEW.fromLabel.amountHeading")}),t(w.Caption,{}),t(w.PriceDisplay,{use:t(se,{size:"xSmall",weight:"light"}),price:ve??"-",fiatAmount:`${e("views.BRIDGE_REVIEW.fiatPricePrefix")}${ke}`})]}),u(w,{testId:`${dn}-from-address`,size:"xSmall",emphasized:!0,sx:Ya,children:[ne&&Z?u(R,{children:[t(w.FramedImage,{imageUrl:Z,alt:"walletconnect",sx:Xa}),t(P,{logo:"WalletConnectSymbol",sx:Za})]}):r?.walletProviderInfo&&t(L,{src:r?.walletProviderInfo.icon,alt:r?.walletProviderInfo.name,sx:on}),u(w.Label,{sx:{marginLeft:ne&&Z?"0px":"45px"},children:[t("strong",{children:e("views.BRIDGE_REVIEW.fromLabel.heading")})," ",t(s,{size:"small",sx:{color:"base.color.text.body.secondary"},children:Ea(Ce??"")})]}),Re&&t(w.FramedImage,{use:t("img",{src:T(m,Re),alt:E[Re]}),sx:rn})]}),t(b,{sx:an,children:t(I,{icon:"ArrowBackward",sx:nn})}),u(w,{testId:`${dn}-to-address`,size:"xSmall",emphasized:!0,sx:Qa,children:[ie&&te?u(R,{children:[t(w.FramedImage,{imageUrl:te,alt:"walletconnect",sx:Xa}),t(P,{logo:"WalletConnectSymbol",sx:Za})]}):i?.walletProviderInfo&&t(L,{src:i?.walletProviderInfo.icon,alt:i?.walletProviderInfo.name,sx:on}),u(w.Label,{sx:{marginLeft:ie&&te?"0px":"45px"},children:[t("strong",{children:e("views.BRIDGE_REVIEW.toLabel.heading")})," ",t(s,{size:"small",sx:{color:"base.color.text.body.secondary"},children:Ea(_e??"")})]}),De&&t(w.FramedImage,{use:t("img",{src:T(m,De),alt:E[De]}),sx:rn})]}),t(ct,{gasFeeValue:M,gasFeeFiatValue:V,gasFeeToken:W?.token,fees:Le(),onFeesClick:()=>{v({userJourney:S.BRIDGE,screen:"MoveCoins",control:"ViewFees",controlType:"Button"})},sx:{borderTopRightRadius:"0",borderTopLeftRadius:"0"},loading:y}),t(b,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"flex-end",paddingY:"base.spacing.x6",width:"100%"},children:W&&!y&&t(f,{size:"large",sx:{width:"100%"},onClick:Oe,disabled:y,testId:`${dn}__submit-button`,children:y?t(f.Icon,{icon:"Loading",sx:sn}):e("views.BRIDGE_REVIEW.submitButton.buttonText")})}),t(dt,{visible:Y,targetChainId:r?.network,provider:r?.web3Provider,checkout:n,onCloseDrawer:()=>X(!1),onNetworkSwitch:We}),t(qa,{environment:n.config.environment,visible:ue,onCloseDrawer:()=>pe(!1),walletAddress:r?.walletAddress||"",tokenSymbol:r?.network===U(n?.config)?be:Ae,onAddCoinsClick:()=>{a({payload:{type:_.UPDATE_VIEW,view:{type:Se.TOP_UP_VIEW}}})}})]})}function pn(){const{t:e}=h(),{eventTargetState:{eventTarget:a}}=l.useContext(F),{page:n}=A();return l.useEffect((()=>{n({userJourney:S.BRIDGE,screen:"Review"})}),[]),t(Y,{testId:"bridge-review",header:t(j,{showBack:!0,title:e("views.BRIDGE_REVIEW.layoutHeading"),onCloseButtonClick:()=>$t(a)}),footer:t(q,{}),children:t(un,{})})}function wn({environment:e}){const{RiveComponent:a}=ke.useRive({src:`${Ce[e]}/v1/blob/img/rocket.riv`,autoplay:!0,layout:new ke.Layout({fit:ke.Fit.Cover}),stateMachines:"State Machine 1"});return t(b,{sx:{...Re,background:"base.color.translucent.emphasis.100"},children:t(b,{sx:_e,rc:t(a,{})})})}function gn({transactionHash:e,isTransfer:a}){const{t:n}=h(),{eventTargetState:{eventTarget:s}}=l.useContext(F),{page:o}=A(),{cryptoFiatState:r}=l.useContext(qe),{viewDispatch:i}=l.useContext(C),{bridgeState:{checkout:c,from:d,to:p,token:w,amount:g}}=l.useContext(zt);return l.useEffect((()=>{Vt(s,e);const t=G(g,w?.symbol??"",r.conversions);o({userJourney:S.BRIDGE,screen:"InProgress",extras:{fromWalletAddress:d?.walletAddress,toWalletAddress:p?.walletAddress,amount:g,fiatAmount:t,tokenAddress:w?.address,moveType:a?"transfer":"bridge"}})}),[]),t(Y,{testId:"move-in-progress-view",header:t(j,{transparent:!0,onCloseButtonClick:()=>$t(s),rightActions:u(R,{children:[t(ce,{icon:"Minting",sx:de(),onClick:()=>{i({payload:{type:_.UPDATE_VIEW,view:{type:je.TRANSACTIONS}}})},testId:"settings-button"}),!a&&t(De,{isAnimated:!0,variant:"guidance",sx:{position:"absolute",right:"base.spacing.x14",top:"base.spacing.x1"}})]})}),footer:t(q,{}),heroContent:t(wn,{environment:c.config.environment}),floatHeader:!0,children:u(Ne,{heading:n(a?"views.IN_PROGRESS.transferHeading":"views.IN_PROGRESS.heading"),children:[!a&&u(R,{children:[n("views.IN_PROGRESS.body1"),t("br",{}),t("br",{})]}),n("views.IN_PROGRESS.body2")]})})}function hn({bridgeTransaction:e}){const{t:a}=h(),{bridgeState:n}=l.useContext(zt),{checkout:s,from:o,to:i,token:c,amount:d}=n,{viewDispatch:p}=l.useContext(C),{eventTargetState:{eventTarget:w}}=l.useContext(F),{page:g}=A();l.useEffect((()=>{g({userJourney:S.BRIDGE,screen:"ApproveTransaction",extras:{moveType:e?"bridge":"transfer"}})}),[]);const[f,m]=l.useState(!1),[v,x]=l.useState(!1),[T,E]=l.useState(!1),[y,I]=l.useState(!1),k=l.useCallback((()=>{p({payload:{type:_.UPDATE_VIEW,view:{type:Se.ERROR_VIEW,error:new Error("No checkout object or no provider object found")}}})}),[p]),D=l.useCallback((()=>{p({payload:{type:_.GO_BACK}})}),[p]),N=e=>{if(e.type!==r.UNPREDICTABLE_GAS_LIMIT){if(e.type===r.TRANSACTION_FAILED||e.type===r.INSUFFICIENT_FUNDS||e.receipt&&0===e.receipt.status){let t="Transaction failed";return e.type===r.INSUFFICIENT_FUNDS&&(t="Insufficient funds"),e.receipt&&0===e.receipt.status&&(t="Transaction failed to settle on chain"),void p({payload:{type:_.UPDATE_VIEW,view:{type:je.BRIDGE_FAILURE,reason:t}}})}p({payload:{type:_.UPDATE_VIEW,view:{type:Se.ERROR_VIEW,error:e}}})}else p({payload:{type:_.UPDATE_VIEW,view:{type:je.BRIDGE_FAILURE,reason:"Unpredictable gas limit"}}})},P=l.useCallback((async()=>{if(!s||!o?.web3Provider)return void k();if(f)return;m(!0),x(!0);const e=c?.address?.toLowerCase()??we.toUpperCase();let t;try{if(e===we.toLowerCase()){const e={to:i?.walletAddress,value:Xe(d,c?.decimals)};t=(await s.sendTransaction({provider:o.web3Provider,transaction:e})).transactionResponse.hash}else{const a=cn(e,o.web3Provider.getSigner()),n=Xe(d,c?.decimals);t=(await s.providerCall(o.web3Provider,(async()=>await a.transfer(i?.walletAddress,n)))).hash}p({payload:{type:_.UPDATE_VIEW,view:{type:je.IN_PROGRESS,transactionHash:t,isTransfer:!0}}})}catch(e){x(!1),e.type===r.USER_REJECTED_REQUEST_ERROR?I(!0):N(e)}finally{m(!1)}}),[s,o,k,p,f]),L=l.useCallback((async()=>{let t=!1;const{approveTransaction:a,transaction:n}=e;if(s&&o?.web3Provider&&n){if(!f){if(m(!0),a.unsignedTx)try{x(!0);const e=await s.sendTransaction({provider:o.web3Provider,transaction:a.unsignedTx});if(1!==(await e.transactionResponse.wait()).status)return void p({payload:{type:_.UPDATE_VIEW,view:{type:je.BRIDGE_FAILURE,reason:"Transaction failed to settle on chain"}}})}catch(e){x(!1),e.type===r.USER_REJECTED_REQUEST_ERROR?(I(!0),t=!0):N(e)}finally{m(!1)}try{if(t)return;x(!0);const e=await s.sendTransaction({provider:o.web3Provider,transaction:n.unsignedTx});p({payload:{type:_.UPDATE_VIEW,view:{type:je.IN_PROGRESS,transactionHash:e.transactionResponse.hash,isTransfer:!1}}});0===(await e.transactionResponse.wait()).status&&p({payload:{type:_.UPDATE_VIEW,view:{type:je.BRIDGE_FAILURE,reason:"Approval transaction failed to settle on chain"}}})}catch(e){e.type===r.USER_REJECTED_REQUEST_ERROR?I(!0):N(e)}finally{E(!1),x(!1),m(!1)}}}else k()}),[s,o,k,p,e,f]);return u(R,{children:[T&&t(te,{loadingText:a("views.APPROVE_TRANSACTION.loadingView.text")}),!T&&t(Y,{header:t(j,{transparent:!0,showBack:!0,onCloseButtonClick:()=>$t(w),onBackButtonClick:D}),floatHeader:!0,heroContent:t(ut,{}),footer:u(b,{sx:{width:"100%",flexDirection:"column"},children:[t(Pe,{loading:v,actionText:a("views.APPROVE_TRANSACTION."+(y?"footer.retryText":"footer.buttonText")),onActionClick:e?L:P}),t(q,{})]}),children:t(Ne,{heading:a("views.APPROVE_TRANSACTION.content.heading"),children:t(b,{children:a("views.APPROVE_TRANSACTION.content.body")})})})]})}const fn={display:"flex",flexDirection:"column",alignItems:"center",paddingTop:"base.spacing.x6",paddingBottom:"base.spacing.x1",height:"100%"},bn={color:"base.color.text.body.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"15px"},mn={display:"flex",flexDirection:"column",justifyContent:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},vn={width:"100%",height:"base.spacing.x16"};function xn({visible:e,onClose:a,onChangeAccount:n}){const{t:o}=h(),{bridgeState:{checkout:r}}=l.useContext(zt),i=Le(r.config.environment);return t(le,{headerBarTitle:void 0,size:"full",onCloseDrawer:a,visible:e,showHeaderBar:!1,children:t(le.Content,{children:u(b,{testId:"not-enough-eth-drawer",sx:fn,children:[t(fe,{sx:{w:"base.icon.size.600",h:"base.icon.size.600"},use:t("img",{src:i,alt:"ETH"})}),t(se,{size:"small",sx:bn,testId:"not-enough-gas-heading",children:`${o("drawers.notEnoughEthWithdrawal.content.heading1")} ${be} ${o("drawers.notEnoughEthWithdrawal.content.heading2")}`}),t(s,{sx:bn,children:`${o("drawers.notEnoughEthWithdrawal.content.body1")} ${be} ${o("drawers.notEnoughEthWithdrawal.content.body2")}`}),u(b,{sx:mn,children:[t(f,{testId:"not-enough-eth-drawer-retry-button",sx:vn,variant:"tertiary",onClick:n,children:o("drawers.notEnoughEthWithdrawal.buttons.retry")}),t(f,{sx:vn,variant:"tertiary",onClick:a,testId:"not-enough-eth-drawer-dismiss-button",children:o("drawers.notEnoughEthWithdrawal.buttons.dismiss")})]})]})})})}function Tn({transaction:e}){const{t:a}=h(),{bridgeState:{checkout:n,tokenBridge:s,from:o}}=l.useContext(zt),{viewDispatch:r}=l.useContext(C),{eventTargetState:{eventTarget:i}}=l.useContext(F),{page:c}=A();l.useEffect((()=>{c({userJourney:S.BRIDGE,screen:"ClaimWithdrawal"})}),[]);const[d,p]=l.useState(!1),[w,g]=l.useState(!1),[m,v]=l.useState(!1),[x,T]=l.useState(),[E,y]=l.useState(!1),I=l.useCallback((()=>{r({payload:{type:_.GO_BACK}})}),[r]);l.useEffect((()=>{(async()=>{if(s&&e&&void 0!==e.details.current_status?.index){g(!0);try{const t=await(s?.getFlowRateWithdrawTx({recipient:e.details.to_address,index:e.details.current_status.index}));T(t)}catch(e){console.log(e)}finally{g(!1)}}})()}),[s,e]);const k=l.useCallback((async({forceChangeAccount:e})=>{if(!(n&&s&&o?.web3Provider&&x))return;if(!x.pendingWithdrawal.canWithdraw||!x.unsignedTx)return void console.log(`Unable to process withdrawal transaction as it is not ready yet. Delay timeout at ${x.pendingWithdrawal.timeoutEnd} `);let t=o?.web3Provider;const a=U(n.config);if(p(!0),z(o?.web3Provider)||e)try{const e=await n.createProvider({walletProviderName:ie.METAMASK});t=(await n.connect({provider:e.provider,requestWalletPermissions:!0})).provider,y(!1)}catch(e){return console.log(e),v(!0),void p(!1)}let i,l=null;try{try{i=await t.estimateGas(x.unsignedTx)}catch(e){i=me.from(We)}let e=null;try{e=await t.getFeeData()}catch(e){console.log(e)}let a=null;e&&e.lastBaseFeePerGas&&e.maxPriorityFeePerGas?a=e.lastBaseFeePerGas.add(e.maxPriorityFeePerGas):e&&e.gasPrice&&(a=e.gasPrice),a&&(l=i.mul(a))}catch(e){console.log(e)}try{const e=(await n.getAllBalances({provider:t,chainId:a})).balances.find((e=>O(e.token.address)));if(!e||e.balance.lt(l))return y(!0),void p(!1)}catch(e){console.log(e)}if((await t.getNetwork()).chainId!==a)try{t=(await n.switchNetwork({provider:t,chainId:a})).provider}catch(e){return v(!0),g(!1),void console.log(e)}try{const e=await n.sendTransaction({provider:t,transaction:x.unsignedTx});r({payload:{type:_.UPDATE_VIEW,view:{type:je.CLAIM_WITHDRAWAL_IN_PROGRESS,transactionResponse:e.transactionResponse}}})}catch(e){console.log(e),v(!0),p(!1)}finally{p(!1)}}),[s,o,x]);return u(Y,{testId:"claim-withdrawal",header:t(j,{transparent:!0,showBack:!0,onCloseButtonClick:()=>$t(i),onBackButtonClick:I}),floatHeader:!0,heroContent:t(ut,{}),footer:u(b,{sx:{width:"100%",display:"flex",flexDirection:"column"},children:[t(b,{sx:{pb:"base.spacing.x5",px:"base.spacing.x6",width:"100%",display:"flex",flexDirection:"column"},children:t(f,{testId:"claim-withdrawal-continue-button",size:"large",variant:"primary",disabled:w,onClick:()=>d||w?void 0:k({forceChangeAccount:!0}),children:w||d?t(f.Icon,{icon:"Loading",sx:{width:"base.icon.size.400"}}):a("views.CLAIM_WITHDRAWAL."+(m?"footer.retryText":"footer.buttonText"))})}),t(q,{})]}),children:[u(Ne,{heading:`${a("views.CLAIM_WITHDRAWAL.content.heading")} ${ne(U(n.config))}`,children:[t(b,{sx:{display:"flex",flexWrap:"wrap",pb:"base.spacing.x1"},children:a("views.CLAIM_WITHDRAWAL.content.body")}),u(b,{children:[a("views.CLAIM_WITHDRAWAL.content.body2"),t(Lt,{text:e.details.to_address.toLowerCase()??""})]})]}),t(xn,{visible:E,onClose:()=>y(!1),onChangeAccount:()=>k({forceChangeAccount:!0})})]})}function En({checkout:e,web3Provider:a,config:n,amount:s,tokenAddress:o}){const{t:r}=h(),{environment:i,isOnRampEnabled:p,isSwapEnabled:w,isBridgeEnabled:g,theme:f}=n,b=Oe(e.config.environment,f),{eventTargetState:{eventTarget:m}}=l.useContext(F),{page:v}=A(),[x,T]=l.useReducer(Be,{...Me,view:{type:je.WALLET_NETWORK_SELECTION},history:[{type:je.WALLET_NETWORK_SELECTION}]}),[E,y]=l.useReducer(Ut,{...Gt,checkout:e,web3Provider:a??null,tokenBridge:(()=>{let t=He;e.config.isDevelopment&&(t=Ke),e.config.isProduction&&(t=Je);const a=new Z(e.config.networkMap.get(U(e.config))?.rpcUrls[0]),n=new Z(e.config.networkMap.get($(e.config))?.rpcUrls[0]),s=new Ge({baseConfig:new Fe({environment:e.config.environment}),bridgeInstance:t,rootProvider:a,childProvider:n});return new ze(s)})()}),I=l.useMemo((()=>({viewState:x,viewDispatch:T})),[x,T]),k=l.useMemo((()=>({bridgeState:E,bridgeDispatch:y})),[E,y]),R=l.useCallback((()=>{y({payload:{type:Ft.SET_WALLETS_AND_NETWORKS,from:null,to:null}}),y({payload:{type:Ft.SET_TOKEN_AND_AMOUNT,amount:"",token:null}}),T({payload:{type:_.GO_BACK_TO,view:{type:je.WALLET_NETWORK_SELECTION}}})}),[T]),D=l.useCallback((()=>{T({payload:{type:_.GO_BACK_TO,view:{type:je.WALLET_NETWORK_SELECTION}}})}),[T]),N=l.useCallback((()=>{T({payload:{type:_.UPDATE_VIEW,view:{type:je.TRANSACTIONS}}})}),[T]),P=l.useCallback((()=>{T({payload:{type:_.GO_BACK_TO,view:{type:je.BRIDGE_REVIEW}}})}),[T]);return l.useEffect((()=>{(async()=>{y({payload:{type:Ft.SET_PROVIDER,web3Provider:a??null}})})()}),[a]),t(C.Provider,{value:I,children:t(zt.Provider,{value:k,children:u(et,{environment:i,children:[x.view.type===je.WALLET_NETWORK_SELECTION&&t(Wa,{}),x.view.type===je.BRIDGE_FORM&&t(Va,{amount:s,tokenAddress:o,defaultTokenImage:b,theme:f}),x.view.type===je.BRIDGE_REVIEW&&t(pn,{}),x.view.type===je.IN_PROGRESS&&t(gn,{transactionHash:x.view.transactionHash,isTransfer:x.view.isTransfer}),x.view.type===je.BRIDGE_FAILURE&&t(Ue,{testId:"bridge-fail",statusText:r("views.BRIDGE_FAILURE.bridgeFailureText.statusText"),actionText:r("views.BRIDGE_FAILURE.bridgeFailureText.actionText"),onActionClick:P,statusType:Ve.FAILURE,onRenderEvent:()=>{let e="";x.view.type===je.BRIDGE_FAILURE&&(e=x.view.reason),v({userJourney:S.BRIDGE,screen:"Failed",extras:{reason:e}}),((e,t)=>{const a=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.FAILURE,data:{reason:t,timestamp:(new Date).getTime()}}});console.log("bridge failed ",e,a),void 0!==e&&e.dispatchEvent(a)})(m,e)}}),x.view.type===je.APPROVE_TRANSACTION&&t(hn,{bridgeTransaction:x.view.approveTransaction&&x.view.transaction?{approveTransaction:x.view.approveTransaction,transaction:x.view.transaction}:void 0}),x.view.type===je.TRANSACTIONS&&t(xa,{onBackButtonClick:D,defaultTokenImage:b}),x.view.type===je.CLAIM_WITHDRAWAL&&t(Tn,{transaction:x.view.transaction}),x.view.type===Se.ERROR_VIEW&&t($e,{actionText:r("views.ERROR_VIEW.actionText"),onActionClick:R,onCloseClick:()=>$t(m),errorEventAction:()=>{v({userJourney:S.BRIDGE,screen:"Error"})}}),x.view.type===Se.TOP_UP_VIEW&&t(Ze,{analytics:{userJourney:S.BRIDGE},widgetEvent:c.IMTBL_BRIDGE_WIDGET_EVENT,checkout:e,provider:a,showOnrampOption:p,showSwapOption:w,showBridgeOption:g,onCloseButtonClick:()=>$t(m)}),x.view.type===je.CLAIM_WITHDRAWAL_IN_PROGRESS&&t(Ta,{transactionResponse:x.view.transactionResponse}),x.view.type===je.CLAIM_WITHDRAWAL_SUCCESS&&t(Ue,{statusText:r("views.CLAIM_WITHDRAWAL.IN_PROGRESS.success.text"),actionText:r("views.CLAIM_WITHDRAWAL.IN_PROGRESS.success.actionText"),onRenderEvent:()=>{v({userJourney:S.BRIDGE,screen:"ClaimWithdrawalSuccess"}),((e,t)=>{const a=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.CLAIM_WITHDRAWAL_SUCCESS,data:{transactionHash:t}}});console.log("bridge claim withdrawal success event:",e,a),void 0!==e&&e.dispatchEvent(a)})(m,x.view.transactionHash)},onActionClick:N,statusType:Ve.SUCCESS,testId:"claim-withdrawal-success-view"}),x.view.type===je.CLAIM_WITHDRAWAL_FAILURE&&t(Ue,{statusText:r("views.CLAIM_WITHDRAWAL.IN_PROGRESS.failure.text"),actionText:r("views.CLAIM_WITHDRAWAL.IN_PROGRESS.failure.actionText"),onRenderEvent:()=>{let e="";x.view.type===je.CLAIM_WITHDRAWAL_FAILURE&&(e=x.view.reason),v({userJourney:S.BRIDGE,screen:"ClaimWithdrawalFailure",extras:{reason:e}}),((e,t,a)=>{const n=new CustomEvent(c.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:d.CLAIM_WITHDRAWAL_FAILURE,data:{transactionHash:t,reason:a,timestamp:(new Date).getTime()}}});console.log("bridge claim withdrawal failed event:",e,n),void 0!==e&&e.dispatchEvent(n)})(m,x.view.transactionHash,"Transaction failed")},onActionClick:N,statusType:Ve.FAILURE,onCloseClick:()=>$t(m),testId:"claim-withdrawal-fail-view"})]})})})}export{En as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ct as e,cu as r,r as t,j as n,a}from"./index-160882ca.js";const o=e=>{const r=Object.entries(e).filter((([,e])=>void 0!==e)).map((([e,r])=>[e,r]));return new URLSearchParams(r).toString()},l=(t,n,a,l)=>{const{flow:s}=t,c=t.language||n.language,i=r[a],d=((r,t)=>{const{flow:n}=r,a={theme:t.theme};switch(n){case e.CONNECT:return o({...a,...t.connect||{},chainId:r.targetChainId,walletRdns:r.targetWalletRdns,blocklistWalletRdns:r.blocklistWalletRdns});case e.WALLET:return o({...a,...t.wallet||{},walletProviderName:r.walletProviderName});case e.SWAP:return o({...a,...t.swap||{},walletProviderName:r.walletProviderName,fromToken:r.fromTokenAddress,fromAmount:r.amount,toToken:r.toTokenAddress});case e.BRIDGE:return o({...a,...t.bridge||{},walletProviderName:r.walletProviderName,fromToken:r.tokenAddress,fromAmount:r.amount});case e.ONRAMP:return o({...a,...t.onRamp||{},walletProviderName:r.walletProviderName,toToken:r.amount,toAmount:r.tokenAddress});case e.SALE:return o({...a,...t.sale||{},walletProviderName:r.walletProviderName,environmentId:r.environmentId,collectionName:r.collectionName,items:r.items,preferredCurrency:r.preferredCurrency,excludePaymentTypes:r.excludePaymentTypes,excludeFiatCurrencies:r.excludeFiatCurrencies});default:return""}})(t,n);return`${i}/${l}/${c}/${s}?${d}`};function s(e){const{config:r,checkout:o,params:s}=e,{environment:c,publishableKey:i}=o.config,[d,m]=t.useState();return t.useEffect((()=>{if(!i)return;const e=l(s,r,c,i);m(e)}),[s,r,c,i]),d?n(a,{rc:n("iframe",{id:"checkout-app",src:d,title:"checkout"}),sx:{w:"100%",h:"100%",border:"none",boxShadow:"none"}}):null}export{s as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{bx as e,by as t,bz as a,bA as r,bB as n,t as o,r as s,q as i,E as h,l as c,V as u,L as l,bC as p,j as f,a3 as d,$ as m,bD as R,a as E,U as v,p as A,a2 as S,n as O,ae as T,ah as y,ai as _,bh as I,aj as C,bE as g,aL as w,bt as N,bF as P,I as b}from"./index-160882ca.js";import{O as D,T as L}from"./TopUpView-07d43ea1.js";import{S as x}from"./SpendingCapHero-617b015a.js";
|
|
2
|
+
/*! https://mths.be/punycode v1.4.1 by @mathias */var U=2147483647,k=36,K=1,F=26,j=38,M=700,G=72,W=128,q="-",V=/[^\x20-\x7E]/,$=/[\x2E\u3002\uFF0E\uFF61]/g,B={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},J=k-K,H=Math.floor,z=String.fromCharCode;function Z(e){throw new RangeError(B[e])}function Q(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function X(e,t,a){var r=0;for(e=a?H(e/M):e>>1,e+=H(e/t);e>J*F>>1;r+=k)e=H(e/J);return H(r+(J+1)*e/(e+j))}function Y(e){return function(e,t){var a=e.split("@"),r="";a.length>1&&(r=a[0]+"@",e=a[1]);var n=function(e,t){for(var a=e.length,r=[];a--;)r[a]=t(e[a]);return r}((e=e.replace($,".")).split("."),t).join(".");return r+n}(e,(function(e){return V.test(e)?"xn--"+function(e){var t,a,r,n,o,s,i,h,c,u,l,p,f,d,m,R=[];for(e=function(e){for(var t,a,r=[],n=0,o=e.length;n<o;)(t=e.charCodeAt(n++))>=55296&&t<=56319&&n<o?56320==(64512&(a=e.charCodeAt(n++)))?r.push(((1023&t)<<10)+(1023&a)+65536):(r.push(t),n--):r.push(t);return r}(e),p=e.length,t=W,a=0,o=G,s=0;s<p;++s)(l=e[s])<128&&R.push(z(l));for(r=n=R.length,n&&R.push(q);r<p;){for(i=U,s=0;s<p;++s)(l=e[s])>=t&&l<i&&(i=l);for(i-t>H((U-a)/(f=r+1))&&Z("overflow"),a+=(i-t)*f,t=i,s=0;s<p;++s)if((l=e[s])<t&&++a>U&&Z("overflow"),l==t){for(h=a,c=k;!(h<(u=c<=o?K:c>=o+F?F:c-o));c+=k)m=h-u,d=k-u,R.push(z(Q(u+m%d,0))),h=H(m/d);R.push(z(Q(h,0))),o=X(a,f,r==n),a=0,++r}++a,++t}return R.join("")}(e):e}))}function ee(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var te=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function ae(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}}function re(e,t){if(e.map)return e.map(t);for(var a=[],r=0;r<e.length;r++)a.push(t(e[r],r));return a}var ne=Object.keys||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.push(a);return t};function oe(e,t,a,r){t=t||"&",a=a||"=";var n={};if("string"!=typeof e||0===e.length)return n;var o=/\+/g;e=e.split(t);var s=1e3;r&&"number"==typeof r.maxKeys&&(s=r.maxKeys);var i=e.length;s>0&&i>s&&(i=s);for(var h=0;h<i;++h){var c,u,l,p,f=e[h].replace(o,"%20"),d=f.indexOf(a);d>=0?(c=f.substr(0,d),u=f.substr(d+1)):(c=f,u=""),l=decodeURIComponent(c),p=decodeURIComponent(u),ee(n,l)?te(n[l])?n[l].push(p):n[l]=[n[l],p]:n[l]=p}return n}var se={parse:Oe,resolve:function(e,t){return Oe(e,!1,!0).resolve(t)},resolveObject:function(e,t){return e?Oe(e,!1,!0).resolveObject(t):t},fileURLToPath:function(e){if("string"==typeof e)e=(new ie).parse(e);else if(!(e instanceof ie))throw new TypeError('The "path" argument must be of type string or an instance of URL. Received type '+typeof e+String(e));if("file:"!==e.protocol)throw new TypeError("The URL must be of scheme file");return function(e){const t=e.pathname;for(let e=0;e<t.length;e++)if("%"===t[e]){const a=32|t.codePointAt(e+2);if("2"===t[e+1]&&102===a)throw new TypeError("must not include encoded / characters")}return decodeURIComponent(t)}(e)},format:function(e){a(e)&&(e=Te({},e));return ye(e)},Url:ie,URL:e.URL,URLSearchParams:e.URLSearchParams};function ie(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var he=/^([a-z0-9.+-]+:)/i,ce=/:[0-9]*$/,ue=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,le=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),pe=["'"].concat(le),fe=["%","/","?",";","#"].concat(pe),de=["/","?","#"],me=255,Re=/^[+a-z0-9A-Z_-]{0,63}$/,Ee=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,ve={javascript:!0,"javascript:":!0},Ae={javascript:!0,"javascript:":!0},Se={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function Oe(e,a,r){if(e&&t(e)&&e instanceof ie)return e;var n=new ie;return n.parse(e,a,r),n}function Te(e,t,r,n){if(!a(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var o=t.indexOf("?"),s=-1!==o&&o<t.indexOf("#")?"?":"#",i=t.split(s);i[0]=i[0].replace(/\\/g,"/");var h=t=i.join(s);if(h=h.trim(),!n&&1===t.split("#").length){var c=ue.exec(h);if(c)return e.path=h,e.href=h,e.pathname=c[1],c[2]?(e.search=c[2],e.query=r?oe(e.search.substr(1)):e.search.substr(1)):r&&(e.search="",e.query={}),e}var u,l,p,f,d=he.exec(h);if(d){var m=(d=d[0]).toLowerCase();e.protocol=m,h=h.substr(d.length)}if(n||d||h.match(/^\/\/[^@\/]+@[^@\/]+/)){var R="//"===h.substr(0,2);!R||d&&Ae[d]||(h=h.substr(2),e.slashes=!0)}if(!Ae[d]&&(R||d&&!Se[d])){var E,v,A=-1;for(u=0;u<de.length;u++)-1!==(l=h.indexOf(de[u]))&&(-1===A||l<A)&&(A=l);for(-1!==(v=-1===A?h.lastIndexOf("@"):h.lastIndexOf("@",A))&&(E=h.slice(0,v),h=h.slice(v+1),e.auth=decodeURIComponent(E)),A=-1,u=0;u<fe.length;u++)-1!==(l=h.indexOf(fe[u]))&&(-1===A||l<A)&&(A=l);-1===A&&(A=h.length),e.host=h.slice(0,A),h=h.slice(A),_e(e),e.hostname=e.hostname||"";var S="["===e.hostname[0]&&"]"===e.hostname[e.hostname.length-1];if(!S){var O=e.hostname.split(/\./);for(u=0,p=O.length;u<p;u++){var T=O[u];if(T&&!T.match(Re)){for(var y="",_=0,I=T.length;_<I;_++)T.charCodeAt(_)>127?y+="x":y+=T[_];if(!y.match(Re)){var C=O.slice(0,u),g=O.slice(u+1),w=T.match(Ee);w&&(C.push(w[1]),g.unshift(w[2])),g.length&&(h="/"+g.join(".")+h),e.hostname=C.join(".");break}}}}e.hostname.length>me?e.hostname="":e.hostname=e.hostname.toLowerCase(),S||(e.hostname=Y(e.hostname)),f=e.port?":"+e.port:"";var N=e.hostname||"";e.host=N+f,e.href+=e.host,S&&(e.hostname=e.hostname.substr(1,e.hostname.length-2),"/"!==h[0]&&(h="/"+h))}if(!ve[m])for(u=0,p=pe.length;u<p;u++){var P=pe[u];if(-1!==h.indexOf(P)){var b=encodeURIComponent(P);b===P&&(b=escape(P)),h=h.split(P).join(b)}}var D=h.indexOf("#");-1!==D&&(e.hash=h.substr(D),h=h.slice(0,D));var L=h.indexOf("?");if(-1!==L?(e.search=h.substr(L),e.query=h.substr(L+1),r&&(e.query=oe(e.query)),h=h.slice(0,L)):r&&(e.search="",e.query={}),h&&(e.pathname=h),Se[m]&&e.hostname&&!e.pathname&&(e.pathname="/"),e.pathname||e.search){f=e.pathname||"";var x=e.search||"";e.path=f+x}return e.href=ye(e),e}function ye(e){var a=e.auth||"";a&&(a=(a=encodeURIComponent(a)).replace(/%3A/i,":"),a+="@");var r,n,o,s,i=e.protocol||"",h=e.pathname||"",c=e.hash||"",u=!1,l="";e.host?u=a+e.host:e.hostname&&(u=a+(-1===e.hostname.indexOf(":")?e.hostname:"["+this.hostname+"]"),e.port&&(u+=":"+e.port)),e.query&&t(e.query)&&Object.keys(e.query).length&&(r=e.query,n=n||"&",o=o||"=",null===r&&(r=void 0),l="object"==typeof r?re(ne(r),(function(e){var t=encodeURIComponent(ae(e))+o;return te(r[e])?re(r[e],(function(e){return t+encodeURIComponent(ae(e))})).join(n):t+encodeURIComponent(ae(r[e]))})).join(n):s?encodeURIComponent(ae(s))+o+encodeURIComponent(ae(r)):"");var p=e.search||l&&"?"+l||"";return i&&":"!==i.substr(-1)&&(i+=":"),e.slashes||(!i||Se[i])&&!1!==u?(u="//"+(u||""),h&&"/"!==h.charAt(0)&&(h="/"+h)):u||(u=""),c&&"#"!==c.charAt(0)&&(c="#"+c),p&&"?"!==p.charAt(0)&&(p="?"+p),i+u+(h=h.replace(/[?#]/g,(function(e){return encodeURIComponent(e)})))+(p=p.replace("#","%23"))+c}function _e(e){var t=e.host,a=ce.exec(t);a&&(":"!==(a=a[0])&&(e.port=a.substr(1)),t=t.substr(0,t.length-a.length)),t&&(e.hostname=t)}ie.prototype.parse=function(e,t,a){return Te(this,e,t,a)},ie.prototype.format=function(){return ye(this)},ie.prototype.resolve=function(e){return this.resolveObject(Oe(e,!1,!0)).format()},ie.prototype.resolveObject=function(e){if(a(e)){var t=new ie;t.parse(e,!1,!0),e=t}for(var o,s=new ie,i=Object.keys(this),h=0;h<i.length;h++){var c=i[h];s[c]=this[c]}if(s.hash=e.hash,""===e.href)return s.href=s.format(),s;if(e.slashes&&!e.protocol){for(var u=Object.keys(e),l=0;l<u.length;l++){var p=u[l];"protocol"!==p&&(s[p]=e[p])}return Se[s.protocol]&&s.hostname&&!s.pathname&&(s.path=s.pathname="/"),s.href=s.format(),s}if(e.protocol&&e.protocol!==s.protocol){if(!Se[e.protocol]){for(var f=Object.keys(e),d=0;d<f.length;d++){var m=f[d];s[m]=e[m]}return s.href=s.format(),s}if(s.protocol=e.protocol,e.host||Ae[e.protocol])s.pathname=e.pathname;else{for(o=(e.pathname||"").split("/");o.length&&!(e.host=o.shift()););e.host||(e.host=""),e.hostname||(e.hostname=""),""!==o[0]&&o.unshift(""),o.length<2&&o.unshift(""),s.pathname=o.join("/")}if(s.search=e.search,s.query=e.query,s.host=e.host||"",s.auth=e.auth,s.hostname=e.hostname||e.host,s.port=e.port,s.pathname||s.search){var R=s.pathname||"",E=s.search||"";s.path=R+E}return s.slashes=s.slashes||e.slashes,s.href=s.format(),s}var v,A=s.pathname&&"/"===s.pathname.charAt(0),S=e.host||e.pathname&&"/"===e.pathname.charAt(0),O=S||A||s.host&&e.pathname,T=O,y=s.pathname&&s.pathname.split("/")||[],_=s.protocol&&!Se[s.protocol];if(o=e.pathname&&e.pathname.split("/")||[],_&&(s.hostname="",s.port=null,s.host&&(""===y[0]?y[0]=s.host:y.unshift(s.host)),s.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(""===o[0]?o[0]=e.host:o.unshift(e.host)),e.host=null),O=O&&(""===o[0]||""===y[0])),S)s.host=e.host||""===e.host?e.host:s.host,s.hostname=e.hostname||""===e.hostname?e.hostname:s.hostname,s.search=e.search,s.query=e.query,y=o;else if(o.length)y||(y=[]),y.pop(),y=y.concat(o),s.search=e.search,s.query=e.query;else if(!r(e.search))return _&&(s.hostname=s.host=y.shift(),(v=!!(s.host&&s.host.indexOf("@")>0)&&s.host.split("@"))&&(s.auth=v.shift(),s.host=s.hostname=v.shift())),s.search=e.search,s.query=e.query,n(s.pathname)&&n(s.search)||(s.path=(s.pathname?s.pathname:"")+(s.search?s.search:"")),s.href=s.format(),s;if(!y.length)return s.pathname=null,s.search?s.path="/"+s.search:s.path=null,s.href=s.format(),s;for(var I=y.slice(-1)[0],C=(s.host||e.host||y.length>1)&&("."===I||".."===I)||""===I,g=0,w=y.length;w>=0;w--)"."===(I=y[w])?y.splice(w,1):".."===I?(y.splice(w,1),g++):g&&(y.splice(w,1),g--);if(!O&&!T)for(;g--;g)y.unshift("..");!O||""===y[0]||y[0]&&"/"===y[0].charAt(0)||y.unshift(""),C&&"/"!==y.join("/").substr(-1)&&y.push("");var N=""===y[0]||y[0]&&"/"===y[0].charAt(0);return _&&(s.hostname=s.host=N?"":y.length?y.shift():"",(v=!!(s.host&&s.host.indexOf("@")>0)&&s.host.split("@"))&&(s.auth=v.shift(),s.host=s.hostname=v.shift())),(O=O||s.host&&y.length)&&!N&&y.unshift(""),y.length?s.pathname=y.join("/"):(s.pathname=null,s.path=null),n(s.pathname)&&n(s.search)||(s.path=(s.pathname?s.pathname:"")+(s.search?s.search:"")),s.auth=e.auth||s.auth,s.slashes=s.slashes||e.slashes,s.href=s.format(),s},ie.prototype.parseHost=function(){return _e(this)};const Ie=e=>({position:"relative",maxWidth:"420px",height:"565px",borderRadius:"base.borderRadius.x6",overflow:"hidden",marginLeft:"base.spacing.x2",marginRight:"base.spacing.x2",marginBottom:"base.spacing.x2",display:e?"block":"none"}),Ce=e=>({display:e?"block":"none"});var ge,we,Ne,Pe;!function(e){e.TRANSAK_WIDGET_OPEN="TRANSAK_WIDGET_OPEN",e.TRANSAK_ORDER_CREATED="TRANSAK_ORDER_CREATED",e.TRANSAK_ORDER_SUCCESSFUL="TRANSAK_ORDER_SUCCESSFUL",e.TRANSAK_ORDER_FAILED="TRANSAK_ORDER_FAILED"}(ge||(ge={})),function(e){e.PROCESSING="PROCESSING",e.COMPLETED="COMPLETED"}(we||(we={})),function(e){e.TRANSAK_WIDGET_INITIALISED="TRANSAK_WIDGET_INITIALISED",e.TRANSAK_WIDGET_OPEN="TRANSAK_WIDGET_OPEN",e.TRANSAK_ORDER_CREATED="TRANSAK_ORDER_CREATED",e.TRANSAK_ORDER_SUCCESSFUL="TRANSAK_ORDER_SUCCESSFUL",e.TRANSAK_ORDER_FAILED="TRANSAK_ORDER_FAILED"}(Ne||(Ne={})),function(e){e.PROCESSING="PROCESSING",e.COMPLETED="COMPLETED"}(Pe||(Pe={}));const be=["global.transak.com","global-stg.transak.com"],De={[Ne.TRANSAK_WIDGET_OPEN]:{screen:"InputScreen",control:"TransakWidgetOpen",controlType:"IframeEvent"},[Ne.TRANSAK_ORDER_CREATED]:{screen:"InputScreen",control:"OrderCreated",controlType:"IframeEvent"},[`${Ne.TRANSAK_ORDER_SUCCESSFUL}${Pe.PROCESSING}`]:{screen:"OrderInProgress",control:"PaymentProcessing",controlType:"IframeEvent"},[`${Ne.TRANSAK_ORDER_SUCCESSFUL}${Pe.COMPLETED}`]:{screen:"Success",control:"PaymentCompleted",controlType:"IframeEvent"},[Ne.TRANSAK_ORDER_FAILED]:{screen:"Failure",control:"PaymentFailed",controlType:"IframeEvent"}},Le=e=>{const{track:t}=o(),{userJourney:a,ref:r,walletAddress:n,isPassportWallet:i,failedToLoadTimeoutInMs:h,onFailedToLoad:c}=e,[u,l]=s.useState(!1),p=h||1e4,f=s.useRef(void 0),d=s.useCallback((e=>{const r=e.event_id,o=[Ne.TRANSAK_ORDER_SUCCESSFUL].includes(r)?`${r}${e.data.status}`:r,s=De?.[o]||{};Object.keys(s).length>=0&&t({...s,userJourney:a,extras:{walletAddress:n,isPassportWallet:i}})}),[]),m=s.useCallback((t=>{switch(t.event_id){case Ne.TRANSAK_WIDGET_INITIALISED:a=t.data,l(!0),clearTimeout(f.current),f.current=void 0,e.onInit?.(a);break;case Ne.TRANSAK_WIDGET_OPEN:e.onOpen?.(t.data);break;case Ne.TRANSAK_ORDER_CREATED:e.onOrderCreated?.(t.data);break;case Ne.TRANSAK_ORDER_SUCCESSFUL:t.data.status===Pe.PROCESSING&&e.onOrderProcessing?.(t.data),t.data.status===Pe.COMPLETED&&e.onOrderCompleted?.(t.data);break;case Ne.TRANSAK_ORDER_FAILED:e.onOrderFailed?.(t.data)}var a}),[]),R=s.useCallback((e=>{const t=Oe(e.origin)?.host?.toLowerCase();e.source===r?.current?.contentWindow&&t&&be.includes(t)&&(d(e.data),m(e.data),console.log("@@@ Transak event",e))}),[r]);return s.useEffect((()=>(window.addEventListener("message",R),()=>{clearTimeout(f.current),window.removeEventListener("message",R)})),[]),{initialised:u,onLoad:()=>{void 0!==c&&(void 0!==f.current||u||(f.current=setTimeout((()=>{u||c()}),p)))}}},xe="transak-iframe",Ue=6e3;function ke({passport:e,showIframe:t,tokenAmount:a,tokenAddress:r}){const{connectLoaderState:n}=s.useContext(i),{checkout:S,provider:O}=n,{eventTargetState:{eventTarget:T}}=s.useContext(h),{t:y}=c(),{viewState:_,viewDispatch:I}=s.useContext(u),[C,g]=s.useState(""),w=s.useRef(),N=!!e&&O?.provider?.isPassport,P=s.useMemo((()=>_.history.length>2&&_.history[_.history.length-2].type===l.TOP_UP_VIEW),[_.history]),{track:b}=o();return s.useEffect((()=>{if(!S||!O)return;let t="";(async()=>{const n={exchangeType:p.ONRAMP,web3Provider:O,tokenAddress:r,tokenAmount:a,passport:e};g(await S.createFiatRampUrl(n)),t=await O.getSigner().getAddress()})();const n=document.getElementById(xe);if(!n)return;window.addEventListener("message",(e=>{if(!n)return;const o=se.parse(e.origin)?.host?.toLowerCase();e.source===n.contentWindow&&o&&be.includes(o)&&((async(e,t)=>{const a={userId:t.toLowerCase(),isPassportWallet:N};switch(e.event_id){case ge.TRANSAK_WIDGET_OPEN:b({userJourney:v.ON_RAMP,screen:"InputScreen",control:"TransakWidgetOpen",controlType:"IframeEvent",extras:{...a}});break;case ge.TRANSAK_ORDER_CREATED:b({userJourney:v.ON_RAMP,screen:"InputScreen",control:"OrderCreated",controlType:"IframeEvent",extras:{...a}});break;case ge.TRANSAK_ORDER_SUCCESSFUL:e.data.status===we.PROCESSING&&b({userJourney:v.ON_RAMP,screen:"OrderInProgress",control:"PaymentProcessing",controlType:"IframeEvent",extras:{...a}}),e.data.status===we.COMPLETED&&b({userJourney:v.ON_RAMP,screen:"Success",control:"PaymentCompleted",controlType:"IframeEvent",extras:{...a}});break;case ge.TRANSAK_ORDER_FAILED:b({userJourney:v.ON_RAMP,screen:"Failure",control:"PaymentFailed",controlType:"IframeEvent",extras:{...a}})}})(e.data,t),(e=>{if(w.current&&clearTimeout(w.current),e.event_id!==ge.TRANSAK_WIDGET_OPEN)return e.event_id===ge.TRANSAK_ORDER_SUCCESSFUL&&e.data.status===we.PROCESSING?(I({payload:{type:A.UPDATE_VIEW,view:{type:D.IN_PROGRESS_LOADING}}}),void(w.current=window.setTimeout((()=>{I({payload:{type:A.UPDATE_VIEW,view:{type:D.IN_PROGRESS}}})}),Ue))):void(e.event_id!==ge.TRANSAK_ORDER_SUCCESSFUL||e.data.status!==we.COMPLETED?e.event_id===ge.TRANSAK_ORDER_FAILED&&I({payload:{type:A.UPDATE_VIEW,view:{type:D.FAIL,data:{amount:a,tokenAddress:r},reason:`Transaction failed: ${e.data.statusReason}`}}}):I({payload:{type:A.UPDATE_VIEW,view:{type:D.SUCCESS,data:{transactionHash:e.data.transactionHash}}}}));I({payload:{type:A.UPDATE_VIEW,view:{type:D.ONRAMP,data:{amount:_.view.data?.amount??a,tokenAddress:_.view.data?.tokenAddress??r}}}})})(e.data))}))}),[S,O,a,r,e]),f(E,{sx:Ce(t),children:f(d,{header:f(m,{showBack:P,title:y("views.ONRAMP.header.title"),onCloseButtonClick:()=>R(T)}),footerBackgroundColor:"base.color.translucent.emphasis.200",children:f(E,{sx:Ie(t),children:f("iframe",{title:"Transak",id:xe,src:C,allow:"camera;microphone;fullscreen;payment",style:{height:"100%",width:"100%",border:"none",position:"absolute"}})})})})}function Ke(){const{eventTargetState:{eventTarget:e}}=s.useContext(h),{t:t}=c();return f(d,{testId:"order-in-progress-view",header:f(m,{transparent:!0,onCloseButtonClick:()=>R(e)}),footer:f(S,{}),heroContent:f(x,{}),floatHeader:!0,children:O(T,{heading:t("views.ONRAMP.IN_PROGRESS.content.heading"),children:[t("views.ONRAMP.IN_PROGRESS.content.body1"),f("br",{}),f("br",{}),t("views.ONRAMP.IN_PROGRESS.content.body2")]})})}function Fe({amount:e,tokenAddress:t,config:a}){const{isOnRampEnabled:r,isSwapEnabled:n,isBridgeEnabled:o}=a,[p,d]=s.useReducer(y,{..._,history:[]}),m=s.useMemo((()=>({viewState:p,viewDispatch:d})),[p,y]),{connectLoaderState:E}=s.useContext(i),{checkout:S,provider:T}=E,[x,U]=s.useState(t),{eventTargetState:{eventTarget:k}}=s.useContext(h),{t:K}=c(),F=s.useMemo((()=>p.view.type===D.ONRAMP),[p.view.type]);return s.useEffect((()=>{S&&T&&(async()=>{if(!(await S.getNetworkInfo({provider:T})).isSupported)return;const e=x?.toLocaleLowerCase()===I?I:t;U(e)})()}),[S,T,d]),O(u.Provider,{value:m,children:[p.view.type===l.LOADING_VIEW&&f(C,{loadingText:K("views.ONRAMP.initialLoadingText")}),p.view.type===D.IN_PROGRESS_LOADING&&f(C,{loadingText:K("views.ONRAMP.IN_PROGRESS_LOADING.loading.text")}),p.view.type===D.IN_PROGRESS&&f(Ke,{}),p.view.type===D.SUCCESS&&f(N,{statusText:K("views.ONRAMP.SUCCESS.text"),actionText:K("views.ONRAMP.SUCCESS.actionText"),onRenderEvent:()=>g(k,p.view.data.transactionHash),onActionClick:()=>R(k),statusType:w.SUCCESS,testId:"success-view"}),p.view.type===D.FAIL&&f(N,{statusText:K("views.ONRAMP.FAIL.text"),actionText:K("views.ONRAMP.FAIL.actionText"),onRenderEvent:()=>P(k,p.view.reason??"Transaction failed"),onActionClick:()=>{d({payload:{type:A.UPDATE_VIEW,view:{type:D.ONRAMP,data:p.view.data}}})},statusType:w.FAILURE,onCloseClick:()=>R(k),testId:"fail-view"}),p.view.type!==D.SUCCESS&&p.view.type!==D.FAIL&&f(ke,{passport:S?.passport,showIframe:F,tokenAmount:e??p.view.data?.amount,tokenAddress:x??p.view.data?.tokenAddress}),p.view.type===l.TOP_UP_VIEW&&f(L,{analytics:{userJourney:v.ON_RAMP},widgetEvent:b.IMTBL_ONRAMP_WIDGET_EVENT,checkout:S,provider:T,showOnrampOption:r,showSwapOption:n,showBridgeOption:o,onCloseButtonClick:()=>R(k)})]})}var je=Object.freeze({__proto__:null,default:Fe});export{Fe as O,je as a,Le as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as e,_ as t,u as n,r as a,m as r,al as o,am as s,an as i,ao as c,ap as d,aq as l,k as u,ar as p,a as E,z as m,as as T,at as f,au as y,V as C,p as h,av as A,U as g,l as I,Y as v,t as R,E as S,aw as O,ax as b,ay as _,az as w,aA as D,aB as P,$ as k,n as x,aC as N,aD as M,a3 as L,aE as F,aF as U,aG as W,H as B,aH as V,o as Y,d as H,w as G,M as j,aI as $,aJ as X,aK as K,L as z,a2 as q,aL as Z,aM as J,A as Q,aN as ee,aO as te,a6 as ne,a7 as ae,aP as re,aQ as oe,aR as se,aS as ie,aT as ce,aU as de,G as le,X as ue,aV as pe,q as Ee,aW as me,aX as Te,y as fe,x as ye,I as Ce,aY as he,aj as Ae,aZ as ge,a_ as Ie,a$ as ve,b0 as Re,b1 as Se,b2 as Oe,b3 as be,b4 as _e,B as we,b5 as De,ah as Pe,ai as ke,b6 as xe}from"./index-160882ca.js";import{u as Ne,O as Me}from"./OnRampWidget-f68e31ac.js";import{f as Le,u as Fe,C as Ue,a as We,T as Be,b as Ve}from"./TopUpView-07d43ea1.js";import{T as Ye}from"./retry-f0ac2e4f.js";import{F as He}from"./balance-02a997c2.js";import Ge from"./BridgeWidget-69ef3783.js";import je from"./SwapWidget-33b911a4.js";import"./SpendingCapHero-617b015a.js";var $e=["size","weight","rc","sx","testId","children","domRef","className"];function Xe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Ke(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Xe(Object(n),!0).forEach((function(t){u(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Xe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var ze="base.color.text.caption.primary",qe="medium";function Ze(u){var p=u.size,E=void 0===p?qe:p,m=u.weight,T=void 0===m?"regular":m,f=u.rc,y=void 0===f?e("span",{}):f,C=u.sx,h=void 0===C?{}:C,A=u.testId,g=u.children,I=u.domRef,v=u.className,R=t(u,$e),S=n(),O=a.useMemo((function(){var e,t;return r(i,s(h,ze),o({themeProps:S,size:E,weight:T}),null!==(e=null===(t=S.components)||void 0===t||null===(t=t.Caption)||void 0===t?void 0:t.sxOverride)&&void 0!==e?e:{},h)}),[h,S,E,T]),b=c(O),_=d(E,qe,Object.keys(S.base.text.caption));return l(y,Ke(Ke(Ke(Ke({},R),A?{"data-testid":A}:{}),I?{ref:I}:{}),{},{css:b,children:g,className:"".concat(null!=v?v:""," Caption Caption--").concat(_)}))}Ze.displayName="Caption";var Je,Qe,et,tt,nt,at,rt=["sx","radius"];function ot(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function st(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ot(Object(n),!0).forEach((function(t){u(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ot(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function it(n){var a=n.sx,o=void 0===a?{}:a,s=n.radius,i=void 0===s?"50px":s,c=t(n,rt);return e(E,st(st({},c),{},{sx:r(p,{brad:"50%",w:i,h:i},o)}))}!function(e){e.PAYMENT_METHODS="PAYMENT_METHODS",e.PAY_WITH_COINS="PAY_WITH_COINS",e.PAY_WITH_CARD="PAY_WITH_CARD",e.ORDER_SUMMARY="ORDER_SUMMARY",e.SALE_SUCCESS="SALE_SUCCESS",e.SALE_FAIL="SALE_FAIL"}(Je||(Je={})),function(e){e.INIT="INIT",e.REVIEW_ORDER="REVIEW_ORDER",e.EXECUTE_FUNDING_ROUTE="EXECUTE_FUNDING_ROUTE"}(Qe||(Qe={})),function(e){e.DEFAULT="DEFAULT_ERROR",e.INVALID_PARAMETERS="INVALID_PARAMETERS",e.TRANSACTION_FAILED="TRANSACTION_FAILED",e.SERVICE_BREAKDOWN="SERVICE_BREAKDOWN",e.PRODUCT_NOT_FOUND="PRODUCT_NOT_FOUND",e.INSUFFICIENT_STOCK="INSUFFICIENT_STOCK",e.TRANSAK_FAILED="TRANSAK_FAILED",e.WALLET_FAILED="WALLET_FAILED",e.WALLET_REJECTED="WALLET_REJECTED",e.WALLET_REJECTED_NO_FUNDS="WALLET_REJECTED_NO_FUNDS",e.WALLET_POPUP_BLOCKED="WALLET_POPUP_BLOCKED",e.FUNDING_ROUTE_EXECUTE_ERROR="FUNDING_ROUTE_EXECUTE_ERROR"}(et||(et={})),function(e){e.CRYPTO="crypto",e.FIAT="fiat"}(tt||(tt={})),function(e){e.SUFFICIENT="SUFFICIENT"}(nt||(nt={})),function(e){e.BEFORE="before",e.PENDING="pending",e.AFTER="after"}(at||(at={}));const ct={[m.SANDBOX]:"https://api.sandbox.immutable.com/v1/primary-sales",[m.PRODUCTION]:"https://api.immutable.com/v1/primary-sales"},dt=e=>e.map((({method:e,hash:t})=>`${e}: ${t}`)).join(" | "),lt=e=>e.split(/[_\s-]+/).map((e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase())).join(""),ut=e=>e.replace(/[^\u0000-\u00FF]/g,""),pt=e=>{if(!e)return"";let t=e.trim().toLowerCase();if(t.startsWith("0x")&&(t=t.slice(2)),!/^[0-9a-f]+$/i.test(t))throw new Error("Invalid hexadecimal input");let n="";for(let e=0;e<t.length;e+=2){const a=parseInt(t.substr(e,2),16);n+=String.fromCharCode(a)}return n},Et=async(e,t)=>{try{const n=t.getSigner(),a=await n.getAddress(),r=e.find((e=>e.methodCall.startsWith("approve")));if(!r||!n||!a)return e;const o=new T(r.tokenAddress,["function allowance(address,address) view returns (uint256)"],n),s=await(n?.call({to:r.tokenAddress,data:o.interface.encodeFunctionData("allowance",[a,r.params.spender])})),i=f.from(s),c=r.params.amount?f.from(r.params.amount):f.from(0);if(i.gte(f.from("0"))&&i.gte(c))return e.filter((e=>e.methodCall!==r.methodCall))}catch{}return e};var mt;!function(e){e.CONTRACT_ADDRESS="contract_address",e.CURRENCY_SYMBOL="currency_symbol"}(mt||(mt={}));const Tt=e=>{const{provider:t,items:n,environment:r,environmentId:o,waitFulfillmentSettlements:s}=e,[i,c]=a.useState(void 0),[d,l]=a.useState(void 0),[u,p]=a.useState({done:!1,transactions:[]}),[E,m]=a.useState([]),[T,f]=a.useState(0),[y,C]=a.useState([]),h=()=>p((e=>({...e,done:!0}))),A=()=>p({done:!1,transactions:[]}),g=a.useCallback((async(e,n,a)=>{try{const r=t?.getSigner(),o=await(t?.getGasPrice()),i=await(r?.sendTransaction({to:e,data:n,gasPrice:o,gasLimit:a}));s&&await(i?.wait());const c=i?.hash;if(!c)throw new Error("Transaction hash is undefined");return[c,void 0]}catch(e){const t=`${e?.reason||e?.message||""}`.toLowerCase();let n=et.WALLET_FAILED;t.includes("failed")&&t.includes("open confirmation")&&(n=et.WALLET_POPUP_BLOCKED),t.includes("rejected")&&t.includes("user")&&(n=et.WALLET_REJECTED),t.includes("failed to submit")&&t.includes("highest gas limit")&&(n=et.WALLET_REJECTED_NO_FUNDS),(t.includes("status failed")||t.includes("transaction failed"))&&(n=et.TRANSACTION_FAILED);const a={type:n,data:{error:e}};return c(a),[void 0,a]}}),[t,s]),I=a.useCallback((async(e,a)=>{try{const s=t?.getSigner(),i={recipient_address:await(s?.getAddress())||"",payment_type:e,currency_filter:mt.CONTRACT_ADDRESS,currency_value:a,products:n.map((e=>({product_id:e.productId,quantity:e.qty})))},d=`${ct[r]}/${o}/order/sign`,u=await fetch(d,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)}),{ok:p,status:E}=u;if(!p){const{code:e}=await u.json();let t;switch(E){case 400:t=et.SERVICE_BREAKDOWN;break;case 404:t="insufficient_stock"===e?et.INSUFFICIENT_STOCK:et.PRODUCT_NOT_FOUND;break;case 429:case 500:t=et.DEFAULT;break;default:throw new Error("Unknown error")}return void c({type:t})}const T=await u.json(),f=T.order.products.map((e=>e.detail.map((({token_id:e})=>e)))).flat(),y=((e,t)=>{const{order:n,transactions:a}=e;return{order:{currency:{name:n.currency.name,erc20Address:n.currency.erc20_address},products:n.products.map((e=>((e,t,n)=>({productId:e.product_id,image:n?.image||"",qty:n?.qty||1,name:n?.name||"",description:n?.description||"",currency:t,contractType:e.contract_type,collectionAddress:e.collection_address,amount:e.detail.map((({amount:e})=>e)),tokenId:e.detail.map((({token_id:e})=>e))}))(e,n.currency.name,t.find((t=>t.productId===e.product_id))))).reduce(((e,t)=>{const n=e.findIndex((e=>e.name===t.name));return-1===n&&e.push({...t}),n>-1&&(e[n].amount=[...e[n].amount,...t.amount],e[n].tokenId=[...e[n].tokenId,...t.tokenId]),e}),[]),totalAmount:Number(n.total_amount)},transactions:a.map((e=>({tokenAddress:e.contract_address,gasEstimate:e.gas_estimate,methodCall:e.method_call,params:{reference:e.params.reference||"",amount:e.params.amount||0,spender:e.params.spender||""},rawData:e.raw_data}))),transactionId:pt(a.find((e=>e.method_call.startsWith("execute")))?.params.reference||"")}})(T,n);if(m(f),l(y),t){const e=await Et(y.transactions,t);C(e)}return y}catch(e){c({type:et.DEFAULT,data:{error:e}})}}),[n,o,r,t]),v=async(e,t,n)=>{if(!e)return!1;const{tokenAddress:a,rawData:r,methodCall:o,gasEstimate:s}=e,[i,c]=await g(a,r,s);if(c||!i)return n(c,u.transactions),!1;const d={method:o,hash:i};return(e=>{p((t=>({...t,transactions:[...t.transactions,e]})))})(d),t(d),!0},R=a.useCallback((async(e,n,a,r)=>{if(!e||!t)return c({type:et.DEFAULT,data:{reason:"No sign data"}}),[];const o=await Et(e.transactions,t);let s=!0;for(const e of o){r&&r(e.methodCall,at.BEFORE);if(!await v(e,n,a)){s=!1;break}r&&r(e.methodCall,at.AFTER)}return(s?h:A)(),u.transactions}),[t,v,h,A,Et,g]),S=a.useCallback((async(e,n,a)=>{if(!y||u.done||!t)return!1;const r=y[T];a&&a(r.methodCall,at.BEFORE);const o=await v(r,e,n);return o&&(f((e=>e+1)),T===y.length-1&&h(),a&&a(r.methodCall,at.AFTER)),o}),[T,t,y]);return{sign:I,signResponse:d,signError:i,filteredTransactions:y,currentTransactionIndex:T,executeAll:R,executeResponse:u,tokenIds:E,executeNextTransaction:S}},ft=(e,t)=>{const n=-1===e.findIndex((({name:e})=>y(e,t||"")));return t&&n&&console.warn(`[IMTBL]: invalid "preferredCurrency=${t}" widget input`),t&&!n?e.filter((({name:e})=>y(e,t))).map((({erc20_address:e,exchange_id:t,...n})=>({...n,base:!0,address:e,exchangeId:t}))):e.map((({erc20_address:e,exchange_id:t,...n})=>({...n,address:e,exchangeId:t})))},yt={config:{contractId:""},currencies:[],products:{},totalAmount:{}},Ct=({items:e,environment:t,environmentId:n,provider:r,preferredCurrency:o})=>{const[s,i]=a.useState(),c=a.useRef(!1),[d,l]=a.useState(""),[u,p]=a.useState(yt),[E,m]=a.useState(void 0),T=e=>{m({type:et.SERVICE_BREAKDOWN,data:{reason:"Error fetching settlement currencies",error:e}})};return a.useEffect((()=>{e?.length&&r&&(async()=>{try{const t=new URLSearchParams,n=e.map((({productId:e,qty:t})=>({id:e,qty:t})));t.append("products",btoa(JSON.stringify(n)));const a=r.getSigner(),o=await a.getAddress();t.append("wallet_address",o),l(t.toString())}catch(e){T(e)}})()}),[e,r]),a.useEffect((()=>{t&&n&&d&&(async()=>{if(!c.current)try{c.current=!0;const e=`${ct[t]}/${n}/order/quote?${d}`,a=await fetch(e,{method:"GET",headers:{"Content-Type":"application/json"}});if(!a.ok)throw new Error(`${a.status} - ${a.statusText}`);const r=(({config:e,currencies:t,products:n,total_amount:a},r)=>({config:{contractId:e.contract_id},currencies:ft(t,r),products:Object.entries(n).reduce(((e,[t,{product_id:n,...a}])=>({...e,[t]:{productId:t,...a}})),{}),totalAmount:a}))(await a.json(),o);p(r)}catch(e){T(e)}finally{c.current=!1}})()}),[t,n,d]),a.useEffect((()=>{if(0===u.currencies.length)return;const e=(o?u.currencies.find((e=>y(e.name,o))):void 0)||u.currencies.find((e=>e.base))||u.currencies?.[0];i(e)}),[u]),{orderQuote:u,selectedCurrency:s,orderQuoteError:E}},ht=a.createContext({items:[],collectionName:"",provider:void 0,checkout:void 0,environmentId:"",environment:m.SANDBOX,recipientAddress:"",recipientEmail:"",sign:()=>Promise.resolve(void 0),executeAll:()=>Promise.resolve([]),executeNextTransaction:()=>Promise.resolve(!1),signResponse:void 0,signError:void 0,filteredTransactions:[],currentTransactionIndex:0,executeResponse:void 0,passport:void 0,isPassportWallet:!1,showCreditCardWarning:!1,setShowCreditCardWarning:()=>{},paymentMethod:void 0,setPaymentMethod:()=>{},goBackToPaymentMethods:()=>{},goToErrorView:()=>{},goToSuccessView:()=>{},config:{},fundingRoutes:[],disabledPaymentTypes:[],invalidParameters:!1,fromTokenAddress:"",orderQuote:yt,signTokenIds:[],excludePaymentTypes:[],preferredCurrency:void 0,selectedCurrency:void 0,waitFulfillmentSettlements:!0,hideExcludedPaymentTypes:!1});ht.displayName="SaleSaleContext";const At=1;function gt(t){const{children:n,value:{config:r,environment:o,environmentId:s,items:i,provider:c,checkout:d,passport:l,collectionName:u,excludePaymentTypes:p,excludeFiatCurrencies:E,preferredCurrency:m,waitFulfillmentSettlements:T,hideExcludedPaymentTypes:f}}=t,y=a.useRef(0),{viewDispatch:g}=a.useContext(C),[{recipientEmail:I,recipientAddress:v},R]=a.useState({recipientEmail:"",recipientAddress:""}),[S,O]=a.useState(!1),[b,_]=a.useState(void 0),w=e=>{if(e===A.CREDIT&&!S)return _(void 0),void O(!0);_(e),O(!1)},[D]=a.useState([]),[P,k]=a.useState([]),[x,N]=a.useState(!1),{selectedCurrency:M,orderQuote:L,orderQuoteError:F}=Ct({items:i,provider:c,environmentId:s,environment:r.environment,preferredCurrency:m}),U=M?.address||"",W=a.useCallback(((e,t)=>{w(e),g({payload:{type:h.UPDATE_VIEW,view:{type:Je.PAYMENT_METHODS,data:t}}})}),[]);a.useEffect((()=>{(async()=>{const e=c?.getSigner(),t=await(e?.getAddress())||"",n=(await(l?.getUserInfo()))?.email||"";R({recipientEmail:n,recipientAddress:t})})()}),[c]);const{sign:B,executeAll:V,executeNextTransaction:Y,signResponse:H,signError:G,filteredTransactions:j,currentTransactionIndex:$,executeResponse:X,tokenIds:K}=Tt({items:i,provider:c,fromTokenAddress:U,recipientAddress:v,environmentId:s,environment:o,waitFulfillmentSettlements:T}),z=a.useCallback((async(e,t,n)=>{const a=t||U;if(!a||!a.startsWith("0x"))return void N(!0);const r=await B(e,a);return r?(n?.(r),r):void 0}),[B,U]),q=a.useCallback(((e,t={})=>{y.current+=1,y.current>At&&(y.current=0,w(void 0)),g({payload:{type:h.UPDATE_VIEW,view:{type:Je.SALE_FAIL,data:{...t,errorType:e,paymentMethod:b,transactions:X.transactions}}}})}),[b,w,X]),Z=a.useCallback((e=>{g({payload:{type:h.UPDATE_VIEW,view:{type:Je.SALE_SUCCESS,data:{paymentMethod:b,transactions:X.transactions,tokenIds:K,...e}}}})}),[[b,X,K]]);a.useEffect((()=>{G&&q(G.type,G.data)}),[G]),a.useEffect((()=>{F&&q(F.type,F.data)}),[F]),a.useEffect((()=>{!(!i||0===i.length)&&u&&s||N(!0)}),[i,u,s]),a.useEffect((()=>{p?.length<=0||k(p)}),[p]);const J=a.useMemo((()=>({config:r,items:i,fromTokenAddress:U,sign:z,signResponse:H,signError:G,filteredTransactions:j,currentTransactionIndex:$,executeAll:V,executeNextTransaction:Y,executeResponse:X,environmentId:s,collectionName:u,environment:o,provider:c,checkout:d,recipientAddress:v,recipientEmail:I,showCreditCardWarning:S,setShowCreditCardWarning:O,paymentMethod:b,setPaymentMethod:w,goBackToPaymentMethods:W,goToErrorView:q,goToSuccessView:Z,isPassportWallet:!!c?.provider?.isPassport,fundingRoutes:D,disabledPaymentTypes:P,invalidParameters:x,orderQuote:L,signTokenIds:K,excludePaymentTypes:p,excludeFiatCurrencies:E,selectedCurrency:M,waitFulfillmentSettlements:T,hideExcludedPaymentTypes:f})),[r,o,s,i,U,u,c,d,v,I,H,G,j,$,X,S,O,b,W,q,Z,z,D,P,x,L,K,p,E,M,T,f]);return e(ht.Provider,{value:J,children:n})}function It(){return a.useContext(ht)}const vt={[m.SANDBOX]:"https://global-stg.transak.com",[m.PRODUCTION]:"https://global.transak.com/"},Rt={[m.SANDBOX]:"https://api-stg.transak.com",[m.PRODUCTION]:"https://api.transak.com"},St={[m.SANDBOX]:"STAGING",[m.PRODUCTION]:"PRODUCTION"},Ot={[m.SANDBOX]:"d14b44fb-0f84-4db5-affb-e044040d724b",[m.PRODUCTION]:"ad1bca70-d917-4628-bb0f-5609537498bc"},bt=e=>{const{contractId:t,environment:n,transakParams:r,onError:o}=e,[s,i]=a.useState(""),c=a.useCallback((async()=>{try{const{calldata:e,nftData:a,estimatedGasLimit:o,cryptoCurrencyCode:s,excludeFiatCurrencies:i,...c}=r,d=a?.slice(0,1).map((e=>({...e,imageURL:ut(e.imageURL),nftName:ut(e.nftName)}))),l={contractId:t,cryptoCurrencyCode:s,calldata:e,nftData:d,estimatedGasLimit:(o>0?o:"30000000").toString()},u=`${Rt[n]}/cryptocoverage/api/v1/public/one-click-protocol/nft-transaction-id`,p=await fetch(u,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)});if(!p.ok)throw new Error("Failed to get NFT transaction ID");const{id:E}=await p.json(),m=`${vt[n]}?`,T=new URLSearchParams({apiKey:Ot[n],environment:St[n],isNFT:"true",nftTransactionId:E,themeColor:"0D0D0D",...c});return i&&T.append("excludeFiatCurrencies",i.join(",")),`${m}${T.toString()}`}catch{o?.()}return""}),[t,n,r,o]);return a.useEffect((()=>{(async()=>{const e=await c();i(e)})()}),[]),{iframeSrc:s}};function _t(t){const{id:n,type:r,email:o,walletAddress:s,isPassportWallet:i,nftData:c,calldata:d,cryptoCurrencyCode:l,estimatedGasLimit:u,exchangeScreenTitle:p,partnerOrderId:E,excludeFiatCurrencies:m,onOpen:T,onInit:f,onOrderCreated:y,onOrderProcessing:C,onOrderCompleted:h,onOrderFailed:A,onFailedToLoad:I,failedToLoadTimeoutInMs:v,environment:R,contractId:S}=t,O=a.useRef(null),{onLoad:b,initialised:_}=Ne({userJourney:g.SALE,ref:O,walletAddress:s,isPassportWallet:i,onOpen:T,onOrderCreated:y,onOrderProcessing:C,onOrderCompleted:h,onOrderFailed:A,onInit:f,failedToLoadTimeoutInMs:v,onFailedToLoad:I}),{iframeSrc:w}=bt({type:r,contractId:S,environment:R,transakParams:{nftData:c,calldata:d,cryptoCurrencyCode:l,estimatedGasLimit:u,exchangeScreenTitle:p,email:o,walletAddress:s,partnerOrderId:E,excludeFiatCurrencies:m},onError:I});return e("iframe",{id:n,ref:O,src:w,title:"Transak-Iframe",allow:"camera;microphone;fullscreen;payment",style:{height:"100%",width:"100%",border:"none",position:"absolute",top:0,left:0,opacity:_?1:0,transition:"opacity 0.5s ease-out"},onLoad:b,onError:()=>I?.()})}function wt(t){const{t:n}=I(),{onInit:r,onOpen:o,onOrderCreated:s,onOrderProcessing:i,onOrderCompleted:c,onOrderFailed:d}=t,{recipientEmail:l,recipientAddress:u,isPassportWallet:p,signResponse:E,goToErrorView:m,environment:T,orderQuote:f,excludeFiatCurrencies:y}=It(),C=E?.transactions.find((e=>e.methodCall.startsWith("execute")));if(!E||!C)return null;const h=a.useMemo((()=>E.order.products.map((e=>({collectionAddress:e.collectionAddress,imageURL:e.image,nftName:e.name,price:e.amount,quantity:e.qty,tokenID:e.tokenId,nftType:e.contractType||"ERC721"})))),[E]);return e(_t,{id:"transak-iframe",type:"nft-checkout",email:l,walletAddress:u,isPassportWallet:p,exchangeScreenTitle:n("views.PAY_WITH_CARD.screenTitle"),nftData:h,calldata:C.rawData,cryptoCurrencyCode:E.order.currency.name,estimatedGasLimit:C.gasEstimate,partnerOrderId:C.params.reference,excludeFiatCurrencies:y,onInit:r,onOpen:o,onOrderCreated:s,onOrderProcessing:i,onOrderCompleted:c,onOrderFailed:d,onFailedToLoad:()=>{m(et.TRANSAK_FAILED)},environment:T,contractId:f.config.contractId})}const Dt=(e,t)=>{const{fundingItem:n}=e;return{settlementType:`${e.type}`,type:n.type,token:n.token,amount:n.fundsRequired.formattedAmount,balance:n.userBalance.formattedBalance,fiat:{symbol:"USD",balance:v(n.userBalance.formattedBalance,n.token.symbol,t),amount:v(n.fundsRequired.formattedAmount,n.token.symbol,t)}}},Pt=()=>{const{track:e,page:t}=R(),{recipientAddress:n,signResponse:r,paymentMethod:o}=It(),{eventTargetState:{eventTarget:s}}=a.useContext(S),i=Je.PAYMENT_METHODS,c={location:"web",userJourney:g.SALE},d={userId:n,paymentMethod:o},l={amount:r?.order.totalAmount,currency:r?.order.currency.name};return{track:e,page:t,sendPageView:(e,n)=>{t({...c,screen:lt(e),action:"Viewed",extras:{...n}})},sendCloseEvent:(t=i,n="Button",a="Pressed")=>{e({...c,screen:lt(t),control:"Close",controlType:n,action:a,extras:{...d}}),O(s)},sendSuccessEvent:(t=i,n=[],a=[],r={})=>{e({...c,screen:lt(t),control:"Success",controlType:"Event",action:"Succeeded",extras:{...r,...d,transactions:dt(n),...l,paymentMethod:o,tokenIds:a}}),b(s,o,n,a,r.transactionId)},sendFailedEvent:(t,n,a=[],r=i,u={})=>{e({...c,screen:lt(r||i),control:"Fail",controlType:"Event",action:"Failed",extras:{...u,transactions:dt(a),...n,...l,...d,paymentMethod:o,reason:t}}),_(s,t,n,o,a,u.transactionId)},sendTransactionSuccessEvent:e=>{w(s,o,[e])},sendOrderCreated:(t,n)=>{e({...c,screen:lt(t),control:"OrderCreated",controlType:"Event",extras:{...n}})},sendSelectedPaymentMethod:(t,n)=>{e({...c,screen:lt(n),control:"Select",controlType:"MenuItem",extras:{paymentMethod:t}}),D(s,t)},sendSelectedPaymentToken:(t,n,a)=>{const r=Dt(n,a);e({...c,screen:lt(t),control:"Select",controlType:"MenuItem",extras:{...r}}),P(s,r)},sendProceedToPay:(t,n,a,r="Button",o="Pressed")=>{e({...c,screen:lt(t),control:"ProceedToPay",controlType:r,action:o,extras:{...d,...Dt(n,a)}})},sendViewFeesEvent:(t,n="Button",a="Pressed")=>{e({...c,screen:lt(t),control:"ViewFees",controlType:n,action:a,extras:{...d}})}}};function kt(){const{sendPageView:t}=Pt(),[n,r]=a.useState(!1),{goBackToPaymentMethods:o,goToErrorView:s,signResponse:i,signTokenIds:c}=It(),{sendOrderCreated:d,sendCloseEvent:l,sendSuccessEvent:u}=Pt(),{t:p}=I(),m=(e={})=>{const{id:t,status:n,cryptoAmount:a,cryptoCurrency:r,fiatAmount:o,fiatAmountInUsd:s,amountPaid:d,totalFeeInFiat:p,paymentOptionId:E,userId:m,userKycType:T,walletAddress:f,nftAssetInfo:y}=e,{nftDataBase64:C,quantity:h}=y||{},A={orderId:t,orderStatus:n,cryptoAmount:a,cryptoCurrency:r,fiatAmount:o,fiatAmountInUsd:s,amountPaid:d,totalFeeInFiat:p,paymentOption:E,userId:m,userKycType:T,walletAddress:f,nftDataBase64:C,quantity:h,signData:i,transactionId:i?.transactionId};u(Je.SALE_SUCCESS,[],c,A),l(Je.SALE_SUCCESS)};return a.useEffect((()=>t(Je.PAY_WITH_CARD)),[]),e(L,{header:n&&e(k,{onCloseButtonClick:()=>o()}),children:x(M,{children:[e(N,{visible:!n,children:e(N.Content,{children:e(N.Content.LoopingText,{text:[p("views.PAY_WITH_CARD.loading")]})})}),e(E,{style:{display:"block",position:"relative",maxWidth:"420px",height:"565px",borderRadius:"1%",overflow:"hidden",margin:"0 auto",width:"100%"},children:e(wt,{onInit:()=>r(!0),onOrderFailed:()=>{s(et.TRANSAK_FAILED)},onOrderCompleted:m,onOrderCreated:(e={})=>{const{id:t,status:n,cryptoAmount:a,cryptoCurrency:r,fiatAmount:o,fiatAmountInUsd:s,amountPaid:c,totalFeeInFiat:l,paymentOptionId:u,userId:p,userKycType:E,walletAddress:m,nftAssetInfo:T}=e,{nftDataBase64:f,quantity:y}=T||{};d(Je.PAY_WITH_CARD,{orderId:t,orderStatus:n,cryptoAmount:a,cryptoCurrency:r,fiatAmount:o,fiatAmountInUsd:s,amountPaid:c,totalFeeInFiat:l,paymentOption:u,userId:p,userKycType:E,walletAddress:m,nftDataBase64:f,quantity:y,signData:i,transactionId:i?.transactionId})},onOrderProcessing:m})})]})})}var xt;!function(e){e.APPROVE="approve(address spender,uint256 amount)",e.EXECUTE="execute(address multicallSigner, bytes32 reference, address[] targets, bytes[] data, uint256 deadline, bytes signature)"}(xt||(xt={}));const Nt=e=>{switch(e){case xt.APPROVE:return"/access_coins.riv";case xt.EXECUTE:return"/purchasing_items.riv";default:return""}};var Mt;!function(e){e[e.START=0]="START",e[e.WAITING=1]="WAITING",e[e.PROCESSING=2]="PROCESSING",e[e.COMPLETED=3]="COMPLETED",e[e.ERROR=4]="ERROR"}(Mt||(Mt={}));const Lt={[xt.APPROVE]:{url:Nt(xt.APPROVE),stateMachine:"State",input:"mode",inputValues:{start:Mt.START,waiting:Mt.WAITING,processing:Mt.PROCESSING,completed:Mt.COMPLETED,error:Mt.ERROR}},[xt.EXECUTE]:{url:Nt(xt.EXECUTE),stateMachine:"State",input:"mode",inputValues:{start:Mt.START,waiting:Mt.WAITING,processing:Mt.PROCESSING,completed:Mt.COMPLETED,error:Mt.ERROR}}};function Ft(t){const{t:n}=I(),{addHandover:r}=F({id:U.GLOBAL});return{onTxnStepExecuteNextTransaction:a.useCallback(((a,o)=>{switch(`${a}-${o}`){case`${xt.APPROVE}-${at.BEFORE}`:r({animationUrl:W(t,Nt(xt.APPROVE)),inputValue:Lt[xt.APPROVE].inputValues.processing,children:e(B,{children:n("views.PAYMENT_METHODS.handover.approve.pending")})});break;case`${xt.APPROVE}-${at.AFTER}`:r({duration:V.MEDIUM,animationUrl:W(t,Nt(xt.APPROVE)),inputValue:Lt[xt.APPROVE].inputValues.completed,children:e(B,{children:n("views.PAYMENT_METHODS.handover.approve.after")})});break;case`${xt.EXECUTE}-${at.BEFORE}`:r({animationUrl:W(t,Nt(xt.EXECUTE)),inputValue:Lt[xt.EXECUTE].inputValues.waiting,children:e(B,{children:n("views.PAYMENT_METHODS.handover.execute.pending")})});break;case`${xt.EXECUTE}-${at.AFTER}`:r({animationUrl:W(t,Nt(xt.EXECUTE)),inputValue:Lt[xt.EXECUTE].inputValues.processing,children:e(B,{children:n("views.PAYMENT_METHODS.handover.execute.after")})})}}),[t,r,n]),onTxnStepExecuteAll:a.useCallback(((a,o)=>{switch(`${a}-${o}`){case`${xt.APPROVE}-${at.BEFORE}`:r({animationUrl:W(t,Nt(xt.APPROVE)),inputValue:Lt[xt.APPROVE].inputValues.waiting,children:e(B,{children:n("views.PAYMENT_METHODS.handover.approve.before")})});break;case`${xt.APPROVE}-${at.AFTER}`:r({animationUrl:W(t,Nt(xt.APPROVE)),inputValue:Lt[xt.APPROVE].inputValues.completed,children:e(B,{children:n("views.PAYMENT_METHODS.handover.approve.after")})});break;case`${xt.EXECUTE}-${at.BEFORE}`:r({animationUrl:W(t,Nt(xt.EXECUTE)),inputValue:Lt[xt.EXECUTE].inputValues.waiting,children:e(B,{children:n("views.PAYMENT_METHODS.handover.execute.before")})});break;case`${xt.EXECUTE}-${at.AFTER}`:r({duration:V.MEDIUM,animationUrl:W(t,Nt(xt.EXECUTE)),inputValue:Lt[xt.EXECUTE].inputValues.processing,children:e(B,{children:n("views.PAYMENT_METHODS.handover.execute.after")})})}}),[t,r,n])}}function Ut({headingText:t,subheadingText:n,primaryButtonText:a,onPrimaryButtonClick:r,secondaryButtonText:o,onSecondaryButtonClick:s}){return x(E,{sx:{height:"100%",display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[x(E,{children:[e(B,{sx:{paddingBottom:"base.spacing.x4"},children:t}),e(Y,{size:"small",sx:{textAlign:"center",color:"base.color.text.body.secondary"},children:n})]}),x(E,{children:[a&&r&&e(E,{sx:{paddingBottom:"base.spacing.x2"},children:e(H,{sx:{width:"100%"},variant:"primary",size:"large",testId:"handover-primary-button",onClick:r,children:a})}),o&&s&&e(E,{sx:{paddingBottom:"base.spacing.x4"},children:e(H,{sx:{width:"100%"},variant:"tertiary",size:"large",testId:"handover-secondary-button",onClick:s,children:o})})]})]})}const Wt={[xt.APPROVE]:{headingTextKey:"views.PAYMENT_METHODS.handover.approve.beforeWithCta.heading",ctaButtonTextKey:"views.PAYMENT_METHODS.handover.approve.beforeWithCta.ctaButton",animationUrl:Nt(xt.APPROVE),inputValue:Mt.WAITING},[xt.EXECUTE]:{headingTextKey:"views.PAYMENT_METHODS.handover.execute.beforeWithCta.heading",ctaButtonTextKey:"views.PAYMENT_METHODS.handover.execute.beforeWithCta.ctaButton",animationUrl:Nt(xt.EXECUTE),inputValue:Mt.START}};function Bt(){const t=a.useRef(!1),n=a.useRef(null),{t:r}=I(),{sendPageView:o,sendTransactionSuccessEvent:s,sendFailedEvent:i,sendCloseEvent:c,sendSuccessEvent:d}=Pt(),{executeAll:l,executeNextTransaction:u,signResponse:p,filteredTransactions:E,currentTransactionIndex:m,executeResponse:T,signTokenIds:f,environment:y,provider:C,goToErrorView:h}=It(),{onTxnStepExecuteNextTransaction:A,onTxnStepExecuteAll:g}=Ft(y),{addHandover:v}=F({id:U.GLOBAL}),R=a.useCallback((async()=>{l(p,(e=>{s(e)}),((e,t)=>{const n={transactionId:p?.transactionId};i(e.toString(),e,t,void 0,n),h(e.type,e.data)}),g)}),[p,y]),S=a.useCallback((()=>{const t=E[m],n=Wt[t.methodCall],a=r(n.headingTextKey)||"",o=r(n.ctaButtonTextKey)||"";v({animationUrl:W(y,n.animationUrl),inputValue:n.inputValue,children:e(Ut,{headingText:a,primaryButtonText:o,onPrimaryButtonClick:()=>{try{u((e=>{s(e)}),((e,t)=>{const n={transactionId:p?.transactionId};i(e.toString(),e,t,void 0,n),h(e.type,e.data)}),A)}catch(e){h(et.SERVICE_BREAKDOWN,{error:e})}}})})}),[E,m,p,y]);return a.useEffect((()=>o(Je.PAY_WITH_COINS)),[]),a.useEffect((()=>{if(!C||0===E.length)return;const e=m<E.length&&n.current!==m;G(C)&&e&&(n.current=m,S())}),[E,m,C]),a.useEffect((()=>{p&&C&&!t.current&&(G(C)||(t.current=!0,R()))}),[p,C]),a.useEffect((()=>{if(T?.done){const t={transactionId:p?.transactionId};v({duration:V.MEDIUM,animationUrl:W(y,Nt(xt.EXECUTE)),inputValue:Mt.COMPLETED,children:e(B,{sx:{px:"base.spacing.x6"},children:r("views.PAYMENT_METHODS.handover.success")}),onClose:()=>{d(Je.SALE_SUCCESS,T?.transactions,f,t),c(Je.SALE_SUCCESS)}})}}),[T]),null}function Vt({type:t,onClick:n,disabled:a=!1,caption:r,size:o,rc:s=e("span",{})}){const{t:i}=I(),c={[A.CRYPTO]:"Coins",[A.DEBIT]:"BankCard",[A.CREDIT]:"BankCard"};return x(j,{rc:s,size:o||"medium",sx:{marginBottom:"base.spacing.x1",userSelect:"none",...a&&{filter:"opacity(0.5)",cursor:"not-allowed !important"}},...{disabled:a,emphasized:!0,onClick:a?void 0:()=>n(t)},children:[e(j.FramedIcon,{icon:c[t]}),e(j.Label,{size:"medium",children:i(`views.PAYMENT_METHODS.options.${t}.heading`)}),!a&&e(j.IntentIcon,{}),e(j.Caption,{children:r||i(`views.PAYMENT_METHODS.options.${t}.${a?"disabledCaption":"caption"}`)})]})}const Yt=[A.CRYPTO,A.DEBIT,A.CREDIT];function Ht(t){const{disabledOptions:n=[],paymentOptions:r,onClick:o,captions:s,size:i,hideDisabledOptions:c}=t,d=a.useMemo((()=>(r||Yt).filter((e=>!c||!n.includes(e)))),[r,n,c]);return a.useEffect((()=>{1===d.length&&o(d[0])}),[d,o]),e(E,{testId:"payment-options-list",sx:{width:"100%",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start"},rc:e($.div,{variants:X,initial:"hidden",animate:"show"}),children:d.map(((t,a)=>e(Vt,{type:t,size:i,onClick:o,disabled:n.includes(t),caption:s?.[t],rc:e($.div,{custom:a,variants:K})},`payment-type-${t}`)))})}function Gt(){const{t:t}=I(),{viewDispatch:n}=a.useContext(C),{sign:r,goToErrorView:o,paymentMethod:s,setPaymentMethod:i,invalidParameters:c,disabledPaymentTypes:d,hideExcludedPaymentTypes:l}=It(),{sendPageView:u,sendCloseEvent:p,sendSelectedPaymentMethod:m}=Pt();return a.useEffect((()=>{s&&m(s,Je.PAYMENT_METHODS),s&&[A.DEBIT,A.CREDIT].includes(s)&&(r(tt.FIAT,void 0,(()=>{n({payload:{type:h.UPDATE_VIEW,view:{type:Je.PAY_WITH_CARD}}})})),n({payload:{type:h.UPDATE_VIEW,view:{type:z.LOADING_VIEW,data:{loadingText:t("views.PAYMENT_METHODS.loading.ready1")}}}})),s&&s===A.CRYPTO&&n({payload:{type:h.UPDATE_VIEW,view:{type:Je.ORDER_SUMMARY,subView:Qe.INIT}}})}),[s]),a.useEffect((()=>u(Je.PAYMENT_METHODS)),[]),a.useEffect((()=>{c&&o(et.INVALID_PARAMETERS)}),[c]),e(L,{testId:"payment-methods",header:e(k,{onCloseButtonClick:()=>p(Je.PAYMENT_METHODS)}),footer:e(q,{}),children:x(E,{sx:{display:"flex",flexDirection:"column",paddingX:"base.spacing.x2",paddingY:"base.spacing.x8",rowGap:"base.spacing.x4"},children:[e(B,{size:"small",sx:{paddingX:"base.spacing.x4"},children:t("views.PAYMENT_METHODS.header.heading")}),e(E,{sx:{paddingX:"base.spacing.x2"},children:e(Ht,{hideDisabledOptions:l,disabledOptions:d,onClick:e=>{i(e)}})})]})})}function jt({biomeTheme:t,transactionHash:n,blockExplorerLink:r,errorType:o}){const{t:s}=I(),{goBackToPaymentMethods:i,executeNextTransaction:c,signResponse:d,environment:l,provider:u}=It(),{sendTransactionSuccessEvent:p,sendFailedEvent:E}=Pt(),{viewDispatch:m}=a.useContext(C),{eventTargetState:{eventTarget:T}}=a.useContext(S),{addHandover:f,closeHandover:y}=F({id:U.GLOBAL}),{onTxnStepExecuteNextTransaction:A}=Ft(l),[g,v]=a.useState(o),R=()=>{O(T)},b=()=>{try{c((e=>{p(e),m({payload:{type:h.UPDATE_VIEW,view:{type:Je.PAY_WITH_COINS}}})}),((e,t)=>{const n={transactionId:d?.transactionId};E(e.toString(),e,t,void 0,n),v(et.TRANSACTION_FAILED)}),A)}catch(e){v(et.SERVICE_BREAKDOWN)}},_={[et.TRANSACTION_FAILED]:{onActionClick:()=>{y(),i()},onSecondaryActionClick:n?()=>{window.open(r)}:R,statusType:Z.FAILURE,statusIconStyles:{fill:t.color.status.fatal.dim}},[et.SERVICE_BREAKDOWN]:{onSecondaryActionClick:R,statusType:Z.INFORMATION,statusIconStyles:{fill:t.color.status.fatal.dim}},[et.PRODUCT_NOT_FOUND]:{onSecondaryActionClick:R,statusType:Z.INFORMATION,statusIconStyles:{fill:t.color.status.fatal.dim}},[et.INSUFFICIENT_STOCK]:{onSecondaryActionClick:R,statusType:Z.INFORMATION,statusIconStyles:{fill:t.color.status.fatal.dim}},[et.TRANSAK_FAILED]:{onActionClick:()=>{y(),i()},onSecondaryActionClick:R,statusType:Z.INFORMATION},[et.WALLET_FAILED]:{onActionClick:()=>{G(u)?b():(y(),i())},onSecondaryActionClick:R,statusType:Z.INFORMATION,statusIconStyles:{fill:t.color.status.fatal.dim}},[et.WALLET_REJECTED_NO_FUNDS]:{onActionClick:()=>{y(),i()},onSecondaryActionClick:R,statusType:Z.INFORMATION},[et.WALLET_REJECTED]:{onActionClick:()=>{G(u)?b():(y(),i())},onSecondaryActionClick:R,statusType:Z.INFORMATION},[et.WALLET_POPUP_BLOCKED]:{onActionClick:()=>{G(u)?b():(y(),i())},onSecondaryActionClick:R,statusType:Z.INFORMATION},[et.FUNDING_ROUTE_EXECUTE_ERROR]:{onActionClick:()=>{y(),i()},onSecondaryActionClick:R,statusType:Z.INFORMATION},[et.INVALID_PARAMETERS]:{onSecondaryActionClick:R,statusType:Z.ALERT,statusIconStyles:{fill:t.color.status.attention.dim,transform:"none"}},[et.DEFAULT]:{onActionClick:()=>{y(),i()},onSecondaryActionClick:R,statusType:Z.INFORMATION}},w=()=>{const e=_[g||et.DEFAULT]||{},t=g===et.TRANSACTION_FAILED&&n?s(`views.SALE_FAIL.errors.${g}.secondaryAction`):s(`views.SALE_FAIL.errors.${et.DEFAULT}.secondaryAction`);return{headingText:s("views.PAYMENT_METHODS.handover.error.heading"),subheadingText:s(`views.SALE_FAIL.errors.${g}.description`),primaryButtonText:s(`views.SALE_FAIL.errors.${g}.primaryAction`),onPrimaryButtonClick:e?.onActionClick,secondaryButtonText:t,onSecondaryButtonClick:e?.onSecondaryActionClick}};return a.useEffect((()=>{l&&g&&f({animationUrl:W(l,Nt(xt.APPROVE)),inputValue:Mt.ERROR,children:e(Ut,{...w()})})}),[g,l]),null}function $t({balance:t,conversions:n,canOpen:a,onClick:r,onProceed:o,loading:s,priceDisplay:i}){const{t:c}=I(),{environment:d,config:{theme:l}}=It(),{token:u,userBalance:p,fundsRequired:E}=t.fundingItem,m=v(E.formattedAmount,u.symbol,n,""),T=v(p.formattedBalance,u.symbol,n,"");return x(ee,{sx:{w:"100%",bradtl:"base.borderRadius.x6",bradtr:"base.borderRadius.x6",px:"base.spacing.x4",pb:"base.spacing.x6",bg:"base.color.neutral.800",border:"0px solid transparent",borderTopWidth:"base.border.size.100",borderTopColor:"base.color.translucent.emphasis.400"},children:[x(j,{size:"medium",children:[e(j.FramedImage,{circularFrame:!0,use:e(Ye,{environment:d,theme:l,name:u.name,src:u.icon})}),e(j.Label,{children:c(`views.ORDER_SUMMARY.orderReview.payWith.${t.type}`,{symbol:u.symbol})}),e(j.Caption,{rc:e(B,{size:"xSmall"}),children:`${c("views.ORDER_SUMMARY.orderReview.balance",{amount:J(Q(p.formattedBalance))})} ${T?c("views.ORDER_SUMMARY.currency.fiat",{amount:J(Q(T))}):""}`}),i&&e(j.PriceDisplay,{use:e(B,{size:"xSmall"}),fiatAmount:m?c("views.ORDER_SUMMARY.currency.fiat",{amount:m}):void 0,price:Q(E.formattedAmount)}),a&&e(j.StatefulButtCon,{icon:"ChevronExpand",onClick:r}),!a&&s&&e(it,{radius:"base.icon.size.400"})]}),e(H,{size:"large",onClick:()=>o(t),children:c("views.ORDER_SUMMARY.orderReview.continue")})]})}const Xt=(e,t)=>e.filter((e=>e.amount.gt(0)&&e.token)).reduce(((e,n)=>{if(!n.token)return e;const a={...n.token,address:n.token.address||"",symbol:n.token.symbol||t?.symbol||""},r=ne(a.address,"...").toLowerCase(),o=a.symbol||r;if(!o)return e;if(e[o]){const t=e[o].amount.add(n.amount);return{...e,[o]:{...e[o],amount:t,formattedAmount:Le(t,a.decimals)}}}return o?{...e,[o]:{...n,token:a,formattedAmount:Le(n.amount,a.decimals)}}:e}),{}),Kt=e=>{if(e.type!==te.SWAP)return{};const t=[e.fees.approvalGasFee,e.fees.swapGasFee,...e.fees.swapFees];return Xt(t,e.fundingItem.token)},zt=(e,t,n)=>{const a=[];if(e.type!==te.SWAP)return[];const r=(e,r,o="~ ")=>{if(e.amount.gt(0)){const s=Le(e.amount,e?.token?.decimals);a.push({label:r,fiatAmount:`≈ ${n("drawers.feesBreakdown.fees.fiatPricePrefix")}${v(s,e.token?.symbol||"",t,"-.--",4)}`,amount:`${Q(s)}`,prefix:o,token:e?.token})}};r(e.fees.swapGasFee,n("drawers.feesBreakdown.fees.swapGasFee.label")),r(e.fees.approvalGasFee,n("drawers.feesBreakdown.fees.approvalFee.label"));return Object.entries(Xt(e.fees.swapFees,e.fundingItem.token)).forEach((([,e])=>{const t=e?.basisPoints??0;r(e,n("drawers.feesBreakdown.fees.swapSecondaryFee.label",{amount:t?t/100+"%":""}),"")})),a};function qt({rc:t=e("span",{}),balance:n,conversions:a,selected:r,onClick:o,size:s,environment:i,theme:c}){const{t:d}=I(),{token:l,userBalance:u}=n.fundingItem,p=v(u.formattedBalance,l.symbol,a,""),m=Object.entries(Kt(n));return x(j,{rc:t,sx:{mb:"base.spacing.x1"},size:s,emphasized:!0,...{onClick:o,selected:r},children:[e(j.FramedImage,{circularFrame:!0,alt:l.name,use:e(Ye,{environment:i,theme:c,name:l.name,src:l.icon})}),e(j.PriceDisplay,{use:e(B,{size:"xSmall"}),fiatAmount:p?d("views.ORDER_SUMMARY.currency.fiat",{amount:p}):void 0,price:Q(u.formattedBalance)}),e(j.Label,{sx:{display:"flex",wordBreak:"default"},children:l.symbol}),e(j.Caption,{children:m.length>0&&m.map((([t,{token:n,formattedAmount:a}])=>e(E,{rc:e("span",{}),sx:{d:"block"},children:d("views.ORDER_SUMMARY.coinsDrawer.fee",{symbol:n?.symbol||t,amount:J(Q(a))})},t)))})]})}function Zt({conversions:t,balances:n,selectedIndex:a,visible:r,loading:o,transactionRequirement:s,onClose:i,onSelect:c,onPayWithCard:d,disabledPaymentTypes:l,theme:u,environment:p}){const{t:m}=I();let T="medium";n.length>3&&(T="small");const f=[A.DEBIT,A.CREDIT],y=!f.every((e=>l?.includes(e)));return e(ae,{size:"full",visible:r,showHeaderBar:!0,onCloseDrawer:i,headerBarTitle:m("views.ORDER_SUMMARY.coinsDrawer.header"),children:e(ae.Content,{rc:e($.div,{variants:X,initial:"hidden",animate:"show"}),children:x(E,{sx:{height:"100%",display:"flex",flexDirection:"column",justifyContent:"space-between",px:"base.spacing.x4"},children:[x(E,{children:[x(E,{sx:{display:"flex",justifyContent:"space-between",mb:"base.spacing.x2"},children:[e(Ze,{size:"small",children:m("views.ORDER_SUMMARY.coinsDrawer.caption1")}),e(Ze,{size:"small",children:m("views.ORDER_SUMMARY.coinsDrawer.caption2")})]}),n?.map(((n,r)=>{return e(qt,{onClick:(o=r,()=>{c(o),i()}),balance:n,selected:a===r,conversions:t,transactionRequirement:s,size:T,theme:u,environment:p,rc:e($.div,{variants:K,custom:r})},`${n.fundingItem.token.symbol}-${n.type}`);var o})),o&&e($.div,{variants:K,custom:n.length,children:e(j,{shimmer:!0,emphasized:!0,size:T,testId:"funding-balance-item-shimmer"})},"funding-balance-item-shimmer")]}),d&&x(E,{sx:{pb:"base.spacing.x4"},rc:e($.div,{variants:K,custom:n.length+(o?1:0)}),children:[y&&e(re,{size:"small",rc:e(Ze,{}),sx:{my:"base.spacing.x4"},children:m("views.ORDER_SUMMARY.coinsDrawer.divider")}),e(Ht,{onClick:d,size:T,hideDisabledOptions:!0,paymentOptions:f,disabledOptions:l,captions:{[A.DEBIT]:m("views.PAYMENT_METHODS.options.debit.caption"),[A.CREDIT]:m("views.PAYMENT_METHODS.options.credit.caption")}})]})]})})})}function Jt({item:t,balance:n,pricing:a,conversions:r,size:o,sx:s,rc:i=e("span",{})}){const{t:c}=I(),{token:d}=n.fundingItem,l=a?.amount||0,u=v(l.toString(),d.symbol,r);return x(j,{rc:i,emphasized:!0,size:o||"medium",sx:{pointerEvents:"none",mb:"base.spacing.x1",...s},children:[e(j.FramedImage,{use:e(Ye,{src:t.image,name:t.name,defaultImage:t.image})}),e(j.Label,{children:t.name}),e(j.Caption,{children:c("views.ORDER_SUMMARY.orderItem.quantity",{qty:t.qty})}),l>0&&e(j.PriceDisplay,{use:e(B,{size:"xSmall"}),price:c("views.ORDER_SUMMARY.currency.price",{symbol:d.symbol,amount:Q(l)}),fiatAmount:c("views.ORDER_SUMMARY.currency.fiat",{amount:u})})]},t.name)}const Qt=(e,t,n)=>{if(!t)return;const a=e.toLowerCase(),r=oe[a]?.toLowerCase(),o=Object.values(t).find((e=>[a,r].includes(e.currency.toLowerCase())));if(o)return o;const s=n.get(a)||n.get(r);return s&&t.USDC?{currency:e,type:t.USDC.type,amount:t.USDC.amount/s}:void 0},en={mb:"0",bradbl:"0",bradbr:"0"};function tn({items:t,balance:n,pricing:a,conversions:r,children:o}){return x(E,{rc:e($.div,{variants:X,initial:"hidden",animate:"show"}),children:[t.map(((s,i)=>e(Jt,{item:s,balance:n,conversions:r,size:t.length>=3?"small":"medium",pricing:Qt(n.fundingItem.token.symbol,a?.[s.productId]?.pricing,r),sx:i===t.length-1&&o?en:void 0,rc:e($.div,{variants:K,custom:i})},s.name))),o]})}function nn({sx:t,swapFees:n,onFeesClick:a}){return e(He,{gasFeeFiatValue:n.fiatAmount,gasFeeToken:n.token,gasFeeValue:n.amount,fees:n.formattedFees,onFeesClick:a,sx:t,loading:!1})}function an({fundingBalances:t,conversions:n,collectionName:r,loadingBalances:o,transactionRequirement:s,onBackButtonClick:i,onPayWithCard:c,onProceedToBuy:d}){const{eventTargetState:{eventTarget:l}}=a.useContext(S),{t:u}=I(),{provider:p,items:m,orderQuote:T,disabledPaymentTypes:f,config:{theme:y,environment:C}}=It(),{sendSelectedPaymentToken:h,sendViewFeesEvent:A,sendPageView:g}=Pt(),[R,b]=a.useState(!1),[_,w]=a.useState(0),[D,P]=a.useState({token:void 0,amount:"",fiatAmount:"",formattedFees:[]}),N=a.useMemo((()=>t[_]),[t,_,p]);a.useEffect((()=>{if(!n?.size||!p)return;if(N.type!==te.SWAP)return;const[[,e]]=Object.entries(Kt(N));e&&e.token&&P({token:e.token,amount:e.formattedAmount,fiatAmount:v(e.formattedAmount,e.token.symbol,n),formattedFees:zt(N,n,u)})}),[N,n,p]),Fe((()=>{const e=t.map((e=>Dt(e,n)));g(Je.ORDER_SUMMARY,{subView:Qe.REVIEW_ORDER,tokens:e,items:m,collectionName:r})}),(()=>Boolean(m.length&&t.length&&!o&&n.size)),[m,t,o,n]);const M=m.length>1,F=!o&&N.type===te.SWAP;return x(L,{testId:"order-review",header:e(k,{showBack:!0,onCloseButtonClick:()=>O(l),onBackButtonClick:i,title:r}),bodyStyleOverrides:{display:"flex",flexDirection:"column",justifyContent:"space-between",height:"0"},children:[e(B,{size:"small",sx:{px:"base.spacing.x4",pb:"base.spacing.x4"},children:u("views.ORDER_SUMMARY.orderReview.heading")}),e(E,{sx:{display:"flex",flexDirection:"column",px:"base.spacing.x2",pb:"base.spacing.x8",flex:1,maxh:F?"45%":"60%",overflowY:"scroll",scrollbarWidth:"none",rowGap:"base.spacing.x4"},children:e(E,{sx:{px:"base.spacing.x2"},children:e(tn,{items:m,balance:N,pricing:T.products,conversions:n,children:!M&&F&&e(nn,{swapFees:D,sx:{bradtl:"0",bradtr:"0",brad:"base.borderRadius.x6",border:"0px solid transparent",borderTopWidth:"base.border.size.200",borderTopColor:"base.color.translucent.inverse.1000"},onFeesClick:()=>A(Je.ORDER_SUMMARY)})})})}),M&&F&&e(nn,{swapFees:D,sx:{mb:"-12px",bradtl:"base.borderRadius.x6",bradtr:"base.borderRadius.x6",border:"0px solid transparent",borderTopWidth:"base.border.size.100",borderTopColor:"base.color.translucent.emphasis.400"},onFeesClick:()=>A(Je.ORDER_SUMMARY)}),e($t,{onClick:()=>{b(!0)},onProceed:d,balance:N,conversions:n,canOpen:t.length>1,loading:o,priceDisplay:m.length>1}),e(Zt,{conversions:n,balances:t,onSelect:e=>{w(e),h(Qe.REVIEW_ORDER,t[e],n)},onClose:()=>{b(!1)},selectedIndex:_,visible:R,loading:o,onPayWithCard:c,transactionRequirement:s,disabledPaymentTypes:f,theme:y,environment:C})]})}const rn=(e,t)=>{const n=le(e.address)?e.symbol:e.address??"";return{...e,icon:ue(t,n)}},on=(e,t)=>{return{type:nt.SUFFICIENT,fundingItem:{type:se.ERC20,token:rn((n=e,n.current.type!==se.ERC721&&n.current.token),t),fundsRequired:{amount:e.required.balance,formattedAmount:e.required.formattedBalance},userBalance:{balance:e.current.balance,formattedBalance:e.current.formattedBalance}}};var n},sn=(e,t)=>{if(0===e.length)return[];const n=e.filter((e=>1===e.steps.length)),a=[se.ERC20,se.NATIVE];return n.flatMap((e=>e.steps.filter((e=>a.includes(e.fundingItem.type))))).map((e=>({...e,fundingItem:{...e.fundingItem,token:rn(e.fundingItem.token,t)}})))},cn=e=>{let t=[];const n=(a=e.name,(e,t)=>{const n=e.fundingItem&&e.fundingItem.token&&e.fundingItem.token.symbol===a?-1:0,r=t.fundingItem&&t.fundingItem.token&&t.fundingItem.token.symbol===a?-1:0;return n!==r?n-r:e.type===nt.SUFFICIENT&&t.type===nt.SUFFICIENT?0:e.type===nt.SUFFICIENT?-1:t.type===nt.SUFFICIENT?1:0});var a;return e=>(0===e.length||(t=Array.from(new Set([...t,...e])).sort(n)),t)},dn=e=>({...e,amount:f.from(0),formattedAmount:"0"}),ln=(e,t)=>e.map((e=>((e,t)=>{if(e.type!==te.SWAP)return e;if(!pe(t))return e;const n={...e.fees,approvalGasFee:dn(e.fees.approvalGasFee),swapGasFee:dn(e.fees.swapGasFee)};return{...e,fees:n}})(e,t))),un=async e=>{const{provider:t,checkout:n,currencies:a,baseCurrency:r,onFundingBalance:o,getAmountByCurrency:s,getIsGasless:i,onComplete:c,onFundingRequirement:d}=e,l=t?.getSigner(),u=await(l?.getAddress())||"",p=n.config.environment,E=cn(r),m=e=>{Array.isArray(e)&&e.length>0&&o(E(ln(e,t)))},T=e=>y(e,r.name),C=a.map((async e=>{const a=s(e);if(!a)return null;const r=((e,t,n)=>[{type:se.ERC20,tokenAddress:n,spenderAddress:t,amount:e}])(a,u,e.address),o=i()?void 0:{type:ie.GAS,gasToken:{type:ce.NATIVE,limit:f.from("30000000")}};return{currency:e,smartCheckoutResult:await n.smartCheckout({provider:t,itemRequirements:r,transactionOrGasAmount:o,routingOptions:{bridge:!1,onRamp:!1,swap:!0},fundingRouteFullAmount:!0,onComplete:T(e.name)?()=>{c?.(E([]))}:void 0,onFundingRoute:T(e.name)?e=>{m(sn([e],p))}:void 0})}})).filter(Boolean),h=await(async(e,t)=>{const n=e.map((async e=>{const n=await e;return t(n),n}));return await Promise.all(n)})(C,(({currency:e,smartCheckoutResult:t})=>{if(T(e.name)){const e=t.transactionRequirements[0];d(e)}t.sufficient&&m(((e,t)=>{if(!0===e.sufficient){const n=e.transactionRequirements.find((e=>e.type===se.ERC20));if(n&&n.type===se.ERC20)return[on(n,t)]}return!1===e.sufficient&&e?.router?.routingOutcome.type===de.ROUTES_FOUND?sn(e.router.routingOutcome.fundingRoutes,t):null})(t,p))}));return h},pn=()=>{const e=a.useRef(!1),{fromTokenAddress:t,orderQuote:n,provider:r,checkout:o,selectedCurrency:s}=It(),{cryptoFiatState:i}=a.useContext(Ue),[c,d]=a.useState(),[l,u]=a.useState([]),[p,E]=a.useState([]),[m,T]=a.useState(!1);return{fundingBalances:l,loadingBalances:m,fundingBalancesResult:p,transactionRequirement:c,queryFundingBalances:()=>{t&&r&&o&&n&&s&&(e.current||m||(async()=>{e.current=!0,T(!0);try{const e=await un({provider:r,checkout:o,currencies:n.currencies,routingOptions:{bridge:!1,onRamp:!1,swap:!0},baseCurrency:s,getAmountByCurrency:e=>{const t=Qt(e.name,n.totalAmount,i.conversions);return t?t.amount.toString():""},getIsGasless:()=>r.provider?.isPassport||!1,onFundingBalance:e=>{u([...e])},onComplete:()=>{T(!1)},onFundingRequirement:e=>{d(e)}});E(e)}catch{T(!1)}finally{e.current=!1}})())}}},En=e=>{if(e&&e.current.type!==se.ERC721)return e.current.token},mn=e=>{const t=e.find((({type:e})=>e===se.NATIVE)),n=e.find((({type:e})=>e===se.ERC20)),a={erc20:{value:n?.delta.formattedBalance,symbol:En(n)?.symbol},native:{value:t?.delta.formattedBalance,symbol:En(t)?.symbol}};let r=["views.PAYMENT_METHODS.topUp.subheading.erc20",a],o=n?.delta.formattedBalance||"0",s=En(n)?.address;return t&&n&&!t.sufficient&&!n.sufficient&&(r=["views.PAYMENT_METHODS.topUp.subheading.both",a]),t&&n&&!t.sufficient&&n.sufficient&&(o=t?.delta.formattedBalance||"0",s=En(t)?.address,r=["views.PAYMENT_METHODS.topUp.subheading.native",a]),{heading:["views.PAYMENT_METHODS.topUp.heading"],subheading:r,amount:o,tokenAddress:s}};var Tn;function fn({fundingRouteStep:t,onFundingRouteExecuted:n}){const{t:r}=I(),{config:o,provider:s,checkout:i,fromTokenAddress:c}=It(),{viewDispatch:d}=a.useContext(C),{connectLoaderDispatch:l}=a.useContext(Ee),[u,p]=a.useState(void 0),[E,m]=a.useState(void 0),[T,f]=a.useState(void 0),[y,A]=a.useState(Tn.LOADING),g=a.useRef(!1),v=a.useRef(void 0),R=a.useRef(void 0),[O,b]=a.useReducer(me,Te),_=a.useMemo((()=>({eventTargetState:O,eventTargetDispatch:b})),[O,b]),w=new EventTarget,D=e=>{d({payload:{type:h.UPDATE_VIEW,view:{type:Je.SALE_FAIL,data:{errorType:et.FUNDING_ROUTE_EXECUTE_ERROR,errorData:e}}}})},P=a.useCallback((async e=>{if(!i||!s)throw new Error("checkout or provider not available.");const t=await i.getNetworkInfo({provider:s});if(e.type===te.BRIDGE){if(m({tokenAddress:e.fundingItem.token.address,amount:e.fundingItem.fundsRequired.formattedAmount}),t.chainId===fe(i.config))return void A(Tn.EXECUTE_BRIDGE);g.current=Tn.EXECUTE_BRIDGE,A(Tn.SWITCH_NETWORK_ETH)}if(e.type===te.SWAP){if(p({amount:e.fundingItem.fundsRequired.formattedAmount,fromTokenAddress:e.fundingItem.token.address,toTokenAddress:c}),t.chainId===ye(i.config))return void A(Tn.EXECUTE_SWAP);g.current=Tn.EXECUTE_SWAP,A(Tn.SWITCH_NETWORK_ZKEVM)}e.type===te.ONRAMP&&(f({amount:e.fundingItem.fundsRequired.formattedAmount,tokenAddress:e.fundingItem.token.address}),A(Tn.EXECUTE_ON_RAMP))}),[s,i]);a.useEffect((()=>{if(t)try{P(t)}catch(e){D(e)}}),[t]);const k=()=>{v.current?(v.current=void 0,R.current=void 0,n()):D(R.current)},N=e=>{switch(e.detail.type){case Re.SUCCESS:{const t=e.detail.data;v.current=t,k();break}case Oe.TRANSACTION_SENT:case Se.SUCCESS:{const t=e.detail.data;v.current=t;break}case Oe.FAILURE:case Re.FAILURE:case Se.FAILURE:{const t=e.detail.data;R.current=t;break}case Oe.CLOSE_WIDGET:case Re.CLOSE_WIDGET:case Se.CLOSE_WIDGET:k();case Re.REJECTED:}},M=e=>{switch(e.detail.type){case be.SUCCESS:{const t=e.detail.data;l({payload:{type:_e.SET_PROVIDER,provider:t.provider}}),!1!==g.current&&(A(g.current),g.current=!1);break}case be.FAILURE:case be.CLOSE_WIDGET:default:k()}};return a.useEffect((()=>(w.addEventListener(Ce.IMTBL_CONNECT_WIDGET_EVENT,M),w.addEventListener(Ce.IMTBL_BRIDGE_WIDGET_EVENT,N),w.addEventListener(Ce.IMTBL_SWAP_WIDGET_EVENT,N),()=>{w.removeEventListener(Ce.IMTBL_CONNECT_WIDGET_EVENT,M),w.removeEventListener(Ce.IMTBL_BRIDGE_WIDGET_EVENT,N),w.removeEventListener(Ce.IMTBL_SWAP_WIDGET_EVENT,N)})),[]),a.useEffect((()=>{b({payload:{type:he.SET_EVENT_TARGET,eventTarget:w}})}),[i]),x(S.Provider,{value:_,children:[y===Tn.LOADING&&e(Ae,{loadingText:r("views.ORDER_SUMMARY.loading.balances")}),y===Tn.EXECUTE_BRIDGE&&e(Ge,{...E,config:o,checkout:i}),y===Tn.EXECUTE_SWAP&&e(je,{...u,config:o}),y===Tn.EXECUTE_ON_RAMP&&e(Me,{config:o,...T}),y===Tn.SWITCH_NETWORK_ETH&&e(ve,{config:o,targetChainId:i.config.isProduction?ge.ETHEREUM:ge.SEPOLIA,web3Provider:s,checkout:i,deepLink:Ie.SWITCH_NETWORK}),y===Tn.SWITCH_NETWORK_ZKEVM&&e(ve,{config:o,targetChainId:i.config.isProduction?ge.IMTBL_ZKEVM_MAINNET:ge.IMTBL_ZKEVM_TESTNET,web3Provider:s,checkout:i,deepLink:Ie.SWITCH_NETWORK})]})}function yn({text:t,duration:n,animationUrl:a,inputValue:r=0}){const{addHandover:o}=F({id:U.GLOBAL});return Fe((()=>{o({duration:n,animationUrl:a,inputValue:r,children:e(B,{sx:{px:"base.spacing.x6"},children:t})})})),null}function Cn({subView:t}){const{t:n}=I(),{sendProceedToPay:r}=Pt(),{fromTokenAddress:o,collectionName:s,goToErrorView:i,goBackToPaymentMethods:c,sign:d,selectedCurrency:l,setPaymentMethod:u,environment:p}=It(),{viewDispatch:m,viewState:T}=a.useContext(C),{cryptoFiatDispatch:f,cryptoFiatState:y}=a.useContext(Ue),{addHandover:A,closeHandover:g}=F({id:U.GLOBAL}),v=t=>{A({animationUrl:W(p,Nt(xt.APPROVE)),inputValue:Lt[xt.APPROVE].inputValues.start,children:e(B,{sx:{px:"base.spacing.x6"},children:n("views.PAYMENT_METHODS.handover.initial")})}),d(tt.CRYPTO,t),m({payload:{type:h.UPDATE_VIEW,view:{type:Je.PAY_WITH_COINS}}})},R=()=>{v(l?.address)},{fundingBalances:S,loadingBalances:O,fundingBalancesResult:b,transactionRequirement:_,queryFundingBalances:w}=pn();return a.useEffect((()=>{t===Qe.INIT&&o&&w()}),[t,o]),a.useEffect((()=>{0!==S.length&&(g(),m({payload:{type:h.UPDATE_VIEW,view:{type:Je.ORDER_SUMMARY,subView:Qe.REVIEW_ORDER}}}))}),[S]),a.useEffect((()=>{if(!O&&b.length&&!(S.length>0))try{const e=b.find((e=>e.currency.base))?.smartCheckoutResult,t=mn(e.transactionRequirements);u(void 0),g(),m({payload:{type:h.UPDATE_VIEW,view:{type:z.TOP_UP_VIEW,data:t}}})}catch(e){i(et.SERVICE_BREAKDOWN,e)}}),[S,O,b]),a.useEffect((()=>{if(!f||0===S.length||O)return;const e=S.map((({fundingItem:e})=>e.token.symbol));f({payload:{type:We.SET_TOKEN_SYMBOLS,tokenSymbols:e}})}),[f,S,O]),x(E,{children:[t===Qe.INIT&&e(yn,{text:n("views.ORDER_SUMMARY.loading.balances"),animationUrl:W(p,"/preparing_order.riv"),inputValue:0}),t===Qe.REVIEW_ORDER&&e(an,{fundingBalances:S,conversions:y.conversions,collectionName:s,loadingBalances:O,onBackButtonClick:c,onProceedToBuy:e=>{const{type:t,fundingItem:n}=e;r(Je.ORDER_SUMMARY,e,y.conversions),t!==nt.SUFFICIENT?(g(),m({payload:{type:h.UPDATE_VIEW,view:{type:Je.ORDER_SUMMARY,subView:Qe.EXECUTE_FUNDING_ROUTE,data:{fundingBalance:e,onFundingRouteExecuted:R}}}})):v(n.token.address)},transactionRequirement:_,onPayWithCard:e=>c(e)}),t===Qe.EXECUTE_FUNDING_ROUTE&&e(fn,{fundingRouteStep:T.view.data.fundingBalance,onFundingRouteExecuted:R})]})}function hn(){return e(E,{testId:"credit-card-warning-hero",children:e(E,{children:x("svg",{width:"430",height:"161",viewBox:"0 0 430 161",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e("path",{d:"M172.973 133.128C171.472 132.262 170.399 130.653 170.399 128.67V91.134C170.399 87.4566 171.381 83.9165 173.158 80.8356C174.934 77.7546 177.509 75.137 180.697 73.2962L199.556 62.4057L231.623 44.1673C233.339 43.1761 235.27 43.3005 236.772 44.1673L229.34 39.8763C227.838 39.0095 225.907 38.8851 224.191 39.8763L192.124 58.1147L173.265 69.0052C170.077 70.8461 166.889 72.6253 165.112 75.7062C163.336 78.7872 162.967 83.1656 162.967 86.843V124.379C162.967 126.361 164.04 127.971 165.541 128.837L172.973 133.128Z",fill:"#F3F3F3",stroke:"#131313",strokeWidth:"1.64647",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"M239.133 48.6725V85.9384C239.133 96.0882 236.344 99.3065 228.835 103.776L178.124 133.123C174.691 135.105 170.4 132.629 170.4 128.665V91.3985C170.4 82.7861 172.193 78.066 180.698 73.5609L231.409 44.2142C234.842 42.2317 239.133 44.7076 239.133 48.6725Z",fill:"#F3F3F3",stroke:"#131313",strokeWidth:"1.64647",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"M172.973 133.127C171.472 132.26 170.399 130.651 170.399 128.668V91.3681C170.399 87.6907 170.631 83.7216 172.407 80.6406L164.975 76.3496C163.198 79.4306 162.967 83.3997 162.967 87.0771L162.967 124.377C162.967 126.36 164.04 127.969 165.541 128.836L172.973 133.127Z",fill:"#131313",stroke:"#131313",strokeWidth:"1.64647",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"M170.261 125.267V114.74L239.346 75.0625V85.3194L170.261 125.267Z",fill:"#0D0D0D",stroke:"black",strokeWidth:"0.823233"}),x("g",{clipPath:"url(#clip0_1548_70742)",children:[e("path",{d:"M228.362 71.9146C219.392 76.9925 219.392 93.5869 228.362 108.975C237.331 124.363 251.872 132.721 260.842 127.643L249.638 134.081C240.669 139.159 226.128 130.802 217.158 115.414C208.189 100.026 208.189 83.4311 217.158 78.3532L228.362 71.9146Z",fill:"black",stroke:"black",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"M228.361 71.9146C219.392 76.9925 219.392 93.5869 228.361 108.975C237.331 124.363 251.872 132.721 260.841 127.643C269.811 122.565 269.811 105.97 260.841 90.5822C251.872 75.194 237.331 66.8367 228.361 71.9146ZM234.856 83.0619C239.099 80.6582 245.416 83.268 250.539 89.0026L232.165 99.4117C229.72 92.1618 230.612 85.4657 234.856 83.0619ZM254.343 116.5C250.1 118.904 243.782 116.294 238.659 110.559L257.034 100.15C259.479 107.4 258.586 114.096 254.343 116.5Z",fill:"#FAFD7E",stroke:"black",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"M234.856 83.0618C239.099 80.658 245.417 83.2678 250.54 89.0024L232.165 99.4115C229.72 92.1617 230.613 85.4655 234.856 83.0618Z",fill:"#FAFD7E",stroke:"black",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"M254.347 116.5C250.104 118.903 243.787 116.294 238.664 110.559L257.038 100.15C259.483 107.4 258.591 114.096 254.347 116.5Z",fill:"#FAFD7E",stroke:"black",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"M232.165 99.4115C230.94 95.7844 230.552 92.299 231.001 89.4188C231.449 86.5386 232.734 84.2636 234.856 83.0618C236.977 81.8599 239.617 81.9114 242.368 82.9802L232.165 99.4115Z",fill:"black",stroke:"black",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"M246.835 116.581C244.084 115.513 241.225 113.426 238.664 110.559L247.853 105.357L257.042 100.154L246.84 116.586L246.835 116.581Z",fill:"black",stroke:"black",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),e("defs",{children:e("clipPath",{id:"clip0_1548_70742",children:e("rect",{width:"58",height:"66",fill:"white",transform:"translate(210 70)"})})})]})})})}function An(){const{t:t}=I(),{showCreditCardWarning:n,setShowCreditCardWarning:a,setPaymentMethod:r}=It();return e(ae,{size:"threeQuarter",visible:n,showHeaderBar:!1,children:x(ae.Content,{children:[e(we,{icon:"Close",variant:"tertiary",sx:{pos:"absolute",top:"base.spacing.x5",left:"base.spacing.x5",backdropFilter:"blur(30px)"},onClick:()=>a(!1)}),e(hn,{}),x(E,{sx:{px:"base.spacing.x12"},children:[e(B,{sx:{marginTop:"base.spacing.x6",marginBottom:"base.spacing.x2",textAlign:"center"},children:t("views.PAYMENT_METHODS.creditCardWarningDrawer.heading")}),e(Y,{size:"medium",sx:{display:"block",textAlign:"center",color:"base.color.text.body.secondary",marginBottom:"base.spacing.x13"},children:t("views.PAYMENT_METHODS.creditCardWarningDrawer.body")}),e(H,{sx:{width:"100%"},testId:"credit-card-button",variant:"primary",size:"large",onClick:()=>{r(A.CREDIT)},children:t("views.PAYMENT_METHODS.creditCardWarningDrawer.ctaButton")})]})]})})}function gn(t){const{t:n}=I(),{config:r,items:o,environmentId:s,collectionName:i,excludePaymentTypes:c,excludeFiatCurrencies:d,preferredCurrency:l,hideExcludedPaymentTypes:u,waitFulfillmentSettlements:p=!0}=t,{connectLoaderState:E}=a.useContext(Ee),{checkout:m,provider:T}=E,f=a.useRef(),{eventTargetState:{eventTarget:y}}=a.useContext(S),{theme:A}=r,v=a.useMemo((()=>De(A)),[A]),[R,b]=a.useReducer(Pe,ke),_=a.useMemo((()=>({viewState:R,viewDispatch:b})),[R,b]),w=R.view.data?.loadingText||n("views.LOADING_VIEW.text");a.useEffect((()=>{m&&T&&(async()=>{const e=await m.getNetworkInfo({provider:T});f.current=e.chainId})()}),[m,T]);const D=a.useRef(!1),P=a.useCallback((()=>{m&&T&&(D.current||(D.current=!0,b({payload:{type:h.UPDATE_VIEW,view:{type:Je.PAYMENT_METHODS}}})))}),[m,T]);return a.useEffect((()=>{m&&T&&P()}),[m,T]),e(C.Provider,{value:_,children:e(gt,{value:{config:r,items:o,environment:r.environment,environmentId:s,provider:T,checkout:m,passport:m?.passport,collectionName:i,excludePaymentTypes:c,excludeFiatCurrencies:d,preferredCurrency:l,waitFulfillmentSettlements:p,hideExcludedPaymentTypes:u},children:x(Ve,{environment:r.environment,children:[R.view.type===z.LOADING_VIEW&&e(Ae,{loadingText:w}),R.view.type===Je.PAYMENT_METHODS&&e(Gt,{}),R.view.type===Je.PAY_WITH_CARD&&e(kt,{}),R.view.type===Je.PAY_WITH_COINS&&e(Bt,{}),R.view.type===Je.SALE_FAIL&&e(jt,{biomeTheme:v,errorType:R.view.data?.errorType,transactionHash:R.view.data?.transactionHash,blockExplorerLink:xe.getTransactionLink(f.current,R.view.data?.transactionHash)}),R.view.type===Je.ORDER_SUMMARY&&e(Cn,{subView:R.view.subView}),R.view.type===z.TOP_UP_VIEW&&e(Be,{analytics:{userJourney:g.SALE},widgetEvent:Ce.IMTBL_SALE_WIDGET_EVENT,checkout:m,provider:T,showOnrampOption:r.isOnRampEnabled,showSwapOption:!1,showBridgeOption:r.isBridgeEnabled,onCloseButtonClick:()=>O(y),onBackButtonClick:()=>{b({payload:{type:h.UPDATE_VIEW,view:{type:Je.PAYMENT_METHODS}}})},amount:R.view.data?.amount,tokenAddress:R.view.data?.tokenAddress,heading:R.view.data?.heading,subheading:R.view.data?.subheading}),e(An,{})]})})})}!function(e){e.LOADING="LOADING",e.EXECUTE_SWAP="EXECUTE_SWAP",e.EXECUTE_BRIDGE="EXECUTE_BRIDGE",e.EXECUTE_ON_RAMP="EXECUTE_ON_RAMP",e.SWITCH_NETWORK_ETH="SWITCH_NETWORK_ETH",e.SWITCH_NETWORK_ZKEVM="SWITCH_NETWORK_ZKEVM"}(Tn||(Tn={}));export{gn as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as o,ab as e,a as t,ac as n,ad as r,n as i}from"./index-160882ca.js";function C(){return o(t,{sx:{...e,background:"base.color.translucent.emphasis.100"},children:o(t,{sx:{...n,...r},children:i("svg",{width:"430",height:"305",viewBox:"0 0 430 305",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[o("path",{d:"M94.0614 105.632L93.6321 104L92 104.429L92.4292 106.061L94.0614 105.632Z",fill:"white"}),o("path",{d:"M63.6531 193.101L63.1006 191L60.9996 191.553L61.5521 193.654L63.6531 193.101Z",fill:"white"}),o("path",{d:"M344.489 224.345L342.345 224L342 226.145L344.144 226.49L344.489 224.345Z",fill:"white"}),o("path",{d:"M372.286 139.905L372.905 138.619L371.619 138L371 139.286L372.286 139.905Z",fill:"white"}),o("path",{d:"M341.653 78.101L341.101 76L339 76.5525L339.552 78.6535L341.653 78.101Z",fill:"white"}),o("path",{d:"M359.286 242.905L359.905 241.619L358.619 241L358 242.286L359.286 242.905Z",fill:"white"}),o("path",{d:"M87.0123 112.087L86.0869 111L85.0002 111.925L85.9256 113.012L87.0123 112.087Z",fill:"white"}),o("path",{d:"M84.2862 248.905L84.9053 247.619L83.6192 247L83.0001 248.286L84.2862 248.905Z",fill:"white"}),o("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("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("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("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("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("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("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("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("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("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("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("path",{d:"M206.398 211.015C211.246 210.028 215.255 208.497 217.905 206.625",stroke:"#A66CFF",strokeLinecap:"round",strokeLinejoin:"round"}),o("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("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("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("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("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("path",{d:"M206.398 203.291C211.246 202.304 215.255 200.774 217.905 198.901",stroke:"white",strokeLinecap:"round",strokeLinejoin:"round"}),o("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("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("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("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("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("path",{d:"M206.398 195.569C211.246 194.582 215.255 193.052 217.905 191.179",stroke:"white",strokeLinecap:"round",strokeLinejoin:"round"}),o("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("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("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("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("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("path",{d:"M251.375 219.437C256.223 218.45 260.232 216.919 262.882 215.047",stroke:"white",strokeLinecap:"round",strokeLinejoin:"round"}),o("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("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("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("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("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("path",{d:"M251.375 211.713C256.223 210.726 260.232 209.195 262.882 207.323",stroke:"white",strokeLinecap:"round",strokeLinejoin:"round"}),o("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("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("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("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("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("path",{d:"M251.375 203.99C256.223 203.004 260.232 201.473 262.882 199.601",stroke:"white",strokeLinecap:"round",strokeLinejoin:"round"}),o("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("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("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("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("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("path",{d:"M245.426 196.182C250.274 195.195 254.283 193.664 256.932 191.792",stroke:"white",strokeLinecap:"round",strokeLinejoin:"round"}),o("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("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("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("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("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("path",{d:"M253.763 186.525C258.612 185.538 262.621 184.007 265.27 182.135",stroke:"white",strokeLinecap:"round",strokeLinejoin:"round"}),o("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("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("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("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("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("path",{d:"M202.685 230.306C207.533 229.32 211.542 227.789 214.191 225.917",stroke:"white",strokeLinecap:"round",strokeLinejoin:"round"}),o("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{C as S};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{l as e,b7 as t,b8 as o,n as a,b9 as n,a as s,ba as r,j as i,o as d,bb as l,r as c,at as p,V as u,q as m,t as w,d as f,U as y,x as T,p as E,w as g,K as v,L as A,bc as S,a7 as x,bd as h,H as b,be as I,bf as k,Y as C,A as P,aV as R,v as _,bg as F,G as W,bh as O,bi as D,bj as N,bk as L,z as V,aD as B,bl as U,bm as M,bn as q,E as j,$ as G,bo as z,a3 as H,bp as $,aj as J,ae as K,bq as X,ah as Q,ai as Y,T as Z,R as ee,br as te,bs as oe,bt as ae,bu as ne,aL as se,bv as re,bw as ie,ak as de,I as le}from"./index-160882ca.js";import{S as ce,T as pe,a as ue,F as me,N as we,W as fe,g as ye}from"./balance-02a997c2.js";import{p as Te,S as Ee,f as ge,C as ve,a as Ae,c as Se,T as xe,b as he}from"./TopUpView-07d43ea1.js";import{u as be}from"./retry-f0ac2e4f.js";import{S as Ie}from"./SpendingCapHero-617b015a.js";function ke({theme:c,environment:p}){const{t:u}=e(),m=c===t.DARK?o(p,"/quickswapdark.webp"):o(p,"/quickswaplight.webp");return a(s,{testId:"quickswap-footer-container",sx:n,children:[a(s,{testId:"quickswap-logo",sx:r,children:[i(d,{size:"xSmall",sx:{paddingRight:"base.spacing.x1"},children:"By"}),i("img",{style:{height:"26px"},alt:"Quickswap logo",src:m})]}),i(d,{testId:"quickswap-footer-disclaimer-text",size:"xSmall",sx:l,children:u("footers.quickswapFooter.disclaimerText")})]})}const Ce={exchange:null,walletProviderName:null,network:null,tokenBalances:[],supportedTopUps:null,allowedTokens:[]};var Pe;!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"}(Pe||(Pe={}));const Re=c.createContext({swapState:Ce,swapDispatch:()=>{}});Re.displayName="SwapContext";const _e=(e,t)=>{switch(t.payload.type){case Pe.SET_EXCHANGE:return{...e,exchange:t.payload.exchange};case Pe.SET_WALLET_PROVIDER_NAME:return{...e,walletProviderName:t.payload.walletProviderName};case Pe.SET_NETWORK:return{...e,network:t.payload.network};case Pe.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 Pe.SET_TOKEN_BALANCES:return{...e,tokenBalances:t.payload.tokenBalances};case Pe.SET_ALLOWED_TOKENS:return{...e,allowedTokens:t.payload.allowedTokens};default:return e}},Fe={fromAmountIn:async(e,t,o,a,n)=>{const s=await t.getSigner().getAddress();return e.getUnsignedSwapTxFromAmountIn(s,o.address,n.address,p.from(Te(a,o.decimals)))},fromAmountOut:async(e,t,o,a,n)=>{const s=await t.getSigner().getAddress();return e.getUnsignedSwapTxFromAmountOut(s,n.address,o.address,p.from(Te(a,o.decimals)))}},We={display:"flex",flexDirection:"row",justifyContent:"space-between",columnGap:"base.spacing.x1"},Oe={flex:1},De={flex:2};function Ne({testId:e,options:t,textInputValue:o,textInputPlaceholder:n,textInputValidator:r,textInputType:d,onTextInputChange:l,onTextInputBlur:c,onTextInputFocus:p,textInputTextAlign:u,textInputSubtext:m,textInputErrorMessage:w,testInputMode:f,selectTextAlign:y,selectSubtext:T,selectErrorMessage:E,textInputMaxButtonClick:g,onSelectChange:v,textInputDisabled:A,selectInputDisabled:S,selectedOption:x,coinSelectorHeading:h,defaultTokenImage:b,environment:I,theme:k}){return a(s,{sx:We,children:[i(s,{sx:Oe,children:i(ce,{testId:`${e}-select-form`,options:t,subtext:T,textAlign:y,errorMessage:E,onSelectChange:v,disabled:S,selectedOption:x,coinSelectorHeading:h,defaultTokenImage:b,environment:I,theme:k})}),i(s,{sx:De,children:i(pe,{type:d,testId:`${e}-text-form`,value:o,placeholder:n,subtext:m,textAlign:u,errorMessage:w,validator:r,onTextInputChange:l,onTextInputBlur:c,onTextInputFocus:p,maxButtonClick:g,disabled:A,inputMode:f})})]})}const Le={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6",paddingX:"base.spacing.x4"},Ve={width:"base.icon.size.400"};function Be({loading:t,updateLoading:o,validator:n,transaction:r,data:d,insufficientFundsForGas:l,openNotEnoughImxDrawer:S,openNetworkSwitchDrawer:x}){const{t:h}=e(),[b,I]=c.useState(!1),{viewDispatch:k}=c.useContext(u),{connectLoaderState:C}=c.useContext(m),{checkout:P,provider:R}=C,{track:_}=w(),F=async()=>{const e=n();if(_({userJourney:y.SWAP,screen:"SwapCoins",control:"Swap",controlType:"Button",extras:{swapFromAddress:d?.fromTokenAddress,swapFromAmount:d?.fromAmount,swapFromTokenSymbol:d?.fromTokenSymbol,swapToAddress:d?.toTokenAddress,swapToAmount:d?.toAmount,swapToTokenSymbol:d?.toTokenSymbol,isSwapFormValid:e,hasFundsForGas:!l}}),e&&P&&R&&r)if(l)S();else{try{const e=await R.provider.request({method:"eth_chainId",params:[]});if(parseInt(e.toString())!==T(P.config))return void x()}catch(e){console.error("Current network check failed",e)}if(r)try{o(!0);const e={fromAmount:d?.fromAmount||"",fromTokenAddress:d?.fromTokenAddress||"",toTokenAddress:d?.toTokenAddress||"",toAmount:d?.toAmount||""};if(r.approval)return void k({payload:{type:E.UPDATE_VIEW,view:{type:Ee.APPROVE_ERC20,data:{approveTransaction:r.approval.transaction,transaction:r.swap.transaction,info:r.quote,swapFormInfo:e}}}});const t=await P.sendTransaction({provider:R,transaction:{...r.swap.transaction,gasPrice:g(R)?p.from(0):void 0}});k({payload:{type:E.UPDATE_VIEW,view:{type:Ee.IN_PROGRESS,data:{transactionResponse:t.transactionResponse,swapForm:e}}}})}catch(e){if(console.error(e),o(!1),e.type===v.USER_REJECTED_REQUEST_ERROR)return void I(!0);if(e.type===v.UNPREDICTABLE_GAS_LIMIT)return void k({payload:{type:E.UPDATE_VIEW,view:{type:Ee.PRICE_SURGE,data:d}}});if(e.type===v.TRANSACTION_FAILED||e.type===v.INSUFFICIENT_FUNDS||e.receipt&&0===e.receipt.status)return void k({payload:{type:E.UPDATE_VIEW,view:{type:Ee.FAIL,reason:"Transaction failed",data:d}}});k({payload:{type:E.UPDATE_VIEW,view:{type:A.ERROR_VIEW,error:e}}})}}};return a(s,{sx:Le,children:[i(f,{testId:"swap-button",disabled:t,variant:"primary",onClick:F,size:"large",children:t?i(f.Icon,{icon:"Loading",sx:Ve}):h("views.SWAP.swapForm.buttonText")}),i(ue,{visible:b,showHeaderBar:!1,onCloseDrawer:()=>I(!1),onRetry:()=>{F(),I(!1)}})]})}const Ue={display:"flex",flexDirection:"column",alignItems:"center",paddingTop:"base.spacing.x6",paddingBottom:"base.spacing.x1",height:"100%"},Me={color:"base.color.text.body.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"base.spacing.x4"},qe={display:"flex",flexDirection:"column",justifyContent:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},je={width:"100%",height:"base.spacing.x16"},Ge={display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",paddingTop:"base.spacing.x6"};function ze({environment:t,visible:o,showAdjustAmount:n,hasZeroImx:r,onCloseDrawer:l,onAddCoinsClick:c}){const{t:p}=e(),u=S(t);return i(x,{size:"full",onCloseDrawer:l,visible:o,showHeaderBar:!1,children:i(x.Content,{children:a(s,{testId:"not-enough-gas-bottom-sheet",sx:Ue,children:[i(h,{sx:{w:"base.icon.size.600",h:"base.icon.size.600"},use:i("img",{src:u,alt:p(`drawers.notEnoughImx.content.${r?"noImx":"insufficientImx"}.heading`)})}),i(b,{size:"small",sx:Me,testId:"not-enough-gas-heading",children:p(`drawers.notEnoughImx.content.${r?"noImx":"insufficientImx"}.heading`)}),i(d,{sx:Me,children:p(`drawers.notEnoughImx.content.${r?"noImx":"insufficientImx"}.body`)}),a(s,{sx:qe,children:[n&&i(f,{testId:"not-enough-gas-adjust-amount-button",sx:je,variant:"tertiary",onClick:l,children:p("drawers.notEnoughImx.buttons.adjustAmount")}),i(f,{testId:"not-enough-gas-add-imx-button",sx:je,variant:"tertiary",onClick:c,children:p("drawers.notEnoughImx.buttons.addMoreImx")}),i(f,{sx:je,variant:"tertiary",onClick:l,testId:"not-enough-gas-cancel-button",children:p("drawers.notEnoughImx.buttons.cancel")})]}),i(s,{sx:Ge,children:i(I,{testId:"footer-logo-image",logo:"ImmutableHorizontalLockup",sx:{width:"base.spacing.x25"}})})]})})})}const He={display:"flex",flexDirection:"column",alignItems:"center",paddingTop:"base.spacing.x6",paddingBottom:"base.spacing.x4",paddingX:"base.spacing.x4",height:"100%"},$e={color:"base.color.text.body.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"base.spacing.x4"},Je={display:"flex",flexDirection:"column",justifyContent:"flex-end",alignItems:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},Ke={width:"100%",height:"base.spacing.x16",marginBottom:"base.spacing.x16"},Xe={display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",paddingTop:"base.spacing.x6"},Qe={width:"base.icon.size.600",fill:"base.color.status.fatal.bright"};function Ye({visible:t,onCloseDrawer:o}){const{t:n}=e();return i(x,{size:"full",onCloseDrawer:o,visible:t,showHeaderBar:!1,children:i(x.Content,{children:a(s,{testId:"unable-to-swap-bottom-sheet",sx:He,children:[i(k,{icon:"Alert",testId:"unable-to-swap-icon",variant:"bold",sx:Qe}),i(b,{size:"small",sx:$e,testId:"unable-to-swap-heading",children:n("drawers.unableToSwap.heading")}),i(d,{sx:$e,children:n("drawers.unableToSwap.body")}),i(s,{sx:Je,children:i(f,{sx:Ke,variant:"tertiary",onClick:o,testId:"unable-to-swap-cancel-button",children:n("drawers.unableToSwap.buttons.cancel")})}),i(s,{sx:Xe,children:i(I,{testId:"footer-logo-image",logo:"ImmutableHorizontalLockup",sx:{width:"base.spacing.x25"}})})]})})})}const Ze=(e,t=500)=>{const[o,a]=c.useState(e);return c.useEffect((()=>{const o=setTimeout((()=>{a(e)}),t);return()=>{clearTimeout(o)}}),[e,t]),o};class et{static id=0;promiseId=0;promise;isCancelled=!1;onCancel=null;rejectPromise=()=>{};constructor(e){et.id+=1,this.promiseId=et.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 et(((t,o)=>{Promise.all(e.map((e=>e instanceof et?e.promise:e))).then(t,o)}))}then(e,t){return new et(((o,a)=>{this.promise.then((t=>o(e?e(t):t)),(e=>t?o(t(e)):a(e)))}))}catch(e){return this.then(void 0,e)}finally(e){return new et(((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}}const tt=(e,t,o)=>{const a=[];if(!e.swap)return a;const n=(e,n,s="≈ ")=>{const r=p.from(e?.value??0);if(e&&r.gt(0)){const i=ge(r,e.token.decimals);a.push({label:n,fiatAmount:`≈ ${o("drawers.feesBreakdown.fees.fiatPricePrefix")}${C(i,e.token.symbol||"",t.conversions)}`,amount:`${P(i)}`,prefix:s,token:e.token})}};return e.swap&&e.swap.gasFeeEstimate&&n(e.swap.gasFeeEstimate,o("drawers.feesBreakdown.fees.swapGasFee.label")),e.approval&&e.approval.gasFeeEstimate&&n(e.approval.gasFeeEstimate,o("drawers.feesBreakdown.fees.approvalFee.label")),e.quote?.fees?.forEach((e=>{n(e.amount,o("drawers.feesBreakdown.fees.swapSecondaryFee.label",{amount:e.basisPoints/100+"%"}),"")})),a},ot=(e,t)=>{if(!R(e))return t;const o={...t};return o.swap?.gasFeeEstimate&&(o.swap.gasFeeEstimate.value=p.from(0)),o.approval?.gasFeeEstimate&&(o.approval.gasFeeEstimate.value=p.from(0)),o},at=(e,t)=>{if(!t.quote.fees)return t;const o=t.quote.fees.map((t=>t.amount.token.symbol?t:{...t,amount:{...t.amount,token:{...t.amount.token,symbol:e.address===t.amount.token.address?e.symbol:t.amount.token.symbol}}}));return{...t,quote:{...t.quote,fees:o}}},nt=(e,t)=>{if(!t.quote.amount&&!t.quote.amountWithMaxSlippage)return t;const o={...t.quote.amount,token:{...t.quote.amount.token,symbol:e.address===t.quote.amount.token.address?e.symbol:t.quote.amount.token.symbol}},a={...t.quote.amountWithMaxSlippage,token:{...t.quote.amountWithMaxSlippage.token,symbol:e.address===t.quote.amountWithMaxSlippage.token.address?e.symbol:t.quote.amountWithMaxSlippage.token.symbol}};return{...t,quote:{...t.quote,amount:o,amountWithMaxSlippage:a}}},st=(e,t,o,a,n)=>{const s=o.quote.fees[0],r=t,i=o.quote.amount.token,d=parseFloat(e),l=Te(d.toString(),r.decimals),c=p.from(o.quote.amount.value),u=r.decimals,m=o.quote.amount.token.decimals,w=Math.max(u,m),f=p.from("10").pow(w-u),y=p.from("10").pow(w-m),T=l.mul(f),E=c.mul(y),g=E.div(T),v=E.mod(T),A=p.from("10").pow(w),S=v.mul(A).div(T),x=g.mul(A).add(S),h=_(P(ge(x,w)),!0);return n(a,{fromSymbol:r.symbol,toSymbol:i.symbol,rate:h,fee:(s?.basisPoints??0)/100})};var rt;!function(e){e.FROM="FROM",e.TO="TO"}(rt||(rt={}));const it=(e,t)=>void 0!==e&&(""!==e&&t!==e);let dt;function lt({data:t,theme:o}){const{t:n}=e(),{swapState:{allowedTokens:r,exchange:d,tokenBalances:l,network:f}}=c.useContext(Re),{connectLoaderState:v}=c.useContext(m),{checkout:S,provider:x}=v,h=F(S?.config.environment,o),I=c.useCallback(((e,t)=>W(t)?O:`${e.toLowerCase()}-${t.toLowerCase()}`),[]),{cryptoFiatState:R,cryptoFiatDispatch:j}=c.useContext(ve),{viewDispatch:G}=c.useContext(u),[z,H]=c.useState(rt.FROM),[$,J]=c.useState(!1),{track:K}=w(),[X,Q]=c.useState(t?.fromAmount||""),[Y,Z]=c.useState(""),ee=Ze(X,U),[te,oe]=c.useState(),[ae,ne]=c.useState(""),[se,re]=c.useState(""),[ie,de]=c.useState(0),[le,ce]=c.useState(t?.toAmount||""),[pe,ue]=c.useState(""),fe=Ze(le,U),[ye,Ee]=c.useState(),[xe,he]=c.useState(""),[Ie,ke]=c.useState(""),[Ce,Pe]=c.useState(null),[_e,We]=c.useState(""),[Oe,De]=c.useState(void 0),[Le,Ve]=c.useState(""),[Ue,Me]=c.useState([]),qe=c.useMemo((()=>Ce?tt(Ce,R,n):[]),[Ce,R,n]),[je,Ge]=c.useState(null),[He,$e]=c.useState(""),Je=c.useMemo((()=>Ce&&He&&je?st(He,je,Ce,"views.SWAP.swapForm.conversionRate",n):""),[He,je,Ce,n]),[Ke,Xe]=c.useState(!1),[Qe,lt]=c.useState(!1),[ct,pt]=c.useState(!1);c.useEffect((()=>{if(0===l.length)return;if(!f)return;const e=l.filter((e=>e.balance.gt(0))).map((e=>({id:I(e.token.symbol,e.token.address),name:e.token.name,symbol:e.token.symbol,icon:e.token.icon,balance:{formattedAmount:P(e.formattedBalance),formattedFiatAmount:0===R.conversions.size?_(""):C(e.formattedBalance,e.token.symbol||"",R.conversions)}})));Me(e),t?.fromTokenAddress&&!te&&(oe(r.find((e=>W(e.address)&&t?.fromTokenAddress?.toLowerCase()===O||e.address?.toLowerCase()===t?.fromTokenAddress?.toLowerCase()))),ne(l.find((e=>W(e.token.address)&&t?.fromTokenAddress?.toLowerCase()===O||e.token.address?.toLowerCase()===t?.fromTokenAddress?.toLowerCase()))?.formattedBalance??"")),it(t?.toTokenAddress,t?.fromTokenAddress)&&!ye&&Ee(r.find((e=>W(e.address)&&t?.toTokenAddress?.toLowerCase()===O||e.address?.toLowerCase()===t?.toTokenAddress?.toLowerCase())))}),[l,r,R.conversions,t?.fromTokenAddress,t?.toTokenAddress,oe,ne,Ee,Me,I,_,f]);const ut=c.useMemo((()=>r.map((e=>({id:I(e.symbol,e.address),name:e.name,symbol:e.symbol,icon:e.icon})))),[r,te]);c.useEffect((()=>{j({payload:{type:Ae.SET_TOKEN_SYMBOLS,tokenSymbols:r.map((e=>e.symbol))}})}),[j,r]);const mt=()=>{Z(""),re(""),ue(""),he("")},wt=()=>{dt&&dt.cancel(),$e(""),Ge(null),Ve(""),Pe(null)},ft=(e,t)=>!Number.isNaN(parseFloat(e))&&(!(parseFloat(e)<=0)&&(!!te&&(!!ye&&(!t||!$)))),yt=async(e=!1)=>{ft(X,e)&&(dt&&dt.cancel(),e||J(!0),await(async(e=!1)=>{if(x&&d&&te&&ye){try{const e=Fe.fromAmountIn(d,x,te,X,ye),t=et.all([e]);dt=t;const o=await t;let a=ot(x,o[0]);a=at(te,a),a=nt(ye,a);const n=a.swap.gasFeeEstimate;let s=p.from(n?.value||0);a.approval?.gasFeeEstimate&&(s=s.add(a.approval.gasFeeEstimate.value));const i=ge(s,q),l=n?.token,c=r.find((e=>e.address?.toLocaleLowerCase()===l?.address?.toLocaleLowerCase()));Ge(te),$e(X),Pe(a),We(i),De({name:c?.name||"",symbol:c?.symbol||"",decimals:c?.decimals||0,address:c?.address,icon:c?.icon}),Ve(C(i,c?.symbol||"",R.conversions)),ce(_(P(ge(a.quote.amount.value,a.quote.amount.token.decimals),a.quote.amount.token.decimals))),mt()}catch(e){e.cancelled||(console.error("Error fetching quote.",e),wt(),Xe(!1),lt(!0))}e||J(!1)}})(e))},Tt=(e,t)=>!Number.isNaN(parseFloat(e))&&(!(parseFloat(e)<=0)&&(!!te&&(!!ye&&(!t||!$)))),Et=async(e=!1)=>{Tt(le,e)&&(dt&&dt.cancel(),e||J(!0),await(async(e=!1)=>{if(x&&d&&te&&ye){try{const e=Fe.fromAmountOut(d,x,ye,le,te),t=et.all([e]);dt=t;const o=await t;let a=ot(x,o[0]);a=at(te,a);const n=a.swap.gasFeeEstimate;let s=p.from(n?.value||0);a.approval?.gasFeeEstimate&&(s=s.add(a.approval.gasFeeEstimate.value));const i=ge(s,q),l=n?.token,c=r.find((e=>e.symbol===l?.symbol));Ge(ye),$e(le),Pe(a),We(i),De({name:c?.name||"",symbol:c?.symbol||"",decimals:c?.decimals||0,address:c?.address,icon:c?.icon}),Ve(C(i,c?.symbol||"",R.conversions)),Q(_(P(ge(a.quote.amount.value,a.quote.amount.token.decimals)))),mt()}catch(e){e.cancelled||(wt(),Xe(!1),lt(!0))}e||J(!1)}})(e))},gt=async(e=!1)=>{z===rt.FROM?await yt(e):await Et(e)};be((()=>gt(!0)),D),c.useEffect((()=>{if(z===rt.FROM){if(ee<=0)return J(!1),void wt();(async()=>{await gt()})()}}),[ee,te,ye,ie]),c.useEffect((()=>{if(z===rt.TO){if(fe<=0)return J(!1),void wt();(async()=>{await gt()})()}}),[fe,ye,te]);const vt=c.useMemo((()=>{if(!x)return!0;if(g(x))return!1;const e=l.find((e=>e.token.address?.toLowerCase()===O));if(!e)return!0;const t=te?.address?.toLowerCase()===O,o=Se(0!==_e.length?_e:"0"),a=t&&!Number.isNaN(parseFloat(X))?Te(X,te?.decimals||18):p.from("0");return o.add(a).gt(e.balance)}),[_e,l,te,X,x]);c.useEffect((()=>{X&&te&&ke(C(X,te.symbol,R.conversions))}),[X,te,R.conversions]);const At=c.useCallback((e=>{const t=l.find((t=>e===I(t.token.symbol,t.token.address)));t&&(ye&&e===I(ye.symbol,ye?.address)&&Ee(void 0),oe(t.token),ne(t.formattedBalance),re(""))}),[ye]),St=c.useCallback((e=>{const t=r.find((t=>e===I(t.symbol,t.address)));t&&(te&&e===I(te.symbol,te?.address)&&oe(void 0),Ee(t),he(""))}),[te]);return a(B,{children:[a(s,{sx:{paddingX:"base.spacing.x4",marginBottom:"base.spacing.x2"},children:[i(b,{size:"small",weight:"regular",sx:{paddingBottom:"base.spacing.x4"},children:n("views.SWAP.content.title")}),a(s,{sx:{display:"flex",flexDirection:"column",rowGap:"base.spacing.x6",paddingBottom:"base.spacing.x2"},children:[a(s,{children:[i(b,{size:"xSmall",sx:{display:"flex",justifyContent:"space-between",paddingBottom:"base.spacing.x1"},children:n("views.SWAP.swapForm.from.label")}),i(Ne,{testId:"fromTokenInputs",options:Ue,selectSubtext:te?`${n("views.SWAP.content.availableBalancePrefix")} ${P(ae)}`:"",selectTextAlign:"left",textInputType:"number",testInputMode:"decimal",textInputValue:X,textInputPlaceholder:n("views.SWAP.swapForm.from.inputPlaceholder"),textInputSubtext:`${n("views.SWAP.content.fiatPricePrefix")} \n $${_(Ie,!0)}`,textInputTextAlign:"right",textInputValidator:N,onTextInputChange:e=>{var t;(t=e)!==X&&(mt(),wt(),ce(""),ft(t,!1)&&J(!0),Q(t))},onTextInputFocus:()=>{H(rt.FROM)},textInputMaxButtonClick:()=>{if(!ae)return;const e=ae.slice(0,ae.indexOf(".")+M+1);mt(),wt(),H(rt.FROM),ce(""),ft(e,!1)&&J(!0),X===e?de(ie+1):Q(e),K({userJourney:y.SWAP,screen:"SwapCoins",control:"MaxFrom",controlType:"Button",extras:{fromBalance:ae,fromBalanceTruncated:e}})},onSelectChange:At,textInputErrorMessage:n(Y),selectErrorMessage:n(se),selectedOption:te?I(te.symbol,te.address):void 0,coinSelectorHeading:n("views.SWAP.swapForm.from.selectorTitle"),defaultTokenImage:h,environment:S?.config.environment,theme:o})]}),a(s,{children:[a(s,{sx:{display:"flex",justifyContent:"space-between",paddingBottom:"base.spacing.x1"},children:[i(b,{size:"xSmall",children:n("views.SWAP.swapForm.to.label")}),Je?.length>0&&a(L,{children:[i(L.Target,{children:i(k,{icon:"InformationCircle",sx:{w:"base.icon.size.300"}})}),i(L.Content,{children:Je})]})]}),i(Ne,{testId:"toTokenInputs",options:ut,selectTextAlign:"left",textInputType:"number",testInputMode:"decimal",textInputValue:le,textInputPlaceholder:n("views.SWAP.swapForm.to.inputPlaceholder"),textInputTextAlign:"right",textInputValidator:N,onTextInputChange:e=>{var t;(t=e)!==le&&(mt(),wt(),ke(""),Q(""),Tt(t,!1)&&J(!0),ce(t))},onTextInputFocus:()=>{H(rt.TO)},onSelectChange:St,textInputErrorMessage:n(pe),selectErrorMessage:n(xe),selectedOption:ye?I(ye.symbol,ye.address):void 0,coinSelectorHeading:n("views.SWAP.swapForm.to.selectorTitle"),defaultTokenImage:h,environment:S?.config.environment,theme:o})]})]}),!g(x)&&i(me,{gasFeeFiatValue:Le,gasFeeToken:Oe,gasFeeValue:_e,fees:qe,onFeesClick:()=>{K({userJourney:y.SWAP,screen:"SwapCoins",control:"ViewFees",controlType:"Button"})},sx:{paddingBottom:"0"},loading:$})]}),i(Be,{validator:()=>{const e=function(e){return e?"":"views.SWAP.validation.noFromTokenSelected"}(te),t=(a=ae,(o=X)&&0!==parseFloat(o)?a&&Number(o)>Number(a)?"views.SWAP.validation.insufficientBalance":"":"views.SWAP.validation.noAmountInputted");var o,a;const n=function(e){return e?"":"views.SWAP.validation.noToTokenSelected"}(ye),s=function(e){return e&&0!==parseFloat(e)?"":"views.SWAP.validation.noAmountInputted"}(le);z===rt.FROM?(ue(""),t&&Z(t)):z===rt.TO&&(Z(""),s&&ue(s)),e&&re(e),n&&he(n);let r=!0;return(e||n||t&&z===rt.FROM||s&&z===rt.TO)&&(r=!1),K({userJourney:y.SWAP,screen:"SwapCoins",control:"FormValid",controlType:"Button",extras:{isSwapFormValid:r,swapFromAddress:te?.address,swapFromAmount:X,swapFromTokenSymbol:te?.symbol,swapToAddress:ye?.address,swapToAmount:le,swapToTokenSymbol:ye?.symbol}}),r},updateLoading:e=>{J(e)},loading:$,transaction:Ce,data:{fromAmount:X,toAmount:le,fromTokenSymbol:te?.symbol,fromTokenAddress:te?.address,toTokenSymbol:ye?.symbol,toTokenAddress:ye?.address},insufficientFundsForGas:vt,openNotEnoughImxDrawer:()=>{lt(!1),Xe(!0)},openNetworkSwitchDrawer:()=>pt(!0)}),i(ze,{environment:S?.config.environment??V.PRODUCTION,visible:Ke,showAdjustAmount:te?.address===O,hasZeroImx:!1,onAddCoinsClick:()=>{G({payload:{type:E.UPDATE_VIEW,view:{type:A.TOP_UP_VIEW},currentViewData:{fromTokenAddress:te?.address??"",fromAmount:X,toTokenAddress:ye?.address??""}}})},onCloseDrawer:()=>Xe(!1)}),i(Ye,{visible:Qe,onCloseDrawer:()=>{lt(!1),oe(void 0),Q(""),Ee(void 0),ce("")}}),i(we,{visible:ct,targetChainId:T(S?.config),provider:x,checkout:S,onCloseDrawer:()=>pt(!1)})]})}const ct=(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 pt({theme:t,fromAmount:o,toAmount:n,fromTokenAddress:r,toTokenAddress:d}){const{t:l}=e(),{viewDispatch:p}=c.useContext(u),{eventTargetState:{eventTarget:f}}=c.useContext(j),{swapState:{tokenBalances:T}}=c.useContext(Re),{connectLoaderState:{checkout:v,provider:S}}=c.useContext(m),[x,h]=c.useState(!1),{page:b}=w();return c.useEffect((()=>{b({userJourney:y.SWAP,screen:"SwapCoins",extras:{fromAmount:o,toAmount:n,fromTokenAddress:r,toTokenAddress:d}})}),[]),c.useEffect((()=>{ct(T,$)&&!g(S)&&h(!0)}),[T]),i(H,{header:i(G,{title:l("views.SWAP.header.title"),onCloseButtonClick:()=>z(f)}),footer:i(ke,{environment:v?.config.environment,theme:t}),children:a(s,{sx:{height:"100%",display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[i(lt,{data:{fromAmount:o,toAmount:n,fromTokenAddress:r,toTokenAddress:d},theme:t}),i(ze,{environment:v?.config.environment??V.PRODUCTION,visible:x,showAdjustAmount:!1,hasZeroImx:!0,onAddCoinsClick:()=>{p({payload:{type:E.UPDATE_VIEW,view:{type:A.TOP_UP_VIEW}}})},onCloseDrawer:()=>{h(!1)}})]})})}function ut({transactionResponse:t,swapForm:o}){const{t:a}=e(),{viewDispatch:n}=c.useContext(u),{page:s}=w();return c.useEffect((()=>{s({userJourney:y.SWAP,screen:"SwapInProgress",extras:{swapFormInfo:o}})}),[]),c.useEffect((()=>{(async()=>{try{const e=await t.wait();if(1===e.status)return void n({payload:{type:E.UPDATE_VIEW,view:{type:Ee.SUCCESS,data:{fromTokenAddress:o.fromTokenAddress,fromAmount:o.fromAmount,toTokenAddress:o.toTokenAddress,toAmount:o.toAmount||"",transactionHash:e.transactionHash}}}});n({payload:{type:E.UPDATE_VIEW,view:{type:Ee.FAIL,data:o,reason:"Transaction failed"}}})}catch{n({payload:{type:E.UPDATE_VIEW,view:{type:Ee.FAIL,data:o,reason:"Transaction failed"}}})}})()}),[t]),i(J,{loadingText:a("views.SWAP.IN_PROGRESS.loading.text")})}function mt({data:t}){const{t:o}=e(),{swapState:{allowedTokens:n}}=c.useContext(Re),{connectLoaderState:r}=c.useContext(m),{checkout:d,provider:l}=r,{viewDispatch:f}=c.useContext(u),{eventTargetState:{eventTarget:T}}=c.useContext(j),S=g(l),[x,h]=c.useState(!1),[b,I]=c.useState(!1),[k,C]=c.useState(!1),[P,R]=c.useState(!1),[_,F]=c.useState(!1),[W,O]=c.useState(!1),{page:D,track:N}=w();c.useEffect((()=>{D({userJourney:y.SWAP,screen:"ApproveERC20",extras:{swapFormInfo:t.swapFormInfo}})}),[]);const L=c.useMemo((()=>n.find((e=>e.address===t.swapFormInfo.fromTokenAddress))),[n,t.swapFormInfo.fromTokenAddress]),V=c.useCallback((()=>{f({payload:{type:E.UPDATE_VIEW,view:{type:A.ERROR_VIEW,error:new Error("No checkout object or no provider object found")}}})}),[f]),U=c.useCallback((()=>{f({payload:{type:E.UPDATE_VIEW,view:{type:Ee.SWAP,data:t.swapFormInfo}}})}),[f]),M=(e,t)=>{e.type!==v.UNPREDICTABLE_GAS_LIMIT?e.type===v.TRANSACTION_FAILED||e.type===v.INSUFFICIENT_FUNDS||e.receipt&&0===e.receipt.status?f({payload:{type:E.UPDATE_VIEW,view:{type:Ee.FAIL,reason:"Transaction failed",data:t}}}):(console.error("Approve ERC20 failed",e),f({payload:{type:E.UPDATE_VIEW,view:{type:A.ERROR_VIEW,error:e}}})):f({payload:{type:E.UPDATE_VIEW,view:{type:Ee.PRICE_SURGE,data:t}}})},q=(e,t=!1)=>({...e,gasPrice:t?p.from(0):void 0}),$=c.useCallback((async()=>{if(!P)if(N({userJourney:y.SWAP,screen:"ApproveERC20",control:"ApproveSpending",controlType:"Button"}),R(!0),d&&l){if(!x){h(!0);try{const e=await d.sendTransaction({provider:l,transaction:q(t.approveTransaction,S)});I(!0);if(1!==(await e.transactionResponse.wait()).status)return void f({payload:{type:E.UPDATE_VIEW,view:{type:Ee.FAIL,data:t.swapFormInfo}}});I(!1),h(!1),C(!0)}catch(e){if(I(!1),h(!1),e.type===v.USER_REJECTED_REQUEST_ERROR)return void F(!0);M(e,t.swapFormInfo)}finally{R(!1)}}}else V()}),[d,l,V,f,O,t.approveTransaction,t.swapFormInfo,x,h,I]),Q=c.useMemo((()=>a(K,{heading:o(`views.APPROVE_ERC20.approveSpending.content.${S?"passport":"metamask"}.heading`),children:[S&&i(s,{children:o("views.APPROVE_ERC20.approveSpending.content.passport.body")}),!S&&i(s,{children:o("views.APPROVE_ERC20.approveSpending.content.metamask.body",{amount:`${t.swapFormInfo.fromAmount} ${L?.symbol||""}`})})]})),[t.swapFormInfo,L,S]),Y=c.useMemo((()=>i(X,{loading:P,actionText:o(_?"views.APPROVE_ERC20.approveSpending.footer.retryText":"views.APPROVE_ERC20.approveSpending.footer.buttonText"),onActionClick:$})),[_,$,P]),Z=c.useCallback((async()=>{if(!P)if(N({userJourney:y.SWAP,screen:"ApproveERC20",control:"ApproveSwap",controlType:"Button"}),R(!0),d&&l){if(!x){h(!0);try{const e=await d.sendTransaction({provider:l,transaction:q(t.transaction,S)});h(!1),f({payload:{type:E.UPDATE_VIEW,view:{type:Ee.IN_PROGRESS,data:{transactionResponse:e.transactionResponse,swapForm:t.swapFormInfo}}}})}catch(e){if(h(!1),e.type===v.USER_REJECTED_REQUEST_ERROR)return void O(!0);M(e,t.swapFormInfo)}finally{R(!1)}}}else V()}),[d,l,V,f,O,t.transaction,t.swapFormInfo,x,h]),ee=i(K,{heading:o("views.APPROVE_ERC20.approveSwap.content.heading"),children:i(s,{children:o("views.APPROVE_ERC20.approveSwap.content.body")})}),te=c.useMemo((()=>i(X,{loading:P,actionText:o(W?"views.APPROVE_ERC20.approveSwap.footer.retryText":"views.APPROVE_ERC20.approveSwap.footer.buttonText"),onActionClick:Z})),[W,Z,P]);return a(B,{children:[b&&i(J,{loadingText:o("views.APPROVE_ERC20.approveSpending.loading.text")}),!b&&i(H,{header:i(G,{transparent:!0,showBack:!0,onCloseButtonClick:()=>z(T),onBackButtonClick:U}),floatHeader:!0,heroContent:i(k?fe:Ie,{}),footer:k?te:Y,children:k?ee:Q})]})}function wt({amount:t,fromTokenAddress:o,toTokenAddress:n,config:s}){const{t:r}=e(),{eventTargetState:{eventTarget:d}}=c.useContext(j),{environment:l,theme:p,isOnRampEnabled:f,isSwapEnabled:g,isBridgeEnabled:v}=s,{connectLoaderState:{checkout:S,provider:x}}=c.useContext(m),[h,b]=c.useReducer(Q,{...Y,history:[]}),[I,k]=c.useReducer(_e,Ce),{page:C}=w(),[P,R]=c.useState(!1),_=c.useMemo((()=>({swapState:I,swapDispatch:k})),[I,k]),F=c.useMemo((()=>({viewState:h,viewDispatch:b})),[h,b]),W=c.useCallback(((e,t)=>{b({payload:{type:E.UPDATE_VIEW,view:{type:A.ERROR_VIEW,tryAgain:t,error:e}}})}),[b]),O=c.useCallback((()=>{b({payload:{type:E.UPDATE_VIEW,view:{type:Ee.SWAP}}})}),[b]),D=c.useCallback((async()=>{if(!S)throw new Error("loadBalances: missing checkout");if(!x)throw new Error("loadBalances: missing provider");try{const e=await ye({checkout:S,provider:x,allowTokenListType:Z.SWAP});if(void 0===e)return!1;k({payload:{type:Pe.SET_ALLOWED_TOKENS,allowedTokens:e.allowList.tokens}}),k({payload:{type:Pe.SET_TOKEN_BALANCES,tokenBalances:e.allowedBalances}})}catch(e){if(ee.nonRetryable(e))return W(e,D),!1}return!0}),[S,x]);return c.useEffect((()=>{(async()=>{if(!S||!x)return;const e=await S.getNetworkInfo({provider:x});if(e.chainId!==T(S.config))return;let t;try{t=await S.config.remote.getConfig("dex")}catch(e){return void W(e)}const o=new te({chainId:e.chainId,baseConfig:new oe({environment:l}),secondaryFees:t.secondaryFees,overrides:t.overrides});k({payload:{type:Pe.SET_EXCHANGE,exchange:o}}),k({payload:{type:Pe.SET_NETWORK,network:e}}),await D()&&h.view.type===A.LOADING_VIEW&&O()})()}),[S,x]),i(u.Provider,{value:F,children:i(Re.Provider,{value:_,children:a(he,{environment:l,children:[h.view.type===A.LOADING_VIEW&&i(J,{loadingText:r("views.LOADING_VIEW.text")}),h.view.type===Ee.SWAP&&i(pt,{theme:p,fromAmount:h.view.data?.fromAmount??t,fromTokenAddress:h.view.data?.fromTokenAddress??o,toTokenAddress:h.view.data?.toTokenAddress??n}),h.view.type===Ee.IN_PROGRESS&&i(ut,{transactionResponse:h.view.data.transactionResponse,swapForm:h.view.data.swapForm}),h.view.type===Ee.APPROVE_ERC20&&i(mt,{data:h.view.data}),h.view.type===Ee.SUCCESS&&i(ae,{statusText:r("views.SWAP.success.text"),actionText:r("views.SWAP.success.actionText"),onRenderEvent:()=>{C({userJourney:y.SWAP,screen:"SwapSuccess",extras:{fromTokenAddress:h.view.data?.fromTokenAddress,fromAmount:h.view.data?.fromAmount,toTokenAddress:h.view.data?.toTokenAddress,toAmount:h.view.data?.toAmount}}),ne(d,h.view.data.transactionHash)},onActionClick:()=>z(d),statusType:se.SUCCESS,testId:"success-view"}),h.view.type===Ee.FAIL&&i(ae,{statusText:r("views.SWAP.failed.text"),actionText:r("views.SWAP.failed.actionText"),onRenderEvent:()=>{C({userJourney:y.SWAP,screen:"SwapFailed"}),re(d,"Transaction failed")},onActionClick:()=>{h.view.type===Ee.FAIL&&b({payload:{type:E.UPDATE_VIEW,view:{type:Ee.SWAP,data:h.view.data}}})},statusType:se.FAILURE,onCloseClick:()=>z(d),testId:"fail-view"}),h.view.type===Ee.PRICE_SURGE&&i(ae,{statusText:r("views.SWAP.rejected.text"),actionText:r("views.SWAP.rejected.actionText"),onRenderEvent:()=>{C({userJourney:y.SWAP,screen:"PriceSurge"}),ie(d,"Price surge")},onActionClick:()=>{h.view.type===Ee.PRICE_SURGE&&b({payload:{type:E.UPDATE_VIEW,view:{type:Ee.SWAP,data:h.view.data}}})},statusType:se.WARNING,onCloseClick:()=>z(d),testId:"price-surge-view"}),h.view.type===A.ERROR_VIEW&&i(de,{actionText:r("views.ERROR_VIEW.actionText"),onActionClick:async()=>{R(!0);const e=h.view;if(!e.tryAgain)return O(),void R(!1);await e.tryAgain()&&O(),R(!1)},onCloseClick:()=>z(d),errorEventActionLoading:P}),h.view.type===A.TOP_UP_VIEW&&i(xe,{analytics:{userJourney:y.SWAP},checkout:S,provider:x,widgetEvent:le.IMTBL_SWAP_WIDGET_EVENT,showOnrampOption:f,showSwapOption:g,showBridgeOption:v,onCloseButtonClick:()=>z(d)})]})})})}export{wt as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{at as t,cn as e,co as n,cp as o,cq as i,cr as r,cs as s,r as a,z as c,bG as l,j as u,n as d,M as f,a as m,l as h,V as E,E as p,t as g,bZ as S,$ as v,H as _,o as w,a3 as A,I,p as T,F as b}from"./index-160882ca.js";const C=new e(n),O={},y=t.from(0),R=t.from(-1);function x(t,n,o,i){const r={fault:n,operation:o};return void 0!==i&&(r.value=i),C.throwError(t,e.errors.NUMERIC_FAULT,r)}let N="0";for(;N.length<256;)N+=N;function P(e){if("number"!=typeof e)try{e=t.from(e).toNumber()}catch(t){}return"number"==typeof e&&e>=0&&e<=256&&!(e%1)?"1"+N.substring(0,e):C.throwArgumentError("invalid decimal size","decimals",e)}function F(e,n){null==n&&(n=0);const o=P(n),i=(e=t.from(e)).lt(y);i&&(e=e.mul(R));let r=e.mod(o).toString();for(;r.length<o.length-1;)r="0"+r;r=r.match(/^([0-9]*[1-9]|0)(0*)/)[1];const s=e.div(o).toString();return e=1===o.length?s:s+"."+r,i&&(e="-"+e),e}function L(e,n){null==n&&(n=0);const o=P(n);"string"==typeof e&&e.match(/^-?[0-9.]+$/)||C.throwArgumentError("invalid decimal value","value",e);const i="-"===e.substring(0,1);i&&(e=e.substring(1)),"."===e&&C.throwArgumentError("missing value","value",e);const r=e.split(".");r.length>2&&C.throwArgumentError("too many decimal points","value",e);let s=r[0],a=r[1];for(s||(s="0"),a||(a="0");"0"===a[a.length-1];)a=a.substring(0,a.length-1);for(a.length>o.length-1&&x("fractional component exceeds decimals","underflow","parseFixed"),""===a&&(a="0");a.length<o.length-1;)a+="0";const c=t.from(s),l=t.from(a);let u=c.mul(o).add(l);return i&&(u=u.mul(R)),u}class U{constructor(t,n,o,i){t!==O&&C.throwError("cannot use FixedFormat constructor; use FixedFormat.from",e.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.signed=n,this.width=o,this.decimals=i,this.name=(n?"":"u")+"fixed"+String(o)+"x"+String(i),this._multiplier=P(i),Object.freeze(this)}static from(t){if(t instanceof U)return t;"number"==typeof t&&(t=`fixed128x${t}`);let e=!0,n=128,o=18;if("string"==typeof t)if("fixed"===t);else if("ufixed"===t)e=!1;else{const i=t.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);i||C.throwArgumentError("invalid fixed format","format",t),e="u"!==i[1],n=parseInt(i[2]),o=parseInt(i[3])}else if(t){const i=(e,n,o)=>null==t[e]?o:(typeof t[e]!==n&&C.throwArgumentError("invalid fixed format ("+e+" not "+n+")","format."+e,t[e]),t[e]);e=i("signed","boolean",e),n=i("width","number",n),o=i("decimals","number",o)}return n%8&&C.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",n),o>80&&C.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",o),new U(O,e,n,o)}}class k{constructor(t,n,o,i){t!==O&&C.throwError("cannot use FixedNumber constructor; use FixedNumber.from",e.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=i,this._hex=n,this._value=o,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(t){this.format.name!==t.format.name&&C.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",t)}addUnsafe(t){this._checkFormat(t);const e=L(this._value,this.format.decimals),n=L(t._value,t.format.decimals);return k.fromValue(e.add(n),this.format.decimals,this.format)}subUnsafe(t){this._checkFormat(t);const e=L(this._value,this.format.decimals),n=L(t._value,t.format.decimals);return k.fromValue(e.sub(n),this.format.decimals,this.format)}mulUnsafe(t){this._checkFormat(t);const e=L(this._value,this.format.decimals),n=L(t._value,t.format.decimals);return k.fromValue(e.mul(n).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(t){this._checkFormat(t);const e=L(this._value,this.format.decimals),n=L(t._value,t.format.decimals);return k.fromValue(e.mul(this.format._multiplier).div(n),this.format.decimals,this.format)}floor(){const t=this.toString().split(".");1===t.length&&t.push("0");let e=k.from(t[0],this.format);const n=!t[1].match(/^(0*)$/);return this.isNegative()&&n&&(e=e.subUnsafe(W.toFormat(e.format))),e}ceiling(){const t=this.toString().split(".");1===t.length&&t.push("0");let e=k.from(t[0],this.format);const n=!t[1].match(/^(0*)$/);return!this.isNegative()&&n&&(e=e.addUnsafe(W.toFormat(e.format))),e}round(t){null==t&&(t=0);const e=this.toString().split(".");if(1===e.length&&e.push("0"),(t<0||t>80||t%1)&&C.throwArgumentError("invalid decimal count","decimals",t),e[1].length<=t)return this;const n=k.from("1"+N.substring(0,t),this.format),o=D.toFormat(this.format);return this.mulUnsafe(n).addUnsafe(o).floor().divUnsafe(n)}isZero(){return"0.0"===this._value||"0"===this._value}isNegative(){return"-"===this._value[0]}toString(){return this._value}toHexString(e){if(null==e)return this._hex;e%8&&C.throwArgumentError("invalid byte width","width",e);const n=t.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString();return o(n,e/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(t){return k.fromString(this._value,t)}static fromValue(t,e,n){return null!=n||null==e||i(e)||(n=e,e=null),null==e&&(e=0),null==n&&(n="fixed"),k.fromString(F(t,e),U.from(n))}static fromString(t,e){null==e&&(e="fixed");const n=U.from(e),i=L(t,n.decimals);!n.signed&&i.lt(y)&&x("unsigned value cannot be negative","overflow","value",t);let r=null;n.signed?r=i.toTwos(n.width).toHexString():(r=i.toHexString(),r=o(r,n.width/8));const s=F(i,n.decimals);return new k(O,r,s,n)}static fromBytes(e,n){null==n&&(n="fixed");const o=U.from(n);if(r(e).length>o.width/8)throw new Error("overflow");let i=t.from(e);o.signed&&(i=i.fromTwos(o.width));const s=i.toTwos((o.signed?0:1)+o.width).toHexString(),a=F(i,o.decimals);return new k(O,s,a,o)}static from(t,n){if("string"==typeof t)return k.fromString(t,n);if(s(t))return k.fromBytes(t,n);try{return k.fromValue(t,0,n)}catch(t){if(t.code!==e.errors.INVALID_ARGUMENT)throw t}return C.throwArgumentError("invalid FixedNumber value","value",t)}static isFixedNumber(t){return!(!t||!t._isFixedNumber)}}const W=k.from(1),D=k.from("0.5"),B=new e("units/5.7.0"),V=["wei","kwei","mwei","gwei","szabo","finney","ether"];function M(t,e){if("string"==typeof e){const t=V.indexOf(e);-1!==t&&(e=3*t)}return F(t,null!=e?e:18)}function $(t,e){if("string"!=typeof t&&B.throwArgumentError("value must be a string","value",t),"string"==typeof e){const t=V.indexOf(e);-1!==t&&(e=3*t)}return L(t,null!=e?e:18)}function G(t){return $(t,18)}var K;!function(t){t.USD="usd"}(K||(K={}));const H={cryptoFiat:null,fiatSymbol:K.USD,tokenSymbols:[],conversions:new Map};var Y;!function(t){t.SET_CRYPTO_FIAT="SET_CRYPTO_FIAT",t.SET_FIAT_SYMBOL="SET_FIAT_SYMBOL",t.SET_TOKEN_SYMBOLS="SET_TOKEN_SYMBOLS",t.SET_CONVERSIONS="SET_CONVERSIONS"}(Y||(Y={}));const z=a.createContext({cryptoFiatState:H,cryptoFiatDispatch:()=>{}}),j=(t,e)=>{switch(e.payload.type){case Y.SET_CRYPTO_FIAT:return{...t,cryptoFiat:e.payload.cryptoFiat};case Y.SET_FIAT_SYMBOL:return{...t,fiatSymbol:e.payload.fiatSymbol};case Y.SET_TOKEN_SYMBOLS:return{...t,tokenSymbols:e.payload.tokenSymbols};case Y.SET_CONVERSIONS:return{...t,conversions:e.payload.conversions};default:return t}};var q;!function(t){t.SWAP="SWAP",t.IN_PROGRESS="IN_PROGRESS",t.SUCCESS="SUCCESS",t.FAIL="FAIL",t.PRICE_SURGE="PRICE_SURGE",t.APPROVE_ERC20="APPROVE_ERC20_SWAP"}(q||(q={}));class X{baseConfig;constructor({baseConfig:t}){this.baseConfig=t}}const J={[c.SANDBOX]:"https://checkout-api.sandbox.immutable.com",[c.PRODUCTION]:"https://checkout-api.immutable.com"};class Z{coinsCache;overridesCache;config;constructor(t){this.coinsCache=null,this.overridesCache=null,this.config=t.baseConfig}urlWithPath(t){return J[this.config.environment]+t}async fetchOverrides(){if(null!==this.overridesCache)return;const t=this.urlWithPath("/v1/fiat/coins/overrides"),e=await l.get(t);if(200!==e.status)throw new Error(`Error fetching coins overrides: ${e.status} ${e.statusText}`);this.overridesCache=new Map(Object.entries(e.data))}async fetchCoins(){if(null!==this.coinsCache)return;await this.fetchOverrides();const t=this.urlWithPath("/v1/fiat/coins/all"),e=await l.get(t);if(200!==e.status)throw new Error(`Error fetching coins list: ${e.status} ${e.statusText}`);const{data:n}=e;this.coinsCache=new Map;for(const t of n){const e=this.overridesCache.get(t.symbol.toLowerCase());this.coinsCache.set(t.symbol.toLowerCase(),e||t.id.toLowerCase())}}async convert({tokenSymbols:t,fiatSymbols:e=[]}){if(!t||0===t.length)throw new Error("Error missing token symbols to convert");const n=e.filter((t=>""!==t));0===n.length&&n.push("usd"),await this.fetchCoins();const o=t.map((t=>this.coinsCache.get(t.toLowerCase()))).filter((t=>""!==t&&void 0!==t)).join(","),i=n.join(",").toLowerCase(),r=this.urlWithPath(`/v1/fiat/conversion?ids=${o}¤cies=${i}`),s=await l.get(r);if(200!==s.status)throw new Error(`Error fetching prices: ${s.status} ${s.statusText}`);const{data:a}=s,c={};for(const e of t){const t=e.toLowerCase(),n=this.coinsCache.get(t);c[t]={},n&&(c[t]=a[n]||{})}return c}}const Q=async(t,e,n)=>{try{if(0===n.length)return new Map;return((t,e)=>{const n=new Map;for(const o in t){const i=t[o][e];void 0!==i&&n.set(o,i)}return n})(await t.convert({tokenSymbols:n,fiatSymbols:[e]}),e)}catch(t){return new Map}},tt=["ETH","IMX"];function et({environment:t,children:e}){const[n,o]=a.useReducer(j,H),{cryptoFiat:i,fiatSymbol:r,tokenSymbols:s}=n;return a.useEffect((()=>{o({payload:{type:Y.SET_CRYPTO_FIAT,cryptoFiat:new Z(new X({baseConfig:{environment:t}}))}})}),[]),a.useEffect((()=>{i&&r&&(async()=>{const t=await Q(i,r,[...new Set([...s,...tt])]);o({payload:{type:Y.SET_CONVERSIONS,conversions:t}})})()}),[i,s,r]),u(z.Provider,{value:{cryptoFiatState:n,cryptoFiatDispatch:o},children:e})}var nt;!function(t){t.WALLET_NETWORK_SELECTION="WALLET_NETWORK_SELECTION",t.BRIDGE_FORM="BRIDGE_FORM",t.BRIDGE_REVIEW="BRIDGE_REVIEW",t.IN_PROGRESS="IN_PROGRESS",t.BRIDGE_FAILURE="BRIDGE_FAILURE",t.APPROVE_TRANSACTION="APPROVE_TRANSACTION",t.TRANSACTIONS="TRANSACTIONS",t.CLAIM_WITHDRAWAL="CLAIM_WITHDRAWAL",t.CLAIM_WITHDRAWAL_IN_PROGRESS="CLAIM_WITHDRAWAL_IN_PROGRESS",t.CLAIM_WITHDRAWAL_SUCCESS="CLAIM_WITHDRAWAL_SUCCESS",t.CLAIM_WITHDRAWAL_FAILURE="CLAIM_WITHDRAWAL_FAILURE"}(nt||(nt={}));const ot=(t,e,n)=>{const o=a.useRef(!1);a.useEffect((()=>{o.current||("function"!=typeof e||e())&&(t(),o.current=!0)}),n||[])};const it=(t,e)=>{const{fees:n,token:o}=t;if(void 0===n.totalFees)return"-.--";if(void 0===o)return"-.--";const i=((t,e,n)=>{let o=-1;if(t&&e){const i=M(t,e.decimals),r=n.get(e.symbol.toLocaleLowerCase());if(r){const t=parseFloat(i);if(Number.isNaN(t))return o;o=t*r}}return o})(n.totalFees,o,e);return i<0?"-.--":function(t){if(t<0)return"-.--";const e=t.toString();if(e.includes("e")||0===t)return"0.00";if(t<.01)for(let n=0;n<e.length;n++)if("0"!==e[n]&&"."!==e[n])return t.toFixed(n-1);return t.toFixed(2)}(i)};var rt;function st({testId:t,icon:e,iconVariant:n,intentIcon:o,heading:i,caption:r,onClick:s,renderFeeFunction:a,isDisabled:c}){return u(m,{testId:"top-up-view",sx:{paddingY:"1px"},children:d(f,{testId:`menu-item-${t}`,size:"small",emphasized:!0,onClick:c?void 0:s,sx:c?{opacity:"0.5",cursor:"not-allowed"}:{},children:[u(f.Icon,{icon:e,variant:n}),u(f.Label,{size:"medium",children:i}),u(f.IntentIcon,{icon:o}),d(f.Caption,{testId:`menu-item-caption-${t}`,children:[r,u("br",{}),c?"":a("-.--",!1)]})]})})}!function(t){t.ONRAMP="ONRAMP",t.IN_PROGRESS_LOADING="IN_PROGRESS_LOADING",t.IN_PROGRESS="IN_PROGRESS",t.SUCCESS="SUCCESS",t.FAIL="FAIL"}(rt||(rt={}));const at={[c.SANDBOX]:"https://checkout-playground.sandbox.immutable.com",[c.PRODUCTION]:"https://toolkit.immutable.com"};function ct({widgetEvent:t,checkout:e,provider:n,showOnrampOption:o,showSwapOption:i,showBridgeOption:r,tokenAddress:s,amount:l,analytics:f,onCloseButtonClick:C,onBackButtonClick:O,heading:y,subheading:R}){const{t:x}=h(),{userJourney:N}=f,{viewDispatch:P}=a.useContext(E),{cryptoFiatState:F,cryptoFiatDispatch:L}=a.useContext(z),{conversions:U,fiatSymbol:k}=F,W=e?.config.environment??c.SANDBOX,{eventTargetState:{eventTarget:D}}=a.useContext(p),[B,V]=a.useState("-.--"),[,M]=a.useState("-.--"),[$,G]=a.useState(!0),K=y?x(...y):x("views.TOP_UP_VIEW.header.title"),H=R?x(...R):null,{page:j,track:X}=g();ot((()=>{j({userJourney:N,screen:"TopUp"})})),a.useEffect((()=>{L&&L({payload:{type:Y.SET_TOKEN_SYMBOLS,tokenSymbols:tt}})}),[L]),a.useEffect((()=>{e&&(async()=>{const t=await e.gasEstimate({gasEstimateType:S.BRIDGE_TO_L2}),n=await it(t,U);M(n)})()}),[void 0!==e]),a.useEffect((()=>{e&&(async()=>{const t=(t=>{const{minPercentage:e,maxPercentage:n}=t;return void 0===e||void 0===n?"-.--":`${e}% to ${n}`})(await e.getExchangeFeeEstimate());V(t)})()}),[void 0!==e]),a.useEffect((()=>{e&&(async()=>{G(await e.isSwapAvailable())})()}),[void 0!==e]);const J=(t,e,n="Button")=>{X({userJourney:N,screen:"TopUp",control:t,controlType:n,extras:e})},Z=()=>{if(t===I.IMTBL_ONRAMP_WIDGET_EVENT){const e={tokenAddress:"",amount:""};return P({payload:{type:T.UPDATE_VIEW,view:{type:rt.ONRAMP,data:e}}}),void J("OnRamp",{...e,widgetEvent:t})}const e={tokenAddress:s??"",amount:l??""};b.sendRequestOnrampEvent(D,t,e),J("OnRamp",{...e,widgetEvent:t})},Q=t=>u(m,{sx:{fontSize:"base.text.caption.small.regular.fontSize",c:"base.color.translucent.standard.600"},children:t}),et=[{testId:"onramp",icon:"BankCard",iconVariant:"bold",textConfigKey:"views.TOP_UP_VIEW.topUpOptions.debit",onClickEvent:Z,fee:()=>Q(`${x("views.TOP_UP_VIEW.topUpOptions.debit.subcaption")} ≈ ${B}%`),isAvailable:!0,isEnabled:o},{testId:"onramp",icon:"BankCard",textConfigKey:"views.TOP_UP_VIEW.topUpOptions.credit",onClickEvent:Z,fee:()=>Q(`${x("views.TOP_UP_VIEW.topUpOptions.credit.subcaption")} ≈ ${B}%`),isAvailable:!0,isEnabled:o},{testId:"advanced",icon:"Minting",iconVariant:"bold",intentIcon:"JumpTo",textConfigKey:"views.TOP_UP_VIEW.topUpOptions.advanced",onClickEvent:()=>{const e=at[W];J("AdvancedOptions",{...{tokenAddress:s??"",amount:l??""},widgetEvent:t}),window.open(`${e}/squid-bridge/`,"_blank")},fee:()=>Q(""),isAvailable:!0,isEnabled:!0},{testId:"swap",icon:"Swap",textConfigKey:"views.TOP_UP_VIEW.topUpOptions.swap",onClickEvent:()=>{if(t===I.IMTBL_SWAP_WIDGET_EVENT){const e={toTokenAddress:"",fromAmount:"",fromTokenAddress:""};return P({payload:{type:T.UPDATE_VIEW,view:{type:q.SWAP,data:e}}}),void J("Swap",{...e,widgetEvent:t})}const e={fromTokenAddress:"",toTokenAddress:s??"",amount:""};b.sendRequestSwapEvent(D,t,e),J("Swap",{...e,widgetEvent:t})},fee:()=>Q(`${x("views.TOP_UP_VIEW.topUpOptions.swap.subcaption")} ≈ $0.05 ${k.toUpperCase()}`),isAvailable:$,isEnabled:i},{testId:"bridge",icon:"ArrowForward",textConfigKey:"views.TOP_UP_VIEW.topUpOptions.bridge",onClickEvent:()=>{if(t===I.IMTBL_BRIDGE_WIDGET_EVENT){const e={fromTokenAddress:"",fromAmount:""};return P({payload:{type:T.UPDATE_VIEW,view:{type:nt.WALLET_NETWORK_SELECTION,data:e}}}),void J("Bridge",{...e,widgetEvent:t})}const e={tokenAddress:"",amount:""};b.sendRequestBridgeEvent(D,t,e),J("Bridge",{...e,widgetEvent:t})},fee:()=>Q(""),isAvailable:!0,isEnabled:r}];return u(A,{header:u(v,{onBackButtonClick:O,onCloseButtonClick:C,showBack:!0}),children:d(m,{sx:{paddingX:"base.spacing.x4",paddingY:"base.spacing.x4"},children:[u(_,{size:"small",children:K}),H&&u(w,{size:"small",sx:{color:"base.color.text.body.secondary"},children:H}),u(m,{sx:{paddingY:"base.spacing.x4"},children:et.sort(((t,e)=>Number(e.isAvailable)-Number(t.isAvailable))).map((t=>t.isEnabled&&u(st,{testId:t.testId,icon:t.icon,iconVariant:t.iconVariant,intentIcon:t.intentIcon,heading:x(`${t.textConfigKey}.heading`),caption:t.isAvailable?x(`${t.textConfigKey}.caption`):x(`${t.textConfigKey}.disabledCaption`),onClick:t.onClickEvent,renderFeeFunction:t.fee,isDisabled:!t.isAvailable},x(`${t.textConfigKey}.heading`).toLowerCase())))})]})})}export{nt as B,z as C,rt as O,q as S,ct as T,Y as a,et as b,G as c,M as f,$ as p,ot as u};
|