@imtbl/sdk 0.1.7-alpha.1 → 0.1.7-alpha.3

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/index.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ var globalAxios = require('axios');
3
4
  var coreSdk = require('@imtbl/core-sdk');
4
- var guardian = require('@imtbl/guardian');
5
5
  var oidcClientTs = require('oidc-client-ts');
6
6
  var ethers = require('ethers');
7
7
  var magicSdk = require('magic-sdk');
@@ -36,7 +36,6 @@ function _interopNamespaceDefault(e) {
36
36
  return Object.freeze(n);
37
37
  }
38
38
 
39
- var guardian__namespace = /*#__PURE__*/_interopNamespaceDefault(guardian);
40
39
  var encUtils__namespace = /*#__PURE__*/_interopNamespaceDefault(encUtils);
41
40
 
42
41
  exports.Environment = void 0;
@@ -53,25 +52,1283 @@ class ImmutableConfiguration {
53
52
  }
54
53
  }
55
54
 
55
+ /* tslint:disable */
56
+ /* eslint-disable */
57
+ /**
58
+ * Immutable X API
59
+ * Immutable Multi Rollup API
60
+ *
61
+ * The version of the OpenAPI document: 1.0.0
62
+ * Contact: support@immutable.com
63
+ *
64
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
65
+ * https://openapi-generator.tech
66
+ * Do not edit the class manually.
67
+ */
68
+ // Some imports not used depending on template conditions
69
+ // @ts-ignore
70
+ const BASE_PATH = "https://indexer-mr.dev.imtbl.com".replace(/\/+$/, "");
71
+ /**
72
+ *
73
+ * @export
74
+ * @class BaseAPI
75
+ */
76
+ class BaseAPI {
77
+ basePath;
78
+ axios;
79
+ configuration;
80
+ constructor(configuration, basePath = BASE_PATH, axios = globalAxios) {
81
+ this.basePath = basePath;
82
+ this.axios = axios;
83
+ if (configuration) {
84
+ this.configuration = configuration;
85
+ this.basePath = configuration.basePath || this.basePath;
86
+ }
87
+ }
88
+ }
89
+ /**
90
+ *
91
+ * @export
92
+ * @class RequiredError
93
+ * @extends {Error}
94
+ */
95
+ class RequiredError extends Error {
96
+ field;
97
+ name = "RequiredError";
98
+ constructor(field, msg) {
99
+ super(msg);
100
+ this.field = field;
101
+ }
102
+ }
103
+
104
+ /* tslint:disable */
105
+ /* eslint-disable */
106
+ /**
107
+ * Immutable X API
108
+ * Immutable Multi Rollup API
109
+ *
110
+ * The version of the OpenAPI document: 1.0.0
111
+ * Contact: support@immutable.com
112
+ *
113
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
114
+ * https://openapi-generator.tech
115
+ * Do not edit the class manually.
116
+ */
117
+ /**
118
+ *
119
+ * @export
120
+ */
121
+ const DUMMY_BASE_URL = 'https://example.com';
122
+ /**
123
+ *
124
+ * @throws {RequiredError}
125
+ * @export
126
+ */
127
+ const assertParamExists = function (functionName, paramName, paramValue) {
128
+ if (paramValue === null || paramValue === undefined) {
129
+ throw new RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`);
130
+ }
131
+ };
132
+ function setFlattenedQueryParams(urlSearchParams, parameter, key = "") {
133
+ if (typeof parameter === "object") {
134
+ if (Array.isArray(parameter)) {
135
+ parameter.forEach(item => setFlattenedQueryParams(urlSearchParams, item, key));
136
+ }
137
+ else {
138
+ Object.keys(parameter).forEach(currentKey => setFlattenedQueryParams(urlSearchParams, parameter[currentKey], `${key}${key !== '' ? '.' : ''}${currentKey}`));
139
+ }
140
+ }
141
+ else {
142
+ if (urlSearchParams.has(key)) {
143
+ urlSearchParams.append(key, parameter);
144
+ }
145
+ else {
146
+ urlSearchParams.set(key, parameter);
147
+ }
148
+ }
149
+ }
150
+ /**
151
+ *
152
+ * @export
153
+ */
154
+ const setSearchParams = function (url, ...objects) {
155
+ const searchParams = new URLSearchParams(url.search);
156
+ setFlattenedQueryParams(searchParams, objects);
157
+ url.search = searchParams.toString();
158
+ };
159
+ /**
160
+ *
161
+ * @export
162
+ */
163
+ const toPathString = function (url) {
164
+ return url.pathname + url.search + url.hash;
165
+ };
166
+ /**
167
+ *
168
+ * @export
169
+ */
170
+ const createRequestFunction = function (axiosArgs, globalAxios, BASE_PATH, configuration) {
171
+ return (axios = globalAxios, basePath = BASE_PATH) => {
172
+ const axiosRequestArgs = { ...axiosArgs.options, url: (configuration?.basePath || basePath) + axiosArgs.url };
173
+ return axios.request(axiosRequestArgs);
174
+ };
175
+ };
176
+
177
+ /* tslint:disable */
178
+ /* eslint-disable */
179
+ /**
180
+ * Immutable X API
181
+ * Immutable Multi Rollup API
182
+ *
183
+ * The version of the OpenAPI document: 1.0.0
184
+ * Contact: support@immutable.com
185
+ *
186
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
187
+ * https://openapi-generator.tech
188
+ * Do not edit the class manually.
189
+ */
190
+ /**
191
+ * ActivitiesApi - axios parameter creator
192
+ * @export
193
+ */
194
+ const ActivitiesApiAxiosParamCreator = function (configuration) {
195
+ return {
196
+ /**
197
+ * Get a single activity by ID
198
+ * @summary Get a single activity by ID
199
+ * @param {string} chainName The name of chain
200
+ * @param {string} activityId The id of activity
201
+ * @param {*} [options] Override http request option.
202
+ * @throws {RequiredError}
203
+ */
204
+ getActivity: async (chainName, activityId, options = {}) => {
205
+ // verify required parameter 'chainName' is not null or undefined
206
+ assertParamExists('getActivity', 'chainName', chainName);
207
+ // verify required parameter 'activityId' is not null or undefined
208
+ assertParamExists('getActivity', 'activityId', activityId);
209
+ const localVarPath = `/v1/chains/{chain_name}/activities/{activity_id}`
210
+ .replace(`{${"chain_name"}}`, encodeURIComponent(String(chainName)))
211
+ .replace(`{${"activity_id"}}`, encodeURIComponent(String(activityId)));
212
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
213
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
214
+ let baseOptions;
215
+ if (configuration) {
216
+ baseOptions = configuration.baseOptions;
217
+ }
218
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
219
+ const localVarHeaderParameter = {};
220
+ const localVarQueryParameter = {};
221
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
222
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
223
+ localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
224
+ return {
225
+ url: toPathString(localVarUrlObj),
226
+ options: localVarRequestOptions,
227
+ };
228
+ },
229
+ /**
230
+ * List all activities
231
+ * @summary List all activities
232
+ * @param {string} chainName The name of chain
233
+ * @param {string} [contractAddress] The contract address of NFT or ERC20 Token
234
+ * @param {string} [tokenId] An `uint256` token id as string
235
+ * @param {string} [accountAddress] The account address activity contains
236
+ * @param {ActivityType} [activityType] The activity type
237
+ * @param {string} [fromIndexedAt] From indexed at including given date
238
+ * @param {string} [toIndexedAt] To indexed at including given date
239
+ * @param {string} [transactionHash] The transaction hash of activity
240
+ * @param {string} [pageCursor] Base64 encoded page cursor to retrieve previous or next page. Use the value returned in the response.
241
+ * @param {number} [pageSize] Maximum number of items to return
242
+ * @param {*} [options] Override http request option.
243
+ * @throws {RequiredError}
244
+ */
245
+ listActivities: async (chainName, contractAddress, tokenId, accountAddress, activityType, fromIndexedAt, toIndexedAt, transactionHash, pageCursor, pageSize, options = {}) => {
246
+ // verify required parameter 'chainName' is not null or undefined
247
+ assertParamExists('listActivities', 'chainName', chainName);
248
+ const localVarPath = `/v1/chains/{chain_name}/activities`
249
+ .replace(`{${"chain_name"}}`, encodeURIComponent(String(chainName)));
250
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
251
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
252
+ let baseOptions;
253
+ if (configuration) {
254
+ baseOptions = configuration.baseOptions;
255
+ }
256
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
257
+ const localVarHeaderParameter = {};
258
+ const localVarQueryParameter = {};
259
+ if (contractAddress !== undefined) {
260
+ localVarQueryParameter['contract_address'] = contractAddress;
261
+ }
262
+ if (tokenId !== undefined) {
263
+ localVarQueryParameter['token_id'] = tokenId;
264
+ }
265
+ if (accountAddress !== undefined) {
266
+ localVarQueryParameter['account_address'] = accountAddress;
267
+ }
268
+ if (activityType !== undefined) {
269
+ localVarQueryParameter['activity_type'] = activityType;
270
+ }
271
+ if (fromIndexedAt !== undefined) {
272
+ localVarQueryParameter['from_indexed_at'] = (fromIndexedAt instanceof Date) ?
273
+ fromIndexedAt.toISOString() :
274
+ fromIndexedAt;
275
+ }
276
+ if (toIndexedAt !== undefined) {
277
+ localVarQueryParameter['to_indexed_at'] = (toIndexedAt instanceof Date) ?
278
+ toIndexedAt.toISOString() :
279
+ toIndexedAt;
280
+ }
281
+ if (transactionHash !== undefined) {
282
+ localVarQueryParameter['transaction_hash'] = transactionHash;
283
+ }
284
+ if (pageCursor !== undefined) {
285
+ localVarQueryParameter['page_cursor'] = pageCursor;
286
+ }
287
+ if (pageSize !== undefined) {
288
+ localVarQueryParameter['page_size'] = pageSize;
289
+ }
290
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
291
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
292
+ localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
293
+ return {
294
+ url: toPathString(localVarUrlObj),
295
+ options: localVarRequestOptions,
296
+ };
297
+ },
298
+ };
299
+ };
300
+ /**
301
+ * ActivitiesApi - functional programming interface
302
+ * @export
303
+ */
304
+ const ActivitiesApiFp = function (configuration) {
305
+ const localVarAxiosParamCreator = ActivitiesApiAxiosParamCreator(configuration);
306
+ return {
307
+ /**
308
+ * Get a single activity by ID
309
+ * @summary Get a single activity by ID
310
+ * @param {string} chainName The name of chain
311
+ * @param {string} activityId The id of activity
312
+ * @param {*} [options] Override http request option.
313
+ * @throws {RequiredError}
314
+ */
315
+ async getActivity(chainName, activityId, options) {
316
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getActivity(chainName, activityId, options);
317
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
318
+ },
319
+ /**
320
+ * List all activities
321
+ * @summary List all activities
322
+ * @param {string} chainName The name of chain
323
+ * @param {string} [contractAddress] The contract address of NFT or ERC20 Token
324
+ * @param {string} [tokenId] An `uint256` token id as string
325
+ * @param {string} [accountAddress] The account address activity contains
326
+ * @param {ActivityType} [activityType] The activity type
327
+ * @param {string} [fromIndexedAt] From indexed at including given date
328
+ * @param {string} [toIndexedAt] To indexed at including given date
329
+ * @param {string} [transactionHash] The transaction hash of activity
330
+ * @param {string} [pageCursor] Base64 encoded page cursor to retrieve previous or next page. Use the value returned in the response.
331
+ * @param {number} [pageSize] Maximum number of items to return
332
+ * @param {*} [options] Override http request option.
333
+ * @throws {RequiredError}
334
+ */
335
+ async listActivities(chainName, contractAddress, tokenId, accountAddress, activityType, fromIndexedAt, toIndexedAt, transactionHash, pageCursor, pageSize, options) {
336
+ const localVarAxiosArgs = await localVarAxiosParamCreator.listActivities(chainName, contractAddress, tokenId, accountAddress, activityType, fromIndexedAt, toIndexedAt, transactionHash, pageCursor, pageSize, options);
337
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
338
+ },
339
+ };
340
+ };
341
+ /**
342
+ * ActivitiesApi - object-oriented interface
343
+ * @export
344
+ * @class ActivitiesApi
345
+ * @extends {BaseAPI}
346
+ */
347
+ class ActivitiesApi extends BaseAPI {
348
+ /**
349
+ * Get a single activity by ID
350
+ * @summary Get a single activity by ID
351
+ * @param {ActivitiesApiGetActivityRequest} requestParameters Request parameters.
352
+ * @param {*} [options] Override http request option.
353
+ * @throws {RequiredError}
354
+ * @memberof ActivitiesApi
355
+ */
356
+ getActivity(requestParameters, options) {
357
+ return ActivitiesApiFp(this.configuration).getActivity(requestParameters.chainName, requestParameters.activityId, options).then((request) => request(this.axios, this.basePath));
358
+ }
359
+ /**
360
+ * List all activities
361
+ * @summary List all activities
362
+ * @param {ActivitiesApiListActivitiesRequest} requestParameters Request parameters.
363
+ * @param {*} [options] Override http request option.
364
+ * @throws {RequiredError}
365
+ * @memberof ActivitiesApi
366
+ */
367
+ listActivities(requestParameters, options) {
368
+ return ActivitiesApiFp(this.configuration).listActivities(requestParameters.chainName, requestParameters.contractAddress, requestParameters.tokenId, requestParameters.accountAddress, requestParameters.activityType, requestParameters.fromIndexedAt, requestParameters.toIndexedAt, requestParameters.transactionHash, requestParameters.pageCursor, requestParameters.pageSize, options).then((request) => request(this.axios, this.basePath));
369
+ }
370
+ }
371
+
372
+ /* tslint:disable */
373
+ /* eslint-disable */
374
+ /**
375
+ * Immutable X API
376
+ * Immutable Multi Rollup API
377
+ *
378
+ * The version of the OpenAPI document: 1.0.0
379
+ * Contact: support@immutable.com
380
+ *
381
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
382
+ * https://openapi-generator.tech
383
+ * Do not edit the class manually.
384
+ */
385
+ /**
386
+ * ChainsApi - axios parameter creator
387
+ * @export
388
+ */
389
+ const ChainsApiAxiosParamCreator = function (configuration) {
390
+ return {
391
+ /**
392
+ * List supported chains
393
+ * @summary List supported chains
394
+ * @param {string} [pageCursor] Base64 encoded page cursor to retrieve previous or next page. Use the value returned in the response.
395
+ * @param {number} [pageSize] Maximum number of items to return
396
+ * @param {*} [options] Override http request option.
397
+ * @throws {RequiredError}
398
+ */
399
+ listChains: async (pageCursor, pageSize, options = {}) => {
400
+ const localVarPath = `/v1/chains`;
401
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
402
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
403
+ let baseOptions;
404
+ if (configuration) {
405
+ baseOptions = configuration.baseOptions;
406
+ }
407
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
408
+ const localVarHeaderParameter = {};
409
+ const localVarQueryParameter = {};
410
+ if (pageCursor !== undefined) {
411
+ localVarQueryParameter['page_cursor'] = pageCursor;
412
+ }
413
+ if (pageSize !== undefined) {
414
+ localVarQueryParameter['page_size'] = pageSize;
415
+ }
416
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
417
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
418
+ localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
419
+ return {
420
+ url: toPathString(localVarUrlObj),
421
+ options: localVarRequestOptions,
422
+ };
423
+ },
424
+ };
425
+ };
426
+ /**
427
+ * ChainsApi - functional programming interface
428
+ * @export
429
+ */
430
+ const ChainsApiFp = function (configuration) {
431
+ const localVarAxiosParamCreator = ChainsApiAxiosParamCreator(configuration);
432
+ return {
433
+ /**
434
+ * List supported chains
435
+ * @summary List supported chains
436
+ * @param {string} [pageCursor] Base64 encoded page cursor to retrieve previous or next page. Use the value returned in the response.
437
+ * @param {number} [pageSize] Maximum number of items to return
438
+ * @param {*} [options] Override http request option.
439
+ * @throws {RequiredError}
440
+ */
441
+ async listChains(pageCursor, pageSize, options) {
442
+ const localVarAxiosArgs = await localVarAxiosParamCreator.listChains(pageCursor, pageSize, options);
443
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
444
+ },
445
+ };
446
+ };
447
+ /**
448
+ * ChainsApi - object-oriented interface
449
+ * @export
450
+ * @class ChainsApi
451
+ * @extends {BaseAPI}
452
+ */
453
+ class ChainsApi extends BaseAPI {
454
+ /**
455
+ * List supported chains
456
+ * @summary List supported chains
457
+ * @param {ChainsApiListChainsRequest} requestParameters Request parameters.
458
+ * @param {*} [options] Override http request option.
459
+ * @throws {RequiredError}
460
+ * @memberof ChainsApi
461
+ */
462
+ listChains(requestParameters = {}, options) {
463
+ return ChainsApiFp(this.configuration).listChains(requestParameters.pageCursor, requestParameters.pageSize, options).then((request) => request(this.axios, this.basePath));
464
+ }
465
+ }
466
+
467
+ /* tslint:disable */
468
+ /* eslint-disable */
469
+ /**
470
+ * Immutable X API
471
+ * Immutable Multi Rollup API
472
+ *
473
+ * The version of the OpenAPI document: 1.0.0
474
+ * Contact: support@immutable.com
475
+ *
476
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
477
+ * https://openapi-generator.tech
478
+ * Do not edit the class manually.
479
+ */
480
+ /**
481
+ * CollectionsApi - axios parameter creator
482
+ * @export
483
+ */
484
+ const CollectionsApiAxiosParamCreator = function (configuration) {
485
+ return {
486
+ /**
487
+ * Get collection by contract address
488
+ * @summary Get collection by contract address
489
+ * @param {string} contractAddress The address contract
490
+ * @param {string} chainName The name of chain
491
+ * @param {*} [options] Override http request option.
492
+ * @throws {RequiredError}
493
+ */
494
+ getCollection: async (contractAddress, chainName, options = {}) => {
495
+ // verify required parameter 'contractAddress' is not null or undefined
496
+ assertParamExists('getCollection', 'contractAddress', contractAddress);
497
+ // verify required parameter 'chainName' is not null or undefined
498
+ assertParamExists('getCollection', 'chainName', chainName);
499
+ const localVarPath = `/v1/chains/{chain_name}/collections/{contract_address}`
500
+ .replace(`{${"contract_address"}}`, encodeURIComponent(String(contractAddress)))
501
+ .replace(`{${"chain_name"}}`, encodeURIComponent(String(chainName)));
502
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
503
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
504
+ let baseOptions;
505
+ if (configuration) {
506
+ baseOptions = configuration.baseOptions;
507
+ }
508
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
509
+ const localVarHeaderParameter = {};
510
+ const localVarQueryParameter = {};
511
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
512
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
513
+ localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
514
+ return {
515
+ url: toPathString(localVarUrlObj),
516
+ options: localVarRequestOptions,
517
+ };
518
+ },
519
+ /**
520
+ * List all collections
521
+ * @summary List all collections
522
+ * @param {string} chainName The name of chain
523
+ * @param {string} [pageCursor] Base64 encoded page cursor to retrieve previous or next page. Use the value returned in the response.
524
+ * @param {number} [pageSize] Maximum number of items to return
525
+ * @param {*} [options] Override http request option.
526
+ * @throws {RequiredError}
527
+ */
528
+ listCollections: async (chainName, pageCursor, pageSize, options = {}) => {
529
+ // verify required parameter 'chainName' is not null or undefined
530
+ assertParamExists('listCollections', 'chainName', chainName);
531
+ const localVarPath = `/v1/chains/{chain_name}/collections`
532
+ .replace(`{${"chain_name"}}`, encodeURIComponent(String(chainName)));
533
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
534
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
535
+ let baseOptions;
536
+ if (configuration) {
537
+ baseOptions = configuration.baseOptions;
538
+ }
539
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
540
+ const localVarHeaderParameter = {};
541
+ const localVarQueryParameter = {};
542
+ if (pageCursor !== undefined) {
543
+ localVarQueryParameter['page_cursor'] = pageCursor;
544
+ }
545
+ if (pageSize !== undefined) {
546
+ localVarQueryParameter['page_size'] = pageSize;
547
+ }
548
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
549
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
550
+ localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
551
+ return {
552
+ url: toPathString(localVarUrlObj),
553
+ options: localVarRequestOptions,
554
+ };
555
+ },
556
+ };
557
+ };
558
+ /**
559
+ * CollectionsApi - functional programming interface
560
+ * @export
561
+ */
562
+ const CollectionsApiFp = function (configuration) {
563
+ const localVarAxiosParamCreator = CollectionsApiAxiosParamCreator(configuration);
564
+ return {
565
+ /**
566
+ * Get collection by contract address
567
+ * @summary Get collection by contract address
568
+ * @param {string} contractAddress The address contract
569
+ * @param {string} chainName The name of chain
570
+ * @param {*} [options] Override http request option.
571
+ * @throws {RequiredError}
572
+ */
573
+ async getCollection(contractAddress, chainName, options) {
574
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getCollection(contractAddress, chainName, options);
575
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
576
+ },
577
+ /**
578
+ * List all collections
579
+ * @summary List all collections
580
+ * @param {string} chainName The name of chain
581
+ * @param {string} [pageCursor] Base64 encoded page cursor to retrieve previous or next page. Use the value returned in the response.
582
+ * @param {number} [pageSize] Maximum number of items to return
583
+ * @param {*} [options] Override http request option.
584
+ * @throws {RequiredError}
585
+ */
586
+ async listCollections(chainName, pageCursor, pageSize, options) {
587
+ const localVarAxiosArgs = await localVarAxiosParamCreator.listCollections(chainName, pageCursor, pageSize, options);
588
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
589
+ },
590
+ };
591
+ };
592
+ /**
593
+ * CollectionsApi - object-oriented interface
594
+ * @export
595
+ * @class CollectionsApi
596
+ * @extends {BaseAPI}
597
+ */
598
+ class CollectionsApi extends BaseAPI {
599
+ /**
600
+ * Get collection by contract address
601
+ * @summary Get collection by contract address
602
+ * @param {CollectionsApiGetCollectionRequest} requestParameters Request parameters.
603
+ * @param {*} [options] Override http request option.
604
+ * @throws {RequiredError}
605
+ * @memberof CollectionsApi
606
+ */
607
+ getCollection(requestParameters, options) {
608
+ return CollectionsApiFp(this.configuration).getCollection(requestParameters.contractAddress, requestParameters.chainName, options).then((request) => request(this.axios, this.basePath));
609
+ }
610
+ /**
611
+ * List all collections
612
+ * @summary List all collections
613
+ * @param {CollectionsApiListCollectionsRequest} requestParameters Request parameters.
614
+ * @param {*} [options] Override http request option.
615
+ * @throws {RequiredError}
616
+ * @memberof CollectionsApi
617
+ */
618
+ listCollections(requestParameters, options) {
619
+ return CollectionsApiFp(this.configuration).listCollections(requestParameters.chainName, requestParameters.pageCursor, requestParameters.pageSize, options).then((request) => request(this.axios, this.basePath));
620
+ }
621
+ }
622
+
623
+ /* tslint:disable */
624
+ /* eslint-disable */
625
+ /**
626
+ * Immutable X API
627
+ * Immutable Multi Rollup API
628
+ *
629
+ * The version of the OpenAPI document: 1.0.0
630
+ * Contact: support@immutable.com
631
+ *
632
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
633
+ * https://openapi-generator.tech
634
+ * Do not edit the class manually.
635
+ */
636
+ /**
637
+ * NftOwnersApi - axios parameter creator
638
+ * @export
639
+ */
640
+ const NftOwnersApiAxiosParamCreator = function (configuration) {
641
+ return {
642
+ /**
643
+ * List NFT owners by token ID
644
+ * @summary List NFT owners by token ID
645
+ * @param {string} contractAddress The address of contract
646
+ * @param {string} tokenId An `uint256` token id as string
647
+ * @param {string} chainName The name of chain
648
+ * @param {string} [pageCursor] Base64 encoded page cursor to retrieve previous or next page. Use the value returned in the response.
649
+ * @param {number} [pageSize] Maximum number of items to return
650
+ * @param {*} [options] Override http request option.
651
+ * @throws {RequiredError}
652
+ */
653
+ listNFTOwners: async (contractAddress, tokenId, chainName, pageCursor, pageSize, options = {}) => {
654
+ // verify required parameter 'contractAddress' is not null or undefined
655
+ assertParamExists('listNFTOwners', 'contractAddress', contractAddress);
656
+ // verify required parameter 'tokenId' is not null or undefined
657
+ assertParamExists('listNFTOwners', 'tokenId', tokenId);
658
+ // verify required parameter 'chainName' is not null or undefined
659
+ assertParamExists('listNFTOwners', 'chainName', chainName);
660
+ const localVarPath = `/v1/chains/{chain_name}/collections/{contract_address}/nfts/{token_id}/owners`
661
+ .replace(`{${"contract_address"}}`, encodeURIComponent(String(contractAddress)))
662
+ .replace(`{${"token_id"}}`, encodeURIComponent(String(tokenId)))
663
+ .replace(`{${"chain_name"}}`, encodeURIComponent(String(chainName)));
664
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
665
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
666
+ let baseOptions;
667
+ if (configuration) {
668
+ baseOptions = configuration.baseOptions;
669
+ }
670
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
671
+ const localVarHeaderParameter = {};
672
+ const localVarQueryParameter = {};
673
+ if (pageCursor !== undefined) {
674
+ localVarQueryParameter['page_cursor'] = pageCursor;
675
+ }
676
+ if (pageSize !== undefined) {
677
+ localVarQueryParameter['page_size'] = pageSize;
678
+ }
679
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
680
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
681
+ localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
682
+ return {
683
+ url: toPathString(localVarUrlObj),
684
+ options: localVarRequestOptions,
685
+ };
686
+ },
687
+ };
688
+ };
689
+ /**
690
+ * NftOwnersApi - functional programming interface
691
+ * @export
692
+ */
693
+ const NftOwnersApiFp = function (configuration) {
694
+ const localVarAxiosParamCreator = NftOwnersApiAxiosParamCreator(configuration);
695
+ return {
696
+ /**
697
+ * List NFT owners by token ID
698
+ * @summary List NFT owners by token ID
699
+ * @param {string} contractAddress The address of contract
700
+ * @param {string} tokenId An `uint256` token id as string
701
+ * @param {string} chainName The name of chain
702
+ * @param {string} [pageCursor] Base64 encoded page cursor to retrieve previous or next page. Use the value returned in the response.
703
+ * @param {number} [pageSize] Maximum number of items to return
704
+ * @param {*} [options] Override http request option.
705
+ * @throws {RequiredError}
706
+ */
707
+ async listNFTOwners(contractAddress, tokenId, chainName, pageCursor, pageSize, options) {
708
+ const localVarAxiosArgs = await localVarAxiosParamCreator.listNFTOwners(contractAddress, tokenId, chainName, pageCursor, pageSize, options);
709
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
710
+ },
711
+ };
712
+ };
713
+ /**
714
+ * NftOwnersApi - object-oriented interface
715
+ * @export
716
+ * @class NftOwnersApi
717
+ * @extends {BaseAPI}
718
+ */
719
+ class NftOwnersApi extends BaseAPI {
720
+ /**
721
+ * List NFT owners by token ID
722
+ * @summary List NFT owners by token ID
723
+ * @param {NftOwnersApiListNFTOwnersRequest} requestParameters Request parameters.
724
+ * @param {*} [options] Override http request option.
725
+ * @throws {RequiredError}
726
+ * @memberof NftOwnersApi
727
+ */
728
+ listNFTOwners(requestParameters, options) {
729
+ return NftOwnersApiFp(this.configuration).listNFTOwners(requestParameters.contractAddress, requestParameters.tokenId, requestParameters.chainName, requestParameters.pageCursor, requestParameters.pageSize, options).then((request) => request(this.axios, this.basePath));
730
+ }
731
+ }
732
+
733
+ /* tslint:disable */
734
+ /* eslint-disable */
735
+ /**
736
+ * Immutable X API
737
+ * Immutable Multi Rollup API
738
+ *
739
+ * The version of the OpenAPI document: 1.0.0
740
+ * Contact: support@immutable.com
741
+ *
742
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
743
+ * https://openapi-generator.tech
744
+ * Do not edit the class manually.
745
+ */
746
+ /**
747
+ * NftsApi - axios parameter creator
748
+ * @export
749
+ */
750
+ const NftsApiAxiosParamCreator = function (configuration) {
751
+ return {
752
+ /**
753
+ * Get NFT by token ID
754
+ * @summary Get NFT by token ID
755
+ * @param {string} contractAddress The address of NFT contract
756
+ * @param {string} tokenId An `uint256` token id as string
757
+ * @param {string} chainName The name of chain
758
+ * @param {*} [options] Override http request option.
759
+ * @throws {RequiredError}
760
+ */
761
+ getNFT: async (contractAddress, tokenId, chainName, options = {}) => {
762
+ // verify required parameter 'contractAddress' is not null or undefined
763
+ assertParamExists('getNFT', 'contractAddress', contractAddress);
764
+ // verify required parameter 'tokenId' is not null or undefined
765
+ assertParamExists('getNFT', 'tokenId', tokenId);
766
+ // verify required parameter 'chainName' is not null or undefined
767
+ assertParamExists('getNFT', 'chainName', chainName);
768
+ const localVarPath = `/v1/chains/{chain_name}/collections/{contract_address}/nfts/{token_id}`
769
+ .replace(`{${"contract_address"}}`, encodeURIComponent(String(contractAddress)))
770
+ .replace(`{${"token_id"}}`, encodeURIComponent(String(tokenId)))
771
+ .replace(`{${"chain_name"}}`, encodeURIComponent(String(chainName)));
772
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
773
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
774
+ let baseOptions;
775
+ if (configuration) {
776
+ baseOptions = configuration.baseOptions;
777
+ }
778
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
779
+ const localVarHeaderParameter = {};
780
+ const localVarQueryParameter = {};
781
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
782
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
783
+ localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
784
+ return {
785
+ url: toPathString(localVarUrlObj),
786
+ options: localVarRequestOptions,
787
+ };
788
+ },
789
+ /**
790
+ * List NFTs by contract address
791
+ * @summary List NFTs by contract address
792
+ * @param {string} contractAddress Contract address
793
+ * @param {string} chainName The name of chain
794
+ * @param {string} [pageCursor] Base64 encoded page cursor to retrieve previous or next page. Use the value returned in the response.
795
+ * @param {number} [pageSize] Maximum number of items to return
796
+ * @param {*} [options] Override http request option.
797
+ * @throws {RequiredError}
798
+ */
799
+ listNFTs: async (contractAddress, chainName, pageCursor, pageSize, options = {}) => {
800
+ // verify required parameter 'contractAddress' is not null or undefined
801
+ assertParamExists('listNFTs', 'contractAddress', contractAddress);
802
+ // verify required parameter 'chainName' is not null or undefined
803
+ assertParamExists('listNFTs', 'chainName', chainName);
804
+ const localVarPath = `/v1/chains/{chain_name}/collections/{contract_address}/nfts`
805
+ .replace(`{${"contract_address"}}`, encodeURIComponent(String(contractAddress)))
806
+ .replace(`{${"chain_name"}}`, encodeURIComponent(String(chainName)));
807
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
808
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
809
+ let baseOptions;
810
+ if (configuration) {
811
+ baseOptions = configuration.baseOptions;
812
+ }
813
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
814
+ const localVarHeaderParameter = {};
815
+ const localVarQueryParameter = {};
816
+ if (pageCursor !== undefined) {
817
+ localVarQueryParameter['page_cursor'] = pageCursor;
818
+ }
819
+ if (pageSize !== undefined) {
820
+ localVarQueryParameter['page_size'] = pageSize;
821
+ }
822
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
823
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
824
+ localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
825
+ return {
826
+ url: toPathString(localVarUrlObj),
827
+ options: localVarRequestOptions,
828
+ };
829
+ },
830
+ /**
831
+ * List NFTs by account address
832
+ * @summary List NFTs by account address
833
+ * @param {string} accountAddress Account address
834
+ * @param {string} chainName The name of chain
835
+ * @param {string} [contractAddress] The address of contract
836
+ * @param {string} [pageCursor] Base64 encoded page cursor to retrieve previous or next page. Use the value returned in the response.
837
+ * @param {number} [pageSize] Maximum number of items to return
838
+ * @param {*} [options] Override http request option.
839
+ * @throws {RequiredError}
840
+ */
841
+ listNFTsByAccountAddress: async (accountAddress, chainName, contractAddress, pageCursor, pageSize, options = {}) => {
842
+ // verify required parameter 'accountAddress' is not null or undefined
843
+ assertParamExists('listNFTsByAccountAddress', 'accountAddress', accountAddress);
844
+ // verify required parameter 'chainName' is not null or undefined
845
+ assertParamExists('listNFTsByAccountAddress', 'chainName', chainName);
846
+ const localVarPath = `/v1/chains/{chain_name}/accounts/{account_address}/nfts`
847
+ .replace(`{${"account_address"}}`, encodeURIComponent(String(accountAddress)))
848
+ .replace(`{${"chain_name"}}`, encodeURIComponent(String(chainName)));
849
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
850
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
851
+ let baseOptions;
852
+ if (configuration) {
853
+ baseOptions = configuration.baseOptions;
854
+ }
855
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
856
+ const localVarHeaderParameter = {};
857
+ const localVarQueryParameter = {};
858
+ if (contractAddress !== undefined) {
859
+ localVarQueryParameter['contract_address'] = contractAddress;
860
+ }
861
+ if (pageCursor !== undefined) {
862
+ localVarQueryParameter['page_cursor'] = pageCursor;
863
+ }
864
+ if (pageSize !== undefined) {
865
+ localVarQueryParameter['page_size'] = pageSize;
866
+ }
867
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
868
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
869
+ localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
870
+ return {
871
+ url: toPathString(localVarUrlObj),
872
+ options: localVarRequestOptions,
873
+ };
874
+ },
875
+ };
876
+ };
877
+ /**
878
+ * NftsApi - functional programming interface
879
+ * @export
880
+ */
881
+ const NftsApiFp = function (configuration) {
882
+ const localVarAxiosParamCreator = NftsApiAxiosParamCreator(configuration);
883
+ return {
884
+ /**
885
+ * Get NFT by token ID
886
+ * @summary Get NFT by token ID
887
+ * @param {string} contractAddress The address of NFT contract
888
+ * @param {string} tokenId An `uint256` token id as string
889
+ * @param {string} chainName The name of chain
890
+ * @param {*} [options] Override http request option.
891
+ * @throws {RequiredError}
892
+ */
893
+ async getNFT(contractAddress, tokenId, chainName, options) {
894
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getNFT(contractAddress, tokenId, chainName, options);
895
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
896
+ },
897
+ /**
898
+ * List NFTs by contract address
899
+ * @summary List NFTs by contract address
900
+ * @param {string} contractAddress Contract address
901
+ * @param {string} chainName The name of chain
902
+ * @param {string} [pageCursor] Base64 encoded page cursor to retrieve previous or next page. Use the value returned in the response.
903
+ * @param {number} [pageSize] Maximum number of items to return
904
+ * @param {*} [options] Override http request option.
905
+ * @throws {RequiredError}
906
+ */
907
+ async listNFTs(contractAddress, chainName, pageCursor, pageSize, options) {
908
+ const localVarAxiosArgs = await localVarAxiosParamCreator.listNFTs(contractAddress, chainName, pageCursor, pageSize, options);
909
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
910
+ },
911
+ /**
912
+ * List NFTs by account address
913
+ * @summary List NFTs by account address
914
+ * @param {string} accountAddress Account address
915
+ * @param {string} chainName The name of chain
916
+ * @param {string} [contractAddress] The address of contract
917
+ * @param {string} [pageCursor] Base64 encoded page cursor to retrieve previous or next page. Use the value returned in the response.
918
+ * @param {number} [pageSize] Maximum number of items to return
919
+ * @param {*} [options] Override http request option.
920
+ * @throws {RequiredError}
921
+ */
922
+ async listNFTsByAccountAddress(accountAddress, chainName, contractAddress, pageCursor, pageSize, options) {
923
+ const localVarAxiosArgs = await localVarAxiosParamCreator.listNFTsByAccountAddress(accountAddress, chainName, contractAddress, pageCursor, pageSize, options);
924
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
925
+ },
926
+ };
927
+ };
928
+ /**
929
+ * NftsApi - object-oriented interface
930
+ * @export
931
+ * @class NftsApi
932
+ * @extends {BaseAPI}
933
+ */
934
+ class NftsApi extends BaseAPI {
935
+ /**
936
+ * Get NFT by token ID
937
+ * @summary Get NFT by token ID
938
+ * @param {NftsApiGetNFTRequest} requestParameters Request parameters.
939
+ * @param {*} [options] Override http request option.
940
+ * @throws {RequiredError}
941
+ * @memberof NftsApi
942
+ */
943
+ getNFT(requestParameters, options) {
944
+ return NftsApiFp(this.configuration).getNFT(requestParameters.contractAddress, requestParameters.tokenId, requestParameters.chainName, options).then((request) => request(this.axios, this.basePath));
945
+ }
946
+ /**
947
+ * List NFTs by contract address
948
+ * @summary List NFTs by contract address
949
+ * @param {NftsApiListNFTsRequest} requestParameters Request parameters.
950
+ * @param {*} [options] Override http request option.
951
+ * @throws {RequiredError}
952
+ * @memberof NftsApi
953
+ */
954
+ listNFTs(requestParameters, options) {
955
+ return NftsApiFp(this.configuration).listNFTs(requestParameters.contractAddress, requestParameters.chainName, requestParameters.pageCursor, requestParameters.pageSize, options).then((request) => request(this.axios, this.basePath));
956
+ }
957
+ /**
958
+ * List NFTs by account address
959
+ * @summary List NFTs by account address
960
+ * @param {NftsApiListNFTsByAccountAddressRequest} requestParameters Request parameters.
961
+ * @param {*} [options] Override http request option.
962
+ * @throws {RequiredError}
963
+ * @memberof NftsApi
964
+ */
965
+ listNFTsByAccountAddress(requestParameters, options) {
966
+ return NftsApiFp(this.configuration).listNFTsByAccountAddress(requestParameters.accountAddress, requestParameters.chainName, requestParameters.contractAddress, requestParameters.pageCursor, requestParameters.pageSize, options).then((request) => request(this.axios, this.basePath));
967
+ }
968
+ }
969
+
970
+ /* tslint:disable */
971
+ /* eslint-disable */
972
+ /**
973
+ * Immutable X API
974
+ * Immutable Multi Rollup API
975
+ *
976
+ * The version of the OpenAPI document: 1.0.0
977
+ * Contact: support@immutable.com
978
+ *
979
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
980
+ * https://openapi-generator.tech
981
+ * Do not edit the class manually.
982
+ */
983
+ class Configuration {
984
+ /**
985
+ * parameter for apiKey security
986
+ * @param name security name
987
+ * @memberof Configuration
988
+ */
989
+ apiKey;
990
+ /**
991
+ * parameter for basic security
992
+ *
993
+ * @type {string}
994
+ * @memberof Configuration
995
+ */
996
+ username;
997
+ /**
998
+ * parameter for basic security
999
+ *
1000
+ * @type {string}
1001
+ * @memberof Configuration
1002
+ */
1003
+ password;
1004
+ /**
1005
+ * parameter for oauth2 security
1006
+ * @param name security name
1007
+ * @param scopes oauth2 scope
1008
+ * @memberof Configuration
1009
+ */
1010
+ accessToken;
1011
+ /**
1012
+ * override base path
1013
+ *
1014
+ * @type {string}
1015
+ * @memberof Configuration
1016
+ */
1017
+ basePath;
1018
+ /**
1019
+ * base options for axios calls
1020
+ *
1021
+ * @type {any}
1022
+ * @memberof Configuration
1023
+ */
1024
+ baseOptions;
1025
+ /**
1026
+ * The FormData constructor that will be used to create multipart form data
1027
+ * requests. You can inject this here so that execution environments that
1028
+ * do not support the FormData class can still run the generated client.
1029
+ *
1030
+ * @type {new () => FormData}
1031
+ */
1032
+ formDataCtor;
1033
+ constructor(param = {}) {
1034
+ this.apiKey = param.apiKey;
1035
+ this.username = param.username;
1036
+ this.password = param.password;
1037
+ this.accessToken = param.accessToken;
1038
+ this.basePath = param.basePath;
1039
+ this.baseOptions = param.baseOptions;
1040
+ this.formDataCtor = param.formDataCtor;
1041
+ }
1042
+ /**
1043
+ * Check if the given MIME is a JSON MIME.
1044
+ * JSON MIME examples:
1045
+ * application/json
1046
+ * application/json; charset=UTF8
1047
+ * APPLICATION/JSON
1048
+ * application/vnd.company+json
1049
+ * @param mime - MIME (Multipurpose Internet Mail Extensions)
1050
+ * @return True if the given MIME is JSON, false otherwise.
1051
+ */
1052
+ isJsonMime(mime) {
1053
+ const jsonMime = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i');
1054
+ return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');
1055
+ }
1056
+ }
1057
+
1058
+ /* eslint-disable implicit-arrow-linebreak */
1059
+ const defaultHeaders = {
1060
+ sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-__SDK_VERSION__',
1061
+ };
56
1062
  /**
57
- * Set `sdkVersion` on config
1063
+ * createAPIConfiguration to create a custom APIConfiguration
1064
+ * other than the production and sandbox defined below.
58
1065
  */
59
- const production = () => coreSdk.Config.createConfig({
1066
+ const createAPIConfiguration = ({ basePath, headers: baseHeaders, }) => {
1067
+ if (!basePath.trim()) {
1068
+ throw Error('basePath can not be empty');
1069
+ }
1070
+ const headers = { ...(baseHeaders || {}), ...defaultHeaders };
1071
+ const configParams = {
1072
+ basePath,
1073
+ baseOptions: { headers },
1074
+ };
1075
+ return new Configuration(configParams);
1076
+ };
1077
+ const production$1 = () => createAPIConfiguration({
1078
+ basePath: 'https://indexer-mr.dev.imtbl.com/v1', // TODO update before mainnet release
1079
+ });
1080
+ const sandbox$1 = () => createAPIConfiguration({
1081
+ basePath: 'https://indexer-mr.dev.imtbl.com/v1', // TODO update before testnet release
1082
+ });
1083
+ class BlockchainDataConfiguration {
1084
+ apiConfig;
1085
+ baseConfig;
1086
+ constructor({ baseConfig, overrides }) {
1087
+ this.baseConfig = baseConfig;
1088
+ if (overrides) {
1089
+ this.apiConfig = createAPIConfiguration(overrides);
1090
+ }
1091
+ else {
1092
+ switch (baseConfig.environment) {
1093
+ case exports.Environment.SANDBOX: {
1094
+ this.apiConfig = sandbox$1();
1095
+ break;
1096
+ }
1097
+ case exports.Environment.PRODUCTION: {
1098
+ this.apiConfig = production$1();
1099
+ break;
1100
+ }
1101
+ default: {
1102
+ this.apiConfig = sandbox$1();
1103
+ }
1104
+ }
1105
+ }
1106
+ }
1107
+ }
1108
+
1109
+ /**
1110
+ * Custom Error class that is returned from the API when a request fails
1111
+ */
1112
+ class APIError extends Error {
1113
+ code;
1114
+ details;
1115
+ link;
1116
+ traceId;
1117
+ constructor({ message, code, details, link, trace_id: traceId, }) {
1118
+ super(message);
1119
+ this.code = code;
1120
+ this.details = details;
1121
+ this.link = link;
1122
+ this.traceId = traceId;
1123
+ }
1124
+ }
1125
+
1126
+ /* eslint-disable @typescript-eslint/naming-convention */
1127
+ /**
1128
+ * [Formats an error in the APIError shape](https://axios-http.com/docs/handling_errors)
1129
+ * @param error - The Error object thrown by the request
1130
+ * @returns APIError
1131
+ */
1132
+ function formatError(error) {
1133
+ if (globalAxios.isAxiosError(error) && error.response) {
1134
+ const apiError = error.response.data;
1135
+ if (apiError.code && apiError.message) {
1136
+ return new APIError({
1137
+ code: apiError.code,
1138
+ message: apiError.message,
1139
+ details: apiError.details || null,
1140
+ link: apiError.link || '',
1141
+ trace_id: apiError.trace_id || '',
1142
+ });
1143
+ }
1144
+ return new APIError({
1145
+ code: error.code ?? error.response?.status.toString() ?? 'unknown_error_code',
1146
+ message: String(error),
1147
+ details: null,
1148
+ link: '',
1149
+ trace_id: '',
1150
+ });
1151
+ }
1152
+ return new APIError({
1153
+ code: 'unknown_error_code',
1154
+ message: String(error),
1155
+ details: null,
1156
+ link: '',
1157
+ trace_id: '',
1158
+ });
1159
+ }
1160
+
1161
+ class BlockchainData {
1162
+ config;
1163
+ activities;
1164
+ chains;
1165
+ collections;
1166
+ nfts;
1167
+ nftOwners;
1168
+ constructor(moduleConfig) {
1169
+ this.config = new BlockchainDataConfiguration(moduleConfig);
1170
+ this.activities = new ActivitiesApi(this.config.apiConfig);
1171
+ this.chains = new ChainsApi(this.config.apiConfig);
1172
+ this.collections = new CollectionsApi(this.config.apiConfig);
1173
+ this.nfts = new NftsApi(this.config.apiConfig);
1174
+ this.nftOwners = new NftOwnersApi(this.config.apiConfig);
1175
+ }
1176
+ /**
1177
+ * List all activities
1178
+ * @param request - the request object containing the parameters to be provided in the API request
1179
+ * @returns a promise that resolves with a list of activities
1180
+ * @throws {@link index.APIError}
1181
+ */
1182
+ async listActivities(request) {
1183
+ return await this.activities
1184
+ .listActivities(request)
1185
+ .then((res) => res.data)
1186
+ .catch((err) => {
1187
+ throw formatError(err);
1188
+ });
1189
+ }
1190
+ /**
1191
+ * Get a single activity by ID
1192
+ * @param request - the request object containing the parameters to be provided in the API request
1193
+ * @returns a promise that resolves with a single activity
1194
+ * @throws {@link index.APIError}
1195
+ */
1196
+ async getActivity(request) {
1197
+ return await this.activities
1198
+ .getActivity(request)
1199
+ .then((res) => res.data)
1200
+ .catch((err) => {
1201
+ throw formatError(err);
1202
+ });
1203
+ }
1204
+ /**
1205
+ * List supported chains
1206
+ * @param request - the request object containing the parameters to be provided in the API request
1207
+ * @returns a promise that resolves with a list of supported chains
1208
+ * @throws {@link index.APIError}
1209
+ */
1210
+ async listChains(request) {
1211
+ return await this.chains
1212
+ .listChains(request)
1213
+ .then((res) => res.data)
1214
+ .catch((err) => {
1215
+ throw formatError(err);
1216
+ });
1217
+ }
1218
+ /**
1219
+ * List all collections
1220
+ * @param request - the request object containing the parameters to be provided in the API request
1221
+ * @returns a promise that resolves with a list of collections
1222
+ * @throws {@link index.APIError}
1223
+ */
1224
+ async listCollections(request) {
1225
+ return await this.collections
1226
+ .listCollections(request)
1227
+ .then((res) => res.data)
1228
+ .catch((err) => {
1229
+ throw formatError(err);
1230
+ });
1231
+ }
1232
+ /**
1233
+ * Get collection by contract address
1234
+ * @param request - the request object containing the parameters to be provided in the API request
1235
+ * @returns a promise that resolves with a single collection
1236
+ * @throws {@link index.APIError}
1237
+ */
1238
+ async getCollection(request) {
1239
+ return await this.collections
1240
+ .getCollection(request)
1241
+ .then((res) => res.data)
1242
+ .catch((err) => {
1243
+ throw formatError(err);
1244
+ });
1245
+ }
1246
+ /**
1247
+ * Get NFT by token ID
1248
+ * @param request - the request object containing the parameters to be provided in the API request
1249
+ * @returns a promise that resolves with a single NFT
1250
+ * @throws {@link index.APIError}
1251
+ */
1252
+ async getNFT(request) {
1253
+ return await this.nfts
1254
+ .getNFT(request)
1255
+ .then((res) => res.data)
1256
+ .catch((err) => {
1257
+ throw formatError(err);
1258
+ });
1259
+ }
1260
+ /**
1261
+ * List NFTs by contract address
1262
+ * @param request - the request object containing the parameters to be provided in the API request
1263
+ * @returns a promise that resolves with a list of NFTs
1264
+ * @throws {@link index.APIError}
1265
+ */
1266
+ async listNFTs(request) {
1267
+ return await this.nfts
1268
+ .listNFTs(request)
1269
+ .then((res) => res.data)
1270
+ .catch((err) => {
1271
+ throw formatError(err);
1272
+ });
1273
+ }
1274
+ /**
1275
+ * List NFTs by account address
1276
+ * @param request - the request object containing the parameters to be provided in the API request
1277
+ * @returns a promise that resolves with a list of NFTs
1278
+ * @throws {@link index.APIError}
1279
+ */
1280
+ async listNFTsByAccountAddress(request) {
1281
+ return await this.nfts
1282
+ .listNFTsByAccountAddress(request)
1283
+ .then((res) => res.data)
1284
+ .catch((err) => {
1285
+ throw formatError(err);
1286
+ });
1287
+ }
1288
+ /**
1289
+ * List NFT owners by token ID
1290
+ * @param request - the request object containing the parameters to be provided in the API request
1291
+ * @returns a promise that resolves with a list of NFT owners
1292
+ * @throws {@link index.APIError}
1293
+ */
1294
+ async listNFTOwners(request) {
1295
+ return await this.nftOwners
1296
+ .listNFTOwners(request)
1297
+ .then((res) => res.data)
1298
+ .catch((err) => {
1299
+ throw formatError(err);
1300
+ });
1301
+ }
1302
+ }
1303
+
1304
+ /**
1305
+ * createImmutableXConfiguration to create a custom ImmutableXConfiguration
1306
+ * other than the production and sandbox defined below.
1307
+ */
1308
+ const createImmutableXConfiguration = ({ basePath, chainID, coreContractAddress, registrationContractAddress, }) => coreSdk.Config.createConfig({
1309
+ basePath,
1310
+ chainID,
1311
+ coreContractAddress,
1312
+ registrationContractAddress,
1313
+ sdkVersion: 'ts-immutable-sdk-__SDK_VERSION__',
1314
+ });
1315
+ /**
1316
+ * Sets `sdkVersion` at the time of build
1317
+ */
1318
+ const production = () => createImmutableXConfiguration({
60
1319
  basePath: 'https://api.x.immutable.com',
61
1320
  chainID: 1,
62
1321
  coreContractAddress: '0x5FDCCA53617f4d2b9134B29090C87D01058e27e9',
63
1322
  registrationContractAddress: '0x72a06bf2a1CE5e39cBA06c0CAb824960B587d64c',
64
- sdkVersion: 'ts-immutable-sdk-__SDK_VERSION__',
65
1323
  });
66
1324
  /**
67
- * Set `sdkVersion` on config
1325
+ * Sets `sdkVersion` at the time of build
68
1326
  */
69
- const sandbox = () => coreSdk.Config.createConfig({
1327
+ const sandbox = () => createImmutableXConfiguration({
70
1328
  basePath: 'https://api.sandbox.x.immutable.com',
71
1329
  chainID: 5,
72
1330
  coreContractAddress: '0x7917eDb51ecD6CdB3F9854c3cc593F33de10c623',
73
1331
  registrationContractAddress: '0x1C97Ada273C9A52253f463042f29117090Cd7D83',
74
- sdkVersion: 'ts-immutable-sdk-__SDK_VERSION__',
75
1332
  });
76
1333
  class ImxConfiguration {
77
1334
  immutableXConfig;
@@ -820,25 +2077,13 @@ var SendMessage;
820
2077
  })(SendMessage || (SendMessage = {}));
821
2078
  var TransactionTypes;
822
2079
  (function (TransactionTypes) {
823
- // TODO: remove this once the naming has been fixed
824
- // eslint-disable-next-line @typescript-eslint/naming-convention
825
- TransactionTypes["CancelOrder"] = "delete:v1/orders";
826
- // TODO: remove this once the naming has been fixed
827
- // eslint-disable-next-line @typescript-eslint/naming-convention
828
- TransactionTypes["CreateOrder"] = "post:v1/orders";
829
- // TODO: remove this once the naming has been fixed
830
- // eslint-disable-next-line @typescript-eslint/naming-convention
831
- TransactionTypes["CreateTrade"] = "post:v1/trades";
832
- // TODO: remove this once the naming has been fixed
833
- // eslint-disable-next-line @typescript-eslint/naming-convention
834
- TransactionTypes["CreateTransfer"] = "post:v1/transfers";
835
- // TODO: remove this once the naming has been fixed
836
- // eslint-disable-next-line @typescript-eslint/naming-convention
837
- TransactionTypes["CreateBatchTransfer"] = "post:v2/transfers";
2080
+ TransactionTypes["cancelOrder"] = "delete:v1/orders";
2081
+ TransactionTypes["createOrder"] = "post:v1/orders";
2082
+ TransactionTypes["createTrade"] = "post:v1/trades";
2083
+ TransactionTypes["createTransfer"] = "post:v1/transfers";
2084
+ TransactionTypes["createBatchTransfer"] = "post:v2/transfers";
838
2085
  })(TransactionTypes || (TransactionTypes = {}));
839
- // TODO: remove this once the naming has been fixed
840
- // eslint-disable-next-line @typescript-eslint/naming-convention
841
- const PassportEventType = 'imx_passport_confirmation';
2086
+ const PASSPORT_EVENT_TYPE = 'imx_passport_confirmation';
842
2087
 
843
2088
  const openPopupCenter = ({ url, title, width, height, }) => {
844
2089
  const left = Math.max(0, Math.round(window.screenX + (window.outerWidth - width) / 2));
@@ -868,7 +2113,7 @@ class ConfirmationScreen {
868
2113
  }
869
2114
  postMessage(destinationWindow, accessToken, message) {
870
2115
  destinationWindow.postMessage({
871
- eventType: PassportEventType,
2116
+ eventType: PASSPORT_EVENT_TYPE,
872
2117
  accessToken,
873
2118
  ...message,
874
2119
  }, this.config.passportDomain);
@@ -877,7 +2122,7 @@ class ConfirmationScreen {
877
2122
  return new Promise((resolve, reject) => {
878
2123
  const messageHandler = ({ data, origin }) => {
879
2124
  if (origin !== this.config.passportDomain
880
- || data.eventType !== PassportEventType) {
2125
+ || data.eventType !== PASSPORT_EVENT_TYPE) {
881
2126
  return;
882
2127
  }
883
2128
  switch (data.messageType) {
@@ -922,59 +2167,57 @@ class ConfirmationScreen {
922
2167
  }
923
2168
 
924
2169
  const ERC721$1 = 'ERC721';
925
- const transfer$1 = ({ request, transfersApi, starkSigner, user, passportConfig,
926
- // TODO: remove this eslint disable once we have a better solution
927
- // eslint-disable-next-line max-len
928
- }) => withPassportError(async () => {
929
- const transferAmount = request.type === ERC721$1 ? '1' : request.amount;
930
- const getSignableTransferRequest = {
931
- sender: user.etherKey,
932
- token: convertToSignableToken(request),
933
- amount: transferAmount,
934
- receiver: request.receiver,
935
- };
936
- const signableResult = await transfersApi.getSignableTransferV1({
937
- getSignableTransferRequest,
938
- });
939
- const confirmationScreen = new ConfirmationScreen(passportConfig);
940
- const confirmationResult = await confirmationScreen.startTransaction(user.accessToken, {
941
- transactionType: TransactionTypes.CreateTransfer,
942
- transactionData: getSignableTransferRequest,
943
- });
944
- if (!confirmationResult.confirmed) {
945
- throw new Error('Transaction rejected by user');
946
- }
947
- const signableResultData = signableResult.data;
948
- const { payload_hash: payloadHash } = signableResultData;
949
- const starkSignature = await starkSigner.signMessage(payloadHash);
950
- const senderStarkKey = await starkSigner.getAddress();
951
- const transferSigningParams = {
952
- sender_stark_key: signableResultData.sender_stark_key || senderStarkKey,
953
- sender_vault_id: signableResultData.sender_vault_id,
954
- receiver_stark_key: signableResultData.receiver_stark_key,
955
- receiver_vault_id: signableResultData.receiver_vault_id,
956
- asset_id: signableResultData.asset_id,
957
- amount: signableResultData.amount,
958
- nonce: signableResultData.nonce,
959
- expiration_timestamp: signableResultData.expiration_timestamp,
960
- stark_signature: starkSignature,
961
- };
962
- const createTransferRequest = {
963
- createTransferRequest: transferSigningParams,
964
- };
965
- const headers = {
966
- // eslint-disable-next-line @typescript-eslint/naming-convention
967
- Authorization: `Bearer ${user.accessToken}`,
968
- };
969
- const { data: responseData } = await transfersApi.createTransferV1(createTransferRequest, { headers });
970
- return {
971
- sent_signature: responseData.sent_signature,
972
- status: responseData.status?.toString(),
973
- time: responseData.time,
974
- transfer_id: responseData.transfer_id,
975
- };
976
- }, PassportErrorType.TRANSFER_ERROR);
977
- async function batchNftTransfer({ user, starkSigner, request, transfersApi, passportConfig, }) {
2170
+ async function transfer$1({ request, transfersApi, starkSigner, user, confirmationScreen, }) {
2171
+ return withPassportError(async () => {
2172
+ const transferAmount = request.type === ERC721$1 ? '1' : request.amount;
2173
+ const getSignableTransferRequest = {
2174
+ sender: user.etherKey,
2175
+ token: convertToSignableToken(request),
2176
+ amount: transferAmount,
2177
+ receiver: request.receiver,
2178
+ };
2179
+ const signableResult = await transfersApi.getSignableTransferV1({
2180
+ getSignableTransferRequest,
2181
+ });
2182
+ const confirmationResult = await confirmationScreen.startTransaction(user.accessToken, {
2183
+ transactionType: TransactionTypes.createTransfer,
2184
+ transactionData: getSignableTransferRequest,
2185
+ });
2186
+ if (!confirmationResult.confirmed) {
2187
+ throw new Error('Transaction rejected by user');
2188
+ }
2189
+ const signableResultData = signableResult.data;
2190
+ const { payload_hash: payloadHash } = signableResultData;
2191
+ const starkSignature = await starkSigner.signMessage(payloadHash);
2192
+ const senderStarkKey = await starkSigner.getAddress();
2193
+ const transferSigningParams = {
2194
+ sender_stark_key: signableResultData.sender_stark_key || senderStarkKey,
2195
+ sender_vault_id: signableResultData.sender_vault_id,
2196
+ receiver_stark_key: signableResultData.receiver_stark_key,
2197
+ receiver_vault_id: signableResultData.receiver_vault_id,
2198
+ asset_id: signableResultData.asset_id,
2199
+ amount: signableResultData.amount,
2200
+ nonce: signableResultData.nonce,
2201
+ expiration_timestamp: signableResultData.expiration_timestamp,
2202
+ stark_signature: starkSignature,
2203
+ };
2204
+ const createTransferRequest = {
2205
+ createTransferRequest: transferSigningParams,
2206
+ };
2207
+ const headers = {
2208
+ // eslint-disable-next-line @typescript-eslint/naming-convention
2209
+ Authorization: `Bearer ${user.accessToken}`,
2210
+ };
2211
+ const { data: responseData } = await transfersApi.createTransferV1(createTransferRequest, { headers });
2212
+ return {
2213
+ sent_signature: responseData.sent_signature,
2214
+ status: responseData.status?.toString(),
2215
+ time: responseData.time,
2216
+ transfer_id: responseData.transfer_id,
2217
+ };
2218
+ }, PassportErrorType.TRANSFER_ERROR);
2219
+ }
2220
+ async function batchNftTransfer({ user, starkSigner, request, transfersApi, confirmationScreen, }) {
978
2221
  return withPassportError(async () => {
979
2222
  const ethAddress = user.etherKey;
980
2223
  const signableRequests = request.map((nftTransfer) => ({
@@ -993,10 +2236,9 @@ async function batchNftTransfer({ user, starkSigner, request, transfersApi, pass
993
2236
  const signableResult = await transfersApi.getSignableTransfer({
994
2237
  getSignableTransferRequestV2,
995
2238
  });
996
- const confirmationScreen = new ConfirmationScreen(passportConfig);
997
2239
  const popupWindowSize = { width: 480, height: 784 };
998
2240
  const confirmationResult = await confirmationScreen.startTransaction(user.accessToken, {
999
- transactionType: TransactionTypes.CreateBatchTransfer,
2241
+ transactionType: TransactionTypes.createBatchTransfer,
1000
2242
  transactionData: getSignableTransferRequestV2,
1001
2243
  }, popupWindowSize);
1002
2244
  if (!confirmationResult.confirmed) {
@@ -1033,7 +2275,7 @@ async function batchNftTransfer({ user, starkSigner, request, transfersApi, pass
1033
2275
  }
1034
2276
 
1035
2277
  const ERC721$2 = 'ERC721';
1036
- async function createOrder$1({ starkSigner, user, request, ordersApi, passportConfig, }) {
2278
+ async function createOrder$1({ starkSigner, user, request, ordersApi, confirmationScreen, }) {
1037
2279
  return withPassportError(async () => {
1038
2280
  const ethAddress = user.etherKey;
1039
2281
  const amountSell = request.sell.type === ERC721$2 ? '1' : request.sell.amount;
@@ -1050,9 +2292,8 @@ async function createOrder$1({ starkSigner, user, request, ordersApi, passportCo
1050
2292
  const getSignableOrderResponse = await ordersApi.getSignableOrder({
1051
2293
  getSignableOrderRequestV3,
1052
2294
  });
1053
- const confirmationScreen = new ConfirmationScreen(passportConfig);
1054
2295
  const confirmationResult = await confirmationScreen.startTransaction(user.accessToken, {
1055
- transactionType: TransactionTypes.CreateOrder,
2296
+ transactionType: TransactionTypes.createOrder,
1056
2297
  transactionData: getSignableOrderRequestV3,
1057
2298
  });
1058
2299
  if (!confirmationResult.confirmed) {
@@ -1089,7 +2330,7 @@ async function createOrder$1({ starkSigner, user, request, ordersApi, passportCo
1089
2330
  };
1090
2331
  }, PassportErrorType.CREATE_ORDER_ERROR);
1091
2332
  }
1092
- async function cancelOrder$1({ user, starkSigner, request, ordersApi, passportConfig, }) {
2333
+ async function cancelOrder$1({ user, starkSigner, request, ordersApi, confirmationScreen, }) {
1093
2334
  return withPassportError(async () => {
1094
2335
  const getSignableCancelOrderRequest = {
1095
2336
  order_id: request.order_id,
@@ -1097,9 +2338,8 @@ async function cancelOrder$1({ user, starkSigner, request, ordersApi, passportCo
1097
2338
  const getSignableCancelOrderResponse = await ordersApi.getSignableCancelOrder({
1098
2339
  getSignableCancelOrderRequest,
1099
2340
  });
1100
- const confirmationScreen = new ConfirmationScreen(passportConfig);
1101
2341
  const confirmationResult = await confirmationScreen.startTransaction(user.accessToken, {
1102
- transactionType: TransactionTypes.CancelOrder,
2342
+ transactionType: TransactionTypes.cancelOrder,
1103
2343
  transactionData: getSignableCancelOrderRequest,
1104
2344
  });
1105
2345
  if (!confirmationResult.confirmed) {
@@ -1169,7 +2409,7 @@ async function exchangeTransfer$1({ user, starkSigner, request, exchangesApi, })
1169
2409
  }, PassportErrorType.EXCHANGE_TRANSFER_ERROR);
1170
2410
  }
1171
2411
 
1172
- async function createTrade$1({ request, tradesApi, user, starkSigner, passportConfig, }) {
2412
+ async function createTrade$1({ request, tradesApi, user, starkSigner, confirmationScreen, }) {
1173
2413
  return withPassportError(async () => {
1174
2414
  const ethAddress = user.etherKey;
1175
2415
  const getSignableTradeRequest = {
@@ -1181,9 +2421,8 @@ async function createTrade$1({ request, tradesApi, user, starkSigner, passportCo
1181
2421
  const getSignableTradeResponse = await tradesApi.getSignableTrade({
1182
2422
  getSignableTradeRequest,
1183
2423
  });
1184
- const confirmationScreen = new ConfirmationScreen(passportConfig);
1185
2424
  const confirmationResult = await confirmationScreen.startTransaction(user.accessToken, {
1186
- transactionType: TransactionTypes.CreateTrade,
2425
+ transactionType: TransactionTypes.createTrade,
1187
2426
  transactionData: getSignableTradeRequest,
1188
2427
  });
1189
2428
  if (!confirmationResult.confirmed) {
@@ -1222,13 +2461,13 @@ async function createTrade$1({ request, tradesApi, user, starkSigner, passportCo
1222
2461
  class PassportImxProvider {
1223
2462
  user;
1224
2463
  starkSigner;
1225
- passportConfig;
1226
2464
  immutableXClient;
1227
- constructor({ user, starkSigner, passportConfig, immutableXClient, }) {
2465
+ confirmationScreen;
2466
+ constructor({ user, starkSigner, immutableXClient, confirmationScreen, }) {
1228
2467
  this.user = user;
1229
2468
  this.starkSigner = starkSigner;
1230
- this.passportConfig = passportConfig;
1231
2469
  this.immutableXClient = immutableXClient;
2470
+ this.confirmationScreen = confirmationScreen;
1232
2471
  }
1233
2472
  async transfer(request) {
1234
2473
  return transfer$1({
@@ -1236,7 +2475,7 @@ class PassportImxProvider {
1236
2475
  user: this.user,
1237
2476
  starkSigner: this.starkSigner,
1238
2477
  transfersApi: this.immutableXClient.transfersApi,
1239
- passportConfig: this.passportConfig,
2478
+ confirmationScreen: this.confirmationScreen,
1240
2479
  });
1241
2480
  }
1242
2481
  // TODO: Remove once implemented
@@ -1255,7 +2494,7 @@ class PassportImxProvider {
1255
2494
  user: this.user,
1256
2495
  starkSigner: this.starkSigner,
1257
2496
  ordersApi: this.immutableXClient.ordersApi,
1258
- passportConfig: this.passportConfig,
2497
+ confirmationScreen: this.confirmationScreen,
1259
2498
  });
1260
2499
  }
1261
2500
  cancelOrder(request) {
@@ -1264,7 +2503,7 @@ class PassportImxProvider {
1264
2503
  user: this.user,
1265
2504
  starkSigner: this.starkSigner,
1266
2505
  ordersApi: this.immutableXClient.ordersApi,
1267
- passportConfig: this.passportConfig,
2506
+ confirmationScreen: this.confirmationScreen,
1268
2507
  });
1269
2508
  }
1270
2509
  createTrade(request) {
@@ -1273,7 +2512,7 @@ class PassportImxProvider {
1273
2512
  user: this.user,
1274
2513
  starkSigner: this.starkSigner,
1275
2514
  tradesApi: this.immutableXClient.tradesApi,
1276
- passportConfig: this.passportConfig,
2515
+ confirmationScreen: this.confirmationScreen,
1277
2516
  });
1278
2517
  }
1279
2518
  batchNftTransfer(request) {
@@ -1282,7 +2521,7 @@ class PassportImxProvider {
1282
2521
  user: this.user,
1283
2522
  starkSigner: this.starkSigner,
1284
2523
  transfersApi: this.immutableXClient.transfersApi,
1285
- passportConfig: this.passportConfig,
2524
+ confirmationScreen: this.confirmationScreen,
1286
2525
  });
1287
2526
  }
1288
2527
  exchangeTransfer(request) {
@@ -1422,17 +2661,17 @@ async function registerPassport({ ethSigner, starkSigner, usersApi }, authorizat
1422
2661
  }, PassportErrorType.USER_REGISTRATION_ERROR);
1423
2662
  }
1424
2663
 
1425
- // TODO: Remove this once the dependency has been added
1426
- // eslint-disable-next-line import/no-extraneous-dependencies
1427
2664
  class Passport {
1428
2665
  authManager;
1429
2666
  magicAdapter;
1430
2667
  config;
1431
2668
  immutableXClient;
2669
+ confirmationScreen;
1432
2670
  constructor(passportModuleConfiguration) {
1433
2671
  this.config = new PassportConfiguration(passportModuleConfiguration);
1434
2672
  this.authManager = new AuthManager(this.config);
1435
2673
  this.magicAdapter = new MagicAdapter(this.config);
2674
+ this.confirmationScreen = new ConfirmationScreen(this.config);
1436
2675
  this.immutableXClient = passportModuleConfiguration.overrides?.immutableXClient
1437
2676
  || new ImmutableXClient({
1438
2677
  baseConfig: passportModuleConfiguration.baseConfig,
@@ -1450,16 +2689,16 @@ class Passport {
1450
2689
  return new PassportImxProvider({
1451
2690
  user: updatedUser,
1452
2691
  starkSigner,
1453
- passportConfig: this.config,
1454
2692
  immutableXClient: this.immutableXClient,
2693
+ confirmationScreen: this.confirmationScreen,
1455
2694
  });
1456
2695
  }
1457
2696
  const userWithEtherKey = user;
1458
2697
  return new PassportImxProvider({
1459
2698
  user: userWithEtherKey,
1460
2699
  starkSigner,
1461
- passportConfig: this.config,
1462
2700
  immutableXClient: this.immutableXClient,
2701
+ confirmationScreen: this.confirmationScreen,
1463
2702
  });
1464
2703
  }
1465
2704
  async connectImxSilent() {
@@ -1903,10 +3142,10 @@ class OrdersService {
1903
3142
  /**
1904
3143
  * List all orders
1905
3144
  * List all orders
1906
- * @returns Orders OK response.
3145
+ * @returns ListOrdersResult OK response.
1907
3146
  * @throws ApiError
1908
3147
  */
1909
- listOrders({ chainId, pageSize = 100, sortBy, sortDirection, pageCursor, }) {
3148
+ listOrders({ chainId, status, sellItemContractAddress, sellItemTokenId, pageSize, sortBy, sortDirection, pageCursor, }) {
1910
3149
  return this.httpRequest.request({
1911
3150
  method: 'GET',
1912
3151
  url: '/v1/chains/{chain_id}/orders',
@@ -1914,21 +3153,25 @@ class OrdersService {
1914
3153
  'chain_id': chainId,
1915
3154
  },
1916
3155
  query: {
3156
+ 'status': status,
3157
+ 'sell_item_contract_address': sellItemContractAddress,
3158
+ 'sell_item_token_id': sellItemTokenId,
1917
3159
  'page_size': pageSize,
1918
3160
  'sort_by': sortBy,
1919
3161
  'sort_direction': sortDirection,
1920
3162
  'page_cursor': pageCursor,
1921
3163
  },
1922
3164
  errors: {
1923
- 404: `not_found: Resource not found`,
1924
- 500: `internal_error: Internal server error`,
3165
+ 400: `Client error`,
3166
+ 404: `The specified resource was not found`,
3167
+ 500: `Internal server error`,
1925
3168
  },
1926
3169
  });
1927
3170
  }
1928
3171
  /**
1929
3172
  * Create an order
1930
3173
  * Create an order
1931
- * @returns Order Created response.
3174
+ * @returns OrderResult Created response.
1932
3175
  * @throws ApiError
1933
3176
  */
1934
3177
  createOrder({ chainId, requestBody, }) {
@@ -1941,16 +3184,16 @@ class OrdersService {
1941
3184
  body: requestBody,
1942
3185
  mediaType: 'application/json',
1943
3186
  errors: {
1944
- 400: `bad_request: Bad Request`,
1945
- 404: `not_found: Resource not found`,
1946
- 500: `internal_error: Internal server error`,
3187
+ 400: `Client error`,
3188
+ 404: `The specified resource was not found`,
3189
+ 500: `Internal server error`,
1947
3190
  },
1948
3191
  });
1949
3192
  }
1950
3193
  /**
1951
3194
  * Get a single order by ID
1952
3195
  * Get a single order by ID
1953
- * @returns Order OK response.
3196
+ * @returns OrderResult OK response.
1954
3197
  * @throws ApiError
1955
3198
  */
1956
3199
  getOrder({ chainId, orderId, }) {
@@ -1962,8 +3205,9 @@ class OrdersService {
1962
3205
  'order_id': orderId,
1963
3206
  },
1964
3207
  errors: {
1965
- 404: `not_found: Resource not found`,
1966
- 500: `internal_error: Internal server error`,
3208
+ 400: `Client error`,
3209
+ 404: `The specified resource was not found`,
3210
+ 500: `Internal server error`,
1967
3211
  },
1968
3212
  });
1969
3213
  }
@@ -1994,8 +3238,8 @@ class OrderBookClient {
1994
3238
  var BuyItem;
1995
3239
  (function (BuyItem) {
1996
3240
  (function (item_type) {
3241
+ item_type["NATIVE"] = "NATIVE";
1997
3242
  item_type["ERC20"] = "ERC20";
1998
- item_type["IMX"] = "IMX";
1999
3243
  })(BuyItem.item_type || (BuyItem.item_type = {}));
2000
3244
  })(BuyItem || (BuyItem = {}));
2001
3245
 
@@ -2005,7 +3249,7 @@ var BuyItem;
2005
3249
  var CreateOrderProtocolData;
2006
3250
  (function (CreateOrderProtocolData) {
2007
3251
  (function (order_type) {
2008
- order_type["FULL_OPEN"] = "FULL_OPEN";
3252
+ order_type["FULL_RESTRICTED"] = "FULL_RESTRICTED";
2009
3253
  })(CreateOrderProtocolData.order_type || (CreateOrderProtocolData.order_type = {}));
2010
3254
  })(CreateOrderProtocolData || (CreateOrderProtocolData = {}));
2011
3255
 
@@ -2022,18 +3266,18 @@ var Fee;
2022
3266
  /* istanbul ignore file */
2023
3267
  /* tslint:disable */
2024
3268
  /* eslint-disable */
2025
- var Order;
2026
- (function (Order) {
2027
- (function (status) {
2028
- status["PENDING"] = "PENDING";
2029
- status["ACTIVE"] = "ACTIVE";
2030
- status["CANCELLED"] = "CANCELLED";
2031
- status["INACTIVE"] = "INACTIVE";
2032
- status["REJECTED"] = "REJECTED";
2033
- status["FILLED"] = "FILLED";
2034
- status["EXPIRED"] = "EXPIRED";
2035
- })(Order.status || (Order.status = {}));
2036
- })(Order || (Order = {}));
3269
+ /**
3270
+ * The Order status
3271
+ */
3272
+ var OrderStatus;
3273
+ (function (OrderStatus) {
3274
+ OrderStatus["PENDING"] = "PENDING";
3275
+ OrderStatus["ACTIVE"] = "ACTIVE";
3276
+ OrderStatus["INACTIVE"] = "INACTIVE";
3277
+ OrderStatus["FILLED"] = "FILLED";
3278
+ OrderStatus["CANCELLED"] = "CANCELLED";
3279
+ OrderStatus["EXPIRED"] = "EXPIRED";
3280
+ })(OrderStatus || (OrderStatus = {}));
2037
3281
 
2038
3282
  /* istanbul ignore file */
2039
3283
  /* tslint:disable */
@@ -2055,6 +3299,12 @@ class ImmutableApiClient {
2055
3299
  async getOrder(orderId) {
2056
3300
  return this.orderbookService.getOrder({ chainId: this.chainId, orderId });
2057
3301
  }
3302
+ async listOrders(listOrderParams) {
3303
+ return this.orderbookService.listOrders({
3304
+ chainId: this.chainId,
3305
+ ...listOrderParams,
3306
+ });
3307
+ }
2058
3308
  async createOrder({ orderHash, orderComponents, offerer, orderSignature, }) {
2059
3309
  if (orderComponents.offer.length !== 1) {
2060
3310
  throw new Error('Only one item can be listed at a time');
@@ -2074,7 +3324,7 @@ class ImmutableApiClient {
2074
3324
  buy: [
2075
3325
  {
2076
3326
  item_type: Number(orderComponents.consideration[0].itemType) === constants.ItemType.NATIVE
2077
- ? BuyItem.item_type.IMX
3327
+ ? BuyItem.item_type.NATIVE
2078
3328
  : BuyItem.item_type.ERC20,
2079
3329
  start_amount: orderComponents.consideration[0].startAmount,
2080
3330
  }
@@ -2090,7 +3340,7 @@ class ImmutableApiClient {
2090
3340
  : [],
2091
3341
  end_time: new Date(parseInt(`${orderComponents.endTime.toString()}000`, 10)).toISOString(),
2092
3342
  protocol_data: {
2093
- order_type: CreateOrderProtocolData.order_type.FULL_OPEN,
3343
+ order_type: CreateOrderProtocolData.order_type.FULL_RESTRICTED,
2094
3344
  zone_address: orderComponents.zone,
2095
3345
  },
2096
3346
  salt: orderComponents.salt,
@@ -3141,6 +4391,7 @@ class Seaport {
3141
4391
  parameters: orderComponents,
3142
4392
  signature: order.signature,
3143
4393
  },
4394
+ extraData: order.protocol_data.operator_signature,
3144
4395
  }],
3145
4396
  });
3146
4397
  let approvalTransaction;
@@ -3262,11 +4513,20 @@ class Orderbook {
3262
4513
  /**
3263
4514
  * Get an order by ID
3264
4515
  * @param {string} orderId - The orderId to find.
3265
- * @return {Order} The returned order.
4516
+ * @return {OrderResult} The returned order result.
3266
4517
  */
3267
4518
  getOrder(orderId) {
3268
4519
  return this.apiClient.getOrder(orderId);
3269
4520
  }
4521
+ /**
4522
+ * List orders. This method is used to get a list of orders filtered by conditions specified
4523
+ * in the params object.
4524
+ * @param {ListOrderParams} listOrderParams - Filtering, ordering and page parameters.
4525
+ * @return {Orders} The paged orders.
4526
+ */
4527
+ listOrders(listOrderParams) {
4528
+ return this.apiClient.listOrders(listOrderParams);
4529
+ }
3270
4530
  /**
3271
4531
  * Get required transactions and messages for signing prior to creating a listing
3272
4532
  * through the createOrder method
@@ -3287,7 +4547,7 @@ class Orderbook {
3287
4547
  /**
3288
4548
  * Create an order
3289
4549
  * @param {CreateOrderParams} createOrderParams - create an order with the given params.
3290
- * @return {Order} The order created in the Immutable services.
4550
+ * @return {OrderResult} The result of the order created in the Immutable services.
3291
4551
  */
3292
4552
  createOrder(createOrderParams) {
3293
4553
  return this.apiClient.createOrder(createOrderParams);
@@ -3301,11 +4561,11 @@ class Orderbook {
3301
4561
  * @return {FulfilOrderResponse} Approval and fulfilment transactions.
3302
4562
  */
3303
4563
  async fulfillOrder(orderId, fulfillerAddress) {
3304
- const order = await this.apiClient.getOrder(orderId);
3305
- if (order.status !== Order.status.ACTIVE) {
3306
- throw new Error(`Cannot fulfil order that is not active. Current status: ${order.status}`);
4564
+ const orderResult = await this.apiClient.getOrder(orderId);
4565
+ if (orderResult.result.status !== OrderStatus.ACTIVE) {
4566
+ throw new Error(`Cannot fulfil order that is not active. Current status: ${orderResult.result.status}`);
3307
4567
  }
3308
- return this.seaport.fulfilOrder(order, fulfillerAddress);
4568
+ return this.seaport.fulfilOrder(orderResult.result, fulfillerAddress);
3309
4569
  }
3310
4570
  /**
3311
4571
  * Get an unsigned cancel order transaction. Orders can only be cancelled by
@@ -3315,16 +4575,16 @@ class Orderbook {
3315
4575
  * @return {CancelOrderResponse} The unsigned cancel order transaction
3316
4576
  */
3317
4577
  async cancelOrder(orderId, accountAddress) {
3318
- const order = await this.apiClient.getOrder(orderId);
3319
- if (order.status !== Order.status.ACTIVE
3320
- && order.status !== Order.status.INACTIVE
3321
- && order.status !== Order.status.PENDING) {
3322
- throw new Error(`Cannot cancel order with status ${order.status}`);
4578
+ const orderResult = await this.apiClient.getOrder(orderId);
4579
+ if (orderResult.result.status !== OrderStatus.ACTIVE
4580
+ && orderResult.result.status !== OrderStatus.INACTIVE
4581
+ && orderResult.result.status !== OrderStatus.PENDING) {
4582
+ throw new Error(`Cannot cancel order with status ${orderResult.result.status}`);
3323
4583
  }
3324
- if (order.account_address !== accountAddress.toLowerCase()) {
3325
- throw new Error(`Only account ${order.account_address} can cancel order ${orderId}`);
4584
+ if (orderResult.result.account_address !== accountAddress.toLowerCase()) {
4585
+ throw new Error(`Only account ${orderResult.result.account_address} can cancel order ${orderId}`);
3326
4586
  }
3327
- const cancelOrderTransaction = await this.seaport.cancelOrder(order, accountAddress);
4587
+ const cancelOrderTransaction = await this.seaport.cancelOrder(orderResult.result, accountAddress);
3328
4588
  return { unsignedCancelOrderTransaction: cancelOrderTransaction };
3329
4589
  }
3330
4590
  }
@@ -4452,6 +5712,19 @@ const $762782b6c862d954$export$db5daa1b5156ccfe = [
4452
5712
  ];
4453
5713
 
4454
5714
 
5715
+ /**
5716
+ * Enum representing the supported chains with their corresponding IDs.
5717
+ */ exports.ChainId = void 0;
5718
+ (function(ChainId) {
5719
+ ChainId[ChainId["ETHEREUM"] = 1] = "ETHEREUM";
5720
+ ChainId[ChainId["SEPOLIA"] = 11155111] = "SEPOLIA";
5721
+ ChainId[ChainId["IMTBL_ZKEVM_DEVNET"] = 13373] = "IMTBL_ZKEVM_DEVNET";
5722
+ ChainId[ChainId["IMTBL_ZKEVM_TESTNET"] = 13372] = "IMTBL_ZKEVM_TESTNET";
5723
+ ChainId[ChainId["POLYGON_ZKEVM_TESTNET"] = 1442] = "POLYGON_ZKEVM_TESTNET";
5724
+ ChainId[ChainId["POLYGON_ZKEVM"] = 137] = "POLYGON_ZKEVM";
5725
+ })(exports.ChainId || (exports.ChainId = {}));
5726
+
5727
+
4455
5728
 
4456
5729
  const $bc2bfebf768286d3$export$6a2ba3c3bd042990 = {
4457
5730
  baseConfig: {
@@ -4466,18 +5739,10 @@ exports.ConnectionProviders = void 0;
4466
5739
  })(exports.ConnectionProviders || (exports.ConnectionProviders = {}));
4467
5740
 
4468
5741
 
4469
- exports.ChainId = void 0;
4470
- (function(ChainId) {
4471
- ChainId[ChainId["ETHEREUM"] = 1] = "ETHEREUM";
4472
- ChainId[ChainId["SEPOLIA"] = 11155111] = "SEPOLIA";
4473
- ChainId[ChainId["IMTBL_ZKEVM_DEVNET"] = 13373] = "IMTBL_ZKEVM_DEVNET";
4474
- ChainId[ChainId["IMTBL_ZKEVM_TESTNET"] = 13372] = "IMTBL_ZKEVM_TESTNET";
4475
- ChainId[ChainId["POLYGON_ZKEVM_TESTNET"] = 1442] = "POLYGON_ZKEVM_TESTNET";
4476
- ChainId[ChainId["POLYGON_ZKEVM"] = 137] = "POLYGON_ZKEVM";
4477
- })(exports.ChainId || (exports.ChainId = {}));
5742
+
4478
5743
  const $a47e48dd2c04791b$export$6f24f3cef7d501c4 = new Map([
4479
5744
  [
4480
- exports.ChainId.ETHEREUM,
5745
+ (exports.ChainId).ETHEREUM,
4481
5746
  {
4482
5747
  chainIdHex: "0x1",
4483
5748
  chainName: "Ethereum",
@@ -4495,7 +5760,7 @@ const $a47e48dd2c04791b$export$6f24f3cef7d501c4 = new Map([
4495
5760
  }
4496
5761
  ],
4497
5762
  [
4498
- exports.ChainId.IMTBL_ZKEVM_TESTNET,
5763
+ (exports.ChainId).IMTBL_ZKEVM_TESTNET,
4499
5764
  {
4500
5765
  chainIdHex: "0x343C",
4501
5766
  chainName: "Immutable zkEVM Testnet",
@@ -4510,7 +5775,7 @@ const $a47e48dd2c04791b$export$6f24f3cef7d501c4 = new Map([
4510
5775
  }
4511
5776
  ],
4512
5777
  [
4513
- exports.ChainId.POLYGON_ZKEVM,
5778
+ (exports.ChainId).POLYGON_ZKEVM,
4514
5779
  {
4515
5780
  chainIdHex: "0x89",
4516
5781
  chainName: "Polygon zkEVM",
@@ -4530,7 +5795,7 @@ const $a47e48dd2c04791b$export$6f24f3cef7d501c4 = new Map([
4530
5795
  ]);
4531
5796
  const $a47e48dd2c04791b$export$3e81fc0987227f10 = new Map([
4532
5797
  [
4533
- exports.ChainId.SEPOLIA,
5798
+ (exports.ChainId).SEPOLIA,
4534
5799
  {
4535
5800
  chainIdHex: "0xaa36a7",
4536
5801
  chainName: "Sepolia",
@@ -4548,7 +5813,7 @@ const $a47e48dd2c04791b$export$3e81fc0987227f10 = new Map([
4548
5813
  }
4549
5814
  ],
4550
5815
  [
4551
- exports.ChainId.IMTBL_ZKEVM_DEVNET,
5816
+ (exports.ChainId).IMTBL_ZKEVM_DEVNET,
4552
5817
  {
4553
5818
  chainIdHex: "0x343D",
4554
5819
  chainName: "Immutable zkEVM Devnet",
@@ -4563,7 +5828,7 @@ const $a47e48dd2c04791b$export$3e81fc0987227f10 = new Map([
4563
5828
  }
4564
5829
  ],
4565
5830
  [
4566
- exports.ChainId.POLYGON_ZKEVM_TESTNET,
5831
+ (exports.ChainId).POLYGON_ZKEVM_TESTNET,
4567
5832
  {
4568
5833
  chainIdHex: "0x5A2",
4569
5834
  chainName: "Polygon zkEVM Testnet",
@@ -4587,8 +5852,8 @@ exports.NetworkFilterTypes = void 0;
4587
5852
  })(exports.NetworkFilterTypes || (exports.NetworkFilterTypes = {}));
4588
5853
 
4589
5854
 
4590
- // TODO: fix circular dependency
4591
- // eslint-disable-next-line import/no-cycle
5855
+
5856
+
4592
5857
  exports.TokenFilterTypes = void 0;
4593
5858
  (function(TokenFilterTypes) {
4594
5859
  TokenFilterTypes["SWAP"] = "swap";
@@ -4597,10 +5862,17 @@ exports.TokenFilterTypes = void 0;
4597
5862
  })(exports.TokenFilterTypes || (exports.TokenFilterTypes = {}));
4598
5863
 
4599
5864
 
5865
+ /**
5866
+ * Interface representing token information.
5867
+ * @property {string} name - The token name.
5868
+ * @property {string} symbol - The token symbol.
5869
+ * @property {number} decimals - The token decimals.
5870
+ * @property {string} [address] - The token contract address.
5871
+ * @property {string} [icon] - The token icon URL/data:image.
5872
+ */
5873
+
4600
5874
 
4601
5875
 
4602
- // TODO: fix circular dependency
4603
- // eslint-disable-next-line import/no-cycle
4604
5876
  let $4f91c5f280efe242$export$35b06f0d33f57e26;
4605
5877
  (function(WalletAction) {
4606
5878
  WalletAction["CHECK_CONNECTION"] = "eth_accounts";
@@ -4632,7 +5904,9 @@ exports.WalletFilterTypes = void 0;
4632
5904
  CheckoutErrorType["PROVIDER_REQUEST_MISSING_ERROR"] = "PROVIDER_REQUEST_MISSING_ERROR";
4633
5905
  CheckoutErrorType["PROVIDER_REQUEST_FAILED_ERROR"] = "PROVIDER_REQUEST_FAILED_ERROR";
4634
5906
  CheckoutErrorType["USER_REJECTED_REQUEST_ERROR"] = "USER_REJECTED_REQUEST_ERROR";
4635
- CheckoutErrorType["TRANSACTION_ERROR"] = "TRANSACTION_ERROR";
5907
+ CheckoutErrorType["TRANSACTION_FAILED"] = "TRANSACTION_FAILED";
5908
+ CheckoutErrorType["INSUFFICIENT_FUNDS"] = "INSUFFICIENT_FUNDS";
5909
+ CheckoutErrorType["UNPREDICTABLE_GAS_LIMIT"] = "UNPREDICTABLE_GAS_LIMIT";
4636
5910
  })(exports.CheckoutErrorType || (exports.CheckoutErrorType = {}));
4637
5911
  class $a8bc256d81a5e2c1$export$b722478a3cbfa3bc extends Error {
4638
5912
  constructor(message, type, data){
@@ -4852,7 +6126,7 @@ async function $de192de6ef100f9f$export$3043f6442a9ef563(config, { type: type =
4852
6126
 
4853
6127
 
4854
6128
  var $cda6003506e4182e$exports = {};
4855
- $cda6003506e4182e$exports = JSON.parse("[{\"chainId\":13373,\"name\":\"IMX\",\"symbol\":\"IMX\",\"decimals\":18,\"icon\":\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 139 113' style='enable-background:new 0 0 139 113;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bclip-path:url(%23SVGID_00000053504646934646330740000009134454895836103350_);%7D .st1%7Bfill:%2317B5CB;%7D%0A%3C/style%3E%3Cg%3E%3Cdefs%3E%3Crect id='SVGID_1_' width='139' height='113'/%3E%3C/defs%3E%3CclipPath id='SVGID_00000035518931339590433170000002358037249938198420_'%3E%3Cuse xlink:href='%23SVGID_1_' style='overflow:visible;'/%3E%3C/clipPath%3E%3Cg style='clip-path:url(%23SVGID_00000035518931339590433170000002358037249938198420_);'%3E%3Cpath class='st1' d='M124.1,0h14.6L79.5,67.6c-1.5,1.7-1.6,4.3-0.1,6.1l34.1,39.7H98.3L66.8,76.6l-1.6-2c-1.5-1.7-1.4-4.4,0.1-6.1 L124.1,0z'/%3E%3Cpath class='st1' d='M91.2,73.7c-1-1.1-1.3-2.7-1-4.1c0.3-0.8,0.8-1.6,1.4-2.2l3.9-4.3l43.5,50.3h-13.8 C125.2,113.4,99.7,83.6,91.2,73.7z'/%3E%3Cpath class='st1' d='M15.2,113.4H0l46.6-53.9c1.5-1.7,1.5-4.3,0-6L0.4,0H15l46.5,53.9c1.2,1.6,1.4,3.9,0.1,5.4 C49.4,73.4,15.2,113.4,15.2,113.4z'/%3E%3Cpath class='st1' d='M40.6,0h-14l43.1,49.9c0,0,0.1-0.1,4.9-5.8c1.3-1.5,1.6-3.4,0.1-4.9C65.7,30,40.6,0,40.6,0z'/%3E%3Cpath class='st1' d='M82.6,34.8L112.5,0H98.3L82.7,18.2l-4.5,5.3c-1.5,1.7-1.6,4.3-0.1,6.1C79.2,30.9,82.6,34.8,82.6,34.8z'/%3E%3Cpath class='st1' d='M56.6,78.6l-29.9,34.8h14.1l15.6-18.2l4.5-5.3c1.5-1.7,1.6-4.3,0.1-6.1C59.9,82.5,56.6,78.6,56.6,78.6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"chainId\":13373,\"name\":\"FUN token\",\"address\":\"0xd8f1D29a1572FbCeF0B0C9541E50637Ad8804F21\",\"symbol\":\"FUN\",\"decimals\":18,\"icon\":\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' width='100%25' height='100%25' version='1.1' shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality' fill-rule='evenodd' clip-rule='evenodd'%0AviewBox='0 0 784.37 1277.39' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xodm='http://www.corel.com/coreldraw/odm/2003'%3E%3Cg id='Layer_x0020_1'%3E%3Cmetadata id='CorelCorpID_0Corel-Layer'/%3E%3Cg id='_1421394342400'%3E%3Cg%3E%3Cpolygon fill='%23343434' fill-rule='nonzero' points='392.07,0 383.5,29.11 383.5,873.74 392.07,882.29 784.13,650.54 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,0 -0,650.54 392.07,882.29 392.07,472.33 '/%3E%3Cpolygon fill='%233C3C3B' fill-rule='nonzero' points='392.07,956.52 387.24,962.41 387.24,1263.28 392.07,1277.38 784.37,724.89 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,1277.38 392.07,956.52 -0,724.89 '/%3E%3Cpolygon fill='%23141414' fill-rule='nonzero' points='392.07,882.29 784.13,650.54 392.07,472.33 '/%3E%3Cpolygon fill='%23393939' fill-rule='nonzero' points='0,650.54 392.07,882.29 392.07,472.33 '/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"chainId\":13373,\"name\":\"USDC\",\"address\":\"0x5893A5c7bc615Dfd36D7383366d00FFFca5f7178\",\"symbol\":\"USDC\",\"decimals\":18,\"icon\":\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' width='100%25' height='100%25' version='1.1' shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality' fill-rule='evenodd' clip-rule='evenodd'%0AviewBox='0 0 784.37 1277.39' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xodm='http://www.corel.com/coreldraw/odm/2003'%3E%3Cg id='Layer_x0020_1'%3E%3Cmetadata id='CorelCorpID_0Corel-Layer'/%3E%3Cg id='_1421394342400'%3E%3Cg%3E%3Cpolygon fill='%23343434' fill-rule='nonzero' points='392.07,0 383.5,29.11 383.5,873.74 392.07,882.29 784.13,650.54 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,0 -0,650.54 392.07,882.29 392.07,472.33 '/%3E%3Cpolygon fill='%233C3C3B' fill-rule='nonzero' points='392.07,956.52 387.24,962.41 387.24,1263.28 392.07,1277.38 784.37,724.89 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,1277.38 392.07,956.52 -0,724.89 '/%3E%3Cpolygon fill='%23141414' fill-rule='nonzero' points='392.07,882.29 784.13,650.54 392.07,472.33 '/%3E%3Cpolygon fill='%23393939' fill-rule='nonzero' points='0,650.54 392.07,882.29 392.07,472.33 '/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"chainId\":13373,\"name\":\"WETH\",\"address\":\"0xD6d9321DCC42377C1fa8cFec665182c463b2392C\",\"symbol\":\"WETH\",\"decimals\":18,\"icon\":\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' width='100%25' height='100%25' version='1.1' shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality' fill-rule='evenodd' clip-rule='evenodd'%0AviewBox='0 0 784.37 1277.39' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xodm='http://www.corel.com/coreldraw/odm/2003'%3E%3Cg id='Layer_x0020_1'%3E%3Cmetadata id='CorelCorpID_0Corel-Layer'/%3E%3Cg id='_1421394342400'%3E%3Cg%3E%3Cpolygon fill='%23343434' fill-rule='nonzero' points='392.07,0 383.5,29.11 383.5,873.74 392.07,882.29 784.13,650.54 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,0 -0,650.54 392.07,882.29 392.07,472.33 '/%3E%3Cpolygon fill='%233C3C3B' fill-rule='nonzero' points='392.07,956.52 387.24,962.41 387.24,1263.28 392.07,1277.38 784.37,724.89 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,1277.38 392.07,956.52 -0,724.89 '/%3E%3Cpolygon fill='%23141414' fill-rule='nonzero' points='392.07,882.29 784.13,650.54 392.07,472.33 '/%3E%3Cpolygon fill='%23393939' fill-rule='nonzero' points='0,650.54 392.07,882.29 392.07,472.33 '/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"chainId\":1,\"name\":\"Ethereum\",\"symbol\":\"ETH\",\"decimals\":18,\"icon\":\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' width='100%25' height='100%25' version='1.1' shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality' fill-rule='evenodd' clip-rule='evenodd'%0AviewBox='0 0 784.37 1277.39' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xodm='http://www.corel.com/coreldraw/odm/2003'%3E%3Cg id='Layer_x0020_1'%3E%3Cmetadata id='CorelCorpID_0Corel-Layer'/%3E%3Cg id='_1421394342400'%3E%3Cg%3E%3Cpolygon fill='%23343434' fill-rule='nonzero' points='392.07,0 383.5,29.11 383.5,873.74 392.07,882.29 784.13,650.54 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,0 -0,650.54 392.07,882.29 392.07,472.33 '/%3E%3Cpolygon fill='%233C3C3B' fill-rule='nonzero' points='392.07,956.52 387.24,962.41 387.24,1263.28 392.07,1277.38 784.37,724.89 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,1277.38 392.07,956.52 -0,724.89 '/%3E%3Cpolygon fill='%23141414' fill-rule='nonzero' points='392.07,882.29 784.13,650.54 392.07,472.33 '/%3E%3Cpolygon fill='%23393939' fill-rule='nonzero' points='0,650.54 392.07,882.29 392.07,472.33 '/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"address\":\"0xF57e7e7C23978C3cAEC3C3548E3D615c346e79fF\",\"chainId\":1,\"name\":\"Immutable X\",\"symbol\":\"IMX\",\"decimals\":18,\"icon\":\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 139 113' style='enable-background:new 0 0 139 113;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bclip-path:url(%23SVGID_00000053504646934646330740000009134454895836103350_);%7D .st1%7Bfill:%2317B5CB;%7D%0A%3C/style%3E%3Cg%3E%3Cdefs%3E%3Crect id='SVGID_1_' width='139' height='113'/%3E%3C/defs%3E%3CclipPath id='SVGID_00000035518931339590433170000002358037249938198420_'%3E%3Cuse xlink:href='%23SVGID_1_' style='overflow:visible;'/%3E%3C/clipPath%3E%3Cg style='clip-path:url(%23SVGID_00000035518931339590433170000002358037249938198420_);'%3E%3Cpath class='st1' d='M124.1,0h14.6L79.5,67.6c-1.5,1.7-1.6,4.3-0.1,6.1l34.1,39.7H98.3L66.8,76.6l-1.6-2c-1.5-1.7-1.4-4.4,0.1-6.1 L124.1,0z'/%3E%3Cpath class='st1' d='M91.2,73.7c-1-1.1-1.3-2.7-1-4.1c0.3-0.8,0.8-1.6,1.4-2.2l3.9-4.3l43.5,50.3h-13.8 C125.2,113.4,99.7,83.6,91.2,73.7z'/%3E%3Cpath class='st1' d='M15.2,113.4H0l46.6-53.9c1.5-1.7,1.5-4.3,0-6L0.4,0H15l46.5,53.9c1.2,1.6,1.4,3.9,0.1,5.4 C49.4,73.4,15.2,113.4,15.2,113.4z'/%3E%3Cpath class='st1' d='M40.6,0h-14l43.1,49.9c0,0,0.1-0.1,4.9-5.8c1.3-1.5,1.6-3.4,0.1-4.9C65.7,30,40.6,0,40.6,0z'/%3E%3Cpath class='st1' d='M82.6,34.8L112.5,0H98.3L82.7,18.2l-4.5,5.3c-1.5,1.7-1.6,4.3-0.1,6.1C79.2,30.9,82.6,34.8,82.6,34.8z'/%3E%3Cpath class='st1' d='M56.6,78.6l-29.9,34.8h14.1l15.6-18.2l4.5-5.3c1.5-1.7,1.6-4.3,0.1-6.1C59.9,82.5,56.6,78.6,56.6,78.6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"chainId\":11155111,\"name\":\"Sep Eth\",\"symbol\":\"ETH\",\"decimals\":18,\"icon\":\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' width='100%25' height='100%25' version='1.1' shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality' fill-rule='evenodd' clip-rule='evenodd'%0AviewBox='0 0 784.37 1277.39' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xodm='http://www.corel.com/coreldraw/odm/2003'%3E%3Cg id='Layer_x0020_1'%3E%3Cmetadata id='CorelCorpID_0Corel-Layer'/%3E%3Cg id='_1421394342400'%3E%3Cg%3E%3Cpolygon fill='%23343434' fill-rule='nonzero' points='392.07,0 383.5,29.11 383.5,873.74 392.07,882.29 784.13,650.54 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,0 -0,650.54 392.07,882.29 392.07,472.33 '/%3E%3Cpolygon fill='%233C3C3B' fill-rule='nonzero' points='392.07,956.52 387.24,962.41 387.24,1263.28 392.07,1277.38 784.37,724.89 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,1277.38 392.07,956.52 -0,724.89 '/%3E%3Cpolygon fill='%23141414' fill-rule='nonzero' points='392.07,882.29 784.13,650.54 392.07,472.33 '/%3E%3Cpolygon fill='%23393939' fill-rule='nonzero' points='0,650.54 392.07,882.29 392.07,472.33 '/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"chainId\":11155111,\"name\":\"Immutable Test token\",\"address\":\"0x40cAdc2BC5d25B9c669B8E09c68eCcb9B80873f7\",\"symbol\":\"TEST\",\"decimals\":18,\"icon\":\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 139 113' style='enable-background:new 0 0 139 113;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bclip-path:url(%23SVGID_00000053504646934646330740000009134454895836103350_);%7D .st1%7Bfill:%2317B5CB;%7D%0A%3C/style%3E%3Cg%3E%3Cdefs%3E%3Crect id='SVGID_1_' width='139' height='113'/%3E%3C/defs%3E%3CclipPath id='SVGID_00000035518931339590433170000002358037249938198420_'%3E%3Cuse xlink:href='%23SVGID_1_' style='overflow:visible;'/%3E%3C/clipPath%3E%3Cg style='clip-path:url(%23SVGID_00000035518931339590433170000002358037249938198420_);'%3E%3Cpath class='st1' d='M124.1,0h14.6L79.5,67.6c-1.5,1.7-1.6,4.3-0.1,6.1l34.1,39.7H98.3L66.8,76.6l-1.6-2c-1.5-1.7-1.4-4.4,0.1-6.1 L124.1,0z'/%3E%3Cpath class='st1' d='M91.2,73.7c-1-1.1-1.3-2.7-1-4.1c0.3-0.8,0.8-1.6,1.4-2.2l3.9-4.3l43.5,50.3h-13.8 C125.2,113.4,99.7,83.6,91.2,73.7z'/%3E%3Cpath class='st1' d='M15.2,113.4H0l46.6-53.9c1.5-1.7,1.5-4.3,0-6L0.4,0H15l46.5,53.9c1.2,1.6,1.4,3.9,0.1,5.4 C49.4,73.4,15.2,113.4,15.2,113.4z'/%3E%3Cpath class='st1' d='M40.6,0h-14l43.1,49.9c0,0,0.1-0.1,4.9-5.8c1.3-1.5,1.6-3.4,0.1-4.9C65.7,30,40.6,0,40.6,0z'/%3E%3Cpath class='st1' d='M82.6,34.8L112.5,0H98.3L82.7,18.2l-4.5,5.3c-1.5,1.7-1.6,4.3-0.1,6.1C79.2,30.9,82.6,34.8,82.6,34.8z'/%3E%3Cpath class='st1' d='M56.6,78.6l-29.9,34.8h14.1l15.6-18.2l4.5-5.3c1.5-1.7,1.6-4.3,0.1-6.1C59.9,82.5,56.6,78.6,56.6,78.6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"chainId\":1442,\"name\":\"WETH\",\"address\":\"0x4F062A3EAeC3730560aB89b5CE5aC0ab2C5517aE\",\"symbol\":\"WETH\",\"decimals\":18,\"icon\":\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' width='100%25' height='100%25' version='1.1' shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality' fill-rule='evenodd' clip-rule='evenodd'%0AviewBox='0 0 784.37 1277.39' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xodm='http://www.corel.com/coreldraw/odm/2003'%3E%3Cg id='Layer_x0020_1'%3E%3Cmetadata id='CorelCorpID_0Corel-Layer'/%3E%3Cg id='_1421394342400'%3E%3Cg%3E%3Cpolygon fill='%23343434' fill-rule='nonzero' points='392.07,0 383.5,29.11 383.5,873.74 392.07,882.29 784.13,650.54 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,0 -0,650.54 392.07,882.29 392.07,472.33 '/%3E%3Cpolygon fill='%233C3C3B' fill-rule='nonzero' points='392.07,956.52 387.24,962.41 387.24,1263.28 392.07,1277.38 784.37,724.89 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,1277.38 392.07,956.52 -0,724.89 '/%3E%3Cpolygon fill='%23141414' fill-rule='nonzero' points='392.07,882.29 784.13,650.54 392.07,472.33 '/%3E%3Cpolygon fill='%23393939' fill-rule='nonzero' points='0,650.54 392.07,882.29 392.07,472.33 '/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"address\":\"0x72958b06abdF2701AcE6ceb3cE0B8B1CE11E0851\",\"chainId\":1442,\"name\":\"Immutable X\",\"symbol\":\"IMX\",\"decimals\":18,\"icon\":\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 139 113' style='enable-background:new 0 0 139 113;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bclip-path:url(%23SVGID_00000053504646934646330740000009134454895836103350_);%7D .st1%7Bfill:%2317B5CB;%7D%0A%3C/style%3E%3Cg%3E%3Cdefs%3E%3Crect id='SVGID_1_' width='139' height='113'/%3E%3C/defs%3E%3CclipPath id='SVGID_00000035518931339590433170000002358037249938198420_'%3E%3Cuse xlink:href='%23SVGID_1_' style='overflow:visible;'/%3E%3C/clipPath%3E%3Cg style='clip-path:url(%23SVGID_00000035518931339590433170000002358037249938198420_);'%3E%3Cpath class='st1' d='M124.1,0h14.6L79.5,67.6c-1.5,1.7-1.6,4.3-0.1,6.1l34.1,39.7H98.3L66.8,76.6l-1.6-2c-1.5-1.7-1.4-4.4,0.1-6.1 L124.1,0z'/%3E%3Cpath class='st1' d='M91.2,73.7c-1-1.1-1.3-2.7-1-4.1c0.3-0.8,0.8-1.6,1.4-2.2l3.9-4.3l43.5,50.3h-13.8 C125.2,113.4,99.7,83.6,91.2,73.7z'/%3E%3Cpath class='st1' d='M15.2,113.4H0l46.6-53.9c1.5-1.7,1.5-4.3,0-6L0.4,0H15l46.5,53.9c1.2,1.6,1.4,3.9,0.1,5.4 C49.4,73.4,15.2,113.4,15.2,113.4z'/%3E%3Cpath class='st1' d='M40.6,0h-14l43.1,49.9c0,0,0.1-0.1,4.9-5.8c1.3-1.5,1.6-3.4,0.1-4.9C65.7,30,40.6,0,40.6,0z'/%3E%3Cpath class='st1' d='M82.6,34.8L112.5,0H98.3L82.7,18.2l-4.5,5.3c-1.5,1.7-1.6,4.3-0.1,6.1C79.2,30.9,82.6,34.8,82.6,34.8z'/%3E%3Cpath class='st1' d='M56.6,78.6l-29.9,34.8h14.1l15.6-18.2l4.5-5.3c1.5-1.7,1.6-4.3,0.1-6.1C59.9,82.5,56.6,78.6,56.6,78.6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]}]");
6129
+ $cda6003506e4182e$exports = JSON.parse("[{\"chainId\":13373,\"name\":\"IMX\",\"symbol\":\"IMX\",\"decimals\":18,\"icon\":\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 139 113' style='enable-background:new 0 0 139 113;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bclip-path:url(%23SVGID_00000053504646934646330740000009134454895836103350_);%7D .st1%7Bfill:%2317B5CB;%7D%0A%3C/style%3E%3Cg%3E%3Cdefs%3E%3Crect id='SVGID_1_' width='139' height='113'/%3E%3C/defs%3E%3CclipPath id='SVGID_00000035518931339590433170000002358037249938198420_'%3E%3Cuse xlink:href='%23SVGID_1_' style='overflow:visible;'/%3E%3C/clipPath%3E%3Cg style='clip-path:url(%23SVGID_00000035518931339590433170000002358037249938198420_);'%3E%3Cpath class='st1' d='M124.1,0h14.6L79.5,67.6c-1.5,1.7-1.6,4.3-0.1,6.1l34.1,39.7H98.3L66.8,76.6l-1.6-2c-1.5-1.7-1.4-4.4,0.1-6.1 L124.1,0z'/%3E%3Cpath class='st1' d='M91.2,73.7c-1-1.1-1.3-2.7-1-4.1c0.3-0.8,0.8-1.6,1.4-2.2l3.9-4.3l43.5,50.3h-13.8 C125.2,113.4,99.7,83.6,91.2,73.7z'/%3E%3Cpath class='st1' d='M15.2,113.4H0l46.6-53.9c1.5-1.7,1.5-4.3,0-6L0.4,0H15l46.5,53.9c1.2,1.6,1.4,3.9,0.1,5.4 C49.4,73.4,15.2,113.4,15.2,113.4z'/%3E%3Cpath class='st1' d='M40.6,0h-14l43.1,49.9c0,0,0.1-0.1,4.9-5.8c1.3-1.5,1.6-3.4,0.1-4.9C65.7,30,40.6,0,40.6,0z'/%3E%3Cpath class='st1' d='M82.6,34.8L112.5,0H98.3L82.7,18.2l-4.5,5.3c-1.5,1.7-1.6,4.3-0.1,6.1C79.2,30.9,82.6,34.8,82.6,34.8z'/%3E%3Cpath class='st1' d='M56.6,78.6l-29.9,34.8h14.1l15.6-18.2l4.5-5.3c1.5-1.7,1.6-4.3,0.1-6.1C59.9,82.5,56.6,78.6,56.6,78.6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"chainId\":13373,\"name\":\"FUN token\",\"address\":\"0xd8f1D29a1572FbCeF0B0C9541E50637Ad8804F21\",\"symbol\":\"FUN\",\"decimals\":18,\"icon\":\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' width='100%25' height='100%25' version='1.1' shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality' fill-rule='evenodd' clip-rule='evenodd'%0AviewBox='0 0 784.37 1277.39' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xodm='http://www.corel.com/coreldraw/odm/2003'%3E%3Cg id='Layer_x0020_1'%3E%3Cmetadata id='CorelCorpID_0Corel-Layer'/%3E%3Cg id='_1421394342400'%3E%3Cg%3E%3Cpolygon fill='%23343434' fill-rule='nonzero' points='392.07,0 383.5,29.11 383.5,873.74 392.07,882.29 784.13,650.54 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,0 -0,650.54 392.07,882.29 392.07,472.33 '/%3E%3Cpolygon fill='%233C3C3B' fill-rule='nonzero' points='392.07,956.52 387.24,962.41 387.24,1263.28 392.07,1277.38 784.37,724.89 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,1277.38 392.07,956.52 -0,724.89 '/%3E%3Cpolygon fill='%23141414' fill-rule='nonzero' points='392.07,882.29 784.13,650.54 392.07,472.33 '/%3E%3Cpolygon fill='%23393939' fill-rule='nonzero' points='0,650.54 392.07,882.29 392.07,472.33 '/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"chainId\":13373,\"name\":\"USDC\",\"address\":\"0x5893A5c7bc615Dfd36D7383366d00FFFca5f7178\",\"symbol\":\"USDC\",\"decimals\":18,\"icon\":\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' width='100%25' height='100%25' version='1.1' shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality' fill-rule='evenodd' clip-rule='evenodd'%0AviewBox='0 0 784.37 1277.39' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xodm='http://www.corel.com/coreldraw/odm/2003'%3E%3Cg id='Layer_x0020_1'%3E%3Cmetadata id='CorelCorpID_0Corel-Layer'/%3E%3Cg id='_1421394342400'%3E%3Cg%3E%3Cpolygon fill='%23343434' fill-rule='nonzero' points='392.07,0 383.5,29.11 383.5,873.74 392.07,882.29 784.13,650.54 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,0 -0,650.54 392.07,882.29 392.07,472.33 '/%3E%3Cpolygon fill='%233C3C3B' fill-rule='nonzero' points='392.07,956.52 387.24,962.41 387.24,1263.28 392.07,1277.38 784.37,724.89 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,1277.38 392.07,956.52 -0,724.89 '/%3E%3Cpolygon fill='%23141414' fill-rule='nonzero' points='392.07,882.29 784.13,650.54 392.07,472.33 '/%3E%3Cpolygon fill='%23393939' fill-rule='nonzero' points='0,650.54 392.07,882.29 392.07,472.33 '/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"chainId\":13373,\"name\":\"WETH\",\"address\":\"0xD6d9321DCC42377C1fa8cFec665182c463b2392C\",\"symbol\":\"WETH\",\"decimals\":18,\"icon\":\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' width='100%25' height='100%25' version='1.1' shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality' fill-rule='evenodd' clip-rule='evenodd'%0AviewBox='0 0 784.37 1277.39' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xodm='http://www.corel.com/coreldraw/odm/2003'%3E%3Cg id='Layer_x0020_1'%3E%3Cmetadata id='CorelCorpID_0Corel-Layer'/%3E%3Cg id='_1421394342400'%3E%3Cg%3E%3Cpolygon fill='%23343434' fill-rule='nonzero' points='392.07,0 383.5,29.11 383.5,873.74 392.07,882.29 784.13,650.54 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,0 -0,650.54 392.07,882.29 392.07,472.33 '/%3E%3Cpolygon fill='%233C3C3B' fill-rule='nonzero' points='392.07,956.52 387.24,962.41 387.24,1263.28 392.07,1277.38 784.37,724.89 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,1277.38 392.07,956.52 -0,724.89 '/%3E%3Cpolygon fill='%23141414' fill-rule='nonzero' points='392.07,882.29 784.13,650.54 392.07,472.33 '/%3E%3Cpolygon fill='%23393939' fill-rule='nonzero' points='0,650.54 392.07,882.29 392.07,472.33 '/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"chainId\":1,\"name\":\"Ethereum\",\"symbol\":\"ETH\",\"decimals\":18,\"icon\":\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' width='100%25' height='100%25' version='1.1' shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality' fill-rule='evenodd' clip-rule='evenodd'%0AviewBox='0 0 784.37 1277.39' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xodm='http://www.corel.com/coreldraw/odm/2003'%3E%3Cg id='Layer_x0020_1'%3E%3Cmetadata id='CorelCorpID_0Corel-Layer'/%3E%3Cg id='_1421394342400'%3E%3Cg%3E%3Cpolygon fill='%23343434' fill-rule='nonzero' points='392.07,0 383.5,29.11 383.5,873.74 392.07,882.29 784.13,650.54 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,0 -0,650.54 392.07,882.29 392.07,472.33 '/%3E%3Cpolygon fill='%233C3C3B' fill-rule='nonzero' points='392.07,956.52 387.24,962.41 387.24,1263.28 392.07,1277.38 784.37,724.89 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,1277.38 392.07,956.52 -0,724.89 '/%3E%3Cpolygon fill='%23141414' fill-rule='nonzero' points='392.07,882.29 784.13,650.54 392.07,472.33 '/%3E%3Cpolygon fill='%23393939' fill-rule='nonzero' points='0,650.54 392.07,882.29 392.07,472.33 '/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"address\":\"0xF57e7e7C23978C3cAEC3C3548E3D615c346e79fF\",\"chainId\":1,\"name\":\"Immutable X\",\"symbol\":\"IMX\",\"decimals\":18,\"icon\":\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 139 113' style='enable-background:new 0 0 139 113;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bclip-path:url(%23SVGID_00000053504646934646330740000009134454895836103350_);%7D .st1%7Bfill:%2317B5CB;%7D%0A%3C/style%3E%3Cg%3E%3Cdefs%3E%3Crect id='SVGID_1_' width='139' height='113'/%3E%3C/defs%3E%3CclipPath id='SVGID_00000035518931339590433170000002358037249938198420_'%3E%3Cuse xlink:href='%23SVGID_1_' style='overflow:visible;'/%3E%3C/clipPath%3E%3Cg style='clip-path:url(%23SVGID_00000035518931339590433170000002358037249938198420_);'%3E%3Cpath class='st1' d='M124.1,0h14.6L79.5,67.6c-1.5,1.7-1.6,4.3-0.1,6.1l34.1,39.7H98.3L66.8,76.6l-1.6-2c-1.5-1.7-1.4-4.4,0.1-6.1 L124.1,0z'/%3E%3Cpath class='st1' d='M91.2,73.7c-1-1.1-1.3-2.7-1-4.1c0.3-0.8,0.8-1.6,1.4-2.2l3.9-4.3l43.5,50.3h-13.8 C125.2,113.4,99.7,83.6,91.2,73.7z'/%3E%3Cpath class='st1' d='M15.2,113.4H0l46.6-53.9c1.5-1.7,1.5-4.3,0-6L0.4,0H15l46.5,53.9c1.2,1.6,1.4,3.9,0.1,5.4 C49.4,73.4,15.2,113.4,15.2,113.4z'/%3E%3Cpath class='st1' d='M40.6,0h-14l43.1,49.9c0,0,0.1-0.1,4.9-5.8c1.3-1.5,1.6-3.4,0.1-4.9C65.7,30,40.6,0,40.6,0z'/%3E%3Cpath class='st1' d='M82.6,34.8L112.5,0H98.3L82.7,18.2l-4.5,5.3c-1.5,1.7-1.6,4.3-0.1,6.1C79.2,30.9,82.6,34.8,82.6,34.8z'/%3E%3Cpath class='st1' d='M56.6,78.6l-29.9,34.8h14.1l15.6-18.2l4.5-5.3c1.5-1.7,1.6-4.3,0.1-6.1C59.9,82.5,56.6,78.6,56.6,78.6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"chainId\":11155111,\"name\":\"Sep Eth\",\"symbol\":\"ETH\",\"decimals\":18,\"icon\":\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' width='100%25' height='100%25' version='1.1' shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality' fill-rule='evenodd' clip-rule='evenodd'%0AviewBox='0 0 784.37 1277.39' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xodm='http://www.corel.com/coreldraw/odm/2003'%3E%3Cg id='Layer_x0020_1'%3E%3Cmetadata id='CorelCorpID_0Corel-Layer'/%3E%3Cg id='_1421394342400'%3E%3Cg%3E%3Cpolygon fill='%23343434' fill-rule='nonzero' points='392.07,0 383.5,29.11 383.5,873.74 392.07,882.29 784.13,650.54 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,0 -0,650.54 392.07,882.29 392.07,472.33 '/%3E%3Cpolygon fill='%233C3C3B' fill-rule='nonzero' points='392.07,956.52 387.24,962.41 387.24,1263.28 392.07,1277.38 784.37,724.89 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,1277.38 392.07,956.52 -0,724.89 '/%3E%3Cpolygon fill='%23141414' fill-rule='nonzero' points='392.07,882.29 784.13,650.54 392.07,472.33 '/%3E%3Cpolygon fill='%23393939' fill-rule='nonzero' points='0,650.54 392.07,882.29 392.07,472.33 '/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"chainId\":11155111,\"name\":\"Immutable Test token\",\"address\":\"0x40cAdc2BC5d25B9c669B8E09c68eCcb9B80873f7\",\"symbol\":\"TEST\",\"decimals\":18,\"icon\":\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 139 113' style='enable-background:new 0 0 139 113;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bclip-path:url(%23SVGID_00000053504646934646330740000009134454895836103350_);%7D .st1%7Bfill:%2317B5CB;%7D%0A%3C/style%3E%3Cg%3E%3Cdefs%3E%3Crect id='SVGID_1_' width='139' height='113'/%3E%3C/defs%3E%3CclipPath id='SVGID_00000035518931339590433170000002358037249938198420_'%3E%3Cuse xlink:href='%23SVGID_1_' style='overflow:visible;'/%3E%3C/clipPath%3E%3Cg style='clip-path:url(%23SVGID_00000035518931339590433170000002358037249938198420_);'%3E%3Cpath class='st1' d='M124.1,0h14.6L79.5,67.6c-1.5,1.7-1.6,4.3-0.1,6.1l34.1,39.7H98.3L66.8,76.6l-1.6-2c-1.5-1.7-1.4-4.4,0.1-6.1 L124.1,0z'/%3E%3Cpath class='st1' d='M91.2,73.7c-1-1.1-1.3-2.7-1-4.1c0.3-0.8,0.8-1.6,1.4-2.2l3.9-4.3l43.5,50.3h-13.8 C125.2,113.4,99.7,83.6,91.2,73.7z'/%3E%3Cpath class='st1' d='M15.2,113.4H0l46.6-53.9c1.5-1.7,1.5-4.3,0-6L0.4,0H15l46.5,53.9c1.2,1.6,1.4,3.9,0.1,5.4 C49.4,73.4,15.2,113.4,15.2,113.4z'/%3E%3Cpath class='st1' d='M40.6,0h-14l43.1,49.9c0,0,0.1-0.1,4.9-5.8c1.3-1.5,1.6-3.4,0.1-4.9C65.7,30,40.6,0,40.6,0z'/%3E%3Cpath class='st1' d='M82.6,34.8L112.5,0H98.3L82.7,18.2l-4.5,5.3c-1.5,1.7-1.6,4.3-0.1,6.1C79.2,30.9,82.6,34.8,82.6,34.8z'/%3E%3Cpath class='st1' d='M56.6,78.6l-29.9,34.8h14.1l15.6-18.2l4.5-5.3c1.5-1.7,1.6-4.3,0.1-6.1C59.9,82.5,56.6,78.6,56.6,78.6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"chainId\":11155111,\"name\":\"FUN token\",\"address\":\"0x741185AEFC3E539c1F42c1d6eeE8bFf1c89D70FE\",\"symbol\":\"FUN\",\"decimals\":18,\"icon\":\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' width='100%25' height='100%25' version='1.1' shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality' fill-rule='evenodd' clip-rule='evenodd'%0AviewBox='0 0 784.37 1277.39' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xodm='http://www.corel.com/coreldraw/odm/2003'%3E%3Cg id='Layer_x0020_1'%3E%3Cmetadata id='CorelCorpID_0Corel-Layer'/%3E%3Cg id='_1421394342400'%3E%3Cg%3E%3Cpolygon fill='%23343434' fill-rule='nonzero' points='392.07,0 383.5,29.11 383.5,873.74 392.07,882.29 784.13,650.54 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,0 -0,650.54 392.07,882.29 392.07,472.33 '/%3E%3Cpolygon fill='%233C3C3B' fill-rule='nonzero' points='392.07,956.52 387.24,962.41 387.24,1263.28 392.07,1277.38 784.37,724.89 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,1277.38 392.07,956.52 -0,724.89 '/%3E%3Cpolygon fill='%23141414' fill-rule='nonzero' points='392.07,882.29 784.13,650.54 392.07,472.33 '/%3E%3Cpolygon fill='%23393939' fill-rule='nonzero' points='0,650.54 392.07,882.29 392.07,472.33 '/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"chainId\":11155111,\"name\":\"US Dollar Coin\",\"address\":\"0x1836E16b2036088490C2CFe4d11970Fc8e5884C4\",\"symbol\":\"USDC\",\"decimals\":18,\"icon\":\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' width='100%25' height='100%25' version='1.1' shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality' fill-rule='evenodd' clip-rule='evenodd'%0AviewBox='0 0 784.37 1277.39' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xodm='http://www.corel.com/coreldraw/odm/2003'%3E%3Cg id='Layer_x0020_1'%3E%3Cmetadata id='CorelCorpID_0Corel-Layer'/%3E%3Cg id='_1421394342400'%3E%3Cg%3E%3Cpolygon fill='%23343434' fill-rule='nonzero' points='392.07,0 383.5,29.11 383.5,873.74 392.07,882.29 784.13,650.54 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,0 -0,650.54 392.07,882.29 392.07,472.33 '/%3E%3Cpolygon fill='%233C3C3B' fill-rule='nonzero' points='392.07,956.52 387.24,962.41 387.24,1263.28 392.07,1277.38 784.37,724.89 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,1277.38 392.07,956.52 -0,724.89 '/%3E%3Cpolygon fill='%23141414' fill-rule='nonzero' points='392.07,882.29 784.13,650.54 392.07,472.33 '/%3E%3Cpolygon fill='%23393939' fill-rule='nonzero' points='0,650.54 392.07,882.29 392.07,472.33 '/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"chainId\":11155111,\"name\":\"DEX\",\"address\":\"0xaC953a0d7B67Fae17c87abf79f09D0f818AC66A2\",\"symbol\":\"DEX\",\"decimals\":18,\"icon\":\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' width='100%25' height='100%25' version='1.1' shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality' fill-rule='evenodd' clip-rule='evenodd'%0AviewBox='0 0 784.37 1277.39' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xodm='http://www.corel.com/coreldraw/odm/2003'%3E%3Cg id='Layer_x0020_1'%3E%3Cmetadata id='CorelCorpID_0Corel-Layer'/%3E%3Cg id='_1421394342400'%3E%3Cg%3E%3Cpolygon fill='%23343434' fill-rule='nonzero' points='392.07,0 383.5,29.11 383.5,873.74 392.07,882.29 784.13,650.54 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,0 -0,650.54 392.07,882.29 392.07,472.33 '/%3E%3Cpolygon fill='%233C3C3B' fill-rule='nonzero' points='392.07,956.52 387.24,962.41 387.24,1263.28 392.07,1277.38 784.37,724.89 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,1277.38 392.07,956.52 -0,724.89 '/%3E%3Cpolygon fill='%23141414' fill-rule='nonzero' points='392.07,882.29 784.13,650.54 392.07,472.33 '/%3E%3Cpolygon fill='%23393939' fill-rule='nonzero' points='0,650.54 392.07,882.29 392.07,472.33 '/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"chainId\":1442,\"name\":\"WETH\",\"address\":\"0x4F062A3EAeC3730560aB89b5CE5aC0ab2C5517aE\",\"symbol\":\"WETH\",\"decimals\":18,\"icon\":\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' width='100%25' height='100%25' version='1.1' shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality' fill-rule='evenodd' clip-rule='evenodd'%0AviewBox='0 0 784.37 1277.39' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xodm='http://www.corel.com/coreldraw/odm/2003'%3E%3Cg id='Layer_x0020_1'%3E%3Cmetadata id='CorelCorpID_0Corel-Layer'/%3E%3Cg id='_1421394342400'%3E%3Cg%3E%3Cpolygon fill='%23343434' fill-rule='nonzero' points='392.07,0 383.5,29.11 383.5,873.74 392.07,882.29 784.13,650.54 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,0 -0,650.54 392.07,882.29 392.07,472.33 '/%3E%3Cpolygon fill='%233C3C3B' fill-rule='nonzero' points='392.07,956.52 387.24,962.41 387.24,1263.28 392.07,1277.38 784.37,724.89 '/%3E%3Cpolygon fill='%238C8C8C' fill-rule='nonzero' points='392.07,1277.38 392.07,956.52 -0,724.89 '/%3E%3Cpolygon fill='%23141414' fill-rule='nonzero' points='392.07,882.29 784.13,650.54 392.07,472.33 '/%3E%3Cpolygon fill='%23393939' fill-rule='nonzero' points='0,650.54 392.07,882.29 392.07,472.33 '/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"address\":\"0x72958b06abdF2701AcE6ceb3cE0B8B1CE11E0851\",\"chainId\":1442,\"name\":\"Immutable X\",\"symbol\":\"IMX\",\"decimals\":18,\"icon\":\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 139 113' style='enable-background:new 0 0 139 113;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bclip-path:url(%23SVGID_00000053504646934646330740000009134454895836103350_);%7D .st1%7Bfill:%2317B5CB;%7D%0A%3C/style%3E%3Cg%3E%3Cdefs%3E%3Crect id='SVGID_1_' width='139' height='113'/%3E%3C/defs%3E%3CclipPath id='SVGID_00000035518931339590433170000002358037249938198420_'%3E%3Cuse xlink:href='%23SVGID_1_' style='overflow:visible;'/%3E%3C/clipPath%3E%3Cg style='clip-path:url(%23SVGID_00000035518931339590433170000002358037249938198420_);'%3E%3Cpath class='st1' d='M124.1,0h14.6L79.5,67.6c-1.5,1.7-1.6,4.3-0.1,6.1l34.1,39.7H98.3L66.8,76.6l-1.6-2c-1.5-1.7-1.4-4.4,0.1-6.1 L124.1,0z'/%3E%3Cpath class='st1' d='M91.2,73.7c-1-1.1-1.3-2.7-1-4.1c0.3-0.8,0.8-1.6,1.4-2.2l3.9-4.3l43.5,50.3h-13.8 C125.2,113.4,99.7,83.6,91.2,73.7z'/%3E%3Cpath class='st1' d='M15.2,113.4H0l46.6-53.9c1.5-1.7,1.5-4.3,0-6L0.4,0H15l46.5,53.9c1.2,1.6,1.4,3.9,0.1,5.4 C49.4,73.4,15.2,113.4,15.2,113.4z'/%3E%3Cpath class='st1' d='M40.6,0h-14l43.1,49.9c0,0,0.1-0.1,4.9-5.8c1.3-1.5,1.6-3.4,0.1-4.9C65.7,30,40.6,0,40.6,0z'/%3E%3Cpath class='st1' d='M82.6,34.8L112.5,0H98.3L82.7,18.2l-4.5,5.3c-1.5,1.7-1.6,4.3-0.1,6.1C79.2,30.9,82.6,34.8,82.6,34.8z'/%3E%3Cpath class='st1' d='M56.6,78.6l-29.9,34.8h14.1l15.6-18.2l4.5-5.3c1.5-1.7,1.6-4.3,0.1-6.1C59.9,82.5,56.6,78.6,56.6,78.6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]}]");
4856
6130
 
4857
6131
 
4858
6132
  const $efe60cea83bfc4e8$var$filterTokenList = ({ type: type , chainId: chainId , exclude: exclude })=>((/*@__PURE__*/$parcel$interopDefault($cda6003506e4182e$exports))).filter((token)=>{
@@ -4969,16 +6243,20 @@ async function $5cdde2ffe6360fec$export$a822caa90d7eef09({ type: type = (exports
4969
6243
 
4970
6244
 
4971
6245
 
6246
+
4972
6247
  const $dbe95599a4661140$export$8e0e7ffc78696d30 = async (params)=>{
4973
6248
  const { provider: provider , transaction: transaction } = params;
4974
- return await ($a8bc256d81a5e2c1$export$bacc563de539c6c3)(async ()=>{
6249
+ try {
4975
6250
  const transactionResponse = await provider.getSigner().sendTransaction(transaction);
4976
6251
  return {
4977
6252
  transactionResponse: transactionResponse
4978
6253
  };
4979
- }, {
4980
- type: (exports.CheckoutErrorType).TRANSACTION_ERROR
4981
- });
6254
+ } catch (err) {
6255
+ if (err.code === (ethers.ethers).errors.INSUFFICIENT_FUNDS) throw new ($a8bc256d81a5e2c1$export$b722478a3cbfa3bc)(err.message, (exports.CheckoutErrorType).INSUFFICIENT_FUNDS);
6256
+ if (err.code === (ethers.ethers).errors.ACTION_REJECTED) throw new ($a8bc256d81a5e2c1$export$b722478a3cbfa3bc)(err.message, (exports.CheckoutErrorType).USER_REJECTED_REQUEST_ERROR);
6257
+ if (err.code === (ethers.ethers).errors.UNPREDICTABLE_GAS_LIMIT) throw new ($a8bc256d81a5e2c1$export$b722478a3cbfa3bc)(err.message, (exports.CheckoutErrorType).UNPREDICTABLE_GAS_LIMIT);
6258
+ throw new ($a8bc256d81a5e2c1$export$b722478a3cbfa3bc)(err.message, (exports.CheckoutErrorType).TRANSACTION_FAILED);
6259
+ }
4982
6260
  };
4983
6261
 
4984
6262
 
@@ -5117,9 +6395,7 @@ function $parcel$export(e, n, v, s) {
5117
6395
  var $207ed853f11d19d5$exports = {};
5118
6396
 
5119
6397
  $parcel$export($207ed853f11d19d5$exports, "IMTBLWidgetEvents", () => exports.IMTBLWidgetEvents);
5120
- /**
5121
- * Enum representing the events emitted by the widgets.
5122
- */ exports.IMTBLWidgetEvents = void 0;
6398
+ exports.IMTBLWidgetEvents = void 0;
5123
6399
  (function(IMTBLWidgetEvents) {
5124
6400
  IMTBLWidgetEvents["IMTBL_CONNECT_WIDGET_EVENT"] = "imtbl-connect-widget";
5125
6401
  IMTBLWidgetEvents["IMTBL_WALLET_WIDGET_EVENT"] = "imtbl-wallet-widget";
@@ -5135,23 +6411,21 @@ var $a85ecdbd885c58ad$exports = {};
5135
6411
  $parcel$export($a85ecdbd885c58ad$exports, "ConnectEventType", () => exports.ConnectEventType);
5136
6412
  exports.ConnectEventType = void 0;
5137
6413
  (function(ConnectEventType) {
6414
+ ConnectEventType["CLOSE_WIDGET"] = "close-widget";
5138
6415
  ConnectEventType["SUCCESS"] = "success";
5139
6416
  ConnectEventType["FAILURE"] = "failure";
5140
- ConnectEventType["CLOSE_WIDGET"] = "close-widget";
5141
6417
  })(exports.ConnectEventType || (exports.ConnectEventType = {}));
5142
6418
 
5143
6419
 
5144
6420
  var $77b6aac5c353d4a9$exports = {};
5145
6421
 
5146
6422
  $parcel$export($77b6aac5c353d4a9$exports, "WalletEventType", () => exports.WalletEventType);
5147
- exports.WalletEventType = void 0;
6423
+ /**
6424
+ * Enum representing possible Wallet Widget event types.
6425
+ */ exports.WalletEventType = void 0;
5148
6426
  (function(WalletEventType) {
5149
6427
  WalletEventType["CLOSE_WIDGET"] = "close-widget";
5150
6428
  WalletEventType["NETWORK_SWITCH"] = "network-switch";
5151
- WalletEventType["ADD_COINS"] = "add-coins";
5152
- WalletEventType["REQUEST_SWAP"] = "request-swap";
5153
- WalletEventType["REQUEST_BRIDGE"] = "request-bridge";
5154
- WalletEventType["REQUEST_ONRAMP"] = "request-onramp";
5155
6429
  WalletEventType["DISCONNECT_WALLET"] = "disconnect-wallet";
5156
6430
  })(exports.WalletEventType || (exports.WalletEventType = {}));
5157
6431
 
@@ -5160,14 +6434,13 @@ var $53d219e7f6bf0cd6$exports = {};
5160
6434
 
5161
6435
  $parcel$export($53d219e7f6bf0cd6$exports, "SwapEventType", () => exports.SwapEventType);
5162
6436
  /**
5163
- * Represents an event object emitted by the Swap Widget.
5164
- * @property {SwapEventType} type - The type of the event.
5165
- * @property {T} data - The data contained in the event.
6437
+ * Enum representing possible Swap Widget event types.
5166
6438
  */ exports.SwapEventType = void 0;
5167
6439
  (function(SwapEventType) {
6440
+ SwapEventType["CLOSE_WIDGET"] = "close-widget";
5168
6441
  SwapEventType["SUCCESS"] = "success";
5169
6442
  SwapEventType["FAILURE"] = "failure";
5170
- SwapEventType["CLOSE_WIDGET"] = "close-widget";
6443
+ SwapEventType["REJECTED"] = "rejected";
5171
6444
  })(exports.SwapEventType || (exports.SwapEventType = {}));
5172
6445
 
5173
6446
 
@@ -5175,9 +6448,7 @@ var $15cc9e120aa6f3bf$exports = {};
5175
6448
 
5176
6449
  $parcel$export($15cc9e120aa6f3bf$exports, "BridgeEventType", () => exports.BridgeEventType);
5177
6450
  /**
5178
- * Represents an event object emitted by the Bridge Widget.
5179
- * @property {BridgeEventType} type - The type of the event.
5180
- * @property {T} data - The data associated with the event.
6451
+ * Enum of possible Bridge Widget event types.
5181
6452
  */ exports.BridgeEventType = void 0;
5182
6453
  (function(BridgeEventType) {
5183
6454
  BridgeEventType["CLOSE_WIDGET"] = "close-widget";
@@ -5190,30 +6461,34 @@ var $98cbcca465beec95$exports = {};
5190
6461
 
5191
6462
  $parcel$export($98cbcca465beec95$exports, "BuyEventType", () => exports.BuyEventType);
5192
6463
  /**
5193
- * Represents an event object emitted by the Buy Widget.
5194
- * @property {BuyEventType} type - The type of the event.
5195
- * @property {T} data - The data contained in the event.
6464
+ * Enum representing possible Buy Widget event types.
5196
6465
  */ exports.BuyEventType = void 0;
5197
6466
  (function(BuyEventType) {
6467
+ BuyEventType["CLOSE_WIDGET"] = "close-widget";
5198
6468
  BuyEventType["SUCCESS"] = "success";
5199
6469
  BuyEventType["FAILURE"] = "failure";
5200
6470
  BuyEventType["NOT_CONNECTED"] = "not_connected";
5201
- BuyEventType["CLOSE"] = "close";
5202
6471
  })(exports.BuyEventType || (exports.BuyEventType = {}));
5203
6472
 
5204
6473
 
5205
- var $66ceef112c0ee49e$exports = {};
6474
+ var $ad06b030b1a3ba34$exports = {};
5206
6475
 
5207
- $parcel$export($66ceef112c0ee49e$exports, "OnRampEventType", () => exports.OnRampEventType);
5208
- exports.OnRampEventType = void 0;
5209
- exports.OnRampEventType || (exports.OnRampEventType = {});
6476
+ $parcel$export($ad06b030b1a3ba34$exports, "OrchestrationEventType", () => exports.OrchestrationEventType);
6477
+ exports.OrchestrationEventType = void 0;
6478
+ (function(OrchestrationEventType) {
6479
+ OrchestrationEventType["REQUEST_CONNECT"] = "request-connect";
6480
+ OrchestrationEventType["REQUEST_WALLET"] = "request-wallet";
6481
+ OrchestrationEventType["REQUEST_SWAP"] = "request-swap";
6482
+ OrchestrationEventType["REQUEST_BRIDGE"] = "request-bridge";
6483
+ OrchestrationEventType["REQUEST_ONRAMP"] = "request-onramp";
6484
+ })(exports.OrchestrationEventType || (exports.OrchestrationEventType = {}));
5210
6485
  /* eslint-disable @typescript-eslint/naming-convention */
5211
6486
 
5212
- var $14d7a2bbb79e0dae$exports = {};
6487
+ var $045213b18e9f1f94$exports = {};
5213
6488
 
5214
- $parcel$export($14d7a2bbb79e0dae$exports, "Network", () => exports.Network);
5215
- $parcel$export($14d7a2bbb79e0dae$exports, "WidgetTheme", () => exports.WidgetTheme);
5216
- $parcel$export($14d7a2bbb79e0dae$exports, "CheckoutWidgetTagNames", () => exports.CheckoutWidgetTagNames);
6489
+ $parcel$export($045213b18e9f1f94$exports, "Network", () => exports.Network);
6490
+ $parcel$export($045213b18e9f1f94$exports, "WidgetTheme", () => exports.WidgetTheme);
6491
+ $parcel$export($045213b18e9f1f94$exports, "CheckoutWidgetTagNames", () => exports.CheckoutWidgetTagNames);
5217
6492
  /**
5218
6493
  * Enum representing the networks supported by Checkout.
5219
6494
  */ exports.Network = void 0;
@@ -5384,6 +6659,12 @@ function $430e3eda76fa4d5f$export$931068bc678f0d73(tagName, provider) {
5384
6659
  attemptToSetProvider();
5385
6660
  }
5386
6661
 
6662
+ // only for infrastructure. will be removed once wrapped functions are created
6663
+ const erc20 = 1;
6664
+
6665
+ // only for infrastructure. will be removed once wrapped functions are created
6666
+ const erc721permissionedmintable = 1;
6667
+
5387
6668
  Object.defineProperty(exports, 'imxClientCreateStarkSigner', {
5388
6669
  enumerable: true,
5389
6670
  get: function () { return coreSdk.createStarkSigner; }
@@ -5392,7 +6673,7 @@ Object.defineProperty(exports, 'imxClientGenerateLegacyStarkPrivateKey', {
5392
6673
  enumerable: true,
5393
6674
  get: function () { return coreSdk.generateLegacyStarkPrivateKey; }
5394
6675
  });
5395
- exports.guardian = guardian__namespace;
6676
+ exports.BlockchainData = BlockchainData;
5396
6677
  exports.BridgeReact = $1f969328e5988c99$export$30f61ebf204c69f6;
5397
6678
  exports.BuyReact = $f22931ca9e2f35b6$export$d13582032b79b401;
5398
6679
  exports.Checkout = $a8cb37a3fc8eb863$export$1f60ba4ec72508a0;
@@ -5411,4 +6692,6 @@ exports.SetProvider = $430e3eda76fa4d5f$export$931068bc678f0d73;
5411
6692
  exports.SwapReact = $a4fbb8e3a6aeff58$export$971e031379577f4;
5412
6693
  exports.UpdateConfig = $430e3eda76fa4d5f$export$bf1548ba7e61c17f;
5413
6694
  exports.WalletReact = $89d55ace0f8f1c07$export$ceaac94f34dba154;
6695
+ exports.erc20 = erc20;
6696
+ exports.erc721permissionedmintable = erc721permissionedmintable;
5414
6697
  exports.module = module$1;