@meshconnect/uwc-injected-connector 0.2.7 → 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.
Files changed (40) hide show
  1. package/dist/injected-connector.js +2 -2
  2. package/dist/injected-connector.js.map +1 -1
  3. package/dist/injected-connector.old.d.ts +44 -0
  4. package/dist/injected-connector.old.d.ts.map +1 -0
  5. package/dist/injected-connector.old.js +491 -0
  6. package/dist/injected-connector.old.js.map +1 -0
  7. package/dist/providers/evm-provider.d.ts +18 -0
  8. package/dist/providers/evm-provider.d.ts.map +1 -0
  9. package/dist/providers/evm-provider.js +86 -0
  10. package/dist/providers/evm-provider.js.map +1 -0
  11. package/dist/providers/solana-provider.d.ts +22 -0
  12. package/dist/providers/solana-provider.d.ts.map +1 -0
  13. package/dist/providers/solana-provider.js +137 -0
  14. package/dist/providers/solana-provider.js.map +1 -0
  15. package/dist/services/signature-service.d.ts +2 -2
  16. package/dist/services/signature-service.d.ts.map +1 -1
  17. package/dist/services/signature-service.js +3 -10
  18. package/dist/services/signature-service.js.map +1 -1
  19. package/dist/services/solana/solana-transaction-service.d.ts +14 -2
  20. package/dist/services/solana/solana-transaction-service.d.ts.map +1 -1
  21. package/dist/services/solana/solana-transaction-service.js +87 -47
  22. package/dist/services/solana/solana-transaction-service.js.map +1 -1
  23. package/dist/services/solana/solana-wallet-service.d.ts +6 -7
  24. package/dist/services/solana/solana-wallet-service.d.ts.map +1 -1
  25. package/dist/services/solana/solana-wallet-service.js +13 -15
  26. package/dist/services/solana/solana-wallet-service.js.map +1 -1
  27. package/dist/services/transaction-service.d.ts +2 -2
  28. package/dist/services/transaction-service.d.ts.map +1 -1
  29. package/dist/services/transaction-service.js.map +1 -1
  30. package/dist/wallet-standard-discovery.d.ts +11 -9
  31. package/dist/wallet-standard-discovery.d.ts.map +1 -1
  32. package/dist/wallet-standard-discovery.js +47 -23
  33. package/dist/wallet-standard-discovery.js.map +1 -1
  34. package/package.json +1 -1
  35. package/src/injected-connector.ts +2 -2
  36. package/src/services/signature-service.ts +5 -17
  37. package/src/services/solana/solana-transaction-service.ts +121 -60
  38. package/src/services/solana/solana-wallet-service.ts +21 -23
  39. package/src/services/transaction-service.ts +3 -3
  40. package/src/wallet-standard-discovery.ts +77 -32
