UNPKG

bitcore-node

Version:

A blockchain indexing node with extended capabilities using bitcore

70 lines 2.42 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const express_1 = __importDefault(require("express")); const logger_1 = __importDefault(require("../../logger")); const chain_state_1 = require("../../providers/chain-state"); const router = express_1.default.Router({ mergeParams: true }); async function streamCoins(req, res) { try { let { chain, network, address } = req.params; let { unspent, limit = 10, since } = req.query; let payload = { chain, network, address, req, res, args: { ...req.query, unspent, limit, since } }; await chain_state_1.ChainStateProvider.streamAddressTransactions(payload); } catch (err) { logger_1.default.error('Error streaming coins: %o', err.stack || err.message || err); return res.status(500).send(err.message || err); } } router.get('/:address', function (req, res) { try { let { chain, network, address } = req.params; let { unspent, limit = 10, since } = req.query; let payload = { chain, network, address, req, res, args: { unspent, limit, since } }; return chain_state_1.ChainStateProvider.streamAddressUtxos(payload); } catch (err) { logger_1.default.error('Error getting address: %o', err.stack || err.message || err); return res.status(500).send(err.message || err); } }); router.get('/:address/txs', streamCoins); router.get('/:address/coins', streamCoins); router.get('/:address/balance', async function (req, res) { let { address, chain, network } = req.params; try { let result = await chain_state_1.ChainStateProvider.getBalanceForAddress({ chain, network, address, args: req.query }); return res.send(result || { confirmed: 0, unconfirmed: 0, balance: 0 }); } catch (err) { logger_1.default.error('Error getting address balance: %o', err.stack || err.message || err); return res.status(500).send(err.message || err); } }); module.exports = { router, path: '/address' }; //# sourceMappingURL=address.js.map