@meshconnect/web-link-sdk 3.2.15 → 3.2.16
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.
- package/Link.d.ts +2 -0
- package/Link.js +530 -0
- package/index.d.ts +3 -0
- package/index.js +3 -0
- package/package.json +8 -20
- package/utils/connectors/evm/chainConfigs.d.ts +2 -0
- package/utils/connectors/evm/chainConfigs.js +115 -0
- package/utils/connectors/evm/chainSwitching.d.ts +15 -0
- package/utils/connectors/evm/chainSwitching.js +242 -0
- package/utils/connectors/evm/index.d.ts +8 -0
- package/utils/connectors/evm/index.js +8 -0
- package/utils/connectors/evm/provider.d.ts +6 -0
- package/utils/connectors/evm/provider.js +13 -0
- package/utils/connectors/evm/signing.d.ts +1 -0
- package/utils/connectors/evm/signing.js +78 -0
- package/utils/connectors/evm/transactions.d.ts +28 -0
- package/utils/connectors/evm/transactions.js +381 -0
- package/utils/connectors/evm/types.d.ts +57 -0
- package/utils/connectors/evm/types.js +1 -0
- package/utils/connectors/evm/walletConnection.d.ts +20 -0
- package/utils/connectors/evm/walletConnection.js +160 -0
- package/utils/connectors/evm/walletDiscovery.d.ts +10 -0
- package/utils/connectors/evm/walletDiscovery.js +55 -0
- package/utils/connectors/solana/connection.d.ts +4 -0
- package/utils/connectors/solana/connection.js +108 -0
- package/utils/connectors/solana/index.d.ts +5 -0
- package/utils/connectors/solana/index.js +5 -0
- package/utils/connectors/solana/providerDiscovery.d.ts +3 -0
- package/utils/connectors/solana/providerDiscovery.js +127 -0
- package/utils/connectors/solana/signing.d.ts +1 -0
- package/utils/connectors/solana/signing.js +59 -0
- package/utils/connectors/solana/transaction.d.ts +17 -0
- package/utils/connectors/solana/transaction.js +362 -0
- package/utils/connectors/solana/types.d.ts +71 -0
- package/utils/connectors/solana/types.js +8 -0
- package/utils/event-types.d.ts +233 -0
- package/{src/utils/event-types.test.ts → utils/event-types.js} +5 -15
- package/utils/popup.d.ts +3 -0
- package/utils/popup.js +36 -0
- package/utils/sdk-specs.d.ts +5 -0
- package/utils/sdk-specs.js +6 -0
- package/utils/style.d.ts +3 -0
- package/utils/style.js +13 -0
- package/utils/types.d.ts +234 -0
- package/utils/types.js +1 -0
- package/utils/version.d.ts +1 -0
- package/utils/version.js +1 -0
- package/utils/wallet/EVMWalletStrategy.d.ts +31 -0
- package/utils/wallet/EVMWalletStrategy.js +265 -0
- package/utils/wallet/SolanaWalletStrategy.d.ts +33 -0
- package/utils/wallet/SolanaWalletStrategy.js +300 -0
- package/utils/wallet/WalletStrategy.d.ts +61 -0
- package/utils/wallet/WalletStrategy.js +25 -0
- package/utils/wallet/WalletStrategyFactory.d.ts +15 -0
- package/utils/wallet/WalletStrategyFactory.js +31 -0
- package/utils/wallet/index.d.ts +4 -0
- package/utils/wallet/index.js +4 -0
- package/utils/wallet-browser-event-types.d.ts +116 -0
- package/utils/wallet-browser-event-types.js +17 -0
- package/jest.setup.ts +0 -4
- package/src/Link.test.ts +0 -434
- package/src/Link.ts +0 -491
- package/src/index.ts +0 -3
- package/src/utils/__snapshots__/popup.test.ts.snap +0 -89
- package/src/utils/connectors/evm/chainConfigs.ts +0 -120
- package/src/utils/connectors/evm/chainSwitching.ts +0 -165
- package/src/utils/connectors/evm/index.ts +0 -8
- package/src/utils/connectors/evm/provider.ts +0 -22
- package/src/utils/connectors/evm/signing.ts +0 -39
- package/src/utils/connectors/evm/transactions.ts +0 -356
- package/src/utils/connectors/evm/types.ts +0 -63
- package/src/utils/connectors/evm/walletConnection.ts +0 -140
- package/src/utils/connectors/evm/walletDiscovery.ts +0 -67
- package/src/utils/connectors/solana/connection.ts +0 -69
- package/src/utils/connectors/solana/index.ts +0 -5
- package/src/utils/connectors/solana/providerDiscovery.ts +0 -153
- package/src/utils/connectors/solana/signing.ts +0 -18
- package/src/utils/connectors/solana/transaction.ts +0 -382
- package/src/utils/connectors/solana/types.ts +0 -66
- package/src/utils/event-types.ts +0 -350
- package/src/utils/popup.test.ts +0 -50
- package/src/utils/popup.ts +0 -123
- package/src/utils/sdk-specs.test.ts +0 -18
- package/src/utils/sdk-specs.ts +0 -7
- package/src/utils/style.test.ts +0 -33
- package/src/utils/style.ts +0 -15
- package/src/utils/types.ts +0 -270
- package/src/utils/version.ts +0 -1
- package/src/utils/wallet/EVMWalletStrategy.ts +0 -176
- package/src/utils/wallet/SolanaWalletStrategy.ts +0 -207
- package/src/utils/wallet/WalletStrategy.ts +0 -99
- package/src/utils/wallet/WalletStrategyFactory.ts +0 -46
- package/src/utils/wallet/__tests__/EVMWalletStrategy.test.ts +0 -233
- package/src/utils/wallet/__tests__/SolanaWalletStrategy.test.ts +0 -253
- package/src/utils/wallet/__tests__/WalletStrategy.test.ts +0 -77
- package/src/utils/wallet/__tests__/WalletStrategyFactory.test.ts +0 -65
- package/src/utils/wallet/index.ts +0 -4
- package/src/utils/wallet-browser-event-types.ts +0 -190
- package/tools/copy.js +0 -26
- package/tools/update-version.js +0 -10
- package/tsconfig.json +0 -14
@@ -0,0 +1,55 @@
|
|
1
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
2
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
3
|
+
if (ar || !(i in from)) {
|
4
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
5
|
+
ar[i] = from[i];
|
6
|
+
}
|
7
|
+
}
|
8
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
9
|
+
};
|
10
|
+
var discoveredWallets = [];
|
11
|
+
/**
|
12
|
+
* Initializes EIP-6963 wallet discovery protocol
|
13
|
+
* @returns Cleanup function for event listeners
|
14
|
+
*/
|
15
|
+
export var initializeWalletDiscovery = function () {
|
16
|
+
var handleAnnouncement = function (event) {
|
17
|
+
var providerDetail = event.detail;
|
18
|
+
discoveredWallets = __spreadArray(__spreadArray([], discoveredWallets, true), [providerDetail], false);
|
19
|
+
};
|
20
|
+
window.addEventListener('eip6963:announceProvider', handleAnnouncement);
|
21
|
+
window.dispatchEvent(new Event('eip6963:requestProvider'));
|
22
|
+
return function () {
|
23
|
+
window.removeEventListener('eip6963:announceProvider', handleAnnouncement);
|
24
|
+
};
|
25
|
+
};
|
26
|
+
/**
|
27
|
+
* Finds all available EVM providers using EIP-6963
|
28
|
+
*/
|
29
|
+
export var findAvailableProviders = function () {
|
30
|
+
var providers = [];
|
31
|
+
// Initialize wallet discovery if not already done
|
32
|
+
if (discoveredWallets.length === 0) {
|
33
|
+
initializeWalletDiscovery();
|
34
|
+
}
|
35
|
+
// Add EIP-6963 discovered wallets
|
36
|
+
discoveredWallets.forEach(function (wallet) {
|
37
|
+
var injectedData = {
|
38
|
+
provider: wallet.provider
|
39
|
+
};
|
40
|
+
// Copy all boolean properties that start with 'is'
|
41
|
+
for (var key in wallet.provider) {
|
42
|
+
var provider = wallet.provider;
|
43
|
+
if (key.startsWith('is') && typeof provider[key] === 'boolean') {
|
44
|
+
injectedData[key] = provider[key];
|
45
|
+
}
|
46
|
+
}
|
47
|
+
providers.push({
|
48
|
+
name: wallet.info.name,
|
49
|
+
id: wallet.info.uuid,
|
50
|
+
icon: wallet.info.icon,
|
51
|
+
injectedData: injectedData
|
52
|
+
});
|
53
|
+
});
|
54
|
+
return providers;
|
55
|
+
};
|
@@ -0,0 +1,4 @@
|
|
1
|
+
import { SolanaConnectResult } from './types';
|
2
|
+
import { WalletBrowserPayload } from '../../types';
|
3
|
+
export declare const connectToSolanaWallet: (walletPayload: WalletBrowserPayload) => Promise<SolanaConnectResult | Error>;
|
4
|
+
export declare const disconnectFromSolanaWallet: (walletName: string) => Promise<void | Error>;
|
@@ -0,0 +1,108 @@
|
|
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 { getSolanaProvider } from './providerDiscovery';
|
38
|
+
import { Buffer } from 'buffer';
|
39
|
+
if (typeof window !== 'undefined') {
|
40
|
+
window.Buffer = window.Buffer || Buffer;
|
41
|
+
}
|
42
|
+
export var connectToSolanaWallet = function (walletPayload) { return __awaiter(void 0, void 0, void 0, function () {
|
43
|
+
var provider_1, response, error_1;
|
44
|
+
return __generator(this, function (_a) {
|
45
|
+
switch (_a.label) {
|
46
|
+
case 0:
|
47
|
+
_a.trys.push([0, 2, , 3]);
|
48
|
+
provider_1 = getSolanaProvider(walletPayload.integrationName);
|
49
|
+
return [4 /*yield*/, provider_1
|
50
|
+
.connect({ onlyIfTrusted: true })
|
51
|
+
.catch(function () { return provider_1.connect(); })
|
52
|
+
// Handle Phantom wallet which returns response.publicKey
|
53
|
+
];
|
54
|
+
case 1:
|
55
|
+
response = _a.sent();
|
56
|
+
// Handle Phantom wallet which returns response.publicKey
|
57
|
+
if (response === null || response === void 0 ? void 0 : response.publicKey) {
|
58
|
+
if (walletPayload.targetChainId == '103') {
|
59
|
+
return [2 /*return*/, {
|
60
|
+
accounts: [response.publicKey.toString()],
|
61
|
+
chainId: '103',
|
62
|
+
isConnected: true
|
63
|
+
}];
|
64
|
+
}
|
65
|
+
return [2 /*return*/, {
|
66
|
+
accounts: [response.publicKey.toString()],
|
67
|
+
chainId: '101',
|
68
|
+
isConnected: true
|
69
|
+
}];
|
70
|
+
}
|
71
|
+
// Handle other wallets that update provider.publicKey directly
|
72
|
+
if (provider_1.publicKey) {
|
73
|
+
return [2 /*return*/, {
|
74
|
+
accounts: [provider_1.publicKey.toString()],
|
75
|
+
chainId: '101',
|
76
|
+
isConnected: true
|
77
|
+
}];
|
78
|
+
}
|
79
|
+
throw new Error("".concat(walletPayload.integrationName, " connection failed - no public key returned"));
|
80
|
+
case 2:
|
81
|
+
error_1 = _a.sent();
|
82
|
+
return [2 /*return*/, error_1 instanceof Error
|
83
|
+
? error_1
|
84
|
+
: new Error("Failed to connect to ".concat(walletPayload.integrationName, " wallet"))];
|
85
|
+
case 3: return [2 /*return*/];
|
86
|
+
}
|
87
|
+
});
|
88
|
+
}); };
|
89
|
+
export var disconnectFromSolanaWallet = function (walletName) { return __awaiter(void 0, void 0, void 0, function () {
|
90
|
+
var provider, error_2;
|
91
|
+
return __generator(this, function (_a) {
|
92
|
+
switch (_a.label) {
|
93
|
+
case 0:
|
94
|
+
_a.trys.push([0, 2, , 3]);
|
95
|
+
provider = getSolanaProvider(walletName);
|
96
|
+
return [4 /*yield*/, provider.disconnect()];
|
97
|
+
case 1:
|
98
|
+
_a.sent();
|
99
|
+
return [3 /*break*/, 3];
|
100
|
+
case 2:
|
101
|
+
error_2 = _a.sent();
|
102
|
+
return [2 /*return*/, error_2 instanceof Error
|
103
|
+
? error_2
|
104
|
+
: new Error("Failed to disconnect from ".concat(walletName, " wallet"))];
|
105
|
+
case 3: return [2 /*return*/];
|
106
|
+
}
|
107
|
+
});
|
108
|
+
}); };
|
@@ -0,0 +1,127 @@
|
|
1
|
+
var _a;
|
2
|
+
import { SolanaWalletType } from './types';
|
3
|
+
var identifyWalletType = function (provider) {
|
4
|
+
if (provider.isPhantom)
|
5
|
+
return SolanaWalletType.PHANTOM;
|
6
|
+
if (provider.isSolflare)
|
7
|
+
return SolanaWalletType.SOLFLARE;
|
8
|
+
if (provider.isTrust || provider.isTrustWallet)
|
9
|
+
return SolanaWalletType.TRUST;
|
10
|
+
if (provider.isExodus)
|
11
|
+
return SolanaWalletType.EXODUS;
|
12
|
+
return SolanaWalletType.UNKNOWN;
|
13
|
+
};
|
14
|
+
var walletValidations = (_a = {},
|
15
|
+
_a[SolanaWalletType.PHANTOM] = function (provider) {
|
16
|
+
return provider.isPhantom === true &&
|
17
|
+
provider.isSolflare !== true &&
|
18
|
+
provider.isTrust !== true &&
|
19
|
+
provider.isTrustWallet !== true &&
|
20
|
+
provider.isExodus !== true;
|
21
|
+
},
|
22
|
+
_a[SolanaWalletType.SOLFLARE] = function (provider) {
|
23
|
+
return provider.isSolflare === true &&
|
24
|
+
provider.isPhantom !== true &&
|
25
|
+
provider.isTrust !== true &&
|
26
|
+
provider.isTrustWallet !== true &&
|
27
|
+
provider.isExodus !== true;
|
28
|
+
},
|
29
|
+
_a[SolanaWalletType.TRUST] = function (provider) {
|
30
|
+
return (provider.isTrust === true || provider.isTrustWallet === true) &&
|
31
|
+
provider.isPhantom !== true &&
|
32
|
+
provider.isSolflare !== true &&
|
33
|
+
provider.isExodus !== true;
|
34
|
+
},
|
35
|
+
_a[SolanaWalletType.EXODUS] = function (provider) {
|
36
|
+
return provider.isExodus === true &&
|
37
|
+
provider.isSolflare !== true &&
|
38
|
+
provider.isTrust !== true &&
|
39
|
+
provider.isTrustWallet !== true;
|
40
|
+
},
|
41
|
+
// Note: Exodus may also inject isPhantom, so we don't exclude it
|
42
|
+
_a[SolanaWalletType.UNKNOWN] = function (provider) {
|
43
|
+
return provider.isPhantom !== true &&
|
44
|
+
provider.isSolflare !== true &&
|
45
|
+
provider.isTrust !== true &&
|
46
|
+
provider.isTrustWallet !== true &&
|
47
|
+
provider.isExodus !== true;
|
48
|
+
},
|
49
|
+
_a);
|
50
|
+
var getProviderByType = function (type) {
|
51
|
+
var _a, _b, _c;
|
52
|
+
// Then check known provider locations
|
53
|
+
switch (type) {
|
54
|
+
case SolanaWalletType.PHANTOM:
|
55
|
+
if (((_a = window.phantom) === null || _a === void 0 ? void 0 : _a.solana) &&
|
56
|
+
walletValidations[type](window.phantom.solana)) {
|
57
|
+
return window.phantom.solana;
|
58
|
+
}
|
59
|
+
return undefined;
|
60
|
+
case SolanaWalletType.SOLFLARE:
|
61
|
+
if (window.solflare && walletValidations[type](window.solflare)) {
|
62
|
+
return window.solflare;
|
63
|
+
}
|
64
|
+
return undefined;
|
65
|
+
case SolanaWalletType.TRUST:
|
66
|
+
if (((_b = window.trustwallet) === null || _b === void 0 ? void 0 : _b.solana) &&
|
67
|
+
walletValidations[type](window.trustwallet.solana)) {
|
68
|
+
return window.trustwallet.solana;
|
69
|
+
}
|
70
|
+
return undefined;
|
71
|
+
case SolanaWalletType.EXODUS:
|
72
|
+
if (((_c = window.exodus) === null || _c === void 0 ? void 0 : _c.solana) &&
|
73
|
+
walletValidations[type](window.exodus.solana)) {
|
74
|
+
return window.exodus.solana;
|
75
|
+
}
|
76
|
+
return undefined;
|
77
|
+
case SolanaWalletType.UNKNOWN:
|
78
|
+
if (window.solana && walletValidations[type](window.solana)) {
|
79
|
+
return window.solana;
|
80
|
+
}
|
81
|
+
return undefined;
|
82
|
+
default:
|
83
|
+
return undefined;
|
84
|
+
}
|
85
|
+
};
|
86
|
+
export var findAvailableSolanaProviders = function () {
|
87
|
+
var providers = {};
|
88
|
+
// Check all known wallet types
|
89
|
+
Object.values(SolanaWalletType).forEach(function (type) {
|
90
|
+
if (getProviderByType(type)) {
|
91
|
+
providers[type] = true;
|
92
|
+
}
|
93
|
+
});
|
94
|
+
// Also check window.solana if not already found
|
95
|
+
if (window.solana && !Object.keys(providers).length) {
|
96
|
+
var walletType = identifyWalletType(window.solana);
|
97
|
+
providers[walletType] = true;
|
98
|
+
}
|
99
|
+
return providers;
|
100
|
+
};
|
101
|
+
export var getSolanaProvider = function (walletName) {
|
102
|
+
var _a;
|
103
|
+
var normalizedName = walletName
|
104
|
+
.toLowerCase()
|
105
|
+
.replace(/\s+/g, '');
|
106
|
+
var availableProviders = findAvailableSolanaProviders();
|
107
|
+
// First check if the requested wallet is available
|
108
|
+
if (availableProviders[normalizedName]) {
|
109
|
+
var provider = getProviderByType(normalizedName);
|
110
|
+
if (provider)
|
111
|
+
return provider;
|
112
|
+
}
|
113
|
+
// If not found and it's a dynamic provider, try direct access
|
114
|
+
var dynamicProvider = (_a = window[normalizedName]) === null || _a === void 0 ? void 0 : _a.solana;
|
115
|
+
if (dynamicProvider) {
|
116
|
+
return dynamicProvider;
|
117
|
+
}
|
118
|
+
// If still not found, check window.solana as last resort
|
119
|
+
if (window.solana) {
|
120
|
+
var detectedType = identifyWalletType(window.solana);
|
121
|
+
if (detectedType === normalizedName ||
|
122
|
+
normalizedName === SolanaWalletType.UNKNOWN) {
|
123
|
+
return window.solana;
|
124
|
+
}
|
125
|
+
}
|
126
|
+
throw new Error("Provider not found for wallet: ".concat(walletName));
|
127
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const signSolanaMessage: (walletName: string, message: string) => Promise<string | Error>;
|
@@ -0,0 +1,59 @@
|
|
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 bs58 from 'bs58';
|
38
|
+
import { getSolanaProvider } from './providerDiscovery';
|
39
|
+
export var signSolanaMessage = function (walletName, message) { return __awaiter(void 0, void 0, void 0, function () {
|
40
|
+
var provider, messageBytes, signedMessage, error_1;
|
41
|
+
return __generator(this, function (_a) {
|
42
|
+
switch (_a.label) {
|
43
|
+
case 0:
|
44
|
+
_a.trys.push([0, 2, , 3]);
|
45
|
+
provider = getSolanaProvider(walletName);
|
46
|
+
messageBytes = new TextEncoder().encode(message);
|
47
|
+
return [4 /*yield*/, provider.signMessage(messageBytes)];
|
48
|
+
case 1:
|
49
|
+
signedMessage = _a.sent();
|
50
|
+
return [2 /*return*/, bs58.encode(signedMessage.signature)];
|
51
|
+
case 2:
|
52
|
+
error_1 = _a.sent();
|
53
|
+
return [2 /*return*/, error_1 instanceof Error
|
54
|
+
? error_1
|
55
|
+
: new Error("Failed to sign message with ".concat(walletName, " wallet"))];
|
56
|
+
case 3: return [2 /*return*/];
|
57
|
+
}
|
58
|
+
});
|
59
|
+
}); };
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import { PublicKey, VersionedTransaction, TransactionInstruction } from '@meshconnect/solana-web3.js';
|
2
|
+
import { TransactionConfig, SolanaProvider } from './types';
|
3
|
+
import { SolanaTransferWithInstructionsPayload, TransactionInstructionDto } from '../../../utils/types';
|
4
|
+
export declare function getAssociatedTokenAddress(mint: PublicKey, owner: PublicKey, programId?: string): Promise<PublicKey>;
|
5
|
+
export declare function createTransferCheckedInstruction(fromTokenAccount: PublicKey, toTokenAccount: PublicKey, owner: PublicKey, amount: bigint, decimals: number | undefined, tokenMint: PublicKey): TransactionInstruction;
|
6
|
+
export declare function createSPLTransferInstruction({ fromTokenAccount, toTokenAccount, owner, amount }: {
|
7
|
+
fromTokenAccount: PublicKey;
|
8
|
+
toTokenAccount: PublicKey;
|
9
|
+
owner: PublicKey;
|
10
|
+
amount: bigint;
|
11
|
+
}): TransactionInstruction;
|
12
|
+
export declare function createTransferTransaction(config: TransactionConfig): Promise<VersionedTransaction>;
|
13
|
+
export declare function handleManualSignAndSend(transaction: VersionedTransaction, provider: SolanaProvider): Promise<string>;
|
14
|
+
export declare function getTransferInstructions(instructions: TransactionInstructionDto[]): Promise<TransactionInstruction[]>;
|
15
|
+
export declare const sendSOLTransaction: (config: TransactionConfig) => Promise<string>;
|
16
|
+
export declare const sendSOLTransactionWithInstructions: (payload: SolanaTransferWithInstructionsPayload, transferConfig: TransactionConfig) => Promise<string>;
|
17
|
+
export declare const sendSolanaTransfer: (walletName: string, transaction: VersionedTransaction) => Promise<string>;
|