@meshconnect/web-link-sdk 3.3.3 → 3.3.4

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 (47) hide show
  1. package/Link.js +5 -317
  2. package/package.json +3 -7
  3. package/utils/types.d.ts +0 -93
  4. package/utils/version.d.ts +1 -1
  5. package/utils/version.js +1 -1
  6. package/utils/connectors/evm/chainConfigs.d.ts +0 -2
  7. package/utils/connectors/evm/chainConfigs.js +0 -115
  8. package/utils/connectors/evm/chainSwitching.d.ts +0 -15
  9. package/utils/connectors/evm/chainSwitching.js +0 -242
  10. package/utils/connectors/evm/index.d.ts +0 -8
  11. package/utils/connectors/evm/index.js +0 -8
  12. package/utils/connectors/evm/provider.d.ts +0 -6
  13. package/utils/connectors/evm/provider.js +0 -13
  14. package/utils/connectors/evm/signing.d.ts +0 -1
  15. package/utils/connectors/evm/signing.js +0 -78
  16. package/utils/connectors/evm/transactions.d.ts +0 -28
  17. package/utils/connectors/evm/transactions.js +0 -381
  18. package/utils/connectors/evm/types.d.ts +0 -57
  19. package/utils/connectors/evm/types.js +0 -1
  20. package/utils/connectors/evm/walletConnection.d.ts +0 -20
  21. package/utils/connectors/evm/walletConnection.js +0 -160
  22. package/utils/connectors/evm/walletDiscovery.d.ts +0 -10
  23. package/utils/connectors/evm/walletDiscovery.js +0 -55
  24. package/utils/connectors/solana/connection.d.ts +0 -4
  25. package/utils/connectors/solana/connection.js +0 -108
  26. package/utils/connectors/solana/index.d.ts +0 -5
  27. package/utils/connectors/solana/index.js +0 -5
  28. package/utils/connectors/solana/providerDiscovery.d.ts +0 -3
  29. package/utils/connectors/solana/providerDiscovery.js +0 -127
  30. package/utils/connectors/solana/signing.d.ts +0 -1
  31. package/utils/connectors/solana/signing.js +0 -59
  32. package/utils/connectors/solana/transaction.d.ts +0 -17
  33. package/utils/connectors/solana/transaction.js +0 -362
  34. package/utils/connectors/solana/types.d.ts +0 -71
  35. package/utils/connectors/solana/types.js +0 -8
  36. package/utils/wallet/EVMWalletStrategy.d.ts +0 -31
  37. package/utils/wallet/EVMWalletStrategy.js +0 -265
  38. package/utils/wallet/SolanaWalletStrategy.d.ts +0 -33
  39. package/utils/wallet/SolanaWalletStrategy.js +0 -300
  40. package/utils/wallet/WalletStrategy.d.ts +0 -61
  41. package/utils/wallet/WalletStrategy.js +0 -25
  42. package/utils/wallet/WalletStrategyFactory.d.ts +0 -15
  43. package/utils/wallet/WalletStrategyFactory.js +0 -31
  44. package/utils/wallet/index.d.ts +0 -4
  45. package/utils/wallet/index.js +0 -4
  46. package/utils/wallet-browser-event-types.d.ts +0 -116
  47. package/utils/wallet-browser-event-types.js +0 -17
