UNPKG

bch-slpjs

Version:

Simple Ledger Protocol (SLP) JavaScript Library

59 lines 2.41 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { 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) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const axios_1 = require("axios"); const slp_1 = require("./slp"); class JsonRpcProxyValidator { constructor(BITBOX, validatorUrl) { this.validatorUrl = validatorUrl; this.slp = new slp_1.Slp(BITBOX); } isValidSlpTxid(txid) { return __awaiter(this, void 0, void 0, function* () { let data = { jsonrpc: "2.0", id: "slpvalidate", method: "slpvalidate", params: [txid, false, false] }; const result = yield axios_1.default({ method: "post", url: this.validatorUrl, data: data }); if (result && result.data && result.data.result === "Valid") { return true; } else { return false; } }); } getRawTransactions(txid) { return __awaiter(this, void 0, void 0, function* () { throw new Error("Not implemented."); }); } ; validateSlpTransactions(txids) { return __awaiter(this, void 0, void 0, function* () { // Validate each txid const validatePromises = txids.map((txid) => __awaiter(this, void 0, void 0, function* () { const isValid = yield this.isValidSlpTxid(txid); return isValid ? txid : ''; })); // Filter array to only valid txid results const validateResults = yield axios_1.default.all(validatePromises); return validateResults.filter((result) => result.length > 0); }); } } exports.JsonRpcProxyValidator = JsonRpcProxyValidator; //# sourceMappingURL=jsonrpcvalidator.js.map