@meshconnect/web-link-sdk 3.2.14 → 3.2.15

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 (101) hide show
  1. package/jest.setup.ts +4 -0
  2. package/package.json +20 -8
  3. package/src/Link.test.ts +434 -0
  4. package/src/Link.ts +491 -0
  5. package/src/index.ts +3 -0
  6. package/src/utils/__snapshots__/popup.test.ts.snap +89 -0
  7. package/src/utils/connectors/evm/chainConfigs.ts +120 -0
  8. package/src/utils/connectors/evm/chainSwitching.ts +165 -0
  9. package/src/utils/connectors/evm/index.ts +8 -0
  10. package/src/utils/connectors/evm/provider.ts +22 -0
  11. package/src/utils/connectors/evm/signing.ts +39 -0
  12. package/src/utils/connectors/evm/transactions.ts +356 -0
  13. package/src/utils/connectors/evm/types.ts +63 -0
  14. package/src/utils/connectors/evm/walletConnection.ts +140 -0
  15. package/src/utils/connectors/evm/walletDiscovery.ts +67 -0
  16. package/src/utils/connectors/solana/connection.ts +69 -0
  17. package/src/utils/connectors/solana/index.ts +5 -0
  18. package/src/utils/connectors/solana/providerDiscovery.ts +153 -0
  19. package/src/utils/connectors/solana/signing.ts +18 -0
  20. package/src/utils/connectors/solana/transaction.ts +382 -0
  21. package/src/utils/connectors/solana/types.ts +66 -0
  22. package/{utils/event-types.js → src/utils/event-types.test.ts} +15 -5
  23. package/src/utils/event-types.ts +350 -0
  24. package/src/utils/popup.test.ts +50 -0
  25. package/src/utils/popup.ts +123 -0
  26. package/src/utils/sdk-specs.test.ts +18 -0
  27. package/src/utils/sdk-specs.ts +7 -0
  28. package/src/utils/style.test.ts +33 -0
  29. package/src/utils/style.ts +15 -0
  30. package/src/utils/types.ts +270 -0
  31. package/src/utils/version.ts +1 -0
  32. package/src/utils/wallet/EVMWalletStrategy.ts +176 -0
  33. package/src/utils/wallet/SolanaWalletStrategy.ts +207 -0
  34. package/src/utils/wallet/WalletStrategy.ts +99 -0
  35. package/src/utils/wallet/WalletStrategyFactory.ts +46 -0
  36. package/src/utils/wallet/__tests__/EVMWalletStrategy.test.ts +233 -0
  37. package/src/utils/wallet/__tests__/SolanaWalletStrategy.test.ts +253 -0
  38. package/src/utils/wallet/__tests__/WalletStrategy.test.ts +77 -0
  39. package/src/utils/wallet/__tests__/WalletStrategyFactory.test.ts +65 -0
  40. package/src/utils/wallet/index.ts +4 -0
  41. package/src/utils/wallet-browser-event-types.ts +190 -0
  42. package/tools/copy.js +26 -0
  43. package/tools/update-version.js +10 -0
  44. package/tsconfig.json +14 -0
  45. package/Link.d.ts +0 -2
  46. package/Link.js +0 -530
  47. package/index.d.ts +0 -3
  48. package/index.js +0 -3
  49. package/utils/connectors/evm/chainConfigs.d.ts +0 -2
  50. package/utils/connectors/evm/chainConfigs.js +0 -115
  51. package/utils/connectors/evm/chainSwitching.d.ts +0 -15
  52. package/utils/connectors/evm/chainSwitching.js +0 -242
  53. package/utils/connectors/evm/index.d.ts +0 -8
  54. package/utils/connectors/evm/index.js +0 -8
  55. package/utils/connectors/evm/provider.d.ts +0 -6
  56. package/utils/connectors/evm/provider.js +0 -13
  57. package/utils/connectors/evm/signing.d.ts +0 -1
  58. package/utils/connectors/evm/signing.js +0 -78
  59. package/utils/connectors/evm/transactions.d.ts +0 -28
  60. package/utils/connectors/evm/transactions.js +0 -381
  61. package/utils/connectors/evm/types.d.ts +0 -57
  62. package/utils/connectors/evm/types.js +0 -1
  63. package/utils/connectors/evm/walletConnection.d.ts +0 -20
  64. package/utils/connectors/evm/walletConnection.js +0 -160
  65. package/utils/connectors/evm/walletDiscovery.d.ts +0 -10
  66. package/utils/connectors/evm/walletDiscovery.js +0 -55
  67. package/utils/connectors/solana/connection.d.ts +0 -4
  68. package/utils/connectors/solana/connection.js +0 -108
  69. package/utils/connectors/solana/index.d.ts +0 -5
  70. package/utils/connectors/solana/index.js +0 -5
  71. package/utils/connectors/solana/providerDiscovery.d.ts +0 -3
  72. package/utils/connectors/solana/providerDiscovery.js +0 -127
  73. package/utils/connectors/solana/signing.d.ts +0 -1
  74. package/utils/connectors/solana/signing.js +0 -59
  75. package/utils/connectors/solana/transaction.d.ts +0 -17
  76. package/utils/connectors/solana/transaction.js +0 -362
  77. package/utils/connectors/solana/types.d.ts +0 -71
  78. package/utils/connectors/solana/types.js +0 -8
  79. package/utils/event-types.d.ts +0 -233
  80. package/utils/popup.d.ts +0 -3
  81. package/utils/popup.js +0 -36
  82. package/utils/sdk-specs.d.ts +0 -5
  83. package/utils/sdk-specs.js +0 -6
  84. package/utils/style.d.ts +0 -3
  85. package/utils/style.js +0 -13
  86. package/utils/types.d.ts +0 -234
  87. package/utils/types.js +0 -1
  88. package/utils/version.d.ts +0 -1
  89. package/utils/version.js +0 -1
  90. package/utils/wallet/EVMWalletStrategy.d.ts +0 -31
  91. package/utils/wallet/EVMWalletStrategy.js +0 -265
  92. package/utils/wallet/SolanaWalletStrategy.d.ts +0 -33
  93. package/utils/wallet/SolanaWalletStrategy.js +0 -293
  94. package/utils/wallet/WalletStrategy.d.ts +0 -61
  95. package/utils/wallet/WalletStrategy.js +0 -25
  96. package/utils/wallet/WalletStrategyFactory.d.ts +0 -15
  97. package/utils/wallet/WalletStrategyFactory.js +0 -31
  98. package/utils/wallet/index.d.ts +0 -4
  99. package/utils/wallet/index.js +0 -4
  100. package/utils/wallet-browser-event-types.d.ts +0 -116
  101. package/utils/wallet-browser-event-types.js +0 -17
