@imtbl/sdk 1.6.0-alpha.1 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +51 -50
  4. package/dist/checkout.d.ts +1 -3
  5. package/dist/checkout.js +8 -43
  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 +10 -45
  10. package/dist/index.d.ts +1 -3
  11. package/dist/index.js +10 -45
  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 +1 -1
  16. package/dist/browser/checkout/BridgeWidget-38c8cacb.js +0 -1
  17. package/dist/browser/checkout/OnRampWidget-1c8e54ce.js +0 -1
  18. package/dist/browser/checkout/SaleWidget-cc5aa51c.js +0 -2
  19. package/dist/browser/checkout/SpendingCapHero-fdeb2fc6.js +0 -1
  20. package/dist/browser/checkout/SwapWidget-acbacee2.js +0 -1
  21. package/dist/browser/checkout/TopUpView-a4425aa3.js +0 -1
  22. package/dist/browser/checkout/WalletWidget-4528b0a7.js +0 -1
  23. package/dist/browser/checkout/auto-track-c91d2967.js +0 -1
  24. package/dist/browser/checkout/balance-17fd7166.js +0 -1
  25. package/dist/browser/checkout/index-008f3a1f.js +0 -1
  26. package/dist/browser/checkout/index-1b56d53b.js +0 -1
  27. package/dist/browser/checkout/index-1ba3ec23.js +0 -106
  28. package/dist/browser/checkout/index-21a40c88.js +0 -1
  29. package/dist/browser/checkout/index-5728dc7e.js +0 -1
  30. package/dist/browser/checkout/index-bc18091f.js +0 -773
  31. package/dist/browser/checkout/index-e5599662.js +0 -1
  32. package/dist/browser/checkout/index.umd-fb0326ca.js +0 -1
  33. package/dist/browser/checkout/is-plan-event-enabled-80f76ce6.js +0 -1
  34. package/dist/browser/checkout/retry-2fc63d32.js +0 -1
  35. package/dist/browser/checkout/useTransakEvents-140c22fb.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.6.0-alpha.1';
