@meshconnect/web-link-sdk 3.0.11 → 3.1.0-rc.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 (52) hide show
  1. package/Link.js +173 -205
  2. package/package.json +6 -6
  3. package/utils/connectors/evm/chainConfigs.d.ts +2 -0
  4. package/utils/connectors/evm/chainConfigs.js +115 -0
  5. package/utils/connectors/evm/chainSwitching.d.ts +15 -0
  6. package/utils/connectors/evm/chainSwitching.js +242 -0
  7. package/utils/connectors/evm/index.d.ts +8 -0
  8. package/utils/connectors/evm/index.js +8 -0
  9. package/utils/connectors/evm/provider.d.ts +6 -0
  10. package/utils/connectors/evm/provider.js +13 -0
  11. package/utils/connectors/evm/signing.d.ts +1 -0
  12. package/utils/connectors/evm/signing.js +78 -0
  13. package/utils/connectors/evm/transactions.d.ts +9 -0
  14. package/utils/connectors/evm/transactions.js +201 -0
  15. package/utils/connectors/evm/types.d.ts +58 -0
  16. package/utils/connectors/evm/types.js +1 -0
  17. package/utils/connectors/evm/walletConnection.d.ts +20 -0
  18. package/utils/connectors/evm/walletConnection.js +161 -0
  19. package/utils/connectors/evm/walletDiscovery.d.ts +10 -0
  20. package/utils/connectors/evm/walletDiscovery.js +55 -0
  21. package/utils/connectors/solana/connection.d.ts +3 -0
  22. package/utils/connectors/solana/connection.js +94 -0
  23. package/utils/connectors/solana/index.d.ts +5 -0
  24. package/utils/connectors/solana/index.js +5 -0
  25. package/utils/connectors/solana/providerDiscovery.d.ts +3 -0
  26. package/utils/connectors/solana/providerDiscovery.js +75 -0
  27. package/utils/connectors/solana/signing.d.ts +1 -0
  28. package/utils/connectors/solana/signing.js +59 -0
  29. package/utils/connectors/solana/transaction.d.ts +2 -0
  30. package/utils/connectors/solana/transaction.js +158 -0
  31. package/utils/connectors/solana/types.d.ts +68 -0
  32. package/utils/connectors/solana/types.js +8 -0
  33. package/utils/event-types.d.ts +10 -2
  34. package/utils/event-types.js +2 -1
  35. package/utils/sdk-specs.d.ts +1 -0
  36. package/utils/sdk-specs.js +2 -1
  37. package/utils/types.d.ts +38 -29
  38. package/utils/version.d.ts +1 -1
  39. package/utils/version.js +1 -1
  40. package/utils/wallet/EVMWalletStrategy.d.ts +23 -0
  41. package/utils/wallet/EVMWalletStrategy.js +205 -0
  42. package/utils/wallet/SolanaWalletStrategy.d.ts +29 -0
  43. package/utils/wallet/SolanaWalletStrategy.js +194 -0
  44. package/utils/wallet/WalletStrategy.d.ts +45 -0
  45. package/utils/wallet/WalletStrategy.js +25 -0
  46. package/utils/wallet/WalletStrategyFactory.d.ts +15 -0
  47. package/utils/wallet/WalletStrategyFactory.js +31 -0
  48. package/utils/wallet/index.d.ts +4 -0
  49. package/utils/wallet/index.js +4 -0
  50. package/utils/wallet-browser-event-types.d.ts +16 -2
  51. package/utils/wagmiCoreConnectorsUtils.d.ts +0 -11
  52. package/utils/wagmiCoreConnectorsUtils.js +0 -396