@@ -1,242 +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 { getChainConfiguration } from './chainConfigs';
47
- import { getActiveRawProvider } from './provider';
48
- // Chain switch status tracking
49
- var isChainSwitching = false;
50
- var chainSwitchError = null;
51
- var MAX_RETRY_ATTEMPTS = 3;
52
- var RETRY_DELAY = 1000;
53
- /**
54
- * Waits for a pending chain switch to complete
55
- */
56
- var waitForPendingSwitch = function (provider_1, chainIdHex_1) {
57
- var args_1 = [];
58
- for (var _i = 2; _i < arguments.length; _i++) {
59
- args_1[_i - 2] = arguments[_i];
60
- }
61
- return __awaiter(void 0, __spreadArray([provider_1, chainIdHex_1], args_1, true), void 0, function (provider, chainIdHex, attempt) {
62
- var currentChainHex, error_1;
63
- if (attempt === void 0) { attempt = 0; }
64
- return __generator(this, function (_a) {
65
- switch (_a.label) {
66
- case 0:
67
- _a.trys.push([0, 3, , 6]);
68
- return [4 /*yield*/, provider.request({ method: 'eth_chainId' })];
69
- case 1:
70
- currentChainHex = _a.sent();
71
- if (currentChainHex === chainIdHex) {
72
- return [2 /*return*/]; // Switch completed
73
- }
74
- if (attempt >= MAX_RETRY_ATTEMPTS) {
75
- throw new Error('Chain switch timeout');
76
- }
77
- // Wait and retry
78
- return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, RETRY_DELAY); })];
79
- case 2:
80
- // Wait and retry
81
- _a.sent();
82
- return [2 /*return*/, waitForPendingSwitch(provider, chainIdHex, attempt + 1)];
83
- case 3:
84
- error_1 = _a.sent();
85
- if (!(error_1.code === -32002)) return [3 /*break*/, 5];
86
- // Still pending, wait and retry
87
- return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, RETRY_DELAY); })];
88
- case 4:
89
- // Still pending, wait and retry
90
- _a.sent();
91
- return [2 /*return*/, waitForPendingSwitch(provider, chainIdHex, attempt + 1)];
92
- case 5: throw error_1;
93
- case 6: return [2 /*return*/];
94
- }
95
- });
96
- });
97
- };
98
- /**
99
- * Switches the current EVM chain
100
- */
101
- export var switchEVMChain = function (chainId, provider) { return __awaiter(void 0, void 0, void 0, function () {
102
- var targetProvider, chainIdHex, switchError_1, accounts, error_2;
103
- return __generator(this, function (_a) {
104
- switch (_a.label) {
105
- case 0:
106
- _a.trys.push([0, 7, , 9]);
107
- targetProvider = provider || getActiveRawProvider();
108
- if (!targetProvider) {
109
- throw new Error('No active EVM provider');
110
- }
111
- chainIdHex = "0x".concat(chainId.toString(16));
112
- _a.label = 1;
113
- case 1:
114
- _a.trys.push([1, 3, , 5]);
115
- return [4 /*yield*/, switchChain(targetProvider, chainIdHex)];
116
- case 2:
117
- _a.sent();
118
- return [3 /*break*/, 5];
119
- case 3:
120
- switchError_1 = _a.sent();
121
- return [4 /*yield*/, handleSwitchError(switchError_1, targetProvider, chainId, chainIdHex)];
122
- case 4:
123
- _a.sent();
124
- return [3 /*break*/, 5];
125
- case 5: return [4 /*yield*/, targetProvider.request({ method: 'eth_accounts' })];
126
- case 6:
127
- accounts = _a.sent();
128
- return [2 /*return*/, { chainId: chainId, accounts: accounts }];
129
- case 7:
130
- error_2 = _a.sent();
131
- if (isUserRejection(error_2)) {
132
- return [2 /*return*/, new Error('User rejected chain switch')];
133
- }
134
- return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, 1000); })];
135
- case 8:
136
- _a.sent();
137
- console.error('Chain switch error:', error_2);
138
- return [2 /*return*/, error_2 instanceof Error ? error_2 : new Error('Failed to switch chain')];
139
- case 9: return [2 /*return*/];
140
- }
141
- });
142
- }); };
143
- /**
144
- * Attempts to switch to a specific chain
145
- */
146
- var switchChain = function (provider, chainIdHex) { return __awaiter(void 0, void 0, void 0, function () {
147
- return __generator(this, function (_a) {
148
- switch (_a.label) {
149
- case 0: return [4 /*yield*/, provider.request({
150
- method: 'wallet_switchEthereumChain',
151
- params: [{ chainId: chainIdHex }]
152
- })];
153
- case 1:
154
- _a.sent();
155
- return [2 /*return*/];
156
- }
157
- });
158
- }); };
159
- /**
160
- * Handles chain switch errors
161
- */
162
- var handleSwitchError = function (error, provider, chainId, chainIdHex) { return __awaiter(void 0, void 0, void 0, function () {
163
- return __generator(this, function (_a) {
164
- switch (_a.label) {
165
- case 0:
166
- if (error.code === 4001) {
167
- throw new Error('User rejected chain switch');
168
- }
169
- if (!(error.code === -32002)) return [3 /*break*/, 2];
170
- // Request already pending, wait for it
171
- return [4 /*yield*/, waitForPendingSwitch(provider, chainIdHex)];
172
- case 1:
173
- // Request already pending, wait for it
174
- _a.sent();
175
- return [2 /*return*/];
176
- case 2:
177
- if (!(error.code === 4902 || error.code === -32603)) return [3 /*break*/, 5];
178
- return [4 /*yield*/, addChain(provider, chainId, chainIdHex)];
179
- case 3:
180
- _a.sent();
181
- return [4 /*yield*/, switchChain(provider, chainIdHex)];
182
- case 4:
183
- _a.sent();
184
- return [3 /*break*/, 6];
185
- case 5: throw error;
186
- case 6: return [2 /*return*/];
187
- }
188
- });
189
- }); };
190
- /**
191
- * Adds a new chain to the wallet
192
- */
193
- var addChain = function (provider, chainId, chainIdHex) { return __awaiter(void 0, void 0, void 0, function () {
194
- var chainConfig, addError_1;
195
- return __generator(this, function (_a) {
196
- switch (_a.label) {
197
- case 0:
198
- chainConfig = getChainConfiguration(chainId);
199
- if (!chainConfig) {
200
- throw new Error("No configuration found for chain ".concat(chainId));
201
- }
202
- _a.label = 1;
203
- case 1:
204
- _a.trys.push([1, 3, , 4]);
205
- return [4 /*yield*/, provider.request({
206
- method: 'wallet_addEthereumChain',
207
- params: [
208
- {
209
- chainId: chainIdHex,
210
- chainName: chainConfig.name,
211
- nativeCurrency: chainConfig.nativeCurrency,
212
- rpcUrls: chainConfig.rpcUrls.default.http,
213
- blockExplorerUrls: [chainConfig.blockExplorers.default.url]
214
- }
215
- ]
216
- })];
217
- case 2:
218
- _a.sent();
219
- return [3 /*break*/, 4];
220
- case 3:
221
- addError_1 = _a.sent();
222
- if (addError_1.code === 4001) {
223
- throw new Error('User rejected chain add');
224
- }
225
- throw addError_1;
226
- case 4: return [2 /*return*/];
227
- }
228
- });
229
- }); };
230
- /**
231
- * Checks if an error is a user rejection
232
- */
233
- var isUserRejection = function (error) {
234
- return error instanceof Error && error.message.includes('rejected');
235
- };
236
- /**
237
- * Gets the current chain switch status
238
- */
239
- export var getChainSwitchStatus = function () { return ({
240
- isChainSwitching: isChainSwitching,
241
- chainSwitchError: chainSwitchError
242
- }); };
@@ -1,8 +0,0 @@
1
- export * from './types';
2
- export * from './walletConnection';
3
- export * from './transactions';
4
- export * from './chainSwitching';
5
- export * from './walletDiscovery';
6
- export * from './provider';
7
- export * from './chainConfigs';
8
- export * from './signing';
@@ -1,8 +0,0 @@
1
- export * from './types';
2
- export * from './walletConnection';
3
- export * from './transactions';
4
- export * from './chainSwitching';
5
- export * from './walletDiscovery';
6
- export * from './provider';
7
- export * from './chainConfigs';
8
- export * from './signing';
@@ -1,6 +0,0 @@
1
- import { ethers } from 'ethers';
2
- import { EVMProvider } from './types';
3
- export declare const setActiveEVMProvider: (provider: ethers.BrowserProvider, rawProvider: EVMProvider) => void;
4
- export declare const getActiveEVMProvider: () => ethers.BrowserProvider | null;
5
- export declare const getActiveRawProvider: () => EVMProvider | null;
6
- export declare const clearActiveProviders: () => void;
@@ -1,13 +0,0 @@
1
- // Keep track of the active provider
2
- var activeEVMProvider = null;
3
- var activeRawProvider = null;
4
- export var setActiveEVMProvider = function (provider, rawProvider) {
5
- activeEVMProvider = provider;
6
- activeRawProvider = rawProvider;
7
- };
8
- export var getActiveEVMProvider = function () { return activeEVMProvider; };
9
- export var getActiveRawProvider = function () { return activeRawProvider; };
10
- export var clearActiveProviders = function () {
11
- activeEVMProvider = null;
12
- activeRawProvider = null;
13
- };
@@ -1 +0,0 @@
1
- export declare const signEVMMessage: (walletName: string, address: string, message: string) => Promise<string | Error>;
@@ -1,78 +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
- import { ethers } from 'ethers';
38
- import { getActiveEVMProvider, getActiveRawProvider } from './provider';
39
- export var signEVMMessage = function (walletName, address, message) { return __awaiter(void 0, void 0, void 0, function () {
40
- var activeProvider, activeRawProvider, messageHex, signature_1, provider, signer, signature, error_1;
41
- return __generator(this, function (_a) {
42
- switch (_a.label) {
43
- case 0:
44
- _a.trys.push([0, 5, , 6]);
45
- activeProvider = getActiveEVMProvider();
46
- activeRawProvider = getActiveRawProvider();
47
- if (!activeProvider || !activeRawProvider) {
48
- throw new Error('No active EVM provider');
49
- }
50
- if (!(walletName.toLowerCase() === 'rainbow')) return [3 /*break*/, 2];
51
- messageHex = ethers.hexlify(ethers.toUtf8Bytes(message));
52
- return [4 /*yield*/, activeRawProvider.request({
53
- method: 'personal_sign',
54
- // EIP-191 standard order: address first, then message
55
- params: [address.toLowerCase(), messageHex]
56
- })];
57
- case 1:
58
- signature_1 = _a.sent();
59
- return [2 /*return*/, signature_1];
60
- case 2:
61
- provider = new ethers.BrowserProvider(activeRawProvider);
62
- return [4 /*yield*/, provider.getSigner(address)];
63
- case 3:
64
- signer = _a.sent();
65
- return [4 /*yield*/, signer.signMessage(message)];
66
- case 4:
67
- signature = _a.sent();
68
- return [2 /*return*/, signature];
69
- case 5:
70
- error_1 = _a.sent();
71
- console.error('EVM message signing error:', error_1);
72
- return [2 /*return*/, error_1 instanceof Error
73
- ? error_1
74
- : new Error("Failed to sign message with ".concat(walletName, " wallet"))];
75
- case 6: return [2 /*return*/];
76
- }
77
- });
78
- }); };
@@ -1,28 +0,0 @@
1
- import { ethers } from 'ethers';
2
- /**
3
- * Sends a native EVM transaction
4
- */
5
- export declare const sendEVMTransaction: (toAddress: string, amount: bigint, fromAddress: string, gasLimit?: number | null, maxFeePerGas?: number | null, maxPriorityFeePerGas?: number | null) => Promise<string | Error>;
6
- /**
7
- * Sends an EVM token transaction
8
- */
9
- export declare const sendEVMTokenTransaction: (contractAddress: string, abi: ethers.InterfaceAbi, functionName: string, args: unknown[], fromAddress: string) => Promise<string | Error>;
10
- /**
11
- * Sends an native smart contract transaction
12
- */
13
- export declare const sendNativeSmartContractTransaction: (contractAddress: string, abi: ethers.InterfaceAbi, functionName: string, args: unknown[], fromAddress: string, value?: string) => Promise<string | Error>;
14
- /**
15
- * Sends a batch of EVM transactions
16
- */
17
- export declare const sendEVMTransactionBatch: (params: {
18
- version: string;
19
- from: string;
20
- chainId: string;
21
- atomicRequired: boolean;
22
- calls: {
23
- to: string;
24
- value: string;
25
- data?: string;
26
- }[];
27
- }) => Promise<string | Error>;
28
- export declare const getWalletCapabilities: (from: string, chainId: string) => Promise<any>;