@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.
- package/dist/blockchain_data.js +2 -2
- package/dist/browser/checkout/sdk.js +4 -4
- package/dist/browser/checkout/widgets.js +64 -63
- package/dist/checkout.d.ts +1 -4
- package/dist/checkout.js +6 -30
- package/dist/config.js +1 -1
- package/dist/index.browser.js +13 -13
- package/dist/index.browser.js.map +1 -1
- package/dist/index.cjs +8 -32
- package/dist/index.d.ts +1 -4
- package/dist/index.js +8 -32
- package/dist/orderbook.js +1 -1
- package/dist/passport.js +3 -3
- package/dist/x.js +2 -2
- package/package.json +4 -4
- package/dist/browser/checkout/BridgeWidget-895c2ff8.js +0 -1
- package/dist/browser/checkout/OnRampWidget-93e6c462.js +0 -1
- package/dist/browser/checkout/SaleWidget-af43a403.js +0 -2
- package/dist/browser/checkout/SpendingCapHero-03968ac0.js +0 -1
- package/dist/browser/checkout/SwapWidget-61e779d8.js +0 -1
- package/dist/browser/checkout/TopUpView-09a61709.js +0 -1
- package/dist/browser/checkout/WalletWidget-68b65814.js +0 -1
- package/dist/browser/checkout/auto-track-7c8945e1.js +0 -1
- package/dist/browser/checkout/balance-5343fb20.js +0 -1
- package/dist/browser/checkout/index-2657c3d3.js +0 -1
- package/dist/browser/checkout/index-2c059c42.js +0 -1
- package/dist/browser/checkout/index-3ef57b96.js +0 -1
- package/dist/browser/checkout/index-8130cf40.js +0 -106
- package/dist/browser/checkout/index-a12ebc45.js +0 -1
- package/dist/browser/checkout/index-d949d325.js +0 -1
- package/dist/browser/checkout/index-f2726576.js +0 -773
- package/dist/browser/checkout/index.umd-31af21e6.js +0 -1
- package/dist/browser/checkout/is-plan-event-enabled-80f76ce6.js +0 -1
- package/dist/browser/checkout/retry-07d04bc8.js +0 -1
- package/dist/browser/checkout/useTransakEvents-33875f8a.js +0 -2
- 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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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 =
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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 =
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
12
|
-
"@biom3/react": "^0.
|
|
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.
|
|
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};
|