import { TransferRequest } from "../transfer-request"; import { config } from "../config"; import axios from 'axios'; export class Tendermint { constructor() { } base64Encode(s: string) { var t = Buffer.from(s); var u = t.toString('base64'); return u } async broadcastValidatedRequest(completedRequest: TransferRequest) { let txBytes = this.base64Encode(JSON.stringify(completedRequest)); const requestWithAuthOptions = { method: 'POST', url: `http://${config.tenderMintHost}:${config.tendermintRPCPort}/`, headers: { 'Content-Type': 'application/json', }, data: { "jsonrpc": "2.0", "id": "anything", "method": "broadcast_tx_commit", "params": { "tx": txBytes } } }; try { await axios(requestWithAuthOptions); return true; } catch (error) { return false; }; } }