@meshconnect/web-link-sdk 3.3.3 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/Link.js +12 -317
  2. package/README.md +1 -0
  3. package/package.json +3 -7
  4. package/utils/types.d.ts +5 -93
  5. package/utils/version.d.ts +1 -1
  6. package/utils/version.js +1 -1
  7. package/utils/connectors/evm/chainConfigs.d.ts +0 -2
  8. package/utils/connectors/evm/chainConfigs.js +0 -115
  9. package/utils/connectors/evm/chainSwitching.d.ts +0 -15
  10. package/utils/connectors/evm/chainSwitching.js +0 -242
  11. package/utils/connectors/evm/index.d.ts +0 -8
  12. package/utils/connectors/evm/index.js +0 -8
  13. package/utils/connectors/evm/provider.d.ts +0 -6
  14. package/utils/connectors/evm/provider.js +0 -13
  15. package/utils/connectors/evm/signing.d.ts +0 -1
  16. package/utils/connectors/evm/signing.js +0 -78
  17. package/utils/connectors/evm/transactions.d.ts +0 -28
  18. package/utils/connectors/evm/transactions.js +0 -381
  19. package/utils/connectors/evm/types.d.ts +0 -57
  20. package/utils/connectors/evm/types.js +0 -1
  21. package/utils/connectors/evm/walletConnection.d.ts +0 -20
  22. package/utils/connectors/evm/walletConnection.js +0 -160
  23. package/utils/connectors/evm/walletDiscovery.d.ts +0 -10
  24. package/utils/connectors/evm/walletDiscovery.js +0 -55
  25. package/utils/connectors/solana/connection.d.ts +0 -4
  26. package/utils/connectors/solana/connection.js +0 -108
  27. package/utils/connectors/solana/index.d.ts +0 -5
  28. package/utils/connectors/solana/index.js +0 -5
  29. package/utils/connectors/solana/providerDiscovery.d.ts +0 -3
  30. package/utils/connectors/solana/providerDiscovery.js +0 -127
  31. package/utils/connectors/solana/signing.d.ts +0 -1
  32. package/utils/connectors/solana/signing.js +0 -59
  33. package/utils/connectors/solana/transaction.d.ts +0 -17
  34. package/utils/connectors/solana/transaction.js +0 -362
  35. package/utils/connectors/solana/types.d.ts +0 -71
  36. package/utils/connectors/solana/types.js +0 -8
  37. package/utils/wallet/EVMWalletStrategy.d.ts +0 -31
  38. package/utils/wallet/EVMWalletStrategy.js +0 -265
  39. package/utils/wallet/SolanaWalletStrategy.d.ts +0 -33
  40. package/utils/wallet/SolanaWalletStrategy.js +0 -300
  41. package/utils/wallet/WalletStrategy.d.ts +0 -61
  42. package/utils/wallet/WalletStrategy.js +0 -25
  43. package/utils/wallet/WalletStrategyFactory.d.ts +0 -15
  44. package/utils/wallet/WalletStrategyFactory.js +0 -31
  45. package/utils/wallet/index.d.ts +0 -4
  46. package/utils/wallet/index.js +0 -4
  47. package/utils/wallet-browser-event-types.d.ts +0 -116
  48. package/utils/wallet-browser-event-types.js +0 -17
package/Link.js CHANGED
@@ -47,9 +47,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
47
47
  };
48
48
  import { addPopup, iframeId, removePopup } from './utils/popup';
49
49
  import { isLinkEventTypeKey } from './utils/event-types';
50
- import { isWalletBrowserEventTypeKey } from './utils/wallet-browser-event-types';
51
50
  import { sdkSpecs } from './utils/sdk-specs';
52
- import { WalletStrategyFactory } from './utils/wallet';
53
51
  import { BridgeParent } from '@meshconnect/uwc-bridge-parent';
54
52
  var currentOptions;
55
53
  var targetOrigin;
@@ -80,7 +78,7 @@ function sendMessageToIframe(message) {
80
78
  }
