fsl-js-sdk
Version:
sdk for web
27 lines (26 loc) • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getSolanaConnection = exports.getEvmProvider = void 0;
var web3_js_1 = require("@solana/web3.js");
var ethers_1 = require("ethers");
var evmProviderCache = new Map();
var solanaConnectionCache = new Map();
function getEvmProvider(rpc) {
var provider = evmProviderCache.get(rpc);
if (!provider) {
provider = new ethers_1.ethers.providers.JsonRpcProvider(rpc);
evmProviderCache.set(rpc, provider);
}
return provider;
}
exports.getEvmProvider = getEvmProvider;
function getSolanaConnection(rpc, commitmentOrConfig) {
var cacheKey = "".concat(rpc, ":").concat(JSON.stringify(commitmentOrConfig !== null && commitmentOrConfig !== void 0 ? commitmentOrConfig : null));
var connection = solanaConnectionCache.get(cacheKey);
if (!connection) {
connection = new web3_js_1.Connection(rpc, commitmentOrConfig);
solanaConnectionCache.set(cacheKey, connection);
}
return connection;
}
exports.getSolanaConnection = getSolanaConnection;