@meshconnect/uwc-injected-connector 0.2.6 → 0.2.8
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/dist/injected-connector.js +2 -2
- package/dist/injected-connector.js.map +1 -1
- package/dist/injected-connector.old.d.ts +44 -0
- package/dist/injected-connector.old.d.ts.map +1 -0
- package/dist/injected-connector.old.js +491 -0
- package/dist/injected-connector.old.js.map +1 -0
- package/dist/providers/evm-provider.d.ts +18 -0
- package/dist/providers/evm-provider.d.ts.map +1 -0
- package/dist/providers/evm-provider.js +86 -0
- package/dist/providers/evm-provider.js.map +1 -0
- package/dist/providers/solana-provider.d.ts +22 -0
- package/dist/providers/solana-provider.d.ts.map +1 -0
- package/dist/providers/solana-provider.js +137 -0
- package/dist/providers/solana-provider.js.map +1 -0
- package/dist/services/signature-service.d.ts +2 -2
- package/dist/services/signature-service.d.ts.map +1 -1
- package/dist/services/signature-service.js +3 -10
- package/dist/services/signature-service.js.map +1 -1
- package/dist/services/solana/solana-transaction-service.d.ts +14 -2
- package/dist/services/solana/solana-transaction-service.d.ts.map +1 -1
- package/dist/services/solana/solana-transaction-service.js +87 -47
- package/dist/services/solana/solana-transaction-service.js.map +1 -1
- package/dist/services/solana/solana-wallet-service.d.ts +6 -7
- package/dist/services/solana/solana-wallet-service.d.ts.map +1 -1
- package/dist/services/solana/solana-wallet-service.js +13 -15
- package/dist/services/solana/solana-wallet-service.js.map +1 -1
- package/dist/services/transaction-service.d.ts +2 -2
- package/dist/services/transaction-service.d.ts.map +1 -1
- package/dist/services/transaction-service.js.map +1 -1
- package/dist/wallet-standard-discovery.d.ts +11 -9
- package/dist/wallet-standard-discovery.d.ts.map +1 -1
- package/dist/wallet-standard-discovery.js +47 -23
- package/dist/wallet-standard-discovery.js.map +1 -1
- package/package.json +2 -2
- package/src/injected-connector.ts +2 -2
- package/src/services/signature-service.ts +5 -17
- package/src/services/solana/solana-transaction-service.ts +121 -60
- package/src/services/solana/solana-wallet-service.ts +21 -23
- package/src/services/transaction-service.ts +3 -3
- package/src/wallet-standard-discovery.ts +77 -32
|
@@ -30,7 +30,7 @@ export class InjectedConnector {
|
|
|
30
30
|
*/
|
|
31
31
|
async initializeWalletDiscovery() {
|
|
32
32
|
await this.ethereumService.initializeDiscovery();
|
|
33
|
-
this.solanaService.initializeDiscovery();
|
|
33
|
+
await this.solanaService.initializeDiscovery();
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
36
|
* Get available wallets for a specific namespace
|
|
@@ -53,7 +53,7 @@ export class InjectedConnector {
|
|
|
53
53
|
}
|
|
54
54
|
case 'solana': {
|
|
55
55
|
// Re-fetch Solana wallets
|
|
56
|
-
this.solanaService.initializeDiscovery();
|
|
56
|
+
await this.solanaService.initializeDiscovery();
|
|
57
57
|
// Convert to DetectedWalletInfo format
|
|
58
58
|
return this.solanaService.getDetectedWallets().map(wallet => ({
|
|
59
59
|
uuid: wallet.uuid,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injected-connector.js","sourceRoot":"","sources":["../src/injected-connector.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAEnE,MAAM,OAAO,iBAAiB;IACpB,cAAc,CAAgB;IAC9B,eAAe,CAAuB;IACtC,aAAa,CAAqB;IAClC,iBAAiB,CAAmB;IACpC,gBAAgB,CAAkB;IAClC,kBAAkB,CAAoB;IACtC,aAAa,CAAe;IAEpC,YAAY,gBAA+B,EAAE;QAC3C,4BAA4B;QAC5B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAElC,sBAAsB;QACtB,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,EAAE,CAAA;QAC1C,IAAI,CAAC,eAAe,GAAG,IAAI,qBAAqB,EAAE,CAAA;QAClD,IAAI,CAAC,aAAa,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QACjE,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAC5C,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,aAAa,CACnB,CAAA;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAA;QAC9C,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAEpE,8BAA8B;QAC9B,IAAI,CAAC,yBAAyB,EAAE,CAAA;IAClC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,yBAAyB;QACrC,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAA;QAChD,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"injected-connector.js","sourceRoot":"","sources":["../src/injected-connector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { Network, ExtensionInjectedProvider, IntegratedBrowserInjectedProvider, Connector, ConnectorResult, SwitchNetworkResult, Namespace, DetectedWalletInfo } from '@meshconnect/uwc-types';
|
|
2
|
+
export declare class InjectedConnector implements Connector {
|
|
3
|
+
private detectedEIP6963Wallets;
|
|
4
|
+
private detectedSolanaWallets;
|
|
5
|
+
private connectedProviders;
|
|
6
|
+
constructor();
|
|
7
|
+
/**
|
|
8
|
+
* Discovers available wallets
|
|
9
|
+
*/
|
|
10
|
+
private initializeWalletDiscovery;
|
|
11
|
+
/**
|
|
12
|
+
* Detect available Solana wallets in the browser
|
|
13
|
+
*/
|
|
14
|
+
private detectSolanaWallets;
|
|
15
|
+
/**
|
|
16
|
+
* Get EVM provider - first try EIP-6963 discovered wallets, then fall back to window.ethereum
|
|
17
|
+
*/
|
|
18
|
+
private getEVMProvider;
|
|
19
|
+
/**
|
|
20
|
+
* Get Solana provider based on metadata
|
|
21
|
+
*/
|
|
22
|
+
private getSolanaProvider;
|
|
23
|
+
/**
|
|
24
|
+
* Get available wallets for a specific namespace
|
|
25
|
+
* @param namespace The namespace to check for available wallets
|
|
26
|
+
* @returns Promise that resolves to detected wallets for the namespace
|
|
27
|
+
*/
|
|
28
|
+
getAvailableWallets(namespace: Namespace): Promise<DetectedWalletInfo[]>;
|
|
29
|
+
connect(network: Network, provider: ExtensionInjectedProvider | IntegratedBrowserInjectedProvider): Promise<ConnectorResult>;
|
|
30
|
+
switchNetwork(network: Network): Promise<SwitchNetworkResult>;
|
|
31
|
+
/**
|
|
32
|
+
* Connect to EIP155 in the background (when primary namespace is Solana)
|
|
33
|
+
*/
|
|
34
|
+
private connectEIP155InBackground;
|
|
35
|
+
/**
|
|
36
|
+
* Connect to Solana in the background (when primary namespace is EIP155)
|
|
37
|
+
*/
|
|
38
|
+
private connectSolanaInBackground;
|
|
39
|
+
/**
|
|
40
|
+
* Disconnect from all providers
|
|
41
|
+
*/
|
|
42
|
+
disconnect(): Promise<void>;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=injected-connector.old.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injected-connector.old.d.ts","sourceRoot":"","sources":["../src/injected-connector.old.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,yBAAyB,EACzB,iCAAiC,EACjC,SAAS,EACT,eAAe,EACf,mBAAmB,EAEnB,SAAS,EACT,kBAAkB,EACnB,MAAM,wBAAwB,CAAA;AAY/B,qBAAa,iBAAkB,YAAW,SAAS;IACjD,OAAO,CAAC,sBAAsB,CAA8B;IAC5D,OAAO,CAAC,qBAAqB,CAA6B;IAC1D,OAAO,CAAC,kBAAkB,CAAiC;;IAO3D;;OAEG;YACW,yBAAyB;IAQvC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAuE3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAuBtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsEzB;;;;OAIG;IACG,mBAAmB,CACvB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,kBAAkB,EAAE,CAAC;IA6B1B,OAAO,CACX,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,eAAe,CAAC;IAiLrB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkHnE;;OAEG;YACW,yBAAyB;IAwCvC;;OAEG;YACW,yBAAyB;IAsCvC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAIlC"}
|
|
@@ -0,0 +1,491 @@
|
|
|
1
|
+
import { getAvailableWallets as getEIP6963Wallets } from './eip6963-discovery';
|
|
2
|
+
export class InjectedConnector {
|
|
3
|
+
detectedEIP6963Wallets = [];
|
|
4
|
+
detectedSolanaWallets = [];
|
|
5
|
+
connectedProviders = new Map();
|
|
6
|
+
constructor() {
|
|
7
|
+
// Initialize wallet discovery on construction
|
|
8
|
+
this.initializeWalletDiscovery();
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Discovers available wallets
|
|
12
|
+
*/
|
|
13
|
+
async initializeWalletDiscovery() {
|
|
14
|
+
// Discover EIP-6963 wallets
|
|
15
|
+
this.detectedEIP6963Wallets = await getEIP6963Wallets();
|
|
16
|
+
// Discover Solana wallets
|
|
17
|
+
this.detectSolanaWallets();
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Detect available Solana wallets in the browser
|
|
21
|
+
*/
|
|
22
|
+
detectSolanaWallets() {
|
|
23
|
+
const wallets = [];
|
|
24
|
+
// Check common Solana wallet locations and identify them
|
|
25
|
+
const checkProvider = (provider, name, injectedId) => {
|
|
26
|
+
if (provider && typeof provider.connect === 'function') {
|
|
27
|
+
if (injectedId) {
|
|
28
|
+
wallets.push({ name, provider, injectedId });
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
wallets.push({ name, provider });
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
// Check window.solana and identify the wallet type
|
|
36
|
+
if (window.solana) {
|
|
37
|
+
const provider = window.solana;
|
|
38
|
+
let name = 'Solana Wallet';
|
|
39
|
+
let injectedId;
|
|
40
|
+
if (provider.isPhantom) {
|
|
41
|
+
name = 'Phantom';
|
|
42
|
+
injectedId = 'isPhantom';
|
|
43
|
+
}
|
|
44
|
+
else if (provider.isSolflare) {
|
|
45
|
+
name = 'Solflare';
|
|
46
|
+
injectedId = 'isSolflare';
|
|
47
|
+
}
|
|
48
|
+
else if (provider.isTrust || provider.isTrustWallet) {
|
|
49
|
+
name = 'Trust Wallet';
|
|
50
|
+
injectedId = provider.isTrust ? 'isTrust' : 'isTrustWallet';
|
|
51
|
+
}
|
|
52
|
+
else if (provider.isExodus) {
|
|
53
|
+
name = 'Exodus';
|
|
54
|
+
injectedId = 'isExodus';
|
|
55
|
+
}
|
|
56
|
+
checkProvider(provider, name, injectedId);
|
|
57
|
+
}
|
|
58
|
+
// Check nested providers
|
|
59
|
+
if (window.phantom?.solana) {
|
|
60
|
+
checkProvider(window.phantom.solana, 'Phantom', 'isPhantom');
|
|
61
|
+
}
|
|
62
|
+
if (window.solflare) {
|
|
63
|
+
checkProvider(window.solflare, 'Solflare', 'isSolflare');
|
|
64
|
+
}
|
|
65
|
+
if (window.trustwallet?.solana) {
|
|
66
|
+
checkProvider(window.trustwallet.solana, 'Trust Wallet', 'isTrust');
|
|
67
|
+
}
|
|
68
|
+
if (window.exodus?.solana) {
|
|
69
|
+
checkProvider(window.exodus.solana, 'Exodus', 'isExodus');
|
|
70
|
+
}
|
|
71
|
+
// Remove duplicates based on provider reference
|
|
72
|
+
const uniqueWallets = wallets.filter((wallet, index, self) => index === self.findIndex(w => w.provider === wallet.provider));
|
|
73
|
+
this.detectedSolanaWallets = uniqueWallets;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Get EVM provider - first try EIP-6963 discovered wallets, then fall back to window.ethereum
|
|
77
|
+
*/
|
|
78
|
+
getEVMProvider(eip155Name, injectedId) {
|
|
79
|
+
// First, try to find the provider from EIP-6963 discovered wallets
|
|
80
|
+
const detectedWallet = this.detectedEIP6963Wallets.find(wallet => wallet.name.toLowerCase() === eip155Name.toLowerCase());
|
|
81
|
+
if (detectedWallet && detectedWallet.provider) {
|
|
82
|
+
return detectedWallet.provider;
|
|
83
|
+
}
|
|
84
|
+
// Fall back to window.ethereum if no EIP-6963 provider found
|
|
85
|
+
const ethereum = window.ethereum;
|
|
86
|
+
if (ethereum) {
|
|
87
|
+
// Check if the specific wallet is available via injectedId
|
|
88
|
+
if (injectedId && !ethereum[injectedId]) {
|
|
89
|
+
throw new Error(`Wallet ${eip155Name} is not available`);
|
|
90
|
+
}
|
|
91
|
+
return ethereum;
|
|
92
|
+
}
|
|
93
|
+
throw new Error(`No provider found for ${eip155Name}`);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Get Solana provider based on metadata
|
|
97
|
+
*/
|
|
98
|
+
getSolanaProvider(solanaMetadata) {
|
|
99
|
+
if (!solanaMetadata || !solanaMetadata.injectedId) {
|
|
100
|
+
// Fallback to checking common Solana provider locations
|
|
101
|
+
if (window.solana)
|
|
102
|
+
return window.solana;
|
|
103
|
+
if (window.phantom?.solana)
|
|
104
|
+
return window.phantom.solana;
|
|
105
|
+
if (window.solflare?.solana)
|
|
106
|
+
return window.solflare.solana;
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
const { injectedId, ignoredInjectedIds } = solanaMetadata;
|
|
110
|
+
// Helper function to validate provider
|
|
111
|
+
const isValidProvider = (provider) => {
|
|
112
|
+
if (!provider)
|
|
113
|
+
return false;
|
|
114
|
+
// Check if provider has ignored IDs (meaning it's the wrong wallet)
|
|
115
|
+
if (ignoredInjectedIds && ignoredInjectedIds.length > 0) {
|
|
116
|
+
for (const ignoredId of ignoredInjectedIds) {
|
|
117
|
+
if (provider[ignoredId] === true) {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// Check if provider has the required injectedId property
|
|
123
|
+
// For example, if injectedId is 'isPhantom', check provider.isPhantom === true
|
|
124
|
+
if (injectedId.startsWith('is')) {
|
|
125
|
+
return provider[injectedId] === true;
|
|
126
|
+
}
|
|
127
|
+
// For non-boolean identifiers, just check existence
|
|
128
|
+
return !!provider[injectedId];
|
|
129
|
+
};
|
|
130
|
+
// Strategy 1: Check window[walletName].solana (e.g., window.phantom.solana)
|
|
131
|
+
const walletName = injectedId.replace(/^is/, '').toLowerCase();
|
|
132
|
+
const nestedProvider = window[walletName]?.solana;
|
|
133
|
+
if (nestedProvider && isValidProvider(nestedProvider)) {
|
|
134
|
+
return nestedProvider;
|
|
135
|
+
}
|
|
136
|
+
// Strategy 2: Check window[walletName] directly (e.g., window.solflare)
|
|
137
|
+
const directProvider = window[walletName];
|
|
138
|
+
if (directProvider && isValidProvider(directProvider)) {
|
|
139
|
+
return directProvider;
|
|
140
|
+
}
|
|
141
|
+
// Strategy 3: Check window.solana with validation
|
|
142
|
+
if (window.solana && isValidProvider(window.solana)) {
|
|
143
|
+
return window.solana;
|
|
144
|
+
}
|
|
145
|
+
// Strategy 4: For wallets that might inject differently (e.g., window.trustwallet.solana)
|
|
146
|
+
// Check various common patterns
|
|
147
|
+
const commonPatterns = [
|
|
148
|
+
window[`${walletName}wallet`]?.solana,
|
|
149
|
+
window[`${walletName}Wallet`]?.solana,
|
|
150
|
+
window[walletName.replace('wallet', '')]?.solana
|
|
151
|
+
];
|
|
152
|
+
for (const provider of commonPatterns) {
|
|
153
|
+
if (provider && isValidProvider(provider)) {
|
|
154
|
+
return provider;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return null;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Get available wallets for a specific namespace
|
|
161
|
+
* @param namespace The namespace to check for available wallets
|
|
162
|
+
* @returns Promise that resolves to detected wallets for the namespace
|
|
163
|
+
*/
|
|
164
|
+
async getAvailableWallets(namespace) {
|
|
165
|
+
switch (namespace) {
|
|
166
|
+
case 'eip155':
|
|
167
|
+
// For EIP155, use EIP-6963 discovery
|
|
168
|
+
if (this.detectedEIP6963Wallets.length === 0) {
|
|
169
|
+
this.detectedEIP6963Wallets = await getEIP6963Wallets();
|
|
170
|
+
}
|
|
171
|
+
// Convert to DetectedWalletInfo format
|
|
172
|
+
return this.detectedEIP6963Wallets.map(wallet => ({
|
|
173
|
+
uuid: wallet.uuid,
|
|
174
|
+
name: wallet.name,
|
|
175
|
+
icon: wallet.icon,
|
|
176
|
+
rdns: wallet.rdns
|
|
177
|
+
}));
|
|
178
|
+
case 'solana':
|
|
179
|
+
// Return detected Solana wallets
|
|
180
|
+
return this.detectedSolanaWallets.map(wallet => ({
|
|
181
|
+
uuid: `solana-${wallet.name.toLowerCase().replace(/\s+/g, '-')}`,
|
|
182
|
+
name: wallet.name,
|
|
183
|
+
icon: '', // Solana wallets don't provide icons via injection
|
|
184
|
+
rdns: wallet.injectedId || wallet.name.toLowerCase()
|
|
185
|
+
}));
|
|
186
|
+
default:
|
|
187
|
+
return [];
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
async connect(network, provider) {
|
|
191
|
+
const availableAddresses = [];
|
|
192
|
+
let address;
|
|
193
|
+
switch (network.namespace) {
|
|
194
|
+
case 'eip155': {
|
|
195
|
+
const eip155Metadata = provider.namespaceMetaData?.eip155;
|
|
196
|
+
if (!eip155Metadata) {
|
|
197
|
+
throw new Error('No EIP155 metadata found for provider');
|
|
198
|
+
}
|
|
199
|
+
const evmProvider = this.getEVMProvider(eip155Metadata.eip155Name, eip155Metadata.injectedId);
|
|
200
|
+
// Store the provider for future use
|
|
201
|
+
this.connectedProviders.set('eip155', evmProvider);
|
|
202
|
+
try {
|
|
203
|
+
// Request account access
|
|
204
|
+
const accounts = await evmProvider.request({
|
|
205
|
+
method: 'eth_requestAccounts'
|
|
206
|
+
});
|
|
207
|
+
if (!accounts || accounts.length === 0) {
|
|
208
|
+
throw new Error('No accounts found');
|
|
209
|
+
}
|
|
210
|
+
address = accounts[0].toLowerCase();
|
|
211
|
+
// Get the current chain ID
|
|
212
|
+
const currentChainId = await evmProvider.request({
|
|
213
|
+
method: 'eth_chainId'
|
|
214
|
+
});
|
|
215
|
+
// Parse the expected chain ID from the network ID (format: "eip155:1")
|
|
216
|
+
const expectedChainId = network.id.split(':')[1];
|
|
217
|
+
if (!expectedChainId) {
|
|
218
|
+
throw new Error('Invalid network ID format');
|
|
219
|
+
}
|
|
220
|
+
const expectedChainIdHex = '0x' + parseInt(expectedChainId).toString(16);
|
|
221
|
+
// Switch to the correct network if needed
|
|
222
|
+
if (currentChainId !== expectedChainIdHex) {
|
|
223
|
+
try {
|
|
224
|
+
await evmProvider.request({
|
|
225
|
+
method: 'wallet_switchEthereumChain',
|
|
226
|
+
params: [{ chainId: expectedChainIdHex }]
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
catch (switchError) {
|
|
230
|
+
// This error code indicates that the chain has not been added
|
|
231
|
+
if (switchError.code === 4902 &&
|
|
232
|
+
eip155Metadata.supportsAddingNetworks) {
|
|
233
|
+
// Try to add the network
|
|
234
|
+
const networkParams = {
|
|
235
|
+
chainId: expectedChainIdHex,
|
|
236
|
+
chainName: network.name,
|
|
237
|
+
nativeCurrency: network.nativeCurrency,
|
|
238
|
+
rpcUrls: network.rpcUrls?.default.http || [],
|
|
239
|
+
blockExplorerUrls: network.blockExplorers
|
|
240
|
+
? [network.blockExplorers.default.url]
|
|
241
|
+
: []
|
|
242
|
+
};
|
|
243
|
+
await evmProvider.request({
|
|
244
|
+
method: 'wallet_addEthereumChain',
|
|
245
|
+
params: [networkParams]
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
throw switchError;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
// Get available addresses for all supported EIP155 networks
|
|
254
|
+
provider.supportedNetworkIds.forEach(networkId => {
|
|
255
|
+
if (networkId.startsWith('eip155:')) {
|
|
256
|
+
availableAddresses.push({
|
|
257
|
+
address,
|
|
258
|
+
networkId
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
});
|
|
262
|
+
// Also check if Solana is supported and connect to it
|
|
263
|
+
if (provider.namespaceMetaData?.solana ||
|
|
264
|
+
provider.supportedNetworkIds.some(id => id.startsWith('solana:'))) {
|
|
265
|
+
await this.connectSolanaInBackground(provider, availableAddresses);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
catch (error) {
|
|
269
|
+
throw new Error(`Failed to connect to EVM wallet: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
270
|
+
}
|
|
271
|
+
break;
|
|
272
|
+
}
|
|
273
|
+
case 'solana': {
|
|
274
|
+
const solanaMetadata = provider.namespaceMetaData?.solana;
|
|
275
|
+
const solanaProvider = this.getSolanaProvider(solanaMetadata);
|
|
276
|
+
if (!solanaProvider) {
|
|
277
|
+
throw new Error('No Solana provider found');
|
|
278
|
+
}
|
|
279
|
+
// Store the provider for future use
|
|
280
|
+
this.connectedProviders.set('solana', solanaProvider);
|
|
281
|
+
try {
|
|
282
|
+
// Request connection if not already connected
|
|
283
|
+
if (!solanaProvider.isConnected) {
|
|
284
|
+
const response = await solanaProvider.connect();
|
|
285
|
+
if (!response || !response.publicKey) {
|
|
286
|
+
throw new Error('Failed to connect to Solana wallet');
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
// Get the public key (address)
|
|
290
|
+
const publicKey = solanaProvider.publicKey;
|
|
291
|
+
if (!publicKey) {
|
|
292
|
+
throw new Error('No Solana public key found');
|
|
293
|
+
}
|
|
294
|
+
address = publicKey.toString();
|
|
295
|
+
// Get available addresses for all supported Solana networks
|
|
296
|
+
provider.supportedNetworkIds.forEach(networkId => {
|
|
297
|
+
if (networkId.startsWith('solana:')) {
|
|
298
|
+
availableAddresses.push({
|
|
299
|
+
address,
|
|
300
|
+
networkId
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
});
|
|
304
|
+
// Also check if EIP155 is supported and connect to it
|
|
305
|
+
if (provider.namespaceMetaData?.eip155 ||
|
|
306
|
+
provider.supportedNetworkIds.some(id => id.startsWith('eip155:'))) {
|
|
307
|
+
await this.connectEIP155InBackground(network, provider, availableAddresses);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
catch (error) {
|
|
311
|
+
throw new Error(`Failed to connect to Solana wallet: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
312
|
+
}
|
|
313
|
+
break;
|
|
314
|
+
}
|
|
315
|
+
default:
|
|
316
|
+
throw new Error(`Namespace '${network.namespace}' is not implemented yet. Only 'eip155' and 'solana' are currently supported.`);
|
|
317
|
+
}
|
|
318
|
+
return {
|
|
319
|
+
networkId: network.id,
|
|
320
|
+
address,
|
|
321
|
+
availableAddresses
|
|
322
|
+
};
|
|
323
|
+
}
|
|
324
|
+
async switchNetwork(network) {
|
|
325
|
+
let address;
|
|
326
|
+
switch (network.namespace) {
|
|
327
|
+
case 'eip155': {
|
|
328
|
+
const evmProvider = this.connectedProviders.get('eip155');
|
|
329
|
+
if (!evmProvider) {
|
|
330
|
+
throw new Error('No connected Ethereum provider found');
|
|
331
|
+
}
|
|
332
|
+
try {
|
|
333
|
+
// Get the current account
|
|
334
|
+
const accounts = await evmProvider.request({
|
|
335
|
+
method: 'eth_accounts'
|
|
336
|
+
});
|
|
337
|
+
if (!accounts || accounts.length === 0) {
|
|
338
|
+
throw new Error('No accounts connected');
|
|
339
|
+
}
|
|
340
|
+
address = accounts[0].toLowerCase();
|
|
341
|
+
// Parse the expected chain ID from the network ID (format: "eip155:1")
|
|
342
|
+
const expectedChainId = network.id.split(':')[1];
|
|
343
|
+
if (!expectedChainId) {
|
|
344
|
+
throw new Error('Invalid network ID format');
|
|
345
|
+
}
|
|
346
|
+
const expectedChainIdHex = '0x' + parseInt(expectedChainId).toString(16);
|
|
347
|
+
// Switch to the new network
|
|
348
|
+
try {
|
|
349
|
+
await evmProvider.request({
|
|
350
|
+
method: 'wallet_switchEthereumChain',
|
|
351
|
+
params: [{ chainId: expectedChainIdHex }]
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
catch (switchError) {
|
|
355
|
+
// This error code indicates that the chain has not been added
|
|
356
|
+
if (switchError.code === 4902) {
|
|
357
|
+
// Try to add the network
|
|
358
|
+
const networkParams = {
|
|
359
|
+
chainId: expectedChainIdHex,
|
|
360
|
+
chainName: network.name,
|
|
361
|
+
nativeCurrency: network.nativeCurrency,
|
|
362
|
+
rpcUrls: network.rpcUrls?.default.http || [],
|
|
363
|
+
blockExplorerUrls: network.blockExplorers
|
|
364
|
+
? [network.blockExplorers.default.url]
|
|
365
|
+
: []
|
|
366
|
+
};
|
|
367
|
+
await evmProvider.request({
|
|
368
|
+
method: 'wallet_addEthereumChain',
|
|
369
|
+
params: [networkParams]
|
|
370
|
+
});
|
|
371
|
+
}
|
|
372
|
+
else {
|
|
373
|
+
throw switchError;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
catch (error) {
|
|
378
|
+
throw new Error(`Failed to switch EVM network: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
379
|
+
}
|
|
380
|
+
break;
|
|
381
|
+
}
|
|
382
|
+
case 'solana': {
|
|
383
|
+
// For Solana, network switching is typically handled at the RPC level
|
|
384
|
+
// The wallet doesn't switch networks like EVM wallets do
|
|
385
|
+
const solanaProvider = this.connectedProviders.get('solana');
|
|
386
|
+
if (!solanaProvider) {
|
|
387
|
+
throw new Error('No connected Solana provider found');
|
|
388
|
+
}
|
|
389
|
+
try {
|
|
390
|
+
// Check if connected
|
|
391
|
+
if (!solanaProvider.isConnected) {
|
|
392
|
+
throw new Error('Solana wallet is not connected');
|
|
393
|
+
}
|
|
394
|
+
// Get the public key (address)
|
|
395
|
+
const publicKey = solanaProvider.publicKey;
|
|
396
|
+
if (!publicKey) {
|
|
397
|
+
throw new Error('No Solana public key found');
|
|
398
|
+
}
|
|
399
|
+
address = publicKey.toString();
|
|
400
|
+
// Note: Solana doesn't switch networks at the wallet level
|
|
401
|
+
// Network selection is handled by the RPC endpoint
|
|
402
|
+
}
|
|
403
|
+
catch (error) {
|
|
404
|
+
throw new Error(`Failed with Solana network operation: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
405
|
+
}
|
|
406
|
+
break;
|
|
407
|
+
}
|
|
408
|
+
default:
|
|
409
|
+
throw new Error(`Cannot switch to namespace '${network.namespace}'. Only 'eip155' and 'solana' are currently supported.`);
|
|
410
|
+
}
|
|
411
|
+
return {
|
|
412
|
+
networkId: network.id,
|
|
413
|
+
address
|
|
414
|
+
};
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
417
|
+
* Connect to EIP155 in the background (when primary namespace is Solana)
|
|
418
|
+
*/
|
|
419
|
+
async connectEIP155InBackground(_network, provider, availableAddresses) {
|
|
420
|
+
try {
|
|
421
|
+
const eip155Metadata = provider.namespaceMetaData?.eip155;
|
|
422
|
+
if (!eip155Metadata)
|
|
423
|
+
return;
|
|
424
|
+
const evmProvider = this.getEVMProvider(eip155Metadata.eip155Name, eip155Metadata.injectedId);
|
|
425
|
+
// Store the provider
|
|
426
|
+
this.connectedProviders.set('eip155', evmProvider);
|
|
427
|
+
// Request accounts
|
|
428
|
+
const accounts = await evmProvider.request({
|
|
429
|
+
method: 'eth_requestAccounts'
|
|
430
|
+
});
|
|
431
|
+
if (accounts && accounts.length > 0) {
|
|
432
|
+
const address = accounts[0].toLowerCase();
|
|
433
|
+
// Add available addresses for all supported EIP155 networks
|
|
434
|
+
provider.supportedNetworkIds.forEach(networkId => {
|
|
435
|
+
if (networkId.startsWith('eip155:')) {
|
|
436
|
+
availableAddresses.push({
|
|
437
|
+
address,
|
|
438
|
+
networkId
|
|
439
|
+
});
|
|
440
|
+
}
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
catch {
|
|
445
|
+
// Silently fail for background namespace connection
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
/**
|
|
449
|
+
* Connect to Solana in the background (when primary namespace is EIP155)
|
|
450
|
+
*/
|
|
451
|
+
async connectSolanaInBackground(provider, availableAddresses) {
|
|
452
|
+
try {
|
|
453
|
+
const solanaMetadata = provider.namespaceMetaData?.solana;
|
|
454
|
+
const solanaProvider = this.getSolanaProvider(solanaMetadata);
|
|
455
|
+
if (!solanaProvider)
|
|
456
|
+
return;
|
|
457
|
+
// Store the provider
|
|
458
|
+
this.connectedProviders.set('solana', solanaProvider);
|
|
459
|
+
// Request connection if not already connected
|
|
460
|
+
if (!solanaProvider.isConnected) {
|
|
461
|
+
const response = await solanaProvider.connect();
|
|
462
|
+
if (!response || !response.publicKey)
|
|
463
|
+
return;
|
|
464
|
+
}
|
|
465
|
+
const publicKey = solanaProvider.publicKey;
|
|
466
|
+
if (publicKey) {
|
|
467
|
+
const address = publicKey.toString();
|
|
468
|
+
// Add available addresses for all supported Solana networks
|
|
469
|
+
provider.supportedNetworkIds.forEach(networkId => {
|
|
470
|
+
if (networkId.startsWith('solana:')) {
|
|
471
|
+
availableAddresses.push({
|
|
472
|
+
address,
|
|
473
|
+
networkId
|
|
474
|
+
});
|
|
475
|
+
}
|
|
476
|
+
});
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
catch {
|
|
480
|
+
// Silently fail for background namespace connection
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* Disconnect from all providers
|
|
485
|
+
*/
|
|
486
|
+
async disconnect() {
|
|
487
|
+
// Clear all connected providers
|
|
488
|
+
this.connectedProviders.clear();
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
//# sourceMappingURL=injected-connector.old.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injected-connector.old.js","sourceRoot":"","sources":["../src/injected-connector.old.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EVM provider management
|
|
3
|
+
*/
|
|
4
|
+
import type { Network } from '@meshconnect/uwc-types';
|
|
5
|
+
export interface EVMProviderManager {
|
|
6
|
+
getProvider(eip155Name: string, injectedId?: string): any;
|
|
7
|
+
switchNetwork(provider: any, network: Network): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
export declare class EVMProvider implements EVMProviderManager {
|
|
10
|
+
private detectedEIP6963Wallets;
|
|
11
|
+
initialize(): Promise<void>;
|
|
12
|
+
getProvider(eip155Name: string, injectedId?: string): any;
|
|
13
|
+
switchNetwork(provider: any, network: Network): Promise<void>;
|
|
14
|
+
requestAccounts(provider: any): Promise<string[]>;
|
|
15
|
+
getAccounts(provider: any): Promise<string[]>;
|
|
16
|
+
getDetectedWallets(): any[];
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=evm-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evm-provider.d.ts","sourceRoot":"","sources":["../../src/providers/evm-provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAGrD,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;IACzD,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9D;AAED,qBAAa,WAAY,YAAW,kBAAkB;IACpD,OAAO,CAAC,sBAAsB,CAAY;IAEpC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,GAAG;IAuBnD,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA6C7D,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAOjD,WAAW,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAOnD,kBAAkB,IAAI,GAAG,EAAE;CAG5B"}
|