81
79
  function handleLinkEvent(event) {
82
80
  return __awaiter(this, void 0, void 0, function () {
83
- var payload, payload, payload, payload, walletFactory, allProviders;
81
+ var payload, payload, payload, payload;
84
82
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
85
83
  return __generator(this, function (_l) {
86
84
  switch (event.data.type) {
@@ -128,12 +126,6 @@ function handleLinkEvent(event) {
128
126
  type: 'meshSDKSpecs',
129
127
  payload: __assign({}, sdkSpecs)
130
128
  });
131
- walletFactory = WalletStrategyFactory.getInstance();
132
- allProviders = walletFactory.getAllProviders();
133
- sendMessageToIframe({
134
- type: 'SDKinjectedWalletProviders',
135
- payload: allProviders
136
- });
137
129
  if (currentOptions === null || currentOptions === void 0 ? void 0 : currentOptions.accessTokens) {
138
130
  sendMessageToIframe({
139
131
  type: 'frontAccessTokens',
@@ -160,296 +152,6 @@ function handleLinkEvent(event) {
160
152
  });
161
153
  });
162
154
  }
163
- function handleWalletBrowserEvent(event) {
164
- return __awaiter(this, void 0, void 0, function () {
165
- var walletFactory, _a, payload, networkType, strategy, result, error_1, payload, networkType, strategy, result, error_2, payload, networkType, strategy, result, error_3, payload, networkType, strategy, result, error_4, payload, getResponseType, networkType, strategy, result, responseType, error_5, errorType, payload, getResponseType, networkType, strategy, result, responseType, error_6, errorType, payload, responseType, networkType, strategy, result, error_7, payload, responseType, networkType, strategy, result, error_8, payload, networkType, strategy, error_9, payload, networkType, strategy, result, error_10;
166
- var _b;
167
- return __generator(this, function (_c) {
168
- switch (_c.label) {
169
- case 0:
170
- walletFactory = WalletStrategyFactory.getInstance();
171
- _a = event.data.type;
172
- switch (_a) {
173
- case 'walletBrowserInjectedWalletSelected': return [3 /*break*/, 1];
174
- case 'walletBrowserSignRequest': return [3 /*break*/, 6];
175
- case 'walletBrowserChainSwitchRequest': return [3 /*break*/, 11];
176
- case 'walletBrowserNativeTransferRequest': return [3 /*break*/, 16];
177
- case 'walletBrowserNonNativeTransferRequest': return [3 /*break*/, 21];
178
- case 'walletBrowserNonNativeSmartDeposit': return [3 /*break*/, 21];
179
- case 'walletBrowserNativeSmartDeposit': return [3 /*break*/, 26];
180
- case 'walletBrowserTransactionBatchRequest': return [3 /*break*/, 31];
181
- case 'walletBrowserWalletCapabilities': return [3 /*break*/, 36];
182
- case 'walletBrowserDisconnect': return [3 /*break*/, 41];
183
- case 'walletBrowserSolanaTransferWithInstructionsRequest': return [3 /*break*/, 49];
184
- }
185
- return [3 /*break*/, 54];
186
- case 1:
187
- payload = event.data.payload;
188
- _c.label = 2;
189
- case 2:
190
- _c.trys.push([2, 4, , 5]);
191
- networkType = (((_b = payload.networkType) === null || _b === void 0 ? void 0 : _b.includes('solana')) ? 'solana' : 'evm');
192
- strategy = walletFactory.getStrategy(networkType);
193
- return [4 /*yield*/, strategy.connect(payload)];
194
- case 3:
195
- result = _c.sent();
196
- sendMessageToIframe({
197
- type: 'SDKinjectedConnectionCompleted',
198
- payload: {
199
- accounts: result.accounts,
200
- chainId: result.chainId,
201
- networkType: networkType
202
- }
203
- });
204
- return [3 /*break*/, 5];
205
- case 4:
206
- error_1 = _c.sent();
207
- console.error('Connection error:', error_1);
208
- handleErrorAndSendMessage(error_1, 'SDKinjectedConnectionCompleted');
209
- return [3 /*break*/, 5];
210
- case 5: return [3 /*break*/, 54];
211
- case 6:
212
- payload = event.data.payload;
213
- _c.label = 7;
214
- case 7:
215
- _c.trys.push([7, 9, , 10]);
216
- networkType = (!payload.address.startsWith('0x') ? 'solana' : 'evm');
217
- strategy = walletFactory.getStrategy(networkType);
218
- return [4 /*yield*/, strategy.signMessage(payload)];
219
- case 8:
220
- result = _c.sent();
221
- sendMessageToIframe({
222
- type: 'SDKsignRequestCompleted',
223
- payload: result
224
- });
225
- return [3 /*break*/, 10];
226
- case 9:
227
- error_2 = _c.sent();
228
- handleErrorAndSendMessage(error_2, 'SDKsignRequestCompleted');
229
- return [3 /*break*/, 10];
230
- case 10: return [3 /*break*/, 54];
231
- case 11:
232
- payload = event.data.payload;
233
- _c.label = 12;
234
- case 12:
235
- _c.trys.push([12, 14, , 15]);
236
- networkType = (payload.networkType === 'solana' ? 'solana' : 'evm');
237
- strategy = walletFactory.getStrategy(networkType);
238
- return [4 /*yield*/, strategy.switchChain(payload)];
239
- case 13:
240
- result = _c.sent();
241
- sendMessageToIframe({
242
- type: 'SDKswitchChainCompleted',
243
- payload: {
244
- chainId: result.chainId,
245
- accounts: result.accounts,
246
- networkType: networkType
247
- }
248
- });
249
- return [3 /*break*/, 15];
250
- case 14:
251
- error_3 = _c.sent();
252
- console.error('Chain switch failed:', error_3);
253
- handleErrorAndSendMessage(error_3, 'SDKswitchChainCompleted');
254
- return [3 /*break*/, 15];
255
- case 15: return [3 /*break*/, 54];
256
- case 16:
257
- payload = event.data.payload;
258
- _c.label = 17;
259
- case 17:
260
- _c.trys.push([17, 19, , 20]);
261
- networkType = (payload.network === 'solana' ? 'solana' : 'evm');
262
- strategy = walletFactory.getStrategy(networkType);
263
- return [4 /*yield*/, strategy.sendNativeTransfer(payload)];
264
- case 18:
265
- result = _c.sent();
266
- sendMessageToIframe({
267
- type: 'SDKnativeTransferCompleted',
268
- payload: result
269
- });
270
- return [3 /*break*/, 20];
271
- case 19:
272
- error_4 = _c.sent();
273
- handleErrorAndSendMessage(error_4, 'SDKnativeTransferCompleted');
274
- return [3 /*break*/, 20];
275
- case 20: return [3 /*break*/, 54];
276
- case 21:
277
- payload = event.data.payload;
278
- getResponseType = function (type) {
279
- switch (type) {
280
- case 'walletBrowserNonNativeTransferRequest':
281
- return 'SDKnonNativeTransferCompleted';
282
- case 'walletBrowserNativeSmartDeposit':
283
- return 'SDKnativeSmartDepositCompleted';
284
- case 'walletBrowserNonNativeSmartDeposit':
285
- return 'SDKnonNativeSmartDepositCompleted';
286
- default:
287
- return 'SDKnonNativeTransferCompleted';
288
- }
289
- };
290
- _c.label = 22;
291
- case 22:
292
- _c.trys.push([22, 24, , 25]);
293
- networkType = (payload.address.startsWith('0x') ? 'evm' : 'solana');
294
- strategy = walletFactory.getStrategy(networkType);
295
- return [4 /*yield*/, strategy.sendSmartContractInteraction(payload)];
296
- case 23:
297
- result = _c.sent();
298
- responseType = getResponseType(event.data.type);
299
- sendMessageToIframe({
300
- type: responseType,
301
- payload: {
302
- txHash: result
303
- }
304
- });
305
- return [3 /*break*/, 25];
306
- case 24:
307
- error_5 = _c.sent();
308
- errorType = getResponseType(event.data.type);
309
- handleErrorAndSendMessage(error_5, errorType);
310
- return [3 /*break*/, 25];
311
- case 25: return [3 /*break*/, 54];
312
- case 26:
313
- payload = event.data.payload;
314
- getResponseType = function (type) {
315
- switch (type) {
316
- case 'walletBrowserNonNativeTransferRequest':
317
- return 'SDKnonNativeTransferCompleted';
318
- case 'walletBrowserNativeSmartDeposit':
319
- return 'SDKnativeSmartDepositCompleted';
320
- case 'walletBrowserNonNativeSmartDeposit':
321
- return 'SDKnonNativeSmartDepositCompleted';
322
- default:
323
- return 'SDKnonNativeTransferCompleted';
324
- }
325
- };
326
- _c.label = 27;
327
- case 27:
328
- _c.trys.push([27, 29, , 30]);
329
- networkType = (payload.address.startsWith('0x') ? 'evm' : 'solana');
330
- strategy = walletFactory.getStrategy(networkType);
331
- return [4 /*yield*/, strategy.sendNativeSmartContractInteraction(payload)];
332
- case 28:
333
- result = _c.sent();
334
- responseType = getResponseType(event.data.type);
335
- sendMessageToIframe({
336
- type: responseType,
337
- payload: {
338
- txHash: result
339
- }
340
- });
341
- return [3 /*break*/, 30];
342
- case 29:
343
- error_6 = _c.sent();
344
- errorType = getResponseType(event.data.type);
345
- handleErrorAndSendMessage(error_6, errorType);
346
- return [3 /*break*/, 30];
347
- case 30: return [3 /*break*/, 54];
348
- case 31:
349
- payload = event.data.payload;
350
- responseType = 'SDKtransactionBatchCompleted';
351
- _c.label = 32;
352
- case 32:
353
- _c.trys.push([32, 34, , 35]);
354
- networkType = (payload.from.startsWith('0x') ? 'evm' : 'solana');
355
- strategy = walletFactory.getStrategy(networkType);
356
- return [4 /*yield*/, strategy.sendTransactionBatch(payload)];
357
- case 33:
358
- result = _c.sent();
359
- sendMessageToIframe({
360
- type: responseType,
361
- payload: {
362
- txHash: result
363
- }
364
- });
365
- return [3 /*break*/, 35];
366
- case 34:
367
- error_7 = _c.sent();
368
- handleErrorAndSendMessage(error_7, responseType);
369
- return [3 /*break*/, 35];
370
- case 35: return [3 /*break*/, 54];
371
- case 36:
372
- payload = event.data.payload;
373
- responseType = 'SDKwalletCapabilitiesCompleted';
374
- _c.label = 37;
375
- case 37:
376
- _c.trys.push([37, 39, , 40]);
377
- networkType = (payload.from.startsWith('0x') ? 'evm' : 'solana');
378
- strategy = walletFactory.getStrategy(networkType);
379
- return [4 /*yield*/, strategy.getWalletCapabilities(payload)];
380
- case 38:
381
- result = _c.sent();
382
- sendMessageToIframe({
383
- type: responseType,
384
- payload: result
385
- });
386
- return [3 /*break*/, 40];
387
- case 39:
388
- error_8 = _c.sent();
389
- handleErrorAndSendMessage(error_8, responseType);
390
- return [3 /*break*/, 40];
391
- case 40: return [3 /*break*/, 54];
392
- case 41:
393
- payload = event.data.payload;
394
- _c.label = 42;
395
- case 42:
396
- _c.trys.push([42, 47, , 48]);
397
- if (!(payload === null || payload === void 0 ? void 0 : payload.networkType)) return [3 /*break*/, 44];
398
- networkType = (payload.networkType === 'solana' ? 'solana' : 'evm');
399
- strategy = walletFactory.getStrategy(networkType);
400
- return [4 /*yield*/, strategy.disconnect(payload)];
401
- case 43:
402
- _c.sent();
403
- return [3 /*break*/, 46];
404
- case 44:
405
- // Disconnect from all if no specific network type
406
- return [4 /*yield*/, Promise.all([
407
- walletFactory.getStrategy('solana').disconnect(payload),
408
- walletFactory.getStrategy('evm').disconnect(payload)
409
- ])];
410
- case 45:
411
- // Disconnect from all if no specific network type
412
- _c.sent();
413
- _c.label = 46;
414
- case 46:
415
- sendMessageToIframe({
416
- type: 'SDKdisconnectSuccess'
417
- });
418
- return [3 /*break*/, 48];
419
- case 47:
420
- error_9 = _c.sent();
421
- console.error('Error during disconnect:', error_9);
422
- handleErrorAndSendMessage(error_9, 'SDKdisconnectSuccess');
423
- return [3 /*break*/, 48];
424
- case 48: return [3 /*break*/, 54];
425
- case 49:
426
- payload = event.data
427
- .payload;
428
- _c.label = 50;
429
- case 50:
430
- _c.trys.push([50, 52, , 53]);
431
- networkType = 'solana';
432
- strategy = walletFactory.getStrategy(networkType);
433
- return [4 /*yield*/, strategy.sendTransactionWithInstructions(payload)];
434
- case 51:
435
- result = _c.sent();
436
- sendMessageToIframe({
437
- type: 'SDKnonNativeTransferCompleted',
438
- payload: {
439
- txHash: result
440
- }
441
- });
442
- return [3 /*break*/, 53];
443
- case 52:
444
- error_10 = _c.sent();
445
- handleErrorAndSendMessage(error_10, 'SDKdisconnectSuccess');
446
- return [3 /*break*/, 53];
447
- case 53: return [3 /*break*/, 54];
448
- case 54: return [2 /*return*/];
449
- }
450
- });
451
- });
452
- }
453
155
  function eventsListener(event) {
454
156
  return __awaiter(this, void 0, void 0, function () {
455
157
  return __generator(this, function (_a) {
@@ -457,30 +159,16 @@ function eventsListener(event) {
457
159
  case 0:
458
160
  if (!(event.origin !== targetOrigin && event.origin !== linkTokenOrigin)) return [3 /*break*/, 1];
459
161
  console.warn('Received message from untrusted origin:', event.origin);
460
- return [3 /*break*/, 5];
461
- case 1:
462
- if (!isWalletBrowserEventTypeKey(event.data.type)) return [3 /*break*/, 3];
463
- return [4 /*yield*/, handleWalletBrowserEvent(event)];
162
+ return [3 /*break*/, 3];
163
+ case 1: return [4 /*yield*/, handleLinkEvent(event)];
464
164
  case 2:
465
165
  _a.sent();
466
- return [3 /*break*/, 5];
467
- case 3: return [4 /*yield*/, handleLinkEvent(event)];
468
- case 4:
469
- _a.sent();
470
- _a.label = 5;
471
- case 5: return [2 /*return*/];
166
+ _a.label = 3;
167
+ case 3: return [2 /*return*/];
472
168
  }
473
169
  });
474
170
  });
475
171
  }
476
- function handleErrorAndSendMessage(error, messageType) {
477
- sendMessageToIframe({
478
- type: messageType,
479
- payload: {
480
- error: error
481
- }
482
- });
483
- }
484
172
  export var createLink = function (options) {
485
173
  var openLink = function (linkToken, customIframeId) {
486
174
  var _a, _b;
@@ -496,6 +184,7 @@ export var createLink = function (options) {
496
184
  return;
497
185
  }
498
186
  linkUrl = addLanguage(linkUrl, currentOptions === null || currentOptions === void 0 ? void 0 : currentOptions.language);
187
+ linkUrl = addDisplayFiatCurrency(linkUrl, currentOptions === null || currentOptions === void 0 ? void 0 : currentOptions.displayFiatCurrency);
499
188
  linkTokenOrigin = new URL(linkUrl).origin;
500
189
  window.removeEventListener('message', eventsListener);
501
190
  if (customIframeId) {
@@ -541,3 +230,9 @@ function addLanguage(linkUrl, language) {
541
230
  }
542
231
  return "".concat(linkUrl).concat(linkUrl.includes('?') ? '&' : '?', "lng=").concat(language || 'en');
543
232
  }
233
+ function addDisplayFiatCurrency(linkUrl, displayFiatCurrency) {
234
+ if (displayFiatCurrency) {
235
+ return "".concat(linkUrl).concat(linkUrl.includes('?') ? '&' : '?', "fiatCur=").concat(displayFiatCurrency);
236
+ }
237
+ return linkUrl;
238
+ }
package/README.md CHANGED
@@ -104,6 +104,7 @@ After successfull authentication on the Link session, the popup will be closed a
104
104
  | `onEvent` | `(payload: LinkEventType) => void` | A callback function that is called when various events occur within the Front iframe |
105
105
  | `accessTokens` | `IntegrationAccessToken[]` | An array of integration access tokens |
106
106
  | `language` | `'en' \| undefined` | Link UI language |
107
+ | `displayFiatCurrency` | `'USD' \| undefined` | A fiat currency to display fiat equivalent of a crypto amount |
107
108
 
108
109
  #### `createLink` return value
109
110
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshconnect/web-link-sdk",
3
- "version": "3.3.3",
3
+ "version": "3.4.0",
4
4
  "description": "A client-side JS library for integrating with Mesh Connect",
5
5
  "exports": "./index.js",
6
6
  "license": "MIT",
@@ -22,12 +22,8 @@
22
22
  "util": "^0.12.4"
23
23
  },
24
24
  "dependencies": {
25
- "@meshconnect/node-api": "^2.0.23",
26
- "@meshconnect/solana-web3.js": "^1.0.4",
27
- "@meshconnect/uwc-bridge-parent": "1.0.0",
28
- "bs58": "^5.0.0",
29
- "buffer": "^6.0.3",
30
- "ethers": "^6.11.1"
25
+ "@meshconnect/node-api": "^2.0.24",
26
+ "@meshconnect/uwc-bridge-parent": "1.0.1"
31
27
  },
32
28
  "jest": {
33
29
  "preset": "ts-jest",
package/utils/types.d.ts CHANGED
@@ -96,99 +96,6 @@ export interface IntegrationAccessToken {
96
96
  brokerType: BrokerType;
97
97
  brokerName: string;
98
98
  }
99
- export interface WalletBrowserPayload {
100
- networkType?: string;
101
- integrationName: string;
102
- targetChainId?: string;
103
- walletName?: string;
104
- }
105
- export interface SignRequestPayload {
106
- address: string;
107
- message: string;
108
- walletName?: string;
109
- }
110
- export interface ChainSwitchPayload {
111
- chainId: number;
112
- networkType?: string;
113
- walletName?: string;
114
- }
115
- export interface TransferPayload {
116
- toAddress: string;
117
- amount: number;
118
- decimalPlaces: number;
119
- chainId: number;
120
- account: string;
121
- network: string;
122
- blockhash?: string;
123
- walletName?: string;
124
- gasLimit?: number | null;
125
- maxFeePerGas?: number | null;
126
- maxPriorityFeePerGas?: number | null;
127
- }
128
- export interface SmartContractPayload {
129
- address: string;
130
- abi: string;
131
- functionName: string;
132
- args: unknown[];
133
- account: string;
134
- value?: string;
135
- walletName?: string;
136
- tokenProgram?: string;
137
- blockhash?: string;
138
- createATA?: boolean;
139
- gasLimit?: number | null;
140
- maxFeePerGas?: number | null;
141
- maxPriorityFeePerGas?: number | null;
142
- }
143
- export interface TransactionBatchPayload {
144
- version: string;
145
- from: string;
146
- chainId: string;
147
- atomicRequired: boolean;
148
- calls: {
149
- to: string;
150
- value: string;
151
- data?: string;
152
- }[];
153
- }
154
- export interface WalletCapabilitiesPayload {
155
- from: string;
156
- chainId: string;
157
- }
158
- export interface DisconnectPayload {
159
- networkType?: string;
160
- walletName?: string;
161
- }
162
- export interface AddressLookupTableStateDto {
163
- deactivationSlot: bigint;
164
- lastExtendedSlot: number;
165
- lastExtendedStartIndex: number;
166
- key: string;
167
- authority?: string;
168
- addresses: string[];
169
- }
170
- export interface SolanaTransferWithInstructionsPayload {
171
- transactionInstructions: {
172
- states: AddressLookupTableStateDto[];
173
- instructions: TransactionInstructionDto[];
174
- account: string;
175
- blockhash: string;
176
- walletName?: string;
177
- network?: string;
178
- };
179
- transferConfig: SmartContractPayload;
180
- }
181
- export interface SolanaAccountMeta {
182
- shouldFillPubkey: boolean;
183
- pubKey: string | null;
184
- isWritable: boolean;
185
- isSigner: boolean;
186
- }
187
- export interface TransactionInstructionDto {
188
- programId: string;
189
- accounts: SolanaAccountMeta[];
190
- data: string;
191
- }
192
99
  export interface LinkOptions {
193
100
  /**
194
101
  * Client ID that can be obtained at https://dashboard.meshconnect.com/company/keys
@@ -227,6 +134,11 @@ export interface LinkOptions {
227
134
  * Link UI language. Supported: 'en', 'ru'. Can be set as 'en-US', 'ru-RU', etc.
228
135
  */
229
136
  language?: string;
137
+ /**
138
+ * The currency to display a fiat equivalent of the crypto amount in Link UI.
139
+ * Default: 'USD'
140
+ */
141
+ displayFiatCurrency?: string;
230
142
  }
231
143
  export interface LinkStyle {
232
144
  ir: number;
@@ -1 +1 @@
1
- export declare const sdkVersion = "3.3.3";
1
+ export declare const sdkVersion = "3.4.0";
package/utils/version.js CHANGED
@@ -1 +1 @@
1
- export var sdkVersion = '3.3.3';
1
+ export var sdkVersion = '3.4.0';
@@ -1,2 +0,0 @@
1
- import { ChainConfig } from './types';
2
- export declare const getChainConfiguration: (chainId: number) => ChainConfig | undefined;
@@ -1,115 +0,0 @@
1
- // Chain configurations
2
- var chainConfigs = {
3
- 43114: {
4
- // Avalanche
5
- name: 'Avalanche',
6
- nativeCurrency: {
7
- decimals: 18,
8
- name: 'Avalanche',
9
- symbol: 'AVAX'
10
- },
11
- rpcUrls: {
12
- default: { http: ['https://avalanche-mainnet.infura.io'] }
13
- },
14
- blockExplorers: {
15
- default: {
16
- name: 'SnowTrace',
17
- url: 'https://snowtrace.io'
18
- }
19
- }
20
- },
21
- 42161: {
22
- // Arbitrum
23
- name: 'Arbitrum One',
24
- nativeCurrency: {
25
- decimals: 18,
26
- name: 'Ether',
27
- symbol: 'ETH'
28
- },
29
- rpcUrls: {
30
- default: { http: ['https://arb1.arbitrum.io/rpc'] }
31
- },
32
- blockExplorers: {
33
- default: {
34
- name: 'Arbiscan',
35
- url: 'https://arbiscan.io'
36
- }
37
- }
38
- },
39
- 10: {
40
- // Optimism
41
- name: 'OP Mainnet',
42
- nativeCurrency: {
43
- decimals: 18,
44
- name: 'Ether',
45
- symbol: 'ETH'
46
- },
47
- rpcUrls: {
48
- default: { http: ['https://mainnet.optimism.io'] }
49
- },
50
- blockExplorers: {
51
- default: {
52
- name: 'Optimism Explorer',
53
- url: 'https://optimistic.etherscan.io'
54
- }
55
- }
56
- },
57
- 8453: {
58
- // Base
59
- name: 'Base',
60
- nativeCurrency: {
61
- decimals: 18,
62
- name: 'Ether',
63
- symbol: 'ETH'
64
- },
65
- rpcUrls: {
66
- default: { http: ['https://mainnet.base.org'] }
67
- },
68
- blockExplorers: {
69
- default: {
70
- name: 'Basescan',
71
- url: 'https://basescan.org'
72
- }
73
- }
74
- },
75
- 137: {
76
- // Polygon
77
- name: 'Polygon',
78
- nativeCurrency: {
79
- decimals: 18,
80
- name: 'MATIC',
81
- symbol: 'MATIC'
82
- },
83
- rpcUrls: {
84
- default: { http: ['https://polygon-rpc.com'] }
85
- },
86
- blockExplorers: {
87
- default: {
88
- name: 'PolygonScan',
89
- url: 'https://polygonscan.com'
90
- }
91
- }
92
- },
93
- 56: {
94
- // BSC
95
- name: 'BNB Smart Chain',
96
- nativeCurrency: {
97
- decimals: 18,
98
- name: 'BNB',
99
- symbol: 'BNB'
100
- },
101
- rpcUrls: {
102
- default: { http: ['https://rpc.ankr.com/bsc'] }
103
- },
104
- blockExplorers: {
105
- default: {
106
- name: 'BscScan',
107
- url: 'https://bscscan.com'
108
- }
109
- }
110
- }
111
- };
112
- // Helper function to get chain configuration
113
- export var getChainConfiguration = function (chainId) {
114
- return chainConfigs[chainId];
115
- };
@@ -1,15 +0,0 @@
1
- import { EVMProvider } from './types';
2
- /**
3
- * Switches the current EVM chain
4
- */
5
- export declare const switchEVMChain: (chainId: number, provider?: EVMProvider) => Promise<{
6
- chainId: number;
7
- accounts: string[];
8
- } | Error>;
9
- /**
10
- * Gets the current chain switch status
11
- */
12
- export declare const getChainSwitchStatus: () => {
13
- isChainSwitching: boolean;
14
- chainSwitchError: null;
15
- };