177
+ const SDK_VERSION$1 = '1.6.0';
178
178
  const getReferrer$1 = () => {
179
179
  if (isNode$1()) {
180
180
  return '';
@@ -11297,7 +11297,7 @@ class MultiRollupApiClients {
11297
11297
  }
11298
11298
 
11299
11299
  // eslint-disable-next-line @typescript-eslint/naming-convention
11300
- const defaultHeaders$1 = { 'x-sdk-version': 'ts-immutable-sdk-1.6.0-alpha.1' };
11300
+ const defaultHeaders$1 = { 'x-sdk-version': 'ts-immutable-sdk-1.6.0' };
11301
11301
  const createConfig = ({ basePath, headers, }) => {
11302
11302
  if (!basePath.trim()) {
11303
11303
  throw Error('basePath can not be empty');
@@ -11369,7 +11369,7 @@ class APIError extends Error {
11369
11369
 
11370
11370
  /* eslint-disable implicit-arrow-linebreak */
11371
11371
  const defaultHeaders = {
11372
- sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.6.0-alpha.1',
11372
+ sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.6.0',
11373
11373
  };
11374
11374
  /**
11375
11375
  * createAPIConfiguration to create a custom Configuration
@@ -11802,7 +11802,7 @@ const createImmutableXConfiguration = ({ basePath, chainID, coreContractAddress,
11802
11802
  chainID,
11803
11803
  coreContractAddress,
11804
11804
  registrationContractAddress,
11805
- sdkVersion: 'ts-immutable-sdk-1.6.0-alpha.1',
11805
+ sdkVersion: 'ts-immutable-sdk-1.6.0',
11806
11806
  });
11807
11807
  /**
11808
11808
  * Sets `sdkVersion` at the time of build
@@ -37456,7 +37456,7 @@ const flattenProperties = (properties) => {
37456
37456
  };
37457
37457
 
37458
37458
  // WARNING: DO NOT CHANGE THE STRING BELOW. IT GETS REPLACED AT BUILD TIME.
37459
- const SDK_VERSION = '1.6.0-alpha.1';
37459
+ const SDK_VERSION = '1.6.0';
37460
37460
  const getReferrer = () => {
37461
37461
  if (isNode()) {
37462
37462
  return '';
@@ -42623,7 +42623,7 @@ const IMMUTABLE_ZKVEM_GAS_OVERRIDES = {
42623
42623
  maxPriorityFeePerGas: ethers.BigNumber.from(10e9),
42624
42624
  };
42625
42625
 
42626
- const SDK_VERSION_MARKER = '1.6.0-alpha.1';
42626
+ const SDK_VERSION_MARKER = '1.6.0';
42627
42627
  // This SDK version is replaced by the `yarn build` command ran on the root level
42628
42628
  const globalPackageVersion = () => SDK_VERSION_MARKER;
42629
42629
 
@@ -46238,8 +46238,7 @@ function validateAndBuildVersion(version) {
46238
46238
  return validatedVersion;
46239
46239
  }
46240
46240
 
46241
- // Loads the checkout widgets bundle from the CDN and appends the script to the document head
46242
- function loadUnresolvedBundle(version) {
46241
+ function loadUnresolved(version) {
46243
46242
  if (window === undefined) {
46244
46243
  throw new Error('missing window object: please run Checkout client side');
46245
46244
  }
@@ -46261,12 +46260,6 @@ function loadUnresolvedBundle(version) {
46261
46260
  document.head.appendChild(tag);
46262
46261
  return { loaded: false, element: tag };
46263
46262
  }
46264
- // Gets the CDN url for the split checkout widgets bundle
46265
- function getWidgetsEsmUrl(version) {
46266
- const validVersion = validateAndBuildVersion(version);
46267
- let cdnUrl = `https://cdn.jsdelivr.net/npm/@imtbl/sdk@${validVersion}/dist/browser/checkout/widgets-esm.js`;
46268
- return cdnUrl;
46269
- }
46270
46263
 
46271
46264
  const PUBLISHABLE_KEY_PREFIX = 'pk_imapik-';
46272
46265
  const publishableKeyDomainAllowlist = [
@@ -46374,20 +46367,10 @@ class Checkout {
46374
46367
  const checkout = this;
46375
46368
  // Preload the configurations
46376
46369
  await checkout.config.remote.getConfig();
46377
- try {
46378
- const factory = await this.loadEsModules(init.config, init.version);
46379
- return factory;
46380
- }
46381
- catch (err) {
46382
- throw new CheckoutError('Failed to load widgets script', CheckoutErrorType.WIDGETS_SCRIPT_LOAD_ERROR, { error: err });
46383
- }
46384
- }
46385
- async loadUmdBundle(config, version) {
46386
- const checkout = this;
46387
46370
  const factory = new Promise((resolve, reject) => {
46388
46371
  function checkForWidgetsBundleLoaded() {
46389
46372
  if (typeof ImmutableCheckoutWidgets !== 'undefined') {
46390
- resolve(new ImmutableCheckoutWidgets.WidgetsFactory(checkout, config));
46373
+ resolve(new ImmutableCheckoutWidgets.WidgetsFactory(checkout, init.config));
46391
46374
  }
46392
46375
  else {
46393
46376
  // If ImmutableCheckoutWidgets is not defined, wait for set amount of time.
@@ -46397,9 +46380,9 @@ class Checkout {
46397
46380
  }
46398
46381
  }
46399
46382
  try {
46400
- const script = loadUnresolvedBundle(version);
46383
+ const script = loadUnresolved(init.version);
46401
46384
  if (script.loaded && typeof ImmutableCheckoutWidgets !== 'undefined') {
46402
- resolve(new ImmutableCheckoutWidgets.WidgetsFactory(checkout, config));
46385
+ resolve(new ImmutableCheckoutWidgets.WidgetsFactory(checkout, init.config));
46403
46386
  }
46404
46387
  else {
46405
46388
  checkForWidgetsBundleLoaded();
@@ -46411,24 +46394,6 @@ class Checkout {
46411
46394
  });
46412
46395
  return factory;
46413
46396
  }
46414
- async loadEsModules(config, version) {
46415
- const checkout = this;
46416
- try {
46417
- const cdnUrl = getWidgetsEsmUrl(version);
46418
- // WebpackIgnore comment required to prevent webpack modifying the import statement and
46419
- // breaking the dynamic import in certain applications integrating checkout
46420
- const checkoutWidgetsModule = await import(/* webpackIgnore: true */ cdnUrl);
46421
- if (checkoutWidgetsModule && checkoutWidgetsModule.WidgetsFactory) {
46422
- return new checkoutWidgetsModule.WidgetsFactory(checkout, config);
46423
- }
46424
- }
46425
- catch (err) {
46426
- // eslint-disable-next-line no-console
46427
- console.warn(`Failed to resolve checkout widgets module, falling back to UMD bundle. Error: ${err.message}`);
46428
- }
46429
- // Fallback to UMD bundle if esm bundle fails to load
46430
- return await checkout.loadUmdBundle(config, version);
46431
- }
46432
46397
  /**
46433
46398
  * Creates a provider using the given parameters.
46434
46399
  * @param {CreateProviderParams} params - The parameters for creating the provider.
package/dist/index.d.ts CHANGED
@@ -32161,7 +32161,7 @@ type CheckoutWidgetsConfig = {
32161
32161
  /**
32162
32162
  * Represents the configuration options for instantiating the Checkout Widgets factory.
32163
32163
  * @property {WidgetConfiguration} config - global configuration options for the widgets.
32164
- * @property {SemanticVersion | undefined} version - version of the Checkout widgets bundle(default latest version will be used).
32164
+ * @property {SemanticVersion | undefined} version - version of the Checkout widgets bundle (default latest version will be used).
32165
32165
  */
32166
32166
  type WidgetsInit = {
32167
32167
  config: WidgetConfiguration;
@@ -32185,8 +32185,6 @@ declare class Checkout {
32185
32185
  * @param {WidgetsInit} init - The initialisation parameters for loading the widgets bundle and applying configuration
32186
32186
  */
32187
32187
  widgets(init: WidgetsInit): Promise<ImmutableCheckoutWidgets.WidgetsFactory>;
32188
- private loadUmdBundle;
32189
- private loadEsModules;
32190
32188
  /**
32191
32189
  * Creates a provider using the given parameters.
32192
32190
  * @param {CreateProviderParams} params - The parameters for creating the provider.
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.6.0-alpha.1';
155
+ const SDK_VERSION$1 = '1.6.0';
156
156
  const getReferrer$1 = () => {
157
157
  if (isNode$1()) {
158
158
  return '';
@@ -11275,7 +11275,7 @@ class MultiRollupApiClients {
11275
11275
  }
11276
11276
 
11277
11277
  // eslint-disable-next-line @typescript-eslint/naming-convention
11278
- const defaultHeaders$1 = { 'x-sdk-version': 'ts-immutable-sdk-1.6.0-alpha.1' };
11278
+ const defaultHeaders$1 = { 'x-sdk-version': 'ts-immutable-sdk-1.6.0' };
11279
11279
  const createConfig = ({ basePath, headers, }) => {
11280
11280
  if (!basePath.trim()) {
11281
11281
  throw Error('basePath can not be empty');
@@ -11347,7 +11347,7 @@ class APIError extends Error {
11347
11347
 
11348
11348
  /* eslint-disable implicit-arrow-linebreak */
11349
11349
  const defaultHeaders = {
11350
- sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.6.0-alpha.1',
11350
+ sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.6.0',
11351
11351
  };
11352
11352
  /**
11353
11353
  * createAPIConfiguration to create a custom Configuration
@@ -11780,7 +11780,7 @@ const createImmutableXConfiguration = ({ basePath, chainID, coreContractAddress,
11780
11780
  chainID,
11781
11781
  coreContractAddress,
11782
11782
  registrationContractAddress,
11783
- sdkVersion: 'ts-immutable-sdk-1.6.0-alpha.1',
11783
+ sdkVersion: 'ts-immutable-sdk-1.6.0',
11784
11784
  });
11785
11785
  /**
11786
11786
  * Sets `sdkVersion` at the time of build
@@ -37434,7 +37434,7 @@ const flattenProperties = (properties) => {
37434
37434
  };
37435
37435
 
37436
37436
  // WARNING: DO NOT CHANGE THE STRING BELOW. IT GETS REPLACED AT BUILD TIME.
37437
- const SDK_VERSION = '1.6.0-alpha.1';
37437
+ const SDK_VERSION = '1.6.0';
37438
37438
  const getReferrer = () => {
37439
37439
  if (isNode()) {
37440
37440
  return '';
@@ -42601,7 +42601,7 @@ const IMMUTABLE_ZKVEM_GAS_OVERRIDES = {
42601
42601
  maxPriorityFeePerGas: BigNumber$1.from(10e9),
42602
42602
  };
42603
42603
 
42604
- const SDK_VERSION_MARKER = '1.6.0-alpha.1';
42604
+ const SDK_VERSION_MARKER = '1.6.0';
42605
42605
  // This SDK version is replaced by the `yarn build` command ran on the root level
42606
42606
  const globalPackageVersion = () => SDK_VERSION_MARKER;
42607
42607
 
@@ -46216,8 +46216,7 @@ function validateAndBuildVersion(version) {
46216
46216
  return validatedVersion;
46217
46217
  }
46218
46218
 
46219
- // Loads the checkout widgets bundle from the CDN and appends the script to the document head
46220
- function loadUnresolvedBundle(version) {
46219
+ function loadUnresolved(version) {
46221
46220
  if (window === undefined) {
46222
46221
  throw new Error('missing window object: please run Checkout client side');
46223
46222
  }
@@ -46239,12 +46238,6 @@ function loadUnresolvedBundle(version) {
46239
46238
  document.head.appendChild(tag);
46240
46239
  return { loaded: false, element: tag };
46241
46240
  }
46242
- // Gets the CDN url for the split checkout widgets bundle
46243
- function getWidgetsEsmUrl(version) {
46244
- const validVersion = validateAndBuildVersion(version);
46245
- let cdnUrl = `https://cdn.jsdelivr.net/npm/@imtbl/sdk@${validVersion}/dist/browser/checkout/widgets-esm.js`;
46246
- return cdnUrl;
46247
- }
46248
46241
 
46249
46242
  const PUBLISHABLE_KEY_PREFIX = 'pk_imapik-';
46250
46243
  const publishableKeyDomainAllowlist = [
@@ -46352,20 +46345,10 @@ class Checkout {
46352
46345
  const checkout = this;
46353
46346
  // Preload the configurations
46354
46347
  await checkout.config.remote.getConfig();
46355
- try {
46356
- const factory = await this.loadEsModules(init.config, init.version);
46357
- return factory;
46358
- }
46359
- catch (err) {
46360
- throw new CheckoutError('Failed to load widgets script', CheckoutErrorType.WIDGETS_SCRIPT_LOAD_ERROR, { error: err });
46361
- }
46362
- }
46363
- async loadUmdBundle(config, version) {
46364
- const checkout = this;
46365
46348
  const factory = new Promise((resolve, reject) => {
46366
46349
  function checkForWidgetsBundleLoaded() {
46367
46350
  if (typeof ImmutableCheckoutWidgets !== 'undefined') {
46368
- resolve(new ImmutableCheckoutWidgets.WidgetsFactory(checkout, config));
46351
+ resolve(new ImmutableCheckoutWidgets.WidgetsFactory(checkout, init.config));
46369
46352
  }
46370
46353
  else {
46371
46354
  // If ImmutableCheckoutWidgets is not defined, wait for set amount of time.
@@ -46375,9 +46358,9 @@ class Checkout {
46375
46358
  }
46376
46359
  }
46377
46360
  try {
46378
- const script = loadUnresolvedBundle(version);
46361
+ const script = loadUnresolved(init.version);
46379
46362
  if (script.loaded && typeof ImmutableCheckoutWidgets !== 'undefined') {
46380
- resolve(new ImmutableCheckoutWidgets.WidgetsFactory(checkout, config));
46363
+ resolve(new ImmutableCheckoutWidgets.WidgetsFactory(checkout, init.config));
46381
46364
  }
46382
46365
  else {
46383
46366
  checkForWidgetsBundleLoaded();
@@ -46389,24 +46372,6 @@ class Checkout {
46389
46372
  });
46390
46373
  return factory;
46391
46374
  }
46392
- async loadEsModules(config, version) {
46393
- const checkout = this;
46394
- try {
46395
- const cdnUrl = getWidgetsEsmUrl(version);
46396
- // WebpackIgnore comment required to prevent webpack modifying the import statement and
46397
- // breaking the dynamic import in certain applications integrating checkout
46398
- const checkoutWidgetsModule = await import(/* webpackIgnore: true */ cdnUrl);
46399
- if (checkoutWidgetsModule && checkoutWidgetsModule.WidgetsFactory) {
46400
- return new checkoutWidgetsModule.WidgetsFactory(checkout, config);
46401
- }
46402
- }
46403
- catch (err) {
46404
- // eslint-disable-next-line no-console
46405
- console.warn(`Failed to resolve checkout widgets module, falling back to UMD bundle. Error: ${err.message}`);
46406
- }
46407
- // Fallback to UMD bundle if esm bundle fails to load
46408
- return await checkout.loadUmdBundle(config, version);
46409
- }
46410
46375
  /**
46411
46376
  * Creates a provider using the given parameters.
46412
46377
  * @param {CreateProviderParams} params - The parameters for creating the provider.
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.6.0-alpha.1';
134
+ const SDK_VERSION = '1.6.0';
135
135
  const getReferrer = () => {
136
136
  if (isNode()) {
137
137
  return '';
package/dist/passport.js CHANGED
@@ -9146,7 +9146,7 @@ class MultiRollupApiClients {
9146
9146
  }
9147
9147
 
9148
9148
  // eslint-disable-next-line @typescript-eslint/naming-convention
9149
- const defaultHeaders = { 'x-sdk-version': 'ts-immutable-sdk-1.6.0-alpha.1' };
9149
+ const defaultHeaders = { 'x-sdk-version': 'ts-immutable-sdk-1.6.0' };
9150
9150
  const createConfig = ({ basePath, headers, }) => {
9151
9151
  if (!basePath.trim()) {
9152
9152
  throw Error('basePath can not be empty');
@@ -9325,7 +9325,7 @@ const flattenProperties = (properties) => {
9325
9325
  };
9326
9326
 
9327
9327
  // WARNING: DO NOT CHANGE THE STRING BELOW. IT GETS REPLACED AT BUILD TIME.
9328
- const SDK_VERSION = '1.6.0-alpha.1';
9328
+ const SDK_VERSION = '1.6.0';
9329
9329
  const getReferrer = () => {
9330
9330
  if (isNode()) {
9331
9331
  return '';
@@ -9537,7 +9537,7 @@ const createImmutableXConfiguration = ({ basePath, chainID, coreContractAddress,
9537
9537
  chainID,
9538
9538
  coreContractAddress,
9539
9539
  registrationContractAddress,
9540
- sdkVersion: 'ts-immutable-sdk-1.6.0-alpha.1',
9540
+ sdkVersion: 'ts-immutable-sdk-1.6.0',
9541
9541
  });
9542
9542
  /**
9543
9543
  * 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.6.0-alpha.1';
139
+ const SDK_VERSION = '1.6.0';
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.6.0-alpha.1',
330
+ sdkVersion: 'ts-immutable-sdk-1.6.0',
331
331
  });
332
332
  /**
333
333
  * Sets `sdkVersion` at the time of build
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@imtbl/sdk",
3
3
  "description": "Immutable Unified SDK",
4
- "version": "1.6.0-alpha.1",
4
+ "version": "1.6.0",
5
5
  "author": "Immutable",
6
6
  "browser": "./dist/index.browser.js",
7
7
  "bugs": "https://github.com/immutable/ts-immutable-sdk/issues",
@@ -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,M as c,ar as d,b8 as u,I as x,an as p,b9 as E,ba as h,B as g,l as T,K as w,bb as b,a3 as m,aK as f,O as I,P as A,bc as y,bd as v,a as S,be as _,U as k,bf as C,V as R,d as N,bg as j,o as L,aI as D,bh 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,bi as U,c as z,H,F as $,bj as Z,bk as J,L as q,t as Q,m as Y,Y as X,bl as ee,aH as te,bm as se,aJ as ae,w as ne,n as oe,N as re,aN as ie,aT as le,S as ce,ab as de,aO as ue,aG as xe,bn as pe,aL as Ee,aR as he,bo as ge,bp as Te,a0 as we,a1 as be,bq as me,e as fe,A as Ie,aU as Ae,br as ye,v as ve,i as Se,bs as _e,aW as ke,bt as Ce,f as Re,h as Ne,a5 as je,bu as Le,bv as De,bw as Me}from"./index-1ba3ec23.js";import{B as Be,C as Pe,a as We,b as Oe,T as Ge}from"./TopUpView-a4425aa3.js";import{r as Fe,u as Ve}from"./retry-2fc63d32.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-17fd7166.js";const{Axios:qe,AxiosError:Qe,CanceledError:Ye,isCancel:Xe,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 vt=(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 St(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"},Nt={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 jt({openWalletDrawer:e}){const{t:t}=r();return l.jsxs(g,{sx:Nt,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(v,{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(v,{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}=S(),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}=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]),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:N.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}=S(),n=s?.walletAddress||"",i=j(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(v,{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}=S(),{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 Yt({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}=S(),{t:u}=r(),{track:x}=S(),[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]),v=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]),N=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:()=>St(t)}),footer:l.jsx($,{}),children:l.jsxs(g,{sx:kt,children:[l.jsxs(g,{sx:Ct,children:[!c?.web3Provider&&l.jsx(jt,{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:N,showDrawer:m,setShowDrawer:e=>{f(e)},onWalletItemClick:v})]})})}function Xt({transactionResponse:e}){const{t:t}=r(),{viewDispatch:s}=o.useContext(R),{page:a}=S();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:N.UPDATE_VIEW,view:{type:Be.CLAIM_WITHDRAWAL_SUCCESS,transactionHash:t.transactionHash}}});s({payload:{type:N.UPDATE_VIEW,view:{type:Be.CLAIM_WITHDRAWAL_FAILURE,transactionHash:t.transactionHash,reason:"Transaction failed"}}})}catch(e){console.error(e),s({payload:{type:N.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}=S(),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(),[v,_]=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&&v,$=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]),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&&(C!==s?.walletAddress&&u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"FromWallet",controlType:"Select",extras:{walletAddress:s?.walletAddress}}),v!==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 X=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 X(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,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?E:x),B(!1)}),[Z,v,A,T.current]),ne=o.useCallback((()=>{A&&v&&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:v},to:{web3Provider:P,walletAddress:V.toLowerCase(),network:O}}}),u({userJourney:k.BRIDGE,screen:"WalletAndNetwork",control:"Next",controlType:"Button",extras:{fromWalletAddress:C,fromNetwork:v,fromWallet:{address:C,isPassportWallet:L(A),isMetaMask:j(A)},toWalletAddress:V,toNetwork:O,toWallet:{address:V,isPassportWallet:L(P),isMetaMask:j(P)}}}),c({payload:{type:N.UPDATE_VIEW,view:{type:Be.BRIDGE_FORM}}}))}),[A,v,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:v,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: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,{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}=S();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:()=>St(s),rightActions:l.jsx(Y,{icon:"Minting",sx:X(),onClick:()=>{t({payload:{type:N.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%"},vs={color:"base.color.text.body.secondary",fontFamily:"base.font.family.heading.secondary",textAlign:"center",marginTop:"15px"},Ss={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=se(e),b=ae(e),m=c===ee?`${x("drawers.notEnoughGas.content.eth.heading")}`:`${x("drawers.notEnoughGas.content.imx.heading")}`,f=c===ee?`${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(te,{imageUrl:c===ee?h:b,sx:{w:"base.icon.size.600",h:"base.icon.size.600"}}),l.jsx(Q,{size:"small",sx:vs,testId:"not-enough-gas-heading",children:m}),l.jsx(T,{sx:vs,children:f}),l.jsxs(g,{sx:Ss,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===ee?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 Ns(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}=S(),[A,y]=o.useState(b||""),[v,_]=o.useState(""),[C,j]=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,Y]=o.useState(!1),X=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:X(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&&j(a.find((e=>B(e.token.address)&&m?.toLocaleUpperCase()===re||e.token.address?.toLowerCase()===m?.toLowerCase()))))}),[a,p.conversions,m,V.current,X,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){j(t);break}}s({payload:{type:bt.SET_TOKEN_AND_AMOUNT,token:null,amount:""}})}}),[u,x,a]);const te=o.useMemo((()=>C&&C.token?X(C.token.symbol,C.token.address):void 0),[C,a,p.conversions,X]),se=o.useMemo((()=>!a.find((e=>B(e.token.address)))),[a,C,A]),ae=e=>{if(y(e),v){const t=ms(e,C?.formattedBalance);_(t)}var t;C&&(P(O(e,C.token.symbol,p.conversions)),t=!0,Number.isNaN(parseFloat(A))||parseFloat(A)<=0||!C||!c||!c.walletAddress||!d||!d.walletAddress||t&&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&&j(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&&(se?$(!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:N.UPDATE_VIEW,view:{type:Be.BRIDGE_REVIEW}}})))}),[i,c?.web3Provider,de,se,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:te,subtext:K,textAlign:"left",errorMessage:t(L),onSelectChange:e=>(e=>{const t=a.find((t=>e===X(t.token.symbol,t.token.address)));t&&(j(t),D(""))})(e)}),l.jsx(ze,{testId:"bridge-amount",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(v)})]}),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:()=>Y(!1),onRetry:async()=>{Y(!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)?ee:le,onAddCoinsClick:()=>{h({payload:{type:N.UPDATE_VIEW,view:{type:ce.TOP_UP_VIEW}}})}})]})]})}const js=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}=S();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,js),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:()=>St(d)}),footer:l.jsx($,{}),children:l.jsx(Ns,{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}=S(),{cryptoFiatState:E}=o.useContext(Pe),[h,b]=o.useState(!1),[m,I]=o.useState(void 0),[A,y]=o.useState(""),[v,_]=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:j(n?.web3Provider)},toWalletAddress:U,toNetwork:H,toWallet:{address:U,isPassportWallet:L(d?.web3Provider),isMetaMask:j(d?.web3Provider)},amount:x,fiatAmount:G,tokenAddress:u?.address}}),t({payload:{type:N.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:v,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}=S();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:()=>St(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}=S(),{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((()=>{vt(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:()=>St(s),rightActions:l.jsxs(l.Fragment,{children:[l.jsx(Y,{icon:"Minting",sx:X(),onClick:()=>{i({payload:{type:N.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}=S();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:N.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:N.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:N.UPDATE_VIEW,view:{type:Be.BRIDGE_FAILURE,reason:t}}})}c({payload:{type:N.UPDATE_VIEW,view:{type:ce.ERROR_VIEW,error:e}}})}else c({payload:{type:N.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:N.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:N.UPDATE_VIEW,view:{type:Be.BRIDGE_FAILURE,reason:"Approval transaction failed to settle on chain"}}});c({payload:{type:N.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:()=>St(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"},Ys={display:"flex",flexDirection:"column",justifyContent:"center",gap:"base.spacing.x2",height:"100%",width:"100%"},Xs={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=se(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(te,{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")} ${ee} ${a("drawers.notEnoughEthWithdrawal.content.heading2")}`}),l.jsx(T,{sx:Qs,children:`${a("drawers.notEnoughEthWithdrawal.content.body1")} ${ee} ${a("drawers.notEnoughEthWithdrawal.content.body2")}`}),l.jsxs(g,{sx:Ys,children:[l.jsx(w,{testId:"not-enough-eth-drawer-retry-button",sx:Xs,variant:"tertiary",onClick:s,children:a("drawers.notEnoughEthWithdrawal.buttons.retry")}),l.jsx(w,{sx:Xs,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}=S();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:N.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:N.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:()=>St(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(v,{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}=S(),[T,w]=o.useReducer(ve,{...Se,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:N.GO_BACK_TO,view:{type:Be.WALLET_NETWORK_SELECTION}}})}),[w]),y=o.useCallback((()=>{w({payload:{type:N.GO_BACK_TO,view:{type:Be.WALLET_NETWORK_SELECTION}}})}),[w]),v=o.useCallback((()=>{w({payload:{type:N.UPDATE_VIEW,view:{type:Be.TRANSACTIONS}}})}),[w]),_=o.useCallback((()=>{w({payload:{type:N.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:Ne.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(Yt,{onBackButtonClick:y}),T.view.type===Be.CLAIM_WITHDRAWAL&&l.jsx(ta,{transaction:T.view.transaction}),T.view.type===ce.ERROR_VIEW&&l.jsx(je,{actionText:i("views.ERROR_VIEW.actionText"),onActionClick:A,onCloseClick:()=>St(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:()=>St(h)}),T.view.type===Be.CLAIM_WITHDRAWAL_IN_PROGRESS&&l.jsx(Xt,{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:v,statusType:Ne.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:v,statusType:Ne.FAILURE,onCloseClick:()=>St(h),testId:"claim-withdrawal-fail-view"})]})})})}var aa=Object.freeze({__proto__:null,default:sa});export{sa as B,aa as a,ht as g};
@@ -1 +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,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-1ba3ec23.js";import{O as C,T as m}from"./TopUpView-a4425aa3.js";import{u as x,T as h}from"./useTransakEvents-140c22fb.js";import{S as g}from"./SpendingCapHero-fdeb2fc6.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};