@imtbl/sdk 1.5.4-alpha.1 → 1.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/blockchain_data.js +2 -2
  2. package/dist/browser/checkout/sdk.js +4 -4
  3. package/dist/browser/checkout/widgets.js +64 -63
  4. package/dist/checkout.d.ts +1 -4
  5. package/dist/checkout.js +6 -30
  6. package/dist/config.js +1 -1
  7. package/dist/index.browser.js +13 -13
  8. package/dist/index.browser.js.map +1 -1
  9. package/dist/index.cjs +8 -32
  10. package/dist/index.d.ts +1 -4
  11. package/dist/index.js +8 -32
  12. package/dist/orderbook.js +1 -1
  13. package/dist/passport.js +3 -3
  14. package/dist/x.js +2 -2
  15. package/package.json +4 -4
  16. package/dist/browser/checkout/BridgeWidget-895c2ff8.js +0 -1
  17. package/dist/browser/checkout/OnRampWidget-93e6c462.js +0 -1
  18. package/dist/browser/checkout/SaleWidget-af43a403.js +0 -2
  19. package/dist/browser/checkout/SpendingCapHero-03968ac0.js +0 -1
  20. package/dist/browser/checkout/SwapWidget-61e779d8.js +0 -1
  21. package/dist/browser/checkout/TopUpView-09a61709.js +0 -1
  22. package/dist/browser/checkout/WalletWidget-68b65814.js +0 -1
  23. package/dist/browser/checkout/auto-track-7c8945e1.js +0 -1
  24. package/dist/browser/checkout/balance-5343fb20.js +0 -1
  25. package/dist/browser/checkout/index-2657c3d3.js +0 -1
  26. package/dist/browser/checkout/index-2c059c42.js +0 -1
  27. package/dist/browser/checkout/index-3ef57b96.js +0 -1
  28. package/dist/browser/checkout/index-8130cf40.js +0 -106
  29. package/dist/browser/checkout/index-a12ebc45.js +0 -1
  30. package/dist/browser/checkout/index-d949d325.js +0 -1
  31. package/dist/browser/checkout/index-f2726576.js +0 -773
  32. package/dist/browser/checkout/index.umd-31af21e6.js +0 -1
  33. package/dist/browser/checkout/is-plan-event-enabled-80f76ce6.js +0 -1
  34. package/dist/browser/checkout/retry-07d04bc8.js +0 -1
  35. package/dist/browser/checkout/useTransakEvents-33875f8a.js +0 -2
  36. package/dist/browser/checkout/widgets-esm.js +0 -1
package/dist/index.cjs CHANGED
@@ -174,7 +174,7 @@ const flattenProperties$1 = (properties) => {
174
174
  };
175
175
 
176
176
  // WARNING: DO NOT CHANGE THE STRING BELOW. IT GETS REPLACED AT BUILD TIME.