@@ -0,0 +1,86 @@
1
+ /**
2
+ * EVM provider management
3
+ */
4
+ import { getAvailableWallets as getEIP6963Wallets } from '../eip6963-discovery';
5
+ export class EVMProvider {
6
+ detectedEIP6963Wallets = [];
7
+ async initialize() {
8
+ this.detectedEIP6963Wallets = await getEIP6963Wallets();
9
+ }
10
+ getProvider(eip155Name, injectedId) {
11
+ // First, try to find the provider from EIP-6963 discovered wallets
12
+ const detectedWallet = this.detectedEIP6963Wallets.find(wallet => wallet.name.toLowerCase() === eip155Name.toLowerCase());
13
+ if (detectedWallet && detectedWallet.provider) {
14
+ return detectedWallet.provider;
15
+ }
16
+ // Fall back to window.ethereum if no EIP-6963 provider found
17
+ const ethereum = window.ethereum;
18
+ if (ethereum) {
19
+ // Check if the specific wallet is available via injectedId
20
+ if (injectedId && !ethereum[injectedId]) {
21
+ throw new Error(`Wallet ${eip155Name} is not available`);
22
+ }
23
+ return ethereum;
24
+ }
25
+ throw new Error(`No provider found for ${eip155Name}`);
26
+ }
27
+ async switchNetwork(provider, network) {
28
+ // Get the current chain ID
29
+ const currentChainId = await provider.request({
30
+ method: 'eth_chainId'
31
+ });
32
+ // Parse the expected chain ID from the network ID (format: "eip155:1")
33
+ const expectedChainId = network.id.split(':')[1];
34
+ if (!expectedChainId) {
35
+ throw new Error('Invalid network ID format');
36
+ }
37
+ const expectedChainIdHex = '0x' + parseInt(expectedChainId).toString(16);
38
+ // Switch to the correct network if needed
39
+ if (currentChainId !== expectedChainIdHex) {
40
+ try {
41
+ await provider.request({
42
+ method: 'wallet_switchEthereumChain',
43
+ params: [{ chainId: expectedChainIdHex }]
44
+ });
45
+ }
46
+ catch (switchError) {
47
+ // This error code indicates that the chain has not been added
48
+ if (switchError.code === 4902) {
49
+ // Try to add the network
50
+ const networkParams = {
51
+ chainId: expectedChainIdHex,
52
+ chainName: network.name,
53
+ nativeCurrency: network.nativeCurrency,
54
+ rpcUrls: network.rpcUrls?.default.http || [],
55
+ blockExplorerUrls: network.blockExplorers
56
+ ? [network.blockExplorers.default.url]
57
+ : []
58
+ };
59
+ await provider.request({
60
+ method: 'wallet_addEthereumChain',
61
+ params: [networkParams]
62
+ });
63
+ }
64
+ else {
65
+ throw switchError;
66
+ }
67
+ }
68
+ }
69
+ }
70
+ async requestAccounts(provider) {
71
+ const accounts = await provider.request({
72
+ method: 'eth_requestAccounts'
73
+ });
74
+ return accounts || [];
75
+ }
76
+ async getAccounts(provider) {
77
+ const accounts = await provider.request({
78
+ method: 'eth_accounts'
79
+ });
80
+ return accounts || [];
81
+ }
82
+ getDetectedWallets() {
83
+ return this.detectedEIP6963Wallets;
84
+ }
85
+ }
86
+ //# sourceMappingURL=evm-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm-provider.js","sourceRoot":"","sources":["../../src/providers/evm-provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,mBAAmB,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAO/E,MAAM,OAAO,WAAW;IACd,sBAAsB,GAAU,EAAE,CAAA;IAE1C,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,sBAAsB,GAAG,MAAM,iBAAiB,EAAE,CAAA;IACzD,CAAC;IAED,WAAW,CAAC,UAAkB,EAAE,UAAmB;QACjD,mEAAmE;QACnE,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CACrD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE,CACjE,CAAA;QAED,IAAI,cAAc,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC9C,OAAO,cAAc,CAAC,QAAQ,CAAA;QAChC,CAAC;QAED,6DAA6D;QAC7D,MAAM,QAAQ,GAAI,MAAc,CAAC,QAAQ,CAAA;QACzC,IAAI,QAAQ,EAAE,CAAC;YACb,2DAA2D;YAC3D,IAAI,UAAU,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,mBAAmB,CAAC,CAAA;YAC1D,CAAC;YACD,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAA;IACxD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAa,EAAE,OAAgB;QACjD,2BAA2B;QAC3B,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;YAC5C,MAAM,EAAE,aAAa;SACtB,CAAC,CAAA;QAEF,uEAAuE;QACvE,MAAM,eAAe,GAAG,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAChD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC9C,CAAC;QACD,MAAM,kBAAkB,GAAG,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAExE,0CAA0C;QAC1C,IAAI,cAAc,KAAK,kBAAkB,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,OAAO,CAAC;oBACrB,MAAM,EAAE,4BAA4B;oBACpC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;iBAC1C,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,WAAgB,EAAE,CAAC;gBAC1B,8DAA8D;gBAC9D,IAAI,WAAW,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC9B,yBAAyB;oBACzB,MAAM,aAAa,GAAG;wBACpB,OAAO,EAAE,kBAAkB;wBAC3B,SAAS,EAAE,OAAO,CAAC,IAAI;wBACvB,cAAc,EAAE,OAAO,CAAC,cAAc;wBACtC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;wBAC5C,iBAAiB,EAAE,OAAO,CAAC,cAAc;4BACvC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC;4BACtC,CAAC,CAAC,EAAE;qBACP,CAAA;oBAED,MAAM,QAAQ,CAAC,OAAO,CAAC;wBACrB,MAAM,EAAE,yBAAyB;wBACjC,MAAM,EAAE,CAAC,aAAa,CAAC;qBACxB,CAAC,CAAA;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,WAAW,CAAA;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAa;QACjC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;YACtC,MAAM,EAAE,qBAAqB;SAC9B,CAAC,CAAA;QACF,OAAO,QAAQ,IAAI,EAAE,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAa;QAC7B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;YACtC,MAAM,EAAE,cAAc;SACvB,CAAC,CAAA;QACF,OAAO,QAAQ,IAAI,EAAE,CAAA;IACvB,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,sBAAsB,CAAA;IACpC,CAAC;CACF"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Solana provider management
3
+ */
4
+ import type { SolanaMetadata } from '@meshconnect/uwc-types';
5
+ export interface DetectedSolanaWallet {
6
+ name: string;
7
+ provider: any;
8
+ injectedId?: string;
9
+ }
10
+ export interface SolanaProviderManager {
11
+ getProvider(metadata?: SolanaMetadata): any;
12
+ detectWallets(): DetectedSolanaWallet[];
13
+ }
14
+ export declare class SolanaProvider implements SolanaProviderManager {
15
+ private detectedWallets;
16
+ initialize(): void;
17
+ getProvider(metadata?: SolanaMetadata): any;
18
+ detectWallets(): DetectedSolanaWallet[];
19
+ connect(provider: any): Promise<any>;
20
+ getDetectedWallets(): DetectedSolanaWallet[];
21
+ }
22
+ //# sourceMappingURL=solana-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana-provider.d.ts","sourceRoot":"","sources":["../../src/providers/solana-provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,GAAG,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,GAAG,CAAA;IAC3C,aAAa,IAAI,oBAAoB,EAAE,CAAA;CACxC;AAED,qBAAa,cAAe,YAAW,qBAAqB;IAC1D,OAAO,CAAC,eAAe,CAA6B;IAEpD,UAAU,IAAI,IAAI;IAIlB,WAAW,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,GAAG;IAsE3C,aAAa,IAAI,oBAAoB,EAAE;IAuEjC,OAAO,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAW1C,kBAAkB,IAAI,oBAAoB,EAAE;CAG7C"}
@@ -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":"AAAA;;GAEG;AAeH,MAAM,OAAO,cAAc;IACjB,eAAe,GAA2B,EAAE,CAAA;IAEpD,UAAU;QACR,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;IAC7C,CAAC;IAED,WAAW,CAAC,QAAyB;QACnC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YACtC,wDAAwD;YACxD,IAAK,MAAc,CAAC,MAAM;gBAAE,OAAQ,MAAc,CAAC,MAAM,CAAA;YACzD,IAAK,MAAc,CAAC,OAAO,EAAE,MAAM;gBAAE,OAAQ,MAAc,CAAC,OAAO,CAAC,MAAM,CAAA;YAC1E,IAAK,MAAc,CAAC,QAAQ,EAAE,MAAM;gBAClC,OAAQ,MAAc,CAAC,QAAQ,CAAC,MAAM,CAAA;YACxC,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,GAAG,QAAQ,CAAA;QAEnD,uCAAuC;QACvC,MAAM,eAAe,GAAG,CAAC,QAAa,EAAW,EAAE;YACjD,IAAI,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAA;YAE3B,oEAAoE;YACpE,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxD,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE,CAAC;oBAC3C,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;wBACjC,OAAO,KAAK,CAAA;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;YAED,yDAAyD;YACzD,+EAA+E;YAC/E,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,OAAO,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;YACtC,CAAC;YAED,oDAAoD;YACpD,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QAC/B,CAAC,CAAA;QAED,4EAA4E;QAC5E,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;QAC9D,MAAM,cAAc,GAAI,MAAc,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;QAC1D,IAAI,cAAc,IAAI,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC;YACtD,OAAO,cAAc,CAAA;QACvB,CAAC;QAED,wEAAwE;QACxE,MAAM,cAAc,GAAI,MAAc,CAAC,UAAU,CAAC,CAAA;QAClD,IAAI,cAAc,IAAI,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC;YACtD,OAAO,cAAc,CAAA;QACvB,CAAC;QAED,kDAAkD;QAClD,IAAK,MAAc,CAAC,MAAM,IAAI,eAAe,CAAE,MAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YACtE,OAAQ,MAAc,CAAC,MAAM,CAAA;QAC/B,CAAC;QAED,0FAA0F;QAC1F,gCAAgC;QAChC,MAAM,cAAc,GAAG;YACpB,MAAc,CAAC,GAAG,UAAU,QAAQ,CAAC,EAAE,MAAM;YAC7C,MAAc,CAAC,GAAG,UAAU,QAAQ,CAAC,EAAE,MAAM;YAC7C,MAAc,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM;SAC1D,CAAA;QAED,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;YACtC,IAAI,QAAQ,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1C,OAAO,QAAQ,CAAA;YACjB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,aAAa;QACX,MAAM,OAAO,GAA2B,EAAE,CAAA;QAE1C,yDAAyD;QACzD,MAAM,aAAa,GAAG,CACpB,QAAa,EACb,IAAY,EACZ,UAAmB,EACnB,EAAE;YACF,IAAI,QAAQ,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBACvD,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAA;gBAC9C,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;gBAClC,CAAC;YACH,CAAC;QACH,CAAC,CAAA;QAED,mDAAmD;QACnD,IAAK,MAAc,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAI,MAAc,CAAC,MAAM,CAAA;YACvC,IAAI,IAAI,GAAG,eAAe,CAAA;YAC1B,IAAI,UAA8B,CAAA;YAElC,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACvB,IAAI,GAAG,SAAS,CAAA;gBAChB,UAAU,GAAG,WAAW,CAAA;YAC1B,CAAC;iBAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC/B,IAAI,GAAG,UAAU,CAAA;gBACjB,UAAU,GAAG,YAAY,CAAA;YAC3B,CAAC;iBAAM,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;gBACtD,IAAI,GAAG,cAAc,CAAA;gBACrB,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAA;YAC7D,CAAC;iBAAM,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAC7B,IAAI,GAAG,QAAQ,CAAA;gBACf,UAAU,GAAG,UAAU,CAAA;YACzB,CAAC;YAED,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;QAC3C,CAAC;QAED,yBAAyB;QACzB,IAAK,MAAc,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACpC,aAAa,CAAE,MAAc,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;QACvE,CAAC;QAED,IAAK,MAAc,CAAC,QAAQ,EAAE,CAAC;YAC7B,aAAa,CAAE,MAAc,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;QACnE,CAAC;QAED,IAAK,MAAc,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;YACxC,aAAa,CACV,MAAc,CAAC,WAAW,CAAC,MAAM,EAClC,cAAc,EACd,SAAS,CACV,CAAA;QACH,CAAC;QAED,IAAK,MAAc,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YACnC,aAAa,CAAE,MAAc,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;QACpE,CAAC;QAED,gDAAgD;QAChD,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAClC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CACtB,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAChE,CAAA;QAED,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAa;QACzB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAA;YACzC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;YACvD,CAAC;YACD,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAA;IAC1C,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,eAAe,CAAA;IAC7B,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
1
  import type { EthereumProvider } from '../eip6963-discovery';
