@meshconnect/uwc-injected-connector 0.2.7 → 0.2.9
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/services/ethereum-transaction-service.d.ts.map +1 -1
- package/dist/services/ethereum-transaction-service.js +11 -20
- package/dist/services/ethereum-transaction-service.js.map +1 -1
- 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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"}
|
|
@@ -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;
|
|
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"}
|
|
@@ -13,11 +13,14 @@ 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);
|
|
16
17
|
// Verify network hasn't changed
|
|
17
18
|
const network = await ethersProvider.getNetwork();
|
|
18
19
|
if (Number(network.chainId) !== chainId) {
|
|
19
20
|
throw new Error('Network changed during transaction setup');
|
|
20
21
|
}
|
|
22
|
+
// Create contract instance
|
|
23
|
+
const contract = new ethers.Contract(request.contractAddress, request.abi, signer);
|
|
21
24
|
// Build transaction options
|
|
22
25
|
const txOptions = {
|
|
23
26
|
...this.formatGasConfig(request.gasConfig)
|
|
@@ -26,15 +29,12 @@ export class EthereumTransactionService {
|
|
|
26
29
|
if (request.value) {
|
|
27
30
|
txOptions.value = request.value;
|
|
28
31
|
}
|
|
29
|
-
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
...txOptions
|
|
36
|
-
};
|
|
37
|
-
return txRequest;
|
|
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));
|
|
38
38
|
}
|
|
39
39
|
catch (error) {
|
|
40
40
|
parseError(error);
|
|
@@ -113,20 +113,11 @@ 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
|
-
|
|
117
|
-
return {
|
|
118
|
-
to: result.to ?? '',
|
|
119
|
-
value: '0x' + (result.value ?? 0n).toString(16),
|
|
120
|
-
data: result.data
|
|
121
|
-
};
|
|
116
|
+
return await this.buildContractCall(provider, tx);
|
|
122
117
|
}
|
|
123
118
|
else if ('amount' in tx && typeof tx.amount === 'bigint') {
|
|
124
119
|
// Native transfer
|
|
125
|
-
|
|
126
|
-
return {
|
|
127
|
-
to: result.to ?? '',
|
|
128
|
-
value: '0x' + (result.value ?? 0n).toString(16)
|
|
129
|
-
};
|
|
120
|
+
return await this.buildNativeTransfer(provider, tx);
|
|
130
121
|
}
|
|
131
122
|
else {
|
|
132
123
|
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":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAU/B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD;;GAEG;AACH,MAAM,OAAO,0BAA0B;IACrC,KAAK,CAAC,iBAAiB,CACrB,QAA0B,EAC1B,OAA+B;QAE/B,IAAI,CAAC;YACH,uBAAuB;YACvB,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;gBACxC,MAAM,EAAE,aAAa;aACtB,CAAC,CAAA;YACF,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;YAExC,oCAAoC;YACpC,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;YAE3D,gCAAgC;YAChC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,CAAA;YACjD,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,OAAO,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;YAC7D,CAAC;YAED,4BAA4B;YAC5B,MAAM,SAAS,GAAqB;gBAClC,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC;aAC3C,CAAA;YAED,kCAAkC;YAClC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,SAAS,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;YACjC,CAAC;YAED,MAAM,
|
|
1
|
+
{"version":3,"file":"ethereum-transaction-service.js","sourceRoot":"","sources":["../../src/services/ethereum-transaction-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { EthereumProvider } from '../eip6963-discovery';
|
|
2
|
-
import type {
|
|
2
|
+
import type { SolanaAdapter } from '../wallet-standard-discovery';
|
|
3
3
|
/**
|
|
4
4
|
* Service for handling message signing operations for injected wallets
|
|
5
5
|
*/
|
|
@@ -11,6 +11,6 @@ export declare class SignatureService {
|
|
|
11
11
|
/**
|
|
12
12
|
* Sign a message with a Solana wallet
|
|
13
13
|
*/
|
|
14
|
-
signSolanaMessage(message: string, adapter:
|
|
14
|
+
signSolanaMessage(message: string, adapter: SolanaAdapter): Promise<string>;
|
|
15
15
|
}
|
|
16
16
|
//# sourceMappingURL=signature-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature-service.d.ts","sourceRoot":"","sources":["../../src/services/signature-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"signature-service.d.ts","sourceRoot":"","sources":["../../src/services/signature-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAG5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAEjE;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACG,mBAAmB,CACvB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,MAAM,CAAC;IA0BlB;;OAEG;IACG,iBAAiB,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,CAAC;CAuBnB"}
|
|
@@ -33,23 +33,16 @@ export class SignatureService {
|
|
|
33
33
|
* Sign a message with a Solana wallet
|
|
34
34
|
*/
|
|
35
35
|
async signSolanaMessage(message, adapter) {
|
|
36
|
-
if (!adapter) {
|
|
37
|
-
throw new Error('Adapter is required for Solana message signing');
|
|
38
|
-
}
|
|
39
36
|
if (!message) {
|
|
40
37
|
throw new Error('Message is required for signing');
|
|
41
38
|
}
|
|
42
|
-
// Check if adapter supports signMessage
|
|
43
|
-
const signingAdapter = adapter;
|
|
44
|
-
if (!signingAdapter.signMessage) {
|
|
45
|
-
throw new Error('Solana adapter does not support message signing');
|
|
46
|
-
}
|
|
47
39
|
try {
|
|
48
40
|
// Convert message to Uint8Array for Solana
|
|
49
41
|
const encoder = new TextEncoder();
|
|
50
42
|
const messageBytes = encoder.encode(message);
|
|
51
|
-
//
|
|
52
|
-
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
44
|
+
// @ts-ignore
|
|
45
|
+
const signedMessage = await adapter.signMessage(messageBytes);
|
|
53
46
|
// Encode signature using base58 for Solana (standard encoding for Solana)
|
|
54
47
|
// The signature is returned as a Uint8Array, encode it to base58 string
|
|
55
48
|
const signatureBase58 = bs58.encode(signedMessage);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature-service.js","sourceRoot":"","sources":["../../src/services/signature-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"signature-service.js","sourceRoot":"","sources":["../../src/services/signature-service.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAC3B;;OAEG;IACH,KAAK,CAAC,mBAAmB,CACvB,OAAe,EACf,OAAe,EACf,QAA0B;QAE1B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;QACtE,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;QACpD,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;QACpD,CAAC;QAED,IAAI,CAAC;YACH,iCAAiC;YACjC,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;gBACvC,MAAM,EAAE,eAAe;gBACvB,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;aAC3B,CAAC,CAAA;YAEF,OAAO,SAAS,CAAA;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CACrB,OAAe,EACf,OAAsB;QAEtB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;QACpD,CAAC;QAED,IAAI,CAAC;YACH,2CAA2C;YAC3C,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;YACjC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAE5C,6DAA6D;YAC7D,aAAa;YACb,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;YAE7D,0EAA0E;YAC1E,wEAAwE;YACxE,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;YAElD,OAAO,eAAe,CAAA;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { WalletAdapter } from '@solana/wallet-adapter-base';
|
|
2
1
|
import type { NetworkRpcMap, SolanaTransactionRequest } from '@meshconnect/uwc-types';
|
|
2
|
+
import type { SolanaAdapter } from '../../wallet-standard-discovery';
|
|
3
3
|
/**
|
|
4
4
|
* Service for handling Solana transaction operations
|
|
5
5
|
*/
|
|
@@ -10,7 +10,19 @@ export declare class SolanaTransactionService {
|
|
|
10
10
|
/**
|
|
11
11
|
* Send a transaction for Solana
|
|
12
12
|
*/
|
|
13
|
-
sendTransaction(request: SolanaTransactionRequest, adapter:
|
|
13
|
+
sendTransaction(request: SolanaTransactionRequest, adapter: SolanaAdapter): Promise<string>;
|
|
14
|
+
/**
|
|
15
|
+
* Helper: Validate wallet address matches
|
|
16
|
+
*/
|
|
17
|
+
private validateWalletMatch;
|
|
18
|
+
/**
|
|
19
|
+
* Helper: Get RPC URL with fallback
|
|
20
|
+
*/
|
|
21
|
+
private getRpcUrl;
|
|
22
|
+
/**
|
|
23
|
+
* Helper: Execute transaction with sendSerializedTransaction fallback
|
|
24
|
+
*/
|
|
25
|
+
private executeTransaction;
|
|
14
26
|
/**
|
|
15
27
|
* Send native SOL transfer
|
|
16
28
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solana-transaction-service.d.ts","sourceRoot":"","sources":["../../../src/services/solana/solana-transaction-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"solana-transaction-service.d.ts","sourceRoot":"","sources":["../../../src/services/solana/solana-transaction-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,aAAa,EAIb,wBAAwB,EACzB,MAAM,wBAAwB,CAAA;AAG/B,OAAO,KAAK,EAEV,aAAa,EACd,MAAM,iCAAiC,CAAA;AAExC;;GAEG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,OAAO,CAA0B;gBAE7B,aAAa,GAAE,aAAkB;IAK7C;;OAEG;IACG,eAAe,CACnB,OAAO,EAAE,wBAAwB,EACjC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,CAAC;IA0BlB;;OAEG;YACW,mBAAmB;IAWjC;;OAEG;IACH,OAAO,CAAC,SAAS;IAMjB;;OAEG;YACW,kBAAkB;IAuChC;;OAEG;YACW,qBAAqB;IA8BnC;;OAEG;YACW,uBAAuB;IA8BrC;;OAEG;YACW,mCAAmC;CAwDlD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Transaction, Connection } from '@solana/web3.js';
|
|
1
|
+
import { Transaction, Connection, PublicKey } from '@solana/web3.js';
|
|
2
2
|
import { parseError } from '../../utils/error-utils';
|
|
3
3
|
import { SolanaTransactionBuilder } from './solana-transaction-builder';
|
|
4
4
|
/**
|
|
@@ -34,18 +34,60 @@ export class SolanaTransactionService {
|
|
|
34
34
|
parseError(error);
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Helper: Validate wallet address matches
|
|
39
|
+
*/
|
|
40
|
+
async validateWalletMatch(adapter, expectedAddress) {
|
|
41
|
+
const base58PublicKey = await adapter.publicKey?.toBase58();
|
|
42
|
+
if (base58PublicKey !== expectedAddress) {
|
|
43
|
+
throw new Error('From address does not match connected wallet');
|
|
44
|
+
}
|
|
45
|
+
return base58PublicKey;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Helper: Get RPC URL with fallback
|
|
49
|
+
*/
|
|
50
|
+
getRpcUrl(networkId) {
|
|
51
|
+
return networkId && this.networkRpcMap[networkId]
|
|
52
|
+
? this.networkRpcMap[networkId]
|
|
53
|
+
: 'https://api.mainnet-beta.solana.com';
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Helper: Execute transaction with sendSerializedTransaction fallback
|
|
57
|
+
*/
|
|
58
|
+
async executeTransaction(adapter, transaction, rpcUrl) {
|
|
59
|
+
let transactionSignature;
|
|
60
|
+
// Try to use sendSerializedTransaction if available
|
|
61
|
+
try {
|
|
62
|
+
const extendedAdapter = adapter;
|
|
63
|
+
const serializedTx = transaction.serialize({
|
|
64
|
+
requireAllSignatures: false,
|
|
65
|
+
verifySignatures: false
|
|
66
|
+
});
|
|
67
|
+
if (extendedAdapter.sendSerializedTransaction) {
|
|
68
|
+
transactionSignature = await extendedAdapter.sendSerializedTransaction(serializedTx, rpcUrl);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
// Fallback to regular sendTransaction
|
|
73
|
+
}
|
|
74
|
+
// If sendSerializedTransaction didn't work or wasn't available
|
|
75
|
+
if (!transactionSignature) {
|
|
76
|
+
const connection = new Connection(rpcUrl);
|
|
77
|
+
transactionSignature = await adapter.sendTransaction(transaction, connection);
|
|
78
|
+
}
|
|
79
|
+
if (transactionSignature === undefined) {
|
|
80
|
+
throw new Error(`Couldn't get the transaction signature`);
|
|
81
|
+
}
|
|
82
|
+
return transactionSignature;
|
|
83
|
+
}
|
|
37
84
|
/**
|
|
38
85
|
* Send native SOL transfer
|
|
39
86
|
*/
|
|
40
87
|
async sendNativeTransaction(adapter, request, networkId) {
|
|
41
88
|
try {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
// Verify the from address matches connected wallet
|
|
46
|
-
if (adapter.publicKey.toBase58() !== request.from) {
|
|
47
|
-
throw new Error('From address does not match connected wallet');
|
|
48
|
-
}
|
|
89
|
+
// Validate wallet
|
|
90
|
+
await this.validateWalletMatch(adapter, request.from);
|
|
49
91
|
// Blockhash is required
|
|
50
92
|
if (!request.blockhash) {
|
|
51
93
|
throw new Error('Blockhash is required for Solana transactions');
|
|
@@ -55,14 +97,10 @@ export class SolanaTransactionService {
|
|
|
55
97
|
transaction.instructions =
|
|
56
98
|
await this.builder.buildTransferInstructions(request);
|
|
57
99
|
transaction.recentBlockhash = request.blockhash;
|
|
58
|
-
transaction.feePayer =
|
|
59
|
-
//
|
|
60
|
-
const rpcUrl =
|
|
61
|
-
|
|
62
|
-
: 'https://api.mainnet-beta.solana.com';
|
|
63
|
-
const connection = new Connection(rpcUrl);
|
|
64
|
-
const signature = await adapter.sendTransaction(transaction, connection);
|
|
65
|
-
return signature;
|
|
100
|
+
transaction.feePayer = new PublicKey(request.from);
|
|
101
|
+
// Execute with helpers
|
|
102
|
+
const rpcUrl = this.getRpcUrl(networkId);
|
|
103
|
+
return await this.executeTransaction(adapter, transaction, rpcUrl);
|
|
66
104
|
}
|
|
67
105
|
catch (error) {
|
|
68
106
|
parseError(error);
|
|
@@ -73,13 +111,8 @@ export class SolanaTransactionService {
|
|
|
73
111
|
*/
|
|
74
112
|
async sendSplTokenTransaction(adapter, request, networkId) {
|
|
75
113
|
try {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
// Verify the from address matches connected wallet
|
|
80
|
-
if (adapter.publicKey.toBase58() !== request.from) {
|
|
81
|
-
throw new Error('From address does not match connected wallet');
|
|
82
|
-
}
|
|
114
|
+
// Validate wallet
|
|
115
|
+
await this.validateWalletMatch(adapter, request.from);
|
|
83
116
|
// Blockhash is required
|
|
84
117
|
if (!request.blockhash) {
|
|
85
118
|
throw new Error('Blockhash is required for Solana transactions');
|
|
@@ -89,14 +122,10 @@ export class SolanaTransactionService {
|
|
|
89
122
|
transaction.instructions =
|
|
90
123
|
await this.builder.buildTransferInstructions(request);
|
|
91
124
|
transaction.recentBlockhash = request.blockhash;
|
|
92
|
-
transaction.feePayer =
|
|
93
|
-
//
|
|
94
|
-
const rpcUrl =
|
|
95
|
-
|
|
96
|
-
: 'https://api.mainnet-beta.solana.com';
|
|
97
|
-
const connection = new Connection(rpcUrl);
|
|
98
|
-
const signature = await adapter.sendTransaction(transaction, connection);
|
|
99
|
-
return signature;
|
|
125
|
+
transaction.feePayer = new PublicKey(request.from);
|
|
126
|
+
// Execute with helpers
|
|
127
|
+
const rpcUrl = this.getRpcUrl(networkId);
|
|
128
|
+
return await this.executeTransaction(adapter, transaction, rpcUrl);
|
|
100
129
|
}
|
|
101
130
|
catch (error) {
|
|
102
131
|
parseError(error);
|
|
@@ -107,26 +136,37 @@ export class SolanaTransactionService {
|
|
|
107
136
|
*/
|
|
108
137
|
async sendGenericTransferWithInstructions(adapter, request, networkId) {
|
|
109
138
|
try {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}
|
|
113
|
-
// Verify the from address matches connected wallet
|
|
114
|
-
if (adapter.publicKey.toBase58() !== request.feePayer) {
|
|
115
|
-
throw new Error('From address does not match connected wallet');
|
|
116
|
-
}
|
|
139
|
+
// Validate wallet
|
|
140
|
+
await this.validateWalletMatch(adapter, request.feePayer);
|
|
117
141
|
// Blockhash is required
|
|
118
142
|
if (!request.blockhash) {
|
|
119
143
|
throw new Error('Blockhash is required for Solana transactions');
|
|
120
144
|
}
|
|
121
|
-
// Create transaction
|
|
122
|
-
const transaction = await this.builder.getVersionedTransaction(
|
|
123
|
-
// Get RPC URL
|
|
124
|
-
const rpcUrl =
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
145
|
+
// Create versioned transaction
|
|
146
|
+
const transaction = await this.builder.getVersionedTransaction(new PublicKey(request.feePayer), request);
|
|
147
|
+
// Get RPC URL
|
|
148
|
+
const rpcUrl = this.getRpcUrl(networkId);
|
|
149
|
+
// VersionedTransaction can't use our helper method, handle directly
|
|
150
|
+
let transactionSignature;
|
|
151
|
+
try {
|
|
152
|
+
const extendedAdapter = adapter;
|
|
153
|
+
const serializedTx = transaction.serialize();
|
|
154
|
+
if (extendedAdapter.sendSerializedTransaction) {
|
|
155
|
+
transactionSignature =
|
|
156
|
+
await extendedAdapter.sendSerializedTransaction(serializedTx, rpcUrl);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
catch {
|
|
160
|
+
// Fallback to regular sendTransaction
|
|
161
|
+
}
|
|
162
|
+
if (!transactionSignature) {
|
|
163
|
+
const connection = new Connection(rpcUrl);
|
|
164
|
+
transactionSignature = await adapter.sendTransaction(transaction, connection);
|
|
165
|
+
}
|
|
166
|
+
if (transactionSignature === undefined) {
|
|
167
|
+
throw new Error(`Couldn't get the transaction signature`);
|
|
168
|
+
}
|
|
169
|
+
return transactionSignature;
|
|
130
170
|
}
|
|
131
171
|
catch (error) {
|
|
132
172
|
parseError(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solana-transaction-service.js","sourceRoot":"","sources":["../../../src/services/solana/solana-transaction-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"solana-transaction-service.js","sourceRoot":"","sources":["../../../src/services/solana/solana-transaction-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { AvailableAddress } from '@meshconnect/uwc-types';
|
|
2
|
-
import type
|
|
3
|
-
import { type WalletStandardInfo } from '../../wallet-standard-discovery';
|
|
2
|
+
import { type SolanaAdapter, type WalletStandardInfo } from '../../wallet-standard-discovery';
|
|
4
3
|
import { StorageService } from '../storage-service';
|
|
5
4
|
/**
|
|
6
5
|
* Service for managing Solana wallet connections
|
|
@@ -14,7 +13,7 @@ export declare class SolanaWalletService {
|
|
|
14
13
|
/**
|
|
15
14
|
* Initialize wallet discovery
|
|
16
15
|
*/
|
|
17
|
-
initializeDiscovery(): void
|
|
16
|
+
initializeDiscovery(): Promise<void>;
|
|
18
17
|
/**
|
|
19
18
|
* Get detected wallets
|
|
20
19
|
*/
|
|
@@ -26,11 +25,11 @@ export declare class SolanaWalletService {
|
|
|
26
25
|
/**
|
|
27
26
|
* Check if a Solana wallet is already connected
|
|
28
27
|
*/
|
|
29
|
-
checkExistingConnection(adapter:
|
|
28
|
+
checkExistingConnection(adapter: SolanaAdapter, walletUuid: string): Promise<string | null>;
|
|
30
29
|
/**
|
|
31
30
|
* Connect to wallet
|
|
32
31
|
*/
|
|
33
|
-
connect(adapter:
|
|
32
|
+
connect(adapter: SolanaAdapter, walletUuid: string): Promise<string>;
|
|
34
33
|
/**
|
|
35
34
|
* Build available addresses for all supported networks
|
|
36
35
|
*/
|
|
@@ -38,7 +37,7 @@ export declare class SolanaWalletService {
|
|
|
38
37
|
/**
|
|
39
38
|
* Set connection state
|
|
40
39
|
*/
|
|
41
|
-
setConnectionState(adapter:
|
|
40
|
+
setConnectionState(adapter: SolanaAdapter | null, account: string | null, walletUuid?: string): void;
|
|
42
41
|
/**
|
|
43
42
|
* Get current account
|
|
44
43
|
*/
|
|
@@ -46,7 +45,7 @@ export declare class SolanaWalletService {
|
|
|
46
45
|
/**
|
|
47
46
|
* Get connected adapter
|
|
48
47
|
*/
|
|
49
|
-
getConnectedAdapter():
|
|
48
|
+
getConnectedAdapter(): SolanaAdapter | null;
|
|
50
49
|
/**
|
|
51
50
|
* Disconnect (clear state only, don't actually disconnect from wallet)
|
|
52
51
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solana-wallet-service.d.ts","sourceRoot":"","sources":["../../../src/services/solana/solana-wallet-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"solana-wallet-service.d.ts","sourceRoot":"","sources":["../../../src/services/solana/solana-wallet-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzE,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACxB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,cAAc,CAAgB;gBAE1B,cAAc,EAAE,cAAc;IAI1C;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C;;OAEG;IACH,kBAAkB,IAAI,kBAAkB,EAAE;IAI1C;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAI9D;;OAEG;IACG,uBAAuB,CAC3B,OAAO,EAAE,aAAa,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA+BzB;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmB1E;;OAEG;IACH,uBAAuB,CACrB,mBAAmB,EAAE,MAAM,EAAE,EAC7B,OAAO,EAAE,MAAM,GACd,gBAAgB,EAAE;IAarB;;OAEG;IACH,kBAAkB,CAChB,OAAO,EAAE,aAAa,GAAG,IAAI,EAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI;IAUP;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,IAAI;IAI3B;;OAEG;IACH,mBAAmB,IAAI,aAAa,GAAG,IAAI;IAI3C;;OAEG;IACH,UAAU,IAAI,IAAI;CAInB"}
|
|
@@ -14,8 +14,8 @@ export class SolanaWalletService {
|
|
|
14
14
|
/**
|
|
15
15
|
* Initialize wallet discovery
|
|
16
16
|
*/
|
|
17
|
-
initializeDiscovery() {
|
|
18
|
-
this.detectedWallets = getSolanaWallets();
|
|
17
|
+
async initializeDiscovery() {
|
|
18
|
+
this.detectedWallets = await getSolanaWallets();
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
21
|
* Get detected wallets
|
|
@@ -34,23 +34,21 @@ export class SolanaWalletService {
|
|
|
34
34
|
*/
|
|
35
35
|
async checkExistingConnection(adapter, walletUuid) {
|
|
36
36
|
try {
|
|
37
|
+
const base58PublicKey = await adapter.publicKey?.toBase58();
|
|
37
38
|
// Check if adapter has a publicKey (means it's connected)
|
|
38
|
-
if (
|
|
39
|
-
return
|
|
39
|
+
if (base58PublicKey) {
|
|
40
|
+
return base58PublicKey;
|
|
40
41
|
}
|
|
41
42
|
// If this wallet was previously connected, try to reconnect
|
|
42
43
|
// This should work without prompting for wallets that support it
|
|
43
44
|
if (this.storageService.wasSolanaWalletPreviouslyConnected(walletUuid)) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
'connect' in adapter) {
|
|
45
|
+
const walletIsConnecting = await adapter.connecting;
|
|
46
|
+
if (!walletIsConnecting) {
|
|
47
47
|
try {
|
|
48
|
-
// Type assertion needed because TypeScript can't narrow the type properly
|
|
49
48
|
await adapter.connect();
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
return publicKey.toBase58();
|
|
49
|
+
const base58PublicKey = await adapter.publicKey?.toBase58();
|
|
50
|
+
if (base58PublicKey) {
|
|
51
|
+
return base58PublicKey;
|
|
54
52
|
}
|
|
55
53
|
}
|
|
56
54
|
catch {
|
|
@@ -70,10 +68,10 @@ export class SolanaWalletService {
|
|
|
70
68
|
async connect(adapter, walletUuid) {
|
|
71
69
|
// Connect to the Solana wallet
|
|
72
70
|
await adapter.connect();
|
|
73
|
-
|
|
74
|
-
|
|
71
|
+
const address = await adapter.publicKey?.toBase58();
|
|
72
|
+
if (!address) {
|
|
73
|
+
throw new Error('No address returned from wallet');
|
|
75
74
|
}
|
|
76
|
-
const address = adapter.publicKey.toBase58();
|
|
77
75
|
this.connectedAdapter = adapter;
|
|
78
76
|
this.account = address;
|
|
79
77
|
// Store this wallet as connected
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solana-wallet-service.js","sourceRoot":"","sources":["../../../src/services/solana/solana-wallet-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"solana-wallet-service.js","sourceRoot":"","sources":["../../../src/services/solana/solana-wallet-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { EthereumProvider } from '../eip6963-discovery';
|
|
2
|
-
import type { WalletAdapter } from '@solana/wallet-adapter-base';
|
|
3
2
|
import type { TransactionRequest, TransactionResult, NetworkRpcMap } from '@meshconnect/uwc-types';
|
|
3
|
+
import type { SolanaAdapter } from '../wallet-standard-discovery';
|
|
4
4
|
/**
|
|
5
5
|
* Service for handling transaction operations across different wallet types
|
|
6
6
|
*/
|
|
@@ -11,6 +11,6 @@ export declare class TransactionService {
|
|
|
11
11
|
/**
|
|
12
12
|
* Send a transaction based on namespace
|
|
13
13
|
*/
|
|
14
|
-
sendTransaction(request: TransactionRequest, namespace: 'eip155' | 'solana', provider: EthereumProvider |
|
|
14
|
+
sendTransaction(request: TransactionRequest, namespace: 'eip155' | 'solana', provider: EthereumProvider | SolanaAdapter): Promise<TransactionResult>;
|
|
15
15
|
}
|
|
16
16
|
//# sourceMappingURL=transaction-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-service.d.ts","sourceRoot":"","sources":["../../src/services/transaction-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"transaction-service.d.ts","sourceRoot":"","sources":["../../src/services/transaction-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EAGd,MAAM,wBAAwB,CAAA;AAI/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAEjE;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,aAAa,CAA0B;gBAEnC,aAAa,GAAE,aAAkB;IAK7C;;OAEG;IACG,eAAe,CACnB,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,QAAQ,GAAG,QAAQ,EAC9B,QAAQ,EAAE,gBAAgB,GAAG,aAAa,GACzC,OAAO,CAAC,iBAAiB,CAAC;CAe9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-service.js","sourceRoot":"","sources":["../../src/services/transaction-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transaction-service.js","sourceRoot":"","sources":["../../src/services/transaction-service.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAA;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAA;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD;;GAEG;AACH,MAAM,OAAO,kBAAkB;IACrB,eAAe,CAA4B;IAC3C,aAAa,CAA0B;IAE/C,YAAY,gBAA+B,EAAE;QAC3C,IAAI,CAAC,eAAe,GAAG,IAAI,0BAA0B,EAAE,CAAA;QACvD,IAAI,CAAC,aAAa,GAAG,IAAI,wBAAwB,CAAC,aAAa,CAAC,CAAA;IAClE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,OAA2B,EAC3B,SAA8B,EAC9B,QAA0C;QAE1C,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAC/C,OAAqC,EACrC,QAA4B,CAC7B,CAAA;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAC7C,OAAmC,EACnC,QAAyB,CAC1B,CAAA;QACH,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,CAAC,IAAI,KAAK,CAAC,0BAA0B,SAAS,EAAE,CAAC,CAAC,CAAA;QACpE,CAAC;IACH,CAAC;CACF"}
|