UNPKG

@pushchain/ui-kit

Version:
39 lines 1.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.walletRegistry = void 0; const metamask_1 = require("./ethereum/metamask"); const phantom_1 = require("./solana/phantom"); const walletConnect_1 = require("./ethereum/walletConnect"); class WalletProviderRegistry { constructor() { this.providers = new Map(); this.chainProviders = new Map(); this.registerProvider(new metamask_1.MetamaskProvider()); this.registerProvider(new phantom_1.PhantomProvider()); this.registerProvider(new walletConnect_1.WalletConnectProvider()); } registerProvider(provider) { this.providers.set(provider.name, provider); provider.supportedChains.forEach((chain) => { var _a; if (!this.chainProviders.has(chain)) { this.chainProviders.set(chain, []); } (_a = this.chainProviders.get(chain)) === null || _a === void 0 ? void 0 : _a.push(provider); }); } getProvider(name) { return this.providers.get(name); } getProvidersByChain(chain) { return this.chainProviders.get(chain) || []; } getAllProviders() { return Array.from(this.providers.values()); } getAllSupportedChains() { return Array.from(this.chainProviders.keys()); } } exports.walletRegistry = new WalletProviderRegistry(); //# sourceMappingURL=WalletProviderRegistry.js.map