@imtbl/sdk 1.10.0-alpha → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/blockchain_data.d.ts +3 -0
  2. package/dist/blockchain_data.js +32 -29
  3. package/dist/browser/checkout/{BridgeWidget-36fe7401.js → BridgeWidget-31d071b4.js} +1 -1
  4. package/dist/browser/checkout/{OnRampWidget-21725b01.js → OnRampWidget-4eec34f6.js} +1 -1
  5. package/dist/browser/checkout/{SaleWidget-3677a1c5.js → SaleWidget-596fd2e5.js} +2 -2
  6. package/dist/browser/checkout/{SpendingCapHero-5fb4ac25.js → SpendingCapHero-bb5926a7.js} +1 -1
  7. package/dist/browser/checkout/{SwapWidget-0d6bc0d4.js → SwapWidget-35e7e9f2.js} +1 -1
  8. package/dist/browser/checkout/{TopUpView-60d92a82.js → TopUpView-a266b45b.js} +1 -1
  9. package/dist/browser/checkout/{WalletWidget-2fcbc4bb.js → WalletWidget-fbdc8df9.js} +1 -1
  10. package/dist/browser/checkout/{auto-track-62ee6964.js → auto-track-8e44b259.js} +1 -1
  11. package/dist/browser/checkout/{balance-b321aaf7.js → balance-2f1a40a7.js} +1 -1
  12. package/dist/browser/checkout/{index-ab695071.js → index-05c37e37.js} +1 -1
  13. package/dist/browser/checkout/{index-1a8c04a2.js → index-12cfbb8d.js} +1 -1
  14. package/dist/browser/checkout/{index-c4bede96.js → index-44c1fadf.js} +1 -1
  15. package/dist/browser/checkout/{index-407df153.js → index-75030038.js} +1 -1
  16. package/dist/browser/checkout/{index-352de7c2.js → index-881a9811.js} +1 -1
  17. package/dist/browser/checkout/{index-0dadb136.js → index-d506d80c.js} +1 -1
  18. package/dist/browser/checkout/index-d708abfc.js +1 -0
  19. package/dist/browser/checkout/{index-9ae59197.js → index-ec746bdd.js} +2 -2
  20. package/dist/browser/checkout/{index.umd-4c6acdc2.js → index.umd-8511e3cb.js} +1 -1
  21. package/dist/browser/checkout/{retry-d9a527bc.js → retry-d29da2e9.js} +1 -1
  22. package/dist/browser/checkout/sdk.js +4 -4
  23. package/dist/browser/checkout/{useTransakEvents-9ceb1e81.js → useTransakEvents-eca6f619.js} +1 -1
  24. package/dist/browser/checkout/widgets-esm.js +1 -1
  25. package/dist/browser/checkout/widgets.js +3 -3
  26. package/dist/checkout.d.ts +0 -3
  27. package/dist/checkout.js +34 -31
  28. package/dist/config.js +1 -1
  29. package/dist/index.browser.js +4 -4
  30. package/dist/index.browser.js.map +1 -1
  31. package/dist/index.cjs +36 -33
  32. package/dist/index.d.ts +3 -3
  33. package/dist/index.js +36 -33
  34. package/dist/orderbook.js +1 -1
  35. package/dist/passport.js +24 -24
  36. package/dist/x.js +2 -2
  37. package/package.json +1 -1
  38. package/dist/browser/checkout/index-a7be28ed.js +0 -1
