@imtbl/sdk 0.0.1-alpha.3 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,553 +0,0 @@
1
- import { utils, Contract } from 'ethers';
2
- import $7v2Z6$metamaskdetectprovider from '@metamask/detect-provider';
3
- import { Web3Provider } from '@ethersproject/providers';
4
-
5
- function $parcel$interopDefault(a) {
6
- return a && a.__esModule ? a.default : a;
7
- }
8
-
9
- const $762782b6c862d954$export$db5daa1b5156ccfe = [
10
- {
11
- constant: true,
12
- inputs: [],
13
- name: "name",
14
- outputs: [
15
- {
16
- name: "",
17
- type: "string"
18
- }
19
- ],
20
- payable: false,
21
- type: "function"
22
- },
23
- {
24
- constant: true,
25
- inputs: [],
26
- name: "decimals",
27
- outputs: [
28
- {
29
- name: "",
30
- type: "uint8"
31
- }
32
- ],
33
- payable: false,
34
- type: "function"
35
- },
36
- {
37
- constant: true,
38
- inputs: [
39
- {
40
- name: "_owner",
41
- type: "address"
42
- }
43
- ],
44
- name: "balanceOf",
45
- outputs: [
46
- {
47
- name: "balance",
48
- type: "uint256"
49
- }
50
- ],
51
- payable: false,
52
- type: "function"
53
- },
54
- {
55
- constant: true,
56
- inputs: [],
57
- name: "symbol",
58
- outputs: [
59
- {
60
- name: "",
61
- type: "string"
62
- }
63
- ],
64
- payable: false,
65
- type: "function"
66
- }
67
- ];
68
-
69
-
70
- let $d176a05e966364ba$export$3bfad4d03ada24c4;
71
- (function(ConnectionProviders) {
72
- ConnectionProviders["METAMASK"] = "metamask";
73
- })($d176a05e966364ba$export$3bfad4d03ada24c4 || ($d176a05e966364ba$export$3bfad4d03ada24c4 = {}));
74
-
75
-
76
- let $a47e48dd2c04791b$export$c06e1e7429de6283;
77
- (function(ChainId) {
78
- ChainId[ChainId["ETHEREUM"] = 1] = "ETHEREUM";
79
- ChainId[ChainId["GOERLI"] = 5] = "GOERLI";
80
- ChainId[ChainId["POLYGON"] = 137] = "POLYGON";
81
- })($a47e48dd2c04791b$export$c06e1e7429de6283 || ($a47e48dd2c04791b$export$c06e1e7429de6283 = {}));
82
- const $a47e48dd2c04791b$export$f61f4aaec62f6be9 = {
83
- [$a47e48dd2c04791b$export$c06e1e7429de6283.ETHEREUM]: {
84
- chainIdHex: "0x1",
85
- chainName: "Ethereum",
86
- rpcUrls: [
87
- "https://mainnet.infura.io/v3/"
88
- ],
89
- nativeCurrency: {
90
- name: "Ethereum",
91
- symbol: "ETH",
92
- decimals: 18
93
- },
94
- blockExplorerUrls: [
95
- "https://etherscan.io/"
96
- ]
97
- },
98
- [$a47e48dd2c04791b$export$c06e1e7429de6283.GOERLI]: {
99
- chainIdHex: "0x5",
100
- chainName: "Goerli",
101
- rpcUrls: [
102
- "https://goerli.infura.io/v3/"
103
- ],
104
- nativeCurrency: {
105
- name: "Goerli Eth",
106
- symbol: "ETH",
107
- decimals: 18
108
- },
109
- blockExplorerUrls: [
110
- "https://goerli.etherscan.io/"
111
- ]
112
- },
113
- [$a47e48dd2c04791b$export$c06e1e7429de6283.POLYGON]: {
114
- chainIdHex: "0x89",
115
- chainName: "Polygon",
116
- rpcUrls: [
117
- "https://polygon-rpc.com"
118
- ],
119
- nativeCurrency: {
120
- name: "MATIC",
121
- symbol: "MATIC",
122
- decimals: 18
123
- },
124
- blockExplorerUrls: [
125
- "https://polygonscan.com/"
126
- ]
127
- }
128
- };
129
- let $a47e48dd2c04791b$export$1f05a55fe0680cc7;
130
- (function(NetworkFilterTypes) {
131
- NetworkFilterTypes["ALL"] = "all";
132
- })($a47e48dd2c04791b$export$1f05a55fe0680cc7 || ($a47e48dd2c04791b$export$1f05a55fe0680cc7 = {}));
133
-
134
-
135
- let $08d5ddc39acd6833$export$fd9b17d87f4121d2;
136
- (function(TokenFilterTypes) {
137
- TokenFilterTypes["SWAP"] = "swap";
138
- TokenFilterTypes["BRIDGE"] = "bridge";
139
- TokenFilterTypes["ALL"] = "all";
140
- })($08d5ddc39acd6833$export$fd9b17d87f4121d2 || ($08d5ddc39acd6833$export$fd9b17d87f4121d2 = {}));
141
-
142
-
143
-
144
-
145
- const $4f91c5f280efe242$export$a130407f3423b97d = {
146
- CHECK_CONNECTION: "eth_accounts",
147
- CONNECT: "eth_requestAccounts",
148
- ADD_NETWORK: "wallet_addEthereumChain",
149
- SWITCH_NETWORK: "wallet_switchEthereumChain"
150
- };
151
- let $4f91c5f280efe242$export$a75605c67ea83a5a;
152
- (function(WalletFilterTypes) {
153
- WalletFilterTypes["ALL"] = "all";
154
- WalletFilterTypes["DESKTOP"] = "desktop";
155
- WalletFilterTypes["MOBILE"] = "mobile";
156
- })($4f91c5f280efe242$export$a75605c67ea83a5a || ($4f91c5f280efe242$export$a75605c67ea83a5a = {}));
157
-
158
-
159
-
160
-
161
- let $a8bc256d81a5e2c1$export$e3dc0620abde7f5a;
162
- (function(CheckoutErrorType) {
163
- CheckoutErrorType["PROVIDER_PREFERENCE_ERROR"] = "PROVIDER_PREFERENCE_ERROR";
164
- CheckoutErrorType["CONNECT_PROVIDER_ERROR"] = "CONNECT_PROVIDER_ERROR";
165
- CheckoutErrorType["GET_BALANCE_ERROR"] = "GET_BALANCE_ERROR";
166
- CheckoutErrorType["GET_ERC20_BALANCE_ERROR"] = "GET_ERC20_BALANCE_ERROR";
167
- CheckoutErrorType["GET_NETWORK_INFO_ERROR"] = "GET_NETWORK_INFO_ERROR";
168
- CheckoutErrorType["METAMASK_PROVIDER_ERROR"] = "METAMASK_PROVIDER_ERROR";
169
- CheckoutErrorType["CHAIN_NOT_SUPPORTED_ERROR"] = "CHAIN_NOT_SUPPORTED_ERROR";
170
- CheckoutErrorType["PROVIDER_REQUEST_MISSING_ERROR"] = "PROVIDER_REQUEST_MISSING_ERROR";
171
- CheckoutErrorType["PROVIDER_REQUEST_FAILED_ERROR"] = "PROVIDER_REQUEST_FAILED_ERROR";
172
- CheckoutErrorType["USER_REJECTED_REQUEST_ERROR"] = "USER_REJECTED_REQUEST_ERROR";
173
- CheckoutErrorType["TRANSACTION_ERROR"] = "TRANSACTION_ERROR";
174
- })($a8bc256d81a5e2c1$export$e3dc0620abde7f5a || ($a8bc256d81a5e2c1$export$e3dc0620abde7f5a = {}));
175
- class $a8bc256d81a5e2c1$export$b722478a3cbfa3bc extends Error {
176
- constructor(message, type, data){
177
- super(message);
178
- this.message = message;
179
- this.type = type;
180
- this.data = data;
181
- }
182
- }
183
- let $a8bc256d81a5e2c1$export$a22d4e0719ee6def;
184
- (function(CheckoutInternalErrorType) {
185
- CheckoutInternalErrorType["REJECTED_SWITCH_AFTER_ADDING_NETWORK"] = "REJECTED_SWITCH_AFTER_ADDING_NETWORK";
186
- })($a8bc256d81a5e2c1$export$a22d4e0719ee6def || ($a8bc256d81a5e2c1$export$a22d4e0719ee6def = {}));
187
- class $a8bc256d81a5e2c1$export$620a0d5f1b58ea1d extends Error {
188
- constructor(type){
189
- super("Checkout internal error");
190
- this.type = type;
191
- }
192
- }
193
- const $a8bc256d81a5e2c1$export$bacc563de539c6c3 = async (fn, customError)=>{
194
- try {
195
- return await fn();
196
- } catch (error) {
197
- const cause = `${error.message}` || "UnknownError";
198
- const errorMessage = customError.message ? `[${customError.type}]:${customError.message}. Cause:${cause}` : `[${customError.type}] Cause:${cause}`;
199
- if (error instanceof $a8bc256d81a5e2c1$export$b722478a3cbfa3bc) throw new $a8bc256d81a5e2c1$export$b722478a3cbfa3bc(errorMessage, customError.type, {
200
- ...customError.data,
201
- innerErrorType: error.type,
202
- ...error.data
203
- });
204
- throw new $a8bc256d81a5e2c1$export$b722478a3cbfa3bc(errorMessage, customError.type, {
205
- ...customError.data
206
- });
207
- }
208
- };
209
-
210
-
211
-
212
-
213
- /* eslint-disable @typescript-eslint/no-explicit-any */
214
-
215
- var $497c134ecbc8a50f$exports = {};
216
- $497c134ecbc8a50f$exports = JSON.parse('[{"chainId":1},{"chainId":5},{"chainId":137}]');
217
-
218
-
219
- const $de192de6ef100f9f$var$UNRECOGNISED_CHAIN_ERROR_CODE = 4902; // error code (MetaMask)
220
- async function $de192de6ef100f9f$export$79f13b4cfaaf0d09(provider) {
221
- return ($a8bc256d81a5e2c1$export$bacc563de539c6c3)(async ()=>{
222
- const network = await provider.getNetwork();
223
- if (!Object.values(($a47e48dd2c04791b$export$c06e1e7429de6283)).includes(network.chainId)) // return empty details
224
- return {
225
- chainId: network.chainId,
226
- name: network.name,
227
- isSupported: false
228
- };
229
- const chainIdNetworkInfo = ($a47e48dd2c04791b$export$f61f4aaec62f6be9)[network.chainId];
230
- return {
231
- name: chainIdNetworkInfo.chainName,
232
- chainId: parseInt(chainIdNetworkInfo.chainIdHex, 16),
233
- nativeCurrency: chainIdNetworkInfo.nativeCurrency,
234
- isSupported: true
235
- };
236
- }, {
237
- type: ($a8bc256d81a5e2c1$export$e3dc0620abde7f5a).GET_NETWORK_INFO_ERROR
238
- });
239
- }
240
- async function $de192de6ef100f9f$export$b827d9418aeb5dbd(provider, chainId) {
241
- if (!Object.values(($a47e48dd2c04791b$export$c06e1e7429de6283)).includes(chainId)) throw new ($a8bc256d81a5e2c1$export$b722478a3cbfa3bc)(`Chain:${chainId} is not a supported chain`, ($a8bc256d81a5e2c1$export$e3dc0620abde7f5a).CHAIN_NOT_SUPPORTED_ERROR);
242
- if (!provider || !provider.provider?.request) throw new ($a8bc256d81a5e2c1$export$b722478a3cbfa3bc)("Incompatible provider", ($a8bc256d81a5e2c1$export$e3dc0620abde7f5a).PROVIDER_REQUEST_MISSING_ERROR, {
243
- details: `Unsupported provider`
244
- });
245
- // WT-1146 - Refer to the README in this folder for explantion on the switch network flow
246
- try {
247
- await $de192de6ef100f9f$var$switchNetworkInWallet(provider, chainId);
248
- } catch (err) {
249
- if (err.code === $de192de6ef100f9f$var$UNRECOGNISED_CHAIN_ERROR_CODE) try {
250
- await $de192de6ef100f9f$var$addNetworkToWallet(provider, chainId);
251
- if ((await provider.getNetwork()).chainId !== chainId) // user didn't actually switch
252
- throw new (0, $a8bc256d81a5e2c1$export$620a0d5f1b58ea1d)((0, $a8bc256d81a5e2c1$export$a22d4e0719ee6def).REJECTED_SWITCH_AFTER_ADDING_NETWORK);
253
- } catch (err) {
254
- if (err?.type === ($a8bc256d81a5e2c1$export$a22d4e0719ee6def).REJECTED_SWITCH_AFTER_ADDING_NETWORK) throw new ($a8bc256d81a5e2c1$export$b722478a3cbfa3bc)("User cancelled switch network request", ($a8bc256d81a5e2c1$export$e3dc0620abde7f5a).USER_REJECTED_REQUEST_ERROR);
255
- throw new ($a8bc256d81a5e2c1$export$b722478a3cbfa3bc)("User cancelled add network request", ($a8bc256d81a5e2c1$export$e3dc0620abde7f5a).USER_REJECTED_REQUEST_ERROR);
256
- }
257
- else throw new ($a8bc256d81a5e2c1$export$b722478a3cbfa3bc)("User cancelled switch network request", ($a8bc256d81a5e2c1$export$e3dc0620abde7f5a).USER_REJECTED_REQUEST_ERROR);
258
- }
259
- // we can assume that if the above succeeds then user has successfully
260
- // switched to the network specified
261
- const newNetwork = ($a47e48dd2c04791b$export$f61f4aaec62f6be9)[chainId];
262
- return {
263
- network: {
264
- name: newNetwork.chainName,
265
- chainId: parseInt(newNetwork.chainIdHex, 16),
266
- nativeCurrency: newNetwork.nativeCurrency
267
- }
268
- };
269
- }
270
- async function $de192de6ef100f9f$export$3043f6442a9ef563({ type: type = ($a47e48dd2c04791b$export$1f05a55fe0680cc7).ALL , exclude: exclude }) {
271
- const list = ((/*@__PURE__*/$parcel$interopDefault($497c134ecbc8a50f$exports))).filter((network)=>{
272
- const allowAllTokens = type === ($a47e48dd2c04791b$export$1f05a55fe0680cc7).ALL;
273
- const networkNotExcluded = !(exclude || []).map((exc)=>exc.chainId).includes(network.chainId);
274
- return allowAllTokens && networkNotExcluded;
275
- });
276
- const allowedNetworks = [];
277
- list.forEach((element)=>{
278
- const newNetwork = ($a47e48dd2c04791b$export$f61f4aaec62f6be9)[element.chainId];
279
- allowedNetworks.push({
280
- name: newNetwork.chainName,
281
- chainId: parseInt(newNetwork.chainIdHex, 16),
282
- nativeCurrency: newNetwork.nativeCurrency,
283
- isSupported: true
284
- });
285
- });
286
- return {
287
- networks: allowedNetworks
288
- };
289
- }
290
- // these functions should not be exported. These functions should be used as part of an exported function e.g switchWalletNetwork() above.
291
- // make sure to check if(provider.provider?.request) in the exported function and throw an error
292
- async function $de192de6ef100f9f$var$switchNetworkInWallet(provider, chainId) {
293
- if (provider.provider?.request) return await provider.provider.request({
294
- method: ($4f91c5f280efe242$export$a130407f3423b97d).SWITCH_NETWORK,
295
- params: [
296
- {
297
- chainId: ($a47e48dd2c04791b$export$f61f4aaec62f6be9)[chainId].chainIdHex
298
- }
299
- ]
300
- });
301
- }
302
- async function $de192de6ef100f9f$var$addNetworkToWallet(provider, chainId) {
303
- if (provider.provider?.request) {
304
- const addNetwork = {
305
- chainId: ($a47e48dd2c04791b$export$f61f4aaec62f6be9)[chainId].chainIdHex,
306
- chainName: ($a47e48dd2c04791b$export$f61f4aaec62f6be9)[chainId].chainName,
307
- rpcUrls: ($a47e48dd2c04791b$export$f61f4aaec62f6be9)[chainId].rpcUrls,
308
- nativeCurrency: ($a47e48dd2c04791b$export$f61f4aaec62f6be9)[chainId].nativeCurrency,
309
- blockExplorerUrls: ($a47e48dd2c04791b$export$f61f4aaec62f6be9)[chainId].blockExplorerUrls
310
- };
311
- return await provider.provider.request({
312
- method: ($4f91c5f280efe242$export$a130407f3423b97d).ADD_NETWORK,
313
- params: [
314
- addNetwork
315
- ]
316
- });
317
- }
318
- }
319
-
320
-
321
-
322
-
323
-
324
- var $cda6003506e4182e$exports = {};
325
- $cda6003506e4182e$exports = JSON.parse("[{\"address\":\"0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0\",\"chainId\":137,\"name\":\"Matic\",\"symbol\":\"MATIC\",\"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 38.4 33.5' style='enable-background:new 0 0 38.4 33.5;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%238247E5;%7D%0A%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M29,10.2c-0.7-0.4-1.6-0.4-2.4,0L21,13.5l-3.8,2.1l-5.5,3.3c-0.7,0.4-1.6,0.4-2.4,0L5,16.3 c-0.7-0.4-1.2-1.2-1.2-2.1v-5c0-0.8,0.4-1.6,1.2-2.1l4.3-2.5c0.7-0.4,1.6-0.4,2.4,0L16,7.2c0.7,0.4,1.2,1.2,1.2,2.1v3.3l3.8-2.2V7 c0-0.8-0.4-1.6-1.2-2.1l-8-4.7c-0.7-0.4-1.6-0.4-2.4,0L1.2,5C0.4,5.4,0,6.2,0,7v9.4c0,0.8,0.4,1.6,1.2,2.1l8.1,4.7 c0.7,0.4,1.6,0.4,2.4,0l5.5-3.2l3.8-2.2l5.5-3.2c0.7-0.4,1.6-0.4,2.4,0l4.3,2.5c0.7,0.4,1.2,1.2,1.2,2.1v5c0,0.8-0.4,1.6-1.2,2.1 L29,28.8c-0.7,0.4-1.6,0.4-2.4,0l-4.3-2.5c-0.7-0.4-1.2-1.2-1.2-2.1V21l-3.8,2.2v3.3c0,0.8,0.4,1.6,1.2,2.1l8.1,4.7 c0.7,0.4,1.6,0.4,2.4,0l8.1-4.7c0.7-0.4,1.2-1.2,1.2-2.1V17c0-0.8-0.4-1.6-1.2-2.1L29,10.2z'/%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"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\",\"chainId\":1,\"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\"]},{\"address\":\"0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0\",\"chainId\":1,\"name\":\"Matic\",\"symbol\":\"MATIC\",\"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 38.4 33.5' style='enable-background:new 0 0 38.4 33.5;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%238247E5;%7D%0A%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M29,10.2c-0.7-0.4-1.6-0.4-2.4,0L21,13.5l-3.8,2.1l-5.5,3.3c-0.7,0.4-1.6,0.4-2.4,0L5,16.3 c-0.7-0.4-1.2-1.2-1.2-2.1v-5c0-0.8,0.4-1.6,1.2-2.1l4.3-2.5c0.7-0.4,1.6-0.4,2.4,0L16,7.2c0.7,0.4,1.2,1.2,1.2,2.1v3.3l3.8-2.2V7 c0-0.8-0.4-1.6-1.2-2.1l-8-4.7c-0.7-0.4-1.6-0.4-2.4,0L1.2,5C0.4,5.4,0,6.2,0,7v9.4c0,0.8,0.4,1.6,1.2,2.1l8.1,4.7 c0.7,0.4,1.6,0.4,2.4,0l5.5-3.2l3.8-2.2l5.5-3.2c0.7-0.4,1.6-0.4,2.4,0l4.3,2.5c0.7,0.4,1.2,1.2,1.2,2.1v5c0,0.8-0.4,1.6-1.2,2.1 L29,28.8c-0.7,0.4-1.6,0.4-2.4,0l-4.3-2.5c-0.7-0.4-1.2-1.2-1.2-2.1V21l-3.8,2.2v3.3c0,0.8,0.4,1.6,1.2,2.1l8.1,4.7 c0.7,0.4,1.6,0.4,2.4,0l8.1-4.7c0.7-0.4,1.2-1.2,1.2-2.1V17c0-0.8-0.4-1.6-1.2-2.1L29,10.2z'/%3E%3C/g%3E%3C/svg%3E%0A\",\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"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\",\"chainId\":5,\"tokenFeatures\":[\"swap\",\"bridge\"]},{\"address\":\"0x1facdd0165489f373255a90304650e15481b2c85\",\"chainId\":5,\"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\"]},{\"address\":\"0x123456789\",\"chainId\":5,\"name\":\"Swap Coin\",\"symbol\":\"SWC\",\"decimals\":18,\"tokenFeatures\":[\"swap\",\"fakeFeature\"]},{\"address\":\"0x123456789\",\"chainId\":5,\"name\":\"Bridge Coin\",\"symbol\":\"BDC\",\"decimals\":18,\"tokenFeatures\":[\"bridge\",\"fakeFeature\"]}]");
326
-
327
-
328
- const $efe60cea83bfc4e8$export$473cec51305fdae8 = async function({ type: type = ($08d5ddc39acd6833$export$fd9b17d87f4121d2).ALL , chainId: chainId , exclude: exclude }) {
329
- // todo:For API call, use the CheckoutError with errorType:API_CALL_ERROR?? or any other
330
- const filteredTokenList = ((/*@__PURE__*/$parcel$interopDefault($cda6003506e4182e$exports))).filter((token)=>{
331
- const chainIdMatches = token.chainId == chainId;
332
- const tokenNotExcluded = !exclude?.map((excludeToken)=>excludeToken.address).includes(token.address || "");
333
- const allowAllTokens = type === ($08d5ddc39acd6833$export$fd9b17d87f4121d2).ALL;
334
- const tokenAllowedForType = token.tokenFeatures.includes(type);
335
- return chainIdMatches && tokenNotExcluded && (allowAllTokens || tokenAllowedForType);
336
- }).map((token)=>{
337
- const { chainId: chainId , tokenFeatures: tokenFeatures , ...tokenInfo } = token;
338
- return tokenInfo;
339
- });
340
- return {
341
- tokens: filteredTokenList
342
- };
343
- };
344
-
345
-
346
-
347
-
348
- const $1564e43dde50bb61$export$df96cd8d56be0ab1 = async (provider, walletAddress)=>{
349
- return await ($a8bc256d81a5e2c1$export$bacc563de539c6c3)(async ()=>{
350
- const networkInfo = await ($de192de6ef100f9f$export$79f13b4cfaaf0d09)(provider);
351
- if (!networkInfo.isSupported) throw new ($a8bc256d81a5e2c1$export$b722478a3cbfa3bc)(`Chain:${networkInfo.chainId} is not a supported chain`, ($a8bc256d81a5e2c1$export$e3dc0620abde7f5a).CHAIN_NOT_SUPPORTED_ERROR, {
352
- chainName: networkInfo.name
353
- });
354
- const balance = await provider.getBalance(walletAddress);
355
- return {
356
- balance: balance,
357
- formattedBalance: (utils).formatUnits(balance, networkInfo.nativeCurrency.decimals),
358
- token: networkInfo.nativeCurrency
359
- };
360
- }, {
361
- type: ($a8bc256d81a5e2c1$export$e3dc0620abde7f5a).GET_BALANCE_ERROR
362
- });
363
- };
364
- async function $1564e43dde50bb61$export$60e0fe116a0e6ed0(provider, walletAddress, contractAddress) {
365
- return await ($a8bc256d81a5e2c1$export$bacc563de539c6c3)(async ()=>{
366
- const contract = new (Contract)(contractAddress, JSON.stringify(($762782b6c862d954$export$db5daa1b5156ccfe)), provider);
367
- const name = await contract.name();
368
- const symbol = await contract.symbol();
369
- const balance = await contract.balanceOf(walletAddress);
370
- const decimals = await contract.decimals();
371
- const formattedBalance = (utils).formatUnits(balance, decimals);
372
- return {
373
- balance: balance,
374
- formattedBalance: formattedBalance,
375
- token: {
376
- name: name,
377
- symbol: symbol,
378
- decimals: decimals,
379
- address: contractAddress
380
- }
381
- };
382
- }, {
383
- type: ($a8bc256d81a5e2c1$export$e3dc0620abde7f5a).GET_ERC20_BALANCE_ERROR
384
- });
385
- }
386
- const $1564e43dde50bb61$export$fee49741664a4d7e = async (provider, walletAddress, chainId)=>{
387
- if (!Object.values(($a47e48dd2c04791b$export$c06e1e7429de6283)).includes(chainId)) throw new ($a8bc256d81a5e2c1$export$b722478a3cbfa3bc)(`ChainId ${chainId} is not supported`, ($a8bc256d81a5e2c1$export$e3dc0620abde7f5a).CHAIN_NOT_SUPPORTED_ERROR);
388
- if (!provider.provider?.request) throw new ($a8bc256d81a5e2c1$export$b722478a3cbfa3bc)("provider object is missing request function", ($a8bc256d81a5e2c1$export$e3dc0620abde7f5a).PROVIDER_REQUEST_MISSING_ERROR);
389
- const tokenList = await ($efe60cea83bfc4e8$export$473cec51305fdae8)({
390
- type: ($08d5ddc39acd6833$export$fd9b17d87f4121d2).ALL,
391
- chainId: chainId
392
- });
393
- const allBalancePromises = [];
394
- allBalancePromises.push($1564e43dde50bb61$export$df96cd8d56be0ab1(provider, walletAddress));
395
- tokenList.tokens.filter((token)=>token.address).forEach((token)=>allBalancePromises.push($1564e43dde50bb61$export$60e0fe116a0e6ed0(provider, walletAddress, token.address ?? "")));
396
- const balanceResults = await Promise.allSettled(allBalancePromises);
397
- const getBalanceResults = balanceResults.filter((result)=>result.status === "fulfilled").map((fulfilledResult)=>fulfilledResult.value);
398
- return {
399
- balances: getBalanceResults
400
- };
401
- };
402
-
403
-
404
-
405
-
406
-
407
- /* eslint-disable @typescript-eslint/no-explicit-any */
408
-
409
-
410
-
411
- async function $c99672cf2294e839$export$2d040992269b4717(providerPreference) {
412
- const provider = await $c99672cf2294e839$var$getWalletProviderForPreference(providerPreference);
413
- if (!provider.provider?.request) throw new ($a8bc256d81a5e2c1$export$b722478a3cbfa3bc)("Incompatible provider", ($a8bc256d81a5e2c1$export$e3dc0620abde7f5a).PROVIDER_REQUEST_MISSING_ERROR, {
414
- details: `Unsupported provider for ${providerPreference}`
415
- });
416
- let accounts = [];
417
- try {
418
- accounts = await provider.provider.request({
419
- method: (0, $4f91c5f280efe242$export$a130407f3423b97d).CHECK_CONNECTION,
420
- params: []
421
- });
422
- } catch (err) {
423
- throw new ($a8bc256d81a5e2c1$export$b722478a3cbfa3bc)(`Check wallet connection request failed`, ($a8bc256d81a5e2c1$export$e3dc0620abde7f5a).PROVIDER_REQUEST_FAILED_ERROR, {
424
- rpcMethod: ($4f91c5f280efe242$export$a130407f3423b97d).CHECK_CONNECTION
425
- });
426
- }
427
- // accounts[0] will have the active account if connected.
428
- return {
429
- isConnected: accounts && accounts.length > 0,
430
- walletAddress: accounts[0] ?? ""
431
- };
432
- }
433
- async function $c99672cf2294e839$export$fba2f6c3656e07c1(params) {
434
- const web3Provider = await $c99672cf2294e839$var$getWalletProviderForPreference(params.providerPreference);
435
- await ($a8bc256d81a5e2c1$export$bacc563de539c6c3)(async ()=>{
436
- if (!web3Provider || !web3Provider?.provider?.request) throw new ($a8bc256d81a5e2c1$export$b722478a3cbfa3bc)("Incompatible provider", ($a8bc256d81a5e2c1$export$e3dc0620abde7f5a).PROVIDER_REQUEST_MISSING_ERROR, {
437
- details: `Unsupported provider for ${params.providerPreference}`
438
- });
439
- // this makes the request to the wallet to connect i.e request eth accounts ('eth_requestAccounts')
440
- await web3Provider.provider.request({
441
- method: ($4f91c5f280efe242$export$a130407f3423b97d).CONNECT,
442
- params: []
443
- });
444
- }, {
445
- type: ($a8bc256d81a5e2c1$export$e3dc0620abde7f5a).USER_REJECTED_REQUEST_ERROR
446
- });
447
- return web3Provider;
448
- }
449
- async function $c99672cf2294e839$var$getWalletProviderForPreference(providerPreference) {
450
- let web3Provider = null;
451
- switch(providerPreference){
452
- case ($d176a05e966364ba$export$3bfad4d03ada24c4).METAMASK:
453
- web3Provider = await $c99672cf2294e839$var$getMetaMaskProvider();
454
- break;
455
- default:
456
- throw new ($a8bc256d81a5e2c1$export$b722478a3cbfa3bc)("Provider preference is not supported", ($a8bc256d81a5e2c1$export$e3dc0620abde7f5a).PROVIDER_PREFERENCE_ERROR);
457
- }
458
- return web3Provider;
459
- }
460
- async function $c99672cf2294e839$var$getMetaMaskProvider() {
461
- const provider = await ($a8bc256d81a5e2c1$export$bacc563de539c6c3)(async ()=>{
462
- return await ($7v2Z6$metamaskdetectprovider)();
463
- }, {
464
- type: ($a8bc256d81a5e2c1$export$e3dc0620abde7f5a).METAMASK_PROVIDER_ERROR
465
- });
466
- if (!provider || !provider.request) throw new ($a8bc256d81a5e2c1$export$b722478a3cbfa3bc)("No MetaMask provider installed.", ($a8bc256d81a5e2c1$export$e3dc0620abde7f5a).METAMASK_PROVIDER_ERROR);
467
- return new (Web3Provider)(provider);
468
- }
469
-
470
-
471
-
472
-
473
-
474
- var $6f3c55a615003cbf$exports = {};
475
- $6f3c55a615003cbf$exports = JSON.parse('[{"connectionProvider":"metamask","icon":"some-icon-url","name":"MetaMask","description":"complete web3 wallet solution","platform":["mobile","desktop"]},{"connectionProvider":"passport","icon":"pp-icon","name":"Passport","description":"Web3 with your email!","platform":["mobile"]},{"connectionProvider":"gamestop","icon":"gme-icon","name":"GameStop","description":"Never stopping the game!","platform":["desktop"]}]');
476
-
477
-
478
- async function $5cdde2ffe6360fec$export$a822caa90d7eef09({ type: type = ($4f91c5f280efe242$export$a75605c67ea83a5a).ALL , exclude: exclude }) {
479
- // todo:For async API call, use the CheckoutError with errorType:API_CALL_ERROR?? or any other
480
- const filteredWalletsList = ((/*@__PURE__*/$parcel$interopDefault($6f3c55a615003cbf$exports))).filter((wallet)=>{
481
- const walletNotExcluded = !exclude?.map((excludeWallet)=>excludeWallet.connectionProvider).includes(wallet.connectionProvider);
482
- const allowAllWallets = type === ($4f91c5f280efe242$export$a75605c67ea83a5a).ALL;
483
- const walletsAllowedForType = wallet.platform.includes(type);
484
- return walletNotExcluded && (allowAllWallets || walletsAllowedForType);
485
- }).map((wallet)=>{
486
- const { platform: platform , ...walletInfo } = wallet;
487
- return walletInfo;
488
- });
489
- return {
490
- wallets: filteredWalletsList
491
- };
492
- }
493
-
494
-
495
-
496
-
497
-
498
-
499
- const $dbe95599a4661140$export$8e0e7ffc78696d30 = async (params)=>{
500
- const { provider: provider , transaction: transaction } = params;
501
- return await ($a8bc256d81a5e2c1$export$bacc563de539c6c3)(async ()=>{
502
- const transactionResponse = await provider.getSigner().sendTransaction(transaction);
503
- return {
504
- transactionResponse: transactionResponse
505
- };
506
- }, {
507
- type: ($a8bc256d81a5e2c1$export$e3dc0620abde7f5a).TRANSACTION_ERROR
508
- });
509
- };
510
-
511
-
512
-
513
-
514
- class $a8cb37a3fc8eb863$export$1f60ba4ec72508a0 {
515
- async checkIsWalletConnected(params) {
516
- return $c99672cf2294e839$export$2d040992269b4717(params.providerPreference);
517
- }
518
- async connect(params) {
519
- const provider = await $c99672cf2294e839$export$fba2f6c3656e07c1(params);
520
- const networkInfo = await $de192de6ef100f9f$export$79f13b4cfaaf0d09(provider);
521
- return {
522
- provider: provider,
523
- network: networkInfo
524
- };
525
- }
526
- async switchNetwork(params) {
527
- return await $de192de6ef100f9f$export$b827d9418aeb5dbd(params.provider, params.chainId);
528
- }
529
- async getBalance(params) {
530
- if (!params.contractAddress || params.contractAddress === "") return await $1564e43dde50bb61$export$df96cd8d56be0ab1(params.provider, params.walletAddress);
531
- return await $1564e43dde50bb61$export$60e0fe116a0e6ed0(params.provider, params.walletAddress, params.contractAddress);
532
- }
533
- async getAllBalances(params) {
534
- return $1564e43dde50bb61$export$fee49741664a4d7e(params.provider, params.walletAddress, params.chainId);
535
- }
536
- async getNetworkAllowList(params) {
537
- return await $de192de6ef100f9f$export$3043f6442a9ef563(params);
538
- }
539
- async getTokenAllowList(params) {
540
- return await $efe60cea83bfc4e8$export$473cec51305fdae8(params);
541
- }
542
- async getWalletsAllowList(params) {
543
- return await $5cdde2ffe6360fec$export$a822caa90d7eef09(params);
544
- }
545
- async sendTransaction(params) {
546
- return await $dbe95599a4661140$export$8e0e7ffc78696d30(params);
547
- }
548
- async getNetworkInfo(params) {
549
- return await $de192de6ef100f9f$export$79f13b4cfaaf0d09(params.provider);
550
- }
551
- }
552
-
553
- export { $a47e48dd2c04791b$export$c06e1e7429de6283 as ChainId, $a8cb37a3fc8eb863$export$1f60ba4ec72508a0 as Checkout, $d176a05e966364ba$export$3bfad4d03ada24c4 as ConnectionProviders, $a47e48dd2c04791b$export$1f05a55fe0680cc7 as NetworkFilterTypes, $08d5ddc39acd6833$export$fd9b17d87f4121d2 as TokenFilterTypes, $4f91c5f280efe242$export$a75605c67ea83a5a as WalletFilterTypes };