@imtbl/sdk 1.5.4 → 1.6.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/blockchain_data.d.ts +39 -91
- package/dist/blockchain_data.js +15 -7
- package/dist/browser/checkout/BridgeWidget-38c8cacb.js +1 -0
- package/dist/browser/checkout/OnRampWidget-1c8e54ce.js +1 -0
- package/dist/browser/checkout/SaleWidget-cc5aa51c.js +2 -0
- package/dist/browser/checkout/SpendingCapHero-fdeb2fc6.js +1 -0
- package/dist/browser/checkout/SwapWidget-acbacee2.js +1 -0
- package/dist/browser/checkout/TopUpView-a4425aa3.js +1 -0
- package/dist/browser/checkout/WalletWidget-4528b0a7.js +1 -0
- package/dist/browser/checkout/auto-track-c91d2967.js +1 -0
- package/dist/browser/checkout/balance-17fd7166.js +1 -0
- package/dist/browser/checkout/index-008f3a1f.js +1 -0
- package/dist/browser/checkout/index-1b56d53b.js +1 -0
- package/dist/browser/checkout/index-1ba3ec23.js +106 -0
- package/dist/browser/checkout/index-21a40c88.js +1 -0
- package/dist/browser/checkout/index-5728dc7e.js +1 -0
- package/dist/browser/checkout/index-bc18091f.js +773 -0
- package/dist/browser/checkout/index-e5599662.js +1 -0
- package/dist/browser/checkout/index.umd-fb0326ca.js +1 -0
- package/dist/browser/checkout/is-plan-event-enabled-80f76ce6.js +1 -0
- package/dist/browser/checkout/retry-2fc63d32.js +1 -0
- package/dist/browser/checkout/sdk.js +4 -4
- package/dist/browser/checkout/useTransakEvents-140c22fb.js +2 -0
- package/dist/browser/checkout/widgets-esm.js +1 -0
- package/dist/browser/checkout/widgets.js +50 -51
- package/dist/checkout.d.ts +3 -1
- package/dist/checkout.js +56 -13
- package/dist/config.js +1 -1
- package/dist/index.browser.js +4 -4
- package/dist/index.browser.js.map +1 -1
- package/dist/index.cjs +59 -16
- package/dist/index.d.ts +42 -92
- package/dist/index.js +59 -16
- package/dist/orderbook.js +1 -1
- package/dist/passport.js +16 -8
- package/dist/x.js +2 -2
- package/package.json +1 -1
|
@@ -1346,53 +1346,14 @@ interface NFT$1 {
|
|
|
1346
1346
|
* @memberof NFT
|
|
1347
1347
|
*/
|
|
1348
1348
|
'youtube_url': string | null;
|
|
1349
|
-
}
|
|
1350
|
-
|
|
1351
|
-
/**
|
|
1352
|
-
* Immutable zkEVM API
|
|
1353
|
-
* Immutable Multi Rollup API
|
|
1354
|
-
*
|
|
1355
|
-
* The version of the OpenAPI document: 1.0.0
|
|
1356
|
-
* Contact: support@immutable.com
|
|
1357
|
-
*
|
|
1358
|
-
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
1359
|
-
* https://openapi-generator.tech
|
|
1360
|
-
* Do not edit the class manually.
|
|
1361
|
-
*/
|
|
1362
|
-
|
|
1363
|
-
/**
|
|
1364
|
-
* List of normalized NFT metadata attributes
|
|
1365
|
-
* @export
|
|
1366
|
-
* @interface NFTMetadataAttributes
|
|
1367
|
-
*/
|
|
1368
|
-
interface NFTMetadataAttributes$1 {
|
|
1369
1349
|
/**
|
|
1370
1350
|
* List of NFT Metadata attributes
|
|
1371
1351
|
* @type {Array<NFTMetadataAttribute>}
|
|
1372
|
-
* @memberof
|
|
1352
|
+
* @memberof NFT
|
|
1373
1353
|
*/
|
|
1374
1354
|
'attributes': Array<NFTMetadataAttribute$1>;
|
|
1375
1355
|
}
|
|
1376
1356
|
|
|
1377
|
-
/**
|
|
1378
|
-
* Immutable zkEVM API
|
|
1379
|
-
* Immutable Multi Rollup API
|
|
1380
|
-
*
|
|
1381
|
-
* The version of the OpenAPI document: 1.0.0
|
|
1382
|
-
* Contact: support@immutable.com
|
|
1383
|
-
*
|
|
1384
|
-
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
1385
|
-
* https://openapi-generator.tech
|
|
1386
|
-
* Do not edit the class manually.
|
|
1387
|
-
*/
|
|
1388
|
-
|
|
1389
|
-
/**
|
|
1390
|
-
* @type NFTWithMetadataAttributes
|
|
1391
|
-
* A single NFT with metadata attributes
|
|
1392
|
-
* @export
|
|
1393
|
-
*/
|
|
1394
|
-
type NFTWithMetadataAttributes$1 = NFT$1 & NFTMetadataAttributes$1;
|
|
1395
|
-
|
|
1396
1357
|
/**
|
|
1397
1358
|
* Immutable zkEVM API
|
|
1398
1359
|
* Immutable Multi Rollup API
|
|
@@ -1413,10 +1374,10 @@ type NFTWithMetadataAttributes$1 = NFT$1 & NFTMetadataAttributes$1;
|
|
|
1413
1374
|
interface GetNFTResult$1 {
|
|
1414
1375
|
/**
|
|
1415
1376
|
*
|
|
1416
|
-
* @type {
|
|
1377
|
+
* @type {NFT}
|
|
1417
1378
|
* @memberof GetNFTResult
|
|
1418
1379
|
*/
|
|
1419
|
-
'result':
|
|
1380
|
+
'result': NFT$1;
|
|
1420
1381
|
}
|
|
1421
1382
|
|
|
1422
1383
|
/**
|
|
@@ -1779,7 +1740,7 @@ interface ListNFTOwnersResult$1 {
|
|
|
1779
1740
|
*/
|
|
1780
1741
|
interface ListNFTsResult$1 {
|
|
1781
1742
|
/**
|
|
1782
|
-
* List of
|
|
1743
|
+
* List of NFTs
|
|
1783
1744
|
* @type {Array<NFT>}
|
|
1784
1745
|
* @memberof ListNFTsResult
|
|
1785
1746
|
*/
|
|
@@ -2675,6 +2636,12 @@ interface NftsApiListNFTsRequest {
|
|
|
2675
2636
|
* @memberof NftsApiListNFTs
|
|
2676
2637
|
*/
|
|
2677
2638
|
readonly chainName: string;
|
|
2639
|
+
/**
|
|
2640
|
+
* List of token IDs to filter by
|
|
2641
|
+
* @type {Array<string>}
|
|
2642
|
+
* @memberof NftsApiListNFTs
|
|
2643
|
+
*/
|
|
2644
|
+
readonly tokenId?: Array<string>;
|
|
2678
2645
|
/**
|
|
2679
2646
|
* Datetime to use as the oldest updated timestamp
|
|
2680
2647
|
* @type {string}
|
|
@@ -4613,6 +4580,18 @@ interface GetMintRequestResult {
|
|
|
4613
4580
|
* @memberof GetMintRequestResult
|
|
4614
4581
|
*/
|
|
4615
4582
|
'transaction_hash': string | null;
|
|
4583
|
+
/**
|
|
4584
|
+
* When the mint request was created
|
|
4585
|
+
* @type {string}
|
|
4586
|
+
* @memberof GetMintRequestResult
|
|
4587
|
+
*/
|
|
4588
|
+
'created_at': string;
|
|
4589
|
+
/**
|
|
4590
|
+
* When the mint request was last updated
|
|
4591
|
+
* @type {string}
|
|
4592
|
+
* @memberof GetMintRequestResult
|
|
4593
|
+
*/
|
|
4594
|
+
'updated_at': string;
|
|
4616
4595
|
/**
|
|
4617
4596
|
*
|
|
4618
4597
|
* @type {MintRequestErrorMessage}
|
|
@@ -4723,53 +4702,14 @@ interface NFT {
|
|
|
4723
4702
|
* @memberof NFT
|
|
4724
4703
|
*/
|
|
4725
4704
|
'youtube_url': string | null;
|
|
4726
|
-
}
|
|
4727
|
-
|
|
4728
|
-
/**
|
|
4729
|
-
* Immutable zkEVM API
|
|
4730
|
-
* Immutable Multi Rollup API
|
|
4731
|
-
*
|
|
4732
|
-
* The version of the OpenAPI document: 1.0.0
|
|
4733
|
-
* Contact: support@immutable.com
|
|
4734
|
-
*
|
|
4735
|
-
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
4736
|
-
* https://openapi-generator.tech
|
|
4737
|
-
* Do not edit the class manually.
|
|
4738
|
-
*/
|
|
4739
|
-
|
|
4740
|
-
/**
|
|
4741
|
-
* List of normalized NFT metadata attributes
|
|
4742
|
-
* @export
|
|
4743
|
-
* @interface NFTMetadataAttributes
|
|
4744
|
-
*/
|
|
4745
|
-
interface NFTMetadataAttributes {
|
|
4746
4705
|
/**
|
|
4747
4706
|
* List of NFT Metadata attributes
|
|
4748
4707
|
* @type {Array<NFTMetadataAttribute>}
|
|
4749
|
-
* @memberof
|
|
4708
|
+
* @memberof NFT
|
|
4750
4709
|
*/
|
|
4751
4710
|
'attributes': Array<NFTMetadataAttribute>;
|
|
4752
4711
|
}
|
|
4753
4712
|
|
|
4754
|
-
/**
|
|
4755
|
-
* Immutable zkEVM API
|
|
4756
|
-
* Immutable Multi Rollup API
|
|
4757
|
-
*
|
|
4758
|
-
* The version of the OpenAPI document: 1.0.0
|
|
4759
|
-
* Contact: support@immutable.com
|
|
4760
|
-
*
|
|
4761
|
-
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
4762
|
-
* https://openapi-generator.tech
|
|
4763
|
-
* Do not edit the class manually.
|
|
4764
|
-
*/
|
|
4765
|
-
|
|
4766
|
-
/**
|
|
4767
|
-
* @type NFTWithMetadataAttributes
|
|
4768
|
-
* A single NFT with metadata attributes
|
|
4769
|
-
* @export
|
|
4770
|
-
*/
|
|
4771
|
-
type NFTWithMetadataAttributes = NFT & NFTMetadataAttributes;
|
|
4772
|
-
|
|
4773
4713
|
/**
|
|
4774
4714
|
* Immutable zkEVM API
|
|
4775
4715
|
* Immutable Multi Rollup API
|
|
@@ -4790,10 +4730,10 @@ type NFTWithMetadataAttributes = NFT & NFTMetadataAttributes;
|
|
|
4790
4730
|
interface GetNFTResult {
|
|
4791
4731
|
/**
|
|
4792
4732
|
*
|
|
4793
|
-
* @type {
|
|
4733
|
+
* @type {NFT}
|
|
4794
4734
|
* @memberof GetNFTResult
|
|
4795
4735
|
*/
|
|
4796
|
-
'result':
|
|
4736
|
+
'result': NFT;
|
|
4797
4737
|
}
|
|
4798
4738
|
|
|
4799
4739
|
/**
|
|
@@ -5394,6 +5334,12 @@ interface NFTWithBalance {
|
|
|
5394
5334
|
* @memberof NFTWithBalance
|
|
5395
5335
|
*/
|
|
5396
5336
|
'youtube_url': string | null;
|
|
5337
|
+
/**
|
|
5338
|
+
* List of Metadata attributes
|
|
5339
|
+
* @type {Array<NFTMetadataAttribute>}
|
|
5340
|
+
* @memberof NFTWithBalance
|
|
5341
|
+
*/
|
|
5342
|
+
'attributes': Array<NFTMetadataAttribute>;
|
|
5397
5343
|
/**
|
|
5398
5344
|
* The balance of NFT in the account
|
|
5399
5345
|
* @type {string}
|
|
@@ -5421,7 +5367,7 @@ interface NFTWithBalance {
|
|
|
5421
5367
|
*/
|
|
5422
5368
|
interface ListNFTsByOwnerResult {
|
|
5423
5369
|
/**
|
|
5424
|
-
* List of
|
|
5370
|
+
* List of NFTs by owner
|
|
5425
5371
|
* @type {Array<NFTWithBalance>}
|
|
5426
5372
|
* @memberof ListNFTsByOwnerResult
|
|
5427
5373
|
*/
|
|
@@ -5453,7 +5399,7 @@ interface ListNFTsByOwnerResult {
|
|
|
5453
5399
|
*/
|
|
5454
5400
|
interface ListNFTsResult {
|
|
5455
5401
|
/**
|
|
5456
|
-
* List of
|
|
5402
|
+
* List of NFTs
|
|
5457
5403
|
* @type {Array<NFT>}
|
|
5458
5404
|
* @memberof ListNFTsResult
|
|
5459
5405
|
*/
|
|
@@ -6490,6 +6436,12 @@ interface ListNFTsRequestParams {
|
|
|
6490
6436
|
* @memberof ListNFTs
|
|
6491
6437
|
*/
|
|
6492
6438
|
readonly chainName: string;
|
|
6439
|
+
/**
|
|
6440
|
+
* List of token IDs to filter by
|
|
6441
|
+
* @type {Array<string>}
|
|
6442
|
+
* @memberof ListNFTs
|
|
6443
|
+
*/
|
|
6444
|
+
readonly tokenId?: Array<string>;
|
|
6493
6445
|
/**
|
|
6494
6446
|
* Datetime to use as the oldest updated timestamp
|
|
6495
6447
|
* @type {string}
|
|
@@ -6726,11 +6678,9 @@ type index_d_NFTContractType = NFTContractType;
|
|
|
6726
6678
|
declare const index_d_NFTContractType: typeof NFTContractType;
|
|
6727
6679
|
type index_d_NFTMetadataAttribute = NFTMetadataAttribute;
|
|
6728
6680
|
type index_d_NFTMetadataAttributeValue = NFTMetadataAttributeValue;
|
|
6729
|
-
type index_d_NFTMetadataAttributes = NFTMetadataAttributes;
|
|
6730
6681
|
type index_d_NFTOwner = NFTOwner;
|
|
6731
6682
|
type index_d_NFTSale = NFTSale;
|
|
6732
6683
|
type index_d_NFTWithBalance = NFTWithBalance;
|
|
6733
|
-
type index_d_NFTWithMetadataAttributes = NFTWithMetadataAttributes;
|
|
6734
6684
|
type index_d_NFTWithOwner = NFTWithOwner;
|
|
6735
6685
|
type index_d_NativeItem = NativeItem;
|
|
6736
6686
|
type index_d_NativeItemTypeEnum = NativeItemTypeEnum;
|
|
@@ -6851,11 +6801,9 @@ declare namespace index_d {
|
|
|
6851
6801
|
index_d_NFTContractType as NFTContractType,
|
|
6852
6802
|
index_d_NFTMetadataAttribute as NFTMetadataAttribute,
|
|
6853
6803
|
index_d_NFTMetadataAttributeValue as NFTMetadataAttributeValue,
|
|
6854
|
-
index_d_NFTMetadataAttributes as NFTMetadataAttributes,
|
|
6855
6804
|
index_d_NFTOwner as NFTOwner,
|
|
6856
6805
|
index_d_NFTSale as NFTSale,
|
|
6857
6806
|
index_d_NFTWithBalance as NFTWithBalance,
|
|
6858
|
-
index_d_NFTWithMetadataAttributes as NFTWithMetadataAttributes,
|
|
6859
6807
|
index_d_NFTWithOwner as NFTWithOwner,
|
|
6860
6808
|
index_d_NativeItem as NativeItem,
|
|
6861
6809
|
index_d_NativeItemTypeEnum as NativeItemTypeEnum,
|
package/dist/blockchain_data.js
CHANGED
|
@@ -747,6 +747,9 @@ const CollectionsApiAxiosParamCreator = function (configuration) {
|
|
|
747
747
|
const localVarQueryParameter = {};
|
|
748
748
|
// authentication ImmutableApiKey required
|
|
749
749
|
await setApiKeyToObject(localVarHeaderParameter, "x-immutable-api-key", configuration);
|
|
750
|
+
// authentication BearerAuth required
|
|
751
|
+
// http bearer authentication required
|
|
752
|
+
await setBearerAuthToObject(localVarHeaderParameter, configuration);
|
|
750
753
|
localVarHeaderParameter['Content-Type'] = 'application/json';
|
|
751
754
|
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
752
755
|
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
@@ -1746,13 +1749,14 @@ const NftsApiAxiosParamCreator = function (configuration) {
|
|
|
1746
1749
|
* @summary List NFTs by contract address
|
|
1747
1750
|
* @param {string} contractAddress Contract address
|
|
1748
1751
|
* @param {string} chainName The name of chain
|
|
1752
|
+
* @param {Array<string>} [tokenId] List of token IDs to filter by
|
|
1749
1753
|
* @param {string} [fromUpdatedAt] Datetime to use as the oldest updated timestamp
|
|
1750
1754
|
* @param {string} [pageCursor] Encoded page cursor to retrieve previous or next page. Use the value returned in the response.
|
|
1751
1755
|
* @param {number} [pageSize] Maximum number of items to return
|
|
1752
1756
|
* @param {*} [options] Override http request option.
|
|
1753
1757
|
* @throws {RequiredError}
|
|
1754
1758
|
*/
|
|
1755
|
-
listNFTs: async (contractAddress, chainName, fromUpdatedAt, pageCursor, pageSize, options = {}) => {
|
|
1759
|
+
listNFTs: async (contractAddress, chainName, tokenId, fromUpdatedAt, pageCursor, pageSize, options = {}) => {
|
|
1756
1760
|
// verify required parameter 'contractAddress' is not null or undefined
|
|
1757
1761
|
assertParamExists('listNFTs', 'contractAddress', contractAddress);
|
|
1758
1762
|
// verify required parameter 'chainName' is not null or undefined
|
|
@@ -1769,6 +1773,9 @@ const NftsApiAxiosParamCreator = function (configuration) {
|
|
|
1769
1773
|
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
|
|
1770
1774
|
const localVarHeaderParameter = {};
|
|
1771
1775
|
const localVarQueryParameter = {};
|
|
1776
|
+
if (tokenId) {
|
|
1777
|
+
localVarQueryParameter['token_id'] = tokenId;
|
|
1778
|
+
}
|
|
1772
1779
|
if (fromUpdatedAt !== undefined) {
|
|
1773
1780
|
localVarQueryParameter['from_updated_at'] = (fromUpdatedAt instanceof Date) ?
|
|
1774
1781
|
fromUpdatedAt.toISOString() :
|
|
@@ -1874,14 +1881,15 @@ const NftsApiFp = function (configuration) {
|
|
|
1874
1881
|
* @summary List NFTs by contract address
|
|
1875
1882
|
* @param {string} contractAddress Contract address
|
|
1876
1883
|
* @param {string} chainName The name of chain
|
|
1884
|
+
* @param {Array<string>} [tokenId] List of token IDs to filter by
|
|
1877
1885
|
* @param {string} [fromUpdatedAt] Datetime to use as the oldest updated timestamp
|
|
1878
1886
|
* @param {string} [pageCursor] Encoded page cursor to retrieve previous or next page. Use the value returned in the response.
|
|
1879
1887
|
* @param {number} [pageSize] Maximum number of items to return
|
|
1880
1888
|
* @param {*} [options] Override http request option.
|
|
1881
1889
|
* @throws {RequiredError}
|
|
1882
1890
|
*/
|
|
1883
|
-
async listNFTs(contractAddress, chainName, fromUpdatedAt, pageCursor, pageSize, options) {
|
|
1884
|
-
const localVarAxiosArgs = await localVarAxiosParamCreator.listNFTs(contractAddress, chainName, fromUpdatedAt, pageCursor, pageSize, options);
|
|
1891
|
+
async listNFTs(contractAddress, chainName, tokenId, fromUpdatedAt, pageCursor, pageSize, options) {
|
|
1892
|
+
const localVarAxiosArgs = await localVarAxiosParamCreator.listNFTs(contractAddress, chainName, tokenId, fromUpdatedAt, pageCursor, pageSize, options);
|
|
1885
1893
|
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
|
|
1886
1894
|
},
|
|
1887
1895
|
/**
|
|
@@ -1936,7 +1944,7 @@ const NftsApiFactory = function (configuration, basePath, axios) {
|
|
|
1936
1944
|
* @throws {RequiredError}
|
|
1937
1945
|
*/
|
|
1938
1946
|
listNFTs(requestParameters, options) {
|
|
1939
|
-
return localVarFp.listNFTs(requestParameters.contractAddress, requestParameters.chainName, requestParameters.fromUpdatedAt, requestParameters.pageCursor, requestParameters.pageSize, options).then((request) => request(axios, basePath));
|
|
1947
|
+
return localVarFp.listNFTs(requestParameters.contractAddress, requestParameters.chainName, requestParameters.tokenId, requestParameters.fromUpdatedAt, requestParameters.pageCursor, requestParameters.pageSize, options).then((request) => request(axios, basePath));
|
|
1940
1948
|
},
|
|
1941
1949
|
/**
|
|
1942
1950
|
* List NFTs by account address
|
|
@@ -1988,7 +1996,7 @@ class NftsApi extends BaseAPI {
|
|
|
1988
1996
|
* @memberof NftsApi
|
|
1989
1997
|
*/
|
|
1990
1998
|
listNFTs(requestParameters, options) {
|
|
1991
|
-
return NftsApiFp(this.configuration).listNFTs(requestParameters.contractAddress, requestParameters.chainName, requestParameters.fromUpdatedAt, requestParameters.pageCursor, requestParameters.pageSize, options).then((request) => request(this.axios, this.basePath));
|
|
1999
|
+
return NftsApiFp(this.configuration).listNFTs(requestParameters.contractAddress, requestParameters.chainName, requestParameters.tokenId, requestParameters.fromUpdatedAt, requestParameters.pageCursor, requestParameters.pageSize, options).then((request) => request(this.axios, this.basePath));
|
|
1992
2000
|
}
|
|
1993
2001
|
/**
|
|
1994
2002
|
* List NFTs by account address
|
|
@@ -4576,7 +4584,7 @@ const flattenProperties = (properties) => {
|
|
|
4576
4584
|
};
|
|
4577
4585
|
|
|
4578
4586
|
// WARNING: DO NOT CHANGE THE STRING BELOW. IT GETS REPLACED AT BUILD TIME.
|
|
4579
|
-
const SDK_VERSION = '1.
|
|
4587
|
+
const SDK_VERSION = '1.6.0-alpha.1';
|
|
4580
4588
|
const getReferrer = () => {
|
|
4581
4589
|
if (isNode()) {
|
|
4582
4590
|
return '';
|
|
@@ -4777,7 +4785,7 @@ class APIError extends Error {
|
|
|
4777
4785
|
|
|
4778
4786
|
/* eslint-disable implicit-arrow-linebreak */
|
|
4779
4787
|
const defaultHeaders = {
|
|
4780
|
-
sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.
|
|
4788
|
+
sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.6.0-alpha.1',
|
|
4781
4789
|
};
|
|
4782
4790
|
/**
|
|
4783
4791
|
* createAPIConfiguration to create a custom Configuration
|
|
@@ -0,0 +1 @@
|
|
|
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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e,C as t,E as s,u as a,V as o,S as n,a as r,b as i,j as d,B as c,c as E,H as R,s as p,U as S,d as u,F as A,e as l,v,i as T,N as w,L as O,f as _,g as y,h as N,k as P,I}from"./index-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};
|