diff --git a/package.json b/package.json index c48e584..48cbd24 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "dev": "nodemon ./dist/app.js", "test": "npm run lint && npm run test-v3", "lint": "standard --env mocha --fix", - "test-v3": "export NETWORK=mainnet && nyc --reporter=text mocha --timeout 25000 test/v3/", + "test-v3": "export NETWORK=mainnet && nyc --reporter=text mocha --timeout 60000 test/v3/", "test:temp": "export NETWORK=mainnet && mocha --timeout 25000 test/v3/blockchain.js", "test:integration": "mocha test/v3/integration", "coverage": "nyc report --reporter=text-lcov | coveralls", diff --git a/src/app.js b/src/app.js index 1db0147..15c3dcb 100644 --- a/src/app.js +++ b/src/app.js @@ -37,6 +37,7 @@ const SlpV3 = require('./routes/v3/slp') const xpubV3 = require('./routes/v3/xpub') const BlockbookV3 = require('./routes/v3/blockbook') const Ninsight = require('./routes/v3/ninsight') +const ElectrumXV3 = require('./routes/v3/electrumx') require('dotenv').config() @@ -47,6 +48,8 @@ const miningV3 = new MiningV3() const rawtransactionsV3 = new RawtransactionsV3() const slpV3 = new SlpV3() const blockbookV3 = new BlockbookV3() +const electrumxv3 = new ElectrumXV3() +electrumxv3.connect() const app = express() @@ -114,6 +117,7 @@ app.use(`/${v3prefix}/` + 'util', utilV3.router) app.use(`/${v3prefix}/` + 'slp', slpV3.router) app.use(`/${v3prefix}/` + 'xpub', xpubV3.router) app.use(`/${v3prefix}/` + 'blockbook', blockbookV3.router) +app.use(`/${v3prefix}/` + 'electrumx', electrumxv3.router) const ninsight = new Ninsight() app.use(`/${v3prefix}/` + 'ninsight', ninsight.router) diff --git a/src/routes/v3/electrumx.js b/src/routes/v3/electrumx.js index e8c725b..6e60920 100644 --- a/src/routes/v3/electrumx.js +++ b/src/routes/v3/electrumx.js @@ -124,6 +124,18 @@ class Electrum { return res.json({ status: 'electrumx' }) } + /** + * @api {get} /electrumx/utxos/{addr} Get utxos for a single address. + * @apiName UTXOs for a single address + * @apiGroup ElectrumX / Fulcrum + * @apiDescription Returns an object with UTXOs associated with an address. + * + * + * @apiExample Example usage: + * curl -X GET "https://api.fullstack.cash/v3/electrumx/utxos/bitcoincash:qr69kyzha07dcecrsvjwsj4s6slnlq4r8c30lxnur3" -H "accept: application/json" + * + */ + // GET handler for single balance async getUtxos (req, res, next) { try { const address = req.params.address diff --git a/test/v3/electrumx.js b/test/v3/electrumx.js index 9bb621e..15b19cd 100644 --- a/test/v3/electrumx.js +++ b/test/v3/electrumx.js @@ -243,7 +243,7 @@ describe('#ElectrumX Router', () => { // Call the details API. const result = await electrumxRoute.getUtxos(req, res) - // console.log(`result: ${JSON.stringify(result, null, 2)}`) + console.log(`result: ${JSON.stringify(result, null, 2)}`) assert.property(result, 'success') assert.equal(result.success, true)