@@ -1,396 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
12
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
38
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
39
- if (ar || !(i in from)) {
40
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
41
- ar[i] = from[i];
42
- }
43
- }
44
- return to.concat(ar || Array.prototype.slice.call(from));
45
- };
46
- import { getConnectors, connect, disconnect, getAccount, signMessage, getBalance, sendTransaction, switchChain, simulateContract, writeContract, createConfig, http, fallback, BaseError, ChainNotConfiguredError, ConnectorAccountNotFoundError, ConnectorAlreadyConnectedError, ConnectorNotConnectedError, ConnectorNotFoundError, ProviderNotFoundError, SwitchChainNotSupportedError } from '@wagmi/core';
47
- import { injected } from '@wagmi/connectors';
48
- import { parseUnits } from 'viem';
49
- var resolveConfigReady;
50
- var configReady = new Promise(function (resolve) {
51
- resolveConfigReady = resolve;
52
- });
53
- var setConfig = function (config) {
54
- try {
55
- var transports = {};
56
- for (var chainId in config.transports) {
57
- var urls = config.transports[chainId];
58
- if (Array.isArray(urls)) {
59
- // If the URL is an array, create a fallback transport with multiple transports
60
- transports[chainId] = fallback(urls.map(function (url) { return http(url); }));
61
- }
62
- else {
63
- // If the URL is a string, create a single HTTP transport
64
- transports[chainId] = http(urls);
65
- }
66
- }
67
- var chainsTuple = __spreadArray([], config.chains, true);
68
- var dynamicConfig = createConfig({
69
- chains: chainsTuple,
70
- multiInjectedProviderDiscovery: true,
71
- transports: transports,
72
- connectors: [injected()]
73
- });
74
- resolveConfigReady(dynamicConfig);
75
- }
76
- catch (error) {
77
- console.error('Error setting configuration:', error);
78
- }
79
- };
80
- window.addEventListener('message', function (event) {
81
- if (event.data.type === 'walletBrowserConfigInitialize') {
82
- try {
83
- var parsedConfig = JSON.parse(event.data.payload);
84
- setConfig(parsedConfig);
85
- }
86
- catch (error) {
87
- console.error('Error parsing configuration:', error);
88
- }
89
- }
90
- });
91
- var configPromise = configReady;
92
- export var getWagmiCoreInjectedData = function () { return __awaiter(void 0, void 0, void 0, function () {
93
- return __generator(this, function (_a) {
94
- return [2 /*return*/, withWagmiErrorHandling(function () { return __awaiter(void 0, void 0, void 0, function () {
95
- var config, connectors, mappedConnectors;
96
- return __generator(this, function (_a) {
97
- switch (_a.label) {
98
- case 0: return [4 /*yield*/, configPromise];
99
- case 1:
100
- config = _a.sent();
101
- return [4 /*yield*/, getConnectors(config)];
102
- case 2:
103
- connectors = _a.sent();
104
- mappedConnectors = connectors.map(function (_a) {
105
- var id = _a.id, name = _a.name, type = _a.type, uid = _a.uid, icon = _a.icon;
106
- return ({
107
- id: id,
108
- name: name,
109
- type: type,
110
- uid: uid,
111
- icon: icon || undefined
112
- });
113
- });
114
- return [2 /*return*/, mappedConnectors];
115
- }
116
- });
117
- }); })];
118
- });
119
- }); };
120
- export var connectToSpecificWallet = function (walletName) { return __awaiter(void 0, void 0, void 0, function () {
121
- return __generator(this, function (_a) {
122
- return [2 /*return*/, withWagmiErrorHandling(function () { return __awaiter(void 0, void 0, void 0, function () {
123
- var config, connectors, selectedConnector, result;
124
- return __generator(this, function (_a) {
125
- switch (_a.label) {
126
- case 0: return [4 /*yield*/, configPromise];
127
- case 1:
128
- config = _a.sent();
129
- connectors = getConnectors(config);
130
- selectedConnector = connectors.find(function (connector) {
131
- return connector.name.toLowerCase() === walletName.toLowerCase();
132
- });
133
- if (!selectedConnector) {
134
- throw new Error("No connector found for wallet: ".concat(walletName));
135
- }
136
- return [4 /*yield*/, disconnectCurrentAccount(config, selectedConnector)];
137
- case 2:
138
- _a.sent();
139
- return [4 /*yield*/, connect(config, { connector: selectedConnector })];
140
- case 3:
141
- result = _a.sent();
142
- return [2 /*return*/, {
143
- accounts: __spreadArray([], result.accounts, true),
144
- chainId: result.chainId
145
- }];
146
- }
147
- });
148
- }); })];
149
- });
150
- }); };
151
- export var signedMessage = function (address, message) { return __awaiter(void 0, void 0, void 0, function () {
152
- return __generator(this, function (_a) {
153
- return [2 /*return*/, withWagmiErrorHandling(function () { return __awaiter(void 0, void 0, void 0, function () {
154
- var config, signedMessage;
155
- return __generator(this, function (_a) {
156
- switch (_a.label) {
157
- case 0: return [4 /*yield*/, configPromise];
158
- case 1:
159
- config = _a.sent();
160
- return [4 /*yield*/, signMessage(config, {
161
- account: address,
162
- message: message
163
- })];
164
- case 2:
165
- signedMessage = _a.sent();
166
- return [2 /*return*/, signedMessage];
167
- }
168
- });
169
- }); })];
170
- });
171
- }); };
172
- export var walletBalance = function (account, chainId) { return __awaiter(void 0, void 0, void 0, function () {
173
- return __generator(this, function (_a) {
174
- return [2 /*return*/, withWagmiErrorHandling(function () { return __awaiter(void 0, void 0, void 0, function () {
175
- var config, balance;
176
- return __generator(this, function (_a) {
177
- switch (_a.label) {
178
- case 0: return [4 /*yield*/, configPromise];
179
- case 1:
180
- config = _a.sent();
181
- return [4 /*yield*/, getBalance(config, {
182
- address: account,
183
- chainId: chainId
184
- })];
185
- case 2:
186
- balance = _a.sent();
187
- return [2 /*return*/, balance];
188
- }
189
- });
190
- }); })];
191
- });
192
- }); };
193
- export var switchChainFromSDK = function (chainId) { return __awaiter(void 0, void 0, void 0, function () {
194
- return __generator(this, function (_a) {
195
- switch (_a.label) {
196
- case 0: return [4 /*yield*/, withWagmiErrorHandling(function () { return __awaiter(void 0, void 0, void 0, function () {
197
- var config, result;
198
- return __generator(this, function (_a) {
199
- switch (_a.label) {
200
- case 0: return [4 /*yield*/, configPromise];
201
- case 1:
202
- config = _a.sent();
203
- return [4 /*yield*/, switchChain(config, { chainId: chainId })];
204
- case 2:
205
- result = _a.sent();
206
- return [2 /*return*/, result];
207
- }
208
- });
209
- }); })];
210
- case 1: return [2 /*return*/, _a.sent()];
211
- }
212
- });
213
- }); };
214
- export var sendTransactionFromSDK = function (toAddress, amount, decimalPlaces, chainId, account) { return __awaiter(void 0, void 0, void 0, function () {
215
- return __generator(this, function (_a) {
216
- switch (_a.label) {
217
- case 0: return [4 /*yield*/, withWagmiErrorHandling(function () { return __awaiter(void 0, void 0, void 0, function () {
218
- var config, result;
219
- return __generator(this, function (_a) {
220
- switch (_a.label) {
221
- case 0: return [4 /*yield*/, configPromise];
222
- case 1:
223
- config = _a.sent();
224
- return [4 /*yield*/, sendTransaction(config, {
225
- to: formatAddress(toAddress),
226
- value: parseUnits(amount.toFixed(decimalPlaces) || '0', decimalPlaces),
227
- chainId: chainId,
228
- account: formatAddress(account)
229
- })];
230
- case 2:
231
- result = _a.sent();
232
- return [2 /*return*/, result];
233
- }
234
- });
235
- }); })];
236
- case 1: return [2 /*return*/, _a.sent()];
237
- }
238
- });
239
- }); };
240
- var formatAddress = function (address) {
241
- return address.startsWith('0x') ? address : "0x".concat(address);
242
- };
243
- export var sendNonNativeTransactionFromSDK = function (address, abi, functionName, args, // eslint-disable-line @typescript-eslint/no-explicit-any
244
- value) { return __awaiter(void 0, void 0, void 0, function () {
245
- return __generator(this, function (_a) {
246
- switch (_a.label) {
247
- case 0: return [4 /*yield*/, withWagmiErrorHandling(function () { return __awaiter(void 0, void 0, void 0, function () {
248
- var config, connector, request, result;
249
- return __generator(this, function (_a) {
250
- switch (_a.label) {
251
- case 0: return [4 /*yield*/, configPromise];
252
- case 1:
253
- config = _a.sent();
254
- return [4 /*yield*/, getAccount(config)];
255
- case 2:
256
- connector = (_a.sent()).connector;
257
- return [4 /*yield*/, simulateContract(config, {
258
- address: formatAddress(address),
259
- abi: abi,
260
- functionName: functionName,
261
- args: args,
262
- value: value,
263
- connector: connector
264
- })];
265
- case 3:
266
- request = (_a.sent()).request;
267
- return [4 /*yield*/, writeContract(config, request)];
268
- case 4:
269
- result = _a.sent();
270
- return [2 /*return*/, result];
271
- }
272
- });
273
- }); })];
274
- case 1: return [2 /*return*/, _a.sent()];
275
- }
276
- });
277
- }); };
278
- var disconnectCurrentAccount = function (config, currentConnector) { return __awaiter(void 0, void 0, void 0, function () {
279
- return __generator(this, function (_a) {
280
- switch (_a.label) {
281
- case 0: return [4 /*yield*/, withWagmiErrorHandling(function () { return __awaiter(void 0, void 0, void 0, function () {
282
- return __generator(this, function (_a) {
283
- switch (_a.label) {
284
- case 0: return [4 /*yield*/, disconnect(config, { connector: currentConnector })];
285
- case 1:
286
- _a.sent();
287
- return [2 /*return*/];
288
- }
289
- });
290
- }); })];
291
- case 1: return [2 /*return*/, _a.sent()];
292
- }
293
- });
294
- }); };
295
- export var disconnectAllAccounts = function () { return __awaiter(void 0, void 0, void 0, function () {
296
- var config;
297
- return __generator(this, function (_a) {
298
- switch (_a.label) {
299
- case 0: return [4 /*yield*/, configPromise];
300
- case 1:
301
- config = _a.sent();
302
- return [2 /*return*/, withWagmiErrorHandling(function () { return __awaiter(void 0, void 0, void 0, function () {
303
- return __generator(this, function (_a) {
304
- switch (_a.label) {
305
- case 0: return [4 /*yield*/, disconnect(config)];
306
- case 1:
307
- _a.sent();
308
- return [2 /*return*/];
309
- }
310
- });
311
- }); })];
312
- }
313
- });
314
- }); };
315
- /**
316
- * Wrapper function for Wagmi Core functions that handles errors
317
- * @param fn - The function to wrap
318
- * @returns - The result of the function or an error
319
- */
320
- function withWagmiErrorHandling(fn) {
321
- return __awaiter(this, void 0, void 0, function () {
322
- var error_1;
323
- return __generator(this, function (_a) {
324
- switch (_a.label) {
325
- case 0:
326
- _a.trys.push([0, 2, , 3]);
327
- return [4 /*yield*/, fn()];
328
- case 1: return [2 /*return*/, _a.sent()];
329
- case 2:
330
- error_1 = _a.sent();
331
- if (error_1 instanceof BaseError) {
332
- return [2 /*return*/, handleWagmiError(error_1)];
333
- }
334
- else {
335
- throw error_1;
336
- }
337
- return [3 /*break*/, 3];
338
- case 3: return [2 /*return*/];
339
- }
340
- });
341
- });
342
- }
343
- var handleWagmiError = function (error) {
344
- if (error instanceof ChainNotConfiguredError) {
345
- return handleChainNotConfiguredError(error);
346
- }
347
- else if (error instanceof ConnectorAccountNotFoundError) {
348
- return handleConnectorAccountNotFoundError(error);
349
- }
350
- else if (error instanceof ConnectorAlreadyConnectedError) {
351
- return handleConnectorAlreadyConnectedError(error);
352
- }
353
- else if (error instanceof ConnectorNotConnectedError) {
354
- return handleConnectorNotConnectedError(error);
355
- }
356
- else if (error instanceof ConnectorNotFoundError) {
357
- return handleConnectorNotFoundError(error);
358
- }
359
- else if (error instanceof ProviderNotFoundError) {
360
- return handleProviderNotFoundError(error);
361
- }
362
- else if (error instanceof SwitchChainNotSupportedError) {
363
- return handleSwitchChainNotSupportedError(error);
364
- }
365
- else if (error instanceof BaseError) {
366
- return handleBaseError(error);
367
- }
368
- else {
369
- throw error;
370
- }
371
- };
372
- // All errors extend base error
373
- var handleBaseError = function (error) {
374
- throw new Error(error.message);
375
- };
376
- var handleChainNotConfiguredError = function (error) {
377
- throw new Error("Chain not configured: ".concat(error.message));
378
- };
379
- var handleConnectorAccountNotFoundError = function (error) {
380
- throw new Error("Connector account not found: ".concat(error.message));
381
- };
382
- var handleConnectorAlreadyConnectedError = function (error) {
383
- throw new Error("Connector already connected: ".concat(error.message));
384
- };
385
- var handleConnectorNotConnectedError = function (error) {
386
- throw new Error("Connector not connected: ".concat(error.message));
387
- };
388
- var handleConnectorNotFoundError = function (error) {
389
- throw new Error("Connector not found: ".concat(error.message));
390
- };
391
- var handleProviderNotFoundError = function (error) {
392
- throw new Error("Provider not found: ".concat(error.message));
393
- };
394
- var handleSwitchChainNotSupportedError = function (error) {
395
- throw new Error("Switch chain not supported: ".concat(error.message));
396
- };