@sphereon/ssi-sdk-web3.headless-provider
Version:
30 lines • 1.64 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createWeb3Provider = createWeb3Provider;
const ethers_headless_provider_1 = require("./ethers-headless-provider");
function relayEvents(eventEmitter, execute) {
const emit_ = eventEmitter.emit;
eventEmitter.emit = (eventName, ...args) => {
void execute('emit', eventName, ...args);
return emit_.apply(eventEmitter, [eventName, ...args]);
};
}
function createWeb3Provider(signers, chainId, rpcUrl, evaluate = () => __awaiter(this, void 0, void 0, function* () { }), config) {
const chainIds = Array.isArray(chainId) ? chainId : [chainId];
const chains = chainIds.map((chainId) => {
return { chainId, rpcUrl };
});
const web3Provider = new ethers_headless_provider_1.EthersHeadlessProvider(signers, chains, config);
relayEvents(web3Provider, evaluate);
return web3Provider;
}
//# sourceMappingURL=factory.js.map