@imtbl/sdk 1.7.3-alpha.1 → 1.7.3-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/blockchain_data.d.ts +288 -449
- package/dist/blockchain_data.js +2 -149
- package/dist/browser/checkout/BridgeWidget-85db50d2.js +1 -0
- package/dist/browser/checkout/OnRampWidget-58400404.js +1 -0
- package/dist/browser/checkout/SaleWidget-549f0f75.js +2 -0
- package/dist/browser/checkout/SpendingCapHero-24fed6d2.js +1 -0
- package/dist/browser/checkout/SwapWidget-9eecba27.js +1 -0
- package/dist/browser/checkout/TopUpView-26964a9e.js +1 -0
- package/dist/browser/checkout/WalletWidget-7e6fed9c.js +1 -0
- package/dist/browser/checkout/auto-track-da38e5a8.js +1 -0
- package/dist/browser/checkout/balance-310539bb.js +1 -0
- package/dist/browser/checkout/index-392bc434.js +1 -0
- package/dist/browser/checkout/index-3d847e0c.js +1 -0
- package/dist/browser/checkout/index-4e77760b.js +773 -0
- package/dist/browser/checkout/index-8184ffea.js +1 -0
- package/dist/browser/checkout/index-919a5df1.js +1 -0
- package/dist/browser/checkout/index-e6159023.js +1 -0
- package/dist/browser/checkout/index-eb42cd09.js +106 -0
- package/dist/browser/checkout/index.umd-c2e32802.js +1 -0
- package/dist/browser/checkout/is-plan-event-enabled-80f76ce6.js +1 -0
- package/dist/browser/checkout/retry-355e44f2.js +1 -0
- package/dist/browser/checkout/sdk.js +4 -4
- package/dist/browser/checkout/useTransakEvents-c6a83ea5.js +2 -0
- package/dist/browser/checkout/widgets-esm.js +1 -0
- package/dist/browser/checkout/widgets.js +50 -51
- package/dist/checkout.d.ts +3 -1
- package/dist/checkout.js +65 -179
- package/dist/config.js +1 -1
- package/dist/index.browser.js +7 -7
- package/dist/index.browser.js.map +1 -1
- package/dist/index.cjs +200 -290
- package/dist/index.d.ts +291 -450
- package/dist/index.js +200 -290
- package/dist/orderbook.js +1 -1
- package/dist/passport.js +136 -239
- package/dist/x.js +2 -2
- package/package.json +1 -1
package/dist/blockchain_data.js
CHANGED
|
@@ -1664,85 +1664,6 @@ class NftOwnersApi extends BaseAPI {
|
|
|
1664
1664
|
*/
|
|
1665
1665
|
const NftsApiAxiosParamCreator = function (configuration) {
|
|
1666
1666
|
return {
|
|
1667
|
-
/**
|
|
1668
|
-
* Create a mint request to mint a set of NFTs for a given collection
|
|
1669
|
-
* @summary Mint NFTs
|
|
1670
|
-
* @param {string} contractAddress The address of contract
|
|
1671
|
-
* @param {string} chainName The name of chain
|
|
1672
|
-
* @param {CreateMintRequestRequest} createMintRequestRequest the request body
|
|
1673
|
-
* @param {*} [options] Override http request option.
|
|
1674
|
-
* @throws {RequiredError}
|
|
1675
|
-
*/
|
|
1676
|
-
createMintRequest: async (contractAddress, chainName, createMintRequestRequest, options = {}) => {
|
|
1677
|
-
// verify required parameter 'contractAddress' is not null or undefined
|
|
1678
|
-
assertParamExists('createMintRequest', 'contractAddress', contractAddress);
|
|
1679
|
-
// verify required parameter 'chainName' is not null or undefined
|
|
1680
|
-
assertParamExists('createMintRequest', 'chainName', chainName);
|
|
1681
|
-
// verify required parameter 'createMintRequestRequest' is not null or undefined
|
|
1682
|
-
assertParamExists('createMintRequest', 'createMintRequestRequest', createMintRequestRequest);
|
|
1683
|
-
const localVarPath = `/v1/chains/{chain_name}/collections/{contract_address}/nfts/mint-requests`
|
|
1684
|
-
.replace(`{${"contract_address"}}`, encodeURIComponent(String(contractAddress)))
|
|
1685
|
-
.replace(`{${"chain_name"}}`, encodeURIComponent(String(chainName)));
|
|
1686
|
-
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
1687
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
1688
|
-
let baseOptions;
|
|
1689
|
-
if (configuration) {
|
|
1690
|
-
baseOptions = configuration.baseOptions;
|
|
1691
|
-
}
|
|
1692
|
-
const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options };
|
|
1693
|
-
const localVarHeaderParameter = {};
|
|
1694
|
-
const localVarQueryParameter = {};
|
|
1695
|
-
// authentication ImmutableApiKey required
|
|
1696
|
-
await setApiKeyToObject(localVarHeaderParameter, "x-immutable-api-key", configuration);
|
|
1697
|
-
localVarHeaderParameter['Content-Type'] = 'application/json';
|
|
1698
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
1699
|
-
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
1700
|
-
localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
|
|
1701
|
-
localVarRequestOptions.data = serializeDataIfNeeded(createMintRequestRequest, localVarRequestOptions, configuration);
|
|
1702
|
-
return {
|
|
1703
|
-
url: toPathString(localVarUrlObj),
|
|
1704
|
-
options: localVarRequestOptions,
|
|
1705
|
-
};
|
|
1706
|
-
},
|
|
1707
|
-
/**
|
|
1708
|
-
* Retrieve the status of a mint request identified by its reference_id
|
|
1709
|
-
* @summary Mint NFTs
|
|
1710
|
-
* @param {string} contractAddress The address of contract
|
|
1711
|
-
* @param {string} chainName The name of chain
|
|
1712
|
-
* @param {string} referenceId The ID of the mint request
|
|
1713
|
-
* @param {*} [options] Override http request option.
|
|
1714
|
-
* @throws {RequiredError}
|
|
1715
|
-
*/
|
|
1716
|
-
getMintRequest: async (contractAddress, chainName, referenceId, options = {}) => {
|
|
1717
|
-
// verify required parameter 'contractAddress' is not null or undefined
|
|
1718
|
-
assertParamExists('getMintRequest', 'contractAddress', contractAddress);
|
|
1719
|
-
// verify required parameter 'chainName' is not null or undefined
|
|
1720
|
-
assertParamExists('getMintRequest', 'chainName', chainName);
|
|
1721
|
-
// verify required parameter 'referenceId' is not null or undefined
|
|
1722
|
-
assertParamExists('getMintRequest', 'referenceId', referenceId);
|
|
1723
|
-
const localVarPath = `/v1/chains/{chain_name}/collections/{contract_address}/nfts/mint-requests/{reference_id}`
|
|
1724
|
-
.replace(`{${"contract_address"}}`, encodeURIComponent(String(contractAddress)))
|
|
1725
|
-
.replace(`{${"chain_name"}}`, encodeURIComponent(String(chainName)))
|
|
1726
|
-
.replace(`{${"reference_id"}}`, encodeURIComponent(String(referenceId)));
|
|
1727
|
-
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
1728
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
1729
|
-
let baseOptions;
|
|
1730
|
-
if (configuration) {
|
|
1731
|
-
baseOptions = configuration.baseOptions;
|
|
1732
|
-
}
|
|
1733
|
-
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
|
|
1734
|
-
const localVarHeaderParameter = {};
|
|
1735
|
-
const localVarQueryParameter = {};
|
|
1736
|
-
// authentication ImmutableApiKey required
|
|
1737
|
-
await setApiKeyToObject(localVarHeaderParameter, "x-immutable-api-key", configuration);
|
|
1738
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
1739
|
-
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
1740
|
-
localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
|
|
1741
|
-
return {
|
|
1742
|
-
url: toPathString(localVarUrlObj),
|
|
1743
|
-
options: localVarRequestOptions,
|
|
1744
|
-
};
|
|
1745
|
-
},
|
|
1746
1667
|
/**
|
|
1747
1668
|
* Get NFT by token ID
|
|
1748
1669
|
* @summary Get NFT by token ID
|
|
@@ -1928,32 +1849,6 @@ const NftsApiAxiosParamCreator = function (configuration) {
|
|
|
1928
1849
|
const NftsApiFp = function (configuration) {
|
|
1929
1850
|
const localVarAxiosParamCreator = NftsApiAxiosParamCreator(configuration);
|
|
1930
1851
|
return {
|
|
1931
|
-
/**
|
|
1932
|
-
* Create a mint request to mint a set of NFTs for a given collection
|
|
1933
|
-
* @summary Mint NFTs
|
|
1934
|
-
* @param {string} contractAddress The address of contract
|
|
1935
|
-
* @param {string} chainName The name of chain
|
|
1936
|
-
* @param {CreateMintRequestRequest} createMintRequestRequest the request body
|
|
1937
|
-
* @param {*} [options] Override http request option.
|
|
1938
|
-
* @throws {RequiredError}
|
|
1939
|
-
*/
|
|
1940
|
-
async createMintRequest(contractAddress, chainName, createMintRequestRequest, options) {
|
|
1941
|
-
const localVarAxiosArgs = await localVarAxiosParamCreator.createMintRequest(contractAddress, chainName, createMintRequestRequest, options);
|
|
1942
|
-
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
|
|
1943
|
-
},
|
|
1944
|
-
/**
|
|
1945
|
-
* Retrieve the status of a mint request identified by its reference_id
|
|
1946
|
-
* @summary Mint NFTs
|
|
1947
|
-
* @param {string} contractAddress The address of contract
|
|
1948
|
-
* @param {string} chainName The name of chain
|
|
1949
|
-
* @param {string} referenceId The ID of the mint request
|
|
1950
|
-
* @param {*} [options] Override http request option.
|
|
1951
|
-
* @throws {RequiredError}
|
|
1952
|
-
*/
|
|
1953
|
-
async getMintRequest(contractAddress, chainName, referenceId, options) {
|
|
1954
|
-
const localVarAxiosArgs = await localVarAxiosParamCreator.getMintRequest(contractAddress, chainName, referenceId, options);
|
|
1955
|
-
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
|
|
1956
|
-
},
|
|
1957
1852
|
/**
|
|
1958
1853
|
* Get NFT by token ID
|
|
1959
1854
|
* @summary Get NFT by token ID
|
|
@@ -2021,26 +1916,6 @@ const NftsApiFp = function (configuration) {
|
|
|
2021
1916
|
const NftsApiFactory = function (configuration, basePath, axios) {
|
|
2022
1917
|
const localVarFp = NftsApiFp(configuration);
|
|
2023
1918
|
return {
|
|
2024
|
-
/**
|
|
2025
|
-
* Create a mint request to mint a set of NFTs for a given collection
|
|
2026
|
-
* @summary Mint NFTs
|
|
2027
|
-
* @param {NftsApiCreateMintRequestRequest} requestParameters Request parameters.
|
|
2028
|
-
* @param {*} [options] Override http request option.
|
|
2029
|
-
* @throws {RequiredError}
|
|
2030
|
-
*/
|
|
2031
|
-
createMintRequest(requestParameters, options) {
|
|
2032
|
-
return localVarFp.createMintRequest(requestParameters.contractAddress, requestParameters.chainName, requestParameters.createMintRequestRequest, options).then((request) => request(axios, basePath));
|
|
2033
|
-
},
|
|
2034
|
-
/**
|
|
2035
|
-
* Retrieve the status of a mint request identified by its reference_id
|
|
2036
|
-
* @summary Mint NFTs
|
|
2037
|
-
* @param {NftsApiGetMintRequestRequest} requestParameters Request parameters.
|
|
2038
|
-
* @param {*} [options] Override http request option.
|
|
2039
|
-
* @throws {RequiredError}
|
|
2040
|
-
*/
|
|
2041
|
-
getMintRequest(requestParameters, options) {
|
|
2042
|
-
return localVarFp.getMintRequest(requestParameters.contractAddress, requestParameters.chainName, requestParameters.referenceId, options).then((request) => request(axios, basePath));
|
|
2043
|
-
},
|
|
2044
1919
|
/**
|
|
2045
1920
|
* Get NFT by token ID
|
|
2046
1921
|
* @summary Get NFT by token ID
|
|
@@ -2090,28 +1965,6 @@ const NftsApiFactory = function (configuration, basePath, axios) {
|
|
|
2090
1965
|
* @extends {BaseAPI}
|
|
2091
1966
|
*/
|
|
2092
1967
|
class NftsApi extends BaseAPI {
|
|
2093
|
-
/**
|
|
2094
|
-
* Create a mint request to mint a set of NFTs for a given collection
|
|
2095
|
-
* @summary Mint NFTs
|
|
2096
|
-
* @param {NftsApiCreateMintRequestRequest} requestParameters Request parameters.
|
|
2097
|
-
* @param {*} [options] Override http request option.
|
|
2098
|
-
* @throws {RequiredError}
|
|
2099
|
-
* @memberof NftsApi
|
|
2100
|
-
*/
|
|
2101
|
-
createMintRequest(requestParameters, options) {
|
|
2102
|
-
return NftsApiFp(this.configuration).createMintRequest(requestParameters.contractAddress, requestParameters.chainName, requestParameters.createMintRequestRequest, options).then((request) => request(this.axios, this.basePath));
|
|
2103
|
-
}
|
|
2104
|
-
/**
|
|
2105
|
-
* Retrieve the status of a mint request identified by its reference_id
|
|
2106
|
-
* @summary Mint NFTs
|
|
2107
|
-
* @param {NftsApiGetMintRequestRequest} requestParameters Request parameters.
|
|
2108
|
-
* @param {*} [options] Override http request option.
|
|
2109
|
-
* @throws {RequiredError}
|
|
2110
|
-
* @memberof NftsApi
|
|
2111
|
-
*/
|
|
2112
|
-
getMintRequest(requestParameters, options) {
|
|
2113
|
-
return NftsApiFp(this.configuration).getMintRequest(requestParameters.contractAddress, requestParameters.chainName, requestParameters.referenceId, options).then((request) => request(this.axios, this.basePath));
|
|
2114
|
-
}
|
|
2115
1968
|
/**
|
|
2116
1969
|
* Get NFT by token ID
|
|
2117
1970
|
* @summary Get NFT by token ID
|
|
@@ -4731,7 +4584,7 @@ const flattenProperties = (properties) => {
|
|
|
4731
4584
|
};
|
|
4732
4585
|
|
|
4733
4586
|
// WARNING: DO NOT CHANGE THE STRING BELOW. IT GETS REPLACED AT BUILD TIME.
|
|
4734
|
-
const SDK_VERSION = '1.7.3-alpha.
|
|
4587
|
+
const SDK_VERSION = '1.7.3-alpha.2';
|
|
4735
4588
|
const getReferrer = () => {
|
|
4736
4589
|
if (isNode()) {
|
|
4737
4590
|
return '';
|
|
@@ -4933,7 +4786,7 @@ class APIError extends Error {
|
|
|
4933
4786
|
|
|
4934
4787
|
/* eslint-disable implicit-arrow-linebreak */
|
|
4935
4788
|
const defaultHeaders = {
|
|
4936
|
-
sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.7.3-alpha.
|
|
4789
|
+
sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.7.3-alpha.2',
|
|
4937
4790
|
};
|
|
4938
4791
|
/**
|
|
4939
4792
|
* createAPIConfiguration to create a custom Configuration
|
|
@@ -0,0 +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-eb42cd09.js";import{B as Be,C as Pe,a as We,b as Oe,T as Ge}from"./TopUpView-26964a9e.js";import{r as Fe,u as Ve}from"./retry-355e44f2.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-310539bb.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};
|
|
@@ -0,0 +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-eb42cd09.js";import{O as C,T as x}from"./TopUpView-26964a9e.js";import{u as m,T as h}from"./useTransakEvents-c6a83ea5.js";import{S as g}from"./SpendingCapHero-24fed6d2.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};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a6 as e,r as t,a7 as n,a8 as a,a9 as s,aa as i,ab as r,p as o,ac as d,N as l,ad as c,X as u,ae as _,V as h,d as f,af as m,j as p,u as g,C as w,ag as E,ah as T,q as y,I as b,ai as A,E as v,L as k,aj as x,ak as C,al as I,am as S,an as R,ao as O,ap as N,aq as D,M as U,t as L,w as F,G as z,K as M,ar as P,c as W,H,as as B,F as j,B as Z,l as K,a as V,U as G,at as Y,au as X,av as $,aw as q,ax as J,ay as Q,S as ee,az as te,a3 as ne,h as ae,f as se,aA as ie,v as re,i as oe,aB as de}from"./index-eb42cd09.js";import{B as le,g as ce}from"./BridgeWidget-85db50d2.js";import ue from"./SwapWidget-9eecba27.js";import{C as _e,a as he,b as fe,T as me}from"./TopUpView-26964a9e.js";import{a as pe}from"./useTransakEvents-c6a83ea5.js";import"./retry-355e44f2.js";import"./balance-310539bb.js";import"./SpendingCapHero-24fed6d2.js";var ge,we,Ee,Te;!function(e){e.PAYMENT_METHODS="PAYMENT_METHODS",e.PAY_WITH_COINS="PAY_WITH_COINS",e.PAY_WITH_CARD="PAY_WITH_CARD",e.FUND_WITH_SMART_CHECKOUT="FUND_WITH_SMART_CHECKOUT",e.SALE_SUCCESS="SALE_SUCCESS",e.SALE_FAIL="SALE_FAIL"}(ge||(ge={})),function(e){e.INIT="INIT",e.LOADING="LOADING",e.FUNDING_ROUTE_SELECT="FUNDING_ROUTE_SELECT",e.FUNDING_ROUTE_EXECUTE="FUNDING_ROUTE_EXECUTE"}(we||(we={})),function(e){e.DEFAULT="DEFAULT_ERROR",e.INVALID_PARAMETERS="INVALID_PARAMETERS",e.TRANSACTION_FAILED="TRANSACTION_FAILED",e.SERVICE_BREAKDOWN="SERVICE_BREAK_DOWN",e.PRODUCT_NOT_FOUND="PRODUCT_NOT_FOUND",e.INSUFFICIENT_STOCK="INSUFFICIENT_STOCK",e.TRANSAK_FAILED="TRANSAK_FAILED",e.WALLET_FAILED="WALLET_FAILED",e.WALLET_REJECTED="WALLET_REJECTED",e.WALLET_REJECTED_NO_FUNDS="WALLET_REJECTED_NO_FUNDS",e.SMART_CHECKOUT_ERROR="SMART_CHECKOUT_ERROR",e.SMART_CHECKOUT_EXECUTE_ERROR="SMART_CHECKOUT_EXECUTE_ERROR"}(Ee||(Ee={})),function(e){e.FRACTIONAL_BALANCE_BLOCKED="FRACTIONAL_BALANCE_BLOCKED"}(Te||(Te={}));const ye={[e.SANDBOX]:"https://api.sandbox.immutable.com/v1/primary-sales",[e.PRODUCTION]:"https://api.immutable.com/v1/primary-sales"};var be;!function(e){e.CONTRACT_ADDRESS="contract_address",e.CURRENCY_SYMBOL="currency_symbol"}(be||(be={}));const Ae=e=>{const{provider:n,items:a,fromTokenAddress:s,recipientAddress:i,env:r,environmentId:o}=e,[d,l]=t.useState(void 0),[c,u]=t.useState(void 0),[_,h]=t.useState({done:!1,transactions:[]}),f=()=>h((e=>({...e,done:!0}))),m=()=>h({done:!1,transactions:[]}),p=t.useCallback((async(e,t,a,s)=>{let i;try{const o=n?.getSigner(),d=await(n?.getGasPrice()),l=await(o?.sendTransaction({to:e,data:t,gasPrice:d,gasLimit:a}));return r={method:s,hash:l?.hash},h((e=>({...e,transactions:[...e.transactions,r]}))),await(l?.wait(1)),i=l?.hash||"",[i,void 0]}catch(e){const t=`${e?.reason||e?.message||""}`.toLowerCase();i=e?.transactionHash;let n=Ee.WALLET_FAILED;return t.includes("rejected")&&t.includes("user")&&(n=Ee.WALLET_REJECTED),t.includes("failed to submit")&&t.includes("highest gas limit")&&(n=Ee.WALLET_REJECTED_NO_FUNDS),(t.includes("status failed")||t.includes("transaction failed"))&&(n=Ee.TRANSACTION_FAILED),l({type:n,data:{error:e}}),[void 0,e]}var r}),[n]);return{sign:t.useCallback((async e=>{try{const t={recipient_address:i,payment_type:e,currency_filter:be.CONTRACT_ADDRESS,currency_value:s,products:a.map((e=>({product_id:e.productId,quantity:e.qty})))},n=`${ye[r]}/${o}/order/sign`,d=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),{ok:c,status:_}=d;if(!c){const{code:e}=await d.json();let t;switch(_){case 400:t=Ee.SERVICE_BREAKDOWN;break;case 404:t="insufficient_stock"===e?Ee.INSUFFICIENT_STOCK:Ee.PRODUCT_NOT_FOUND;break;case 429:case 500:t=Ee.DEFAULT;break;default:throw new Error("Unknown error")}return void l({type:t})}const h=((e,t)=>{const{order:n,transactions:a}=e;return{order:{currency:{name:n.currency.name,erc20Address:n.currency.erc20_address},products:n.products.map((e=>((e,t,n)=>({productId:e.product_id,image:n?.image||"",qty:n?.qty||1,name:n?.name||"",description:n?.description||"",currency:t,contractType:e.contract_type,collectionAddress:e.collection_address,amount:e.detail.map((({amount:e})=>e)),tokenId:e.detail.map((({token_id:e})=>e))}))(e,n.currency.name,t.find((t=>t.productId===e.product_id))))).reduce(((e,t)=>{const n=e.findIndex((e=>e.name===t.name));return-1===n&&e.push({...t}),n>-1&&(e[n].amount=[...e[n].amount,...t.amount],e[n].tokenId=[...e[n].tokenId,...t.tokenId]),e}),[]),totalAmount:Number(n.total_amount)},transactions:a.map((e=>({tokenAddress:e.contract_address,gasEstimate:e.gas_estimate,methodCall:e.method_call,params:{reference:e.params.reference||"",amount:e.params.amount||0,spender:e.params.spender||""},rawData:e.raw_data})))}})(await d.json(),a);return u(h),h}catch(e){l({type:Ee.DEFAULT,data:{error:e}})}}),[a,s,i,o,r,n]),signResponse:c,signError:d,execute:async(e,t,n)=>{if(!e)return l({type:Ee.DEFAULT,data:{reason:"No sign data"}}),[];let a=!0;const s=[];for(const i of e.transactions){const{tokenAddress:e,rawData:r,methodCall:o,gasEstimate:d}=i,[l,c]=await p(e,r,d,o);if(c||!l){a=!1,n(c,s);break}s.push({method:o,hash:l}),t({method:o,hash:l})}return(a?f:m)(),s},executeResponse:_}},ve="30000000",ke=(e,t)=>{const n=[];for(const t of e.steps)switch(t.type){case c.BRIDGE:n.push(t.fees.approvalGasFee),n.push(...t.fees.bridgeFees),n.push(t.fees.bridgeGasFee);break;case c.SWAP:n.push(t.fees.approvalGasFee),n.push(...t.fees.swapFees),n.push(t.fees.swapGasFee)}let a=0;for(const e of n)if(e.token){const n=u(e.formattedAmount,e.token.symbol,t);a+=parseFloat(n)}return _(a)},xe=e=>{if(e.sufficient||e.router.routingOutcome.type!==n.ROUTES_FOUND)return[];const t=[];for(const n of e.transactionRequirements){const{token:e}=n.current;t.includes(e.symbol)||t.push(e.symbol)}for(const n of e.router.routingOutcome.fundingRoutes)for(const e of n.steps)t.includes(e.fundingItem.token.symbol)||t.push(e.fundingItem.token.symbol);return t},Ce=({checkout:e,provider:u,items:_,amount:h,tokenAddress:f})=>{const[m,p]=t.useState(void 0),[g,w]=t.useState(void 0),E=t.useCallback((async()=>{try{const t=u?.getSigner(),_=await(t?.getAddress())||"",m=await(async(e,t,n,a,s)=>{const i=o(a.config),c=await a.getAllBalances({provider:s,walletAddress:e,chainId:i}),u=r.from("0"),_=c.balances.find((e=>e.token.address===t));if(!_)return!1;const h=d.parseUnits(n,_.token.decimals);if(_.balance.gt(u)&&_.balance.lt(h))return!0;if(s?.provider?.isPassport)return!1;const f=c.balances.find((e=>e.token.address===l)),m=f?f.balance:r.from("0");return!(!m.gte(u)||!m.lt(r.from(ve)))})(_,f,h,e,u);if(m)throw new Error(Te.FRACTIONAL_BALANCE_BLOCKED);const g=((e,t,n)=>[{type:a.ERC20,tokenAddress:n,spenderAddress:t,amount:e}])(h,_,f),w={type:s.GAS,gasToken:{type:i.NATIVE,limit:r.from(ve)}},E=await(e?.smartCheckout({provider:u,itemRequirements:g,transactionOrGasAmount:w}));if(!E)throw new Error;const T={...E},y=(e=>{if(e.sufficient||e.router.routingOutcome.type!==n.ROUTES_FOUND)return e;const t=e.router.routingOutcome.fundingRoutes.filter((e=>!e.steps.some((e=>e.type!==c.SWAP))));let a;return a=0===t.length?{type:n.NO_ROUTES_FOUND,message:"Smart Checkout did not find any Swap routes to fulfill the transaction"}:{type:n.ROUTES_FOUND,fundingRoutes:t},{...e,router:{...e.router,routingOutcome:a}}})(T);return p(y),T}catch(e){w({type:Ee.SMART_CHECKOUT_ERROR,data:{error:e}})}}),[e,u,_,h,f]);return{smartCheckout:E,smartCheckoutResult:m,smartCheckoutError:g}},Ie=t.createContext({items:[],amount:"",fromTokenAddress:"",collectionName:"",provider:void 0,checkout:void 0,environmentId:"",env:"",recipientAddress:"",recipientEmail:"",sign:()=>Promise.resolve(void 0),execute:()=>Promise.resolve([]),signResponse:void 0,signError:void 0,executeResponse:void 0,passport:void 0,isPassportWallet:!1,paymentMethod:void 0,setPaymentMethod:()=>{},goBackToPaymentMethods:()=>{},goToErrorView:()=>{},goToSuccessView:()=>{},config:{},querySmartCheckout:()=>Promise.resolve(void 0),smartCheckoutResult:void 0,fundingRoutes:[],disabledPaymentTypes:[],invalidParameters:!1});Ie.displayName="SaleSaleContext";const Se=1;function Re(e){const{children:a,value:{config:s,env:i,environmentId:r,items:o,amount:d,fromTokenAddress:l,provider:c,checkout:u,passport:_,collectionName:g}}=e,w=t.useRef(0),{viewDispatch:E}=t.useContext(h),[{recipientEmail:T,recipientAddress:y},b]=t.useState({recipientEmail:"",recipientAddress:""}),[A,v]=t.useState(void 0),[k,x]=t.useState([]),[C,I]=t.useState([]),[S,R]=t.useState(!1),O=t.useCallback(((e,t)=>{v(e),E({payload:{type:f.UPDATE_VIEW,view:{type:ge.PAYMENT_METHODS,data:{showInsufficientCoinsBanner:t}}}})}),[]);t.useEffect((()=>{(async()=>{const e=c?.getSigner(),t=await(e?.getAddress())||"",n=(await(_?.getUserInfo()))?.email||"";b({recipientEmail:n,recipientAddress:t})})()}),[c]);const{sign:N,execute:D,signResponse:U,signError:L,executeResponse:F}=Ae({items:o,provider:c,fromTokenAddress:l,recipientAddress:y,environmentId:r,env:i}),z=t.useCallback((async(e,t)=>{const n=await N(e);if(n)return t?.(n),n}),[N]),M=t.useCallback(((e,t={})=>{w.current+=1,w.current>Se&&(w.current=0,v(void 0)),E({payload:{type:f.UPDATE_VIEW,view:{type:ge.SALE_FAIL,data:{...t,errorType:e,paymentMethod:A,transactions:F.transactions}}}})}),[A,v,F]),P=t.useCallback((e=>{E({payload:{type:f.UPDATE_VIEW,view:{type:ge.SALE_SUCCESS,data:{paymentMethod:A,transactions:F.transactions,...e}}}})}),[[A,F]]);t.useEffect((()=>{L&&M(L.type,L.data)}),[L]);const{smartCheckout:W,smartCheckoutResult:H,smartCheckoutError:B}=Ce({provider:c,checkout:u,items:o,amount:d,tokenAddress:l});t.useEffect((()=>{if(B)return B.data?.error?.message===Te.FRACTIONAL_BALANCE_BLOCKED?(I([m.CRYPTO]),void O(void 0,!0)):void M(B.type,B.data)}),[B]);const j=t.useCallback((async e=>{const t=await W();return e?.(t),t}),[W]);t.useEffect((()=>{if(H&&(H.sufficient&&(z(m.CRYPTO),E({payload:{type:f.UPDATE_VIEW,view:{type:ge.PAY_WITH_COINS}}})),!H.sufficient))switch(H.router.routingOutcome.type){case n.ROUTES_FOUND:x(H.router.routingOutcome.fundingRoutes),E({payload:{type:f.UPDATE_VIEW,view:{type:ge.FUND_WITH_SMART_CHECKOUT,subView:we.FUNDING_ROUTE_SELECT}}});break;case n.NO_ROUTES_FOUND:case n.NO_ROUTE_OPTIONS:default:x([]),v(void 0),I([m.CRYPTO]),O(void 0,!0)}}),[H]),t.useEffect((()=>{const e=!o||0===o.length,t=!d||"0"===d,n=!l||!l.startsWith("0x");(e||t||n||!g||!r)&&R(!0)}),[o,d,l,g,r]);const Z=t.useMemo((()=>({config:s,items:o,amount:d,fromTokenAddress:l,sign:z,signResponse:U,signError:L,execute:D,executeResponse:F,environmentId:r,collectionName:g,env:i,provider:c,checkout:u,recipientAddress:y,recipientEmail:T,paymentMethod:A,setPaymentMethod:v,goBackToPaymentMethods:O,goToErrorView:M,goToSuccessView:P,isPassportWallet:!!c?.provider?.isPassport,querySmartCheckout:j,smartCheckoutResult:H,fundingRoutes:k,disabledPaymentTypes:C,invalidParameters:S})),[s,i,r,o,d,l,g,c,u,y,T,U,L,F,A,O,M,P,z,j,H,k,C,S]);return p.jsx(Ie.Provider,{value:Z,children:a})}function Oe(){return t.useContext(Ie)}var Ne;function De({fundingRouteStep:e,onFundingRouteExecuted:n}){const{t:a}=g(),{config:s,provider:i,checkout:r,fromTokenAddress:d}=Oe(),{viewDispatch:l}=t.useContext(h),{connectLoaderDispatch:u}=t.useContext(w),[_,m]=t.useState(void 0),[D,U]=t.useState(void 0),[L,F]=t.useState(Ne.LOADING),z=t.useRef(!1),M=t.useRef(void 0),P=t.useRef(void 0),[W,H]=t.useReducer(E,T),B=t.useMemo((()=>({eventTargetState:W,eventTargetDispatch:H})),[W,H]),j=new EventTarget,Z=e=>{l({payload:{type:f.UPDATE_VIEW,view:{type:ge.SALE_FAIL,data:{errorType:Ee.SMART_CHECKOUT_EXECUTE_ERROR,errorData:e}}}})},K=t.useCallback((async e=>{if(!r||!i)throw new Error("checkout or provider not available.");const t=await r.getNetworkInfo({provider:i});if(e.type===c.BRIDGE){if(U({tokenAddress:e.fundingItem.token.address,amount:e.fundingItem.fundsRequired.formattedAmount}),t.chainId===y(r.config))return void F(Ne.EXECUTE_BRIDGE);z.current=Ne.EXECUTE_BRIDGE,F(Ne.SWITCH_NETWORK_ETH)}if(e.type===c.SWAP){if(m({amount:e.fundingItem.fundsRequired.formattedAmount,fromTokenAddress:e.fundingItem.token.address,toTokenAddress:d}),t.chainId===o(r.config))return void F(Ne.EXECUTE_SWAP);z.current=Ne.EXECUTE_SWAP,F(Ne.SWITCH_NETWORK_ZKEVM)}}),[i,r]);t.useEffect((()=>{if(e)try{K(e)}catch(e){Z(e)}}),[e]);const V=()=>{M.current?(M.current=void 0,P.current=void 0,n()):Z(P.current)},G=e=>{switch(e.detail.type){case R.TRANSACTION_SENT:case S.SUCCESS:{const t=e.detail.data;M.current=t;break}case R.FAILURE:case S.FAILURE:{const t=e.detail.data;P.current=t;break}case R.CLOSE_WIDGET:case S.CLOSE_WIDGET:V();case S.REJECTED:}},Y=e=>{switch(e.detail.type){case O.SUCCESS:{const t=e.detail.data;u({payload:{type:N.SET_PROVIDER,provider:t.provider}}),!1!==z.current&&(F(z.current),z.current=!1);break}case O.FAILURE:case O.CLOSE_WIDGET:default:V()}};return t.useEffect((()=>(j.addEventListener(b.IMTBL_CONNECT_WIDGET_EVENT,Y),j.addEventListener(b.IMTBL_BRIDGE_WIDGET_EVENT,G),j.addEventListener(b.IMTBL_SWAP_WIDGET_EVENT,G),()=>{j.removeEventListener(b.IMTBL_CONNECT_WIDGET_EVENT,Y),j.removeEventListener(b.IMTBL_BRIDGE_WIDGET_EVENT,G),j.removeEventListener(b.IMTBL_SWAP_WIDGET_EVENT,G)})),[]),t.useEffect((()=>{H({payload:{type:A.SET_EVENT_TARGET,eventTarget:j}})}),[r]),p.jsxs(v.Provider,{value:B,children:[L===Ne.LOADING&&p.jsx(k,{loadingText:a("views.FUND_WITH_SMART_CHECKOUT.loading.checkingBalances")}),L===Ne.EXECUTE_BRIDGE&&p.jsx(le,{...D,config:s,checkout:r}),L===Ne.EXECUTE_SWAP&&p.jsx(ue,{..._,config:s}),L===Ne.SWITCH_NETWORK_ETH&&p.jsx(x,{config:s,targetLayer:C.LAYER1,web3Provider:i,checkout:r,deepLink:I.SWITCH_NETWORK}),L===Ne.SWITCH_NETWORK_ZKEVM&&p.jsx(x,{config:s,targetLayer:C.LAYER2,web3Provider:i,checkout:r,deepLink:I.SWITCH_NETWORK})]})}!function(e){e.LOADING="LOADING",e.EXECUTE_BRIDGE="EXECUTE_BRIDGE",e.EXECUTE_SWAP="EXECUTE_SWAP",e.SWITCH_NETWORK_ETH="SWITCH_NETWORK_ETH",e.SWITCH_NETWORK_ZKEVM="SWITCH_NETWORK_ZKEVM"}(Ne||(Ne={}));const Ue={[D.IMTBL_ZKEVM_DEVNET]:"Immutable",[D.IMTBL_ZKEVM_MAINNET]:"Immutable",[D.IMTBL_ZKEVM_TESTNET]:"Immutable",[D.ETHEREUM]:"EthToken",[D.SEPOLIA]:"EthToken"},Le={[D.IMTBL_ZKEVM_DEVNET]:"base.color.text.link.primary",[D.IMTBL_ZKEVM_TESTNET]:"base.color.text.link.primary",[D.IMTBL_ZKEVM_MAINNET]:"base.color.text.link.primary",[D.ETHEREUM]:"base.color.accent.5",[D.SEPOLIA]:"base.color.accent.5"};function Fe({onClick:e,fundingRoute:n,toggleVisible:a,selected:s,size:i="small"}){const{t:r}=g(),o=n.steps[0],{cryptoFiatState:d}=t.useContext(_e),{isPassportWallet:l}=Oe(),[c,_]=t.useState(void 0),[h,f]=t.useState(void 0);t.useEffect((()=>{if(d.conversions)try{_(ke(n,d.conversions)),f(u(o.fundingItem.userBalance.formattedBalance,o.fundingItem.token.symbol,d.conversions))}catch{_(void 0),f(void 0)}}),[d,n]);return p.jsxs(U,{emphasized:!0,testId:"funding-route-menu-item",onClick:e,selected:s,size:i,children:[a&&p.jsx(U.IntentIcon,{icon:"ChevronExpand"}),p.jsx(U.FramedIcon,{icon:"Coins",circularFrame:!0}),p.jsx(U.PriceDisplay,{use:p.jsx(L,{size:"xSmall"}),fiatAmount:`${r("views.FUND_WITH_SMART_CHECKOUT.currency.usdEstimate")}${h}`,price:F(o.fundingItem.userBalance.formattedBalance)}),p.jsxs(U.Label,{sx:{display:"flex",wordBreak:"default"},children:[o.fundingItem.token.symbol,l?null:p.jsxs(z.Button,{rc:p.jsx("a",{}),sx:{pointerEvents:"none",cursor:"default",height:"100%",marginLeft:"base.spacing.x2",fontSize:"base.text.body.xxSmall.regular.fontSize",fontWeight:"base.text.body.xxSmall.regular.fontWeight",color:"base.color.brand.4",paddingLeft:"base.spacing.x2",paddingRight:"base.spacing.x2"},size:"small",children:[p.jsx(M.Icon,{icon:Ue[o.chainId],sx:{width:"14px",fill:Le[o.chainId]}}),ce(o.chainId)]})]}),p.jsxs(U.Caption,{children:["Fees ≈ USD $",c]})]})}function ze({visible:e,onCloseDrawer:t,fundingRoutes:n,activeFundingRouteIndex:a}){const{t:s}=g();return p.jsx(P,{size:"full",onCloseDrawer:()=>t(a),visible:e,showHeaderBar:!0,headerBarTitle:s("views.FUND_WITH_SMART_CHECKOUT.fundingRouteDrawer.header"),children:p.jsx(P.Content,{children:n.map(((e,n)=>p.jsx(Fe,{onClick:()=>{t(n)},fundingRoute:e,selected:a===n,size:"medium"},e.steps[0].fundingItem.type+e.steps[0].fundingItem.token)))})})}function Me({fundingRoute:e,collectionName:n}){const{t:a}=g(),{items:s}=Oe(),i=s[0],r=e.steps[0],{cryptoFiatState:o}=t.useContext(_e),[d,l]=t.useState(void 0);return t.useEffect((()=>{if(o.conversions)try{l(u(r.fundingItem.fundsRequired.formattedAmount,r.fundingItem.token.symbol,o.conversions))}catch{l(void 0)}}),[o,e]),p.jsxs(U,{emphasized:!0,testId:"funding-route-purchase-item",size:"medium",children:[p.jsx(U.FramedImage,{imageUrl:i?.image}),p.jsx(U.PriceDisplay,{use:p.jsx(L,{size:"xSmall"}),price:`${r?.fundingItem.token.symbol} \n ${F(r.fundingItem.fundsRequired.formattedAmount)}`,fiatAmount:`${a("views.FUND_WITH_SMART_CHECKOUT.currency.usdEstimate")}${d}`}),p.jsxs(U.Label,{children:[i?.name,i?.qty>1?` x${i.qty}`:null]}),p.jsx(U.Caption,{children:n})]},i?.name)}function Pe({fundingRoutes:e,collectionName:n,onFundingRouteSelected:a}){const{t:s}=g(),[i,r]=t.useState(!1),[o,d]=t.useState(0),{viewDispatch:l}=t.useContext(h),{eventTargetState:{eventTarget:c}}=t.useContext(v),{goBackToPaymentMethods:u}=Oe();return p.jsxs(W,{testId:"funding-route-select",header:p.jsx(H,{onCloseButtonClick:()=>B(c)}),footer:p.jsx(j,{}),children:[p.jsxs(Z,{sx:{display:"flex",flexDirection:"column",paddingX:"base.spacing.x2",paddingY:"base.spacing.x8",rowGap:"base.spacing.x4",height:"100%"},children:[p.jsx(L,{size:"small",children:s("views.FUND_WITH_SMART_CHECKOUT.fundingRouteSelect.heading")}),0===e.length?[p.jsx(K,{size:"small",children:s("views.FUND_WITH_SMART_CHECKOUT.fundingRouteSelect.noRoutesAvailable")},"noRoutesAvailableText"),p.jsx(M,{variant:"tertiary",children:s("views.FUND_WITH_SMART_CHECKOUT.fundingRouteSelect.payWithCard")},"payWithCardButton")]:[p.jsx(Fe,{"data-testid":"funding-route-select-selected-route",onClick:e.length>1?()=>{r(!0)}:()=>{},fundingRoute:e[o],selected:!0,toggleVisible:e.length>1},"selectedFundingRouteMenuItem"),p.jsx(Me,{fundingRoute:e[o],collectionName:n},"purchaseMenuItem"),p.jsx(M,{sx:{mt:"auto"},variant:"primary",onClick:()=>{a(e[o]),l({payload:{type:f.UPDATE_VIEW,view:{type:ge.FUND_WITH_SMART_CHECKOUT,subView:we.FUNDING_ROUTE_EXECUTE}}})},children:s("views.FUND_WITH_SMART_CHECKOUT.fundingRouteSelect.continue")},"continueButton"),p.jsx(M,{variant:"tertiary",onClick:()=>u(),children:s("views.FUND_WITH_SMART_CHECKOUT.fundingRouteSelect.payWithCardInstead")},"payWithCardButton")]]}),p.jsx(ze,{visible:i,onCloseDrawer:e=>{d(e),r(!1)},fundingRoutes:e,activeFundingRouteIndex:o})]})}const We=e=>e.map((({method:e,hash:t})=>`${e}: ${t}`)).join(" | "),He=e=>e.split("_").map((e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase())).join(""),Be=()=>{const{track:e,page:n}=V(),{recipientAddress:a,recipientEmail:s,signResponse:i,paymentMethod:r}=Oe(),{eventTargetState:{eventTarget:o}}=t.useContext(v),d=ge.PAYMENT_METHODS,l={location:"web",userJourney:G.SALE},c={email:s,userId:a,paymentMethod:r},u={amount:i?.order.totalAmount,currency:i?.order.currency.name};return{track:e,page:n,sendPageView:(e,t)=>{n({...l,screen:He(e),action:"Viewed",...t})},sendCloseEvent:(t=d,n="Button",a="Pressed")=>{e({...l,screen:He(t),control:"Close",controlType:n,action:a,extras:{...c}}),B(o)},sendSuccessEvent:(t=d,n=[],a)=>{e({...l,screen:He(t),control:"Success",controlType:"Event",action:"Succeeded",extras:{...a,...c,transactions:We(n),...u,paymentMethod:r}}),Y(o,r,n)},sendFailedEvent:(t,n,a=[],s=d)=>{e({...l,screen:He(s),control:"Fail",controlType:"Event",action:"Failed",extras:{transactions:We(a),...n,...u,...c,paymentMethod:r,reason:t}}),X(o,t,n,r,a)},sendTransactionSuccessEvent:e=>{$(o,r,[e])},sendOrderCreated:(t,n)=>{e({...l,screen:He(t),control:"OrderCreated",controlType:"Event",extras:{...n}})},sendSelectedPaymentMethod:(t,n)=>{e({...l,screen:He(n),control:"Select",controlType:"MenuItem",extras:{paymentMethod:t}}),q(o,t)}}};function je({subView:e}){const{t:n}=g(),{sendPageView:a}=Be(),{viewDispatch:s}=t.useContext(h),[i,r]=t.useState(void 0),[o,d]=t.useState(0),{querySmartCheckout:l,fundingRoutes:c,smartCheckoutResult:u,collectionName:_}=Oe(),{cryptoFiatDispatch:m}=t.useContext(_e),w=t.useRef(!1);t.useEffect((()=>{if(e===we.INIT&&!w.current){w.current=!0;try{l()}finally{w.current=!1}}}),[e]),t.useEffect((()=>{if(!m||!u)return;const e=xe(u);m({payload:{type:he.SET_TOKEN_SYMBOLS,tokenSymbols:e}})}),[m,u]);const E=t.useMemo((()=>{if(i)return i.steps[o]}),[i,o]);return t.useEffect((()=>a(ge.FUND_WITH_SMART_CHECKOUT,{subView:e,...!!E&&{fundingStep:E.type}})),[]),p.jsxs(Z,{children:[e===we.INIT&&p.jsx(k,{loadingText:n("views.FUND_WITH_SMART_CHECKOUT.loading.checkingBalances")}),e===we.FUNDING_ROUTE_SELECT&&p.jsx(Pe,{fundingRoutes:c,collectionName:_,onFundingRouteSelected:e=>{r(e)}}),e===we.FUNDING_ROUTE_EXECUTE&&p.jsx(De,{onFundingRouteExecuted:()=>{i&&(o===i.steps.length-1?(d(0),r(void 0),s({payload:{type:f.UPDATE_VIEW,view:{type:ge.FUND_WITH_SMART_CHECKOUT,subView:we.INIT}}})):d(o+1))},fundingRouteStep:E})]})}
|
|
2
|
+
/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */function Ze(e){let t=e.length;for(;--t>=0;)e[t]=0}const Ke=256,Ve=286,Ge=30,Ye=15,Xe=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),$e=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),qe=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Je=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Qe=new Array(576);Ze(Qe);const et=new Array(60);Ze(et);const tt=new Array(512);Ze(tt);const nt=new Array(256);Ze(nt);const at=new Array(29);Ze(at);const st=new Array(Ge);function it(e,t,n,a,s){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=a,this.max_length=s,this.has_stree=e&&e.length}let rt,ot,dt;function lt(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}Ze(st);const ct=e=>e<256?tt[e]:tt[256+(e>>>7)],ut=(e,t)=>{e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},_t=(e,t,n)=>{e.bi_valid>16-n?(e.bi_buf|=t<<e.bi_valid&65535,ut(e,e.bi_buf),e.bi_buf=t>>16-e.bi_valid,e.bi_valid+=n-16):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)},ht=(e,t,n)=>{_t(e,n[2*t],n[2*t+1])},ft=(e,t)=>{let n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1},mt=(e,t,n)=>{const a=new Array(16);let s,i,r=0;for(s=1;s<=Ye;s++)r=r+n[s-1]<<1,a[s]=r;for(i=0;i<=t;i++){let t=e[2*i+1];0!==t&&(e[2*i]=ft(a[t]++,t))}},pt=e=>{let t;for(t=0;t<Ve;t++)e.dyn_ltree[2*t]=0;for(t=0;t<Ge;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},gt=e=>{e.bi_valid>8?ut(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},wt=(e,t,n,a)=>{const s=2*t,i=2*n;return e[s]<e[i]||e[s]===e[i]&&a[t]<=a[n]},Et=(e,t,n)=>{const a=e.heap[n];let s=n<<1;for(;s<=e.heap_len&&(s<e.heap_len&&wt(t,e.heap[s+1],e.heap[s],e.depth)&&s++,!wt(t,a,e.heap[s],e.depth));)e.heap[n]=e.heap[s],n=s,s<<=1;e.heap[n]=a},Tt=(e,t,n)=>{let a,s,i,r,o=0;if(0!==e.sym_next)do{a=255&e.pending_buf[e.sym_buf+o++],a+=(255&e.pending_buf[e.sym_buf+o++])<<8,s=e.pending_buf[e.sym_buf+o++],0===a?ht(e,s,t):(i=nt[s],ht(e,i+Ke+1,t),r=Xe[i],0!==r&&(s-=at[i],_t(e,s,r)),a--,i=ct(a),ht(e,i,n),r=$e[i],0!==r&&(a-=st[i],_t(e,a,r)))}while(o<e.sym_next);ht(e,256,t)},yt=(e,t)=>{const n=t.dyn_tree,a=t.stat_desc.static_tree,s=t.stat_desc.has_stree,i=t.stat_desc.elems;let r,o,d,l=-1;for(e.heap_len=0,e.heap_max=573,r=0;r<i;r++)0!==n[2*r]?(e.heap[++e.heap_len]=l=r,e.depth[r]=0):n[2*r+1]=0;for(;e.heap_len<2;)d=e.heap[++e.heap_len]=l<2?++l:0,n[2*d]=1,e.depth[d]=0,e.opt_len--,s&&(e.static_len-=a[2*d+1]);for(t.max_code=l,r=e.heap_len>>1;r>=1;r--)Et(e,n,r);d=i;do{r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Et(e,n,1),o=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=o,n[2*d]=n[2*r]+n[2*o],e.depth[d]=(e.depth[r]>=e.depth[o]?e.depth[r]:e.depth[o])+1,n[2*r+1]=n[2*o+1]=d,e.heap[1]=d++,Et(e,n,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],((e,t)=>{const n=t.dyn_tree,a=t.max_code,s=t.stat_desc.static_tree,i=t.stat_desc.has_stree,r=t.stat_desc.extra_bits,o=t.stat_desc.extra_base,d=t.stat_desc.max_length;let l,c,u,_,h,f,m=0;for(_=0;_<=Ye;_++)e.bl_count[_]=0;for(n[2*e.heap[e.heap_max]+1]=0,l=e.heap_max+1;l<573;l++)c=e.heap[l],_=n[2*n[2*c+1]+1]+1,_>d&&(_=d,m++),n[2*c+1]=_,c>a||(e.bl_count[_]++,h=0,c>=o&&(h=r[c-o]),f=n[2*c],e.opt_len+=f*(_+h),i&&(e.static_len+=f*(s[2*c+1]+h)));if(0!==m){do{for(_=d-1;0===e.bl_count[_];)_--;e.bl_count[_]--,e.bl_count[_+1]+=2,e.bl_count[d]--,m-=2}while(m>0);for(_=d;0!==_;_--)for(c=e.bl_count[_];0!==c;)u=e.heap[--l],u>a||(n[2*u+1]!==_&&(e.opt_len+=(_-n[2*u+1])*n[2*u],n[2*u+1]=_),c--)}})(e,t),mt(n,l,e.bl_count)},bt=(e,t,n)=>{let a,s,i=-1,r=t[1],o=0,d=7,l=4;for(0===r&&(d=138,l=3),t[2*(n+1)+1]=65535,a=0;a<=n;a++)s=r,r=t[2*(a+1)+1],++o<d&&s===r||(o<l?e.bl_tree[2*s]+=o:0!==s?(s!==i&&e.bl_tree[2*s]++,e.bl_tree[32]++):o<=10?e.bl_tree[34]++:e.bl_tree[36]++,o=0,i=s,0===r?(d=138,l=3):s===r?(d=6,l=3):(d=7,l=4))},At=(e,t,n)=>{let a,s,i=-1,r=t[1],o=0,d=7,l=4;for(0===r&&(d=138,l=3),a=0;a<=n;a++)if(s=r,r=t[2*(a+1)+1],!(++o<d&&s===r)){if(o<l)do{ht(e,s,e.bl_tree)}while(0!=--o);else 0!==s?(s!==i&&(ht(e,s,e.bl_tree),o--),ht(e,16,e.bl_tree),_t(e,o-3,2)):o<=10?(ht(e,17,e.bl_tree),_t(e,o-3,3)):(ht(e,18,e.bl_tree),_t(e,o-11,7));o=0,i=s,0===r?(d=138,l=3):s===r?(d=6,l=3):(d=7,l=4)}};let vt=!1;const kt=(e,t,n,a)=>{_t(e,0+(a?1:0),3),gt(e),ut(e,n),ut(e,~n),n&&e.pending_buf.set(e.window.subarray(t,t+n),e.pending),e.pending+=n};var xt=(e,t,n,a)=>{let s,i,r=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=(e=>{let t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<Ke;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0})(e)),yt(e,e.l_desc),yt(e,e.d_desc),r=(e=>{let t;for(bt(e,e.dyn_ltree,e.l_desc.max_code),bt(e,e.dyn_dtree,e.d_desc.max_code),yt(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*Je[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(e),s=e.opt_len+3+7>>>3,i=e.static_len+3+7>>>3,i<=s&&(s=i)):s=i=n+5,n+4<=s&&-1!==t?kt(e,t,n,a):4===e.strategy||i===s?(_t(e,2+(a?1:0),3),Tt(e,Qe,et)):(_t(e,4+(a?1:0),3),((e,t,n,a)=>{let s;for(_t(e,t-257,5),_t(e,n-1,5),_t(e,a-4,4),s=0;s<a;s++)_t(e,e.bl_tree[2*Je[s]+1],3);At(e,e.dyn_ltree,t-1),At(e,e.dyn_dtree,n-1)})(e,e.l_desc.max_code+1,e.d_desc.max_code+1,r+1),Tt(e,e.dyn_ltree,e.dyn_dtree)),pt(e),a&>(e)},Ct={_tr_init:e=>{vt||((()=>{let e,t,n,a,s;const i=new Array(16);for(n=0,a=0;a<28;a++)for(at[a]=n,e=0;e<1<<Xe[a];e++)nt[n++]=a;for(nt[n-1]=a,s=0,a=0;a<16;a++)for(st[a]=s,e=0;e<1<<$e[a];e++)tt[s++]=a;for(s>>=7;a<Ge;a++)for(st[a]=s<<7,e=0;e<1<<$e[a]-7;e++)tt[256+s++]=a;for(t=0;t<=Ye;t++)i[t]=0;for(e=0;e<=143;)Qe[2*e+1]=8,e++,i[8]++;for(;e<=255;)Qe[2*e+1]=9,e++,i[9]++;for(;e<=279;)Qe[2*e+1]=7,e++,i[7]++;for(;e<=287;)Qe[2*e+1]=8,e++,i[8]++;for(mt(Qe,287,i),e=0;e<Ge;e++)et[2*e+1]=5,et[2*e]=ft(e,5);rt=new it(Qe,Xe,257,Ve,Ye),ot=new it(et,$e,0,Ge,Ye),dt=new it(new Array(0),qe,0,19,7)})(),vt=!0),e.l_desc=new lt(e.dyn_ltree,rt),e.d_desc=new lt(e.dyn_dtree,ot),e.bl_desc=new lt(e.bl_tree,dt),e.bi_buf=0,e.bi_valid=0,pt(e)},_tr_stored_block:kt,_tr_flush_block:xt,_tr_tally:(e,t,n)=>(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=n,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(nt[n]+Ke+1)]++,e.dyn_dtree[2*ct(t)]++),e.sym_next===e.sym_end),_tr_align:e=>{_t(e,2,3),ht(e,256,Qe),(e=>{16===e.bi_valid?(ut(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)})(e)}};var It=(e,t,n,a)=>{let s=65535&e|0,i=e>>>16&65535|0,r=0;for(;0!==n;){r=n>2e3?2e3:n,n-=r;do{s=s+t[a++]|0,i=i+s|0}while(--r);s%=65521,i%=65521}return s|i<<16|0};const St=new Uint32Array((()=>{let e,t=[];for(var n=0;n<256;n++){e=n;for(var a=0;a<8;a++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t})());var Rt=(e,t,n,a)=>{const s=St,i=a+n;e^=-1;for(let n=a;n<i;n++)e=e>>>8^s[255&(e^t[n])];return-1^e},Ot={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},Nt={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:Dt,_tr_stored_block:Ut,_tr_flush_block:Lt,_tr_tally:Ft,_tr_align:zt}=Ct,{Z_NO_FLUSH:Mt,Z_PARTIAL_FLUSH:Pt,Z_FULL_FLUSH:Wt,Z_FINISH:Ht,Z_BLOCK:Bt,Z_OK:jt,Z_STREAM_END:Zt,Z_STREAM_ERROR:Kt,Z_DATA_ERROR:Vt,Z_BUF_ERROR:Gt,Z_DEFAULT_COMPRESSION:Yt,Z_FILTERED:Xt,Z_HUFFMAN_ONLY:$t,Z_RLE:qt,Z_FIXED:Jt,Z_DEFAULT_STRATEGY:Qt,Z_UNKNOWN:en,Z_DEFLATED:tn}=Nt,nn=258,an=262,sn=42,rn=113,on=666,dn=(e,t)=>(e.msg=Ot[t],t),ln=e=>2*e-(e>4?9:0),cn=e=>{let t=e.length;for(;--t>=0;)e[t]=0},un=e=>{let t,n,a,s=e.w_size;t=e.hash_size,a=t;do{n=e.head[--a],e.head[a]=n>=s?n-s:0}while(--t);t=s,a=t;do{n=e.prev[--a],e.prev[a]=n>=s?n-s:0}while(--t)};let _n=(e,t,n)=>(t<<e.hash_shift^n)&e.hash_mask;const hn=e=>{const t=e.state;let n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+n),e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))},fn=(e,t)=>{Lt(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,hn(e.strm)},mn=(e,t)=>{e.pending_buf[e.pending++]=t},pn=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t},gn=(e,t,n,a)=>{let s=e.avail_in;return s>a&&(s=a),0===s?0:(e.avail_in-=s,t.set(e.input.subarray(e.next_in,e.next_in+s),n),1===e.state.wrap?e.adler=It(e.adler,t,s,n):2===e.state.wrap&&(e.adler=Rt(e.adler,t,s,n)),e.next_in+=s,e.total_in+=s,s)},wn=(e,t)=>{let n,a,s=e.max_chain_length,i=e.strstart,r=e.prev_length,o=e.nice_match;const d=e.strstart>e.w_size-an?e.strstart-(e.w_size-an):0,l=e.window,c=e.w_mask,u=e.prev,_=e.strstart+nn;let h=l[i+r-1],f=l[i+r];e.prev_length>=e.good_match&&(s>>=2),o>e.lookahead&&(o=e.lookahead);do{if(n=t,l[n+r]===f&&l[n+r-1]===h&&l[n]===l[i]&&l[++n]===l[i+1]){i+=2,n++;do{}while(l[++i]===l[++n]&&l[++i]===l[++n]&&l[++i]===l[++n]&&l[++i]===l[++n]&&l[++i]===l[++n]&&l[++i]===l[++n]&&l[++i]===l[++n]&&l[++i]===l[++n]&&i<_);if(a=nn-(_-i),i=_-nn,a>r){if(e.match_start=t,r=a,a>=o)break;h=l[i+r-1],f=l[i+r]}}}while((t=u[t&c])>d&&0!=--s);return r<=e.lookahead?r:e.lookahead},En=e=>{const t=e.w_size;let n,a,s;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-an)&&(e.window.set(e.window.subarray(t,t+t-a),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),un(e),a+=t),0===e.strm.avail_in)break;if(n=gn(e.strm,e.window,e.strstart+e.lookahead,a),e.lookahead+=n,e.lookahead+e.insert>=3)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=_n(e,e.ins_h,e.window[s+1]);e.insert&&(e.ins_h=_n(e,e.ins_h,e.window[s+3-1]),e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<an&&0!==e.strm.avail_in)},Tn=(e,t)=>{let n,a,s,i=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,r=0,o=e.strm.avail_in;do{if(n=65535,s=e.bi_valid+42>>3,e.strm.avail_out<s)break;if(s=e.strm.avail_out-s,a=e.strstart-e.block_start,n>a+e.strm.avail_in&&(n=a+e.strm.avail_in),n>s&&(n=s),n<i&&(0===n&&t!==Ht||t===Mt||n!==a+e.strm.avail_in))break;r=t===Ht&&n===a+e.strm.avail_in?1:0,Ut(e,0,0,r),e.pending_buf[e.pending-4]=n,e.pending_buf[e.pending-3]=n>>8,e.pending_buf[e.pending-2]=~n,e.pending_buf[e.pending-1]=~n>>8,hn(e.strm),a&&(a>n&&(a=n),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+a),e.strm.next_out),e.strm.next_out+=a,e.strm.avail_out-=a,e.strm.total_out+=a,e.block_start+=a,n-=a),n&&(gn(e.strm,e.strm.output,e.strm.next_out,n),e.strm.next_out+=n,e.strm.avail_out-=n,e.strm.total_out+=n)}while(0===r);return o-=e.strm.avail_in,o&&(o>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=o&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-o,e.strm.next_in),e.strstart),e.strstart+=o,e.insert+=o>e.w_size-e.insert?e.w_size-e.insert:o),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),r?4:t!==Mt&&t!==Ht&&0===e.strm.avail_in&&e.strstart===e.block_start?2:(s=e.window_size-e.strstart,e.strm.avail_in>s&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,s+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),s>e.strm.avail_in&&(s=e.strm.avail_in),s&&(gn(e.strm,e.window,e.strstart,s),e.strstart+=s,e.insert+=s>e.w_size-e.insert?e.w_size-e.insert:s),e.high_water<e.strstart&&(e.high_water=e.strstart),s=e.bi_valid+42>>3,s=e.pending_buf_size-s>65535?65535:e.pending_buf_size-s,i=s>e.w_size?e.w_size:s,a=e.strstart-e.block_start,(a>=i||(a||t===Ht)&&t!==Mt&&0===e.strm.avail_in&&a<=s)&&(n=a>s?s:a,r=t===Ht&&0===e.strm.avail_in&&n===a?1:0,Ut(e,e.block_start,n,r),e.block_start+=n,hn(e.strm)),r?3:1)},yn=(e,t)=>{let n,a;for(;;){if(e.lookahead<an){if(En(e),e.lookahead<an&&t===Mt)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=3&&(e.ins_h=_n(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==n&&e.strstart-n<=e.w_size-an&&(e.match_length=wn(e,n)),e.match_length>=3)if(a=Ft(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do{e.strstart++,e.ins_h=_n(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=_n(e,e.ins_h,e.window[e.strstart+1]);else a=Ft(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(a&&(fn(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,t===Ht?(fn(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(fn(e,!1),0===e.strm.avail_out)?1:2},bn=(e,t)=>{let n,a,s;for(;;){if(e.lookahead<an){if(En(e),e.lookahead<an&&t===Mt)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=3&&(e.ins_h=_n(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==n&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-an&&(e.match_length=wn(e,n),e.match_length<=5&&(e.strategy===Xt||3===e.match_length&&e.strstart-e.match_start>4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){s=e.strstart+e.lookahead-3,a=Ft(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=s&&(e.ins_h=_n(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=2,e.strstart++,a&&(fn(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if(a=Ft(e,0,e.window[e.strstart-1]),a&&fn(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(a=Ft(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,t===Ht?(fn(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(fn(e,!1),0===e.strm.avail_out)?1:2};function An(e,t,n,a,s){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=a,this.func=s}const vn=[new An(0,0,0,0,Tn),new An(4,4,8,4,yn),new An(4,5,16,8,yn),new An(4,6,32,32,yn),new An(4,4,16,16,bn),new An(8,16,32,32,bn),new An(8,16,128,128,bn),new An(8,32,128,256,bn),new An(32,128,258,1024,bn),new An(32,258,258,4096,bn)];function kn(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=tn,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),cn(this.dyn_ltree),cn(this.dyn_dtree),cn(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),cn(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),cn(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const xn=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.status!==sn&&57!==t.status&&69!==t.status&&73!==t.status&&91!==t.status&&103!==t.status&&t.status!==rn&&t.status!==on?1:0},Cn=e=>{if(xn(e))return dn(e,Kt);e.total_in=e.total_out=0,e.data_type=en;const t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=2===t.wrap?57:t.wrap?sn:rn,e.adler=2===t.wrap?0:1,t.last_flush=-2,Dt(t),jt},In=e=>{const t=Cn(e);var n;return t===jt&&((n=e.state).window_size=2*n.w_size,cn(n.head),n.max_lazy_match=vn[n.level].max_lazy,n.good_match=vn[n.level].good_length,n.nice_match=vn[n.level].nice_length,n.max_chain_length=vn[n.level].max_chain,n.strstart=0,n.block_start=0,n.lookahead=0,n.insert=0,n.match_length=n.prev_length=2,n.match_available=0,n.ins_h=0),t},Sn=(e,t,n,a,s,i)=>{if(!e)return Kt;let r=1;if(t===Yt&&(t=6),a<0?(r=0,a=-a):a>15&&(r=2,a-=16),s<1||s>9||n!==tn||a<8||a>15||t<0||t>9||i<0||i>Jt||8===a&&1!==r)return dn(e,Kt);8===a&&(a=9);const o=new kn;return e.state=o,o.strm=e,o.status=sn,o.wrap=r,o.gzhead=null,o.w_bits=a,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=s+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+3-1)/3),o.window=new Uint8Array(2*o.w_size),o.head=new Uint16Array(o.hash_size),o.prev=new Uint16Array(o.w_size),o.lit_bufsize=1<<s+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new Uint8Array(o.pending_buf_size),o.sym_buf=o.lit_bufsize,o.sym_end=3*(o.lit_bufsize-1),o.level=t,o.strategy=i,o.method=n,In(e)};var Rn={deflateInit:(e,t)=>Sn(e,t,tn,15,8,Qt),deflateInit2:Sn,deflateReset:In,deflateResetKeep:Cn,deflateSetHeader:(e,t)=>xn(e)||2!==e.state.wrap?Kt:(e.state.gzhead=t,jt),deflate:(e,t)=>{if(xn(e)||t>Bt||t<0)return e?dn(e,Kt):Kt;const n=e.state;if(!e.output||0!==e.avail_in&&!e.input||n.status===on&&t!==Ht)return dn(e,0===e.avail_out?Gt:Kt);const a=n.last_flush;if(n.last_flush=t,0!==n.pending){if(hn(e),0===e.avail_out)return n.last_flush=-1,jt}else if(0===e.avail_in&&ln(t)<=ln(a)&&t!==Ht)return dn(e,Gt);if(n.status===on&&0!==e.avail_in)return dn(e,Gt);if(n.status===sn&&0===n.wrap&&(n.status=rn),n.status===sn){let t=tn+(n.w_bits-8<<4)<<8,a=-1;if(a=n.strategy>=$t||n.level<2?0:n.level<6?1:6===n.level?2:3,t|=a<<6,0!==n.strstart&&(t|=32),t+=31-t%31,pn(n,t),0!==n.strstart&&(pn(n,e.adler>>>16),pn(n,65535&e.adler)),e.adler=1,n.status=rn,hn(e),0!==n.pending)return n.last_flush=-1,jt}if(57===n.status)if(e.adler=0,mn(n,31),mn(n,139),mn(n,8),n.gzhead)mn(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),mn(n,255&n.gzhead.time),mn(n,n.gzhead.time>>8&255),mn(n,n.gzhead.time>>16&255),mn(n,n.gzhead.time>>24&255),mn(n,9===n.level?2:n.strategy>=$t||n.level<2?4:0),mn(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(mn(n,255&n.gzhead.extra.length),mn(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=Rt(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69;else if(mn(n,0),mn(n,0),mn(n,0),mn(n,0),mn(n,0),mn(n,9===n.level?2:n.strategy>=$t||n.level<2?4:0),mn(n,3),n.status=rn,hn(e),0!==n.pending)return n.last_flush=-1,jt;if(69===n.status){if(n.gzhead.extra){let t=n.pending,a=(65535&n.gzhead.extra.length)-n.gzindex;for(;n.pending+a>n.pending_buf_size;){let s=n.pending_buf_size-n.pending;if(n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex,n.gzindex+s),n.pending),n.pending=n.pending_buf_size,n.gzhead.hcrc&&n.pending>t&&(e.adler=Rt(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex+=s,hn(e),0!==n.pending)return n.last_flush=-1,jt;t=0,a-=s}let s=new Uint8Array(n.gzhead.extra);n.pending_buf.set(s.subarray(n.gzindex,n.gzindex+a),n.pending),n.pending+=a,n.gzhead.hcrc&&n.pending>t&&(e.adler=Rt(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex=0}n.status=73}if(73===n.status){if(n.gzhead.name){let t,a=n.pending;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>a&&(e.adler=Rt(e.adler,n.pending_buf,n.pending-a,a)),hn(e),0!==n.pending)return n.last_flush=-1,jt;a=0}t=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,mn(n,t)}while(0!==t);n.gzhead.hcrc&&n.pending>a&&(e.adler=Rt(e.adler,n.pending_buf,n.pending-a,a)),n.gzindex=0}n.status=91}if(91===n.status){if(n.gzhead.comment){let t,a=n.pending;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>a&&(e.adler=Rt(e.adler,n.pending_buf,n.pending-a,a)),hn(e),0!==n.pending)return n.last_flush=-1,jt;a=0}t=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,mn(n,t)}while(0!==t);n.gzhead.hcrc&&n.pending>a&&(e.adler=Rt(e.adler,n.pending_buf,n.pending-a,a))}n.status=103}if(103===n.status){if(n.gzhead.hcrc){if(n.pending+2>n.pending_buf_size&&(hn(e),0!==n.pending))return n.last_flush=-1,jt;mn(n,255&e.adler),mn(n,e.adler>>8&255),e.adler=0}if(n.status=rn,hn(e),0!==n.pending)return n.last_flush=-1,jt}if(0!==e.avail_in||0!==n.lookahead||t!==Mt&&n.status!==on){let a=0===n.level?Tn(n,t):n.strategy===$t?((e,t)=>{let n;for(;;){if(0===e.lookahead&&(En(e),0===e.lookahead)){if(t===Mt)return 1;break}if(e.match_length=0,n=Ft(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(fn(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===Ht?(fn(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(fn(e,!1),0===e.strm.avail_out)?1:2})(n,t):n.strategy===qt?((e,t)=>{let n,a,s,i;const r=e.window;for(;;){if(e.lookahead<=nn){if(En(e),e.lookahead<=nn&&t===Mt)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(s=e.strstart-1,a=r[s],a===r[++s]&&a===r[++s]&&a===r[++s])){i=e.strstart+nn;do{}while(a===r[++s]&&a===r[++s]&&a===r[++s]&&a===r[++s]&&a===r[++s]&&a===r[++s]&&a===r[++s]&&a===r[++s]&&s<i);e.match_length=nn-(i-s),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(n=Ft(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=Ft(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(fn(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===Ht?(fn(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(fn(e,!1),0===e.strm.avail_out)?1:2})(n,t):vn[n.level].func(n,t);if(3!==a&&4!==a||(n.status=on),1===a||3===a)return 0===e.avail_out&&(n.last_flush=-1),jt;if(2===a&&(t===Pt?zt(n):t!==Bt&&(Ut(n,0,0,!1),t===Wt&&(cn(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),hn(e),0===e.avail_out))return n.last_flush=-1,jt}return t!==Ht?jt:n.wrap<=0?Zt:(2===n.wrap?(mn(n,255&e.adler),mn(n,e.adler>>8&255),mn(n,e.adler>>16&255),mn(n,e.adler>>24&255),mn(n,255&e.total_in),mn(n,e.total_in>>8&255),mn(n,e.total_in>>16&255),mn(n,e.total_in>>24&255)):(pn(n,e.adler>>>16),pn(n,65535&e.adler)),hn(e),n.wrap>0&&(n.wrap=-n.wrap),0!==n.pending?jt:Zt)},deflateEnd:e=>{if(xn(e))return Kt;const t=e.state.status;return e.state=null,t===rn?dn(e,Vt):jt},deflateSetDictionary:(e,t)=>{let n=t.length;if(xn(e))return Kt;const a=e.state,s=a.wrap;if(2===s||1===s&&a.status!==sn||a.lookahead)return Kt;if(1===s&&(e.adler=It(e.adler,t,n,0)),a.wrap=0,n>=a.w_size){0===s&&(cn(a.head),a.strstart=0,a.block_start=0,a.insert=0);let e=new Uint8Array(a.w_size);e.set(t.subarray(n-a.w_size,n),0),t=e,n=a.w_size}const i=e.avail_in,r=e.next_in,o=e.input;for(e.avail_in=n,e.next_in=0,e.input=t,En(a);a.lookahead>=3;){let e=a.strstart,t=a.lookahead-2;do{a.ins_h=_n(a,a.ins_h,a.window[e+3-1]),a.prev[e&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=e,e++}while(--t);a.strstart=e,a.lookahead=2,En(a)}return a.strstart+=a.lookahead,a.block_start=a.strstart,a.insert=a.lookahead,a.lookahead=0,a.match_length=a.prev_length=2,a.match_available=0,e.next_in=r,e.input=o,e.avail_in=i,a.wrap=s,jt},deflateInfo:"pako deflate (from Nodeca project)"};const On=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var Nn={assign:function(e){const t=Array.prototype.slice.call(arguments,1);for(;t.length;){const n=t.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(const t in n)On(n,t)&&(e[t]=n[t])}}return e},flattenChunks:e=>{let t=0;for(let n=0,a=e.length;n<a;n++)t+=e[n].length;const n=new Uint8Array(t);for(let t=0,a=0,s=e.length;t<s;t++){let s=e[t];n.set(s,a),a+=s.length}return n}};let Dn=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){Dn=!1}const Un=new Uint8Array(256);for(let e=0;e<256;e++)Un[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;Un[254]=Un[254]=1;var Ln={string2buf:e=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);let t,n,a,s,i,r=e.length,o=0;for(s=0;s<r;s++)n=e.charCodeAt(s),55296==(64512&n)&&s+1<r&&(a=e.charCodeAt(s+1),56320==(64512&a)&&(n=65536+(n-55296<<10)+(a-56320),s++)),o+=n<128?1:n<2048?2:n<65536?3:4;for(t=new Uint8Array(o),i=0,s=0;i<o;s++)n=e.charCodeAt(s),55296==(64512&n)&&s+1<r&&(a=e.charCodeAt(s+1),56320==(64512&a)&&(n=65536+(n-55296<<10)+(a-56320),s++)),n<128?t[i++]=n:n<2048?(t[i++]=192|n>>>6,t[i++]=128|63&n):n<65536?(t[i++]=224|n>>>12,t[i++]=128|n>>>6&63,t[i++]=128|63&n):(t[i++]=240|n>>>18,t[i++]=128|n>>>12&63,t[i++]=128|n>>>6&63,t[i++]=128|63&n);return t},buf2string:(e,t)=>{const n=t||e.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(e.subarray(0,t));let a,s;const i=new Array(2*n);for(s=0,a=0;a<n;){let t=e[a++];if(t<128){i[s++]=t;continue}let r=Un[t];if(r>4)i[s++]=65533,a+=r-1;else{for(t&=2===r?31:3===r?15:7;r>1&&a<n;)t=t<<6|63&e[a++],r--;r>1?i[s++]=65533:t<65536?i[s++]=t:(t-=65536,i[s++]=55296|t>>10&1023,i[s++]=56320|1023&t)}}return((e,t)=>{if(t<65534&&e.subarray&&Dn)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let n="";for(let a=0;a<t;a++)n+=String.fromCharCode(e[a]);return n})(i,s)},utf8border:(e,t)=>{(t=t||e.length)>e.length&&(t=e.length);let n=t-1;for(;n>=0&&128==(192&e[n]);)n--;return n<0||0===n?t:n+Un[e[n]]>t?n:t}};var Fn=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const zn=Object.prototype.toString,{Z_NO_FLUSH:Mn,Z_SYNC_FLUSH:Pn,Z_FULL_FLUSH:Wn,Z_FINISH:Hn,Z_OK:Bn,Z_STREAM_END:jn,Z_DEFAULT_COMPRESSION:Zn,Z_DEFAULT_STRATEGY:Kn,Z_DEFLATED:Vn}=Nt;function Gn(e){this.options=Nn.assign({level:Zn,method:Vn,chunkSize:16384,windowBits:15,memLevel:8,strategy:Kn},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Fn,this.strm.avail_out=0;let n=Rn.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==Bn)throw new Error(Ot[n]);if(t.header&&Rn.deflateSetHeader(this.strm,t.header),t.dictionary){let e;if(e="string"==typeof t.dictionary?Ln.string2buf(t.dictionary):"[object ArrayBuffer]"===zn.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,n=Rn.deflateSetDictionary(this.strm,e),n!==Bn)throw new Error(Ot[n]);this._dict_set=!0}}function Yn(e,t){const n=new Gn(t);if(n.push(e,!0),n.err)throw n.msg||Ot[n.err];return n.result}Gn.prototype.push=function(e,t){const n=this.strm,a=this.options.chunkSize;let s,i;if(this.ended)return!1;for(i=t===~~t?t:!0===t?Hn:Mn,"string"==typeof e?n.input=Ln.string2buf(e):"[object ArrayBuffer]"===zn.call(e)?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;)if(0===n.avail_out&&(n.output=new Uint8Array(a),n.next_out=0,n.avail_out=a),(i===Pn||i===Wn)&&n.avail_out<=6)this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;else{if(s=Rn.deflate(n,i),s===jn)return n.next_out>0&&this.onData(n.output.subarray(0,n.next_out)),s=Rn.deflateEnd(this.strm),this.onEnd(s),this.ended=!0,s===Bn;if(0!==n.avail_out){if(i>0&&n.next_out>0)this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;else if(0===n.avail_in)break}else this.onData(n.output)}return!0},Gn.prototype.onData=function(e){this.chunks.push(e)},Gn.prototype.onEnd=function(e){e===Bn&&(this.result=Nn.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var Xn={Deflate:Gn,deflate:Yn,deflateRaw:function(e,t){return(t=t||{}).raw=!0,Yn(e,t)},gzip:function(e,t){return(t=t||{}).gzip=!0,Yn(e,t)},constants:Nt};const $n=16209;var qn=function(e,t){let n,a,s,i,r,o,d,l,c,u,_,h,f,m,p,g,w,E,T,y,b,A,v,k;const x=e.state;n=e.next_in,v=e.input,a=n+(e.avail_in-5),s=e.next_out,k=e.output,i=s-(t-e.avail_out),r=s+(e.avail_out-257),o=x.dmax,d=x.wsize,l=x.whave,c=x.wnext,u=x.window,_=x.hold,h=x.bits,f=x.lencode,m=x.distcode,p=(1<<x.lenbits)-1,g=(1<<x.distbits)-1;e:do{h<15&&(_+=v[n++]<<h,h+=8,_+=v[n++]<<h,h+=8),w=f[_&p];t:for(;;){if(E=w>>>24,_>>>=E,h-=E,E=w>>>16&255,0===E)k[s++]=65535&w;else{if(!(16&E)){if(0==(64&E)){w=f[(65535&w)+(_&(1<<E)-1)];continue t}if(32&E){x.mode=16191;break e}e.msg="invalid literal/length code",x.mode=$n;break e}T=65535&w,E&=15,E&&(h<E&&(_+=v[n++]<<h,h+=8),T+=_&(1<<E)-1,_>>>=E,h-=E),h<15&&(_+=v[n++]<<h,h+=8,_+=v[n++]<<h,h+=8),w=m[_&g];n:for(;;){if(E=w>>>24,_>>>=E,h-=E,E=w>>>16&255,!(16&E)){if(0==(64&E)){w=m[(65535&w)+(_&(1<<E)-1)];continue n}e.msg="invalid distance code",x.mode=$n;break e}if(y=65535&w,E&=15,h<E&&(_+=v[n++]<<h,h+=8,h<E&&(_+=v[n++]<<h,h+=8)),y+=_&(1<<E)-1,y>o){e.msg="invalid distance too far back",x.mode=$n;break e}if(_>>>=E,h-=E,E=s-i,y>E){if(E=y-E,E>l&&x.sane){e.msg="invalid distance too far back",x.mode=$n;break e}if(b=0,A=u,0===c){if(b+=d-E,E<T){T-=E;do{k[s++]=u[b++]}while(--E);b=s-y,A=k}}else if(c<E){if(b+=d+c-E,E-=c,E<T){T-=E;do{k[s++]=u[b++]}while(--E);if(b=0,c<T){E=c,T-=E;do{k[s++]=u[b++]}while(--E);b=s-y,A=k}}}else if(b+=c-E,E<T){T-=E;do{k[s++]=u[b++]}while(--E);b=s-y,A=k}for(;T>2;)k[s++]=A[b++],k[s++]=A[b++],k[s++]=A[b++],T-=3;T&&(k[s++]=A[b++],T>1&&(k[s++]=A[b++]))}else{b=s-y;do{k[s++]=k[b++],k[s++]=k[b++],k[s++]=k[b++],T-=3}while(T>2);T&&(k[s++]=k[b++],T>1&&(k[s++]=k[b++]))}break}}break}}while(n<a&&s<r);T=h>>3,n-=T,h-=T<<3,_&=(1<<h)-1,e.next_in=n,e.next_out=s,e.avail_in=n<a?a-n+5:5-(n-a),e.avail_out=s<r?r-s+257:257-(s-r),x.hold=_,x.bits=h};const Jn=15,Qn=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),ea=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),ta=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),na=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var aa=(e,t,n,a,s,i,r,o)=>{const d=o.bits;let l,c,u,_,h,f,m=0,p=0,g=0,w=0,E=0,T=0,y=0,b=0,A=0,v=0,k=null;const x=new Uint16Array(16),C=new Uint16Array(16);let I,S,R,O=null;for(m=0;m<=Jn;m++)x[m]=0;for(p=0;p<a;p++)x[t[n+p]]++;for(E=d,w=Jn;w>=1&&0===x[w];w--);if(E>w&&(E=w),0===w)return s[i++]=20971520,s[i++]=20971520,o.bits=1,0;for(g=1;g<w&&0===x[g];g++);for(E<g&&(E=g),b=1,m=1;m<=Jn;m++)if(b<<=1,b-=x[m],b<0)return-1;if(b>0&&(0===e||1!==w))return-1;for(C[1]=0,m=1;m<Jn;m++)C[m+1]=C[m]+x[m];for(p=0;p<a;p++)0!==t[n+p]&&(r[C[t[n+p]]++]=p);if(0===e?(k=O=r,f=20):1===e?(k=Qn,O=ea,f=257):(k=ta,O=na,f=0),v=0,p=0,m=g,h=i,T=E,y=0,u=-1,A=1<<E,_=A-1,1===e&&A>852||2===e&&A>592)return 1;for(;;){I=m-y,r[p]+1<f?(S=0,R=r[p]):r[p]>=f?(S=O[r[p]-f],R=k[r[p]-f]):(S=96,R=0),l=1<<m-y,c=1<<T,g=c;do{c-=l,s[h+(v>>y)+c]=I<<24|S<<16|R|0}while(0!==c);for(l=1<<m-1;v&l;)l>>=1;if(0!==l?(v&=l-1,v+=l):v=0,p++,0==--x[m]){if(m===w)break;m=t[n+r[p]]}if(m>E&&(v&_)!==u){for(0===y&&(y=E),h+=g,T=m-y,b=1<<T;T+y<w&&(b-=x[T+y],!(b<=0));)T++,b<<=1;if(A+=1<<T,1===e&&A>852||2===e&&A>592)return 1;u=v&_,s[u]=E<<24|T<<16|h-i|0}}return 0!==v&&(s[h+v]=m-y<<24|64<<16|0),o.bits=E,0};const{Z_FINISH:sa,Z_BLOCK:ia,Z_TREES:ra,Z_OK:oa,Z_STREAM_END:da,Z_NEED_DICT:la,Z_STREAM_ERROR:ca,Z_DATA_ERROR:ua,Z_MEM_ERROR:_a,Z_BUF_ERROR:ha,Z_DEFLATED:fa}=Nt,ma=16180,pa=16190,ga=16191,wa=16192,Ea=16194,Ta=16199,ya=16200,ba=16206,Aa=16209,va=e=>(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24);function ka(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const xa=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.mode<ma||t.mode>16211?1:0},Ca=e=>{if(xa(e))return ca;const t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=ma,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,oa},Ia=e=>{if(xa(e))return ca;const t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,Ca(e)},Sa=(e,t)=>{let n;if(xa(e))return ca;const a=e.state;return t<0?(n=0,t=-t):(n=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?ca:(null!==a.window&&a.wbits!==t&&(a.window=null),a.wrap=n,a.wbits=t,Ia(e))},Ra=(e,t)=>{if(!e)return ca;const n=new ka;e.state=n,n.strm=e,n.window=null,n.mode=ma;const a=Sa(e,t);return a!==oa&&(e.state=null),a};let Oa,Na,Da=!0;const Ua=e=>{if(Da){Oa=new Int32Array(512),Na=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(aa(1,e.lens,0,288,Oa,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;aa(2,e.lens,0,32,Na,0,e.work,{bits:5}),Da=!1}e.lencode=Oa,e.lenbits=9,e.distcode=Na,e.distbits=5},La=(e,t,n,a)=>{let s;const i=e.state;return null===i.window&&(i.wsize=1<<i.wbits,i.wnext=0,i.whave=0,i.window=new Uint8Array(i.wsize)),a>=i.wsize?(i.window.set(t.subarray(n-i.wsize,n),0),i.wnext=0,i.whave=i.wsize):(s=i.wsize-i.wnext,s>a&&(s=a),i.window.set(t.subarray(n-a,n-a+s),i.wnext),(a-=s)?(i.window.set(t.subarray(n-a,n),0),i.wnext=a,i.whave=i.wsize):(i.wnext+=s,i.wnext===i.wsize&&(i.wnext=0),i.whave<i.wsize&&(i.whave+=s))),0};var Fa={inflateReset:Ia,inflateReset2:Sa,inflateResetKeep:Ca,inflateInit:e=>Ra(e,15),inflateInit2:Ra,inflate:(e,t)=>{let n,a,s,i,r,o,d,l,c,u,_,h,f,m,p,g,w,E,T,y,b,A,v=0;const k=new Uint8Array(4);let x,C;const I=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(xa(e)||!e.output||!e.input&&0!==e.avail_in)return ca;n=e.state,n.mode===ga&&(n.mode=wa),r=e.next_out,s=e.output,d=e.avail_out,i=e.next_in,a=e.input,o=e.avail_in,l=n.hold,c=n.bits,u=o,_=d,A=oa;e:for(;;)switch(n.mode){case ma:if(0===n.wrap){n.mode=wa;break}for(;c<16;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}if(2&n.wrap&&35615===l){0===n.wbits&&(n.wbits=15),n.check=0,k[0]=255&l,k[1]=l>>>8&255,n.check=Rt(n.check,k,2,0),l=0,c=0,n.mode=16181;break}if(n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&l)<<8)+(l>>8))%31){e.msg="incorrect header check",n.mode=Aa;break}if((15&l)!==fa){e.msg="unknown compression method",n.mode=Aa;break}if(l>>>=4,c-=4,b=8+(15&l),0===n.wbits&&(n.wbits=b),b>15||b>n.wbits){e.msg="invalid window size",n.mode=Aa;break}n.dmax=1<<n.wbits,n.flags=0,e.adler=n.check=1,n.mode=512&l?16189:ga,l=0,c=0;break;case 16181:for(;c<16;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}if(n.flags=l,(255&n.flags)!==fa){e.msg="unknown compression method",n.mode=Aa;break}if(57344&n.flags){e.msg="unknown header flags set",n.mode=Aa;break}n.head&&(n.head.text=l>>8&1),512&n.flags&&4&n.wrap&&(k[0]=255&l,k[1]=l>>>8&255,n.check=Rt(n.check,k,2,0)),l=0,c=0,n.mode=16182;case 16182:for(;c<32;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}n.head&&(n.head.time=l),512&n.flags&&4&n.wrap&&(k[0]=255&l,k[1]=l>>>8&255,k[2]=l>>>16&255,k[3]=l>>>24&255,n.check=Rt(n.check,k,4,0)),l=0,c=0,n.mode=16183;case 16183:for(;c<16;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}n.head&&(n.head.xflags=255&l,n.head.os=l>>8),512&n.flags&&4&n.wrap&&(k[0]=255&l,k[1]=l>>>8&255,n.check=Rt(n.check,k,2,0)),l=0,c=0,n.mode=16184;case 16184:if(1024&n.flags){for(;c<16;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}n.length=l,n.head&&(n.head.extra_len=l),512&n.flags&&4&n.wrap&&(k[0]=255&l,k[1]=l>>>8&255,n.check=Rt(n.check,k,2,0)),l=0,c=0}else n.head&&(n.head.extra=null);n.mode=16185;case 16185:if(1024&n.flags&&(h=n.length,h>o&&(h=o),h&&(n.head&&(b=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(a.subarray(i,i+h),b)),512&n.flags&&4&n.wrap&&(n.check=Rt(n.check,a,h,i)),o-=h,i+=h,n.length-=h),n.length))break e;n.length=0,n.mode=16186;case 16186:if(2048&n.flags){if(0===o)break e;h=0;do{b=a[i+h++],n.head&&b&&n.length<65536&&(n.head.name+=String.fromCharCode(b))}while(b&&h<o);if(512&n.flags&&4&n.wrap&&(n.check=Rt(n.check,a,h,i)),o-=h,i+=h,b)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=16187;case 16187:if(4096&n.flags){if(0===o)break e;h=0;do{b=a[i+h++],n.head&&b&&n.length<65536&&(n.head.comment+=String.fromCharCode(b))}while(b&&h<o);if(512&n.flags&&4&n.wrap&&(n.check=Rt(n.check,a,h,i)),o-=h,i+=h,b)break e}else n.head&&(n.head.comment=null);n.mode=16188;case 16188:if(512&n.flags){for(;c<16;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}if(4&n.wrap&&l!==(65535&n.check)){e.msg="header crc mismatch",n.mode=Aa;break}l=0,c=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=ga;break;case 16189:for(;c<32;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}e.adler=n.check=va(l),l=0,c=0,n.mode=pa;case pa:if(0===n.havedict)return e.next_out=r,e.avail_out=d,e.next_in=i,e.avail_in=o,n.hold=l,n.bits=c,la;e.adler=n.check=1,n.mode=ga;case ga:if(t===ia||t===ra)break e;case wa:if(n.last){l>>>=7&c,c-=7&c,n.mode=ba;break}for(;c<3;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}switch(n.last=1&l,l>>>=1,c-=1,3&l){case 0:n.mode=16193;break;case 1:if(Ua(n),n.mode=Ta,t===ra){l>>>=2,c-=2;break e}break;case 2:n.mode=16196;break;case 3:e.msg="invalid block type",n.mode=Aa}l>>>=2,c-=2;break;case 16193:for(l>>>=7&c,c-=7&c;c<32;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}if((65535&l)!=(l>>>16^65535)){e.msg="invalid stored block lengths",n.mode=Aa;break}if(n.length=65535&l,l=0,c=0,n.mode=Ea,t===ra)break e;case Ea:n.mode=16195;case 16195:if(h=n.length,h){if(h>o&&(h=o),h>d&&(h=d),0===h)break e;s.set(a.subarray(i,i+h),r),o-=h,i+=h,d-=h,r+=h,n.length-=h;break}n.mode=ga;break;case 16196:for(;c<14;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}if(n.nlen=257+(31&l),l>>>=5,c-=5,n.ndist=1+(31&l),l>>>=5,c-=5,n.ncode=4+(15&l),l>>>=4,c-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=Aa;break}n.have=0,n.mode=16197;case 16197:for(;n.have<n.ncode;){for(;c<3;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}n.lens[I[n.have++]]=7&l,l>>>=3,c-=3}for(;n.have<19;)n.lens[I[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,x={bits:n.lenbits},A=aa(0,n.lens,0,19,n.lencode,0,n.work,x),n.lenbits=x.bits,A){e.msg="invalid code lengths set",n.mode=Aa;break}n.have=0,n.mode=16198;case 16198:for(;n.have<n.nlen+n.ndist;){for(;v=n.lencode[l&(1<<n.lenbits)-1],p=v>>>24,g=v>>>16&255,w=65535&v,!(p<=c);){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}if(w<16)l>>>=p,c-=p,n.lens[n.have++]=w;else{if(16===w){for(C=p+2;c<C;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}if(l>>>=p,c-=p,0===n.have){e.msg="invalid bit length repeat",n.mode=Aa;break}b=n.lens[n.have-1],h=3+(3&l),l>>>=2,c-=2}else if(17===w){for(C=p+3;c<C;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}l>>>=p,c-=p,b=0,h=3+(7&l),l>>>=3,c-=3}else{for(C=p+7;c<C;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}l>>>=p,c-=p,b=0,h=11+(127&l),l>>>=7,c-=7}if(n.have+h>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=Aa;break}for(;h--;)n.lens[n.have++]=b}}if(n.mode===Aa)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=Aa;break}if(n.lenbits=9,x={bits:n.lenbits},A=aa(1,n.lens,0,n.nlen,n.lencode,0,n.work,x),n.lenbits=x.bits,A){e.msg="invalid literal/lengths set",n.mode=Aa;break}if(n.distbits=6,n.distcode=n.distdyn,x={bits:n.distbits},A=aa(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,x),n.distbits=x.bits,A){e.msg="invalid distances set",n.mode=Aa;break}if(n.mode=Ta,t===ra)break e;case Ta:n.mode=ya;case ya:if(o>=6&&d>=258){e.next_out=r,e.avail_out=d,e.next_in=i,e.avail_in=o,n.hold=l,n.bits=c,qn(e,_),r=e.next_out,s=e.output,d=e.avail_out,i=e.next_in,a=e.input,o=e.avail_in,l=n.hold,c=n.bits,n.mode===ga&&(n.back=-1);break}for(n.back=0;v=n.lencode[l&(1<<n.lenbits)-1],p=v>>>24,g=v>>>16&255,w=65535&v,!(p<=c);){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}if(g&&0==(240&g)){for(E=p,T=g,y=w;v=n.lencode[y+((l&(1<<E+T)-1)>>E)],p=v>>>24,g=v>>>16&255,w=65535&v,!(E+p<=c);){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}l>>>=E,c-=E,n.back+=E}if(l>>>=p,c-=p,n.back+=p,n.length=w,0===g){n.mode=16205;break}if(32&g){n.back=-1,n.mode=ga;break}if(64&g){e.msg="invalid literal/length code",n.mode=Aa;break}n.extra=15&g,n.mode=16201;case 16201:if(n.extra){for(C=n.extra;c<C;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}n.length+=l&(1<<n.extra)-1,l>>>=n.extra,c-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=16202;case 16202:for(;v=n.distcode[l&(1<<n.distbits)-1],p=v>>>24,g=v>>>16&255,w=65535&v,!(p<=c);){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}if(0==(240&g)){for(E=p,T=g,y=w;v=n.distcode[y+((l&(1<<E+T)-1)>>E)],p=v>>>24,g=v>>>16&255,w=65535&v,!(E+p<=c);){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}l>>>=E,c-=E,n.back+=E}if(l>>>=p,c-=p,n.back+=p,64&g){e.msg="invalid distance code",n.mode=Aa;break}n.offset=w,n.extra=15&g,n.mode=16203;case 16203:if(n.extra){for(C=n.extra;c<C;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}n.offset+=l&(1<<n.extra)-1,l>>>=n.extra,c-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=Aa;break}n.mode=16204;case 16204:if(0===d)break e;if(h=_-d,n.offset>h){if(h=n.offset-h,h>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=Aa;break}h>n.wnext?(h-=n.wnext,f=n.wsize-h):f=n.wnext-h,h>n.length&&(h=n.length),m=n.window}else m=s,f=r-n.offset,h=n.length;h>d&&(h=d),d-=h,n.length-=h;do{s[r++]=m[f++]}while(--h);0===n.length&&(n.mode=ya);break;case 16205:if(0===d)break e;s[r++]=n.length,d--,n.mode=ya;break;case ba:if(n.wrap){for(;c<32;){if(0===o)break e;o--,l|=a[i++]<<c,c+=8}if(_-=d,e.total_out+=_,n.total+=_,4&n.wrap&&_&&(e.adler=n.check=n.flags?Rt(n.check,s,_,r-_):It(n.check,s,_,r-_)),_=d,4&n.wrap&&(n.flags?l:va(l))!==n.check){e.msg="incorrect data check",n.mode=Aa;break}l=0,c=0}n.mode=16207;case 16207:if(n.wrap&&n.flags){for(;c<32;){if(0===o)break e;o--,l+=a[i++]<<c,c+=8}if(4&n.wrap&&l!==(4294967295&n.total)){e.msg="incorrect length check",n.mode=Aa;break}l=0,c=0}n.mode=16208;case 16208:A=da;break e;case Aa:A=ua;break e;case 16210:return _a;default:return ca}return e.next_out=r,e.avail_out=d,e.next_in=i,e.avail_in=o,n.hold=l,n.bits=c,(n.wsize||_!==e.avail_out&&n.mode<Aa&&(n.mode<ba||t!==sa))&&La(e,e.output,e.next_out,_-e.avail_out),u-=e.avail_in,_-=e.avail_out,e.total_in+=u,e.total_out+=_,n.total+=_,4&n.wrap&&_&&(e.adler=n.check=n.flags?Rt(n.check,s,_,e.next_out-_):It(n.check,s,_,e.next_out-_)),e.data_type=n.bits+(n.last?64:0)+(n.mode===ga?128:0)+(n.mode===Ta||n.mode===Ea?256:0),(0===u&&0===_||t===sa)&&A===oa&&(A=ha),A},inflateEnd:e=>{if(xa(e))return ca;let t=e.state;return t.window&&(t.window=null),e.state=null,oa},inflateGetHeader:(e,t)=>{if(xa(e))return ca;const n=e.state;return 0==(2&n.wrap)?ca:(n.head=t,t.done=!1,oa)},inflateSetDictionary:(e,t)=>{const n=t.length;let a,s,i;return xa(e)?ca:(a=e.state,0!==a.wrap&&a.mode!==pa?ca:a.mode===pa&&(s=1,s=It(s,t,n,0),s!==a.check)?ua:(i=La(e,t,n,n),i?(a.mode=16210,_a):(a.havedict=1,oa)))},inflateInfo:"pako inflate (from Nodeca project)"};var za=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const Ma=Object.prototype.toString,{Z_NO_FLUSH:Pa,Z_FINISH:Wa,Z_OK:Ha,Z_STREAM_END:Ba,Z_NEED_DICT:ja,Z_STREAM_ERROR:Za,Z_DATA_ERROR:Ka,Z_MEM_ERROR:Va}=Nt;function Ga(e){this.options=Nn.assign({chunkSize:65536,windowBits:15,to:""},e||{});const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Fn,this.strm.avail_out=0;let n=Fa.inflateInit2(this.strm,t.windowBits);if(n!==Ha)throw new Error(Ot[n]);if(this.header=new za,Fa.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=Ln.string2buf(t.dictionary):"[object ArrayBuffer]"===Ma.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=Fa.inflateSetDictionary(this.strm,t.dictionary),n!==Ha)))throw new Error(Ot[n])}function Ya(e,t){const n=new Ga(t);if(n.push(e),n.err)throw n.msg||Ot[n.err];return n.result}Ga.prototype.push=function(e,t){const n=this.strm,a=this.options.chunkSize,s=this.options.dictionary;let i,r,o;if(this.ended)return!1;for(r=t===~~t?t:!0===t?Wa:Pa,"[object ArrayBuffer]"===Ma.call(e)?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){for(0===n.avail_out&&(n.output=new Uint8Array(a),n.next_out=0,n.avail_out=a),i=Fa.inflate(n,r),i===ja&&s&&(i=Fa.inflateSetDictionary(n,s),i===Ha?i=Fa.inflate(n,r):i===Ka&&(i=ja));n.avail_in>0&&i===Ba&&n.state.wrap>0&&0!==e[n.next_in];)Fa.inflateReset(n),i=Fa.inflate(n,r);switch(i){case Za:case Ka:case ja:case Va:return this.onEnd(i),this.ended=!0,!1}if(o=n.avail_out,n.next_out&&(0===n.avail_out||i===Ba))if("string"===this.options.to){let e=Ln.utf8border(n.output,n.next_out),t=n.next_out-e,s=Ln.buf2string(n.output,e);n.next_out=t,n.avail_out=a-t,t&&n.output.set(n.output.subarray(e,e+t),0),this.onData(s)}else this.onData(n.output.length===n.next_out?n.output:n.output.subarray(0,n.next_out));if(i!==Ha||0!==o){if(i===Ba)return i=Fa.inflateEnd(this.strm),this.onEnd(i),this.ended=!0,!0;if(0===n.avail_in)break}}return!0},Ga.prototype.onData=function(e){this.chunks.push(e)},Ga.prototype.onEnd=function(e){e===Ha&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Nn.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var Xa={Inflate:Ga,inflate:Ya,inflateRaw:function(e,t){return(t=t||{}).raw=!0,Ya(e,t)},ungzip:Ya,constants:Nt};const{Deflate:$a,deflate:qa,deflateRaw:Ja,gzip:Qa}=Xn,{Inflate:es,inflate:ts,inflateRaw:ns,ungzip:as}=Xa;var ss={Deflate:$a,deflate:qa,deflateRaw:Ja,gzip:Qa,Inflate:es,inflate:ts,inflateRaw:ns,ungzip:as,constants:Nt};const is={[e.SANDBOX]:"https://global-stg.transak.com",[e.PRODUCTION]:"https://global.transak.com/"},rs=e=>{const{type:n,...a}=e,[s,i]=t.useState(""),r=t.useCallback((()=>{const{calldata:e,nftData:t,estimatedGasLimit:n,...s}=a,i=t?.slice(0,1),r=n>0?n:"30000000",o={apiKey:"d14b44fb-0f84-4db5-affb-e044040d724b",network:"immutablezkevm",isNFT:"true",disableWalletAddressForm:"true",environment:"STAGING",calldata:btoa(String.fromCharCode.apply(null,ss.deflate(e))),nftData:btoa(JSON.stringify(i)),estimatedGasLimit:r.toString(),...s,themeColor:"0D0D0D"};return`${`${is.sandbox}?`}${new URLSearchParams(o).toString()}`}),[e]);return t.useEffect((()=>{i(r())}),[e]),{iframeSrc:s}};function os(e){const{id:n,type:a,email:s,walletAddress:i,isPassportWallet:r,nftData:o,calldata:d,cryptoCurrencyCode:l,estimatedGasLimit:c,exchangeScreenTitle:u,smartContractAddress:_,partnerOrderId:h,onOpen:f,onInit:m,onOrderCreated:g,onOrderProcessing:w,onOrderCompleted:E,onOrderFailed:T,onFailedToLoad:y,failedToLoadTimeoutInMs:b,loadingText:A}=e,v=t.useRef(null),{onLoad:k,initialised:x}=pe({userJourney:G.SALE,ref:v,email:s,userId:i,isPassportWallet:r,onOpen:f,onOrderCreated:g,onOrderProcessing:w,onOrderCompleted:E,onOrderFailed:T,onInit:m,failedToLoadTimeoutInMs:b,onFailedToLoad:y}),{iframeSrc:C}=rs({type:a,nftData:o,calldata:d,cryptoCurrencyCode:l,estimatedGasLimit:c,exchangeScreenTitle:u,smartContractAddress:_,email:s,walletAddress:i,partnerOrderId:h});return p.jsxs(p.Fragment,{children:[!x&&p.jsx(J,{testId:"loading-view",children:p.jsx(Q,{loadingText:A})}),p.jsx("iframe",{ref:v,id:n,src:C,title:"Transak-Iframe",allow:"camera;microphone;fullscreen;payment",style:{height:"100%",width:"100%",border:"none",position:"absolute",top:0,left:0,opacity:x?1:0,transition:"opacity 0.5s ease-out"},onLoad:k,onError:()=>y?.()})]})}function ds(e){const{t:n}=g(),{onInit:a,onOpen:s,onOrderCreated:i,onOrderProcessing:r,onOrderCompleted:o,onOrderFailed:d}=e,{recipientEmail:l,recipientAddress:c,isPassportWallet:u,signResponse:_,goToErrorView:h}=Oe(),f=_?.transactions.find((e=>e.methodCall.startsWith("execute")));if(!_||!f)return null;const m=t.useMemo((()=>_.order.products.map((e=>({collectionAddress:e.collectionAddress,imageURL:e.image,nftName:e.name,price:e.amount,quantity:e.qty,tokenID:e.tokenId,nftType:e.contractType||"ERC721"})))),[_]);return p.jsx(os,{id:"transak-iframe",type:"nft-checkout",email:l,walletAddress:c,isPassportWallet:u,exchangeScreenTitle:n("views.PAY_WITH_CARD.screenTitle"),loadingText:n("views.PAY_WITH_CARD.loading"),nftData:m,calldata:f.rawData,cryptoCurrencyCode:_.order.currency.name,estimatedGasLimit:f.gasEstimate,smartContractAddress:f.tokenAddress,partnerOrderId:f.params.reference,onInit:a,onOpen:s,onOrderCreated:i,onOrderProcessing:r,onOrderCompleted:o,onOrderFailed:d,onFailedToLoad:()=>{h(Ee.TRANSACTION_FAILED)}})}function ls(){const{sendPageView:e}=Be(),[n,a]=t.useState(!1),{goBackToPaymentMethods:s,goToErrorView:i,goToSuccessView:r}=Oe(),{sendOrderCreated:o}=Be(),d=(e={})=>{const{id:t,status:n,cryptoAmount:a,cryptoCurrency:s,fiatAmount:i,fiatAmountInUsd:o,amountPaid:d,totalFeeInFiat:l,paymentOptionId:c,userId:u,userKycType:_,walletAddress:h,nftAssetInfo:f}=e,{nftDataBase64:m,quantity:p}=f||{};r({orderId:t,orderStatus:n,cryptoAmount:a,cryptoCurrency:s,fiatAmount:i,fiatAmountInUsd:o,amountPaid:d,totalFeeInFiat:l,paymentOption:c,userId:u,userKycType:_,walletAddress:h,nftDataBase64:m,quantity:p})};return t.useEffect((()=>e(ge.PAY_WITH_CARD)),[]),p.jsx(W,{header:n&&p.jsx(H,{onCloseButtonClick:()=>s()}),footer:p.jsx(j,{hideLogo:n}),children:p.jsx(Z,{style:{display:"block",position:"relative",maxWidth:"420px",height:"565px",borderRadius:"1%",overflow:"hidden",margin:"0 auto",width:"100%"},children:p.jsx(ds,{onInit:()=>a(!0),onOrderFailed:()=>{i(Ee.TRANSAK_FAILED)},onOrderCompleted:d,onOrderCreated:(e={})=>{const{id:t,status:n,cryptoAmount:a,cryptoCurrency:s,fiatAmount:i,fiatAmountInUsd:r,amountPaid:d,totalFeeInFiat:l,paymentOptionId:c,userId:u,userKycType:_,walletAddress:h,nftAssetInfo:f}=e,{nftDataBase64:m,quantity:p}=f||{};o(ge.PAY_WITH_CARD,{orderId:t,orderStatus:n,cryptoAmount:a,cryptoCurrency:s,fiatAmount:i,fiatAmountInUsd:r,amountPaid:d,totalFeeInFiat:l,paymentOption:c,userId:u,userKycType:_,walletAddress:h,nftDataBase64:m,quantity:p})},onOrderProcessing:d})})})}function cs(){const{t:e}=g(),n=t.useRef(!1),{sendPageView:a,sendTransactionSuccessEvent:s,sendFailedEvent:i}=Be(),{execute:r,signResponse:o,executeResponse:d,goToSuccessView:l}=Oe(),c=o?.transactions.length||0,u=d?.transactions.length||0;let _=e("views.PAYMENT_METHODS.loading.ready");void 0!==o?_=e("views.PAYMENT_METHODS.loading.confirm"):u>0&&u===c&&(_=e("views.PAYMENT_METHODS.loading.processing")),void 0!==o&&(_=`${_} ${u}/${c}`);return t.useEffect((()=>{void 0!==o&&!1===n.current&&(n.current=!0,(async()=>{r(o,(e=>{s(e)}),((e,t)=>{i(e.toString(),e,t)}))})())}),[o]),t.useEffect((()=>{!0===d?.done&&l()}),[d]),t.useEffect((()=>a(ge.PAY_WITH_COINS)),[]),p.jsx(k,{loadingText:_,showFooterLogo:!0})}function us(e){const{t:t}=g(),{type:n,onClick:a,disabled:s}=e,i={[m.CRYPTO]:"Coins",[m.FIAT]:"BankCard"};return p.jsxs(U,{size:"medium",emphasized:!0,onClick:s?void 0:()=>a(n),sx:{...s&&{opacity:"0.5",cursor:"not-allowed"},marginBottom:"base.spacing.x1"},disabled:s,children:[p.jsx(U.FramedIcon,{icon:i[n]}),p.jsx(U.Label,{size:"medium",children:t(`views.PAYMENT_METHODS.options.${n}.heading`)}),!s&&p.jsx(U.IntentIcon,{}),p.jsx(U.Caption,{children:t(`views.PAYMENT_METHODS.options.${n}.${s?"disabledCaption":"caption"}`)})]})}const _s=[m.FIAT,m.CRYPTO];function hs(e){const{disabledOptions:t=[],onClick:n}=e;return p.jsx(Z,{testId:"payment-options-list",sx:{width:"100%",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start"},children:_s.map((e=>p.jsx(us,{disabled:t.includes(e),onClick:n,type:e},e)))})}function fs(){const{t:e}=g(),{viewState:n,viewDispatch:a}=t.useContext(h),{sign:s,goToErrorView:i,paymentMethod:r,setPaymentMethod:o,disabledPaymentTypes:d,invalidParameters:l}=Oe(),{sendPageView:c,sendCloseEvent:u,sendSelectedPaymentMethod:_}=Be();t.useEffect((()=>{r&&_(r,ge.PAYMENT_METHODS),r===m.FIAT&&(s(r,(()=>{a({payload:{type:f.UPDATE_VIEW,view:{type:ge.PAY_WITH_CARD}}})})),a({payload:{type:f.UPDATE_VIEW,view:{type:ee.LOADING_VIEW,data:{loadingText:e("views.PAYMENT_METHODS.loading.ready")}}}})),r===m.CRYPTO&&a({payload:{type:f.UPDATE_VIEW,view:{type:ge.FUND_WITH_SMART_CHECKOUT,subView:we.INIT}}})}),[r]);const w=p.jsx(Z,{sx:{paddingX:"base.spacing.x2"},children:p.jsxs(te,{children:[p.jsx(te.Icon,{icon:"InformationCircle"}),p.jsxs(te.Caption,{children:[e("views.PAYMENT_METHODS.insufficientCoinsBanner.caption"),p.jsx(ne,{sx:{mx:"base.spacing.x1"},onClick:()=>{a({payload:{type:f.UPDATE_VIEW,view:{type:ee.TOP_UP_VIEW}}})},children:e("views.PAYMENT_METHODS.insufficientCoinsBanner.captionCTA")}),e("views.PAYMENT_METHODS.insufficientCoinsBanner.captionEnd")]})]})});return t.useEffect((()=>c(ge.PAYMENT_METHODS)),[]),t.useEffect((()=>{l&&i(Ee.INVALID_PARAMETERS)}),[l]),p.jsx(W,{testId:"payment-methods",header:p.jsx(H,{onCloseButtonClick:()=>u(ge.PAYMENT_METHODS)}),footer:p.jsx(j,{}),children:p.jsxs(Z,{sx:{display:"flex",flexDirection:"column",paddingX:"base.spacing.x2",paddingY:"base.spacing.x8",rowGap:"base.spacing.x4"},children:[p.jsx(L,{size:"small",sx:{paddingX:"base.spacing.x4"},children:e("views.PAYMENT_METHODS.header.heading")}),p.jsx(Z,{sx:{paddingX:"base.spacing.x2"},children:p.jsx(hs,{disabledOptions:d,onClick:e=>o(e)})}),n.view.data?.showInsufficientCoinsBanner?w:null]})})}function ms({errorType:e=Ee.DEFAULT,transactionHash:n,blockExplorerLink:a,biomeTheme:s}){const{t:i}=g(),{goBackToPaymentMethods:r}=Oe(),{eventTargetState:{eventTarget:o}}=t.useContext(v),d=()=>{B(o)},l={[Ee.TRANSACTION_FAILED]:{onActionClick:r,onSecondaryActionClick:n?()=>{window.open(a)}:d,statusType:ae.FAILURE,statusIconStyles:{fill:s.color.status.destructive.dim}},[Ee.SERVICE_BREAKDOWN]:{onSecondaryActionClick:d,statusType:ae.INFORMATION,statusIconStyles:{fill:s.color.status.fatal.dim}},[Ee.PRODUCT_NOT_FOUND]:{onSecondaryActionClick:d,statusType:ae.INFORMATION,statusIconStyles:{fill:s.color.status.fatal.dim}},[Ee.INSUFFICIENT_STOCK]:{onSecondaryActionClick:d,statusType:ae.INFORMATION,statusIconStyles:{fill:s.color.status.fatal.dim}},[Ee.TRANSAK_FAILED]:{onActionClick:r,onSecondaryActionClick:d,statusType:ae.INFORMATION},[Ee.WALLET_FAILED]:{onActionClick:r,onSecondaryActionClick:d,statusType:ae.INFORMATION,statusIconStyles:{fill:s.color.status.fatal.dim}},[Ee.WALLET_REJECTED_NO_FUNDS]:{onActionClick:r,onSecondaryActionClick:d,statusType:ae.INFORMATION},[Ee.WALLET_REJECTED]:{onActionClick:()=>{r(m.CRYPTO)},onSecondaryActionClick:d,statusType:ae.INFORMATION},[Ee.SMART_CHECKOUT_ERROR]:{onActionClick:r,onSecondaryActionClick:d,statusType:ae.INFORMATION},[Ee.SMART_CHECKOUT_EXECUTE_ERROR]:{onActionClick:r,onSecondaryActionClick:d,statusType:ae.INFORMATION},[Ee.INVALID_PARAMETERS]:{onSecondaryActionClick:d,statusType:ae.ALERT,statusIconStyles:{fill:s.color.status.attention.dim,transform:"none"}},[Ee.DEFAULT]:{onActionClick:r,onSecondaryActionClick:d,statusType:ae.INFORMATION}};return p.jsx(se,{...(()=>{const t=l[e]||{},a=e===Ee.TRANSACTION_FAILED&&n?i(`views.SALE_FAIL.errors.${Ee.DEFAULT}.secondaryAction`):i(`views.SALE_FAIL.errors.${e}.secondaryAction`);return{testId:"fail-view",statusText:i(`views.SALE_FAIL.errors.${e}.description`),actionText:i(`views.SALE_FAIL.errors.${e}.primaryAction`),onActionClick:t?.onActionClick,secondaryActionText:a,onSecondaryActionClick:t?.onSecondaryActionClick,onCloseClick:d,statusType:t.statusType,statusIconStyles:{transform:"rotate(180deg)",fill:s.color.status.guidance.dim,...t.statusIconStyles}}})()})}function ps({data:e}){const{t:t}=g(),{sendCloseEvent:n,sendSuccessEvent:a}=Be();return p.jsx(se,{statusText:t("views.SALE_SUCCESS.text"),actionText:t("views.SALE_SUCCESS.actionText"),onRenderEvent:()=>{const{transactions:t,...n}=e;a(ge.SALE_SUCCESS,t,n)},onActionClick:()=>{n(ge.SALE_SUCCESS)},statusType:ae.SUCCESS,testId:"success-view"})}function gs(n){const{t:a}=g(),{config:s,amount:i,items:r,environmentId:o,fromTokenAddress:d,collectionName:l}=n,{connectLoaderState:c}=t.useContext(w),{checkout:u,provider:_}=c,m=t.useRef(),{eventTargetState:{eventTarget:E}}=t.useContext(v),{theme:T}=s,y=t.useMemo((()=>ie(T)),[T]),[A,x]=t.useReducer(re,oe),C=t.useMemo((()=>({viewState:A,viewDispatch:x})),[A,x]),I=A.view.data?.loadingText||a("views.LOADING_VIEW.text");t.useEffect((()=>{u&&_&&(async()=>{const e=await u.getNetworkInfo({provider:_});m.current=e.chainId})()}),[u,_]);const S=t.useRef(!1),R=t.useCallback((()=>{u&&_&&(S.current||(S.current=!0,x({payload:{type:f.UPDATE_VIEW,view:{type:ge.PAYMENT_METHODS}}})))}),[u,_]);return t.useEffect((()=>{u&&_&&R()}),[u,_]),p.jsx(h.Provider,{value:C,children:p.jsx(Re,{value:{config:s,items:r,amount:i,fromTokenAddress:d,env:u.config.environment??e.SANDBOX,environmentId:o,provider:_,checkout:u,passport:u?.passport,collectionName:l},children:p.jsxs(fe,{environment:s.environment,children:[A.view.type===ee.LOADING_VIEW&&p.jsx(k,{loadingText:I}),A.view.type===ge.PAYMENT_METHODS&&p.jsx(fs,{}),A.view.type===ge.PAY_WITH_CARD&&p.jsx(ls,{}),A.view.type===ge.PAY_WITH_COINS&&p.jsx(cs,{}),A.view.type===ge.SALE_FAIL&&p.jsx(ms,{biomeTheme:y,errorType:A.view.data?.errorType,transactionHash:A.view.data?.transactionHash,blockExplorerLink:de.getTransactionLink(m.current,A.view.data?.transactionHash)}),A.view.type===ge.SALE_SUCCESS&&_&&p.jsx(ps,{data:A.view.data}),A.view.type===ge.FUND_WITH_SMART_CHECKOUT&&p.jsx(je,{subView:A.view.subView}),A.view.type===ee.TOP_UP_VIEW&&p.jsx(me,{analytics:{userJourney:G.SALE},widgetEvent:b.IMTBL_SALE_WIDGET_EVENT,checkout:u,provider:_,showOnrampOption:s.isOnRampEnabled,showSwapOption:s.isSwapEnabled,showBridgeOption:s.isBridgeEnabled,onCloseButtonClick:()=>B(E)})]})})})}export{gs as default};
|