@@ -7586,6 +7586,7 @@ declare class BlockchainData {
7586
7586
  listAllNFTs(request: NftsApiListAllNFTsRequest): Promise<ListNFTsResult$1>;
7587
7587
  /**
7588
7588
  * Create a mint request to mint a set of NFTs for a given collection
7589
+ * @experimental
7589
7590
  * @param request - the request object containing the parameters to be provided in the API request
7590
7591
  * @returns a promise that resolves with the remaining rate limits
7591
7592
  * @throws {@link index.APIError}
@@ -7593,6 +7594,7 @@ declare class BlockchainData {
7593
7594
  createMintRequest(request: NftsApiCreateMintRequestRequest): Promise<CreateMintRequestResult$1>;
7594
7595
  /**
7595
7596
  * List all mint requests for a given contract address
7597
+ * @experimental
7596
7598
  * @param request - the request object containing the parameters to be provided in the API request
7597
7599
  * @returns a promise that resolves with a list of mint requests
7598
7600
  * @throws {@link index.APIError}
@@ -7600,6 +7602,7 @@ declare class BlockchainData {
7600
7602
  listMintRequests(request: NftsApiListMintRequestsRequest): Promise<ListMintRequestsResult$1>;
7601
7603
  /**
7602
7604
  * Retrieve the status of a single mint request identified by its reference ID
7605
+ * @experimental
7603
7606
  * @param request - the request object containing the parameters to be provided in the API request
7604
7607
  * @returns a promise that resolves with a single mint request
7605
7608
  * @throws {@link index.APIError}
@@ -1665,8 +1665,8 @@ class NftOwnersApi extends BaseAPI {
1665
1665
  const NftsApiAxiosParamCreator = function (configuration) {
1666
1666
  return {
1667
1667
  /**
1668
- * Create a mint request to mint a set of NFTs for a given collection
1669
- * @summary Mint NFTs
1668
+ * [Experimental] Create a mint request to mint a set of NFTs for a given collection
1669
+ * @summary [Experimental] Mint NFTs
1670
1670
  * @param {string} contractAddress The address of contract
1671
1671
  * @param {string} chainName The name of chain
1672
1672
  * @param {CreateMintRequestRequest} createMintRequestRequest the request body
@@ -1680,7 +1680,7 @@ const NftsApiAxiosParamCreator = function (configuration) {
1680
1680
  assertParamExists('createMintRequest', 'chainName', chainName);
1681
1681
  // verify required parameter 'createMintRequestRequest' is not null or undefined
1682
1682
  assertParamExists('createMintRequest', 'createMintRequestRequest', createMintRequestRequest);
1683
- const localVarPath = `/experimental/chains/{chain_name}/collections/{contract_address}/nfts/mint-requests`
1683
+ const localVarPath = `/v1/chains/{chain_name}/collections/{contract_address}/nfts/mint-requests`
1684
1684
  .replace(`{${"contract_address"}}`, encodeURIComponent(String(contractAddress)))
1685
1685
  .replace(`{${"chain_name"}}`, encodeURIComponent(String(chainName)));
1686
1686
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
@@ -1705,8 +1705,8 @@ const NftsApiAxiosParamCreator = function (configuration) {
1705
1705
  };
1706
1706
  },
1707
1707
  /**
1708
- * Retrieve the status of a mint request identified by its reference_id
1709
- * @summary Get mint request by reference ID
1708
+ * [Experimental] Retrieve the status of a mint request identified by its reference_id
1709
+ * @summary [Experimental] Get mint request by reference ID
1710
1710
  * @param {string} contractAddress The address of contract
1711
1711
  * @param {string} chainName The name of chain
1712
1712
  * @param {string} referenceId The ID of the mint request
@@ -1720,7 +1720,7 @@ const NftsApiAxiosParamCreator = function (configuration) {
1720
1720
  assertParamExists('getMintRequest', 'chainName', chainName);
1721
1721
  // verify required parameter 'referenceId' is not null or undefined
1722
1722
  assertParamExists('getMintRequest', 'referenceId', referenceId);
1723
- const localVarPath = `/experimental/chains/{chain_name}/collections/{contract_address}/nfts/mint-requests/{reference_id}`
1723
+ const localVarPath = `/v1/chains/{chain_name}/collections/{contract_address}/nfts/mint-requests/{reference_id}`
1724
1724
  .replace(`{${"contract_address"}}`, encodeURIComponent(String(contractAddress)))
1725
1725
  .replace(`{${"chain_name"}}`, encodeURIComponent(String(chainName)))
1726
1726
  .replace(`{${"reference_id"}}`, encodeURIComponent(String(referenceId)));
@@ -1824,8 +1824,8 @@ const NftsApiAxiosParamCreator = function (configuration) {
1824
1824
  };
1825
1825
  },
1826
1826
  /**
1827
- * Retrieve the status of all mints for a given contract address
1828
- * @summary List mint requests
1827
+ * [Experimental] Retrieve the status of all mints for a given contract address
1828
+ * @summary [Experimental] List mint requests
1829
1829
  * @param {string} contractAddress The address of contract
1830
1830
  * @param {string} chainName The name of chain
1831
1831
  * @param {string} [pageCursor] Encoded page cursor to retrieve previous or next page. Use the value returned in the response.
@@ -1839,7 +1839,7 @@ const NftsApiAxiosParamCreator = function (configuration) {
1839
1839
  assertParamExists('listMintRequests', 'contractAddress', contractAddress);
1840
1840
  // verify required parameter 'chainName' is not null or undefined
1841
1841
  assertParamExists('listMintRequests', 'chainName', chainName);
1842
- const localVarPath = `/experimental/chains/{chain_name}/collections/{contract_address}/nfts/mint-requests`
1842
+ const localVarPath = `/v1/chains/{chain_name}/collections/{contract_address}/nfts/mint-requests`
1843
1843
  .replace(`{${"contract_address"}}`, encodeURIComponent(String(contractAddress)))
1844
1844
  .replace(`{${"chain_name"}}`, encodeURIComponent(String(chainName)));
1845
1845
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
@@ -1976,8 +1976,8 @@ const NftsApiFp = function (configuration) {
1976
1976
  const localVarAxiosParamCreator = NftsApiAxiosParamCreator(configuration);
1977
1977
  return {
1978
1978
  /**
1979
- * Create a mint request to mint a set of NFTs for a given collection
1980
- * @summary Mint NFTs
1979
+ * [Experimental] Create a mint request to mint a set of NFTs for a given collection
1980
+ * @summary [Experimental] Mint NFTs
1981
1981
  * @param {string} contractAddress The address of contract
1982
1982
  * @param {string} chainName The name of chain
1983
1983
  * @param {CreateMintRequestRequest} createMintRequestRequest the request body
@@ -1989,8 +1989,8 @@ const NftsApiFp = function (configuration) {
1989
1989
  return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
1990
1990
  },
1991
1991
  /**
1992
- * Retrieve the status of a mint request identified by its reference_id
1993
- * @summary Get mint request by reference ID
1992
+ * [Experimental] Retrieve the status of a mint request identified by its reference_id
1993
+ * @summary [Experimental] Get mint request by reference ID
1994
1994
  * @param {string} contractAddress The address of contract
1995
1995
  * @param {string} chainName The name of chain
1996
1996
  * @param {string} referenceId The ID of the mint request
@@ -2029,8 +2029,8 @@ const NftsApiFp = function (configuration) {
2029
2029
  return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
2030
2030
  },
2031
2031
  /**
2032
- * Retrieve the status of all mints for a given contract address
2033
- * @summary List mint requests
2032
+ * [Experimental] Retrieve the status of all mints for a given contract address
2033
+ * @summary [Experimental] List mint requests
2034
2034
  * @param {string} contractAddress The address of contract
2035
2035
  * @param {string} chainName The name of chain
2036
2036
  * @param {string} [pageCursor] Encoded page cursor to retrieve previous or next page. Use the value returned in the response.
@@ -2084,8 +2084,8 @@ const NftsApiFactory = function (configuration, basePath, axios) {
2084
2084
  const localVarFp = NftsApiFp(configuration);
2085
2085
  return {
2086
2086
  /**
2087
- * Create a mint request to mint a set of NFTs for a given collection
2088
- * @summary Mint NFTs
2087
+ * [Experimental] Create a mint request to mint a set of NFTs for a given collection
2088
+ * @summary [Experimental] Mint NFTs
2089
2089
  * @param {NftsApiCreateMintRequestRequest} requestParameters Request parameters.
2090
2090
  * @param {*} [options] Override http request option.
2091
2091
  * @throws {RequiredError}
@@ -2094,8 +2094,8 @@ const NftsApiFactory = function (configuration, basePath, axios) {
2094
2094
  return localVarFp.createMintRequest(requestParameters.contractAddress, requestParameters.chainName, requestParameters.createMintRequestRequest, options).then((request) => request(axios, basePath));
2095
2095
  },
2096
2096
  /**
2097
- * Retrieve the status of a mint request identified by its reference_id
2098
- * @summary Get mint request by reference ID
2097
+ * [Experimental] Retrieve the status of a mint request identified by its reference_id
2098
+ * @summary [Experimental] Get mint request by reference ID
2099
2099
  * @param {NftsApiGetMintRequestRequest} requestParameters Request parameters.
2100
2100
  * @param {*} [options] Override http request option.
2101
2101
  * @throws {RequiredError}
@@ -2124,8 +2124,8 @@ const NftsApiFactory = function (configuration, basePath, axios) {
2124
2124
  return localVarFp.listAllNFTs(requestParameters.chainName, requestParameters.fromUpdatedAt, requestParameters.pageCursor, requestParameters.pageSize, options).then((request) => request(axios, basePath));
2125
2125
  },
2126
2126
  /**
2127
- * Retrieve the status of all mints for a given contract address
2128
- * @summary List mint requests
2127
+ * [Experimental] Retrieve the status of all mints for a given contract address
2128
+ * @summary [Experimental] List mint requests
2129
2129
  * @param {NftsApiListMintRequestsRequest} requestParameters Request parameters.
2130
2130
  * @param {*} [options] Override http request option.
2131
2131
  * @throws {RequiredError}
@@ -2163,8 +2163,8 @@ const NftsApiFactory = function (configuration, basePath, axios) {
2163
2163
  */
2164
2164
  class NftsApi extends BaseAPI {
2165
2165
  /**
2166
- * Create a mint request to mint a set of NFTs for a given collection
2167
- * @summary Mint NFTs
2166
+ * [Experimental] Create a mint request to mint a set of NFTs for a given collection
2167
+ * @summary [Experimental] Mint NFTs
2168
2168
  * @param {NftsApiCreateMintRequestRequest} requestParameters Request parameters.
2169
2169
  * @param {*} [options] Override http request option.
2170
2170
  * @throws {RequiredError}
@@ -2174,8 +2174,8 @@ class NftsApi extends BaseAPI {
2174
2174
  return NftsApiFp(this.configuration).createMintRequest(requestParameters.contractAddress, requestParameters.chainName, requestParameters.createMintRequestRequest, options).then((request) => request(this.axios, this.basePath));
2175
2175
  }
2176
2176
  /**
2177
- * Retrieve the status of a mint request identified by its reference_id
2178
- * @summary Get mint request by reference ID
2177
+ * [Experimental] Retrieve the status of a mint request identified by its reference_id
2178
+ * @summary [Experimental] Get mint request by reference ID
2179
2179
  * @param {NftsApiGetMintRequestRequest} requestParameters Request parameters.
2180
2180
  * @param {*} [options] Override http request option.
2181
2181
  * @throws {RequiredError}
@@ -2207,8 +2207,8 @@ class NftsApi extends BaseAPI {
2207
2207
  return NftsApiFp(this.configuration).listAllNFTs(requestParameters.chainName, requestParameters.fromUpdatedAt, requestParameters.pageCursor, requestParameters.pageSize, options).then((request) => request(this.axios, this.basePath));
2208
2208
  }
2209
2209
  /**
2210
- * Retrieve the status of all mints for a given contract address
2211
- * @summary List mint requests
2210
+ * [Experimental] Retrieve the status of all mints for a given contract address
2211
+ * @summary [Experimental] List mint requests
2212
2212
  * @param {NftsApiListMintRequestsRequest} requestParameters Request parameters.
2213
2213
  * @param {*} [options] Override http request option.
2214
2214
  * @throws {RequiredError}
@@ -4814,7 +4814,7 @@ const flattenProperties = (properties) => {
4814
4814
  };
4815
4815
 
4816
4816
  // WARNING: DO NOT CHANGE THE STRING BELOW. IT GETS REPLACED AT BUILD TIME.
4817
- const SDK_VERSION = '1.10.0-alpha';
4817
+ const SDK_VERSION = '1.11.0';
4818
4818
  const getReferrer = () => {
4819
4819
  if (isNode()) {
4820
4820
  return '';
@@ -5016,7 +5016,7 @@ class APIError extends Error {
5016
5016
 
5017
5017
  /* eslint-disable implicit-arrow-linebreak */
5018
5018
  const defaultHeaders = {
5019
- sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.10.0-alpha',
5019
+ sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.11.0',
5020
5020
  };
5021
5021
  /**
5022
5022
  * createAPIConfiguration to create a custom Configuration
@@ -5279,6 +5279,7 @@ class BlockchainData {
5279
5279
  }
5280
5280
  /**
5281
5281
  * Create a mint request to mint a set of NFTs for a given collection
5282
+ * @experimental
5282
5283
  * @param request - the request object containing the parameters to be provided in the API request
5283
5284
  * @returns a promise that resolves with the remaining rate limits
5284
5285
  * @throws {@link index.APIError}
@@ -5293,6 +5294,7 @@ class BlockchainData {
5293
5294
  }
5294
5295
  /**
5295
5296
  * List all mint requests for a given contract address
5297
+ * @experimental
5296
5298
  * @param request - the request object containing the parameters to be provided in the API request
5297
5299
  * @returns a promise that resolves with a list of mint requests
5298
5300
  * @throws {@link index.APIError}
@@ -5307,6 +5309,7 @@ class BlockchainData {
5307
5309
  }
5308
5310
  /**
5309
5311
  * Retrieve the status of a single mint request identified by its reference ID
5312
+ * @experimental
5310
5313
  * @param request - the request object containing the parameters to be provided in the API request
5311
5314
  * @returns a promise that resolves with a single mint request
5312
5315
  * @throws {@link index.APIError}
@@ -1 +1 @@
1
- import{b4 as e,b5 as t,aq as s,b6 as a,b7 as n,r as o,u as r,b8 as i,j as l,M as c,ar as d,b9 as u,I as x,an as p,ba as E,bb as h,B as g,l as T,K as w,bc as b,a3 as m,aL as f,O as I,P as A,bd as y,be as S,a as v,bf as _,U as k,bg as C,V as R,d as j,bh as N,o as L,aK as D,bi as M,y as B,W as P,ac as W,X as O,E as G,q as F,T as V,p as K,bj as U,c as z,H,F as $,bk as Z,bl as J,L as q,t as Q,m as X,Y,bm as ee,aI as te,bn as se,aJ as ae,w as ne,n as oe,N as re,aO as ie,aU as le,S as ce,ab as de,aP as ue,aH as xe,bo as pe,aM as Ee,aS as he,bp as ge,bq as Te,a0 as we,a1 as be,br as me,e as fe,A as Ie,aV as Ae,bs as ye,v as Se,i as ve,bt as _e,aX as ke,bu as Ce,f as Re,h as je,a5 as Ne,bv as Le,bw as De,bx as Me}from"./index-9ae59197.js";import{B as Be,C as Pe,a as We,b as Oe,T as Ge}from"./TopUpView-60d92a82.js";import{r as Fe,u as Ve}from"./retry-d9a527bc.js";import{b as Ke,S as Ue,T as ze,a as He,g as $e,F as Ze,W as Je}from"./balance-b321aaf7.js";const{Axios:qe,AxiosError:Qe,CanceledError:Xe,isCancel:Ye,CancelToken:et,VERSION:tt,all:st,Cancel:at,isAxiosError:nt,spread:ot,toFormData:rt,AxiosHeaders:it,HttpStatusCode:lt,formToJSON:ct,getAdapter:dt,mergeConfig:ut}=e;class xt{url;ttl;env;cacheMap;setCache(e,t){this.cacheMap[e]={data:t,ttl:(new Date).getTime()+1e3*this.ttl}}getCache(e){const t=this.cacheMap[e];return!t||t.ttl<=(new Date).getTime()?null:t.data}constructor(e){this.env=e.env,this.url=`${t[this.env]}/checkout`,this.cacheMap={},this.ttl=void 0!==e.ttl?e.ttl:60}static isHttpError=e=>"code"in e;async getTransactions(t){const{txType:s,fromAddress:a}=t;try{const t=`${this.url}/v1/transactions?from_address=${a}&tx_type=${s}`,n=this.getCache(t);if(n)return Promise.resolve(n);const o=await e.get(t);if(o.status>=400)return Promise.reject({code:o.status,message:o.statusText});const{data:r}=o;return this.setCache(t,r),Promise.resolve(r)}catch(t){let s=lt.InternalServerError,a="InternalServerError";return e.isAxiosError(t)&&(s=t.response?.status||s,a=t.message),Promise.reject({code:s,message:a})}}}var pt;!function(e){e.BRIDGE="bridge"}(pt||(pt={}));const Et={IN_PROGRESS:"in_progress",WITHDRAWAL_PENDING:"withdrawal_pending"};function ht(e){switch(e){case s.ETHEREUM:return a.ETHEREUM;case s.IMTBL_ZKEVM_TESTNET:return a.IMTBL_ZKEVM_TESTNET;case s.IMTBL_ZKEVM_MAINNET:return a.IMTBL_ZKEVM_MAINNET;case s.IMTBL_ZKEVM_DEVNET:return a.IMTBL_ZKEVM_DEVNET;case s.SEPOLIA:return a.SEPOLIA;default:return""}}function gt(e){switch(e){case s.ETHEREUM:return n.ETHEREUM;case s.IMTBL_ZKEVM_TESTNET:return n.IMTBL_ZKEVM_TESTNET;case s.IMTBL_ZKEVM_MAINNET:return n.IMTBL_ZKEVM_MAINNET;case s.IMTBL_ZKEVM_DEVNET:return n.IMTBL_ZKEVM_DEVNET;case s.SEPOLIA:return n.SEPOLIA;default:return""}}function Tt(e){switch(e){case n.ETHEREUM:return s.ETHEREUM;case n.IMTBL_ZKEVM_TESTNET:return s.IMTBL_ZKEVM_TESTNET;case n.IMTBL_ZKEVM_MAINNET:return s.IMTBL_ZKEVM_MAINNET;case n.IMTBL_ZKEVM_DEVNET:return s.IMTBL_ZKEVM_DEVNET;case n.SEPOLIA:return s.SEPOLIA;default:return 0}}const wt={web3Provider:null,walletProviderName:null,from:null,to:null,tokenBridge:null,tokenBalances:[],allowedTokens:[],token:null,amount:"0"};var bt;!function(e){e.SET_WALLETS_AND_NETWORKS="SET_WALLETS_AND_NETWORKS",e.SET_WALLET_PROVIDER_NAME="SET_WALLET_PROVIDER_NAME",e.SET_PROVIDER="SET_PROVIDER",e.SET_TOKEN_BRIDGE="SET_TOKEN_BRIDGE",e.SET_TOKEN_BALANCES="SET_TOKEN_BALANCES",e.SET_ALLOWED_TOKENS="SET_ALLOWED_TOKENS",e.SET_TOKEN_AND_AMOUNT="SET_TOKEN_AND_AMOUNT"}(bt||(bt={}));const mt=o.createContext({bridgeState:{...wt,checkout:{}},bridgeDispatch:()=>{}});mt.displayName="BridgeContext";const ft=(e,t)=>{switch(t.payload.type){case bt.SET_WALLETS_AND_NETWORKS:return{...e,from:t.payload.from,to:t.payload.to};case bt.SET_WALLET_PROVIDER_NAME:return{...e,walletProviderName:t.payload.walletProviderName};case bt.SET_PROVIDER:return{...e,web3Provider:t.payload.web3Provider};case bt.SET_TOKEN_BRIDGE:return{...e,tokenBridge:t.payload.tokenBridge};case bt.SET_TOKEN_BALANCES:return{...e,tokenBalances:t.payload.tokenBalances};case bt.SET_ALLOWED_TOKENS:return{...e,allowedTokens:t.payload.allowedTokens};case bt.SET_TOKEN_AND_AMOUNT:return{...e,token:t.payload.token,amount:t.payload.amount};default:return e}};function It({testId:e,walletProviderName:t,onWalletClick:s,loading:a}){const{t:n}=r(),[d,u]=o.useState(!1),x={[i.PASSPORT]:"PassportSymbolOutlined",[i.METAMASK]:"MetaMaskSymbol"};return l.jsxs(c,{testId:`${e}-wallet-list-${t}`,size:"medium",emphasized:!0,onClick:async()=>{if(!a){u(!0);try{await s(t)}finally{u(!1)}}},children:[l.jsx(c.FramedLogo,{logo:x[t],sx:{backgroundColor:"base.color.translucent.standard.200"}}),l.jsx(c.Label,{size:"medium",children:n(`wallets.${t}.heading`)}),d&&l.jsx(c.StatefulButtCon,{state:"loading",icon:"Loading"})]})}const At={display:"flex",flexDirection:"column",gap:"base.spacing.x1",paddingX:"base.spacing.x4"};function yt({testId:e,drawerText:t,walletOptions:s,showWalletSelectorTarget:a,showDrawer:n,setShowDrawer:r,onWalletItemClick:i}){const[c,x]=o.useState(!1),{heading:p,defaultText:E}=t,h=async e=>{x(!0);try{await i(e)}catch(e){console.error(e)}finally{x(!1)}};return l.jsxs(d,{headerBarTitle:p,size:"full",onCloseDrawer:()=>{c||r(!1)},visible:n,children:[a&&l.jsx(d.Target,{children:l.jsx(Ke,{testId:`${e}-wallet-form-control`,textAlign:"left",children:l.jsx(u,{testId:`${e}-wallet-select`,defaultLabel:E??"",size:"large",targetClickOveride:()=>r(!0)})})}),l.jsx(d.Content,{sx:At,children:s.map((t=>l.jsx(It,{testId:e,loading:c,walletProviderName:t,onWalletClick:h},t)))})]})}const St=(e,t)=>{const s=new CustomEvent(x.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:p.TRANSACTION_SENT,data:{transactionHash:t}}});console.log("bridge success ",e,s),void 0!==e&&e.dispatchEvent(s)};function vt(e){const t=new CustomEvent(x.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:p.CLOSE_WIDGET,data:{}}});console.log("bridge close ",e,t),void 0!==e&&e.dispatchEvent(t)}function _t(){return l.jsxs(E,{sx:{gap:"base.spacing.x2"},children:[l.jsx(h,{sx:{h:"base.spacing.x4",w:"base.spacing.x32",mt:"base.spacing.x2"}}),l.jsx(c,{shimmer:!0,emphasized:!0,size:"small"}),l.jsx(c,{shimmer:!0,emphasized:!0,size:"small"}),l.jsx(c,{shimmer:!0,emphasized:!0,size:"small"})]})}const kt={px:"base.spacing.x4",display:"flex",flexDirection:"column",height:"100%"},Ct={flexGrow:"1",flexShrink:"0",flexBasis:"0"},Rt={flexGrow:"0",flexShrink:"1",mt:"base.spacing.x2"},jt={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 Nt({openWalletDrawer:e}){const{t:t}=r();return l.jsxs(g,{sx:jt,children:[l.jsx(T,{sx:{mb:"base.spacing.x8"},children:t("views.TRANSACTIONS.status.emptyState.notConnected.body")}),l.jsx(w,{variant:"secondary",size:"medium",testId:"transactions-connect-wallet-button",onClick:e,children:t("views.TRANSACTIONS.status.emptyState.notConnected.buttonText")})]})}const Lt={backgroundColor:"base.color.neutral.800",px:"base.spacing.x4",p:"base.spacing.x5",borderRadius:"base.borderRadius.x6"},Dt={color:"base.color.text.body.secondary"};function Mt({checkout:e,isPassport:t}){const{t:s}=r(),[a,n]=o.useState("");return o.useEffect((()=>{e&&n(b[e.config.environment])}),[e]),l.jsx(g,{sx:Lt,children:l.jsxs(g,{sx:{display:"flex",flexDirection:"column"},children:[l.jsxs(g,{children:[l.jsx(T,{size:"small",children:s("views.TRANSACTIONS.support.body1")}),l.jsxs(T,{size:"small",sx:Dt,children:[s("views.TRANSACTIONS.support.body2"),l.jsx(m,{size:"small",rc:l.jsx("a",{target:"_blank",href:s("views.TRANSACTIONS.support.supportLink"),rel:"noreferrer"}),children:s("views.TRANSACTIONS.support.body3")})]})]}),t&&l.jsxs(T,{size:"small",sx:Dt,children:[s("views.TRANSACTIONS.support.passport.body1")," ",l.jsx(m,{size:"small",rc:l.jsx("a",{target:"_blank",href:a,rel:"noreferrer"}),children:s("views.TRANSACTIONS.support.passport.body2")})]})]})})}const Bt={display:"flex",flexDirection:"column",borderRadius:"base.borderRadius.x4",bg:"base.color.translucent.emphasis.100"},Pt={p:"base.spacing.x3",d:"flex",justifyContent:"space-between",position:"relative"},Wt={display:"flex",flexGrow:"1",alignItems:"center",gap:"base.spacing.x2"};function Ot({transaction:e}){const t=Tt(e.details.from_chain),s=Tt(e.details.to_chain);return l.jsxs(g,{sx:{display:"flex",px:"base.spacing.x4",gap:"base.spacing.x2"},children:[l.jsx(f,{icon:I[t],sx:{w:"base.icon.size.250",fill:A[t]},variant:"bold"}),l.jsxs(g,{sx:{display:"flex",flexDirection:"column",flexGrow:"1"},children:[l.jsx(T,{size:"xxSmall",sx:{color:"base.color.translucent.standard.900"},children:y[t]}),l.jsx(S,{size:"xxSmall",sx:{color:"base.color.translucent.standard.600"},text:e.details.from_address})]}),l.jsx(g,{sx:{flexGrow:"1"}}),l.jsx(f,{icon:"ArrowForward",sx:{w:"base.icon.size.250",fill:"base.color.brand.4"}}),l.jsx(g,{sx:{flexGrow:"1"}}),l.jsx(f,{icon:I[s],sx:{w:"base.icon.size.250",fill:A[s]},variant:"bold"}),l.jsxs(g,{sx:{display:"flex",flexDirection:"column",flexGrow:"1"},children:[l.jsx(T,{size:"xxSmall",sx:{color:"base.color.translucent.standard.900"},children:y[s]}),l.jsx(S,{size:"xxSmall",sx:{color:"base.color.translucent.standard.600"},text:e.details.to_address})]})]})}function Gt({label:e,details:t,transaction:s,fiatAmount:a,amount:n,icon:r}){const{track:i}=v(),d=o.useMemo((()=>`${t.link}${t.hash}`),[t]);return l.jsx(g,{testId:`transaction-item-${s.blockchain_metadata.transaction_hash}`,sx:Bt,children:l.jsxs(_,{chevronSide:"right",sx:{button:{p:"base.spacing.x1"},article:{pr:"base.spacing.x10"}},onExpandChange:e=>e&&i({userJourney:k.BRIDGE,screen:"TransactionItem",control:"Accordion",controlType:"Button"}),children:[l.jsx(_.TargetLeftSlot,{sx:{pr:"base.spacing.x2"},children:l.jsxs(c,{size:"xSmall",children:[l.jsx(c.FramedImage,{imageUrl:r,circularFrame:!0}),l.jsx(c.Label,{children:e}),l.jsx(c.Caption,{children:l.jsx(m,{size:"xSmall",rc:l.jsx("a",{target:"_blank",href:d,rel:"noreferrer",onClick:e=>{return s=t,e.stopPropagation(),void i({userJourney:k.BRIDGE,screen:"TransactionItem",control:"Details",controlType:"Link",extras:{linkDetail:s}});var s}}),children:t.text})}),l.jsx(c.PriceDisplay,{fiatAmount:a,price:n})]})}),l.jsxs(_.ExpandedContent,{sx:{pr:"0",pl:"0",mb:"base.spacing.x3",gap:"0"},children:[l.jsx(C,{size:"xSmall",sx:{px:"base.spacing.x2"}}),l.jsx(Ot,{transaction:s})]})]})})}const Ft=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"}},Vt={borderRadius:"base.borderRadius.x4",display:"flex",flexDirection:"column",gap:"base.spacing.x5"};function Kt({label:e,transaction:t,fiatAmount:s,amount:a,icon:n}){const{viewDispatch:i}=o.useContext(R),{track:d}=v(),u=r(),x=o.useMemo((()=>(new Date).getTime()),[]),p=o.useMemo((()=>t.details.current_status.withdrawal_ready_at?new Date(t.details.current_status.withdrawal_ready_at):void 0),[t]),E=t.details.current_status.status===Et.WITHDRAWAL_PENDING,h=new Intl.RelativeTimeFormat(u[1].language||"en",{numeric:"auto"}),b=o.useMemo((()=>{if(!E||void 0===p)return"";const e=(p.getTime()-x)/6e4;if(e<=1)return"in 1 minute";if(e<60)return h.format(Math.ceil(e),"minute");const t=e/60;if(e<1440)return h.format(Math.ceil(t),"hour");const s=t/24;return h.format(Math.ceil(s),"day")}),[x,u[1].language]),m=!!p&&p.getTime()<x,I=o.useMemo((()=>!0===m?u.t("views.TRANSACTIONS.status.withdrawalPending.withdrawalReadyText"):`${u.t("views.TRANSACTIONS.status.withdrawalPending.withdrawalDelayText")} ${b}`),[b,u[1].language]);return l.jsxs(g,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}`,sx:Bt,children:[E&&l.jsxs(l.Fragment,{children:[l.jsxs(g,{sx:Pt,children:[l.jsxs(g,{sx:Wt,children:[l.jsx(f,{icon:"Alert",variant:"bold",sx:{fill:m?"base.color.status.fatal.bright":"base.color.status.attention.bright",w:"base.icon.size.200"}}),l.jsx(T,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}-action-message`,size:"xSmall",sx:{color:"base.color.text.body.secondary"},children:I})]}),E&&m&&l.jsx(w,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}-action-button`,variant:"primary",size:"small",onClick:()=>{i({payload:{type:j.UPDATE_VIEW,view:{type:Be.CLAIM_WITHDRAWAL,transaction:t}}})},children:u.t("views.TRANSACTIONS.status.withdrawalPending.actionButtonText")})]}),l.jsx(C,{size:"small",sx:{color:"base.color.translucent.emphasis.300",opacity:.1}})]}),l.jsxs(_,{chevronSide:"right",sx:{button:{p:"base.spacing.x1"},article:{pr:"base.spacing.x10"},borderTopRightRadius:"0",borderTopLeftRadius:"0"},onExpandChange:e=>e&&d({userJourney:k.BRIDGE,screen:"TransactionItem",control:"Accordion",controlType:"Button"}),children:[l.jsx(_.TargetLeftSlot,{sx:{pr:"base.spacing.x2"},children:l.jsxs(c,{size:"xSmall",children:[l.jsx(c.FramedImage,{imageUrl:n,circularFrame:!0}),l.jsx(c.Label,{children:e}),l.jsx(c.Caption,{children:u.t("views.TRANSACTIONS.status.withdrawalPending.caption")}),l.jsx(c.PriceDisplay,{fiatAmount:s,price:a})]})}),l.jsxs(_.ExpandedContent,{sx:{pr:"0",pl:"0",mb:"base.spacing.x3",gap:"0"},children:[l.jsx(C,{size:"xSmall",sx:{px:"base.spacing.x2"}}),l.jsx(Ot,{transaction:t})]})]})]})}const Ut={display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",p:"base.spacing.x2",pb:"base.spacing.x4"};function zt({onChangeWalletClick:e}){const{t:t}=r(),{bridgeState:{from:s}}=o.useContext(mt),{track:a}=v(),n=s?.walletAddress||"",i=N(s?.web3Provider),c=L(s?.web3Provider);return l.jsxs(g,{sx:Ut,children:[l.jsxs(g,{sx:{display:"flex",alignItems:"center",gap:"base.spacing.x1"},children:[i&&!c&&l.jsx(D,{logo:"MetaMaskSymbol",sx:{width:"base.icon.size.400"}}),!i&&c&&l.jsx(D,{logo:"PassportSymbolOutlined",sx:{width:"base.icon.size.400",pr:"base.spacing.x1"}}),l.jsx(S,{leftSideLength:6,rightSideLength:4,text:n})]}),l.jsx(w,{size:"small",variant:"tertiary",onClick:()=>{a({userJourney:k.BRIDGE,screen:Be.TRANSACTIONS,controlType:"Button",control:"Pressed"}),e()},children:t("views.TRANSACTIONS.changeWallet.buttonText")})]})}function Ht({checkout:e,transactions:t,knownTokenMap:s,isPassport:a,changeWallet:i}){const{cryptoFiatState:c}=o.useContext(Pe),{t:d}=r(),[u,x]=o.useState("");o.useEffect((()=>{e&&x(M[e.config.environment])}),[e]);const p=o.useCallback(((e,t)=>e.details.current_status.status===Et.WITHDRAWAL_PENDING&&t.details.current_status.status!==Et.WITHDRAWAL_PENDING?-1:e.details.current_status.status===t.details.current_status.status?0:1),[]),E=o.useCallback((t=>B(t.details.from_token_address)?P(e.config.environment,function(e){switch(e){case n.ETHEREUM:case n.SEPOLIA:return"ETH";case n.IMTBL_ZKEVM_TESTNET:case n.IMTBL_ZKEVM_MAINNET:case n.IMTBL_ZKEVM_DEVNET:return"IMX";default:return""}}(t.details.from_chain)):P(e.config.environment,t.details.from_token_address)),[e]);return l.jsxs(g,{sx:Ft(a),children:[l.jsx(zt,{onChangeWalletClick:i}),l.jsx(g,{testId:"move-transaction-list",sx:Vt,children:t.sort(p).map((e=>{const t=e.blockchain_metadata.transaction_hash,a=s[e.details.from_chain][e.details.from_token_address.toLowerCase()],n=W.formatUnits(e.details.amount,a.decimals),o=O(n,a.symbol,c.conversions);return e.details.current_status.status===Et.WITHDRAWAL_PENDING?l.jsx(Kt,{label:a.name,transaction:e,fiatAmount:`${d("views.TRANSACTIONS.fiatPricePrefix")}${o}`,amount:n,icon:E(e)},t):l.jsx(Gt,{label:a.name,details:{text:d("views.TRANSACTIONS.status.inProgress.stepInfo"),link:u,hash:t},transaction:e,fiatAmount:`${d("views.TRANSACTIONS.fiatPricePrefix")}${o}`,amount:n,icon:E(e)},t)}))})]})}const $t={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"},Zt={display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",padding:"base.spacing.x5",flex:1},Jt={mb:"base.spacing.x8",color:"base.color.text.body.secondary"},qt={color:"base.color.text.body.secondary"};function Qt({checkout:e,isPassport:t,changeWallet:s}){const{page:a}=v(),{t:n}=r(),[i,c]=o.useState("");return o.useEffect((()=>{e&&c(b[e.config.environment])}),[e]),o.useEffect((()=>{a({userJourney:k.BRIDGE,screen:"NoTransactions"})}),[]),l.jsxs(g,{sx:$t,children:[l.jsx(zt,{onChangeWalletClick:s}),l.jsxs(g,{sx:Zt,children:[l.jsx(T,{size:"small",sx:Jt,children:n("views.TRANSACTIONS.status.noTransactions.body")}),t&&l.jsxs(T,{size:"small",sx:qt,children:[n("views.TRANSACTIONS.status.noTransactions.passport.body")," ",l.jsx(m,{size:"small",rc:l.jsx("a",{target:"_blank",href:i,rel:"noreferrer"}),children:n("views.TRANSACTIONS.status.noTransactions.passport.link")})]})]})]})}function Xt({onBackButtonClick:e}){const{eventTargetState:{eventTarget:t}}=o.useContext(G),{cryptoFiatDispatch:s}=o.useContext(Pe),{bridgeDispatch:a,bridgeState:{checkout:n,from:c}}=o.useContext(mt),{page:d}=v(),{t:u}=r(),{track:x}=v(),[p,E]=o.useState(!0),[h,T]=o.useState(void 0),[w,b]=o.useState([]),[m,f]=o.useState(!1),I=L(c?.web3Provider),A=o.useCallback((async()=>{if(!n)return{};const e=F(n.config);try{return((await n.getTokenAllowList({type:V.BRIDGE,chainId:e})).tokens??[]).reduce(((e,t)=>(e[t.address.toLowerCase()]=t,e)),{})}catch(e){return console.error(e),[]}}),[n]),y=o.useCallback((async()=>{if(!c?.web3Provider)return{};if(!c?.walletAddress)return{};const e=K(n.config);try{return(await n.getAllBalances({provider:c?.web3Provider,walletAddress:c?.walletAddress,chainId:e})).balances.reduce(((e,t)=>(e[t.token.address.toLowerCase()]=t.token,e)),{})}catch(e){return console.error(e),[]}}),[n,c]),S=o.useCallback((async e=>{x({userJourney:k.BRIDGE,screen:"EmptyStateNotConnected",control:"WalletProvider",controlType:"Select",extras:{walletProviderName:e}});try{const t=await U(n,e,!0),s=await t.getNetwork(),o=await(t?.getSigner().getAddress())??"";b([]),a({payload:{type:bt.SET_WALLETS_AND_NETWORKS,from:{web3Provider:t,walletAddress:o.toLowerCase(),network:s.chainId},to:null}})}catch(e){console.error(e)}finally{f(!1)}}),[n,c]),_=async e=>{const t=gt(F(n.config)),a=gt(K(n.config)),[o,r]=await Promise.all([A(),y()]),i={};Object.entries(e).forEach((([s,n])=>{(e[s]===t&&!o[s]||e[s]===a&&!r[s])&&(i[s]=n)}));const l=new Z(n.config.networkMap.get(F(n.config))?.rpcUrls[0]),c=new Z(n.config.networkMap.get(K(n.config))?.rpcUrls[0]),d=[],u=[];Object.entries(i).forEach((([e,s])=>{s===t?d.push(n.getTokenInfo({provider:l,tokenAddress:e})):u.push(n.getTokenInfo({provider:c,tokenAddress:e}))}));const x=await Promise.allSettled(d),p=await Promise.allSettled(u);x.filter((e=>"fulfilled"===e.status)).forEach((e=>{const t=e;o[t.value.address.toLowerCase()]=t.value})),p.filter((e=>"fulfilled"===e.status)).forEach((e=>{const t=e;r[t.value.address.toLowerCase()]=t.value}));const E=[];return Object.values(o).forEach((e=>E.push(e.symbol.toLowerCase()))),Object.values(r).forEach((e=>E.push(e.symbol.toLowerCase()))),s({payload:{type:We.SET_TOKEN_SYMBOLS,tokenSymbols:E}}),{[t]:o,[a]:r}},C=o.useCallback((async(e,t)=>new xt({env:e}).getTransactions({txType:pt.BRIDGE,fromAddress:t})),[]),R=o.useCallback((async()=>{if(!c?.walletAddress)return;const e=await C(n.config.environment,c?.walletAddress),t={};return e.result.forEach((e=>{t[e.details.from_token_address]=e.details.from_chain})),{tokens:await _(t),transactions:e.result}}),[c,C]),j=o.useMemo((()=>{const e=[i.METAMASK];return n.passport&&e.push(i.PASSPORT),e}),[n]);return o.useEffect((()=>{(async()=>{E(!0);const e=await Fe(R,J);if(!e)return void E(!1);const t=e.transactions.filter((t=>{const s=e.tokens[t.details.from_chain];if(!s)return!1;return!!s[t.details.from_token_address.toLowerCase()]}));T(e.tokens),b(t),E(!1)})()}),[c,n]),o.useEffect((()=>{d({userJourney:k.BRIDGE,screen:"Transactions"})}),[]),l.jsx(z,{testId:"bridge-view",header:l.jsx(H,{showBack:!0,onBackButtonClick:()=>{c&&(a({payload:{type:bt.SET_WALLETS_AND_NETWORKS,from:{web3Provider:c?.web3Provider,walletAddress:c?.walletAddress,network:c?.network},to:null}}),a({payload:{type:bt.SET_TOKEN_AND_AMOUNT,token:null,amount:""}})),e()},title:u("views.TRANSACTIONS.layoutHeading"),onCloseButtonClick:()=>vt(t)}),footer:l.jsx($,{}),children:l.jsxs(g,{sx:kt,children:[l.jsxs(g,{sx:Ct,children:[!c?.web3Provider&&l.jsx(Nt,{openWalletDrawer:()=>f(!0)}),c?.web3Provider&&p&&l.jsx(_t,{}),c?.web3Provider&&!p&&w.length>0&&h&&l.jsx(Ht,{checkout:n,transactions:w,knownTokenMap:h,isPassport:I,changeWallet:()=>f(!0)}),c?.web3Provider&&!p&&0===w.length&&l.jsx(Qt,{checkout:n,isPassport:I,changeWallet:()=>f(!0)})]}),c?.web3Provider&&w.length>0&&l.jsx(g,{sx:Rt,children:l.jsx(Mt,{checkout:n,isPassport:I})}),l.jsx(yt,{testId:"select-wallet-drawer",drawerText:{heading:u("views.TRANSACTIONS.walletSelection.heading")},showWalletSelectorTarget:!1,walletOptions:j,showDrawer:m,setShowDrawer:e=>{f(e)},onWalletItemClick:S})]})})}function Yt({transactionResponse:e}){const{t:t}=r(),{viewDispatch:s}=o.useContext(R),{page:a}=v();return o.useEffect((()=>{a({userJourney:k.BRIDGE,screen:"ClaimWithdrawalInProgress"})}),[]),o.useEffect((()=>{e&&(async()=>{try{const t=await e.wait();if(1===t.status)return void s({payload:{type:j.UPDATE_VIEW,view:{type:Be.CLAIM_WITHDRAWAL_SUCCESS,transactionHash:t.transactionHash}}});s({payload:{type:j.UPDATE_VIEW,view:{type:Be.CLAIM_WITHDRAWAL_FAILURE,transactionHash:t.transactionHash,reason:"Transaction failed"}}})}catch(e){console.error(e),s({payload:{type:j.UPDATE_VIEW,view:{type:Be.CLAIM_WITHDRAWAL_FAILURE,transactionHash:"",reason:"Transaction failed"}}})}})()}),[e]),l.jsx(q,{loadingText:t("views.CLAIM_WITHDRAWAL.IN_PROGRESS.loading.text"),showFooterLogo:!0})}function es(e){return e?e.substring(0,6).concat("...").concat(e.substring(e.length-4)):""}const ts={height:"100%",display:"flex",flexDirection:"column",paddingX:"base.spacing.x4"},ss={paddingTop:"base.spacing.x10",paddingBottom:"base.spacing.x4"},as={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6"},ns={[s.IMTBL_ZKEVM_DEVNET]:"base.color.text.link.primary",[s.IMTBL_ZKEVM_TESTNET]:"base.color.text.link.primary",[s.IMTBL_ZKEVM_MAINNET]:"base.color.text.link.primary",[s.ETHEREUM]:"base.color.accent.5",[s.SEPOLIA]:"base.color.accent.5"},os=e=>({backgroundColor:ns[e],"& svg":{fill:"base.color.brand.2"}}),rs={[s.IMTBL_ZKEVM_DEVNET]:"Immutable",[s.IMTBL_ZKEVM_MAINNET]:"Immutable",[s.IMTBL_ZKEVM_TESTNET]:"Immutable",[s.ETHEREUM]:"EthToken",[s.SEPOLIA]:"EthToken"};function is({testId:e,chainId:t,chainName:s,onNetworkClick:a}){return l.jsxs(c,{testId:`${e}-network-list-${t}`,size:"medium",emphasized:!0,onClick:async()=>{await a(t)},sx:{marginBottom:"base.spacing.x1"},children:[l.jsx(c.FramedIcon,{icon:rs[t],circularFrame:!0,sx:os(t)}),l.jsx(c.Label,{size:"medium",children:s})]})}const ls={[s.IMTBL_ZKEVM_DEVNET]:"base.color.text.link.primary",[s.IMTBL_ZKEVM_TESTNET]:"base.color.text.link.primary",[s.IMTBL_ZKEVM_MAINNET]:"base.color.text.link.primary",[s.ETHEREUM]:"base.color.accent.5",[s.SEPOLIA]:"base.color.accent.5"},cs={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"}},ds=e=>({width:"base.icon.size.500",padding:e===i.PASSPORT?"base.spacing.x1":"",backgroundColor:"base.color.translucent.standard.200",borderRadius:"base.borderRadius.x2"}),us={color:"base.color.text.body.secondary"},xs={paddingY:"base.spacing.x6",borderRadius:"base.borderRadius.x18"},ps=e=>({fill:"base.color.brand.2",width:"base.icon.size.300",backgroundColor:ls[e],borderRadius:"100%",padding:"base.spacing.x1"}),Es={[s.IMTBL_ZKEVM_DEVNET]:"Immutable",[s.IMTBL_ZKEVM_MAINNET]:"Immutable",[s.IMTBL_ZKEVM_TESTNET]:"Immutable",[s.ETHEREUM]:"EthToken",[s.SEPOLIA]:"EthToken"},hs={[i.PASSPORT]:"PassportSymbolOutlined",[i.METAMASK]:"MetaMaskSymbol"};function gs({testId:e,walletName:t,walletAddress:s,chainId:a,disableNetworkButton:n=!1,onWalletClick:o,onNetworkClick:r}){const c=ht(a),d=t===i.METAMASK?"Metamask":"Passport";return l.jsxs(g,{testId:`${e}-${t}-${a}-button-wrapper`,sx:cs,onClick:o,children:[l.jsx(D,{logo:hs[t],sx:ds(t)}),l.jsxs(g,{sx:{display:"flex",flexDirection:"column",flex:1},children:[l.jsx(Q,{size:"xSmall",children:d}),l.jsx(T,{size:"xSmall",sx:us,children:s})]}),l.jsxs(w,{testId:`${e}-network-${a}-button`,size:"small",disabled:n,onClick:e=>{e.stopPropagation(),r(e)},variant:"tertiary",sx:xs,children:[l.jsx(w.Icon,{icon:Es[a],sx:ps(a)}),c]})]})}const Ts="wallet-network-selector";function ws(){const{t:e}=r(),{bridgeState:{checkout:t,from:s,to:a},bridgeDispatch:n}=o.useContext(mt),{viewDispatch:c}=o.useContext(R),{track:u}=v(),x=F(t.config),p=ht(x),E=K(t.config),h=ht(E),T=o.useRef(),[b,m]=o.useState(!1),[f,I]=o.useState(!1),[A,y]=o.useState(),[S,_]=o.useState(),[C,D]=o.useState(""),[M,B]=o.useState(!1),[P,W]=o.useState(),[O,G]=o.useState(),[V,z]=o.useState(""),H=A&&S,$=P&&O,Z=o.useMemo((()=>A?L(A)?i.PASSPORT:i.METAMASK:null),[A]),J=o.useMemo((()=>A?L(P)?i.PASSPORT:i.METAMASK:null),[P]),q=o.useMemo((()=>{const e=[i.METAMASK];return t.passport&&e.push(i.PASSPORT),e}),[t]),X=o.useMemo((()=>{const e=[i.METAMASK];return t.passport&&S===x&&Z===i.METAMASK&&e.push(i.PASSPORT),e}),[t,S,Z]);o.useEffect((()=>{s&&a&&(C!==s?.walletAddress&&u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"FromWallet",controlType:"Select",extras:{walletAddress:s?.walletAddress}}),S!==s?.network&&u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"FromNetwork",controlType:"Select",extras:{chainId:s?.network}}),V!==a?.walletAddress&&u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"ToWallet",controlType:"Select",extras:{walletAddress:a?.walletAddress}}),O!==a?.network&&u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"ToNetwork",controlType:"Select",extras:{chainId:a?.network}}),y(s.web3Provider),D(s.walletAddress.toLowerCase()),_(s.network),W(a.web3Provider),z(a.walletAddress.toLowerCase()),G(a.network),n({payload:{type:bt.SET_WALLETS_AND_NETWORKS,from:null,to:null}}))}),[s,a]);const Y=o.useCallback((async e=>{let s;try{return s=await U(t,e),e===i.PASSPORT&&(T.current=s),s}catch(e){throw console.error(e),e}}),[t]);function ee(){W(null),G(null)}const te=o.useCallback((async e=>{let t;if(ee(),e===i.PASSPORT&&T.current&&(t=T.current),!t)try{t=await Y(e)}catch(e){return}y(t);const s=await t.getSigner().getAddress();if(D(s.toLowerCase()),L(t))return _(E),void m(!1);_(null),m(!1),setTimeout((()=>I(!0)),500)}),[Z,T.current]),se=o.useCallback((async e=>{if(!A)return;if(ee(),L(A))return I(!1),void _(e);const s=await(A?.getNetwork());if(s?.chainId===e)return I(!1),void _(e);let a;try{a=await t.switchNetwork({provider:A,chainId:e}),y(a.provider),I(!1),_(a.network.chainId)}catch(e){console.error(e)}}),[t,A,Z,S]),ae=o.useCallback((async e=>{if(Z===e){W(A);const e=await A.getSigner().getAddress();z(e.toLowerCase())}else{let t;if(e===i.PASSPORT&&T.current&&(t=T.current),!t)try{t=await Y(e)}catch(e){return}W(t);const s=await t.getSigner().getAddress();z(s.toLowerCase())}G(S===x?E:x),B(!1)}),[Z,S,A,T.current]),ne=o.useCallback((()=>{A&&S&&P&&O&&(n({payload:{type:bt.SET_TOKEN_BALANCES,tokenBalances:[]}}),n({payload:{type:bt.SET_ALLOWED_TOKENS,allowedTokens:[]}}),n({payload:{type:bt.SET_WALLETS_AND_NETWORKS,from:{web3Provider:A,walletAddress:C.toLowerCase(),network:S},to:{web3Provider:P,walletAddress:V.toLowerCase(),network:O}}}),u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"Next",controlType:"Button",extras:{fromWalletAddress:C,fromNetwork:S,fromWallet:{address:C,isPassportWallet:L(A),isMetaMask:N(A)},toWalletAddress:V,toNetwork:O,toWallet:{address:V,isPassportWallet:L(P),isMetaMask:N(P)}}}),c({payload:{type:j.UPDATE_VIEW,view:{type:Be.BRIDGE_FORM}}}))}),[A,S,C,P,O,V]);return l.jsxs(g,{testId:Ts,sx:ts,children:[l.jsx(Q,{testId:`${Ts}-heading`,size:"small",weight:"regular",sx:ss,children:e("views.WALLET_NETWORK_SELECTION.heading")}),l.jsx(Q,{size:"xSmall",sx:{paddingBottom:"base.spacing.x2"},children:e("views.WALLET_NETWORK_SELECTION.fromFormInput.heading")}),l.jsx(yt,{testId:`${Ts}-from`,drawerText:{heading:e("views.WALLET_NETWORK_SELECTION.fromFormInput.walletSelectorHeading"),defaultText:e("views.WALLET_NETWORK_SELECTION.fromFormInput.selectDefaultText")},showWalletSelectorTarget:!H,walletOptions:q,showDrawer:b,setShowDrawer:m,onWalletItemClick:te}),H&&Z&&l.jsxs(g,{sx:{display:"flex",flexDirection:"column",gap:"base.spacing.x10"},children:[l.jsx(gs,{testId:Ts,walletName:Z,walletAddress:es(C),chainId:S,onWalletClick:()=>{m(!0)},onNetworkClick:()=>I(!0)}),l.jsxs(g,{children:[l.jsx(Q,{size:"xSmall",sx:{paddingBottom:"base.spacing.x2"},children:e("views.WALLET_NETWORK_SELECTION.toFormInput.heading")}),l.jsx(yt,{testId:`${Ts}-to`,drawerText:{heading:e("views.WALLET_NETWORK_SELECTION.toFormInput.walletSelectorHeading"),defaultText:e("views.WALLET_NETWORK_SELECTION.toFormInput.selectDefaultText")},showWalletSelectorTarget:!$,walletOptions:X,showDrawer:M,setShowDrawer:B,onWalletItemClick:ae})]})]}),l.jsx(d,{headerBarTitle:e("views.WALLET_NETWORK_SELECTION.fromFormInput.networkSelectorHeading"),size:"full",onCloseDrawer:()=>{I(!1)},visible:f,children:l.jsxs(d.Content,{sx:{paddingX:"base.spacing.x4"},children:[l.jsx(is,{testId:Ts,chainName:h,onNetworkClick:se,chainId:E},h),Z===i.METAMASK&&l.jsx(is,{testId:Ts,chainName:p,onNetworkClick:se,chainId:x},p)]})}),$&&J&&l.jsxs(g,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[l.jsx(gs,{testId:Ts,walletName:J,walletAddress:es(V),chainId:O,disableNetworkButton:!0,onWalletClick:()=>{B(!0)},onNetworkClick:()=>{}}),l.jsx(g,{sx:as,children:l.jsx(w,{testId:`${Ts}-submit-button`,size:"large",onClick:ne,children:e("views.WALLET_NETWORK_SELECTION.submitButton.text")})})]})]})}function bs(){const{t:e}=r(),{viewDispatch:t}=o.useContext(R),{eventTargetState:{eventTarget:s}}=o.useContext(G),{page:a}=v();return o.useEffect((()=>{a({userJourney:k.BRIDGE,screen:"WalletNetworkSelection"})}),[]),l.jsx(z,{testId:"bridge-view",header:l.jsx(H,{title:e("views.WALLET_NETWORK_SELECTION.layoutHeading"),onCloseButtonClick:()=>vt(s),rightActions:l.jsx(X,{icon:"Minting",sx:Y(),onClick:()=>{t({payload:{type:j.UPDATE_VIEW,view:{type:Be.TRANSACTIONS}}})},testId:"move-transactions-button"})}),footer:l.jsx($,{}),children:l.jsx(ws,{})})}function ms(e,t){return e&&0!==parseFloat(e)?t&&Number(e)>Number(t)?"views.BRIDGE_FORM.validation.insufficientBalance":"":"views.BRIDGE_FORM.validation.noAmountInputted"}const fs={height:"100%",display:"flex",flexDirection:"column",justifyContent:"space-between",paddingTop:"base.spacing.x10"},Is={paddingTop:"base.spacing.x4",display:"flex",gap:"base.spacing.x1"},As={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6",paddingX:"base.spacing.x4"},ys={display:"flex",flexDirection:"column",alignItems:"center",paddingTop:"base.spacing.x6",paddingBottom:"base.spacing.x1",height:"100%"},Ss={color:"base.color.text.body.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"15px"},vs={display:"flex",flexDirection:"column",justifyContent:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},_s={width:"100%",height:"base.spacing.x16"},ks={display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",paddingTop:"base.spacing.x6"};function Cs({environment:e,onCloseDrawer:t,visible:s,showHeaderBar:a,walletAddress:n,showAdjustAmount:i,tokenSymbol:c,onAddCoinsClick:u}){const{t:x}=r(),[p,E]=o.useState(!1),h=ee(e),b=te(e),m=c===se?`${x("drawers.notEnoughGas.content.eth.heading")}`:`${x("drawers.notEnoughGas.content.imx.heading")}`,f=c===se?`${x("drawers.notEnoughGas.content.eth.body")}`:`${x("drawers.notEnoughGas.content.imx.body")}`,I=o.useCallback((()=>{n&&""!==n&&navigator.clipboard.writeText(n),E(!0),setTimeout((()=>{E(!1)}),3e3)}),[n]);return l.jsx(d,{headerBarTitle:void 0,size:"full",onCloseDrawer:t,visible:s,showHeaderBar:a,children:l.jsx(d.Content,{children:l.jsxs(g,{testId:"not-enough-gas-bottom-sheet",sx:ys,children:[l.jsx(ae,{imageUrl:c===se?h:b,sx:{w:"base.icon.size.600",h:"base.icon.size.600"}}),l.jsx(Q,{size:"small",sx:Ss,testId:"not-enough-gas-heading",children:m}),l.jsx(T,{sx:Ss,children:f}),l.jsxs(g,{sx:vs,children:[i&&l.jsx(w,{testId:"not-enough-gas-adjust-amount-button",sx:_s,variant:"tertiary",onClick:t,children:x("drawers.notEnoughGas.buttons.adjustAmount")}),c===se?l.jsxs(w,{testId:"not-enough-gas-copy-address-button",sx:_s,variant:"tertiary",onClick:I,children:[x("drawers.notEnoughGas.buttons.copyAddress"),l.jsx(w.Icon,{icon:p?"Tick":"CopyText"})]}):l.jsx(w,{testId:"not-enough-gas-add-imx-button",sx:_s,variant:"tertiary",onClick:u,children:x("drawers.notEnoughGas.buttons.addMoreImx")}),l.jsx(w,{sx:_s,variant:"tertiary",onClick:t,testId:"not-enough-gas-cancel-button",children:x("drawers.notEnoughGas.buttons.cancel")})]}),l.jsx(g,{sx:ks,children:l.jsx(D,{testId:"footer-logo-image",logo:"ImmutableHorizontalLockup",sx:{width:"base.spacing.x25"}})})]})})})}function Rs({sx:e}){return l.jsxs(g,{sx:{...e,paddingTop:"0",marginTop:"base.spacing.x4"},rc:l.jsx("div",{}),children:[l.jsx(g,{sx:{display:"flex",backgroundColor:"#F3F3F30A",borderRadius:"8px"},children:l.jsx(g,{sx:{minw:"170px",height:"64px",WebkitMaskPosition:"left center",WebkitMaskRepeat:"no-repeat",WebkitMaskSize:"contain",WebkitMaskImage:'url(\'data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path d="M154.75 39q1.65 0 2.85-1.15 1.15-1.15 1.15-2.85v-4q0-1.65-1.15-2.8-1.2-1.2-2.85-1.2h-93.6q-2.3 0-3.85 1.2-1.55 1.15-1.55 2.8v4q0 1.7 1.55 2.85Q58.85 39 61.15 39h93.6m-111.7-3.35q.2-1.3.2-2.65 0-1.35-.2-2.65-.75-4.9-4.5-8.65-4.7-4.7-11.3-4.7-6.65 0-11.3 4.7-4.7 4.7-4.7 11.3 0 6.65 4.7 11.3Q20.6 49 27.25 49q6.6 0 11.3-4.7 3.75-3.7 4.5-8.65Z" id="a"/></svg>\')'},rc:l.jsx("span",{}),children:l.jsx(h,{rc:l.jsx("span",{})})})}),l.jsx(g,{sx:{display:"flex",width:"100%",backgroundColor:"#F3F3F30A",borderRadius:"8px"},children:l.jsx(g,{sx:{width:"100%",height:"64px",WebkitMaskPosition:"right center",WebkitMaskRepeat:"no-repeat",WebkitMaskSize:"contain",WebkitMaskImage:'url(\'data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" width="196" height="96"><path d="M182.85 55.2Q181.65 54 180 54h-56q-1.7 0-2.85 1.2Q120 56.35 120 58v4q0 1.7 1.15 2.85Q122.3 66 124 66h56q1.65 0 2.85-1.15Q184 63.7 184 62v-4q0-1.65-1.15-2.8m0-22Q181.65 32 180 32H68q-1.7 0-2.85 1.2Q64 34.35 64 36v8q0 1.7 1.15 2.85Q66.3 48 68 48h112q1.65 0 2.85-1.15Q184 45.7 184 44v-8q0-1.65-1.15-2.8Z" id="a"/></svg>\')'},rc:l.jsx("span",{}),children:l.jsx(h,{rc:l.jsx("span",{})})})})]})}function js(e){const{t:t}=r(),{bridgeDispatch:s,bridgeState:{tokenBalances:a,allowedTokens:n,checkout:i,from:c,to:d,amount:u,token:x}}=o.useContext(mt),{cryptoFiatState:p,cryptoFiatDispatch:E}=o.useContext(Pe),{viewDispatch:h}=o.useContext(R),{testId:T,defaultAmount:b,defaultTokenAddress:m,isTokenBalancesLoading:f}=e,{track:I}=v(),[A,y]=o.useState(b||""),[S,_]=o.useState(""),[C,N]=o.useState(),[L,D]=o.useState(""),[M,P]=o.useState(""),[W,G]=o.useState(!1),V=o.useRef(!1),K=C?`${t("views.BRIDGE_FORM.content.availableBalancePrefix")} ${ne(C?.formattedBalance)}`:"",[U,z]=o.useState([]),[H,$]=o.useState(!1),[Z,J]=o.useState(""),[q,X]=o.useState(!1),Y=o.useCallback(((e,t)=>t?`${e.toLowerCase()}-${t.toLowerCase()}`:e.toLowerCase()),[]);o.useEffect((()=>{if(0===a.length)return;const e=a.filter((e=>e.balance.gt(0))).map((e=>({id:Y(e.token.symbol,e.token.address),name:e.token.name,symbol:e.token.symbol,icon:e.token.icon,balance:{formattedFiatAmount:0===p.conversions.size?oe(""):O(e.formattedBalance,e.token.symbol,p.conversions),formattedAmount:ne(e.formattedBalance)}})));z(e),V.current||(V.current=!0,m&&N(a.find((e=>B(e.token.address)&&m?.toLocaleUpperCase()===re||e.token.address?.toLowerCase()===m?.toLowerCase()))))}),[a,p.conversions,m,V.current,Y,oe]),o.useEffect((()=>{if(u&&x){y(u);for(let e=0;e<a.length;e++){const t=a[e];if(t.token.address===x.address){N(t);break}}s({payload:{type:bt.SET_TOKEN_AND_AMOUNT,token:null,amount:""}})}}),[u,x,a]);const ee=o.useMemo((()=>C&&C.token?Y(C.token.symbol,C.token.address):void 0),[C,a,p.conversions,Y]),te=o.useMemo((()=>!a.find((e=>B(e.token.address)))),[a,C,A]),ae=e=>{let t=e;if("."===t&&(t="0."),y(t),S){const e=ms(t,C?.formattedBalance);_(e)}var s;C&&(P(O(t,C.token.symbol,p.conversions)),s=!0,Number.isNaN(parseFloat(A))||parseFloat(A)<=0||!C||!c||!c.walletAddress||!d||!d.walletAddress||s&&W||!i||G(!0))};o.useEffect((()=>{E({payload:{type:We.SET_TOKEN_SYMBOLS,tokenSymbols:n.map((e=>e.symbol))}})}),[E,n]),o.useEffect((()=>{A&&C&&P(O(A,C.token.symbol,p.conversions))}),[A,C]),o.useEffect((()=>{(async()=>{if(!c?.web3Provider)return;const e=await c.web3Provider.getSigner().getAddress();J((t=>(""!==t&&t!==e&&N(void 0),e)))})()}),[c?.web3Provider,a]);const de=o.useCallback((()=>{const e=C?"":"views.BRIDGE_FORM.validation.noTokenSelected";const t=ms(A,C?.formattedBalance);return e&&D(e),t&&_(t),!e&&!t}),[C,A,D,_]),ue=o.useCallback((async()=>{de()&&i&&c?.web3Provider&&C&&(te?$(!0):(I({userJourney:k.BRIDGE,screen:"TokenAmount",control:"Review",controlType:"Button",extras:{tokenAddress:C.token.address,amount:A}}),s({payload:{type:bt.SET_TOKEN_AND_AMOUNT,token:C.token,amount:A}}),h({payload:{type:j.UPDATE_VIEW,view:{type:Be.BRIDGE_REVIEW}}})))}),[i,c?.web3Provider,de,te,C]);return l.jsxs(g,{testId:T,sx:fs,children:[l.jsxs(g,{sx:{paddingX:"base.spacing.x4"},children:[l.jsx(Q,{testId:`${T}-content-heading`,size:"small",weight:"regular",sx:{paddingBottom:"base.spacing.x4"},children:t("views.BRIDGE_FORM.content.title")}),(!m||!f)&&l.jsxs(g,{sx:Is,children:[l.jsx(Ue,{testId:"bridge-token",options:U,optionsLoading:f,coinSelectorHeading:t("views.BRIDGE_FORM.bridgeForm.from.selectorTitle"),selectedOption:ee,subtext:K,textAlign:"left",errorMessage:t(L),onSelectChange:e=>(e=>{const t=a.find((t=>e===Y(t.token.symbol,t.token.address)));t&&(N(t),D(""))})(e)}),l.jsx(ze,{testId:"bridge-amount",type:"number",value:A,placeholder:t("views.BRIDGE_FORM.bridgeForm.from.inputPlaceholder"),subtext:`${t("views.BRIDGE_FORM.content.fiatPricePrefix")} $${oe(M,!0)}`,validator:ie,onTextInputChange:e=>ae(e),onTextInputEnter:ue,textAlign:"right",errorMessage:t(S)})]}),m&&f&&l.jsx(Rs,{sx:Is})]}),l.jsxs(g,{sx:As,children:[l.jsx(w,{testId:`${T}-button`,variant:"primary",onClick:ue,size:"large",children:t("views.BRIDGE_FORM.bridgeForm.buttonText")}),l.jsx(He,{visible:q,showHeaderBar:!1,onCloseDrawer:()=>X(!1),onRetry:async()=>{X(!1),await ue()}}),l.jsx(Cs,{environment:i.config.environment,visible:H,showHeaderBar:!1,onCloseDrawer:()=>$(!1),walletAddress:Z,showAdjustAmount:B(C?.token.address),tokenSymbol:c?.network===F(i?.config)?se:le,onAddCoinsClick:()=>{h({payload:{type:j.UPDATE_VIEW,view:{type:ce.TOP_UP_VIEW}}})}})]})]})}const Ns=1e4;function Ls({amount:e,tokenAddress:t}){const{t:s}=r(),{bridgeState:a,bridgeDispatch:n}=o.useContext(mt),{checkout:i,from:c}=a,{eventTargetState:{eventTarget:d}}=o.useContext(G),[u,x]=o.useState(!1),{page:p}=v();o.useEffect((()=>{(e||t)&&p({userJourney:k.BRIDGE,screen:"TokenAmount",extras:{amount:e,tokenAddress:t}})}),[]);const E=o.useCallback((async()=>{if(i&&c?.web3Provider)try{const e=await $e({checkout:i,provider:c.web3Provider,allowTokenListType:V.BRIDGE,retryPolicy:{retryIntervalMs:0,retries:0}});if(void 0===e)return;n({payload:{type:bt.SET_TOKEN_BALANCES,tokenBalances:e.allowedBalances}}),n({payload:{type:bt.SET_ALLOWED_TOKENS,allowedTokens:e.allowList.tokens}})}catch(e){console.debug(e)}}),[i,c?.web3Provider]);return Ve(E,Ns),o.useEffect((()=>{i&&c?.web3Provider&&(x(!0),E().finally((()=>x(!1))))}),[i,c?.web3Provider]),l.jsx(z,{testId:"bridge-view",header:l.jsx(H,{showBack:!0,title:s("views.BRIDGE_FORM.header.title"),onCloseButtonClick:()=>vt(d)}),footer:l.jsx($,{}),children:l.jsx(js,{testId:"bridge-form",defaultAmount:e,defaultTokenAddress:t,isTokenBalancesLoading:u})})}const Ds={borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px",marginBottom:"2px"},Ms={borderTopLeftRadius:"0px",borderTopRightRadius:"0px",backgroundColor:"base.color.translucent.emphasis.100"},Bs={height:"100%",display:"flex",flexDirection:"column",paddingX:"base.spacing.x4"},Ps={paddingTop:"base.spacing.x10",paddingBottom:"base.spacing.x4"},Ws={display:"flex",flexDirection:"column",alignItems:"center",paddingY:"base.spacing.x1"},Os={width:"base.icon.size.300",transform:"rotate(270deg)"},Gs={width:"base.icon.size.400"},Fs=(e,t,s)=>{const a=[];if(!e?.fees||!e.token)return a;let n=de.from(0);if(e.fees.bridgeFee&&(n=n.add(e.fees.bridgeFee)),e.fees.imtblFee&&(n=n.add(e.fees.imtblFee)),n.gt(0)&&a.push({label:s("drawers.feesBreakdown.fees.serviceFee.label"),fiatAmount:`~ ${s("drawers.feesBreakdown.fees.fiatPricePrefix")}${O(ue(n,e.token.decimals),e.token.symbol,t.conversions)}`,amount:ne(ue(n,e.token.decimals))}),e.fees.sourceChainGas?.gt(0)){const n=ue(e.fees.sourceChainGas,e.token.decimals);a.push({label:s("drawers.feesBreakdown.fees.gasFeeMove.label"),fiatAmount:`~ ${s("drawers.feesBreakdown.fees.fiatPricePrefix")}${O(n,e.token.symbol,t.conversions)}`,amount:`${ne(n)}`,prefix:"~ "})}if(e.fees.approvalFee?.gt(0)){const n=ue(e.fees.approvalFee,e.token.decimals);a.push({label:s("drawers.feesBreakdown.fees.gasFeeApproval.label"),fiatAmount:`~ ${s("drawers.feesBreakdown.fees.fiatPricePrefix")}${O(n,e.token.symbol,t.conversions)}`,amount:`${ne(n)}`,prefix:"~ "})}return a},Vs={[s.IMTBL_ZKEVM_DEVNET]:"Immutable",[s.IMTBL_ZKEVM_MAINNET]:"Immutable",[s.IMTBL_ZKEVM_TESTNET]:"Immutable",[s.ETHEREUM]:"EthToken",[s.SEPOLIA]:"EthToken"},Ks={[i.PASSPORT]:"PassportSymbolOutlined",[i.METAMASK]:"MetaMaskSymbol"},Us="bridge-review-summary";function zs(){const{t:e}=r(),{viewDispatch:t}=o.useContext(R),{bridgeState:{checkout:s,tokenBridge:a,from:n,to:d,token:u,amount:x}}=o.useContext(mt),{track:p}=v(),{cryptoFiatState:E}=o.useContext(Pe),[h,b]=o.useState(!1),[m,I]=o.useState(void 0),[A,y]=o.useState(""),[S,_]=o.useState(""),[C,D]=o.useState(void 0),[M,B]=o.useState(void 0),P=e=>L(e)?i.PASSPORT:i.METAMASK,W=o.useMemo((()=>u?.symbol?`${u?.symbol} ${x}`:`${x}`),[u,x]),G=o.useMemo((()=>x&&u?O(x,u.symbol,E.conversions):""),[u,x]),F=o.useMemo((()=>n?n.walletAddress:"-"),[n]),V=o.useMemo((()=>P(n?.web3Provider)),[n]),K=o.useMemo((()=>n&&n.network),[n]),U=o.useMemo((()=>d?d.walletAddress:"-"),[d]),z=o.useMemo((()=>P(d?.web3Provider)),[d]),H=o.useMemo((()=>d?.network),[d]),$=o.useCallback((async()=>{if(!(a&&x&&n&&d&&u))return;const[e,t]=await Promise.all([a.getUnsignedApproveBridgeTx({senderAddress:F,token:u.address??re.toUpperCase(),amount:xe(x,u.decimals),sourceChainId:n?.network.toString(),destinationChainId:d?.network.toString()}),a.getUnsignedBridgeTx({senderAddress:F,recipientAddress:U,token:u.address??re.toUpperCase(),amount:xe(x,u.decimals),sourceChainId:n?.network.toString(),destinationChainId:d?.network.toString(),gasMultiplier:1.1})]);D(e),B(t);const o=t.feeData,{totalFees:r,approvalFee:i}=o;let l=r;e.unsignedTx||(l=r.sub(i),o.approvalFee=de.from(0));const c={gasEstimateType:pe.BRIDGE_TO_L2,fees:{...o,totalFees:l},token:s.config.networkMap.get(n.network)?.nativeCurrency};I(c);const p=ue(c?.fees.totalFees||0,he);y(p),_(O(p,c?.token?.symbol||"",E.conversions))}),[s,a]);Ve((()=>$()),Ee);const Z=o.useCallback((()=>Fs(m,E,e)),[m]);o.useEffect((()=>{(async()=>{b(!0),await $(),b(!1)})()}),[]);const J=o.useCallback((async()=>{C&&M&&(p({userJourney:k.BRIDGE,screen:"Summary",control:"Submit",controlType:"Button",extras:{fromWalletAddress:F,fromNetwork:K,fromWallet:{address:F,isPassportWallet:L(n?.web3Provider),isMetaMask:N(n?.web3Provider)},toWalletAddress:U,toNetwork:H,toWallet:{address:U,isPassportWallet:L(d?.web3Provider),isMetaMask:N(d?.web3Provider)},amount:x,fiatAmount:G,tokenAddress:u?.address}}),t({payload:{type:j.UPDATE_VIEW,view:{type:Be.APPROVE_TRANSACTION,approveTransaction:C,transaction:M}}}))}),[t,C,M]);return l.jsxs(g,{testId:Us,sx:Bs,children:[l.jsx(Q,{testId:`${Us}-heading`,size:"small",weight:"regular",sx:Ps,children:e("views.BRIDGE_REVIEW.heading")}),l.jsxs(c,{testId:`${Us}-from-amount`,size:"small",emphasized:!0,sx:Ds,children:[l.jsx(c.Label,{size:"small",sx:{marginBottom:"base.spacing.x4",fontWeight:"bold"},children:e("views.BRIDGE_REVIEW.fromLabel.amountHeading")}),l.jsx(c.Caption,{}),l.jsx(c.PriceDisplay,{use:l.jsx(Q,{size:"xSmall",weight:"light"}),price:W??"-",fiatAmount:`${e("views.BRIDGE_REVIEW.fiatPricePrefix")}${G}`})]}),l.jsxs(c,{testId:`${Us}-from-address`,size:"xSmall",emphasized:!0,sx:Ms,children:[V&&l.jsx(c.FramedLogo,{logo:Ks[V],sx:{backgroundColor:"base.color.translucent.standard.200"}}),l.jsxs(c.Label,{children:[l.jsx("strong",{children:e("views.BRIDGE_REVIEW.fromLabel.heading")})," ",l.jsx(T,{size:"small",sx:{color:"base.color.text.body.secondary"},children:es(F??"")})]}),K&&l.jsx(c.IntentIcon,{icon:Vs[K],sx:ps(K)})]}),l.jsx(g,{sx:Ws,children:l.jsx(f,{icon:"ArrowBackward",sx:Os})}),l.jsxs(c,{testId:`${Us}-to-address`,size:"xSmall",emphasized:!0,sx:Ds,children:[z&&l.jsx(c.FramedLogo,{logo:Ks[z],sx:{backgroundColor:"base.color.translucent.standard.200"}}),l.jsxs(c.Label,{children:[l.jsx("strong",{children:e("views.BRIDGE_REVIEW.toLabel.heading")})," ",l.jsx(T,{size:"small",sx:{color:"base.color.text.body.secondary"},children:es(U??"")})]}),H&&l.jsx(c.IntentIcon,{icon:Vs[H],sx:ps(H)})]}),l.jsx(Ze,{gasFeeValue:A,gasFeeFiatValue:S,gasFeeToken:m?.token,fees:Z(),onFeesClick:()=>{p({userJourney:k.BRIDGE,screen:"MoveCoins",control:"ViewFees",controlType:"Button"})},sx:{borderTopRightRadius:"0",borderTopLeftRadius:"0"},loading:h}),l.jsx(g,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"flex-end",paddingY:"base.spacing.x6",width:"100%"},children:l.jsx(w,{size:"large",sx:{width:"100%"},onClick:J,disabled:h,testId:`${Us}__submit-button`,children:h?l.jsx(w.Icon,{icon:"Loading",sx:Gs}):e("views.BRIDGE_REVIEW.submitButton.buttonText")})})]})}function Hs(){const{t:e}=r(),{eventTargetState:{eventTarget:t}}=o.useContext(G),{page:s}=v();return o.useEffect((()=>{s({userJourney:k.BRIDGE,screen:"Review"})}),[]),l.jsx(z,{testId:"bridge-review",header:l.jsx(H,{showBack:!0,title:e("views.BRIDGE_REVIEW.layoutHeading"),onCloseButtonClick:()=>vt(t)}),footer:l.jsx($,{}),children:l.jsx(zs,{})})}function $s({environment:e}){const{RiveComponent:t}=ge.useRive({src:`${Te[e]}/v1/blob/img/rocket.riv`,autoplay:!0,layout:new ge.Layout({fit:ge.Fit.Cover}),stateMachines:"State Machine 1"});return l.jsx(g,{sx:{...we,background:"base.color.translucent.emphasis.100"},children:l.jsx(g,{sx:be,rc:l.jsx(t,{})})})}function Zs({transactionHash:e}){const{t:t}=r(),{eventTargetState:{eventTarget:s}}=o.useContext(G),{page:a}=v(),{cryptoFiatState:n}=o.useContext(Pe),{viewDispatch:i}=o.useContext(R),{bridgeState:{checkout:c,from:d,to:u,token:x,amount:p}}=o.useContext(mt);return o.useEffect((()=>{St(s,e);const t=O(p,x?.symbol??"",n.conversions);a({userJourney:k.BRIDGE,screen:"InProgress",extras:{fromWalletAddress:d?.walletAddress,toWalletAddress:u?.walletAddress,amount:p,fiatAmount:t,tokenAddress:x?.address}})}),[]),l.jsx(z,{testId:"move-in-progress-view",header:l.jsx(H,{transparent:!0,onCloseButtonClick:()=>vt(s),rightActions:l.jsxs(l.Fragment,{children:[l.jsx(X,{icon:"Minting",sx:Y(),onClick:()=>{i({payload:{type:j.UPDATE_VIEW,view:{type:Be.TRANSACTIONS}}})},testId:"settings-button"}),l.jsx(me,{isAnimated:!0,variant:"guidance",sx:{position:"absolute",right:"base.spacing.x14",top:"base.spacing.x1"}})]})}),footer:l.jsx($,{}),heroContent:l.jsx($s,{environment:c.config.environment}),floatHeader:!0,children:l.jsxs(fe,{heading:t("views.IN_PROGRESS.heading"),children:[t("views.IN_PROGRESS.body1"),l.jsx("br",{}),l.jsx("br",{}),t("views.IN_PROGRESS.body2")]})})}function Js({approveTransaction:e,transaction:t}){const{t:s}=r(),{bridgeState:a}=o.useContext(mt),{checkout:n,from:i}=a,{viewDispatch:c}=o.useContext(R),{eventTargetState:{eventTarget:d}}=o.useContext(G),{page:u}=v();o.useEffect((()=>{u({userJourney:k.BRIDGE,screen:"ApproveTransaction"})}),[]);const[x,p]=o.useState(!1),[E,h]=o.useState(!1),[T,w]=o.useState(!1),[b,m]=o.useState(!1),f=o.useCallback((()=>{c({payload:{type:j.UPDATE_VIEW,view:{type:ce.ERROR_VIEW,error:new Error("No checkout object or no provider object found")}}})}),[c]),I=o.useCallback((()=>{c({payload:{type:j.GO_BACK}})}),[c]),A=e=>{if(e.type!==Ie.UNPREDICTABLE_GAS_LIMIT){if(e.type===Ie.TRANSACTION_FAILED||e.type===Ie.INSUFFICIENT_FUNDS||e.receipt&&0===e.receipt.status){let t="Transaction failed";return e.type===Ie.INSUFFICIENT_FUNDS&&(t="Insufficient funds"),e.receipt&&0===e.receipt.status&&(t="Transaction failed to settle on chain"),void c({payload:{type:j.UPDATE_VIEW,view:{type:Be.BRIDGE_FAILURE,reason:t}}})}c({payload:{type:j.UPDATE_VIEW,view:{type:ce.ERROR_VIEW,error:e}}})}else c({payload:{type:j.UPDATE_VIEW,view:{type:Be.BRIDGE_FAILURE,reason:"Unpredictable gas limit"}}})},y=o.useCallback((async()=>{let s=!1;if(n&&i?.web3Provider&&t){if(!x){if(p(!0),e.unsignedTx)try{h(!0);const t=await n.sendTransaction({provider:i.web3Provider,transaction:e.unsignedTx});if(1!==(await t.transactionResponse.wait()).status)return void c({payload:{type:j.UPDATE_VIEW,view:{type:Be.BRIDGE_FAILURE,reason:"Transaction failed to settle on chain"}}})}catch(e){h(!1),e.type===Ie.USER_REJECTED_REQUEST_ERROR?(m(!0),s=!0):A(e)}finally{p(!1)}try{if(s)return;h(!0);const e=await n.sendTransaction({provider:i.web3Provider,transaction:t.unsignedTx});w(!0);const a=await e.transactionResponse.wait();if(0===a.status)return void c({payload:{type:j.UPDATE_VIEW,view:{type:Be.BRIDGE_FAILURE,reason:"Approval transaction failed to settle on chain"}}});c({payload:{type:j.UPDATE_VIEW,view:{type:Be.IN_PROGRESS,transactionHash:a.transactionHash}}})}catch(e){e.type===Ie.USER_REJECTED_REQUEST_ERROR?m(!0):A(e)}finally{w(!1),h(!1),p(!1)}}}else f()}),[n,i,f,c,t,e,x]);return l.jsxs(l.Fragment,{children:[T&&l.jsx(q,{loadingText:s("views.APPROVE_TRANSACTION.loadingView.text"),showFooterLogo:!0}),!T&&l.jsx(z,{header:l.jsx(H,{transparent:!0,showBack:!0,onCloseButtonClick:()=>vt(d),onBackButtonClick:I}),floatHeader:!0,heroContent:l.jsx(Je,{}),footer:l.jsxs(g,{sx:{width:"100%",flexDirection:"column"},children:[l.jsx(Ae,{loading:E,actionText:s("views.APPROVE_TRANSACTION."+(b?"footer.retryText":"footer.buttonText")),onActionClick:y}),l.jsx($,{})]}),children:l.jsx(fe,{heading:s("views.APPROVE_TRANSACTION.content.heading"),children:l.jsx(g,{children:s("views.APPROVE_TRANSACTION.content.body")})})})]})}const qs={display:"flex",flexDirection:"column",alignItems:"center",paddingTop:"base.spacing.x6",paddingBottom:"base.spacing.x1",height:"100%"},Qs={color:"base.color.text.body.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"15px"},Xs={display:"flex",flexDirection:"column",justifyContent:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},Ys={width:"100%",height:"base.spacing.x16"};function ea({visible:e,onClose:t,onChangeAccount:s}){const{t:a}=r(),{bridgeState:{checkout:n}}=o.useContext(mt),i=ee(n.config.environment);return l.jsx(d,{headerBarTitle:void 0,size:"full",onCloseDrawer:t,visible:e,showHeaderBar:!1,children:l.jsx(d.Content,{children:l.jsxs(g,{testId:"not-enough-eth-drawer",sx:qs,children:[l.jsx(ae,{imageUrl:i,sx:{w:"base.icon.size.600",h:"base.icon.size.600"}}),l.jsx(Q,{size:"small",sx:Qs,testId:"not-enough-gas-heading",children:`${a("drawers.notEnoughEthWithdrawal.content.heading1")} ${se} ${a("drawers.notEnoughEthWithdrawal.content.heading2")}`}),l.jsx(T,{sx:Qs,children:`${a("drawers.notEnoughEthWithdrawal.content.body1")} ${se} ${a("drawers.notEnoughEthWithdrawal.content.body2")}`}),l.jsxs(g,{sx:Xs,children:[l.jsx(w,{testId:"not-enough-eth-drawer-retry-button",sx:Ys,variant:"tertiary",onClick:s,children:a("drawers.notEnoughEthWithdrawal.buttons.retry")}),l.jsx(w,{sx:Ys,variant:"tertiary",onClick:t,testId:"not-enough-eth-drawer-dismiss-button",children:a("drawers.notEnoughEthWithdrawal.buttons.dismiss")})]})]})})})}function ta({transaction:e}){const{t:t}=r(),{bridgeState:{checkout:s,tokenBridge:a,from:n}}=o.useContext(mt),{viewDispatch:c}=o.useContext(R),{eventTargetState:{eventTarget:d}}=o.useContext(G),{page:u}=v();o.useEffect((()=>{u({userJourney:k.BRIDGE,screen:"ClaimWithdrawal"})}),[]);const[x,p]=o.useState(!1),[E,h]=o.useState(!1),[T,b]=o.useState(!1),[m,f]=o.useState(),[I,A]=o.useState(!1),y=o.useCallback((()=>{c({payload:{type:j.GO_BACK}})}),[c]);o.useEffect((()=>{(async()=>{if(a&&e&&void 0!==e.details.current_status?.index){h(!0);try{const t=await(a?.getFlowRateWithdrawTx({recipient:e.details.to_address,index:e.details.current_status.index}));f(t)}catch(e){console.log(e)}finally{h(!1)}}})()}),[a,e]);const _=o.useCallback((async({forceChangeAccount:e})=>{if(!(s&&a&&n?.web3Provider&&m))return;if(!m.pendingWithdrawal.canWithdraw||!m.unsignedTx)return void console.log(`Unable to process withdrawal transaction as it is not ready yet. Delay timeout at ${m.pendingWithdrawal.timeoutEnd} `);let t=n?.web3Provider;const o=F(s.config);if(p(!0),L(n?.web3Provider)||e)try{const e=await s.createProvider({walletProviderName:i.METAMASK});t=(await s.connect({provider:e.provider,requestWalletPermissions:!0})).provider,A(!1)}catch(e){return console.log(e),b(!0),void p(!1)}let r,l=null;try{try{r=await t.estimateGas(m.unsignedTx)}catch(e){r=de.from(ye)}let e=null;try{e=await t.getFeeData()}catch(e){console.log(e)}let s=null;e&&e.lastBaseFeePerGas&&e.maxPriorityFeePerGas?s=e.lastBaseFeePerGas.add(e.maxPriorityFeePerGas):e&&e.gasPrice&&(s=e.gasPrice),s&&(l=r.mul(s))}catch(e){console.log(e)}try{const e=(await s.getAllBalances({provider:t,chainId:o})).balances.find((e=>B(e.token.address)));if(!e||e.balance.lt(l))return A(!0),void p(!1)}catch(e){console.log(e)}if((await t.getNetwork()).chainId!==o)try{t=(await s.switchNetwork({provider:t,chainId:o})).provider}catch(e){return b(!0),h(!1),void console.log(e)}try{const e=await s.sendTransaction({provider:t,transaction:m.unsignedTx});c({payload:{type:j.UPDATE_VIEW,view:{type:Be.CLAIM_WITHDRAWAL_IN_PROGRESS,transactionResponse:e.transactionResponse}}})}catch(e){console.log(e),b(!0),p(!1)}finally{p(!1)}}),[a,n,m]);return l.jsxs(z,{testId:"claim-withdrawal",header:l.jsx(H,{transparent:!0,showBack:!0,onCloseButtonClick:()=>vt(d),onBackButtonClick:y}),floatHeader:!0,heroContent:l.jsx(Je,{}),footer:l.jsxs(g,{sx:{width:"100%",display:"flex",flexDirection:"column"},children:[l.jsx(g,{sx:{pb:"base.spacing.x5",px:"base.spacing.x6",width:"100%",display:"flex",flexDirection:"column"},children:l.jsx(w,{testId:"claim-withdrawal-continue-button",size:"large",variant:"primary",disabled:E,onClick:()=>x||E?void 0:_({forceChangeAccount:!0}),children:E||x?l.jsx(w.Icon,{icon:"Loading",sx:{width:"base.icon.size.400"}}):t("views.CLAIM_WITHDRAWAL."+(T?"footer.retryText":"footer.buttonText"))})}),l.jsx($,{})]}),children:[l.jsxs(fe,{heading:`${t("views.CLAIM_WITHDRAWAL.content.heading")} ${ht(F(s.config))}`,children:[l.jsx(g,{sx:{display:"flex",flexWrap:"wrap",pb:"base.spacing.x1"},children:t("views.CLAIM_WITHDRAWAL.content.body")}),l.jsxs(g,{children:[t("views.CLAIM_WITHDRAWAL.content.body2"),l.jsx(S,{text:e.details.to_address.toLowerCase()??""})]})]}),l.jsx(ea,{visible:I,onClose:()=>A(!1),onChangeAccount:()=>_({forceChangeAccount:!0})})]})}function sa({checkout:e,web3Provider:t,config:s,amount:a,tokenAddress:n}){const{t:i}=r(),{environment:c,isOnRampEnabled:d,isSwapEnabled:u,isBridgeEnabled:E}=s,{eventTargetState:{eventTarget:h}}=o.useContext(G),{page:g}=v(),[T,w]=o.useReducer(Se,{...ve,view:{type:Be.WALLET_NETWORK_SELECTION},history:[{type:Be.WALLET_NETWORK_SELECTION}]}),[b,m]=o.useReducer(ft,{...wt,checkout:e,web3Provider:t??null,tokenBridge:(()=>{let t=Le;e.config.isDevelopment&&(t=De),e.config.isProduction&&(t=Me);const s=new Z(e.config.networkMap.get(F(e.config))?.rpcUrls[0]),a=new Z(e.config.networkMap.get(K(e.config))?.rpcUrls[0]),n=new _e({baseConfig:new ke({environment:e.config.environment}),bridgeInstance:t,rootProvider:s,childProvider:a});return new Ce(n)})()}),f=o.useMemo((()=>({viewState:T,viewDispatch:w})),[T,w]),I=o.useMemo((()=>({bridgeState:b,bridgeDispatch:m})),[b,m]),A=o.useCallback((()=>{m({payload:{type:bt.SET_WALLETS_AND_NETWORKS,from:null,to:null}}),m({payload:{type:bt.SET_TOKEN_AND_AMOUNT,amount:"",token:null}}),w({payload:{type:j.GO_BACK_TO,view:{type:Be.WALLET_NETWORK_SELECTION}}})}),[w]),y=o.useCallback((()=>{w({payload:{type:j.GO_BACK_TO,view:{type:Be.WALLET_NETWORK_SELECTION}}})}),[w]),S=o.useCallback((()=>{w({payload:{type:j.UPDATE_VIEW,view:{type:Be.TRANSACTIONS}}})}),[w]),_=o.useCallback((()=>{w({payload:{type:j.GO_BACK_TO,view:{type:Be.BRIDGE_REVIEW}}})}),[w]);return o.useEffect((()=>{(async()=>{m({payload:{type:bt.SET_PROVIDER,web3Provider:t??null}})})()}),[t]),l.jsx(R.Provider,{value:f,children:l.jsx(mt.Provider,{value:I,children:l.jsxs(Oe,{environment:c,children:[T.view.type===Be.WALLET_NETWORK_SELECTION&&l.jsx(bs,{}),T.view.type===Be.BRIDGE_FORM&&l.jsx(Ls,{amount:a,tokenAddress:n}),T.view.type===Be.BRIDGE_REVIEW&&l.jsx(Hs,{}),T.view.type===Be.IN_PROGRESS&&l.jsx(Zs,{transactionHash:T.view.transactionHash}),T.view.type===Be.BRIDGE_FAILURE&&l.jsx(Re,{testId:"bridge-fail",statusText:i("views.BRIDGE_FAILURE.bridgeFailureText.statusText"),actionText:i("views.BRIDGE_FAILURE.bridgeFailureText.actionText"),onActionClick:_,statusType:je.FAILURE,onRenderEvent:()=>{let e="";T.view.type===Be.BRIDGE_FAILURE&&(e=T.view.reason),g({userJourney:k.BRIDGE,screen:"Failed",extras:{reason:e}}),((e,t)=>{const s=new CustomEvent(x.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:p.FAILURE,data:{reason:t,timestamp:(new Date).getTime()}}});console.log("bridge failed ",e,s),void 0!==e&&e.dispatchEvent(s)})(h,e)}}),T.view.type===Be.APPROVE_TRANSACTION&&l.jsx(Js,{approveTransaction:T.view.approveTransaction,transaction:T.view.transaction}),T.view.type===Be.TRANSACTIONS&&l.jsx(Xt,{onBackButtonClick:y}),T.view.type===Be.CLAIM_WITHDRAWAL&&l.jsx(ta,{transaction:T.view.transaction}),T.view.type===ce.ERROR_VIEW&&l.jsx(Ne,{actionText:i("views.ERROR_VIEW.actionText"),onActionClick:A,onCloseClick:()=>vt(h),errorEventAction:()=>{g({userJourney:k.BRIDGE,screen:"Error"})}}),T.view.type===ce.TOP_UP_VIEW&&l.jsx(Ge,{analytics:{userJourney:k.BRIDGE},widgetEvent:x.IMTBL_BRIDGE_WIDGET_EVENT,checkout:e,provider:t,showOnrampOption:d,showSwapOption:u,showBridgeOption:E,onCloseButtonClick:()=>vt(h)}),T.view.type===Be.CLAIM_WITHDRAWAL_IN_PROGRESS&&l.jsx(Yt,{transactionResponse:T.view.transactionResponse}),T.view.type===Be.CLAIM_WITHDRAWAL_SUCCESS&&l.jsx(Re,{statusText:i("views.CLAIM_WITHDRAWAL.IN_PROGRESS.success.text"),actionText:i("views.CLAIM_WITHDRAWAL.IN_PROGRESS.success.actionText"),onRenderEvent:()=>{g({userJourney:k.BRIDGE,screen:"ClaimWithdrawalSuccess"}),((e,t)=>{const s=new CustomEvent(x.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:p.CLAIM_WITHDRAWAL_SUCCESS,data:{transactionHash:t}}});console.log("bridge claim withdrawal success event:",e,s),void 0!==e&&e.dispatchEvent(s)})(h,T.view.transactionHash)},onActionClick:S,statusType:je.SUCCESS,testId:"claim-withdrawal-success-view"}),T.view.type===Be.CLAIM_WITHDRAWAL_FAILURE&&l.jsx(Re,{statusText:i("views.CLAIM_WITHDRAWAL.IN_PROGRESS.failure.text"),actionText:i("views.CLAIM_WITHDRAWAL.IN_PROGRESS.failure.actionText"),onRenderEvent:()=>{let e="";T.view.type===Be.CLAIM_WITHDRAWAL_FAILURE&&(e=T.view.reason),g({userJourney:k.BRIDGE,screen:"ClaimWithdrawalFailure",extras:{reason:e}}),((e,t,s)=>{const a=new CustomEvent(x.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:p.CLAIM_WITHDRAWAL_FAILURE,data:{transactionHash:t,reason:s,timestamp:(new Date).getTime()}}});console.log("bridge claim withdrawal failed event:",e,a),void 0!==e&&e.dispatchEvent(a)})(h,T.view.transactionHash,"Transaction failed")},onActionClick:S,statusType:je.FAILURE,onCloseClick:()=>vt(h),testId:"claim-withdrawal-fail-view"})]})})})}var aa=Object.freeze({__proto__:null,default:sa});export{sa as B,aa as a,ht as g};
1
+ import{b4 as e,b5 as t,aq as s,b6 as a,b7 as n,r as o,u as r,b8 as i,j as l,M as c,ar as d,b9 as u,I as x,an as p,ba as E,bb as h,B as g,l as T,K as w,bc as b,a3 as m,aL as f,O as I,P as A,bd as y,be as S,a as v,bf as _,U as k,bg as C,V as R,d as j,bh as N,o as L,aK as D,bi as M,y as B,W as P,ac as W,X as O,E as G,q as F,T as V,p as K,bj as U,c as z,H,F as $,bk as Z,bl as J,L as q,t as Q,m as X,Y,bm as ee,aI as te,bn as se,aJ as ae,w as ne,n as oe,N as re,aO as ie,aU as le,S as ce,ab as de,aP as ue,aH as xe,bo as pe,aM as Ee,aS as he,bp as ge,bq as Te,a0 as we,a1 as be,br as me,e as fe,A as Ie,aV as Ae,bs as ye,v as Se,i as ve,bt as _e,aX as ke,bu as Ce,f as Re,h as je,a5 as Ne,bv as Le,bw as De,bx as Me}from"./index-ec746bdd.js";import{B as Be,C as Pe,a as We,b as Oe,T as Ge}from"./TopUpView-a266b45b.js";import{r as Fe,u as Ve}from"./retry-d29da2e9.js";import{b as Ke,S as Ue,T as ze,a as He,g as $e,F as Ze,W as Je}from"./balance-2f1a40a7.js";const{Axios:qe,AxiosError:Qe,CanceledError:Xe,isCancel:Ye,CancelToken:et,VERSION:tt,all:st,Cancel:at,isAxiosError:nt,spread:ot,toFormData:rt,AxiosHeaders:it,HttpStatusCode:lt,formToJSON:ct,getAdapter:dt,mergeConfig:ut}=e;class xt{url;ttl;env;cacheMap;setCache(e,t){this.cacheMap[e]={data:t,ttl:(new Date).getTime()+1e3*this.ttl}}getCache(e){const t=this.cacheMap[e];return!t||t.ttl<=(new Date).getTime()?null:t.data}constructor(e){this.env=e.env,this.url=`${t[this.env]}/checkout`,this.cacheMap={},this.ttl=void 0!==e.ttl?e.ttl:60}static isHttpError=e=>"code"in e;async getTransactions(t){const{txType:s,fromAddress:a}=t;try{const t=`${this.url}/v1/transactions?from_address=${a}&tx_type=${s}`,n=this.getCache(t);if(n)return Promise.resolve(n);const o=await e.get(t);if(o.status>=400)return Promise.reject({code:o.status,message:o.statusText});const{data:r}=o;return this.setCache(t,r),Promise.resolve(r)}catch(t){let s=lt.InternalServerError,a="InternalServerError";return e.isAxiosError(t)&&(s=t.response?.status||s,a=t.message),Promise.reject({code:s,message:a})}}}var pt;!function(e){e.BRIDGE="bridge"}(pt||(pt={}));const Et={IN_PROGRESS:"in_progress",WITHDRAWAL_PENDING:"withdrawal_pending"};function ht(e){switch(e){case s.ETHEREUM:return a.ETHEREUM;case s.IMTBL_ZKEVM_TESTNET:return a.IMTBL_ZKEVM_TESTNET;case s.IMTBL_ZKEVM_MAINNET:return a.IMTBL_ZKEVM_MAINNET;case s.IMTBL_ZKEVM_DEVNET:return a.IMTBL_ZKEVM_DEVNET;case s.SEPOLIA:return a.SEPOLIA;default:return""}}function gt(e){switch(e){case s.ETHEREUM:return n.ETHEREUM;case s.IMTBL_ZKEVM_TESTNET:return n.IMTBL_ZKEVM_TESTNET;case s.IMTBL_ZKEVM_MAINNET:return n.IMTBL_ZKEVM_MAINNET;case s.IMTBL_ZKEVM_DEVNET:return n.IMTBL_ZKEVM_DEVNET;case s.SEPOLIA:return n.SEPOLIA;default:return""}}function Tt(e){switch(e){case n.ETHEREUM:return s.ETHEREUM;case n.IMTBL_ZKEVM_TESTNET:return s.IMTBL_ZKEVM_TESTNET;case n.IMTBL_ZKEVM_MAINNET:return s.IMTBL_ZKEVM_MAINNET;case n.IMTBL_ZKEVM_DEVNET:return s.IMTBL_ZKEVM_DEVNET;case n.SEPOLIA:return s.SEPOLIA;default:return 0}}const wt={web3Provider:null,walletProviderName:null,from:null,to:null,tokenBridge:null,tokenBalances:[],allowedTokens:[],token:null,amount:"0"};var bt;!function(e){e.SET_WALLETS_AND_NETWORKS="SET_WALLETS_AND_NETWORKS",e.SET_WALLET_PROVIDER_NAME="SET_WALLET_PROVIDER_NAME",e.SET_PROVIDER="SET_PROVIDER",e.SET_TOKEN_BRIDGE="SET_TOKEN_BRIDGE",e.SET_TOKEN_BALANCES="SET_TOKEN_BALANCES",e.SET_ALLOWED_TOKENS="SET_ALLOWED_TOKENS",e.SET_TOKEN_AND_AMOUNT="SET_TOKEN_AND_AMOUNT"}(bt||(bt={}));const mt=o.createContext({bridgeState:{...wt,checkout:{}},bridgeDispatch:()=>{}});mt.displayName="BridgeContext";const ft=(e,t)=>{switch(t.payload.type){case bt.SET_WALLETS_AND_NETWORKS:return{...e,from:t.payload.from,to:t.payload.to};case bt.SET_WALLET_PROVIDER_NAME:return{...e,walletProviderName:t.payload.walletProviderName};case bt.SET_PROVIDER:return{...e,web3Provider:t.payload.web3Provider};case bt.SET_TOKEN_BRIDGE:return{...e,tokenBridge:t.payload.tokenBridge};case bt.SET_TOKEN_BALANCES:return{...e,tokenBalances:t.payload.tokenBalances};case bt.SET_ALLOWED_TOKENS:return{...e,allowedTokens:t.payload.allowedTokens};case bt.SET_TOKEN_AND_AMOUNT:return{...e,token:t.payload.token,amount:t.payload.amount};default:return e}};function It({testId:e,walletProviderName:t,onWalletClick:s,loading:a}){const{t:n}=r(),[d,u]=o.useState(!1),x={[i.PASSPORT]:"PassportSymbolOutlined",[i.METAMASK]:"MetaMaskSymbol"};return l.jsxs(c,{testId:`${e}-wallet-list-${t}`,size:"medium",emphasized:!0,onClick:async()=>{if(!a){u(!0);try{await s(t)}finally{u(!1)}}},children:[l.jsx(c.FramedLogo,{logo:x[t],sx:{backgroundColor:"base.color.translucent.standard.200"}}),l.jsx(c.Label,{size:"medium",children:n(`wallets.${t}.heading`)}),d&&l.jsx(c.StatefulButtCon,{state:"loading",icon:"Loading"})]})}const At={display:"flex",flexDirection:"column",gap:"base.spacing.x1",paddingX:"base.spacing.x4"};function yt({testId:e,drawerText:t,walletOptions:s,showWalletSelectorTarget:a,showDrawer:n,setShowDrawer:r,onWalletItemClick:i}){const[c,x]=o.useState(!1),{heading:p,defaultText:E}=t,h=async e=>{x(!0);try{await i(e)}catch(e){console.error(e)}finally{x(!1)}};return l.jsxs(d,{headerBarTitle:p,size:"full",onCloseDrawer:()=>{c||r(!1)},visible:n,children:[a&&l.jsx(d.Target,{children:l.jsx(Ke,{testId:`${e}-wallet-form-control`,textAlign:"left",children:l.jsx(u,{testId:`${e}-wallet-select`,defaultLabel:E??"",size:"large",targetClickOveride:()=>r(!0)})})}),l.jsx(d.Content,{sx:At,children:s.map((t=>l.jsx(It,{testId:e,loading:c,walletProviderName:t,onWalletClick:h},t)))})]})}const St=(e,t)=>{const s=new CustomEvent(x.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:p.TRANSACTION_SENT,data:{transactionHash:t}}});console.log("bridge success ",e,s),void 0!==e&&e.dispatchEvent(s)};function vt(e){const t=new CustomEvent(x.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:p.CLOSE_WIDGET,data:{}}});console.log("bridge close ",e,t),void 0!==e&&e.dispatchEvent(t)}function _t(){return l.jsxs(E,{sx:{gap:"base.spacing.x2"},children:[l.jsx(h,{sx:{h:"base.spacing.x4",w:"base.spacing.x32",mt:"base.spacing.x2"}}),l.jsx(c,{shimmer:!0,emphasized:!0,size:"small"}),l.jsx(c,{shimmer:!0,emphasized:!0,size:"small"}),l.jsx(c,{shimmer:!0,emphasized:!0,size:"small"})]})}const kt={px:"base.spacing.x4",display:"flex",flexDirection:"column",height:"100%"},Ct={flexGrow:"1",flexShrink:"0",flexBasis:"0"},Rt={flexGrow:"0",flexShrink:"1",mt:"base.spacing.x2"},jt={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 Nt({openWalletDrawer:e}){const{t:t}=r();return l.jsxs(g,{sx:jt,children:[l.jsx(T,{sx:{mb:"base.spacing.x8"},children:t("views.TRANSACTIONS.status.emptyState.notConnected.body")}),l.jsx(w,{variant:"secondary",size:"medium",testId:"transactions-connect-wallet-button",onClick:e,children:t("views.TRANSACTIONS.status.emptyState.notConnected.buttonText")})]})}const Lt={backgroundColor:"base.color.neutral.800",px:"base.spacing.x4",p:"base.spacing.x5",borderRadius:"base.borderRadius.x6"},Dt={color:"base.color.text.body.secondary"};function Mt({checkout:e,isPassport:t}){const{t:s}=r(),[a,n]=o.useState("");return o.useEffect((()=>{e&&n(b[e.config.environment])}),[e]),l.jsx(g,{sx:Lt,children:l.jsxs(g,{sx:{display:"flex",flexDirection:"column"},children:[l.jsxs(g,{children:[l.jsx(T,{size:"small",children:s("views.TRANSACTIONS.support.body1")}),l.jsxs(T,{size:"small",sx:Dt,children:[s("views.TRANSACTIONS.support.body2"),l.jsx(m,{size:"small",rc:l.jsx("a",{target:"_blank",href:s("views.TRANSACTIONS.support.supportLink"),rel:"noreferrer"}),children:s("views.TRANSACTIONS.support.body3")})]})]}),t&&l.jsxs(T,{size:"small",sx:Dt,children:[s("views.TRANSACTIONS.support.passport.body1")," ",l.jsx(m,{size:"small",rc:l.jsx("a",{target:"_blank",href:a,rel:"noreferrer"}),children:s("views.TRANSACTIONS.support.passport.body2")})]})]})})}const Bt={display:"flex",flexDirection:"column",borderRadius:"base.borderRadius.x4",bg:"base.color.translucent.emphasis.100"},Pt={p:"base.spacing.x3",d:"flex",justifyContent:"space-between",position:"relative"},Wt={display:"flex",flexGrow:"1",alignItems:"center",gap:"base.spacing.x2"};function Ot({transaction:e}){const t=Tt(e.details.from_chain),s=Tt(e.details.to_chain);return l.jsxs(g,{sx:{display:"flex",px:"base.spacing.x4",gap:"base.spacing.x2"},children:[l.jsx(f,{icon:I[t],sx:{w:"base.icon.size.250",fill:A[t]},variant:"bold"}),l.jsxs(g,{sx:{display:"flex",flexDirection:"column",flexGrow:"1"},children:[l.jsx(T,{size:"xxSmall",sx:{color:"base.color.translucent.standard.900"},children:y[t]}),l.jsx(S,{size:"xxSmall",sx:{color:"base.color.translucent.standard.600"},text:e.details.from_address})]}),l.jsx(g,{sx:{flexGrow:"1"}}),l.jsx(f,{icon:"ArrowForward",sx:{w:"base.icon.size.250",fill:"base.color.brand.4"}}),l.jsx(g,{sx:{flexGrow:"1"}}),l.jsx(f,{icon:I[s],sx:{w:"base.icon.size.250",fill:A[s]},variant:"bold"}),l.jsxs(g,{sx:{display:"flex",flexDirection:"column",flexGrow:"1"},children:[l.jsx(T,{size:"xxSmall",sx:{color:"base.color.translucent.standard.900"},children:y[s]}),l.jsx(S,{size:"xxSmall",sx:{color:"base.color.translucent.standard.600"},text:e.details.to_address})]})]})}function Gt({label:e,details:t,transaction:s,fiatAmount:a,amount:n,icon:r}){const{track:i}=v(),d=o.useMemo((()=>`${t.link}${t.hash}`),[t]);return l.jsx(g,{testId:`transaction-item-${s.blockchain_metadata.transaction_hash}`,sx:Bt,children:l.jsxs(_,{chevronSide:"right",sx:{button:{p:"base.spacing.x1"},article:{pr:"base.spacing.x10"}},onExpandChange:e=>e&&i({userJourney:k.BRIDGE,screen:"TransactionItem",control:"Accordion",controlType:"Button"}),children:[l.jsx(_.TargetLeftSlot,{sx:{pr:"base.spacing.x2"},children:l.jsxs(c,{size:"xSmall",children:[l.jsx(c.FramedImage,{imageUrl:r,circularFrame:!0}),l.jsx(c.Label,{children:e}),l.jsx(c.Caption,{children:l.jsx(m,{size:"xSmall",rc:l.jsx("a",{target:"_blank",href:d,rel:"noreferrer",onClick:e=>{return s=t,e.stopPropagation(),void i({userJourney:k.BRIDGE,screen:"TransactionItem",control:"Details",controlType:"Link",extras:{linkDetail:s}});var s}}),children:t.text})}),l.jsx(c.PriceDisplay,{fiatAmount:a,price:n})]})}),l.jsxs(_.ExpandedContent,{sx:{pr:"0",pl:"0",mb:"base.spacing.x3",gap:"0"},children:[l.jsx(C,{size:"xSmall",sx:{px:"base.spacing.x2"}}),l.jsx(Ot,{transaction:s})]})]})})}const Ft=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"}},Vt={borderRadius:"base.borderRadius.x4",display:"flex",flexDirection:"column",gap:"base.spacing.x5"};function Kt({label:e,transaction:t,fiatAmount:s,amount:a,icon:n}){const{viewDispatch:i}=o.useContext(R),{track:d}=v(),u=r(),x=o.useMemo((()=>(new Date).getTime()),[]),p=o.useMemo((()=>t.details.current_status.withdrawal_ready_at?new Date(t.details.current_status.withdrawal_ready_at):void 0),[t]),E=t.details.current_status.status===Et.WITHDRAWAL_PENDING,h=new Intl.RelativeTimeFormat(u[1].language||"en",{numeric:"auto"}),b=o.useMemo((()=>{if(!E||void 0===p)return"";const e=(p.getTime()-x)/6e4;if(e<=1)return"in 1 minute";if(e<60)return h.format(Math.ceil(e),"minute");const t=e/60;if(e<1440)return h.format(Math.ceil(t),"hour");const s=t/24;return h.format(Math.ceil(s),"day")}),[x,u[1].language]),m=!!p&&p.getTime()<x,I=o.useMemo((()=>!0===m?u.t("views.TRANSACTIONS.status.withdrawalPending.withdrawalReadyText"):`${u.t("views.TRANSACTIONS.status.withdrawalPending.withdrawalDelayText")} ${b}`),[b,u[1].language]);return l.jsxs(g,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}`,sx:Bt,children:[E&&l.jsxs(l.Fragment,{children:[l.jsxs(g,{sx:Pt,children:[l.jsxs(g,{sx:Wt,children:[l.jsx(f,{icon:"Alert",variant:"bold",sx:{fill:m?"base.color.status.fatal.bright":"base.color.status.attention.bright",w:"base.icon.size.200"}}),l.jsx(T,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}-action-message`,size:"xSmall",sx:{color:"base.color.text.body.secondary"},children:I})]}),E&&m&&l.jsx(w,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}-action-button`,variant:"primary",size:"small",onClick:()=>{i({payload:{type:j.UPDATE_VIEW,view:{type:Be.CLAIM_WITHDRAWAL,transaction:t}}})},children:u.t("views.TRANSACTIONS.status.withdrawalPending.actionButtonText")})]}),l.jsx(C,{size:"small",sx:{color:"base.color.translucent.emphasis.300",opacity:.1}})]}),l.jsxs(_,{chevronSide:"right",sx:{button:{p:"base.spacing.x1"},article:{pr:"base.spacing.x10"},borderTopRightRadius:"0",borderTopLeftRadius:"0"},onExpandChange:e=>e&&d({userJourney:k.BRIDGE,screen:"TransactionItem",control:"Accordion",controlType:"Button"}),children:[l.jsx(_.TargetLeftSlot,{sx:{pr:"base.spacing.x2"},children:l.jsxs(c,{size:"xSmall",children:[l.jsx(c.FramedImage,{imageUrl:n,circularFrame:!0}),l.jsx(c.Label,{children:e}),l.jsx(c.Caption,{children:u.t("views.TRANSACTIONS.status.withdrawalPending.caption")}),l.jsx(c.PriceDisplay,{fiatAmount:s,price:a})]})}),l.jsxs(_.ExpandedContent,{sx:{pr:"0",pl:"0",mb:"base.spacing.x3",gap:"0"},children:[l.jsx(C,{size:"xSmall",sx:{px:"base.spacing.x2"}}),l.jsx(Ot,{transaction:t})]})]})]})}const Ut={display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",p:"base.spacing.x2",pb:"base.spacing.x4"};function zt({onChangeWalletClick:e}){const{t:t}=r(),{bridgeState:{from:s}}=o.useContext(mt),{track:a}=v(),n=s?.walletAddress||"",i=N(s?.web3Provider),c=L(s?.web3Provider);return l.jsxs(g,{sx:Ut,children:[l.jsxs(g,{sx:{display:"flex",alignItems:"center",gap:"base.spacing.x1"},children:[i&&!c&&l.jsx(D,{logo:"MetaMaskSymbol",sx:{width:"base.icon.size.400"}}),!i&&c&&l.jsx(D,{logo:"PassportSymbolOutlined",sx:{width:"base.icon.size.400",pr:"base.spacing.x1"}}),l.jsx(S,{leftSideLength:6,rightSideLength:4,text:n})]}),l.jsx(w,{size:"small",variant:"tertiary",onClick:()=>{a({userJourney:k.BRIDGE,screen:Be.TRANSACTIONS,controlType:"Button",control:"Pressed"}),e()},children:t("views.TRANSACTIONS.changeWallet.buttonText")})]})}function Ht({checkout:e,transactions:t,knownTokenMap:s,isPassport:a,changeWallet:i}){const{cryptoFiatState:c}=o.useContext(Pe),{t:d}=r(),[u,x]=o.useState("");o.useEffect((()=>{e&&x(M[e.config.environment])}),[e]);const p=o.useCallback(((e,t)=>e.details.current_status.status===Et.WITHDRAWAL_PENDING&&t.details.current_status.status!==Et.WITHDRAWAL_PENDING?-1:e.details.current_status.status===t.details.current_status.status?0:1),[]),E=o.useCallback((t=>B(t.details.from_token_address)?P(e.config.environment,function(e){switch(e){case n.ETHEREUM:case n.SEPOLIA:return"ETH";case n.IMTBL_ZKEVM_TESTNET:case n.IMTBL_ZKEVM_MAINNET:case n.IMTBL_ZKEVM_DEVNET:return"IMX";default:return""}}(t.details.from_chain)):P(e.config.environment,t.details.from_token_address)),[e]);return l.jsxs(g,{sx:Ft(a),children:[l.jsx(zt,{onChangeWalletClick:i}),l.jsx(g,{testId:"move-transaction-list",sx:Vt,children:t.sort(p).map((e=>{const t=e.blockchain_metadata.transaction_hash,a=s[e.details.from_chain][e.details.from_token_address.toLowerCase()],n=W.formatUnits(e.details.amount,a.decimals),o=O(n,a.symbol,c.conversions);return e.details.current_status.status===Et.WITHDRAWAL_PENDING?l.jsx(Kt,{label:a.name,transaction:e,fiatAmount:`${d("views.TRANSACTIONS.fiatPricePrefix")}${o}`,amount:n,icon:E(e)},t):l.jsx(Gt,{label:a.name,details:{text:d("views.TRANSACTIONS.status.inProgress.stepInfo"),link:u,hash:t},transaction:e,fiatAmount:`${d("views.TRANSACTIONS.fiatPricePrefix")}${o}`,amount:n,icon:E(e)},t)}))})]})}const $t={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"},Zt={display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",padding:"base.spacing.x5",flex:1},Jt={mb:"base.spacing.x8",color:"base.color.text.body.secondary"},qt={color:"base.color.text.body.secondary"};function Qt({checkout:e,isPassport:t,changeWallet:s}){const{page:a}=v(),{t:n}=r(),[i,c]=o.useState("");return o.useEffect((()=>{e&&c(b[e.config.environment])}),[e]),o.useEffect((()=>{a({userJourney:k.BRIDGE,screen:"NoTransactions"})}),[]),l.jsxs(g,{sx:$t,children:[l.jsx(zt,{onChangeWalletClick:s}),l.jsxs(g,{sx:Zt,children:[l.jsx(T,{size:"small",sx:Jt,children:n("views.TRANSACTIONS.status.noTransactions.body")}),t&&l.jsxs(T,{size:"small",sx:qt,children:[n("views.TRANSACTIONS.status.noTransactions.passport.body")," ",l.jsx(m,{size:"small",rc:l.jsx("a",{target:"_blank",href:i,rel:"noreferrer"}),children:n("views.TRANSACTIONS.status.noTransactions.passport.link")})]})]})]})}function Xt({onBackButtonClick:e}){const{eventTargetState:{eventTarget:t}}=o.useContext(G),{cryptoFiatDispatch:s}=o.useContext(Pe),{bridgeDispatch:a,bridgeState:{checkout:n,from:c}}=o.useContext(mt),{page:d}=v(),{t:u}=r(),{track:x}=v(),[p,E]=o.useState(!0),[h,T]=o.useState(void 0),[w,b]=o.useState([]),[m,f]=o.useState(!1),I=L(c?.web3Provider),A=o.useCallback((async()=>{if(!n)return{};const e=F(n.config);try{return((await n.getTokenAllowList({type:V.BRIDGE,chainId:e})).tokens??[]).reduce(((e,t)=>(e[t.address.toLowerCase()]=t,e)),{})}catch(e){return console.error(e),[]}}),[n]),y=o.useCallback((async()=>{if(!c?.web3Provider)return{};if(!c?.walletAddress)return{};const e=K(n.config);try{return(await n.getAllBalances({provider:c?.web3Provider,walletAddress:c?.walletAddress,chainId:e})).balances.reduce(((e,t)=>(e[t.token.address.toLowerCase()]=t.token,e)),{})}catch(e){return console.error(e),[]}}),[n,c]),S=o.useCallback((async e=>{x({userJourney:k.BRIDGE,screen:"EmptyStateNotConnected",control:"WalletProvider",controlType:"Select",extras:{walletProviderName:e}});try{const t=await U(n,e,!0),s=await t.getNetwork(),o=await(t?.getSigner().getAddress())??"";b([]),a({payload:{type:bt.SET_WALLETS_AND_NETWORKS,from:{web3Provider:t,walletAddress:o.toLowerCase(),network:s.chainId},to:null}})}catch(e){console.error(e)}finally{f(!1)}}),[n,c]),_=async e=>{const t=gt(F(n.config)),a=gt(K(n.config)),[o,r]=await Promise.all([A(),y()]),i={};Object.entries(e).forEach((([s,n])=>{(e[s]===t&&!o[s]||e[s]===a&&!r[s])&&(i[s]=n)}));const l=new Z(n.config.networkMap.get(F(n.config))?.rpcUrls[0]),c=new Z(n.config.networkMap.get(K(n.config))?.rpcUrls[0]),d=[],u=[];Object.entries(i).forEach((([e,s])=>{s===t?d.push(n.getTokenInfo({provider:l,tokenAddress:e})):u.push(n.getTokenInfo({provider:c,tokenAddress:e}))}));const x=await Promise.allSettled(d),p=await Promise.allSettled(u);x.filter((e=>"fulfilled"===e.status)).forEach((e=>{const t=e;o[t.value.address.toLowerCase()]=t.value})),p.filter((e=>"fulfilled"===e.status)).forEach((e=>{const t=e;r[t.value.address.toLowerCase()]=t.value}));const E=[];return Object.values(o).forEach((e=>E.push(e.symbol.toLowerCase()))),Object.values(r).forEach((e=>E.push(e.symbol.toLowerCase()))),s({payload:{type:We.SET_TOKEN_SYMBOLS,tokenSymbols:E}}),{[t]:o,[a]:r}},C=o.useCallback((async(e,t)=>new xt({env:e}).getTransactions({txType:pt.BRIDGE,fromAddress:t})),[]),R=o.useCallback((async()=>{if(!c?.walletAddress)return;const e=await C(n.config.environment,c?.walletAddress),t={};return e.result.forEach((e=>{t[e.details.from_token_address]=e.details.from_chain})),{tokens:await _(t),transactions:e.result}}),[c,C]),j=o.useMemo((()=>{const e=[i.METAMASK];return n.passport&&e.push(i.PASSPORT),e}),[n]);return o.useEffect((()=>{(async()=>{E(!0);const e=await Fe(R,J);if(!e)return void E(!1);const t=e.transactions.filter((t=>{const s=e.tokens[t.details.from_chain];if(!s)return!1;return!!s[t.details.from_token_address.toLowerCase()]}));T(e.tokens),b(t),E(!1)})()}),[c,n]),o.useEffect((()=>{d({userJourney:k.BRIDGE,screen:"Transactions"})}),[]),l.jsx(z,{testId:"bridge-view",header:l.jsx(H,{showBack:!0,onBackButtonClick:()=>{c&&(a({payload:{type:bt.SET_WALLETS_AND_NETWORKS,from:{web3Provider:c?.web3Provider,walletAddress:c?.walletAddress,network:c?.network},to:null}}),a({payload:{type:bt.SET_TOKEN_AND_AMOUNT,token:null,amount:""}})),e()},title:u("views.TRANSACTIONS.layoutHeading"),onCloseButtonClick:()=>vt(t)}),footer:l.jsx($,{}),children:l.jsxs(g,{sx:kt,children:[l.jsxs(g,{sx:Ct,children:[!c?.web3Provider&&l.jsx(Nt,{openWalletDrawer:()=>f(!0)}),c?.web3Provider&&p&&l.jsx(_t,{}),c?.web3Provider&&!p&&w.length>0&&h&&l.jsx(Ht,{checkout:n,transactions:w,knownTokenMap:h,isPassport:I,changeWallet:()=>f(!0)}),c?.web3Provider&&!p&&0===w.length&&l.jsx(Qt,{checkout:n,isPassport:I,changeWallet:()=>f(!0)})]}),c?.web3Provider&&w.length>0&&l.jsx(g,{sx:Rt,children:l.jsx(Mt,{checkout:n,isPassport:I})}),l.jsx(yt,{testId:"select-wallet-drawer",drawerText:{heading:u("views.TRANSACTIONS.walletSelection.heading")},showWalletSelectorTarget:!1,walletOptions:j,showDrawer:m,setShowDrawer:e=>{f(e)},onWalletItemClick:S})]})})}function Yt({transactionResponse:e}){const{t:t}=r(),{viewDispatch:s}=o.useContext(R),{page:a}=v();return o.useEffect((()=>{a({userJourney:k.BRIDGE,screen:"ClaimWithdrawalInProgress"})}),[]),o.useEffect((()=>{e&&(async()=>{try{const t=await e.wait();if(1===t.status)return void s({payload:{type:j.UPDATE_VIEW,view:{type:Be.CLAIM_WITHDRAWAL_SUCCESS,transactionHash:t.transactionHash}}});s({payload:{type:j.UPDATE_VIEW,view:{type:Be.CLAIM_WITHDRAWAL_FAILURE,transactionHash:t.transactionHash,reason:"Transaction failed"}}})}catch(e){console.error(e),s({payload:{type:j.UPDATE_VIEW,view:{type:Be.CLAIM_WITHDRAWAL_FAILURE,transactionHash:"",reason:"Transaction failed"}}})}})()}),[e]),l.jsx(q,{loadingText:t("views.CLAIM_WITHDRAWAL.IN_PROGRESS.loading.text"),showFooterLogo:!0})}function es(e){return e?e.substring(0,6).concat("...").concat(e.substring(e.length-4)):""}const ts={height:"100%",display:"flex",flexDirection:"column",paddingX:"base.spacing.x4"},ss={paddingTop:"base.spacing.x10",paddingBottom:"base.spacing.x4"},as={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6"},ns={[s.IMTBL_ZKEVM_DEVNET]:"base.color.text.link.primary",[s.IMTBL_ZKEVM_TESTNET]:"base.color.text.link.primary",[s.IMTBL_ZKEVM_MAINNET]:"base.color.text.link.primary",[s.ETHEREUM]:"base.color.accent.5",[s.SEPOLIA]:"base.color.accent.5"},os=e=>({backgroundColor:ns[e],"& svg":{fill:"base.color.brand.2"}}),rs={[s.IMTBL_ZKEVM_DEVNET]:"Immutable",[s.IMTBL_ZKEVM_MAINNET]:"Immutable",[s.IMTBL_ZKEVM_TESTNET]:"Immutable",[s.ETHEREUM]:"EthToken",[s.SEPOLIA]:"EthToken"};function is({testId:e,chainId:t,chainName:s,onNetworkClick:a}){return l.jsxs(c,{testId:`${e}-network-list-${t}`,size:"medium",emphasized:!0,onClick:async()=>{await a(t)},sx:{marginBottom:"base.spacing.x1"},children:[l.jsx(c.FramedIcon,{icon:rs[t],circularFrame:!0,sx:os(t)}),l.jsx(c.Label,{size:"medium",children:s})]})}const ls={[s.IMTBL_ZKEVM_DEVNET]:"base.color.text.link.primary",[s.IMTBL_ZKEVM_TESTNET]:"base.color.text.link.primary",[s.IMTBL_ZKEVM_MAINNET]:"base.color.text.link.primary",[s.ETHEREUM]:"base.color.accent.5",[s.SEPOLIA]:"base.color.accent.5"},cs={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"}},ds=e=>({width:"base.icon.size.500",padding:e===i.PASSPORT?"base.spacing.x1":"",backgroundColor:"base.color.translucent.standard.200",borderRadius:"base.borderRadius.x2"}),us={color:"base.color.text.body.secondary"},xs={paddingY:"base.spacing.x6",borderRadius:"base.borderRadius.x18"},ps=e=>({fill:"base.color.brand.2",width:"base.icon.size.300",backgroundColor:ls[e],borderRadius:"100%",padding:"base.spacing.x1"}),Es={[s.IMTBL_ZKEVM_DEVNET]:"Immutable",[s.IMTBL_ZKEVM_MAINNET]:"Immutable",[s.IMTBL_ZKEVM_TESTNET]:"Immutable",[s.ETHEREUM]:"EthToken",[s.SEPOLIA]:"EthToken"},hs={[i.PASSPORT]:"PassportSymbolOutlined",[i.METAMASK]:"MetaMaskSymbol"};function gs({testId:e,walletName:t,walletAddress:s,chainId:a,disableNetworkButton:n=!1,onWalletClick:o,onNetworkClick:r}){const c=ht(a),d=t===i.METAMASK?"Metamask":"Passport";return l.jsxs(g,{testId:`${e}-${t}-${a}-button-wrapper`,sx:cs,onClick:o,children:[l.jsx(D,{logo:hs[t],sx:ds(t)}),l.jsxs(g,{sx:{display:"flex",flexDirection:"column",flex:1},children:[l.jsx(Q,{size:"xSmall",children:d}),l.jsx(T,{size:"xSmall",sx:us,children:s})]}),l.jsxs(w,{testId:`${e}-network-${a}-button`,size:"small",disabled:n,onClick:e=>{e.stopPropagation(),r(e)},variant:"tertiary",sx:xs,children:[l.jsx(w.Icon,{icon:Es[a],sx:ps(a)}),c]})]})}const Ts="wallet-network-selector";function ws(){const{t:e}=r(),{bridgeState:{checkout:t,from:s,to:a},bridgeDispatch:n}=o.useContext(mt),{viewDispatch:c}=o.useContext(R),{track:u}=v(),x=F(t.config),p=ht(x),E=K(t.config),h=ht(E),T=o.useRef(),[b,m]=o.useState(!1),[f,I]=o.useState(!1),[A,y]=o.useState(),[S,_]=o.useState(),[C,D]=o.useState(""),[M,B]=o.useState(!1),[P,W]=o.useState(),[O,G]=o.useState(),[V,z]=o.useState(""),H=A&&S,$=P&&O,Z=o.useMemo((()=>A?L(A)?i.PASSPORT:i.METAMASK:null),[A]),J=o.useMemo((()=>A?L(P)?i.PASSPORT:i.METAMASK:null),[P]),q=o.useMemo((()=>{const e=[i.METAMASK];return t.passport&&e.push(i.PASSPORT),e}),[t]),X=o.useMemo((()=>{const e=[i.METAMASK];return t.passport&&S===x&&Z===i.METAMASK&&e.push(i.PASSPORT),e}),[t,S,Z]);o.useEffect((()=>{s&&a&&(C!==s?.walletAddress&&u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"FromWallet",controlType:"Select",extras:{walletAddress:s?.walletAddress}}),S!==s?.network&&u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"FromNetwork",controlType:"Select",extras:{chainId:s?.network}}),V!==a?.walletAddress&&u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"ToWallet",controlType:"Select",extras:{walletAddress:a?.walletAddress}}),O!==a?.network&&u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"ToNetwork",controlType:"Select",extras:{chainId:a?.network}}),y(s.web3Provider),D(s.walletAddress.toLowerCase()),_(s.network),W(a.web3Provider),z(a.walletAddress.toLowerCase()),G(a.network),n({payload:{type:bt.SET_WALLETS_AND_NETWORKS,from:null,to:null}}))}),[s,a]);const Y=o.useCallback((async e=>{let s;try{return s=await U(t,e),e===i.PASSPORT&&(T.current=s),s}catch(e){throw console.error(e),e}}),[t]);function ee(){W(null),G(null)}const te=o.useCallback((async e=>{let t;if(ee(),e===i.PASSPORT&&T.current&&(t=T.current),!t)try{t=await Y(e)}catch(e){return}y(t);const s=await t.getSigner().getAddress();if(D(s.toLowerCase()),L(t))return _(E),void m(!1);_(null),m(!1),setTimeout((()=>I(!0)),500)}),[Z,T.current]),se=o.useCallback((async e=>{if(!A)return;if(ee(),L(A))return I(!1),void _(e);const s=await(A?.getNetwork());if(s?.chainId===e)return I(!1),void _(e);let a;try{a=await t.switchNetwork({provider:A,chainId:e}),y(a.provider),I(!1),_(a.network.chainId)}catch(e){console.error(e)}}),[t,A,Z,S]),ae=o.useCallback((async e=>{if(Z===e){W(A);const e=await A.getSigner().getAddress();z(e.toLowerCase())}else{let t;if(e===i.PASSPORT&&T.current&&(t=T.current),!t)try{t=await Y(e)}catch(e){return}W(t);const s=await t.getSigner().getAddress();z(s.toLowerCase())}G(S===x?E:x),B(!1)}),[Z,S,A,T.current]),ne=o.useCallback((()=>{A&&S&&P&&O&&(n({payload:{type:bt.SET_TOKEN_BALANCES,tokenBalances:[]}}),n({payload:{type:bt.SET_ALLOWED_TOKENS,allowedTokens:[]}}),n({payload:{type:bt.SET_WALLETS_AND_NETWORKS,from:{web3Provider:A,walletAddress:C.toLowerCase(),network:S},to:{web3Provider:P,walletAddress:V.toLowerCase(),network:O}}}),u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"Next",controlType:"Button",extras:{fromWalletAddress:C,fromNetwork:S,fromWallet:{address:C,isPassportWallet:L(A),isMetaMask:N(A)},toWalletAddress:V,toNetwork:O,toWallet:{address:V,isPassportWallet:L(P),isMetaMask:N(P)}}}),c({payload:{type:j.UPDATE_VIEW,view:{type:Be.BRIDGE_FORM}}}))}),[A,S,C,P,O,V]);return l.jsxs(g,{testId:Ts,sx:ts,children:[l.jsx(Q,{testId:`${Ts}-heading`,size:"small",weight:"regular",sx:ss,children:e("views.WALLET_NETWORK_SELECTION.heading")}),l.jsx(Q,{size:"xSmall",sx:{paddingBottom:"base.spacing.x2"},children:e("views.WALLET_NETWORK_SELECTION.fromFormInput.heading")}),l.jsx(yt,{testId:`${Ts}-from`,drawerText:{heading:e("views.WALLET_NETWORK_SELECTION.fromFormInput.walletSelectorHeading"),defaultText:e("views.WALLET_NETWORK_SELECTION.fromFormInput.selectDefaultText")},showWalletSelectorTarget:!H,walletOptions:q,showDrawer:b,setShowDrawer:m,onWalletItemClick:te}),H&&Z&&l.jsxs(g,{sx:{display:"flex",flexDirection:"column",gap:"base.spacing.x10"},children:[l.jsx(gs,{testId:Ts,walletName:Z,walletAddress:es(C),chainId:S,onWalletClick:()=>{m(!0)},onNetworkClick:()=>I(!0)}),l.jsxs(g,{children:[l.jsx(Q,{size:"xSmall",sx:{paddingBottom:"base.spacing.x2"},children:e("views.WALLET_NETWORK_SELECTION.toFormInput.heading")}),l.jsx(yt,{testId:`${Ts}-to`,drawerText:{heading:e("views.WALLET_NETWORK_SELECTION.toFormInput.walletSelectorHeading"),defaultText:e("views.WALLET_NETWORK_SELECTION.toFormInput.selectDefaultText")},showWalletSelectorTarget:!$,walletOptions:X,showDrawer:M,setShowDrawer:B,onWalletItemClick:ae})]})]}),l.jsx(d,{headerBarTitle:e("views.WALLET_NETWORK_SELECTION.fromFormInput.networkSelectorHeading"),size:"full",onCloseDrawer:()=>{I(!1)},visible:f,children:l.jsxs(d.Content,{sx:{paddingX:"base.spacing.x4"},children:[l.jsx(is,{testId:Ts,chainName:h,onNetworkClick:se,chainId:E},h),Z===i.METAMASK&&l.jsx(is,{testId:Ts,chainName:p,onNetworkClick:se,chainId:x},p)]})}),$&&J&&l.jsxs(g,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[l.jsx(gs,{testId:Ts,walletName:J,walletAddress:es(V),chainId:O,disableNetworkButton:!0,onWalletClick:()=>{B(!0)},onNetworkClick:()=>{}}),l.jsx(g,{sx:as,children:l.jsx(w,{testId:`${Ts}-submit-button`,size:"large",onClick:ne,children:e("views.WALLET_NETWORK_SELECTION.submitButton.text")})})]})]})}function bs(){const{t:e}=r(),{viewDispatch:t}=o.useContext(R),{eventTargetState:{eventTarget:s}}=o.useContext(G),{page:a}=v();return o.useEffect((()=>{a({userJourney:k.BRIDGE,screen:"WalletNetworkSelection"})}),[]),l.jsx(z,{testId:"bridge-view",header:l.jsx(H,{title:e("views.WALLET_NETWORK_SELECTION.layoutHeading"),onCloseButtonClick:()=>vt(s),rightActions:l.jsx(X,{icon:"Minting",sx:Y(),onClick:()=>{t({payload:{type:j.UPDATE_VIEW,view:{type:Be.TRANSACTIONS}}})},testId:"move-transactions-button"})}),footer:l.jsx($,{}),children:l.jsx(ws,{})})}function ms(e,t){return e&&0!==parseFloat(e)?t&&Number(e)>Number(t)?"views.BRIDGE_FORM.validation.insufficientBalance":"":"views.BRIDGE_FORM.validation.noAmountInputted"}const fs={height:"100%",display:"flex",flexDirection:"column",justifyContent:"space-between",paddingTop:"base.spacing.x10"},Is={paddingTop:"base.spacing.x4",display:"flex",gap:"base.spacing.x1"},As={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6",paddingX:"base.spacing.x4"},ys={display:"flex",flexDirection:"column",alignItems:"center",paddingTop:"base.spacing.x6",paddingBottom:"base.spacing.x1",height:"100%"},Ss={color:"base.color.text.body.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"15px"},vs={display:"flex",flexDirection:"column",justifyContent:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},_s={width:"100%",height:"base.spacing.x16"},ks={display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",paddingTop:"base.spacing.x6"};function Cs({environment:e,onCloseDrawer:t,visible:s,showHeaderBar:a,walletAddress:n,showAdjustAmount:i,tokenSymbol:c,onAddCoinsClick:u}){const{t:x}=r(),[p,E]=o.useState(!1),h=ee(e),b=te(e),m=c===se?`${x("drawers.notEnoughGas.content.eth.heading")}`:`${x("drawers.notEnoughGas.content.imx.heading")}`,f=c===se?`${x("drawers.notEnoughGas.content.eth.body")}`:`${x("drawers.notEnoughGas.content.imx.body")}`,I=o.useCallback((()=>{n&&""!==n&&navigator.clipboard.writeText(n),E(!0),setTimeout((()=>{E(!1)}),3e3)}),[n]);return l.jsx(d,{headerBarTitle:void 0,size:"full",onCloseDrawer:t,visible:s,showHeaderBar:a,children:l.jsx(d.Content,{children:l.jsxs(g,{testId:"not-enough-gas-bottom-sheet",sx:ys,children:[l.jsx(ae,{imageUrl:c===se?h:b,sx:{w:"base.icon.size.600",h:"base.icon.size.600"}}),l.jsx(Q,{size:"small",sx:Ss,testId:"not-enough-gas-heading",children:m}),l.jsx(T,{sx:Ss,children:f}),l.jsxs(g,{sx:vs,children:[i&&l.jsx(w,{testId:"not-enough-gas-adjust-amount-button",sx:_s,variant:"tertiary",onClick:t,children:x("drawers.notEnoughGas.buttons.adjustAmount")}),c===se?l.jsxs(w,{testId:"not-enough-gas-copy-address-button",sx:_s,variant:"tertiary",onClick:I,children:[x("drawers.notEnoughGas.buttons.copyAddress"),l.jsx(w.Icon,{icon:p?"Tick":"CopyText"})]}):l.jsx(w,{testId:"not-enough-gas-add-imx-button",sx:_s,variant:"tertiary",onClick:u,children:x("drawers.notEnoughGas.buttons.addMoreImx")}),l.jsx(w,{sx:_s,variant:"tertiary",onClick:t,testId:"not-enough-gas-cancel-button",children:x("drawers.notEnoughGas.buttons.cancel")})]}),l.jsx(g,{sx:ks,children:l.jsx(D,{testId:"footer-logo-image",logo:"ImmutableHorizontalLockup",sx:{width:"base.spacing.x25"}})})]})})})}function Rs({sx:e}){return l.jsxs(g,{sx:{...e,paddingTop:"0",marginTop:"base.spacing.x4"},rc:l.jsx("div",{}),children:[l.jsx(g,{sx:{display:"flex",backgroundColor:"#F3F3F30A",borderRadius:"8px"},children:l.jsx(g,{sx:{minw:"170px",height:"64px",WebkitMaskPosition:"left center",WebkitMaskRepeat:"no-repeat",WebkitMaskSize:"contain",WebkitMaskImage:'url(\'data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path d="M154.75 39q1.65 0 2.85-1.15 1.15-1.15 1.15-2.85v-4q0-1.65-1.15-2.8-1.2-1.2-2.85-1.2h-93.6q-2.3 0-3.85 1.2-1.55 1.15-1.55 2.8v4q0 1.7 1.55 2.85Q58.85 39 61.15 39h93.6m-111.7-3.35q.2-1.3.2-2.65 0-1.35-.2-2.65-.75-4.9-4.5-8.65-4.7-4.7-11.3-4.7-6.65 0-11.3 4.7-4.7 4.7-4.7 11.3 0 6.65 4.7 11.3Q20.6 49 27.25 49q6.6 0 11.3-4.7 3.75-3.7 4.5-8.65Z" id="a"/></svg>\')'},rc:l.jsx("span",{}),children:l.jsx(h,{rc:l.jsx("span",{})})})}),l.jsx(g,{sx:{display:"flex",width:"100%",backgroundColor:"#F3F3F30A",borderRadius:"8px"},children:l.jsx(g,{sx:{width:"100%",height:"64px",WebkitMaskPosition:"right center",WebkitMaskRepeat:"no-repeat",WebkitMaskSize:"contain",WebkitMaskImage:'url(\'data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" width="196" height="96"><path d="M182.85 55.2Q181.65 54 180 54h-56q-1.7 0-2.85 1.2Q120 56.35 120 58v4q0 1.7 1.15 2.85Q122.3 66 124 66h56q1.65 0 2.85-1.15Q184 63.7 184 62v-4q0-1.65-1.15-2.8m0-22Q181.65 32 180 32H68q-1.7 0-2.85 1.2Q64 34.35 64 36v8q0 1.7 1.15 2.85Q66.3 48 68 48h112q1.65 0 2.85-1.15Q184 45.7 184 44v-8q0-1.65-1.15-2.8Z" id="a"/></svg>\')'},rc:l.jsx("span",{}),children:l.jsx(h,{rc:l.jsx("span",{})})})})]})}function js(e){const{t:t}=r(),{bridgeDispatch:s,bridgeState:{tokenBalances:a,allowedTokens:n,checkout:i,from:c,to:d,amount:u,token:x}}=o.useContext(mt),{cryptoFiatState:p,cryptoFiatDispatch:E}=o.useContext(Pe),{viewDispatch:h}=o.useContext(R),{testId:T,defaultAmount:b,defaultTokenAddress:m,isTokenBalancesLoading:f}=e,{track:I}=v(),[A,y]=o.useState(b||""),[S,_]=o.useState(""),[C,N]=o.useState(),[L,D]=o.useState(""),[M,P]=o.useState(""),[W,G]=o.useState(!1),V=o.useRef(!1),K=C?`${t("views.BRIDGE_FORM.content.availableBalancePrefix")} ${ne(C?.formattedBalance)}`:"",[U,z]=o.useState([]),[H,$]=o.useState(!1),[Z,J]=o.useState(""),[q,X]=o.useState(!1),Y=o.useCallback(((e,t)=>t?`${e.toLowerCase()}-${t.toLowerCase()}`:e.toLowerCase()),[]);o.useEffect((()=>{if(0===a.length)return;const e=a.filter((e=>e.balance.gt(0))).map((e=>({id:Y(e.token.symbol,e.token.address),name:e.token.name,symbol:e.token.symbol,icon:e.token.icon,balance:{formattedFiatAmount:0===p.conversions.size?oe(""):O(e.formattedBalance,e.token.symbol,p.conversions),formattedAmount:ne(e.formattedBalance)}})));z(e),V.current||(V.current=!0,m&&N(a.find((e=>B(e.token.address)&&m?.toLocaleUpperCase()===re||e.token.address?.toLowerCase()===m?.toLowerCase()))))}),[a,p.conversions,m,V.current,Y,oe]),o.useEffect((()=>{if(u&&x){y(u);for(let e=0;e<a.length;e++){const t=a[e];if(t.token.address===x.address){N(t);break}}s({payload:{type:bt.SET_TOKEN_AND_AMOUNT,token:null,amount:""}})}}),[u,x,a]);const ee=o.useMemo((()=>C&&C.token?Y(C.token.symbol,C.token.address):void 0),[C,a,p.conversions,Y]),te=o.useMemo((()=>!a.find((e=>B(e.token.address)))),[a,C,A]),ae=e=>{let t=e;if("."===t&&(t="0."),y(t),S){const e=ms(t,C?.formattedBalance);_(e)}var s;C&&(P(O(t,C.token.symbol,p.conversions)),s=!0,Number.isNaN(parseFloat(A))||parseFloat(A)<=0||!C||!c||!c.walletAddress||!d||!d.walletAddress||s&&W||!i||G(!0))};o.useEffect((()=>{E({payload:{type:We.SET_TOKEN_SYMBOLS,tokenSymbols:n.map((e=>e.symbol))}})}),[E,n]),o.useEffect((()=>{A&&C&&P(O(A,C.token.symbol,p.conversions))}),[A,C]),o.useEffect((()=>{(async()=>{if(!c?.web3Provider)return;const e=await c.web3Provider.getSigner().getAddress();J((t=>(""!==t&&t!==e&&N(void 0),e)))})()}),[c?.web3Provider,a]);const de=o.useCallback((()=>{const e=C?"":"views.BRIDGE_FORM.validation.noTokenSelected";const t=ms(A,C?.formattedBalance);return e&&D(e),t&&_(t),!e&&!t}),[C,A,D,_]),ue=o.useCallback((async()=>{de()&&i&&c?.web3Provider&&C&&(te?$(!0):(I({userJourney:k.BRIDGE,screen:"TokenAmount",control:"Review",controlType:"Button",extras:{tokenAddress:C.token.address,amount:A}}),s({payload:{type:bt.SET_TOKEN_AND_AMOUNT,token:C.token,amount:A}}),h({payload:{type:j.UPDATE_VIEW,view:{type:Be.BRIDGE_REVIEW}}})))}),[i,c?.web3Provider,de,te,C]);return l.jsxs(g,{testId:T,sx:fs,children:[l.jsxs(g,{sx:{paddingX:"base.spacing.x4"},children:[l.jsx(Q,{testId:`${T}-content-heading`,size:"small",weight:"regular",sx:{paddingBottom:"base.spacing.x4"},children:t("views.BRIDGE_FORM.content.title")}),(!m||!f)&&l.jsxs(g,{sx:Is,children:[l.jsx(Ue,{testId:"bridge-token",options:U,optionsLoading:f,coinSelectorHeading:t("views.BRIDGE_FORM.bridgeForm.from.selectorTitle"),selectedOption:ee,subtext:K,textAlign:"left",errorMessage:t(L),onSelectChange:e=>(e=>{const t=a.find((t=>e===Y(t.token.symbol,t.token.address)));t&&(N(t),D(""))})(e)}),l.jsx(ze,{testId:"bridge-amount",type:"number",value:A,placeholder:t("views.BRIDGE_FORM.bridgeForm.from.inputPlaceholder"),subtext:`${t("views.BRIDGE_FORM.content.fiatPricePrefix")} $${oe(M,!0)}`,validator:ie,onTextInputChange:e=>ae(e),onTextInputEnter:ue,textAlign:"right",errorMessage:t(S)})]}),m&&f&&l.jsx(Rs,{sx:Is})]}),l.jsxs(g,{sx:As,children:[l.jsx(w,{testId:`${T}-button`,variant:"primary",onClick:ue,size:"large",children:t("views.BRIDGE_FORM.bridgeForm.buttonText")}),l.jsx(He,{visible:q,showHeaderBar:!1,onCloseDrawer:()=>X(!1),onRetry:async()=>{X(!1),await ue()}}),l.jsx(Cs,{environment:i.config.environment,visible:H,showHeaderBar:!1,onCloseDrawer:()=>$(!1),walletAddress:Z,showAdjustAmount:B(C?.token.address),tokenSymbol:c?.network===F(i?.config)?se:le,onAddCoinsClick:()=>{h({payload:{type:j.UPDATE_VIEW,view:{type:ce.TOP_UP_VIEW}}})}})]})]})}const Ns=1e4;function Ls({amount:e,tokenAddress:t}){const{t:s}=r(),{bridgeState:a,bridgeDispatch:n}=o.useContext(mt),{checkout:i,from:c}=a,{eventTargetState:{eventTarget:d}}=o.useContext(G),[u,x]=o.useState(!1),{page:p}=v();o.useEffect((()=>{(e||t)&&p({userJourney:k.BRIDGE,screen:"TokenAmount",extras:{amount:e,tokenAddress:t}})}),[]);const E=o.useCallback((async()=>{if(i&&c?.web3Provider)try{const e=await $e({checkout:i,provider:c.web3Provider,allowTokenListType:V.BRIDGE,retryPolicy:{retryIntervalMs:0,retries:0}});if(void 0===e)return;n({payload:{type:bt.SET_TOKEN_BALANCES,tokenBalances:e.allowedBalances}}),n({payload:{type:bt.SET_ALLOWED_TOKENS,allowedTokens:e.allowList.tokens}})}catch(e){console.debug(e)}}),[i,c?.web3Provider]);return Ve(E,Ns),o.useEffect((()=>{i&&c?.web3Provider&&(x(!0),E().finally((()=>x(!1))))}),[i,c?.web3Provider]),l.jsx(z,{testId:"bridge-view",header:l.jsx(H,{showBack:!0,title:s("views.BRIDGE_FORM.header.title"),onCloseButtonClick:()=>vt(d)}),footer:l.jsx($,{}),children:l.jsx(js,{testId:"bridge-form",defaultAmount:e,defaultTokenAddress:t,isTokenBalancesLoading:u})})}const Ds={borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px",marginBottom:"2px"},Ms={borderTopLeftRadius:"0px",borderTopRightRadius:"0px",backgroundColor:"base.color.translucent.emphasis.100"},Bs={height:"100%",display:"flex",flexDirection:"column",paddingX:"base.spacing.x4"},Ps={paddingTop:"base.spacing.x10",paddingBottom:"base.spacing.x4"},Ws={display:"flex",flexDirection:"column",alignItems:"center",paddingY:"base.spacing.x1"},Os={width:"base.icon.size.300",transform:"rotate(270deg)"},Gs={width:"base.icon.size.400"},Fs=(e,t,s)=>{const a=[];if(!e?.fees||!e.token)return a;let n=de.from(0);if(e.fees.bridgeFee&&(n=n.add(e.fees.bridgeFee)),e.fees.imtblFee&&(n=n.add(e.fees.imtblFee)),n.gt(0)&&a.push({label:s("drawers.feesBreakdown.fees.serviceFee.label"),fiatAmount:`~ ${s("drawers.feesBreakdown.fees.fiatPricePrefix")}${O(ue(n,e.token.decimals),e.token.symbol,t.conversions)}`,amount:ne(ue(n,e.token.decimals))}),e.fees.sourceChainGas?.gt(0)){const n=ue(e.fees.sourceChainGas,e.token.decimals);a.push({label:s("drawers.feesBreakdown.fees.gasFeeMove.label"),fiatAmount:`~ ${s("drawers.feesBreakdown.fees.fiatPricePrefix")}${O(n,e.token.symbol,t.conversions)}`,amount:`${ne(n)}`,prefix:"~ "})}if(e.fees.approvalFee?.gt(0)){const n=ue(e.fees.approvalFee,e.token.decimals);a.push({label:s("drawers.feesBreakdown.fees.gasFeeApproval.label"),fiatAmount:`~ ${s("drawers.feesBreakdown.fees.fiatPricePrefix")}${O(n,e.token.symbol,t.conversions)}`,amount:`${ne(n)}`,prefix:"~ "})}return a},Vs={[s.IMTBL_ZKEVM_DEVNET]:"Immutable",[s.IMTBL_ZKEVM_MAINNET]:"Immutable",[s.IMTBL_ZKEVM_TESTNET]:"Immutable",[s.ETHEREUM]:"EthToken",[s.SEPOLIA]:"EthToken"},Ks={[i.PASSPORT]:"PassportSymbolOutlined",[i.METAMASK]:"MetaMaskSymbol"},Us="bridge-review-summary";function zs(){const{t:e}=r(),{viewDispatch:t}=o.useContext(R),{bridgeState:{checkout:s,tokenBridge:a,from:n,to:d,token:u,amount:x}}=o.useContext(mt),{track:p}=v(),{cryptoFiatState:E}=o.useContext(Pe),[h,b]=o.useState(!1),[m,I]=o.useState(void 0),[A,y]=o.useState(""),[S,_]=o.useState(""),[C,D]=o.useState(void 0),[M,B]=o.useState(void 0),P=e=>L(e)?i.PASSPORT:i.METAMASK,W=o.useMemo((()=>u?.symbol?`${u?.symbol} ${x}`:`${x}`),[u,x]),G=o.useMemo((()=>x&&u?O(x,u.symbol,E.conversions):""),[u,x]),F=o.useMemo((()=>n?n.walletAddress:"-"),[n]),V=o.useMemo((()=>P(n?.web3Provider)),[n]),K=o.useMemo((()=>n&&n.network),[n]),U=o.useMemo((()=>d?d.walletAddress:"-"),[d]),z=o.useMemo((()=>P(d?.web3Provider)),[d]),H=o.useMemo((()=>d?.network),[d]),$=o.useCallback((async()=>{if(!(a&&x&&n&&d&&u))return;const[e,t]=await Promise.all([a.getUnsignedApproveBridgeTx({senderAddress:F,token:u.address??re.toUpperCase(),amount:xe(x,u.decimals),sourceChainId:n?.network.toString(),destinationChainId:d?.network.toString()}),a.getUnsignedBridgeTx({senderAddress:F,recipientAddress:U,token:u.address??re.toUpperCase(),amount:xe(x,u.decimals),sourceChainId:n?.network.toString(),destinationChainId:d?.network.toString(),gasMultiplier:1.1})]);D(e),B(t);const o=t.feeData,{totalFees:r,approvalFee:i}=o;let l=r;e.unsignedTx||(l=r.sub(i),o.approvalFee=de.from(0));const c={gasEstimateType:pe.BRIDGE_TO_L2,fees:{...o,totalFees:l},token:s.config.networkMap.get(n.network)?.nativeCurrency};I(c);const p=ue(c?.fees.totalFees||0,he);y(p),_(O(p,c?.token?.symbol||"",E.conversions))}),[s,a]);Ve((()=>$()),Ee);const Z=o.useCallback((()=>Fs(m,E,e)),[m]);o.useEffect((()=>{(async()=>{b(!0),await $(),b(!1)})()}),[]);const J=o.useCallback((async()=>{C&&M&&(p({userJourney:k.BRIDGE,screen:"Summary",control:"Submit",controlType:"Button",extras:{fromWalletAddress:F,fromNetwork:K,fromWallet:{address:F,isPassportWallet:L(n?.web3Provider),isMetaMask:N(n?.web3Provider)},toWalletAddress:U,toNetwork:H,toWallet:{address:U,isPassportWallet:L(d?.web3Provider),isMetaMask:N(d?.web3Provider)},amount:x,fiatAmount:G,tokenAddress:u?.address}}),t({payload:{type:j.UPDATE_VIEW,view:{type:Be.APPROVE_TRANSACTION,approveTransaction:C,transaction:M}}}))}),[t,C,M]);return l.jsxs(g,{testId:Us,sx:Bs,children:[l.jsx(Q,{testId:`${Us}-heading`,size:"small",weight:"regular",sx:Ps,children:e("views.BRIDGE_REVIEW.heading")}),l.jsxs(c,{testId:`${Us}-from-amount`,size:"small",emphasized:!0,sx:Ds,children:[l.jsx(c.Label,{size:"small",sx:{marginBottom:"base.spacing.x4",fontWeight:"bold"},children:e("views.BRIDGE_REVIEW.fromLabel.amountHeading")}),l.jsx(c.Caption,{}),l.jsx(c.PriceDisplay,{use:l.jsx(Q,{size:"xSmall",weight:"light"}),price:W??"-",fiatAmount:`${e("views.BRIDGE_REVIEW.fiatPricePrefix")}${G}`})]}),l.jsxs(c,{testId:`${Us}-from-address`,size:"xSmall",emphasized:!0,sx:Ms,children:[V&&l.jsx(c.FramedLogo,{logo:Ks[V],sx:{backgroundColor:"base.color.translucent.standard.200"}}),l.jsxs(c.Label,{children:[l.jsx("strong",{children:e("views.BRIDGE_REVIEW.fromLabel.heading")})," ",l.jsx(T,{size:"small",sx:{color:"base.color.text.body.secondary"},children:es(F??"")})]}),K&&l.jsx(c.IntentIcon,{icon:Vs[K],sx:ps(K)})]}),l.jsx(g,{sx:Ws,children:l.jsx(f,{icon:"ArrowBackward",sx:Os})}),l.jsxs(c,{testId:`${Us}-to-address`,size:"xSmall",emphasized:!0,sx:Ds,children:[z&&l.jsx(c.FramedLogo,{logo:Ks[z],sx:{backgroundColor:"base.color.translucent.standard.200"}}),l.jsxs(c.Label,{children:[l.jsx("strong",{children:e("views.BRIDGE_REVIEW.toLabel.heading")})," ",l.jsx(T,{size:"small",sx:{color:"base.color.text.body.secondary"},children:es(U??"")})]}),H&&l.jsx(c.IntentIcon,{icon:Vs[H],sx:ps(H)})]}),l.jsx(Ze,{gasFeeValue:A,gasFeeFiatValue:S,gasFeeToken:m?.token,fees:Z(),onFeesClick:()=>{p({userJourney:k.BRIDGE,screen:"MoveCoins",control:"ViewFees",controlType:"Button"})},sx:{borderTopRightRadius:"0",borderTopLeftRadius:"0"},loading:h}),l.jsx(g,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"flex-end",paddingY:"base.spacing.x6",width:"100%"},children:l.jsx(w,{size:"large",sx:{width:"100%"},onClick:J,disabled:h,testId:`${Us}__submit-button`,children:h?l.jsx(w.Icon,{icon:"Loading",sx:Gs}):e("views.BRIDGE_REVIEW.submitButton.buttonText")})})]})}function Hs(){const{t:e}=r(),{eventTargetState:{eventTarget:t}}=o.useContext(G),{page:s}=v();return o.useEffect((()=>{s({userJourney:k.BRIDGE,screen:"Review"})}),[]),l.jsx(z,{testId:"bridge-review",header:l.jsx(H,{showBack:!0,title:e("views.BRIDGE_REVIEW.layoutHeading"),onCloseButtonClick:()=>vt(t)}),footer:l.jsx($,{}),children:l.jsx(zs,{})})}function $s({environment:e}){const{RiveComponent:t}=ge.useRive({src:`${Te[e]}/v1/blob/img/rocket.riv`,autoplay:!0,layout:new ge.Layout({fit:ge.Fit.Cover}),stateMachines:"State Machine 1"});return l.jsx(g,{sx:{...we,background:"base.color.translucent.emphasis.100"},children:l.jsx(g,{sx:be,rc:l.jsx(t,{})})})}function Zs({transactionHash:e}){const{t:t}=r(),{eventTargetState:{eventTarget:s}}=o.useContext(G),{page:a}=v(),{cryptoFiatState:n}=o.useContext(Pe),{viewDispatch:i}=o.useContext(R),{bridgeState:{checkout:c,from:d,to:u,token:x,amount:p}}=o.useContext(mt);return o.useEffect((()=>{St(s,e);const t=O(p,x?.symbol??"",n.conversions);a({userJourney:k.BRIDGE,screen:"InProgress",extras:{fromWalletAddress:d?.walletAddress,toWalletAddress:u?.walletAddress,amount:p,fiatAmount:t,tokenAddress:x?.address}})}),[]),l.jsx(z,{testId:"move-in-progress-view",header:l.jsx(H,{transparent:!0,onCloseButtonClick:()=>vt(s),rightActions:l.jsxs(l.Fragment,{children:[l.jsx(X,{icon:"Minting",sx:Y(),onClick:()=>{i({payload:{type:j.UPDATE_VIEW,view:{type:Be.TRANSACTIONS}}})},testId:"settings-button"}),l.jsx(me,{isAnimated:!0,variant:"guidance",sx:{position:"absolute",right:"base.spacing.x14",top:"base.spacing.x1"}})]})}),footer:l.jsx($,{}),heroContent:l.jsx($s,{environment:c.config.environment}),floatHeader:!0,children:l.jsxs(fe,{heading:t("views.IN_PROGRESS.heading"),children:[t("views.IN_PROGRESS.body1"),l.jsx("br",{}),l.jsx("br",{}),t("views.IN_PROGRESS.body2")]})})}function Js({approveTransaction:e,transaction:t}){const{t:s}=r(),{bridgeState:a}=o.useContext(mt),{checkout:n,from:i}=a,{viewDispatch:c}=o.useContext(R),{eventTargetState:{eventTarget:d}}=o.useContext(G),{page:u}=v();o.useEffect((()=>{u({userJourney:k.BRIDGE,screen:"ApproveTransaction"})}),[]);const[x,p]=o.useState(!1),[E,h]=o.useState(!1),[T,w]=o.useState(!1),[b,m]=o.useState(!1),f=o.useCallback((()=>{c({payload:{type:j.UPDATE_VIEW,view:{type:ce.ERROR_VIEW,error:new Error("No checkout object or no provider object found")}}})}),[c]),I=o.useCallback((()=>{c({payload:{type:j.GO_BACK}})}),[c]),A=e=>{if(e.type!==Ie.UNPREDICTABLE_GAS_LIMIT){if(e.type===Ie.TRANSACTION_FAILED||e.type===Ie.INSUFFICIENT_FUNDS||e.receipt&&0===e.receipt.status){let t="Transaction failed";return e.type===Ie.INSUFFICIENT_FUNDS&&(t="Insufficient funds"),e.receipt&&0===e.receipt.status&&(t="Transaction failed to settle on chain"),void c({payload:{type:j.UPDATE_VIEW,view:{type:Be.BRIDGE_FAILURE,reason:t}}})}c({payload:{type:j.UPDATE_VIEW,view:{type:ce.ERROR_VIEW,error:e}}})}else c({payload:{type:j.UPDATE_VIEW,view:{type:Be.BRIDGE_FAILURE,reason:"Unpredictable gas limit"}}})},y=o.useCallback((async()=>{let s=!1;if(n&&i?.web3Provider&&t){if(!x){if(p(!0),e.unsignedTx)try{h(!0);const t=await n.sendTransaction({provider:i.web3Provider,transaction:e.unsignedTx});if(1!==(await t.transactionResponse.wait()).status)return void c({payload:{type:j.UPDATE_VIEW,view:{type:Be.BRIDGE_FAILURE,reason:"Transaction failed to settle on chain"}}})}catch(e){h(!1),e.type===Ie.USER_REJECTED_REQUEST_ERROR?(m(!0),s=!0):A(e)}finally{p(!1)}try{if(s)return;h(!0);const e=await n.sendTransaction({provider:i.web3Provider,transaction:t.unsignedTx});w(!0);const a=await e.transactionResponse.wait();if(0===a.status)return void c({payload:{type:j.UPDATE_VIEW,view:{type:Be.BRIDGE_FAILURE,reason:"Approval transaction failed to settle on chain"}}});c({payload:{type:j.UPDATE_VIEW,view:{type:Be.IN_PROGRESS,transactionHash:a.transactionHash}}})}catch(e){e.type===Ie.USER_REJECTED_REQUEST_ERROR?m(!0):A(e)}finally{w(!1),h(!1),p(!1)}}}else f()}),[n,i,f,c,t,e,x]);return l.jsxs(l.Fragment,{children:[T&&l.jsx(q,{loadingText:s("views.APPROVE_TRANSACTION.loadingView.text"),showFooterLogo:!0}),!T&&l.jsx(z,{header:l.jsx(H,{transparent:!0,showBack:!0,onCloseButtonClick:()=>vt(d),onBackButtonClick:I}),floatHeader:!0,heroContent:l.jsx(Je,{}),footer:l.jsxs(g,{sx:{width:"100%",flexDirection:"column"},children:[l.jsx(Ae,{loading:E,actionText:s("views.APPROVE_TRANSACTION."+(b?"footer.retryText":"footer.buttonText")),onActionClick:y}),l.jsx($,{})]}),children:l.jsx(fe,{heading:s("views.APPROVE_TRANSACTION.content.heading"),children:l.jsx(g,{children:s("views.APPROVE_TRANSACTION.content.body")})})})]})}const qs={display:"flex",flexDirection:"column",alignItems:"center",paddingTop:"base.spacing.x6",paddingBottom:"base.spacing.x1",height:"100%"},Qs={color:"base.color.text.body.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"15px"},Xs={display:"flex",flexDirection:"column",justifyContent:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},Ys={width:"100%",height:"base.spacing.x16"};function ea({visible:e,onClose:t,onChangeAccount:s}){const{t:a}=r(),{bridgeState:{checkout:n}}=o.useContext(mt),i=ee(n.config.environment);return l.jsx(d,{headerBarTitle:void 0,size:"full",onCloseDrawer:t,visible:e,showHeaderBar:!1,children:l.jsx(d.Content,{children:l.jsxs(g,{testId:"not-enough-eth-drawer",sx:qs,children:[l.jsx(ae,{imageUrl:i,sx:{w:"base.icon.size.600",h:"base.icon.size.600"}}),l.jsx(Q,{size:"small",sx:Qs,testId:"not-enough-gas-heading",children:`${a("drawers.notEnoughEthWithdrawal.content.heading1")} ${se} ${a("drawers.notEnoughEthWithdrawal.content.heading2")}`}),l.jsx(T,{sx:Qs,children:`${a("drawers.notEnoughEthWithdrawal.content.body1")} ${se} ${a("drawers.notEnoughEthWithdrawal.content.body2")}`}),l.jsxs(g,{sx:Xs,children:[l.jsx(w,{testId:"not-enough-eth-drawer-retry-button",sx:Ys,variant:"tertiary",onClick:s,children:a("drawers.notEnoughEthWithdrawal.buttons.retry")}),l.jsx(w,{sx:Ys,variant:"tertiary",onClick:t,testId:"not-enough-eth-drawer-dismiss-button",children:a("drawers.notEnoughEthWithdrawal.buttons.dismiss")})]})]})})})}function ta({transaction:e}){const{t:t}=r(),{bridgeState:{checkout:s,tokenBridge:a,from:n}}=o.useContext(mt),{viewDispatch:c}=o.useContext(R),{eventTargetState:{eventTarget:d}}=o.useContext(G),{page:u}=v();o.useEffect((()=>{u({userJourney:k.BRIDGE,screen:"ClaimWithdrawal"})}),[]);const[x,p]=o.useState(!1),[E,h]=o.useState(!1),[T,b]=o.useState(!1),[m,f]=o.useState(),[I,A]=o.useState(!1),y=o.useCallback((()=>{c({payload:{type:j.GO_BACK}})}),[c]);o.useEffect((()=>{(async()=>{if(a&&e&&void 0!==e.details.current_status?.index){h(!0);try{const t=await(a?.getFlowRateWithdrawTx({recipient:e.details.to_address,index:e.details.current_status.index}));f(t)}catch(e){console.log(e)}finally{h(!1)}}})()}),[a,e]);const _=o.useCallback((async({forceChangeAccount:e})=>{if(!(s&&a&&n?.web3Provider&&m))return;if(!m.pendingWithdrawal.canWithdraw||!m.unsignedTx)return void console.log(`Unable to process withdrawal transaction as it is not ready yet. Delay timeout at ${m.pendingWithdrawal.timeoutEnd} `);let t=n?.web3Provider;const o=F(s.config);if(p(!0),L(n?.web3Provider)||e)try{const e=await s.createProvider({walletProviderName:i.METAMASK});t=(await s.connect({provider:e.provider,requestWalletPermissions:!0})).provider,A(!1)}catch(e){return console.log(e),b(!0),void p(!1)}let r,l=null;try{try{r=await t.estimateGas(m.unsignedTx)}catch(e){r=de.from(ye)}let e=null;try{e=await t.getFeeData()}catch(e){console.log(e)}let s=null;e&&e.lastBaseFeePerGas&&e.maxPriorityFeePerGas?s=e.lastBaseFeePerGas.add(e.maxPriorityFeePerGas):e&&e.gasPrice&&(s=e.gasPrice),s&&(l=r.mul(s))}catch(e){console.log(e)}try{const e=(await s.getAllBalances({provider:t,chainId:o})).balances.find((e=>B(e.token.address)));if(!e||e.balance.lt(l))return A(!0),void p(!1)}catch(e){console.log(e)}if((await t.getNetwork()).chainId!==o)try{t=(await s.switchNetwork({provider:t,chainId:o})).provider}catch(e){return b(!0),h(!1),void console.log(e)}try{const e=await s.sendTransaction({provider:t,transaction:m.unsignedTx});c({payload:{type:j.UPDATE_VIEW,view:{type:Be.CLAIM_WITHDRAWAL_IN_PROGRESS,transactionResponse:e.transactionResponse}}})}catch(e){console.log(e),b(!0),p(!1)}finally{p(!1)}}),[a,n,m]);return l.jsxs(z,{testId:"claim-withdrawal",header:l.jsx(H,{transparent:!0,showBack:!0,onCloseButtonClick:()=>vt(d),onBackButtonClick:y}),floatHeader:!0,heroContent:l.jsx(Je,{}),footer:l.jsxs(g,{sx:{width:"100%",display:"flex",flexDirection:"column"},children:[l.jsx(g,{sx:{pb:"base.spacing.x5",px:"base.spacing.x6",width:"100%",display:"flex",flexDirection:"column"},children:l.jsx(w,{testId:"claim-withdrawal-continue-button",size:"large",variant:"primary",disabled:E,onClick:()=>x||E?void 0:_({forceChangeAccount:!0}),children:E||x?l.jsx(w.Icon,{icon:"Loading",sx:{width:"base.icon.size.400"}}):t("views.CLAIM_WITHDRAWAL."+(T?"footer.retryText":"footer.buttonText"))})}),l.jsx($,{})]}),children:[l.jsxs(fe,{heading:`${t("views.CLAIM_WITHDRAWAL.content.heading")} ${ht(F(s.config))}`,children:[l.jsx(g,{sx:{display:"flex",flexWrap:"wrap",pb:"base.spacing.x1"},children:t("views.CLAIM_WITHDRAWAL.content.body")}),l.jsxs(g,{children:[t("views.CLAIM_WITHDRAWAL.content.body2"),l.jsx(S,{text:e.details.to_address.toLowerCase()??""})]})]}),l.jsx(ea,{visible:I,onClose:()=>A(!1),onChangeAccount:()=>_({forceChangeAccount:!0})})]})}function sa({checkout:e,web3Provider:t,config:s,amount:a,tokenAddress:n}){const{t:i}=r(),{environment:c,isOnRampEnabled:d,isSwapEnabled:u,isBridgeEnabled:E}=s,{eventTargetState:{eventTarget:h}}=o.useContext(G),{page:g}=v(),[T,w]=o.useReducer(Se,{...ve,view:{type:Be.WALLET_NETWORK_SELECTION},history:[{type:Be.WALLET_NETWORK_SELECTION}]}),[b,m]=o.useReducer(ft,{...wt,checkout:e,web3Provider:t??null,tokenBridge:(()=>{let t=Le;e.config.isDevelopment&&(t=De),e.config.isProduction&&(t=Me);const s=new Z(e.config.networkMap.get(F(e.config))?.rpcUrls[0]),a=new Z(e.config.networkMap.get(K(e.config))?.rpcUrls[0]),n=new _e({baseConfig:new ke({environment:e.config.environment}),bridgeInstance:t,rootProvider:s,childProvider:a});return new Ce(n)})()}),f=o.useMemo((()=>({viewState:T,viewDispatch:w})),[T,w]),I=o.useMemo((()=>({bridgeState:b,bridgeDispatch:m})),[b,m]),A=o.useCallback((()=>{m({payload:{type:bt.SET_WALLETS_AND_NETWORKS,from:null,to:null}}),m({payload:{type:bt.SET_TOKEN_AND_AMOUNT,amount:"",token:null}}),w({payload:{type:j.GO_BACK_TO,view:{type:Be.WALLET_NETWORK_SELECTION}}})}),[w]),y=o.useCallback((()=>{w({payload:{type:j.GO_BACK_TO,view:{type:Be.WALLET_NETWORK_SELECTION}}})}),[w]),S=o.useCallback((()=>{w({payload:{type:j.UPDATE_VIEW,view:{type:Be.TRANSACTIONS}}})}),[w]),_=o.useCallback((()=>{w({payload:{type:j.GO_BACK_TO,view:{type:Be.BRIDGE_REVIEW}}})}),[w]);return o.useEffect((()=>{(async()=>{m({payload:{type:bt.SET_PROVIDER,web3Provider:t??null}})})()}),[t]),l.jsx(R.Provider,{value:f,children:l.jsx(mt.Provider,{value:I,children:l.jsxs(Oe,{environment:c,children:[T.view.type===Be.WALLET_NETWORK_SELECTION&&l.jsx(bs,{}),T.view.type===Be.BRIDGE_FORM&&l.jsx(Ls,{amount:a,tokenAddress:n}),T.view.type===Be.BRIDGE_REVIEW&&l.jsx(Hs,{}),T.view.type===Be.IN_PROGRESS&&l.jsx(Zs,{transactionHash:T.view.transactionHash}),T.view.type===Be.BRIDGE_FAILURE&&l.jsx(Re,{testId:"bridge-fail",statusText:i("views.BRIDGE_FAILURE.bridgeFailureText.statusText"),actionText:i("views.BRIDGE_FAILURE.bridgeFailureText.actionText"),onActionClick:_,statusType:je.FAILURE,onRenderEvent:()=>{let e="";T.view.type===Be.BRIDGE_FAILURE&&(e=T.view.reason),g({userJourney:k.BRIDGE,screen:"Failed",extras:{reason:e}}),((e,t)=>{const s=new CustomEvent(x.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:p.FAILURE,data:{reason:t,timestamp:(new Date).getTime()}}});console.log("bridge failed ",e,s),void 0!==e&&e.dispatchEvent(s)})(h,e)}}),T.view.type===Be.APPROVE_TRANSACTION&&l.jsx(Js,{approveTransaction:T.view.approveTransaction,transaction:T.view.transaction}),T.view.type===Be.TRANSACTIONS&&l.jsx(Xt,{onBackButtonClick:y}),T.view.type===Be.CLAIM_WITHDRAWAL&&l.jsx(ta,{transaction:T.view.transaction}),T.view.type===ce.ERROR_VIEW&&l.jsx(Ne,{actionText:i("views.ERROR_VIEW.actionText"),onActionClick:A,onCloseClick:()=>vt(h),errorEventAction:()=>{g({userJourney:k.BRIDGE,screen:"Error"})}}),T.view.type===ce.TOP_UP_VIEW&&l.jsx(Ge,{analytics:{userJourney:k.BRIDGE},widgetEvent:x.IMTBL_BRIDGE_WIDGET_EVENT,checkout:e,provider:t,showOnrampOption:d,showSwapOption:u,showBridgeOption:E,onCloseButtonClick:()=>vt(h)}),T.view.type===Be.CLAIM_WITHDRAWAL_IN_PROGRESS&&l.jsx(Yt,{transactionResponse:T.view.transactionResponse}),T.view.type===Be.CLAIM_WITHDRAWAL_SUCCESS&&l.jsx(Re,{statusText:i("views.CLAIM_WITHDRAWAL.IN_PROGRESS.success.text"),actionText:i("views.CLAIM_WITHDRAWAL.IN_PROGRESS.success.actionText"),onRenderEvent:()=>{g({userJourney:k.BRIDGE,screen:"ClaimWithdrawalSuccess"}),((e,t)=>{const s=new CustomEvent(x.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:p.CLAIM_WITHDRAWAL_SUCCESS,data:{transactionHash:t}}});console.log("bridge claim withdrawal success event:",e,s),void 0!==e&&e.dispatchEvent(s)})(h,T.view.transactionHash)},onActionClick:S,statusType:je.SUCCESS,testId:"claim-withdrawal-success-view"}),T.view.type===Be.CLAIM_WITHDRAWAL_FAILURE&&l.jsx(Re,{statusText:i("views.CLAIM_WITHDRAWAL.IN_PROGRESS.failure.text"),actionText:i("views.CLAIM_WITHDRAWAL.IN_PROGRESS.failure.actionText"),onRenderEvent:()=>{let e="";T.view.type===Be.CLAIM_WITHDRAWAL_FAILURE&&(e=T.view.reason),g({userJourney:k.BRIDGE,screen:"ClaimWithdrawalFailure",extras:{reason:e}}),((e,t,s)=>{const a=new CustomEvent(x.IMTBL_BRIDGE_WIDGET_EVENT,{detail:{type:p.CLAIM_WITHDRAWAL_FAILURE,data:{transactionHash:t,reason:s,timestamp:(new Date).getTime()}}});console.log("bridge claim withdrawal failed event:",e,a),void 0!==e&&e.dispatchEvent(a)})(h,T.view.transactionHash,"Transaction failed")},onActionClick:S,statusType:je.FAILURE,onCloseClick:()=>vt(h),testId:"claim-withdrawal-fail-view"})]})})})}var aa=Object.freeze({__proto__:null,default:sa});export{sa as B,aa as a,ht as g};
@@ -1 +1 @@
1
- import{r as e,C as t,E as s,u as a,V as o,S as n,a as r,b as i,j as d,B as c,c as E,H as R,s as p,U as S,d as u,F as A,e as l,v,i as T,N as w,L as O,f as _,g as y,h as N,k as P,I}from"./index-9ae59197.js";import{O as C,T as x}from"./TopUpView-60d92a82.js";import{u as m,T as h}from"./useTransakEvents-9ceb1e81.js";import{S as g}from"./SpendingCapHero-5fb4ac25.js";const f=e=>({position:"relative",maxWidth:"420px",height:"565px",borderRadius:"base.borderRadius.x6",overflow:"hidden",marginLeft:"base.spacing.x2",marginRight:"base.spacing.x2",marginBottom:"base.spacing.x2",display:e?"block":"none"}),D=e=>({display:e?"block":"none"});var L,k;!function(e){e.TRANSAK_WIDGET_OPEN="TRANSAK_WIDGET_OPEN",e.TRANSAK_ORDER_CREATED="TRANSAK_ORDER_CREATED",e.TRANSAK_ORDER_SUCCESSFUL="TRANSAK_ORDER_SUCCESSFUL",e.TRANSAK_ORDER_FAILED="TRANSAK_ORDER_FAILED"}(L||(L={})),function(e){e.PROCESSING="PROCESSING",e.COMPLETED="COMPLETED"}(k||(k={}));const M="transak-iframe",U=6e3;function j({passport:A,showIframe:l,tokenAmount:v,tokenAddress:T}){const{connectLoaderState:w}=e.useContext(t),{checkout:O,provider:_}=w,{eventTargetState:{eventTarget:y}}=e.useContext(s),{t:N}=a(),{viewState:P,viewDispatch:I}=e.useContext(o),[x,g]=e.useState(""),j=e.useRef(),b=!!A&&_?.provider?.isPassport,F=e.useMemo((()=>P.history.length>2&&P.history[P.history.length-2].type===n.TOP_UP_VIEW),[P.history]),{track:G}=r();return e.useEffect((()=>{if(!O||!_)return;let e,t="";(async()=>{const e={exchangeType:i.ONRAMP,web3Provider:_,tokenAddress:T,tokenAmount:v,passport:A};g(await O.createFiatRampUrl(e)),t=await _.getSigner().getAddress()})(),(async()=>{if(A){const t=await A.getUserInfo();e=t?.email}})();const s=document.getElementById(M);if(!s)return;window.addEventListener("message",(a=>{if(!s)return;const o=m.parse(a.origin)?.host?.toLowerCase();a.source===s.contentWindow&&o&&h.includes(o)&&((async(e,t,s)=>{const a={userId:t.toLowerCase(),isPassportWallet:b,email:s};switch(e.event_id){case L.TRANSAK_WIDGET_OPEN:G({userJourney:S.ON_RAMP,screen:"InputScreen",control:"TransakWidgetOpen",controlType:"IframeEvent",extras:{...a}});break;case L.TRANSAK_ORDER_CREATED:G({userJourney:S.ON_RAMP,screen:"InputScreen",control:"OrderCreated",controlType:"IframeEvent",extras:{...a}});break;case L.TRANSAK_ORDER_SUCCESSFUL:e.data.status===k.PROCESSING&&G({userJourney:S.ON_RAMP,screen:"OrderInProgress",control:"PaymentProcessing",controlType:"IframeEvent",extras:{...a}}),e.data.status===k.COMPLETED&&G({userJourney:S.ON_RAMP,screen:"Success",control:"PaymentCompleted",controlType:"IframeEvent",extras:{...a}});break;case L.TRANSAK_ORDER_FAILED:G({userJourney:S.ON_RAMP,screen:"Failure",control:"PaymentFailed",controlType:"IframeEvent",extras:{...a}})}})(a.data,t,e),(e=>{if(j.current&&clearTimeout(j.current),e.event_id!==L.TRANSAK_WIDGET_OPEN)return e.event_id===L.TRANSAK_ORDER_SUCCESSFUL&&e.data.status===k.PROCESSING?(I({payload:{type:u.UPDATE_VIEW,view:{type:C.IN_PROGRESS_LOADING}}}),void(j.current=window.setTimeout((()=>{I({payload:{type:u.UPDATE_VIEW,view:{type:C.IN_PROGRESS}}})}),U))):void(e.event_id!==L.TRANSAK_ORDER_SUCCESSFUL||e.data.status!==k.COMPLETED?e.event_id===L.TRANSAK_ORDER_FAILED&&I({payload:{type:u.UPDATE_VIEW,view:{type:C.FAIL,data:{amount:v,tokenAddress:T},reason:`Transaction failed: ${e.data.statusReason}`}}}):I({payload:{type:u.UPDATE_VIEW,view:{type:C.SUCCESS,data:{transactionHash:e.data.transactionHash}}}}));I({payload:{type:u.UPDATE_VIEW,view:{type:C.ONRAMP,data:{amount:P.view.data?.amount??v,tokenAddress:P.view.data?.tokenAddress??T}}}})})(a.data))}))}),[O,_,v,T,A]),d.jsx(c,{sx:D(l),children:d.jsx(E,{header:d.jsx(R,{showBack:F,title:N("views.ONRAMP.header.title"),onCloseButtonClick:()=>p(y)}),footerBackgroundColor:"base.color.translucent.emphasis.200",children:d.jsx(c,{sx:f(l),children:d.jsx("iframe",{title:"Transak",id:M,src:x,allow:"camera;microphone;fullscreen;payment",style:{height:"100%",width:"100%",border:"none",position:"absolute"}})})})})}function b(){const{eventTargetState:{eventTarget:t}}=e.useContext(s),{t:o}=a();return d.jsx(E,{testId:"order-in-progress-view",header:d.jsx(R,{transparent:!0,onCloseButtonClick:()=>p(t)}),footer:d.jsx(A,{}),heroContent:d.jsx(g,{}),floatHeader:!0,children:d.jsxs(l,{heading:o("views.ONRAMP.IN_PROGRESS.content.heading"),children:[o("views.ONRAMP.IN_PROGRESS.content.body1"),d.jsx("br",{}),d.jsx("br",{}),o("views.ONRAMP.IN_PROGRESS.content.body2")]})})}function F({amount:r,tokenAddress:i,config:c}){const{isOnRampEnabled:E,isSwapEnabled:R,isBridgeEnabled:A}=c,[l,m]=e.useReducer(v,{...T,history:[]}),h=e.useMemo((()=>({viewState:l,viewDispatch:m})),[l,v]),{connectLoaderState:g}=e.useContext(t),{checkout:f,provider:D}=g,[L,k]=e.useState(i),{eventTargetState:{eventTarget:M}}=e.useContext(s),{t:U}=a(),F=e.useMemo((()=>l.view.type===C.ONRAMP),[l.view.type]);return e.useEffect((()=>{f&&D&&(async()=>{if(!(await f.getNetworkInfo({provider:D})).isSupported)return;const e=L?.toLocaleLowerCase()===w?w:i;k(e)})()}),[f,D,m]),d.jsxs(o.Provider,{value:h,children:[l.view.type===n.LOADING_VIEW&&d.jsx(O,{loadingText:U("views.ONRAMP.initialLoadingText"),showFooterLogo:!0}),l.view.type===C.IN_PROGRESS_LOADING&&d.jsx(O,{loadingText:U("views.ONRAMP.IN_PROGRESS_LOADING.loading.text"),showFooterLogo:!0}),l.view.type===C.IN_PROGRESS&&d.jsx(b,{}),l.view.type===C.SUCCESS&&d.jsx(_,{statusText:U("views.ONRAMP.SUCCESS.text"),actionText:U("views.ONRAMP.SUCCESS.actionText"),onRenderEvent:()=>y(M,l.view.data.transactionHash),onActionClick:()=>p(M),statusType:N.SUCCESS,testId:"success-view"}),l.view.type===C.FAIL&&d.jsx(_,{statusText:U("views.ONRAMP.FAIL.text"),actionText:U("views.ONRAMP.FAIL.actionText"),onRenderEvent:()=>P(M,l.view.reason??"Transaction failed"),onActionClick:()=>{m({payload:{type:u.UPDATE_VIEW,view:{type:C.ONRAMP,data:l.view.data}}})},statusType:N.FAILURE,onCloseClick:()=>p(M),testId:"fail-view"}),l.view.type!==C.SUCCESS&&l.view.type!==C.FAIL&&d.jsx(j,{passport:f?.passport,showIframe:F,tokenAmount:l.view.data?.amount??r,tokenAddress:l.view.data?.tokenAddress??L}),l.view.type===n.TOP_UP_VIEW&&d.jsx(x,{analytics:{userJourney:S.ON_RAMP},widgetEvent:I.IMTBL_ONRAMP_WIDGET_EVENT,checkout:f,provider:D,showOnrampOption:E,showSwapOption:R,showBridgeOption:A,onCloseButtonClick:()=>p(M)})]})}export{F as default};
1
+ import{r as e,C as t,E as s,u as a,V as o,S as n,a as r,b as i,j as d,B as c,c as E,H as R,s as p,U as S,d as u,F as A,e as l,v,i as T,N as w,L as O,f as _,g as y,h as N,k as P,I}from"./index-ec746bdd.js";import{O as C,T as x}from"./TopUpView-a266b45b.js";import{u as m,T as h}from"./useTransakEvents-eca6f619.js";import{S as g}from"./SpendingCapHero-bb5926a7.js";const f=e=>({position:"relative",maxWidth:"420px",height:"565px",borderRadius:"base.borderRadius.x6",overflow:"hidden",marginLeft:"base.spacing.x2",marginRight:"base.spacing.x2",marginBottom:"base.spacing.x2",display:e?"block":"none"}),D=e=>({display:e?"block":"none"});var L,k;!function(e){e.TRANSAK_WIDGET_OPEN="TRANSAK_WIDGET_OPEN",e.TRANSAK_ORDER_CREATED="TRANSAK_ORDER_CREATED",e.TRANSAK_ORDER_SUCCESSFUL="TRANSAK_ORDER_SUCCESSFUL",e.TRANSAK_ORDER_FAILED="TRANSAK_ORDER_FAILED"}(L||(L={})),function(e){e.PROCESSING="PROCESSING",e.COMPLETED="COMPLETED"}(k||(k={}));const M="transak-iframe",U=6e3;function j({passport:A,showIframe:l,tokenAmount:v,tokenAddress:T}){const{connectLoaderState:w}=e.useContext(t),{checkout:O,provider:_}=w,{eventTargetState:{eventTarget:y}}=e.useContext(s),{t:N}=a(),{viewState:P,viewDispatch:I}=e.useContext(o),[x,g]=e.useState(""),j=e.useRef(),b=!!A&&_?.provider?.isPassport,F=e.useMemo((()=>P.history.length>2&&P.history[P.history.length-2].type===n.TOP_UP_VIEW),[P.history]),{track:G}=r();return e.useEffect((()=>{if(!O||!_)return;let e,t="";(async()=>{const e={exchangeType:i.ONRAMP,web3Provider:_,tokenAddress:T,tokenAmount:v,passport:A};g(await O.createFiatRampUrl(e)),t=await _.getSigner().getAddress()})(),(async()=>{if(A){const t=await A.getUserInfo();e=t?.email}})();const s=document.getElementById(M);if(!s)return;window.addEventListener("message",(a=>{if(!s)return;const o=m.parse(a.origin)?.host?.toLowerCase();a.source===s.contentWindow&&o&&h.includes(o)&&((async(e,t,s)=>{const a={userId:t.toLowerCase(),isPassportWallet:b,email:s};switch(e.event_id){case L.TRANSAK_WIDGET_OPEN:G({userJourney:S.ON_RAMP,screen:"InputScreen",control:"TransakWidgetOpen",controlType:"IframeEvent",extras:{...a}});break;case L.TRANSAK_ORDER_CREATED:G({userJourney:S.ON_RAMP,screen:"InputScreen",control:"OrderCreated",controlType:"IframeEvent",extras:{...a}});break;case L.TRANSAK_ORDER_SUCCESSFUL:e.data.status===k.PROCESSING&&G({userJourney:S.ON_RAMP,screen:"OrderInProgress",control:"PaymentProcessing",controlType:"IframeEvent",extras:{...a}}),e.data.status===k.COMPLETED&&G({userJourney:S.ON_RAMP,screen:"Success",control:"PaymentCompleted",controlType:"IframeEvent",extras:{...a}});break;case L.TRANSAK_ORDER_FAILED:G({userJourney:S.ON_RAMP,screen:"Failure",control:"PaymentFailed",controlType:"IframeEvent",extras:{...a}})}})(a.data,t,e),(e=>{if(j.current&&clearTimeout(j.current),e.event_id!==L.TRANSAK_WIDGET_OPEN)return e.event_id===L.TRANSAK_ORDER_SUCCESSFUL&&e.data.status===k.PROCESSING?(I({payload:{type:u.UPDATE_VIEW,view:{type:C.IN_PROGRESS_LOADING}}}),void(j.current=window.setTimeout((()=>{I({payload:{type:u.UPDATE_VIEW,view:{type:C.IN_PROGRESS}}})}),U))):void(e.event_id!==L.TRANSAK_ORDER_SUCCESSFUL||e.data.status!==k.COMPLETED?e.event_id===L.TRANSAK_ORDER_FAILED&&I({payload:{type:u.UPDATE_VIEW,view:{type:C.FAIL,data:{amount:v,tokenAddress:T},reason:`Transaction failed: ${e.data.statusReason}`}}}):I({payload:{type:u.UPDATE_VIEW,view:{type:C.SUCCESS,data:{transactionHash:e.data.transactionHash}}}}));I({payload:{type:u.UPDATE_VIEW,view:{type:C.ONRAMP,data:{amount:P.view.data?.amount??v,tokenAddress:P.view.data?.tokenAddress??T}}}})})(a.data))}))}),[O,_,v,T,A]),d.jsx(c,{sx:D(l),children:d.jsx(E,{header:d.jsx(R,{showBack:F,title:N("views.ONRAMP.header.title"),onCloseButtonClick:()=>p(y)}),footerBackgroundColor:"base.color.translucent.emphasis.200",children:d.jsx(c,{sx:f(l),children:d.jsx("iframe",{title:"Transak",id:M,src:x,allow:"camera;microphone;fullscreen;payment",style:{height:"100%",width:"100%",border:"none",position:"absolute"}})})})})}function b(){const{eventTargetState:{eventTarget:t}}=e.useContext(s),{t:o}=a();return d.jsx(E,{testId:"order-in-progress-view",header:d.jsx(R,{transparent:!0,onCloseButtonClick:()=>p(t)}),footer:d.jsx(A,{}),heroContent:d.jsx(g,{}),floatHeader:!0,children:d.jsxs(l,{heading:o("views.ONRAMP.IN_PROGRESS.content.heading"),children:[o("views.ONRAMP.IN_PROGRESS.content.body1"),d.jsx("br",{}),d.jsx("br",{}),o("views.ONRAMP.IN_PROGRESS.content.body2")]})})}function F({amount:r,tokenAddress:i,config:c}){const{isOnRampEnabled:E,isSwapEnabled:R,isBridgeEnabled:A}=c,[l,m]=e.useReducer(v,{...T,history:[]}),h=e.useMemo((()=>({viewState:l,viewDispatch:m})),[l,v]),{connectLoaderState:g}=e.useContext(t),{checkout:f,provider:D}=g,[L,k]=e.useState(i),{eventTargetState:{eventTarget:M}}=e.useContext(s),{t:U}=a(),F=e.useMemo((()=>l.view.type===C.ONRAMP),[l.view.type]);return e.useEffect((()=>{f&&D&&(async()=>{if(!(await f.getNetworkInfo({provider:D})).isSupported)return;const e=L?.toLocaleLowerCase()===w?w:i;k(e)})()}),[f,D,m]),d.jsxs(o.Provider,{value:h,children:[l.view.type===n.LOADING_VIEW&&d.jsx(O,{loadingText:U("views.ONRAMP.initialLoadingText"),showFooterLogo:!0}),l.view.type===C.IN_PROGRESS_LOADING&&d.jsx(O,{loadingText:U("views.ONRAMP.IN_PROGRESS_LOADING.loading.text"),showFooterLogo:!0}),l.view.type===C.IN_PROGRESS&&d.jsx(b,{}),l.view.type===C.SUCCESS&&d.jsx(_,{statusText:U("views.ONRAMP.SUCCESS.text"),actionText:U("views.ONRAMP.SUCCESS.actionText"),onRenderEvent:()=>y(M,l.view.data.transactionHash),onActionClick:()=>p(M),statusType:N.SUCCESS,testId:"success-view"}),l.view.type===C.FAIL&&d.jsx(_,{statusText:U("views.ONRAMP.FAIL.text"),actionText:U("views.ONRAMP.FAIL.actionText"),onRenderEvent:()=>P(M,l.view.reason??"Transaction failed"),onActionClick:()=>{m({payload:{type:u.UPDATE_VIEW,view:{type:C.ONRAMP,data:l.view.data}}})},statusType:N.FAILURE,onCloseClick:()=>p(M),testId:"fail-view"}),l.view.type!==C.SUCCESS&&l.view.type!==C.FAIL&&d.jsx(j,{passport:f?.passport,showIframe:F,tokenAmount:l.view.data?.amount??r,tokenAddress:l.view.data?.tokenAddress??L}),l.view.type===n.TOP_UP_VIEW&&d.jsx(x,{analytics:{userJourney:S.ON_RAMP},widgetEvent:I.IMTBL_ONRAMP_WIDGET_EVENT,checkout:f,provider:D,showOnrampOption:E,showSwapOption:R,showBridgeOption:A,onCloseButtonClick:()=>p(M)})]})}export{F as default};