feat(hydrateUtxosWL): SLPDB with whitelist filter used to hydrate UTXOs

This commit is contained in:
Chris Troutner
2021-02-09 12:18:52 -08:00
parent 785d3059c3
commit 154dbe8151
6 changed files with 19943 additions and 91 deletions
+6 -4
View File
@@ -7,21 +7,22 @@
TODO:
-/rawtransactions/sendRawTransaction is more appropropriate for an e2e test,
so it is omitted here.
- Replace request-promise with axios.
*/
'use strict'
const chai = require('chai')
const assert = chai.assert
// const chai = require('chai')
// const assert = chai.assert
// const rawtransactions = require('../../../dist/routes/v2/rawtransactions')
const rp = require('request-promise')
// const rp = require('request-promise')
// Used for debugging.
const util = require('util')
util.inspect.defaultOptions = { depth: 1 }
// const mockData = require('../mocks/raw-transactions-mocks')
/*
describe('#Raw-Transactions', () => {
describe('#root', () => {
it('should return root', async () => {
@@ -189,3 +190,4 @@ describe('#Raw-Transactions', () => {
})
})
})
*/
+33
View File
@@ -214,6 +214,39 @@ describe('#slp', () => {
})
})
describe('#hydrateUtxosWL', () => {
it('should return utxo details', async () => {
const utxos = [
{
utxos: [
{
tx_hash:
'89b3f0c84efe8b01b24e2d7ac08636de5781f31dbb84478e3de868ca0a7ed93a',
tx_pos: 1,
value: 546
}
]
}
]
req.body.utxos = utxos
const result = await slp.hydrateUtxosWL(req, res)
// console.log(`result: ${JSON.stringify(result, null, 2)}`)
// Test the general structure of the output.
assert.isArray(result.slpUtxos)
assert.equal(result.slpUtxos.length, 1)
assert.equal(result.slpUtxos[0].utxos.length, 1)
// Test the non-slp UTXO.
assert.property(result.slpUtxos[0].utxos[0], 'tx_hash')
assert.property(result.slpUtxos[0].utxos[0], 'tx_pos')
assert.property(result.slpUtxos[0].utxos[0], 'value')
assert.property(result.slpUtxos[0].utxos[0], 'isValid')
assert.equal(result.slpUtxos[0].utxos[0].isValid, true)
})
})
describe('#validate2Single', () => {
it('should invalidate a known invalid TXID', async () => {
const txid =