2
- import type { WalletAdapter } from '@solana/wallet-adapter-base';
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: WalletAdapter): Promise<string>;
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;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAIhE;;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;CAmCnB"}
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
- // Sign the message
52
- const signedMessage = await signingAdapter.signMessage(messageBytes);
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":"AAEA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD;;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,gDAAgD,CAAC,CAAA;QACnE,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;QACpD,CAAC;QAED,wCAAwC;QACxC,MAAM,cAAc,GAAG,OAEtB,CAAA;QAED,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;QACpE,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,mBAAmB;YACnB,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;YAEpE,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
+ {"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: WalletAdapter): Promise<string>;
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,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,KAAK,EAEV,aAAa,EAIb,wBAAwB,EACzB,MAAM,wBAAwB,CAAA;AAI/B;;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,qBAAqB;IA0CnC;;OAEG;YACW,uBAAuB;IA0CrC;;OAEG;YACW,mCAAmC;CAuClD"}
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
- if (!adapter.publicKey) {
43
- throw new Error('Wallet not connected');
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 = adapter.publicKey;
59
- // Get RPC URL from the network RPC map or fall back to public endpoint
60
- const rpcUrl = networkId && this.networkRpcMap[networkId]
61
- ? this.networkRpcMap[networkId]
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
- if (!adapter.publicKey) {
77
- throw new Error('Wallet not connected');
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 = adapter.publicKey;
93
- // Get RPC URL from the network RPC map or fall back to public endpoint
94
- const rpcUrl = networkId && this.networkRpcMap[networkId]
95
- ? this.networkRpcMap[networkId]
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
- if (!adapter.publicKey) {
111
- throw new Error('Wallet not connected');
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(adapter.publicKey, request);
123
- // Get RPC URL from the network RPC map or fall back to public endpoint
124
- const rpcUrl = networkId && this.networkRpcMap[networkId]
125
- ? this.networkRpcMap[networkId]
126
- : 'https://api.mainnet-beta.solana.com';
127
- const connection = new Connection(rpcUrl);
128
- const signature = await adapter.sendTransaction(transaction, connection);
129
- return signature;
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":"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"}
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 { WalletAdapter } from '@solana/wallet-adapter-base';
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: WalletAdapter, walletUuid: string): Promise<string | null>;
28
+ checkExistingConnection(adapter: SolanaAdapter, walletUuid: string): Promise<string | null>;
30
29
  /**
31
30
  * Connect to wallet
32
31
  */
33
- connect(adapter: WalletAdapter, walletUuid: string): Promise<string>;
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: WalletAdapter | null, account: string | null, walletUuid?: string): void;
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(): WalletAdapter | null;
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,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAEL,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;IACH,mBAAmB,IAAI,IAAI;IAI3B;;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;IAkCzB;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkB1E;;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"}
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"}