@@ -1,265 +0,0 @@
1
- var __extends = (this && this.__extends) || (function () {
2
- var extendStatics = function (d, b) {
3
- extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
- return extendStatics(d, b);
7
- };
8
- return function (d, b) {
9
- if (typeof b !== "function" && b !== null)
10
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
- extendStatics(d, b);
12
- function __() { this.constructor = d; }
13
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
- };
15
- })();
16
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
- return new (P || (P = Promise))(function (resolve, reject) {
19
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
- step((generator = generator.apply(thisArg, _arguments || [])).next());
23
- });
24
- };
25
- var __generator = (this && this.__generator) || function (thisArg, body) {
26
- 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);
27
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
28
- function verb(n) { return function (v) { return step([n, v]); }; }
29
- function step(op) {
30
- if (f) throw new TypeError("Generator is already executing.");
31
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
32
- 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;
33
- if (y = 0, t) op = [op[0] & 2, t.value];
34
- switch (op[0]) {
35
- case 0: case 1: t = op; break;
36
- case 4: _.label++; return { value: op[1], done: false };
37
- case 5: _.label++; y = op[1]; op = [0]; continue;
38
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
39
- default:
40
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
41
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
42
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
43
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
44
- if (t[2]) _.ops.pop();
45
- _.trys.pop(); continue;
46
- }
47
- op = body.call(thisArg, _);
48
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
49
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
- }
51
- };
52
- import { BaseWalletStrategy } from './WalletStrategy';
53
- import { connectToEVMWallet, disconnectFromEVMWallet, signEVMMessage, sendEVMTransaction, sendEVMTokenTransaction, sendNativeSmartContractTransaction, switchEVMChain, findAvailableProviders, sendEVMTransactionBatch, getWalletCapabilities } from '../connectors/evm';
54
- var EVMWalletStrategy = /** @class */ (function (_super) {
55
- __extends(EVMWalletStrategy, _super);
56
- function EVMWalletStrategy() {
57
- return _super !== null && _super.apply(this, arguments) || this;
58
- }
59
- EVMWalletStrategy.prototype.sendTransactionWithInstructions = function () {
60
- throw new Error('Method not implemented.');
61
- };
62
- EVMWalletStrategy.prototype.connect = function (payload) {
63
- return __awaiter(this, void 0, void 0, function () {
64
- var result, error_1;
65
- return __generator(this, function (_a) {
66
- switch (_a.label) {
67
- case 0:
68
- _a.trys.push([0, 2, , 3]);
69
- return [4 /*yield*/, connectToEVMWallet(payload.integrationName, payload.targetChainId ? parseInt(payload.targetChainId, 10) : undefined)];
70
- case 1:
71
- result = _a.sent();
72
- if (result instanceof Error) {
73
- throw result;
74
- }
75
- return [2 /*return*/, {
76
- accounts: result.accounts,
77
- chainId: result.chainId,
78
- isConnected: result.isConnected
79
- }];
80
- case 2:
81
- error_1 = _a.sent();
82
- throw this.handleError(error_1, 'connect to EVM wallet');
83
- case 3: return [2 /*return*/];
84
- }
85
- });
86
- });
87
- };
88
- EVMWalletStrategy.prototype.disconnect = function (payload) {
89
- return __awaiter(this, void 0, void 0, function () {
90
- var result, error_2;
91
- return __generator(this, function (_a) {
92
- switch (_a.label) {
93
- case 0:
94
- _a.trys.push([0, 2, , 3]);
95
- return [4 /*yield*/, disconnectFromEVMWallet(payload.walletName || 'Unknown Wallet')];
96
- case 1:
97
- result = _a.sent();
98
- if (result instanceof Error) {
99
- throw result;
100
- }
101
- return [3 /*break*/, 3];
102
- case 2:
103
- error_2 = _a.sent();
104
- throw this.handleError(error_2, 'disconnect from EVM wallet');
105
- case 3: return [2 /*return*/];
106
- }
107
- });
108
- });
109
- };
110
- EVMWalletStrategy.prototype.signMessage = function (payload) {
111
- return __awaiter(this, void 0, void 0, function () {
112
- var result, error_3;
113
- return __generator(this, function (_a) {
114
- switch (_a.label) {
115
- case 0:
116
- _a.trys.push([0, 2, , 3]);
117
- return [4 /*yield*/, signEVMMessage(payload.walletName || 'Unknown Wallet', payload.address, payload.message)];
118
- case 1:
119
- result = _a.sent();
120
- if (result instanceof Error) {
121
- throw result;
122
- }
123
- return [2 /*return*/, result];
124
- case 2:
125
- error_3 = _a.sent();
126
- throw this.handleError(error_3, 'sign EVM message');
127
- case 3: return [2 /*return*/];
128
- }
129
- });
130
- });
131
- };
132
- EVMWalletStrategy.prototype.switchChain = function (payload) {
133
- return __awaiter(this, void 0, void 0, function () {
134
- var result, error_4;
135
- return __generator(this, function (_a) {
136
- switch (_a.label) {
137
- case 0:
138
- _a.trys.push([0, 2, , 3]);
139
- return [4 /*yield*/, switchEVMChain(payload.chainId)];
140
- case 1:
141
- result = _a.sent();
142
- if (result instanceof Error) {
143
- throw result;
144
- }
145
- return [2 /*return*/, result];
146
- case 2:
147
- error_4 = _a.sent();
148
- throw this.handleError(error_4, 'switch EVM chain');
149
- case 3: return [2 /*return*/];
150
- }
151
- });
152
- });
153
- };
154
- EVMWalletStrategy.prototype.sendNativeTransfer = function (payload) {
155
- return __awaiter(this, void 0, void 0, function () {
156
- var result, error_5;
157
- return __generator(this, function (_a) {
158
- switch (_a.label) {
159
- case 0:
160
- _a.trys.push([0, 2, , 3]);
161
- return [4 /*yield*/, sendEVMTransaction(payload.toAddress, BigInt(payload.amount * Math.pow(10, payload.decimalPlaces)), payload.account, payload.gasLimit, payload.maxFeePerGas, payload.maxPriorityFeePerGas)];
162
- case 1:
163
- result = _a.sent();
164
- if (result instanceof Error) {
165
- throw result;
166
- }
167
- return [2 /*return*/, result];
168
- case 2:
169
- error_5 = _a.sent();
170
- throw this.handleError(error_5, 'send EVM native transfer');
171
- case 3: return [2 /*return*/];
172
- }
173
- });
174
- });
175
- };
176
- EVMWalletStrategy.prototype.sendSmartContractInteraction = function (payload) {
177
- return __awaiter(this, void 0, void 0, function () {
178
- var result, error_6;
179
- return __generator(this, function (_a) {
180
- switch (_a.label) {
181
- case 0:
182
- _a.trys.push([0, 2, , 3]);
183
- return [4 /*yield*/, sendEVMTokenTransaction(payload.address, JSON.parse(payload.abi), payload.functionName, payload.args, payload.account)];
184
- case 1:
185
- result = _a.sent();
186
- if (result instanceof Error) {
187
- throw result;
188
- }
189
- return [2 /*return*/, result];
190
- case 2:
191
- error_6 = _a.sent();
192
- throw this.handleError(error_6, 'send EVM smart contract interaction');
193
- case 3: return [2 /*return*/];
194
- }
195
- });
196
- });
197
- };
198
- EVMWalletStrategy.prototype.sendNativeSmartContractInteraction = function (payload) {
199
- return __awaiter(this, void 0, void 0, function () {
200
- var result, error_7;
201
- return __generator(this, function (_a) {
202
- switch (_a.label) {
203
- case 0:
204
- _a.trys.push([0, 2, , 3]);
205
- return [4 /*yield*/, sendNativeSmartContractTransaction(payload.address, JSON.parse(payload.abi), payload.functionName, payload.args, payload.account, payload.value)];
206
- case 1:
207
- result = _a.sent();
208
- if (result instanceof Error) {
209
- throw result;
210
- }
211
- return [2 /*return*/, result];
212
- case 2:
213
- error_7 = _a.sent();
214
- throw this.handleError(error_7, 'send EVM smart contract interaction');
215
- case 3: return [2 /*return*/];
216
- }
217
- });
218
- });
219
- };
220
- EVMWalletStrategy.prototype.sendTransactionBatch = function (payload) {
221
- return __awaiter(this, void 0, void 0, function () {
222
- var result, error_8;
223
- return __generator(this, function (_a) {
224
- switch (_a.label) {
225
- case 0:
226
- _a.trys.push([0, 2, , 3]);
227
- return [4 /*yield*/, sendEVMTransactionBatch(payload)];
228
- case 1:
229
- result = _a.sent();
230
- if (result instanceof Error) {
231
- throw result;
232
- }
233
- return [2 /*return*/, result];
234
- case 2:
235
- error_8 = _a.sent();
236
- throw this.handleError(error_8, 'send EVM smart contract interaction');
237
- case 3: return [2 /*return*/];
238
- }
239
- });
240
- });
241
- };
242
- EVMWalletStrategy.prototype.getWalletCapabilities = function (payload) {
243
- return __awaiter(this, void 0, void 0, function () {
244
- var result;
245
- return __generator(this, function (_a) {
246
- switch (_a.label) {
247
- case 0: return [4 /*yield*/, getWalletCapabilities(payload.from, payload.chainId)];
248
- case 1:
249
- result = _a.sent();
250
- return [2 /*return*/, result];
251
- }
252
- });
253
- });
254
- };
255
- EVMWalletStrategy.prototype.getProviders = function () {
256
- return findAvailableProviders().map(function (provider) { return ({
257
- icon: provider.icon,
258
- id: provider.id,
259
- name: provider.name,
260
- type: 'evm'
261
- }); });
262
- };
263
- return EVMWalletStrategy;
264
- }(BaseWalletStrategy));
265
- export { EVMWalletStrategy };
@@ -1,33 +0,0 @@
1
- import { BaseWalletStrategy } from './WalletStrategy';
2
- import { WalletBrowserPayload, SignRequestPayload, ChainSwitchPayload, TransferPayload, SmartContractPayload, DisconnectPayload, SolanaTransferWithInstructionsPayload } from '../types';
3
- export declare class SolanaWalletStrategy extends BaseWalletStrategy {
4
- connect(payload: WalletBrowserPayload): Promise<{
5
- accounts: string[];
6
- chainId: string;
7
- isConnected: boolean;
8
- }>;
9
- disconnect(payload: DisconnectPayload): Promise<void>;
10
- signMessage(payload: SignRequestPayload): Promise<string>;
11
- /**
12
- * Handles chain switching for Solana networks
13
- * Supports both mainnet (101) and devnet (103)
14
- */
15
- switchChain(payload: ChainSwitchPayload): Promise<{
16
- chainId: string;
17
- accounts: string[];
18
- }>;
19
- sendNativeTransfer(payload: TransferPayload): Promise<string>;
20
- sendSmartContractInteraction(payload: SmartContractPayload): Promise<string>;
21
- sendTransactionWithInstructions(payload: SolanaTransferWithInstructionsPayload): Promise<string>;
22
- sendNativeSmartContractInteraction(): Promise<string>;
23
- sendTransactionBatch(): Promise<string>;
24
- getWalletCapabilities(): Promise<{
25
- atomic: {
26
- status: string;
27
- };
28
- }>;
29
- getProviders(): {
30
- id: string;
31
- type: string;
32
- }[];
33
- }
@@ -1,300 +0,0 @@
1
- var __extends = (this && this.__extends) || (function () {
2
- var extendStatics = function (d, b) {
3
- extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
- return extendStatics(d, b);
7
- };
8
- return function (d, b) {
9
- if (typeof b !== "function" && b !== null)
10
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
- extendStatics(d, b);
12
- function __() { this.constructor = d; }
13
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
- };
15
- })();
16
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
- return new (P || (P = Promise))(function (resolve, reject) {
19
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
- step((generator = generator.apply(thisArg, _arguments || [])).next());
23
- });
24
- };
25
- var __generator = (this && this.__generator) || function (thisArg, body) {
26
- 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);
27
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
28
- function verb(n) { return function (v) { return step([n, v]); }; }
29
- function step(op) {
30
- if (f) throw new TypeError("Generator is already executing.");
31
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
32
- 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;
33
- if (y = 0, t) op = [op[0] & 2, t.value];
34
- switch (op[0]) {
35
- case 0: case 1: t = op; break;
36
- case 4: _.label++; return { value: op[1], done: false };
37
- case 5: _.label++; y = op[1]; op = [0]; continue;
38
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
39
- default:
40
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
41
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
42
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
43
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
44
- if (t[2]) _.ops.pop();
45
- _.trys.pop(); continue;
46
- }
47
- op = body.call(thisArg, _);
48
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
49
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
- }
51
- };
52
- import { BaseWalletStrategy } from './WalletStrategy';
53
- import { connectToSolanaWallet, disconnectFromSolanaWallet, signSolanaMessage, sendSOLTransaction, findAvailableSolanaProviders, getSolanaProvider, sendSOLTransactionWithInstructions } from '../connectors/solana';
54
- var SolanaWalletStrategy = /** @class */ (function (_super) {
55
- __extends(SolanaWalletStrategy, _super);
56
- function SolanaWalletStrategy() {
57
- return _super !== null && _super.apply(this, arguments) || this;
58
- }
59
- SolanaWalletStrategy.prototype.connect = function (payload) {
60
- return __awaiter(this, void 0, void 0, function () {
61
- var result, error_1;
62
- return __generator(this, function (_a) {
63
- switch (_a.label) {
64
- case 0:
65
- _a.trys.push([0, 2, , 3]);
66
- return [4 /*yield*/, connectToSolanaWallet(payload)];
67
- case 1:
68
- result = _a.sent();
69
- if (result instanceof Error) {
70
- throw result;
71
- }
72
- return [2 /*return*/, {
73
- accounts: result.accounts,
74
- chainId: result.chainId,
75
- isConnected: result.isConnected
76
- }];
77
- case 2:
78
- error_1 = _a.sent();
79
- throw this.handleError(error_1, 'connect to Solana wallet');
80
- case 3: return [2 /*return*/];
81
- }
82
- });
83
- });
84
- };
85
- SolanaWalletStrategy.prototype.disconnect = function (payload) {
86
- return __awaiter(this, void 0, void 0, function () {
87
- var result, error_2;
88
- return __generator(this, function (_a) {
89
- switch (_a.label) {
90
- case 0:
91
- _a.trys.push([0, 2, , 3]);
92
- return [4 /*yield*/, disconnectFromSolanaWallet(payload.walletName || 'Unknown Wallet')];
93
- case 1:
94
- result = _a.sent();
95
- if (result instanceof Error) {
96
- throw result;
97
- }
98
- return [3 /*break*/, 3];
99
- case 2:
100
- error_2 = _a.sent();
101
- throw this.handleError(error_2, 'disconnect from Solana wallet');
102
- case 3: return [2 /*return*/];
103
- }
104
- });
105
- });
106
- };
107
- SolanaWalletStrategy.prototype.signMessage = function (payload) {
108
- return __awaiter(this, void 0, void 0, function () {
109
- var result, error_3;
110
- return __generator(this, function (_a) {
111
- switch (_a.label) {
112
- case 0:
113
- _a.trys.push([0, 2, , 3]);
114
- return [4 /*yield*/, signSolanaMessage(payload.walletName || 'Unknown Wallet', payload.message)];
115
- case 1:
116
- result = _a.sent();
117
- if (result instanceof Error) {
118
- throw result;
119
- }
120
- return [2 /*return*/, result];
121
- case 2:
122
- error_3 = _a.sent();
123
- throw this.handleError(error_3, 'sign Solana message');
124
- case 3: return [2 /*return*/];
125
- }
126
- });
127
- });
128
- };
129
- /**
130
- * Handles chain switching for Solana networks
131
- * Supports both mainnet (101) and devnet (103)
132
- */
133
- SolanaWalletStrategy.prototype.switchChain = function (payload) {
134
- return __awaiter(this, void 0, void 0, function () {
135
- return __generator(this, function (_a) {
136
- // Check if the requested chainId is for Solana Devnet (103)
137
- if (payload.chainId === 103) {
138
- return [2 /*return*/, {
139
- chainId: '103',
140
- accounts: []
141
- }];
142
- }
143
- // Default to mainnet (101) for all other cases
144
- return [2 /*return*/, {
145
- chainId: '101',
146
- accounts: []
147
- }];
148
- });
149
- });
150
- };
151
- SolanaWalletStrategy.prototype.sendNativeTransfer = function (payload) {
152
- return __awaiter(this, void 0, void 0, function () {
153
- var result, error_4;
154
- return __generator(this, function (_a) {
155
- switch (_a.label) {
156
- case 0:
157
- _a.trys.push([0, 2, , 3]);
158
- return [4 /*yield*/, sendSOLTransaction({
159
- toAddress: payload.toAddress,
160
- amount: BigInt(payload.amount * Math.pow(10, payload.decimalPlaces)),
161
- fromAddress: payload.account,
162
- blockhash: payload.blockhash || '',
163
- walletName: payload.walletName || ''
164
- })];
165
- case 1:
166
- result = _a.sent();
167
- if (typeof result === 'string') {
168
- return [2 /*return*/, result];
169
- }
170
- throw result;
171
- case 2:
172
- error_4 = _a.sent();
173
- throw this.handleError(error_4, 'send Solana native transfer');
174
- case 3: return [2 /*return*/];
175
- }
176
- });
177
- });
178
- };
179
- SolanaWalletStrategy.prototype.sendSmartContractInteraction = function (payload) {
180
- return __awaiter(this, void 0, void 0, function () {
181
- var provider, senderAddress, _a, decimals, rawAmount, scaledAmount;
182
- var _b;
183
- return __generator(this, function (_c) {
184
- switch (_c.label) {
185
- case 0:
186
- provider = getSolanaProvider(payload.walletName || '');
187
- _a = payload.account;
188
- if (_a) return [3 /*break*/, 2];
189
- return [4 /*yield*/, ((_b = provider.publicKey) === null || _b === void 0 ? void 0 : _b.toString())];
190
- case 1:
191
- _a = (_c.sent());
192
- _c.label = 2;
193
- case 2:
194
- senderAddress = _a;
195
- if (!senderAddress) {
196
- throw new Error('Sender account address is required');
197
- }
198
- decimals = payload.args[2] || 9;
199
- rawAmount = payload.args[1];
200
- scaledAmount = rawAmount;
201
- if (!payload.blockhash) {
202
- throw new Error('Blockhash is required for Solana transactions');
203
- }
204
- return [4 /*yield*/, sendSOLTransaction({
205
- toAddress: payload.args[0],
206
- amount: scaledAmount,
207
- fromAddress: senderAddress,
208
- blockhash: payload.blockhash,
209
- walletName: payload.walletName || '',
210
- tokenMint: payload.address,
211
- createATA: payload.createATA || false,
212
- tokenProgram: payload.tokenProgram,
213
- tokenDecimals: decimals
214
- })];
215
- case 3: return [2 /*return*/, _c.sent()];
216
- }
217
- });
218
- });
219
- };
220
- SolanaWalletStrategy.prototype.sendTransactionWithInstructions = function (payload) {
221
- return __awaiter(this, void 0, void 0, function () {
222
- var provider, senderAddress, _a, decimals, rawAmount, scaledAmount, result, error_5;
223
- var _b;
224
- return __generator(this, function (_c) {
225
- switch (_c.label) {
226
- case 0:
227
- provider = getSolanaProvider(payload.transactionInstructions.walletName || '');
228
- _a = payload.transferConfig.account;
229
- if (_a) return [3 /*break*/, 2];
230
- return [4 /*yield*/, ((_b = provider.publicKey) === null || _b === void 0 ? void 0 : _b.toString())];
231
- case 1:
232
- _a = (_c.sent());
233
- _c.label = 2;
234
- case 2:
235
- senderAddress = _a;
236
- if (!senderAddress) {
237
- throw new Error('Sender account address is required');
238
- }
239
- decimals = payload.transferConfig.args[2] || 6 // USDC has 6 decimals
240
- ;
241
- rawAmount = payload.transferConfig.args[1];
242
- scaledAmount = rawAmount;
243
- if (!payload.transactionInstructions.blockhash) {
244
- throw new Error('Blockhash is required for Solana transactions');
245
- }
246
- _c.label = 3;
247
- case 3:
248
- _c.trys.push([3, 5, , 6]);
249
- return [4 /*yield*/, sendSOLTransactionWithInstructions(payload, {
250
- toAddress: payload.transferConfig.args[0],
251
- amount: scaledAmount,
252
- fromAddress: senderAddress,
253
- blockhash: payload.transactionInstructions.blockhash,
254
- walletName: payload.transactionInstructions.walletName || '',
255
- tokenMint: payload.transferConfig.address,
256
- createATA: payload.transferConfig.createATA || false,
257
- tokenProgram: payload.transferConfig.tokenProgram,
258
- tokenDecimals: decimals
259
- })];
260
- case 4:
261
- result = _c.sent();
262
- if (typeof result === 'string') {
263
- return [2 /*return*/, result];
264
- }
265
- throw result;
266
- case 5:
267
- error_5 = _c.sent();
268
- throw this.handleError(error_5, 'send Solana native transfer');
269
- case 6: return [2 /*return*/];
270
- }
271
- });
272
- });
273
- };
274
- SolanaWalletStrategy.prototype.sendNativeSmartContractInteraction = function () {
275
- throw new Error('Method not implemented.');
276
- };
277
- SolanaWalletStrategy.prototype.sendTransactionBatch = function () {
278
- throw new Error('Method not implemented.');
279
- };
280
- SolanaWalletStrategy.prototype.getWalletCapabilities = function () {
281
- return __awaiter(this, void 0, void 0, function () {
282
- return __generator(this, function (_a) {
283
- return [2 /*return*/, {
284
- atomic: {
285
- status: 'ready'
286
- }
287
- }];
288
- });
289
- });
290
- };
291
- SolanaWalletStrategy.prototype.getProviders = function () {
292
- var solanaProviderMap = findAvailableSolanaProviders();
293
- return Object.keys(solanaProviderMap).map(function (id) { return ({
294
- id: id,
295
- type: 'solana'
296
- }); });
297
- };
298
- return SolanaWalletStrategy;
299
- }(BaseWalletStrategy));
300
- export { SolanaWalletStrategy };
@@ -1,61 +0,0 @@
1
- import { WalletBrowserPayload, SignRequestPayload, ChainSwitchPayload, TransferPayload, SmartContractPayload, DisconnectPayload, TransactionBatchPayload, WalletCapabilitiesPayload, SolanaTransferWithInstructionsPayload } from '../types';
2
- export interface WalletStrategy {
3
- connect(payload: WalletBrowserPayload): Promise<{
4
- accounts: string[];
5
- chainId: string | number;
6
- isConnected: boolean;
7
- }>;
8
- disconnect(payload: DisconnectPayload): Promise<void>;
9
- signMessage(payload: SignRequestPayload): Promise<string>;
10
- switchChain(payload: ChainSwitchPayload): Promise<{
11
- chainId: number | string;
12
- accounts: string[];
13
- }>;
14
- sendNativeTransfer(payload: TransferPayload): Promise<string>;
15
- sendSmartContractInteraction(payload: SmartContractPayload): Promise<string>;
16
- sendNativeSmartContractInteraction(payload: SmartContractPayload): Promise<string>;
17
- sendTransactionBatch(payload: TransactionBatchPayload): Promise<string>;
18
- getWalletCapabilities(payload: WalletCapabilitiesPayload): Promise<{
19
- atomic: {
20
- status: string;
21
- };
22
- }>;
23
- sendTransactionWithInstructions(payload: SolanaTransferWithInstructionsPayload): Promise<string>;
24
- getProviders(): {
25
- id: string;
26
- type: string;
27
- name?: string;
28
- icon?: string;
29
- }[];
30
- }
31
- export declare abstract class BaseWalletStrategy implements WalletStrategy {
32
- abstract connect(payload: WalletBrowserPayload): Promise<{
33
- accounts: string[];
34
- chainId: string | number;
35
- isConnected: boolean;
36
- }>;
37
- abstract disconnect(payload: DisconnectPayload): Promise<void>;
38
- abstract signMessage(payload: SignRequestPayload): Promise<string>;
39
- abstract switchChain(payload: ChainSwitchPayload): Promise<{
40
- chainId: number | string;
41
- accounts: string[];
42
- }>;
43
- abstract sendNativeTransfer(payload: TransferPayload): Promise<string>;
44
- abstract sendSmartContractInteraction(payload: SmartContractPayload): Promise<string>;
45
- abstract sendNativeSmartContractInteraction(payload: SmartContractPayload): Promise<string>;
46
- abstract sendTransactionBatch(payload: TransactionBatchPayload): Promise<string>;
47
- abstract getWalletCapabilities(payload: WalletCapabilitiesPayload): Promise<{
48
- atomic: {
49
- status: string;
50
- };
51
- }>;
52
- abstract getProviders(): {
53
- id: string;
54
- type: string;
55
- name?: string;
56
- icon?: string;
57
- }[];
58
- abstract sendTransactionWithInstructions(payload: SolanaTransferWithInstructionsPayload): Promise<string>;
59
- protected handleError(error: unknown, operation: string): Error;
60
- protected isUserRejection(error: any): boolean;
61
- }