177
- const SDK_VERSION$1 = '1.5.4-alpha.1';
177
+ const SDK_VERSION$1 = '1.5.4';
178
178
  const getReferrer$1 = () => {
179
179
  if (isNode$1()) {
180
180
  return '';
@@ -11289,7 +11289,7 @@ class MultiRollupApiClients {
11289
11289
  }
11290
11290
 
11291
11291
  // eslint-disable-next-line @typescript-eslint/naming-convention
11292
- const defaultHeaders$1 = { 'x-sdk-version': 'ts-immutable-sdk-1.5.4-alpha.1' };
11292
+ const defaultHeaders$1 = { 'x-sdk-version': 'ts-immutable-sdk-1.5.4' };
11293
11293
  const createConfig = ({ basePath, headers, }) => {
11294
11294
  if (!basePath.trim()) {
11295
11295
  throw Error('basePath can not be empty');
@@ -11361,7 +11361,7 @@ class APIError extends Error {
11361
11361
 
11362
11362
  /* eslint-disable implicit-arrow-linebreak */
11363
11363
  const defaultHeaders = {
11364
- sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.5.4-alpha.1',
11364
+ sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.5.4',
11365
11365
  };
11366
11366
  /**
11367
11367
  * createAPIConfiguration to create a custom Configuration
@@ -11794,7 +11794,7 @@ const createImmutableXConfiguration = ({ basePath, chainID, coreContractAddress,
11794
11794
  chainID,
11795
11795
  coreContractAddress,
11796
11796
  registrationContractAddress,
11797
- sdkVersion: 'ts-immutable-sdk-1.5.4-alpha.1',
11797
+ sdkVersion: 'ts-immutable-sdk-1.5.4',
11798
11798
  });
11799
11799
  /**
11800
11800
  * Sets `sdkVersion` at the time of build
@@ -37448,7 +37448,7 @@ const flattenProperties = (properties) => {
37448
37448
  };
37449
37449
 
37450
37450
  // WARNING: DO NOT CHANGE THE STRING BELOW. IT GETS REPLACED AT BUILD TIME.
37451
- const SDK_VERSION = '1.5.4-alpha.1';
37451
+ const SDK_VERSION = '1.5.4';
37452
37452
  const getReferrer = () => {
37453
37453
  if (isNode()) {
37454
37454
  return '';
@@ -42615,7 +42615,7 @@ const IMMUTABLE_ZKVEM_GAS_OVERRIDES = {
42615
42615
  maxPriorityFeePerGas: ethers.BigNumber.from(10e9),
42616
42616
  };
42617
42617
 
42618
- const SDK_VERSION_MARKER = '1.5.4-alpha.1';
42618
+ const SDK_VERSION_MARKER = '1.5.4';
42619
42619
  // This SDK version is replaced by the `yarn build` command ran on the root level
42620
42620
  const globalPackageVersion = () => SDK_VERSION_MARKER;
42621
42621
 
@@ -46230,8 +46230,7 @@ function validateAndBuildVersion(version) {
46230
46230
  return validatedVersion;
46231
46231
  }
46232
46232
 
46233
- // Loads the checkout widgets bundle from the CDN and appends the script to the document head
46234
- function loadUnresolvedBundle(version) {
46233
+ function loadUnresolved(version) {
46235
46234
  if (window === undefined) {
46236
46235
  throw new Error('missing window object: please run Checkout client side');
46237
46236
  }
@@ -46253,12 +46252,6 @@ function loadUnresolvedBundle(version) {
46253
46252
  document.head.appendChild(tag);
46254
46253
  return { loaded: false, element: tag };
46255
46254
  }
46256
- // Gets the CDN url for the split checkout widgets bundle
46257
- function getCdnUrl(version) {
46258
- const validVersion = validateAndBuildVersion(version);
46259
- let cdnUrl = `https://cdn.jsdelivr.net/npm/@imtbl/sdk@${validVersion}/dist/browser/checkout/widgets-esm.js`;
46260
- return cdnUrl;
46261
- }
46262
46255
 
46263
46256
  const PUBLISHABLE_KEY_PREFIX = 'pk_imapik-';
46264
46257
  const publishableKeyDomainAllowlist = [
@@ -46366,23 +46359,6 @@ class Checkout {
46366
46359
  const checkout = this;
46367
46360
  // Preload the configurations
46368
46361
  await checkout.config.remote.getConfig();
46369
- // Resolves the factory for the esm build of the widgets
46370
- if (init.useEsModules) {
46371
- const cdnUrl = getCdnUrl(init.version);
46372
- // WebpackIgnore comment required to prevent webpack modifying the import statement and
46373
- // breaking the dynamic import in certain applications integrating checkout
46374
- const checkoutWidgetsModule = await import(/* webpackIgnore: true */ cdnUrl);
46375
- const factory = new Promise((resolve, reject) => {
46376
- if (checkoutWidgetsModule && checkoutWidgetsModule.WidgetsFactory) {
46377
- resolve(new checkoutWidgetsModule.WidgetsFactory(checkout, init.config));
46378
- }
46379
- else {
46380
- reject(new CheckoutError('Unable to resolve the WidgetsFactory from the checkout widgets module', CheckoutErrorType.WIDGETS_SCRIPT_LOAD_ERROR));
46381
- }
46382
- });
46383
- return factory;
46384
- }
46385
- // Resolves the factory for the umd build of the widgets
46386
46362
  const factory = new Promise((resolve, reject) => {
46387
46363
  function checkForWidgetsBundleLoaded() {
46388
46364
  if (typeof ImmutableCheckoutWidgets !== 'undefined') {
@@ -46396,7 +46372,7 @@ class Checkout {
46396
46372
  }
46397
46373
  }
46398
46374
  try {
46399
- const script = loadUnresolvedBundle(init.version);
46375
+ const script = loadUnresolved(init.version);
46400
46376
  if (script.loaded && typeof ImmutableCheckoutWidgets !== 'undefined') {
46401
46377
  resolve(new ImmutableCheckoutWidgets.WidgetsFactory(checkout, init.config));
46402
46378
  }
package/dist/index.d.ts CHANGED
@@ -32213,14 +32213,11 @@ type CheckoutWidgetsConfig = {
32213
32213
  /**
32214
32214
  * Represents the configuration options for instantiating the Checkout Widgets factory.
32215
32215
  * @property {WidgetConfiguration} config - global configuration options for the widgets.
32216
- * @property {SemanticVersion | undefined} version - version of the Checkout widgets bundle(default latest version will be used).
32217
- * @property {boolean | undefined} useEsModules - Set to true to use the esm build of the widgets.
32216
+ * @property {SemanticVersion | undefined} version - version of the Checkout widgets bundle (default latest version will be used).
32218
32217
  */
32219
32218
  type WidgetsInit = {
32220
32219
  config: WidgetConfiguration;
32221
32220
  version?: SemanticVersion;
32222
- /** Loads separate parts of the widget script as required for performance improvements. */
32223
- useEsModules?: boolean;
32224
32221
  };
32225
32222
 
32226
32223
  declare class Checkout {
package/dist/index.js CHANGED
@@ -152,7 +152,7 @@ const flattenProperties$1 = (properties) => {
152
152
  };
153
153
 
154
154
  // WARNING: DO NOT CHANGE THE STRING BELOW. IT GETS REPLACED AT BUILD TIME.
155
- const SDK_VERSION$1 = '1.5.4-alpha.1';
155
+ const SDK_VERSION$1 = '1.5.4';
156
156
  const getReferrer$1 = () => {
157
157
  if (isNode$1()) {
158
158
  return '';
@@ -11267,7 +11267,7 @@ class MultiRollupApiClients {
11267
11267
  }
11268
11268
 
11269
11269
  // eslint-disable-next-line @typescript-eslint/naming-convention
11270
- const defaultHeaders$1 = { 'x-sdk-version': 'ts-immutable-sdk-1.5.4-alpha.1' };
11270
+ const defaultHeaders$1 = { 'x-sdk-version': 'ts-immutable-sdk-1.5.4' };
11271
11271
  const createConfig = ({ basePath, headers, }) => {
11272
11272
  if (!basePath.trim()) {
11273
11273
  throw Error('basePath can not be empty');
@@ -11339,7 +11339,7 @@ class APIError extends Error {
11339
11339
 
11340
11340
  /* eslint-disable implicit-arrow-linebreak */
11341
11341
  const defaultHeaders = {
11342
- sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.5.4-alpha.1',
11342
+ sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.5.4',
11343
11343
  };
11344
11344
  /**
11345
11345
  * createAPIConfiguration to create a custom Configuration
@@ -11772,7 +11772,7 @@ const createImmutableXConfiguration = ({ basePath, chainID, coreContractAddress,
11772
11772
  chainID,
11773
11773
  coreContractAddress,
11774
11774
  registrationContractAddress,
11775
- sdkVersion: 'ts-immutable-sdk-1.5.4-alpha.1',
11775
+ sdkVersion: 'ts-immutable-sdk-1.5.4',
11776
11776
  });
11777
11777
  /**
11778
11778
  * Sets `sdkVersion` at the time of build
@@ -37426,7 +37426,7 @@ const flattenProperties = (properties) => {
37426
37426
  };
37427
37427
 
37428
37428
  // WARNING: DO NOT CHANGE THE STRING BELOW. IT GETS REPLACED AT BUILD TIME.
37429
- const SDK_VERSION = '1.5.4-alpha.1';
37429
+ const SDK_VERSION = '1.5.4';
37430
37430
  const getReferrer = () => {
37431
37431
  if (isNode()) {
37432
37432
  return '';
@@ -42593,7 +42593,7 @@ const IMMUTABLE_ZKVEM_GAS_OVERRIDES = {
42593
42593
  maxPriorityFeePerGas: BigNumber$1.from(10e9),
42594
42594
  };
42595
42595
 
42596
- const SDK_VERSION_MARKER = '1.5.4-alpha.1';
42596
+ const SDK_VERSION_MARKER = '1.5.4';
42597
42597
  // This SDK version is replaced by the `yarn build` command ran on the root level
42598
42598
  const globalPackageVersion = () => SDK_VERSION_MARKER;
42599
42599
 
@@ -46208,8 +46208,7 @@ function validateAndBuildVersion(version) {
46208
46208
  return validatedVersion;
46209
46209
  }
46210
46210
 
46211
- // Loads the checkout widgets bundle from the CDN and appends the script to the document head
46212
- function loadUnresolvedBundle(version) {
46211
+ function loadUnresolved(version) {
46213
46212
  if (window === undefined) {
46214
46213
  throw new Error('missing window object: please run Checkout client side');
46215
46214
  }
@@ -46231,12 +46230,6 @@ function loadUnresolvedBundle(version) {
46231
46230
  document.head.appendChild(tag);
46232
46231
  return { loaded: false, element: tag };
46233
46232
  }
46234
- // Gets the CDN url for the split checkout widgets bundle
46235
- function getCdnUrl(version) {
46236
- const validVersion = validateAndBuildVersion(version);
46237
- let cdnUrl = `https://cdn.jsdelivr.net/npm/@imtbl/sdk@${validVersion}/dist/browser/checkout/widgets-esm.js`;
46238
- return cdnUrl;
46239
- }
46240
46233
 
46241
46234
  const PUBLISHABLE_KEY_PREFIX = 'pk_imapik-';
46242
46235
  const publishableKeyDomainAllowlist = [
@@ -46344,23 +46337,6 @@ class Checkout {
46344
46337
  const checkout = this;
46345
46338
  // Preload the configurations
46346
46339
  await checkout.config.remote.getConfig();
46347
- // Resolves the factory for the esm build of the widgets
46348
- if (init.useEsModules) {
46349
- const cdnUrl = getCdnUrl(init.version);
46350
- // WebpackIgnore comment required to prevent webpack modifying the import statement and
46351
- // breaking the dynamic import in certain applications integrating checkout
46352
- const checkoutWidgetsModule = await import(/* webpackIgnore: true */ cdnUrl);
46353
- const factory = new Promise((resolve, reject) => {
46354
- if (checkoutWidgetsModule && checkoutWidgetsModule.WidgetsFactory) {
46355
- resolve(new checkoutWidgetsModule.WidgetsFactory(checkout, init.config));
46356
- }
46357
- else {
46358
- reject(new CheckoutError('Unable to resolve the WidgetsFactory from the checkout widgets module', CheckoutErrorType.WIDGETS_SCRIPT_LOAD_ERROR));
46359
- }
46360
- });
46361
- return factory;
46362
- }
46363
- // Resolves the factory for the umd build of the widgets
46364
46340
  const factory = new Promise((resolve, reject) => {
46365
46341
  function checkForWidgetsBundleLoaded() {
46366
46342
  if (typeof ImmutableCheckoutWidgets !== 'undefined') {
@@ -46374,7 +46350,7 @@ class Checkout {
46374
46350
  }
46375
46351
  }
46376
46352
  try {
46377
- const script = loadUnresolvedBundle(init.version);
46353
+ const script = loadUnresolved(init.version);
46378
46354
  if (script.loaded && typeof ImmutableCheckoutWidgets !== 'undefined') {
46379
46355
  resolve(new ImmutableCheckoutWidgets.WidgetsFactory(checkout, init.config));
46380
46356
  }
package/dist/orderbook.js CHANGED
@@ -131,7 +131,7 @@ const flattenProperties = (properties) => {
131
131
  };
132
132
 
133
133
  // WARNING: DO NOT CHANGE THE STRING BELOW. IT GETS REPLACED AT BUILD TIME.
134
- const SDK_VERSION = '1.5.4-alpha.1';
134
+ const SDK_VERSION = '1.5.4';
135
135
  const getReferrer = () => {
136
136
  if (isNode()) {
137
137
  return '';
package/dist/passport.js CHANGED
@@ -9138,7 +9138,7 @@ class MultiRollupApiClients {
9138
9138
  }
9139
9139
 
9140
9140
  // eslint-disable-next-line @typescript-eslint/naming-convention
9141
- const defaultHeaders = { 'x-sdk-version': 'ts-immutable-sdk-1.5.4-alpha.1' };
9141
+ const defaultHeaders = { 'x-sdk-version': 'ts-immutable-sdk-1.5.4' };
9142
9142
  const createConfig = ({ basePath, headers, }) => {
9143
9143
  if (!basePath.trim()) {
9144
9144
  throw Error('basePath can not be empty');
@@ -9317,7 +9317,7 @@ const flattenProperties = (properties) => {
9317
9317
  };
9318
9318
 
9319
9319
  // WARNING: DO NOT CHANGE THE STRING BELOW. IT GETS REPLACED AT BUILD TIME.
9320
- const SDK_VERSION = '1.5.4-alpha.1';
9320
+ const SDK_VERSION = '1.5.4';
9321
9321
  const getReferrer = () => {
9322
9322
  if (isNode()) {
9323
9323
  return '';
@@ -9529,7 +9529,7 @@ const createImmutableXConfiguration = ({ basePath, chainID, coreContractAddress,
9529
9529
  chainID,
9530
9530
  coreContractAddress,
9531
9531
  registrationContractAddress,
9532
- sdkVersion: 'ts-immutable-sdk-1.5.4-alpha.1',
9532
+ sdkVersion: 'ts-immutable-sdk-1.5.4',
9533
9533
  });
9534
9534
  /**
9535
9535
  * Sets `sdkVersion` at the time of build
package/dist/x.js CHANGED
@@ -136,7 +136,7 @@ const flattenProperties = (properties) => {
136
136
  };
137
137
 
138
138
  // WARNING: DO NOT CHANGE THE STRING BELOW. IT GETS REPLACED AT BUILD TIME.
139
- const SDK_VERSION = '1.5.4-alpha.1';
139
+ const SDK_VERSION = '1.5.4';
140
140
  const getReferrer = () => {
141
141
  if (isNode()) {
142
142
  return '';
@@ -327,7 +327,7 @@ const createImmutableXConfiguration = ({ basePath, chainID, coreContractAddress,
327
327
  chainID,
328
328
  coreContractAddress,
329
329
  registrationContractAddress,
330
- sdkVersion: 'ts-immutable-sdk-1.5.4-alpha.1',
330
+ sdkVersion: 'ts-immutable-sdk-1.5.4',
331
331
  });
332
332
  /**
333
333
  * Sets `sdkVersion` at the time of build
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@imtbl/sdk",
3
3
  "description": "Immutable Unified SDK",
4
- "version": "1.5.4-alpha.1",
4
+ "version": "1.5.4",
5
5
  "author": "Immutable",
6
6
  "browser": "./dist/index.browser.js",
7
7
  "bugs": "https://github.com/immutable/ts-immutable-sdk/issues",
8
8
  "dependencies": {
9
9
  "@0xsequence/abi": "^1.4.3",
10
10
  "@0xsequence/core": "^1.4.3",
11
- "@biom3/design-tokens": "^0.2.11",
12
- "@biom3/react": "^0.19.42",
11
+ "@biom3/design-tokens": "^0.3.1",
12
+ "@biom3/react": "^0.20.2",
13
13
  "@ethersproject/abi": "^5.7.0",
14
14
  "@ethersproject/abstract-signer": "^5.7.0",
15
15
  "@ethersproject/providers": "^5.7.2",
@@ -125,7 +125,7 @@
125
125
  },
126
126
  "repository": "immutable/ts-immutable-sdk.git",
127
127
  "resolutions": {
128
- "@biom3/design-tokens": "^0.2.11",
128
+ "@biom3/design-tokens": "^0.3.1",
129
129
  "@openzeppelin/contracts": "3.4.2-solc-0.7"
130
130
  },
131
131
  "scripts": {
@@ -1 +0,0 @@
1
- import{b3 as e,b4 as t,aq as s,b5 as a,b6 as n,r as o,u as r,b7 as i,j as l,t as c,ar as d,b8 as u,I as x,an as p,W as E,b9 as g,n as h,J as w,ba as T,a3 as b,aK as m,K as f,M as I,bb as A,bc as y,a as S,bd as v,U as _,be as k,V as C,d as R,bf as j,o as N,aI as L,bg as D,z as M,R as B,ac as P,X as W,E as O,q as F,T as G,p as V,bh as K,c as U,H as z,F as H,bi as $,bj as Z,L as J,w as q,l as Q,Y,bk as X,aH as ee,bl as te,aJ as se,ab as ae,aO as ne,x as oe,m as re,N as ie,aG as le,aL as ce,aN as de,aT as ue,S as xe,aP as pe,bm as Ee,aR as ge,bn as he,bo as we,a0 as Te,a1 as be,bp as me,e as fe,B as Ie,aU as Ae,bq as ye,v as Se,i as ve,br as _e,aW as ke,bs as Ce,f as Re,h as je,a5 as Ne,bt as Le,bu as De,bv as Me}from"./index-8130cf40.js";import{B as Be,C as Pe,a as We,b as Oe,T as Fe}from"./TopUpView-09a61709.js";import{r as Ge,u as Ve}from"./retry-07d04bc8.js";import{b as Ke,u as Ue,S as ze,T as He,F as $e,a as Ze,C as Je,g as qe,W as Qe}from"./balance-5343fb20.js";const{Axios:Ye,AxiosError:Xe,CanceledError:et,isCancel:tt,CancelToken:st,VERSION:at,all:nt,Cancel:ot,isAxiosError:rt,spread:it,toFormData:lt,AxiosHeaders:ct,HttpStatusCode:dt,formToJSON:ut,getAdapter:xt,mergeConfig:pt}=e;class Et{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=dt.InternalServerError,a="InternalServerError";return e.isAxiosError(t)&&(s=t.response?.status||s,a=t.message),Promise.reject({code:s,message:a})}}}var gt;!function(e){e.BRIDGE="bridge"}(gt||(gt={}));const ht={IN_PROGRESS:"in_progress",WITHDRAWAL_PENDING:"withdrawal_pending"};function wt(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 Tt(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 bt(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 mt={web3Provider:null,walletProviderName:null,from:null,to:null,tokenBridge:null,tokenBalances:[],allowedTokens:[],token:null,amount:"0"};var ft;!function(e){e.SET_WALLETS_AND_NETWORKS="SET_WALLETS_AND_NETWORKS",e.SET_WALLET_PROVIDER_NAME="SET_WALLET_PROVIDER_NAME",e.SET_PROVIDER="SET_PROVIDER",e.SET_TOKEN_BRIDGE="SET_TOKEN_BRIDGE",e.SET_TOKEN_BALANCES="SET_TOKEN_BALANCES",e.SET_ALLOWED_TOKENS="SET_ALLOWED_TOKENS",e.SET_TOKEN_AND_AMOUNT="SET_TOKEN_AND_AMOUNT"}(ft||(ft={}));const It=o.createContext({bridgeState:{...mt,checkout:{}},bridgeDispatch:()=>{}});It.displayName="BridgeContext";const At=(e,t)=>{switch(t.payload.type){case ft.SET_WALLETS_AND_NETWORKS:return{...e,from:t.payload.from,to:t.payload.to};case ft.SET_WALLET_PROVIDER_NAME:return{...e,walletProviderName:t.payload.walletProviderName};case ft.SET_PROVIDER:return{...e,web3Provider:t.payload.web3Provider};case ft.SET_TOKEN_BRIDGE:return{...e,tokenBridge:t.payload.tokenBridge};case ft.SET_TOKEN_BALANCES:return{...e,tokenBalances:t.payload.tokenBalances};case ft.SET_ALLOWED_TOKENS:return{...e,allowedTokens:t.payload.allowedTokens};case ft.SET_TOKEN_AND_AMOUNT:return{...e,token:t.payload.token,amount:t.payload.amount};default:return e}};function yt({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 St={display:"flex",flexDirection:"column",gap:"base.spacing.x1"};function vt({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,g=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:St,children:s.map((t=>l.jsx(yt,{testId:e,loading:c,walletProviderName:t,onWalletClick:g},t)))})]})}const _t=(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 kt(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 Ct(){return l.jsxs(E,{sx:{pt:"base.spacing.x5",px:"base.spacing.x4"},children:[l.jsx(g,{sx:{h:"base.spacing.x4",w:"base.spacing.x32",mb:"base.spacing.x2",mt:"base.spacing.x2"}}),l.jsx(E,{sx:{mb:"base.spacing.x5"},children:l.jsx(c,{shimmer:!0,emphasized:!0,size:"small"})}),l.jsx(E,{sx:{mb:"base.spacing.x5"},children:l.jsx(c,{shimmer:!0,emphasized:!0,size:"small"})}),l.jsx(E,{sx:{mb:"base.spacing.x5"},children:l.jsx(c,{shimmer:!0,emphasized:!0,size:"small"})})]})}const Rt={px:"base.spacing.x4",display:"flex",flexDirection:"column",height:"100%"},jt={flexGrow:"1",flexShrink:"0",flexBasis:"0"},Nt={flexGrow:"0",flexShrink:"1",mt:"base.spacing.x2"},Lt={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 Dt({openWalletDrawer:e}){const{t:t}=r();return l.jsxs(E,{sx:Lt,children:[l.jsx(h,{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 Mt={backgroundColor:"base.color.neutral.800",px:"base.spacing.x4",p:"base.spacing.x5",borderRadius:"base.borderRadius.x6"},Bt={color:"base.color.text.secondary"};function Pt({checkout:e,isPassport:t}){const{t:s}=r(),[a,n]=o.useState("");return o.useEffect((()=>{e&&n(T[e.config.environment])}),[e]),l.jsx(E,{sx:Mt,children:l.jsxs(E,{sx:{display:"flex",flexDirection:"column"},children:[l.jsxs(E,{children:[l.jsx(h,{size:"small",children:s("views.TRANSACTIONS.support.body1")}),l.jsxs(h,{size:"small",sx:Bt,children:[s("views.TRANSACTIONS.support.body2"),l.jsx(b,{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(h,{size:"small",sx:Bt,children:[s("views.TRANSACTIONS.support.passport.body1")," ",l.jsx(b,{size:"small",rc:l.jsx("a",{target:"_blank",href:a,rel:"noreferrer"}),children:s("views.TRANSACTIONS.support.passport.body2")})]})]})})}const Wt={display:"flex",flexDirection:"column",borderRadius:"base.borderRadius.x4",bg:"base.color.translucent.emphasis.100"},Ot={p:"base.spacing.x3",d:"flex",justifyContent:"space-between",position:"relative"},Ft={display:"flex",flexGrow:"1",alignItems:"center",gap:"base.spacing.x2"};function Gt({transaction:e}){const t=bt(e.details.from_chain),s=bt(e.details.to_chain);return l.jsxs(E,{sx:{display:"flex",px:"base.spacing.x4",gap:"base.spacing.x2"},children:[l.jsx(m,{icon:f[t],sx:{w:"base.icon.size.250",fill:I[t]},variant:"bold"}),l.jsxs(E,{sx:{display:"flex",flexDirection:"column",flexGrow:"1"},children:[l.jsx(h,{size:"xxSmall",sx:{color:"base.color.translucent.standard.900"},children:A[t]}),l.jsx(y,{size:"xxSmall",sx:{color:"base.color.translucent.standard.600"},text:e.details.from_address})]}),l.jsx(E,{sx:{flexGrow:"1"}}),l.jsx(m,{icon:"ArrowForward",sx:{w:"base.icon.size.250",fill:"base.color.brand.4"}}),l.jsx(E,{sx:{flexGrow:"1"}}),l.jsx(m,{icon:f[s],sx:{w:"base.icon.size.250",fill:I[s]},variant:"bold"}),l.jsxs(E,{sx:{display:"flex",flexDirection:"column",flexGrow:"1"},children:[l.jsx(h,{size:"xxSmall",sx:{color:"base.color.translucent.standard.900"},children:A[s]}),l.jsx(y,{size:"xxSmall",sx:{color:"base.color.translucent.standard.600"},text:e.details.to_address})]})]})}function Vt({label:e,details:t,transaction:s,fiatAmount:a,amount:n,icon:r}){const{track:i}=S(),d=o.useMemo((()=>`${t.link}${t.hash}`),[t]);return l.jsx(E,{testId:`transaction-item-${s.blockchain_metadata.transaction_hash}`,sx:Wt,children:l.jsxs(v,{chevronSide:"right",sx:{button:{p:"base.spacing.x1"},article:{pr:"base.spacing.x10"}},onExpandChange:e=>e&&i({userJourney:_.BRIDGE,screen:"TransactionItem",control:"Accordion",controlType:"Button"}),children:[l.jsx(v.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(b,{size:"xSmall",rc:l.jsx("a",{target:"_blank",href:d,rel:"noreferrer",onClick:e=>{return s=t,e.stopPropagation(),void i({userJourney:_.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(v.ExpandedContent,{sx:{pr:"0",pl:"0",mb:"base.spacing.x3",gap:"0"},children:[l.jsx(k,{size:"xSmall",sx:{px:"base.spacing.x2"}}),l.jsx(Gt,{transaction:s})]})]})})}const Kt=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"}},Ut={borderRadius:"base.borderRadius.x4",display:"flex",flexDirection:"column",gap:"base.spacing.x5"};function zt({label:e,transaction:t,fiatAmount:s,amount:a,icon:n}){const{viewDispatch:i}=o.useContext(C),{track:d}=S(),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]),g=t.details.current_status.status===ht.WITHDRAWAL_PENDING,T=new Intl.RelativeTimeFormat(u[1].language||"en",{numeric:"auto"}),b=o.useMemo((()=>{if(!g||void 0===p)return"";const e=(p.getTime()-x)/6e4;if(e<=1)return"in 1 minute";if(e<60)return T.format(Math.ceil(e),"minute");const t=e/60;if(e<1440)return T.format(Math.ceil(t),"hour");const s=t/24;return T.format(Math.ceil(s),"day")}),[x,u[1].language]),f=!!p&&p.getTime()<x,I=o.useMemo((()=>!0===f?u.t("views.TRANSACTIONS.status.withdrawalPending.withdrawalReadyText"):`${u.t("views.TRANSACTIONS.status.withdrawalPending.withdrawalDelayText")} ${b}`),[b,u[1].language]);return l.jsxs(E,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}`,sx:Wt,children:[g&&l.jsxs(l.Fragment,{children:[l.jsxs(E,{sx:Ot,children:[l.jsxs(E,{sx:Ft,children:[l.jsx(m,{icon:"Alert",variant:"bold",sx:{fill:f?"base.color.status.fatal.bright":"base.color.status.attention.bright",w:"base.icon.size.200"}}),l.jsx(h,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}-action-message`,size:"xSmall",sx:{color:"base.color.text.secondary"},children:I})]}),g&&f&&l.jsx(w,{testId:`transaction-item-${t.blockchain_metadata.transaction_hash}-action-button`,variant:"primary",size:"small",onClick:()=>{i({payload:{type:R.UPDATE_VIEW,view:{type:Be.CLAIM_WITHDRAWAL,transaction:t}}})},children:u.t("views.TRANSACTIONS.status.withdrawalPending.actionButtonText")})]}),l.jsx(k,{size:"small",sx:{color:"base.color.translucent.emphasis.300",opacity:.1}})]}),l.jsxs(v,{chevronSide:"right",sx:{button:{p:"base.spacing.x1"},article:{pr:"base.spacing.x10"},borderTopRightRadius:"0",borderTopLeftRadius:"0"},onExpandChange:e=>e&&d({userJourney:_.BRIDGE,screen:"TransactionItem",control:"Accordion",controlType:"Button"}),children:[l.jsx(v.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(v.ExpandedContent,{sx:{pr:"0",pl:"0",mb:"base.spacing.x3",gap:"0"},children:[l.jsx(k,{size:"xSmall",sx:{px:"base.spacing.x2"}}),l.jsx(Gt,{transaction:t})]})]})]})}const Ht={display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",p:"base.spacing.x2",pb:"base.spacing.x4"};function $t({onChangeWalletClick:e}){const{t:t}=r(),{bridgeState:{from:s}}=o.useContext(It),{track:a}=S(),n=s?.walletAddress||"",i=j(s?.web3Provider),c=N(s?.web3Provider);return l.jsxs(E,{sx:Ht,children:[l.jsxs(E,{sx:{display:"flex",alignItems:"center",gap:"base.spacing.x1"},children:[i&&!c&&l.jsx(L,{logo:"MetaMaskSymbol",sx:{width:"base.icon.size.400"}}),!i&&c&&l.jsx(L,{logo:"PassportSymbolOutlined",sx:{width:"base.icon.size.400",pr:"base.spacing.x1"}}),l.jsx(y,{leftSideLength:6,rightSideLength:4,text:n})]}),l.jsx(w,{size:"small",variant:"tertiary",onClick:()=>{a({userJourney:_.BRIDGE,screen:Be.TRANSACTIONS,controlType:"Button",control:"Pressed"}),e()},children:t("views.TRANSACTIONS.changeWallet.buttonText")})]})}function Zt({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(D[e.config.environment])}),[e]);const p=o.useCallback(((e,t)=>e.details.current_status.status===ht.WITHDRAWAL_PENDING&&t.details.current_status.status!==ht.WITHDRAWAL_PENDING?-1:e.details.current_status.status===t.details.current_status.status?0:1),[]),g=o.useCallback((t=>M(t.details.from_token_address)?B(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)):B(e.config.environment,t.details.from_token_address)),[e]);return l.jsxs(E,{sx:Kt(a),children:[l.jsx($t,{onChangeWalletClick:i}),l.jsx(E,{testId:"move-transaction-list",sx:Ut,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=P.formatUnits(e.details.amount,a.decimals),o=W(n,a.symbol,c.conversions);return e.details.current_status.status===ht.WITHDRAWAL_PENDING?l.jsx(zt,{label:a.name,transaction:e,fiatAmount:`${d("views.TRANSACTIONS.fiatPricePrefix")}${o}`,amount:n,icon:g(e)},t):l.jsx(Vt,{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:g(e)},t)}))})]})}const Jt={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"},qt={display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",padding:"base.spacing.x5",flex:1},Qt={mb:"base.spacing.x8",color:"base.color.text.secondary"},Yt={color:"base.color.text.secondary"};function Xt({checkout:e,isPassport:t,changeWallet:s}){const{page:a}=S(),{t:n}=r(),[i,c]=o.useState("");return o.useEffect((()=>{e&&c(T[e.config.environment])}),[e]),o.useEffect((()=>{a({userJourney:_.BRIDGE,screen:"NoTransactions"})}),[]),l.jsxs(E,{sx:Jt,children:[l.jsx($t,{onChangeWalletClick:s}),l.jsxs(E,{sx:qt,children:[l.jsx(h,{size:"small",sx:Qt,children:n("views.TRANSACTIONS.status.noTransactions.body")}),t&&l.jsxs(h,{size:"small",sx:Yt,children:[n("views.TRANSACTIONS.status.noTransactions.passport.body")," ",l.jsx(b,{size:"small",rc:l.jsx("a",{target:"_blank",href:i,rel:"noreferrer"}),children:n("views.TRANSACTIONS.status.noTransactions.passport.link")})]})]})]})}function es({onBackButtonClick:e}){const{eventTargetState:{eventTarget:t}}=o.useContext(O),{cryptoFiatDispatch:s}=o.useContext(Pe),{bridgeDispatch:a,bridgeState:{checkout:n,from:c}}=o.useContext(It),{page:d}=S(),{t:u}=r(),{track:x}=S(),[p,g]=o.useState(!0),[h,w]=o.useState(void 0),[T,b]=o.useState([]),[m,f]=o.useState(!1),I=N(c?.web3Provider),A=o.useCallback((async()=>{if(!n)return{};const e=F(n.config);try{return((await n.getTokenAllowList({type:G.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=V(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]),v=o.useCallback((async e=>{x({userJourney:_.BRIDGE,screen:"EmptyStateNotConnected",control:"WalletProvider",controlType:"Select",extras:{walletProviderName:e}});try{const t=await K(n,e,!0),s=await t.getNetwork(),o=await(t?.getSigner().getAddress())??"";b([]),a({payload:{type:ft.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]),k=async e=>{const t=Tt(F(n.config)),a=Tt(V(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 $(n.config.networkMap.get(F(n.config))?.rpcUrls[0]),c=new $(n.config.networkMap.get(V(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 Et({env:e}).getTransactions({txType:gt.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 k(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()=>{g(!0);const e=await Ge(R,Z);if(!e)return void g(!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()]}));w(e.tokens),b(t),g(!1)})()}),[c,n]),o.useEffect((()=>{d({userJourney:_.BRIDGE,screen:"Transactions"})}),[]),l.jsx(U,{testId:"bridge-view",header:l.jsx(z,{showBack:!0,onBackButtonClick:()=>{c&&(a({payload:{type:ft.SET_WALLETS_AND_NETWORKS,from:{web3Provider:c?.web3Provider,walletAddress:c?.walletAddress,network:c?.network},to:null}}),a({payload:{type:ft.SET_TOKEN_AND_AMOUNT,token:null,amount:""}})),e()},title:u("views.TRANSACTIONS.layoutHeading"),onCloseButtonClick:()=>kt(t)}),footer:l.jsx(H,{}),children:l.jsxs(E,{sx:Rt,children:[l.jsxs(E,{sx:jt,children:[!c?.web3Provider&&l.jsx(Dt,{openWalletDrawer:()=>f(!0)}),c?.web3Provider&&p&&l.jsx(Ct,{}),c?.web3Provider&&!p&&T.length>0&&h&&l.jsx(Zt,{checkout:n,transactions:T,knownTokenMap:h,isPassport:I,changeWallet:()=>f(!0)}),c?.web3Provider&&!p&&0===T.length&&l.jsx(Xt,{checkout:n,isPassport:I,changeWallet:()=>f(!0)})]}),c?.web3Provider&&T.length>0&&l.jsx(E,{sx:Nt,children:l.jsx(Pt,{checkout:n,isPassport:I})}),l.jsx(vt,{testId:"select-wallet-drawer",drawerText:{heading:u("views.TRANSACTIONS.walletSelection.heading")},showWalletSelectorTarget:!1,walletOptions:j,showDrawer:m,setShowDrawer:e=>{f(e)},onWalletItemClick:v})]})})}function ts({transactionResponse:e}){const{t:t}=r(),{viewDispatch:s}=o.useContext(C),{page:a}=S();return o.useEffect((()=>{a({userJourney:_.BRIDGE,screen:"ClaimWithdrawalInProgress"})}),[]),o.useEffect((()=>{e&&(async()=>{try{const t=await e.wait();if(1===t.status)return void s({payload:{type:R.UPDATE_VIEW,view:{type:Be.CLAIM_WITHDRAWAL_SUCCESS,transactionHash:t.transactionHash}}});s({payload:{type:R.UPDATE_VIEW,view:{type:Be.CLAIM_WITHDRAWAL_FAILURE,transactionHash:t.transactionHash,reason:"Transaction failed"}}})}catch(e){console.error(e),s({payload:{type:R.UPDATE_VIEW,view:{type:Be.CLAIM_WITHDRAWAL_FAILURE,transactionHash:"",reason:"Transaction failed"}}})}})()}),[e]),l.jsx(J,{loadingText:t("views.CLAIM_WITHDRAWAL.IN_PROGRESS.loading.text"),showFooterLogo:!0})}function ss(e){return e?e.substring(0,6).concat("...").concat(e.substring(e.length-4)):""}const as={height:"100%",display:"flex",flexDirection:"column",paddingX:"base.spacing.x4"},ns={paddingTop:"base.spacing.x10",paddingBottom:"base.spacing.x4"},os={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6"},rs={[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"},is=e=>({backgroundColor:rs[e],"& svg":{fill:"base.color.brand.2"}}),ls={[s.IMTBL_ZKEVM_DEVNET]:"Immutable",[s.IMTBL_ZKEVM_MAINNET]:"Immutable",[s.IMTBL_ZKEVM_TESTNET]:"Immutable",[s.ETHEREUM]:"EthToken",[s.SEPOLIA]:"EthToken"};function cs({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:ls[t],circularFrame:!0,sx:is(t)}),l.jsx(c.Label,{size:"medium",children:s})]})}const ds={[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"},us={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"}},xs=e=>({width:"base.icon.size.500",padding:e===i.PASSPORT?"base.spacing.x1":"",backgroundColor:"base.color.translucent.standard.200",borderRadius:"base.borderRadius.x2"}),ps={color:"base.color.text.secondary"},Es={paddingY:"base.spacing.x6",borderRadius:"base.borderRadius.x18"},gs=e=>({fill:"base.color.brand.2",width:"base.icon.size.300",backgroundColor:ds[e],borderRadius:"100%",padding:"base.spacing.x1"}),hs={[s.IMTBL_ZKEVM_DEVNET]:"Immutable",[s.IMTBL_ZKEVM_MAINNET]:"Immutable",[s.IMTBL_ZKEVM_TESTNET]:"Immutable",[s.ETHEREUM]:"EthToken",[s.SEPOLIA]:"EthToken"},ws={[i.PASSPORT]:"PassportSymbolOutlined",[i.METAMASK]:"MetaMaskSymbol"};function Ts({testId:e,walletName:t,walletAddress:s,chainId:a,disableNetworkButton:n=!1,onWalletClick:o,onNetworkClick:r}){const c=wt(a),d=t===i.METAMASK?"Metamask":"Passport";return l.jsxs(E,{testId:`${e}-${t}-${a}-button-wrapper`,sx:us,onClick:o,children:[l.jsx(L,{logo:ws[t],sx:xs(t)}),l.jsxs(E,{sx:{display:"flex",flexDirection:"column",flex:1},children:[l.jsx(q,{size:"xSmall",children:d}),l.jsx(h,{size:"xSmall",sx:ps,children:s})]}),l.jsxs(w,{testId:`${e}-network-${a}-button`,size:"small",disabled:n,onClick:e=>{e.stopPropagation(),r(e)},variant:"tertiary",sx:Es,children:[l.jsx(w.Icon,{icon:hs[a],sx:gs(a)}),c]})]})}const bs="wallet-network-selector";function ms(){const{t:e}=r(),{bridgeState:{checkout:t,from:s,to:a},bridgeDispatch:n}=o.useContext(It),{viewDispatch:c}=o.useContext(C),{track:u}=S(),x=F(t.config),p=wt(x),g=V(t.config),h=wt(g),T=o.useRef(),[b,m]=o.useState(!1),[f,I]=o.useState(!1),[A,y]=o.useState(),[v,k]=o.useState(),[L,D]=o.useState(""),[M,B]=o.useState(!1),[P,W]=o.useState(),[O,G]=o.useState(),[U,z]=o.useState(""),H=A&&v,$=P&&O,Z=o.useMemo((()=>A?N(A)?i.PASSPORT:i.METAMASK:null),[A]),J=o.useMemo((()=>A?N(P)?i.PASSPORT:i.METAMASK:null),[P]),Q=o.useMemo((()=>{const e=[i.METAMASK];return t.passport&&e.push(i.PASSPORT),e}),[t]),Y=o.useMemo((()=>{const e=[i.METAMASK];return t.passport&&v===x&&Z===i.METAMASK&&e.push(i.PASSPORT),e}),[t,v,Z]);o.useEffect((()=>{s&&a&&(L!==s?.walletAddress&&u({userJourney:_.BRIDGE,screen:"WalletAndNetwork",control:"FromWallet",controlType:"Select",extras:{walletAddress:s?.walletAddress}}),v!==s?.network&&u({userJourney:_.BRIDGE,screen:"WalletAndNetwork",control:"FromNetwork",controlType:"Select",extras:{chainId:s?.network}}),U!==a?.walletAddress&&u({userJourney:_.BRIDGE,screen:"WalletAndNetwork",control:"ToWallet",controlType:"Select",extras:{walletAddress:a?.walletAddress}}),O!==a?.network&&u({userJourney:_.BRIDGE,screen:"WalletAndNetwork",control:"ToNetwork",controlType:"Select",extras:{chainId:a?.network}}),y(s.web3Provider),D(s.walletAddress.toLowerCase()),k(s.network),W(a.web3Provider),z(a.walletAddress.toLowerCase()),G(a.network),n({payload:{type:ft.SET_WALLETS_AND_NETWORKS,from:null,to:null}}))}),[s,a]);const X=o.useCallback((async e=>{let s;try{return s=await K(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 X(e)}catch(e){return}y(t);const s=await t.getSigner().getAddress();if(D(s.toLowerCase()),N(t))return k(g),void m(!1);k(null),m(!1),setTimeout((()=>I(!0)),500)}),[Z,T.current]),se=o.useCallback((async e=>{if(!A)return;if(ee(),N(A))return I(!1),void k(e);const s=await(A?.getNetwork());if(s?.chainId===e)return I(!1),void k(e);let a;try{a=await t.switchNetwork({provider:A,chainId:e}),y(a.provider),I(!1),k(a.network.chainId)}catch(e){console.error(e)}}),[t,A,Z,v]),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 X(e)}catch(e){return}W(t);const s=await t.getSigner().getAddress();z(s.toLowerCase())}G(v===x?g:x),B(!1)}),[Z,v,A,T.current]),ne=o.useCallback((()=>{A&&v&&P&&O&&(n({payload:{type:ft.SET_TOKEN_BALANCES,tokenBalances:[]}}),n({payload:{type:ft.SET_ALLOWED_TOKENS,allowedTokens:[]}}),n({payload:{type:ft.SET_WALLETS_AND_NETWORKS,from:{web3Provider:A,walletAddress:L.toLowerCase(),network:v},to:{web3Provider:P,walletAddress:U.toLowerCase(),network:O}}}),u({userJourney:_.BRIDGE,screen:"WalletAndNetwork",control:"Next",controlType:"Button",extras:{fromWalletAddress:L,fromNetwork:v,fromWallet:{address:L,isPassportWallet:N(A),isMetaMask:j(A)},toWalletAddress:U,toNetwork:O,toWallet:{address:U,isPassportWallet:N(P),isMetaMask:j(P)}}}),c({payload:{type:R.UPDATE_VIEW,view:{type:Be.BRIDGE_FORM}}}))}),[A,v,L,P,O,U]);return l.jsxs(E,{testId:bs,sx:as,children:[l.jsx(q,{testId:`${bs}-heading`,size:"small",weight:"regular",sx:ns,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(vt,{testId:`${bs}-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(E,{sx:{display:"flex",flexDirection:"column",gap:"base.spacing.x10"},children:[l.jsx(Ts,{testId:bs,walletName:Z,walletAddress:ss(L),chainId:v,onWalletClick:()=>{m(!0)},onNetworkClick:()=>I(!0)}),l.jsxs(E,{children:[l.jsx(q,{size:"xSmall",sx:{paddingBottom:"base.spacing.x2"},children:e("views.WALLET_NETWORK_SELECTION.toFormInput.heading")}),l.jsx(vt,{testId:`${bs}-to`,drawerText:{heading:e("views.WALLET_NETWORK_SELECTION.toFormInput.walletSelectorHeading"),defaultText:e("views.WALLET_NETWORK_SELECTION.toFormInput.selectDefaultText")},showWalletSelectorTarget:!$,walletOptions:Y,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,{children:[l.jsx(cs,{testId:bs,chainName:h,onNetworkClick:se,chainId:g},h),Z===i.METAMASK&&l.jsx(cs,{testId:bs,chainName:p,onNetworkClick:se,chainId:x},p)]})}),$&&J&&l.jsxs(E,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[l.jsx(Ts,{testId:bs,walletName:J,walletAddress:ss(U),chainId:O,disableNetworkButton:!0,onWalletClick:()=>{B(!0)},onNetworkClick:()=>{}}),l.jsx(E,{sx:os,children:l.jsx(w,{testId:`${bs}-submit-button`,size:"large",onClick:ne,children:e("views.WALLET_NETWORK_SELECTION.submitButton.text")})})]})]})}function fs(){const{t:e}=r(),{viewDispatch:t}=o.useContext(C),{eventTargetState:{eventTarget:s}}=o.useContext(O),{page:a}=S();return o.useEffect((()=>{a({userJourney:_.BRIDGE,screen:"WalletNetworkSelection"})}),[]),l.jsx(U,{testId:"bridge-view",header:l.jsx(z,{title:e("views.WALLET_NETWORK_SELECTION.layoutHeading"),onCloseButtonClick:()=>kt(s),rightActions:l.jsx(Q,{icon:"Minting",sx:Y(),onClick:()=>{t({payload:{type:R.UPDATE_VIEW,view:{type:Be.TRANSACTIONS}}})},testId:"move-transactions-button"})}),footer:l.jsx(H,{}),children:l.jsx(ms,{})})}function Is(e,t){return e&&0!==parseFloat(e)?t&&Number(e)>Number(t)?"views.BRIDGE_FORM.validation.insufficientBalance":"":"views.BRIDGE_FORM.validation.noAmountInputted"}const As={height:"100%",display:"flex",flexDirection:"column",justifyContent:"space-between",paddingTop:"base.spacing.x10"},ys={paddingTop:"base.spacing.x4",display:"flex",gap:"base.spacing.x1"},Ss={display:"flex",flexDirection:"column",paddingY:"base.spacing.x6",paddingX:"base.spacing.x4"},vs={display:"flex",flexDirection:"column",alignItems:"center",paddingTop:"base.spacing.x6",paddingBottom:"base.spacing.x1",height:"100%"},_s={color:"base.color.text.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"15px"},ks={display:"flex",flexDirection:"column",justifyContent:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},Cs={width:"100%",height:"base.spacing.x16"},Rs={display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",paddingTop:"base.spacing.x6"};function js({environment:e,onCloseDrawer:t,visible:s,showHeaderBar:a,walletAddress:n,showAdjustAmount:i,tokenSymbol:c,onAddCoinsClick:u}){const{t:x}=r(),[p,g]=o.useState(!1),T=te(e),b=se(e),m=c===X?`${x("drawers.notEnoughGas.content.eth.heading")}`:`${x("drawers.notEnoughGas.content.imx.heading")}`,f=c===X?`${x("drawers.notEnoughGas.content.eth.body")}`:`${x("drawers.notEnoughGas.content.imx.body")}`,I=o.useCallback((()=>{n&&""!==n&&navigator.clipboard.writeText(n),g(!0),setTimeout((()=>{g(!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(E,{testId:"not-enough-gas-bottom-sheet",sx:vs,children:[l.jsx(ee,{imageUrl:c===X?T:b,sx:{w:"base.icon.size.600",h:"base.icon.size.600"}}),l.jsx(q,{size:"small",sx:_s,testId:"not-enough-gas-heading",children:m}),l.jsx(h,{sx:_s,children:f}),l.jsxs(E,{sx:ks,children:[i&&l.jsx(w,{testId:"not-enough-gas-adjust-amount-button",sx:Cs,variant:"tertiary",onClick:t,children:x("drawers.notEnoughGas.buttons.adjustAmount")}),c===X?l.jsxs(w,{testId:"not-enough-gas-copy-address-button",sx:Cs,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:Cs,variant:"tertiary",onClick:u,children:x("drawers.notEnoughGas.buttons.addMoreImx")}),l.jsx(w,{sx:Cs,variant:"tertiary",onClick:t,testId:"not-enough-gas-cancel-button",children:x("drawers.notEnoughGas.buttons.cancel")})]}),l.jsx(E,{sx:Rs,children:l.jsx(L,{testId:"footer-logo-image",logo:"ImmutableHorizontalLockup",sx:{width:"base.spacing.x25"}})})]})})})}function Ns({sx:e}){return l.jsxs(E,{sx:{...e,paddingTop:"0",marginTop:"base.spacing.x4"},rc:l.jsx("div",{}),children:[l.jsx(E,{sx:{display:"flex",backgroundColor:"#F3F3F30A",borderRadius:"8px"},children:l.jsx(E,{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(g,{rc:l.jsx("span",{})})})}),l.jsx(E,{sx:{display:"flex",width:"100%",backgroundColor:"#F3F3F30A",borderRadius:"8px"},children:l.jsx(E,{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(g,{rc:l.jsx("span",{})})})})]})}const Ls=(e,t,s)=>{const a=[];if(!e?.fees||!e.token)return a;let n=ae.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")}${W(ne(n,e.token.decimals),e.token.symbol,t.conversions)}`,amount:oe(ne(n,e.token.decimals))}),e.fees.sourceChainGas?.gt(0)){const n=ne(e.fees.sourceChainGas,e.token.decimals);a.push({label:s("drawers.feesBreakdown.fees.gasFeeMove.label"),fiatAmount:`~ ${s("drawers.feesBreakdown.fees.fiatPricePrefix")}${W(n,e.token.symbol,t.conversions)}`,amount:`${oe(n)}`,prefix:"~ "})}if(e.fees.approvalFee?.gt(0)){const n=ne(e.fees.approvalFee,e.token.decimals);a.push({label:s("drawers.feesBreakdown.fees.gasFeeApproval.label"),fiatAmount:`~ ${s("drawers.feesBreakdown.fees.fiatPricePrefix")}${W(n,e.token.symbol,t.conversions)}`,amount:`${oe(n)}`,prefix:"~ "})}return a};let Ds;function Ms(e){const{t:t}=r(),{bridgeDispatch:s,bridgeState:{tokenBridge:a,tokenBalances:n,allowedTokens:i,checkout:c,from:d,to:u,amount:x,token:p}}=o.useContext(It),{cryptoFiatState:g,cryptoFiatDispatch:h}=o.useContext(Pe),{viewDispatch:T}=o.useContext(C),{testId:b,defaultAmount:m,defaultTokenAddress:f,isTokenBalancesLoading:I}=e,{track:A}=S(),[y,v]=o.useState(m||""),[k,j]=o.useState(""),N=Ue(y,pe),[L,D]=o.useState(),[B,P]=o.useState(""),[O,G]=o.useState(""),[V,K]=o.useState(!1),U=o.useRef(!1),z=L?`${t("views.BRIDGE_FORM.content.availableBalancePrefix")} ${oe(L?.formattedBalance)}`:"",[H,$]=o.useState(void 0),[Z,J]=o.useState(""),[Q,Y]=o.useState(""),[ee,te]=o.useState([]),[se,he]=o.useState(!1),[we,Te]=o.useState(""),[be,me]=o.useState(!1),fe=o.useCallback(((e,t)=>t?`${e.toLowerCase()}-${t.toLowerCase()}`:e.toLowerCase()),[]);o.useEffect((()=>{if(0===n.length)return;const e=n.filter((e=>e.balance.gt(0))).map((e=>({id:fe(e.token.symbol,e.token.address),name:e.token.name,symbol:e.token.symbol,icon:e.token.icon,balance:{formattedFiatAmount:0===g.conversions.size?re(""):W(e.formattedBalance,e.token.symbol,g.conversions),formattedAmount:oe(e.formattedBalance)}})));te(e),U.current||(U.current=!0,f&&D(n.find((e=>M(e.token.address)&&f?.toLocaleUpperCase()===ie||e.token.address?.toLowerCase()===f?.toLowerCase()))))}),[n,g.conversions,f,U.current,fe,re]),o.useEffect((()=>{if(x&&p){v(x);for(let e=0;e<n.length;e++){const t=n[e];if(t.token.address===p.address){D(t);break}}s({payload:{type:ft.SET_TOKEN_AND_AMOUNT,token:null,amount:""}})}}),[x,p,n]);const Ie=o.useMemo((()=>L&&L.token?fe(L.token.symbol,L.token.address):void 0),[L,n,g.conversions,fe]),Ae=e=>!Number.isNaN(parseFloat(y))&&(!(parseFloat(y)<=0)&&(!!L&&(!(!d||!d.walletAddress)&&(!(!u||!u.walletAddress)&&((!e||!V)&&!!c))))),ye=async(e=!1)=>{if(Ae(e)){Ds&&Ds.cancel(),e||K(!0);try{const t=M(L?.token.address),s=t?le(y):le(y,L?.token.decimals),n=t?ie.toUpperCase():L?.token.address,o=Je.all([a.getUnsignedApproveBridgeTx({senderAddress:d.walletAddress,token:n??ie.toUpperCase(),amount:s,sourceChainId:d.network.toString(),destinationChainId:u.network.toString()}),a.getUnsignedBridgeTx({senderAddress:d.walletAddress,recipientAddress:u.walletAddress,token:n??ie.toUpperCase(),amount:s,sourceChainId:d.network.toString(),destinationChainId:u.network.toString(),gasMultiplier:1.1})]);Ds=o;const[r,i]=await o,l=i.feeData,{totalFees:x,approvalFee:p}=l;let E=x;r.unsignedTx||(E=x.sub(p),l.approvalFee=ae.from(0));const h={gasEstimateType:Ee.BRIDGE_TO_L2,fees:{...l,totalFees:E},token:c.config.networkMap.get(d.network)?.nativeCurrency};$(h);const w=ne(h?.fees?.totalFees||0,ge);J(w),Y(W(w,h?.token?.symbol||"",g.conversions)),e||K(!1)}catch(t){t.cancelled||(e||K(!1),console.error(t))}}},Se=()=>{Ds&&Ds.cancel(),K(!1),J(""),Y("")},ve=o.useMemo((()=>{const e=n.find((e=>M(e.token.address)));if(!e)return!0;const t=M(L?.token.address),s=le(0!==Z.length?Z:"0"),a=t&&!Number.isNaN(parseFloat(y))?le(y):ae.from("0");return s.add(a).gt(e.balance)}),[Z,n,L,y]);Ve((()=>ye(!0)),ce),o.useEffect((()=>{N<=0?Se():(async()=>{await ye()})()}),[N,L]);o.useEffect((()=>{h({payload:{type:We.SET_TOKEN_SYMBOLS,tokenSymbols:i.map((e=>e.symbol))}})}),[h,i]),o.useEffect((()=>{y&&L&&G(W(y,L.token.symbol,g.conversions))}),[y,L]),o.useEffect((()=>{(async()=>{if(!d?.web3Provider)return;const e=await d.web3Provider.getSigner().getAddress();Te((t=>(""!==t&&t!==e&&D(void 0),e)))})()}),[d?.web3Provider,n]);const _e=o.useCallback((()=>Ls(H,g,t)),[H]),ke=o.useCallback((()=>{const e=L?"":"views.BRIDGE_FORM.validation.noTokenSelected";const t=Is(y,L?.formattedBalance);return e&&P(e),t&&j(t),!e&&!t}),[L,y,P,j]),Ce=o.useCallback((async()=>{ke()&&c&&d?.web3Provider&&L&&(ve?he(!0):(Se(),A({userJourney:_.BRIDGE,screen:"TokenAmount",control:"Review",controlType:"Button",extras:{tokenAddress:L.token.address,amount:y}}),s({payload:{type:ft.SET_TOKEN_AND_AMOUNT,token:L.token,amount:y}}),T({payload:{type:R.UPDATE_VIEW,view:{type:Be.BRIDGE_REVIEW}}})))}),[c,d?.web3Provider,ke,ve,L]);return l.jsxs(E,{testId:b,sx:As,children:[l.jsxs(E,{sx:{paddingX:"base.spacing.x4"},children:[l.jsx(q,{testId:`${b}-content-heading`,size:"small",weight:"regular",sx:{paddingBottom:"base.spacing.x4"},children:t("views.BRIDGE_FORM.content.title")}),(!f||!I)&&l.jsxs(E,{sx:ys,children:[l.jsx(ze,{testId:"bridge-token",options:ee,optionsLoading:I,coinSelectorHeading:t("views.BRIDGE_FORM.bridgeForm.from.selectorTitle"),selectedOption:Ie,subtext:z,textAlign:"left",errorMessage:t(B),onSelectChange:e=>(e=>{const t=n.find((t=>e===fe(t.token.symbol,t.token.address)));t&&(D(t),P(""))})(e)}),l.jsx(He,{testId:"bridge-amount",value:y,placeholder:t("views.BRIDGE_FORM.bridgeForm.from.inputPlaceholder"),subtext:`${t("views.BRIDGE_FORM.content.fiatPricePrefix")} $${re(O,!0)}`,validator:de,onTextInputChange:e=>(e=>{if(v(e),k){const t=Is(e,L?.formattedBalance);j(t)}L&&(G(W(e,L.token.symbol,g.conversions)),Ae(!0)&&K(!0))})(e),textAlign:"right",errorMessage:t(k)})]}),f&&I&&l.jsx(Ns,{sx:ys}),(V||Z)&&l.jsx($e,{gasFeeValue:Z,gasFeeFiatValue:Q,gasFeeToken:H?.token,fees:_e(),loading:V,onFeesClick:()=>{A({userJourney:_.BRIDGE,screen:"MoveCoins",control:"ViewFees",controlType:"Button"})}})]}),l.jsxs(E,{sx:Ss,children:[l.jsx(w,{testId:`${b}-button`,variant:"primary",onClick:Ce,size:"large",children:t("views.BRIDGE_FORM.bridgeForm.buttonText")}),l.jsx(Ze,{visible:be,showHeaderBar:!1,onCloseDrawer:()=>me(!1),onRetry:async()=>{me(!1),await Ce()}}),l.jsx(js,{environment:c.config.environment,visible:se,showHeaderBar:!1,onCloseDrawer:()=>he(!1),walletAddress:we,showAdjustAmount:M(L?.token.address),tokenSymbol:d?.network===F(c?.config)?X:ue,onAddCoinsClick:()=>{T({payload:{type:R.UPDATE_VIEW,view:{type:xe.TOP_UP_VIEW}}})}})]})]})}const Bs=1e4;function Ps({amount:e,tokenAddress:t}){const{t:s}=r(),{bridgeState:a,bridgeDispatch:n}=o.useContext(It),{checkout:i,from:c}=a,{eventTargetState:{eventTarget:d}}=o.useContext(O),[u,x]=o.useState(!1),{page:p}=S();o.useEffect((()=>{(e||t)&&p({userJourney:_.BRIDGE,screen:"TokenAmount",extras:{amount:e,tokenAddress:t}})}),[]);const E=o.useCallback((async()=>{if(i&&c?.web3Provider)try{const e=await qe({checkout:i,provider:c.web3Provider,allowTokenListType:G.BRIDGE,retryPolicy:{retryIntervalMs:0,retries:0}});if(void 0===e)return;n({payload:{type:ft.SET_TOKEN_BALANCES,tokenBalances:e.allowedBalances}}),n({payload:{type:ft.SET_ALLOWED_TOKENS,allowedTokens:e.allowList.tokens}})}catch(e){console.debug(e)}}),[i,c?.web3Provider]);return Ve(E,Bs),o.useEffect((()=>{i&&c?.web3Provider&&(x(!0),E().finally((()=>x(!1))))}),[i,c?.web3Provider]),l.jsx(U,{testId:"bridge-view",header:l.jsx(z,{showBack:!0,title:s("views.BRIDGE_FORM.header.title"),onCloseButtonClick:()=>kt(d)}),footer:l.jsx(H,{}),children:l.jsx(Ms,{testId:"bridge-form",defaultAmount:e,defaultTokenAddress:t,isTokenBalancesLoading:u})})}const Ws={borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px",marginBottom:"2px"},Os={borderTopLeftRadius:"0px",borderTopRightRadius:"0px",backgroundColor:"base.color.translucent.emphasis.100"},Fs={height:"100%",display:"flex",flexDirection:"column",paddingX:"base.spacing.x4"},Gs={paddingTop:"base.spacing.x10",paddingBottom:"base.spacing.x4"},Vs={display:"flex",flexDirection:"column",alignItems:"center",paddingY:"base.spacing.x1"},Ks={width:"base.icon.size.300",transform:"rotate(270deg)"},Us={width:"base.icon.size.400"},zs={[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"},$s="bridge-review-summary";function Zs(){const{t:e}=r(),{viewDispatch:t}=o.useContext(C),{bridgeState:{checkout:s,tokenBridge:a,from:n,to:d,token:u,amount:x}}=o.useContext(It),{track:p}=S(),{cryptoFiatState:g}=o.useContext(Pe),[T,b]=o.useState(!1),[f,I]=o.useState(void 0),[A,y]=o.useState(""),[v,k]=o.useState(""),[L,D]=o.useState(void 0),[M,B]=o.useState(void 0),P=e=>N(e)?i.PASSPORT:i.METAMASK,O=o.useMemo((()=>u?.symbol?`${u?.symbol} ${x}`:`${x}`),[u,x]),F=o.useMemo((()=>x&&u?W(x,u.symbol,g.conversions):""),[u,x]),G=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:G,token:u.address??ie.toUpperCase(),amount:le(x,u.decimals),sourceChainId:n?.network.toString(),destinationChainId:d?.network.toString()}),a.getUnsignedBridgeTx({senderAddress:G,recipientAddress:U,token:u.address??ie.toUpperCase(),amount:le(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=ae.from(0));const c={gasEstimateType:Ee.BRIDGE_TO_L2,fees:{...o,totalFees:l},token:s.config.networkMap.get(n.network)?.nativeCurrency};I(c);const p=ne(c?.fees.totalFees||0,ge);y(p),k(W(p,c?.token?.symbol||"",g.conversions))}),[s,a]);Ve((()=>$()),ce);const Z=o.useCallback((()=>Ls(f,g,e)),[f]);o.useEffect((()=>{(async()=>{b(!0),await $(),b(!1)})()}),[]);const J=o.useCallback((async()=>{L&&M&&(p({userJourney:_.BRIDGE,screen:"Summary",control:"Submit",controlType:"Button",extras:{fromWalletAddress:G,fromNetwork:K,fromWallet:{address:G,isPassportWallet:N(n?.web3Provider),isMetaMask:j(n?.web3Provider)},toWalletAddress:U,toNetwork:H,toWallet:{address:U,isPassportWallet:N(d?.web3Provider),isMetaMask:j(d?.web3Provider)},amount:x,fiatAmount:F,tokenAddress:u?.address}}),t({payload:{type:R.UPDATE_VIEW,view:{type:Be.APPROVE_TRANSACTION,approveTransaction:L,transaction:M}}}))}),[t,L,M]);return l.jsxs(E,{testId:$s,sx:Fs,children:[l.jsx(q,{testId:`${$s}-heading`,size:"small",weight:"regular",sx:Gs,children:e("views.BRIDGE_REVIEW.heading")}),l.jsxs(c,{testId:`${$s}-from-amount`,size:"small",emphasized:!0,sx:Ws,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:O??"-",fiatAmount:`${e("views.BRIDGE_REVIEW.fiatPricePrefix")}${F}`})]}),l.jsxs(c,{testId:`${$s}-from-address`,size:"xSmall",emphasized:!0,sx:Os,children:[V&&l.jsx(c.FramedLogo,{logo:Hs[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(h,{size:"small",sx:{color:"base.color.text.secondary"},children:ss(G??"")})]}),K&&l.jsx(c.IntentIcon,{icon:zs[K],sx:gs(K)})]}),l.jsx(E,{sx:Vs,children:l.jsx(m,{icon:"ArrowBackward",sx:Ks})}),l.jsxs(c,{testId:`${$s}-to-address`,size:"xSmall",emphasized:!0,sx:Ws,children:[z&&l.jsx(c.FramedLogo,{logo:Hs[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(h,{size:"small",sx:{color:"base.color.text.secondary"},children:ss(U??"")})]}),H&&l.jsx(c.IntentIcon,{icon:zs[H],sx:gs(H)})]}),l.jsx($e,{gasFeeValue:A,gasFeeFiatValue:v,gasFeeToken:f?.token,fees:Z(),onFeesClick:()=>{p({userJourney:_.BRIDGE,screen:"MoveCoins",control:"ViewFees",controlType:"Button"})},sx:{borderTopRightRadius:"0",borderTopLeftRadius:"0"},loading:T}),l.jsx(E,{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:T,testId:`${$s}__submit-button`,children:T?l.jsx(w.Icon,{icon:"Loading",sx:Us}):e("views.BRIDGE_REVIEW.submitButton.buttonText")})})]})}function Js(){const{t:e}=r(),{eventTargetState:{eventTarget:t}}=o.useContext(O),{page:s}=S();return o.useEffect((()=>{s({userJourney:_.BRIDGE,screen:"Review"})}),[]),l.jsx(U,{testId:"bridge-review",header:l.jsx(z,{showBack:!0,title:e("views.BRIDGE_REVIEW.layoutHeading"),onCloseButtonClick:()=>kt(t)}),footer:l.jsx(H,{}),children:l.jsx(Zs,{})})}function qs({environment:e}){const{RiveComponent:t}=he.useRive({src:`${we[e]}/v1/blob/img/rocket.riv`,autoplay:!0,layout:new he.Layout({fit:he.Fit.Cover}),stateMachines:"State Machine 1"});return l.jsx(E,{sx:{...Te,background:"base.color.translucent.emphasis.100"},children:l.jsx(E,{sx:be,rc:l.jsx(t,{})})})}function Qs({transactionHash:e}){const{t:t}=r(),{eventTargetState:{eventTarget:s}}=o.useContext(O),{page:a}=S(),{cryptoFiatState:n}=o.useContext(Pe),{viewDispatch:i}=o.useContext(C),{bridgeState:{checkout:c,from:d,to:u,token:x,amount:p}}=o.useContext(It);return o.useEffect((()=>{_t(s,e);const t=W(p,x?.symbol??"",n.conversions);a({userJourney:_.BRIDGE,screen:"InProgress",extras:{fromWalletAddress:d?.walletAddress,toWalletAddress:u?.walletAddress,amount:p,fiatAmount:t,tokenAddress:x?.address}})}),[]),l.jsx(U,{testId:"move-in-progress-view",header:l.jsx(z,{transparent:!0,onCloseButtonClick:()=>kt(s),rightActions:l.jsxs(l.Fragment,{children:[l.jsx(Q,{icon:"Minting",sx:Y(),onClick:()=>{i({payload:{type:R.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(H,{}),heroContent:l.jsx(qs,{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 Ys({approveTransaction:e,transaction:t}){const{t:s}=r(),{bridgeState:a}=o.useContext(It),{checkout:n,from:i}=a,{viewDispatch:c}=o.useContext(C),{eventTargetState:{eventTarget:d}}=o.useContext(O),{page:u}=S();o.useEffect((()=>{u({userJourney:_.BRIDGE,screen:"ApproveTransaction"})}),[]);const[x,p]=o.useState(!1),[g,h]=o.useState(!1),[w,T]=o.useState(!1),[b,m]=o.useState(!1),f=o.useCallback((()=>{c({payload:{type:R.UPDATE_VIEW,view:{type:xe.ERROR_VIEW,error:new Error("No checkout object or no provider object found")}}})}),[c]),I=o.useCallback((()=>{c({payload:{type:R.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:R.UPDATE_VIEW,view:{type:Be.BRIDGE_FAILURE,reason:t}}})}c({payload:{type:R.UPDATE_VIEW,view:{type:xe.ERROR_VIEW,error:e}}})}else c({payload:{type:R.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:R.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});T(!0);const a=await e.transactionResponse.wait();if(0===a.status)return void c({payload:{type:R.UPDATE_VIEW,view:{type:Be.BRIDGE_FAILURE,reason:"Approval transaction failed to settle on chain"}}});c({payload:{type:R.UPDATE_VIEW,view:{type:Be.IN_PROGRESS,transactionHash:a.transactionHash}}})}catch(e){e.type===Ie.USER_REJECTED_REQUEST_ERROR?m(!0):A(e)}finally{T(!1),h(!1),p(!1)}}}else f()}),[n,i,f,c,t,e,x]);return l.jsxs(l.Fragment,{children:[w&&l.jsx(J,{loadingText:s("views.APPROVE_TRANSACTION.loadingView.text"),showFooterLogo:!0}),!w&&l.jsx(U,{header:l.jsx(z,{transparent:!0,showBack:!0,onCloseButtonClick:()=>kt(d),onBackButtonClick:I}),floatHeader:!0,heroContent:l.jsx(Qe,{}),footer:l.jsxs(E,{sx:{width:"100%",flexDirection:"column"},children:[l.jsx(Ae,{loading:g,actionText:s("views.APPROVE_TRANSACTION."+(b?"footer.retryText":"footer.buttonText")),onActionClick:y}),l.jsx(H,{})]}),children:l.jsx(fe,{heading:s("views.APPROVE_TRANSACTION.content.heading"),children:l.jsx(E,{children:s("views.APPROVE_TRANSACTION.content.body")})})})]})}const Xs={display:"flex",flexDirection:"column",alignItems:"center",paddingTop:"base.spacing.x6",paddingBottom:"base.spacing.x1",height:"100%"},ea={color:"base.color.text.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"15px"},ta={display:"flex",flexDirection:"column",justifyContent:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},sa={width:"100%",height:"base.spacing.x16"};function aa({visible:e,onClose:t,onChangeAccount:s}){const{t:a}=r(),{bridgeState:{checkout:n}}=o.useContext(It),i=te(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(E,{testId:"not-enough-eth-drawer",sx:Xs,children:[l.jsx(ee,{imageUrl:i,sx:{w:"base.icon.size.600",h:"base.icon.size.600"}}),l.jsx(q,{size:"small",sx:ea,testId:"not-enough-gas-heading",children:`${a("drawers.notEnoughEthWithdrawal.content.heading1")} ${X} ${a("drawers.notEnoughEthWithdrawal.content.heading2")}`}),l.jsx(h,{sx:ea,children:`${a("drawers.notEnoughEthWithdrawal.content.body1")} ${X} ${a("drawers.notEnoughEthWithdrawal.content.body2")}`}),l.jsxs(E,{sx:ta,children:[l.jsx(w,{testId:"not-enough-eth-drawer-retry-button",sx:sa,variant:"tertiary",onClick:s,children:a("drawers.notEnoughEthWithdrawal.buttons.retry")}),l.jsx(w,{sx:sa,variant:"tertiary",onClick:t,testId:"not-enough-eth-drawer-dismiss-button",children:a("drawers.notEnoughEthWithdrawal.buttons.dismiss")})]})]})})})}function na({transaction:e}){const{t:t}=r(),{bridgeState:{checkout:s,tokenBridge:a,from:n}}=o.useContext(It),{viewDispatch:c}=o.useContext(C),{eventTargetState:{eventTarget:d}}=o.useContext(O),{page:u}=S();o.useEffect((()=>{u({userJourney:_.BRIDGE,screen:"ClaimWithdrawal"})}),[]);const[x,p]=o.useState(!1),[g,h]=o.useState(!1),[T,b]=o.useState(!1),[m,f]=o.useState(),[I,A]=o.useState(!1),v=o.useCallback((()=>{c({payload:{type:R.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 k=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),N(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=ae.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=>M(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:R.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(U,{testId:"claim-withdrawal",header:l.jsx(z,{transparent:!0,showBack:!0,onCloseButtonClick:()=>kt(d),onBackButtonClick:v}),floatHeader:!0,heroContent:l.jsx(Qe,{}),footer:l.jsxs(E,{sx:{width:"100%",display:"flex",flexDirection:"column"},children:[l.jsx(E,{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:g,onClick:()=>x||g?void 0:k({forceChangeAccount:!0}),children:g||x?l.jsx(w.Icon,{icon:"Loading",sx:{width:"base.icon.size.400"}}):t("views.CLAIM_WITHDRAWAL."+(T?"footer.retryText":"footer.buttonText"))})}),l.jsx(H,{})]}),children:[l.jsxs(fe,{heading:`${t("views.CLAIM_WITHDRAWAL.content.heading")} ${wt(F(s.config))}`,children:[l.jsx(E,{sx:{display:"flex",flexWrap:"wrap",pb:"base.spacing.x1"},children:t("views.CLAIM_WITHDRAWAL.content.body")}),l.jsxs(E,{children:[t("views.CLAIM_WITHDRAWAL.content.body2"),l.jsx(y,{text:e.details.to_address.toLowerCase()??""})]})]}),l.jsx(aa,{visible:I,onClose:()=>A(!1),onChangeAccount:()=>k({forceChangeAccount:!0})})]})}function oa({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:g}}=o.useContext(O),{page:h}=S(),[w,T]=o.useReducer(Se,{...ve,view:{type:Be.WALLET_NETWORK_SELECTION},history:[{type:Be.WALLET_NETWORK_SELECTION}]}),[b,m]=o.useReducer(At,{...mt,checkout:e,web3Provider:t??null,tokenBridge:(()=>{let t=Le;e.config.isDevelopment&&(t=De),e.config.isProduction&&(t=Me);const s=new $(e.config.networkMap.get(F(e.config))?.rpcUrls[0]),a=new $(e.config.networkMap.get(V(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:w,viewDispatch:T})),[w,T]),I=o.useMemo((()=>({bridgeState:b,bridgeDispatch:m})),[b,m]),A=o.useCallback((()=>{m({payload:{type:ft.SET_WALLETS_AND_NETWORKS,from:null,to:null}}),m({payload:{type:ft.SET_TOKEN_AND_AMOUNT,amount:"",token:null}}),T({payload:{type:R.GO_BACK_TO,view:{type:Be.WALLET_NETWORK_SELECTION}}})}),[T]),y=o.useCallback((()=>{T({payload:{type:R.GO_BACK_TO,view:{type:Be.WALLET_NETWORK_SELECTION}}})}),[T]),v=o.useCallback((()=>{T({payload:{type:R.UPDATE_VIEW,view:{type:Be.TRANSACTIONS}}})}),[T]),k=o.useCallback((()=>{T({payload:{type:R.GO_BACK_TO,view:{type:Be.BRIDGE_REVIEW}}})}),[T]);return o.useEffect((()=>{(async()=>{m({payload:{type:ft.SET_PROVIDER,web3Provider:t??null}})})()}),[t]),l.jsx(C.Provider,{value:f,children:l.jsx(It.Provider,{value:I,children:l.jsxs(Oe,{environment:c,children:[w.view.type===Be.WALLET_NETWORK_SELECTION&&l.jsx(fs,{}),w.view.type===Be.BRIDGE_FORM&&l.jsx(Ps,{amount:a,tokenAddress:n}),w.view.type===Be.BRIDGE_REVIEW&&l.jsx(Js,{}),w.view.type===Be.IN_PROGRESS&&l.jsx(Qs,{transactionHash:w.view.transactionHash}),w.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:k,statusType:je.FAILURE,onRenderEvent:()=>{let e="";w.view.type===Be.BRIDGE_FAILURE&&(e=w.view.reason),h({userJourney:_.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)})(g,e)}}),w.view.type===Be.APPROVE_TRANSACTION&&l.jsx(Ys,{approveTransaction:w.view.approveTransaction,transaction:w.view.transaction}),w.view.type===Be.TRANSACTIONS&&l.jsx(es,{onBackButtonClick:y}),w.view.type===Be.CLAIM_WITHDRAWAL&&l.jsx(na,{transaction:w.view.transaction}),w.view.type===xe.ERROR_VIEW&&l.jsx(Ne,{actionText:i("views.ERROR_VIEW.actionText"),onActionClick:A,onCloseClick:()=>kt(g),errorEventAction:()=>{h({userJourney:_.BRIDGE,screen:"Error"})}}),w.view.type===xe.TOP_UP_VIEW&&l.jsx(Fe,{analytics:{userJourney:_.BRIDGE},widgetEvent:x.IMTBL_BRIDGE_WIDGET_EVENT,checkout:e,provider:t,showOnrampOption:d,showSwapOption:u,showBridgeOption:E,onCloseButtonClick:()=>kt(g)}),w.view.type===Be.CLAIM_WITHDRAWAL_IN_PROGRESS&&l.jsx(ts,{transactionResponse:w.view.transactionResponse}),w.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:()=>{h({userJourney:_.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)})(g,w.view.transactionHash)},onActionClick:v,statusType:je.SUCCESS,testId:"claim-withdrawal-success-view"}),w.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="";w.view.type===Be.CLAIM_WITHDRAWAL_FAILURE&&(e=w.view.reason),h({userJourney:_.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)})(g,w.view.transactionHash,"Transaction failed")},onActionClick:v,statusType:je.FAILURE,onCloseClick:()=>kt(g),testId:"claim-withdrawal-fail-view"})]})})})}var ra=Object.freeze({__proto__:null,default:oa});export{oa as B,ra as a,wt as g};
@@ -1 +0,0 @@
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,W 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-8130cf40.js";import{O as C,T as m}from"./TopUpView-09a61709.js";import{u as x,T as h}from"./useTransakEvents-33875f8a.js";import{S as g}from"./SpendingCapHero-03968ac0.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),[m,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=x.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",...a});break;case L.TRANSAK_ORDER_CREATED:G({userJourney:S.ON_RAMP,screen:"InputScreen",control:"OrderCreated",controlType:"IframeEvent",...a});break;case L.TRANSAK_ORDER_SUCCESSFUL:e.data.status===k.PROCESSING&&G({userJourney:S.ON_RAMP,screen:"OrderInProgress",control:"PaymentProcessing",controlType:"IframeEvent",...a}),e.data.status===k.COMPLETED&&G({userJourney:S.ON_RAMP,screen:"Success",control:"PaymentCompleted",controlType:"IframeEvent",...a});break;case L.TRANSAK_ORDER_FAILED:G({userJourney:S.ON_RAMP,screen:"Failure",control:"PaymentFailed",controlType:"IframeEvent",...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:m,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,x]=e.useReducer(v,{...T,history:[]}),h=e.useMemo((()=>({viewState:l,viewDispatch:x})),[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,x]),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:()=>{x({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(m,{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};