import {ConfigurationService} from "./ConfigurationService"; import {injectable} from "tsyringe"; import PrivateKeyProvider from "truffle-privatekey-provider"; import {ReflauntWallet} from "../../models/ReflauntWallet"; import Web3 from "web3"; import {ReflauntConfig} from "../../models/ReflauntConfig"; @injectable() export class ProviderService { config: ReflauntConfig; constructor(configurationService: ConfigurationService) { this.config = configurationService.config; } getPrivateKeyProvider(rfWallet: ReflauntWallet) { return new PrivateKeyProvider(rfWallet.privateKey, this.config.nodeUrl); } getPublicProvider() { return new Web3.providers.WebsocketProvider(this.config.wsUrl || this.config.nodeUrl); } }