bitcore-node
Version:
A blockchain indexing node with extended capabilities using bitcore
70 lines • 2.42 kB
JavaScript
;
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