@sei-js/mcp-server
Version:
Model Context Protocol (MCP) server for interacting with EVM-compatible networks
36 lines (35 loc) • 1.18 kB
JavaScript
import { getWalletMode } from '../config.js';
import { DisabledWalletProvider } from './providers/disabled.js';
import { PrivateKeyWalletProvider } from './providers/private-key.js';
// Cache wallet provider instance
let walletProviderInstance = null;
/**
* Get the wallet provider instance based on configuration
*/
export function getWalletProvider() {
if (walletProviderInstance) {
return walletProviderInstance;
}
const mode = getWalletMode();
switch (mode) {
case 'private-key':
walletProviderInstance = new PrivateKeyWalletProvider();
break;
case 'disabled':
walletProviderInstance = new DisabledWalletProvider();
break;
default:
throw new Error(`Unknown wallet mode: ${mode}`);
}
return walletProviderInstance;
}
/**
* Reset the wallet provider instance (useful for testing)
*/
export function resetWalletProvider() {
walletProviderInstance = null;
}
// Export types and classes
export * from './types.js';
export { PrivateKeyWalletProvider } from './providers/private-key.js';
export { DisabledWalletProvider } from './providers/disabled.js';