@meshconnect/uwc-injected-connector 0.2.1 → 0.2.3

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.
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Solana provider management
3
+ */
4
+ export class SolanaProvider {
5
+ detectedWallets = [];
6
+ initialize() {
7
+ this.detectedWallets = this.detectWallets();
8
+ }
9
+ getProvider(metadata) {
10
+ if (!metadata || !metadata.injectedId) {
11
+ // Fallback to checking common Solana provider locations
12
+ if (window.solana)
13
+ return window.solana;
14
+ if (window.phantom?.solana)
15
+ return window.phantom.solana;
16
+ if (window.solflare?.solana)
17
+ return window.solflare.solana;
18
+ return null;
19
+ }
20
+ const { injectedId, ignoredInjectedIds } = metadata;
21
+ // Helper function to validate provider
22
+ const isValidProvider = (provider) => {
23
+ if (!provider)
24
+ return false;
25
+ // Check if provider has ignored IDs (meaning it's the wrong wallet)
26
+ if (ignoredInjectedIds && ignoredInjectedIds.length > 0) {
27
+ for (const ignoredId of ignoredInjectedIds) {
28
+ if (provider[ignoredId] === true) {
29
+ return false;
30
+ }
31
+ }
32
+ }
33
+ // Check if provider has the required injectedId property
34
+ // For example, if injectedId is 'isPhantom', check provider.isPhantom === true
35
+ if (injectedId.startsWith('is')) {
36
+ return provider[injectedId] === true;
37
+ }
38
+ // For non-boolean identifiers, just check existence
39
+ return !!provider[injectedId];
40
+ };
41
+ // Strategy 1: Check window[walletName].solana (e.g., window.phantom.solana)
42
+ const walletName = injectedId.replace(/^is/, '').toLowerCase();
43
+ const nestedProvider = window[walletName]?.solana;
44
+ if (nestedProvider && isValidProvider(nestedProvider)) {
45
+ return nestedProvider;
46
+ }
47
+ // Strategy 2: Check window[walletName] directly (e.g., window.solflare)
48
+ const directProvider = window[walletName];
49
+ if (directProvider && isValidProvider(directProvider)) {
50
+ return directProvider;
51
+ }
52
+ // Strategy 3: Check window.solana with validation
53
+ if (window.solana && isValidProvider(window.solana)) {
54
+ return window.solana;
55
+ }
56
+ // Strategy 4: For wallets that might inject differently (e.g., window.trustwallet.solana)
57
+ // Check various common patterns
58
+ const commonPatterns = [
59
+ window[`${walletName}wallet`]?.solana,
60
+ window[`${walletName}Wallet`]?.solana,
61
+ window[walletName.replace('wallet', '')]?.solana
62
+ ];
63
+ for (const provider of commonPatterns) {
64
+ if (provider && isValidProvider(provider)) {
65
+ return provider;
66
+ }
67
+ }
68
+ return null;
69
+ }
70
+ detectWallets() {
71
+ const wallets = [];
72
+ // Check common Solana wallet locations and identify them
73
+ const checkProvider = (provider, name, injectedId) => {
74
+ if (provider && typeof provider.connect === 'function') {
75
+ if (injectedId) {
76
+ wallets.push({ name, provider, injectedId });
77
+ }
78
+ else {
79
+ wallets.push({ name, provider });
80
+ }
81
+ }
82
+ };
83
+ // Check window.solana and identify the wallet type
84
+ if (window.solana) {
85
+ const provider = window.solana;
86
+ let name = 'Solana Wallet';
87
+ let injectedId;
88
+ if (provider.isPhantom) {
89
+ name = 'Phantom';
90
+ injectedId = 'isPhantom';
91
+ }
92
+ else if (provider.isSolflare) {
93
+ name = 'Solflare';
94
+ injectedId = 'isSolflare';
95
+ }
96
+ else if (provider.isTrust || provider.isTrustWallet) {
97
+ name = 'Trust Wallet';
98
+ injectedId = provider.isTrust ? 'isTrust' : 'isTrustWallet';
99
+ }
100
+ else if (provider.isExodus) {
101
+ name = 'Exodus';
102
+ injectedId = 'isExodus';
103
+ }
104
+ checkProvider(provider, name, injectedId);
105
+ }
106
+ // Check nested providers
107
+ if (window.phantom?.solana) {
108
+ checkProvider(window.phantom.solana, 'Phantom', 'isPhantom');
109
+ }
110
+ if (window.solflare) {
111
+ checkProvider(window.solflare, 'Solflare', 'isSolflare');
112
+ }
113
+ if (window.trustwallet?.solana) {
114
+ checkProvider(window.trustwallet.solana, 'Trust Wallet', 'isTrust');
115
+ }
116
+ if (window.exodus?.solana) {
117
+ checkProvider(window.exodus.solana, 'Exodus', 'isExodus');
118
+ }
119
+ // Remove duplicates based on provider reference
120
+ const uniqueWallets = wallets.filter((wallet, index, self) => index === self.findIndex(w => w.provider === wallet.provider));
121
+ return uniqueWallets;
122
+ }
123
+ async connect(provider) {
124
+ if (!provider.isConnected) {
125
+ const response = await provider.connect();
126
+ if (!response || !response.publicKey) {
127
+ throw new Error('Failed to connect to Solana wallet');
128
+ }
129
+ return response;
130
+ }
131
+ return { publicKey: provider.publicKey };
132
+ }
133
+ getDetectedWallets() {
134
+ return this.detectedWallets;
135
+ }
136
+ }
137
+ //# sourceMappingURL=solana-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana-provider.js","sourceRoot":"","sources":["../../src/providers/solana-provider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ethereum-transaction-service.d.ts","sourceRoot":"","sources":["../../src/services/ethereum-transaction-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAEV,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,eAAe,EAEhB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAEhD;;GAEG;AACH,qBAAa,0BAA0B;IAC/B,iBAAiB,CACrB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,kBAAkB,CAAC;IAoDxB,mBAAmB,CACvB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC;IA2B9B;;OAEG;IACG,kBAAkB,CACtB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC;IAoBlB;;OAEG;IACG,gBAAgB,CACpB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,MAAM,CAAC;IAoBlB;;OAEG;IACG,SAAS,CACb,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,MAAM,CAAC;IAsElB;;OAEG;IACG,eAAe,CACnB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,CAAC;IAS3B;;OAEG;IACH,OAAO,CAAC,eAAe;CAiBxB"}
1
+ {"version":3,"file":"ethereum-transaction-service.d.ts","sourceRoot":"","sources":["../../src/services/ethereum-transaction-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAEV,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,eAAe,EAEhB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAEhD;;GAEG;AACH,qBAAa,0BAA0B;IAC/B,iBAAiB,CACrB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,kBAAkB,CAAC;IA+CxB,mBAAmB,CACvB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC;IA2B9B;;OAEG;IACG,kBAAkB,CACtB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC;IAoBlB;;OAEG;IACG,gBAAgB,CACpB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,MAAM,CAAC;IAoBlB;;OAEG;IACG,SAAS,CACb,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,MAAM,CAAC;IA+ElB;;OAEG;IACG,eAAe,CACnB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,CAAC;IAS3B;;OAEG;IACH,OAAO,CAAC,eAAe;CAiBxB"}
@@ -13,14 +13,11 @@ export class EthereumTransactionService {
13
13
  const chainId = parseInt(chainIdHex, 16);
14
14
  // Create ethers provider and signer
15
15
  const ethersProvider = new ethers.BrowserProvider(provider);
16
- const signer = await ethersProvider.getSigner(request.from);
17
16
  // Verify network hasn't changed
18
17
  const network = await ethersProvider.getNetwork();
19
18
  if (Number(network.chainId) !== chainId) {
20
19
  throw new Error('Network changed during transaction setup');
21
20
  }
22
- // Create contract instance
23
- const contract = new ethers.Contract(request.contractAddress, request.abi, signer);
24
21
  // Build transaction options
25
22
  const txOptions = {
26
23
  ...this.formatGasConfig(request.gasConfig)
@@ -29,12 +26,15 @@ export class EthereumTransactionService {
29
26
  if (request.value) {
30
27
  txOptions.value = request.value;
31
28
  }
32
- // Call the contract function
33
- const contractFunction = contract[request.functionName];
34
- if (!contractFunction) {
35
- throw new Error(`Function ${request.functionName} not found in contract`);
36
- }
37
- return (await contractFunction.populateTransaction(...request.args, txOptions));
29
+ const iface = new ethers.Interface(request.abi);
30
+ const data = iface.encodeFunctionData(request.functionName, request.args || []);
31
+ const txRequest = {
32
+ to: request.contractAddress,
33
+ data,
34
+ value: request.value ?? 0n,
35
+ ...txOptions
36
+ };
37
+ return txRequest;
38
38
  }
39
39
  catch (error) {
40
40
  parseError(error);
@@ -113,11 +113,20 @@ export class EthereumTransactionService {
113
113
  const calls = await Promise.all(request.calls.map(async (tx) => {
114
114
  if ('contractAddress' in tx && 'abi' in tx) {
115
115
  // Contract call
116
- return await this.buildContractCall(provider, tx);
116
+ const result = await this.buildContractCall(provider, tx);
117
+ return {
118
+ to: result.to ?? '',
119
+ value: '0x' + (result.value ?? 0n).toString(16),
120
+ data: result.data
121
+ };
117
122
  }
118
123
  else if ('amount' in tx && typeof tx.amount === 'bigint') {
119
124
  // Native transfer
120
- return await this.buildNativeTransfer(provider, tx);
125
+ const result = await this.buildNativeTransfer(provider, tx);
126
+ return {
127
+ to: result.to ?? '',
128
+ value: '0x' + (result.value ?? 0n).toString(16)
129
+ };
121
130
  }
122
131
  else {
123
132
  throw new Error('Invalid transaction request type');
@@ -1 +1 @@
1
- {"version":3,"file":"ethereum-transaction-service.js","sourceRoot":"","sources":["../../src/services/ethereum-transaction-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ethereum-transaction-service.js","sourceRoot":"","sources":["../../src/services/ethereum-transaction-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshconnect/uwc-injected-connector",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "Injected connector for Universal Wallet Connector",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -26,7 +26,7 @@
26
26
  "bs58": "^6.0.0",
27
27
  "buffer": "^6.0.3",
28
28
  "ethers": "^6.15.0",
29
- "@meshconnect/uwc-types": "0.2.1"
29
+ "@meshconnect/uwc-types": "0.2.3"
30
30
  },
31
31
  "devDependencies": {
32
32
  "typescript": "^5.9.2"
@@ -41,6 +41,43 @@ export interface DetectedWallet {
41
41
  provider: EthereumProvider
42
42
  }
43
43
 
44
+ /**
45
+ * Polls for bridge wallets when UWCBridgeInitialized is true
46
+ * @returns Promise that resolves to an array of detected wallets from the bridge
47
+ */
48
+ async function pollForBridgeWallets(): Promise<DetectedWallet[]> {
49
+ const pollInterval = 100 // Poll every 100ms
50
+ const maxPollTime = 3000 // Poll for maximum 3 seconds
51
+ const startTime = Date.now()
52
+
53
+ return new Promise(resolve => {
54
+ const poll = () => {
55
+ // Check if we've exceeded the max poll time
56
+ if (Date.now() - startTime > maxPollTime) {
57
+ resolve([])
58
+ return
59
+ }
60
+
61
+ // Check if window.eip6963Wallets is available
62
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
63
+ // @ts-ignore - window.eip6963Wallets is set by the bridge
64
+ if (window.eip6963Wallets && Array.isArray(window.eip6963Wallets)) {
65
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
66
+ // @ts-ignore
67
+ const bridgeWallets = window.eip6963Wallets as DetectedWallet[]
68
+ resolve(bridgeWallets)
69
+ return
70
+ }
71
+
72
+ // Continue polling
73
+ setTimeout(poll, pollInterval)
74
+ }
75
+
76
+ // Start polling
77
+ poll()
78
+ })
79
+ }
80
+
44
81
  /**
45
82
  * Discovers wallets using EIP-6963 protocol
46
83
  * @returns Promise that resolves to an array of detected wallets
@@ -50,7 +87,14 @@ export async function discoverWallets(): Promise<DetectedWallet[]> {
50
87
  if (typeof window === 'undefined') {
51
88
  return []
52
89
  }
90
+ // Check if UWCBridgeInitialized is true
91
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
92
+ // @ts-ignore - window.UWCBridgeInitialized is set by the bridge
93
+ if (window.UWCBridgeInitialized === true) {
94
+ return pollForBridgeWallets()
95
+ }
53
96
 
97
+ // Original EIP-6963 discovery
54
98
  return new Promise(resolve => {
55
99
  const detectedWallets: DetectedWallet[] = []
56
100
  const timeout = 1000 // Wait up to 1 second for wallets to announce
package/src/index.ts CHANGED
@@ -2,6 +2,5 @@ export * from './injected-connector'
2
2
  export { getAvailableWallets, type DetectedWallet } from './eip6963-discovery'
3
3
  export {
4
4
  getSolanaWallets,
5
- type WalletStandardInfo,
6
- type SolanaWalletWithAdapter
5
+ type WalletStandardInfo
7
6
  } from './wallet-standard-discovery'
@@ -11,7 +11,8 @@ import type {
11
11
  TransactionRequest,
12
12
  TransactionResult,
13
13
  NetworkRpcMap,
14
- EVMCapabilities
14
+ EVMCapabilities,
15
+ SignatureType
15
16
  } from '@meshconnect/uwc-types'
16
17
 
17
18
  import { EthereumWalletService } from './services/ethereum/ethereum-wallet-service'
@@ -162,7 +163,7 @@ export class InjectedConnector implements Connector {
162
163
  async signMessage(
163
164
  message: string,
164
165
  provider: ExtensionInjectedProvider | IntegratedBrowserInjectedProvider
165
- ): Promise<string> {
166
+ ): Promise<SignatureType> {
166
167
  if (!provider) {
167
168
  throw new Error('Provider is required for message signing')
168
169
  }
@@ -194,11 +195,15 @@ export class InjectedConnector implements Connector {
194
195
  throw new Error('No connected Ethereum provider')
195
196
  }
196
197
 
197
- return await this.signatureService.signEthereumMessage(
198
+ const signature = await this.signatureService.signEthereumMessage(
198
199
  message,
199
200
  currentAddress,
200
201
  ethProvider
201
202
  )
203
+ return {
204
+ type: 'standard',
205
+ signature: signature
206
+ }
202
207
  } else if (namespace === 'solana') {
203
208
  // Get the actual Solana adapter
204
209
  const solanaAdapter = this.solanaService.getConnectedAdapter()
@@ -206,10 +211,14 @@ export class InjectedConnector implements Connector {
206
211
  throw new Error('No connected Solana adapter')
207
212
  }
208
213
 
209
- return await this.signatureService.signSolanaMessage(
214
+ const signature = await this.signatureService.signSolanaMessage(
210
215
  message,
211
216
  solanaAdapter
212
217
  )
218
+ return {
219
+ type: 'standard',
220
+ signature: signature
221
+ }
213
222
  } else {
214
223
  throw new Error(`Signing not supported for namespace: ${namespace}`)
215
224
  }