UNPKG

crypto-client

Version:

An unified client for all cryptocurrency exchanges.

38 lines (37 loc) 1.65 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); /* eslint-disable max-classes-per-file */ // TODO: use bp node directly const assert_1 = require("assert"); const axios_1 = __importDefault(require("axios")); class Bloks { static async getTransaction(transactionId) { const url = `https://www.api.bloks.io/dfuse?type=fetch_transaction&id=${transactionId}`; const response = await axios_1.default.get(url); assert_1.strict.equal(response.status, 200); assert_1.strict.equal(response.statusText, 'OK'); return response.data; } static extractOrderResponse(transaction) { assert_1.strict.equal(transaction.transaction_status, 'executed'); assert_1.strict.ok(transaction.id); assert_1.strict.ok(transaction.execution_trace); assert_1.strict.ok(transaction.execution_trace); assert_1.strict.equal(transaction.execution_trace.action_traces.length, 1); assert_1.strict.equal(transaction.execution_trace.action_traces[0].inline_traces.length, 3); return transaction.execution_trace.action_traces[0].inline_traces[2].act .data; } static async getOrderId(transactionId) { const transaction = await Bloks.getTransaction(transactionId); const orderResponse = Bloks.extractOrderResponse(transaction); return { order_id: orderResponse.order_id, pair_id: orderResponse.pair_id, }; } } exports.default = Bloks;