From 555de52844a670044c5247115e5dfadf768be906 Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Sun, 8 Nov 2020 12:26:52 -0800 Subject: [PATCH 1/2] fix(encryption): Refactored encryption lib to use Fulcrum instead of Blockbook --- package.json | 2 +- src/routes/v3/encryption.js | 35 ++-- test/v3/encryption.js | 18 +- test/v3/mocks/encryption-mocks.js | 275 +++++++++++++++--------------- 4 files changed, 164 insertions(+), 166 deletions(-) diff --git a/package.json b/package.json index 965bdba..5fae3e2 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "test": "npm run lint && npm run test-v3", "lint": "standard --env mocha --fix", "test-v3": "export NETWORK=mainnet && nyc --reporter=text mocha --timeout 60000 test/v3/", - "test:temp": "export NETWORK=mainnet && mocha --timeout 25000 test/v3/slp.js", + "test:temp": "export NETWORK=mainnet && export TEST=integration && mocha --timeout 25000 test/v3/encryption.js", "test:integration": "mocha test/v3/integration", "test:integration:slpdb": "mocha --timeout 25000 -g '#validate2Single' test/v3/integration/slp*.js", "coverage": "nyc report --reporter=text-lcov | coveralls", diff --git a/src/routes/v3/encryption.js b/src/routes/v3/encryption.js index 859484a..cb65bcf 100644 --- a/src/routes/v3/encryption.js +++ b/src/routes/v3/encryption.js @@ -16,15 +16,10 @@ const RouteUtils = require('../../util/route-utils') const routeUtils = new RouteUtils() const BCHJS = require('@psf/bch-js') -const bchjs = new BCHJS() - -// Use Blockbook for getting indexer data. -const Blockbook = require('./blockbook') -const blockbook = new Blockbook() - -// Use RawTransactions library for getting raw blockchain data. -const RawTransactions = require('./full-node/rawtransactions') -const rawTransactions = new RawTransactions() +const restURL = process.env.LOCAL_RESTURL + ? process.env.LOCAL_RESTURL + : 'https://api.fullstack.cash/v3/' +const bchjs = new BCHJS({ restURL }) let _this @@ -36,8 +31,8 @@ class Encryption { _this.axios = axios _this.routeUtils = routeUtils _this.bchjs = bchjs - _this.blockbook = blockbook - _this.rawTransactions = rawTransactions + // _this.blockbook = blockbook + // _this.rawTransactions = rawTransactions _this.router = router _this.router.get('/', _this.root) @@ -115,23 +110,23 @@ class Encryption { cashAddr ) - // Retrieve the transaction history for this address. - const balance = await _this.blockbook.balanceFromBlockbook(cashAddr) - // console.log(`balance: ${JSON.stringify(balance, null, 2)}`) + const rawTxData = await _this.bchjs.Electrumx.transactions(cashAddr) + // console.log(`rawTxData: ${JSON.stringify(rawTxData, null, 2)}`) - const txHistory = balance.txids - // console.log(`txHistory: ${JSON.stringify(txHistory, null, 2)}`) + // Extract just the TXIDs + const txids = rawTxData.transactions.map((elem) => elem.tx_hash) + // console.log(`txids: ${JSON.stringify(txids, null, 2)}`) // throw error if there is no transaction history. - if (!txHistory || txHistory.length === 0) { + if (!txids || txids.length === 0) { throw new Error('No transaction history.') } // Loop through the transaction history and search for the public key. - for (let i = 0; i < txHistory.length; i++) { - const thisTx = txHistory[i] + for (let i = 0; i < txids.length; i++) { + const thisTx = txids[i] - const txDetails = await _this.rawTransactions.getRawTransactionsFromNode( + const txDetails = await _this.bchjs.RawTransactions.getRawTransaction( thisTx, true ) diff --git a/test/v3/encryption.js b/test/v3/encryption.js index 578ceaa..66b8270 100644 --- a/test/v3/encryption.js +++ b/test/v3/encryption.js @@ -78,11 +78,11 @@ describe('#Encryption Router', () => { // Mock the Insight URL for unit tests. if (process.env.TEST === 'unit') { sandbox - .stub(encryptionRoute.blockbook, 'balanceFromBlockbook') - .resolves(mockData.mockBalance) + .stub(encryptionRoute.bchjs.Electrumx, 'transactions') + .resolves(mockData.mockFulcrumTxHistory) sandbox - .stub(encryptionRoute.rawTransactions, 'getRawTransactionsFromNode') - .resolves(mockData.mockTxDetails) + .stub(encryptionRoute.bchjs.RawTransactions, 'getRawTransaction') + .resolves(mockData.mockTxDetails2) } const result = await encryptionRoute.getPublicKey(req, res) @@ -105,8 +105,8 @@ describe('#Encryption Router', () => { // Mock the Insight URL for unit tests. if (process.env.TEST === 'unit') { sandbox - .stub(encryptionRoute.blockbook, 'balanceFromBlockbook') - .resolves(mockData.mockNoTxHistory) + .stub(encryptionRoute.bchjs.Electrumx, 'transactions') + .resolves(mockData.mockFulcrumNoTxHistory) } const result = await encryptionRoute.getPublicKey(req, res) @@ -126,10 +126,10 @@ describe('#Encryption Router', () => { // Mock the Insight URL for unit tests. if (process.env.TEST === 'unit') { sandbox - .stub(encryptionRoute.blockbook, 'balanceFromBlockbook') - .resolves(mockData.mockNoSendBalance) + .stub(encryptionRoute.bchjs.Electrumx, 'transactions') + .resolves(mockData.mockFulcrumNoSendBalance) sandbox - .stub(encryptionRoute.rawTransactions, 'getRawTransactionsFromNode') + .stub(encryptionRoute.bchjs.RawTransactions, 'getRawTransaction') .resolves(mockData.mockNoSendTx) } diff --git a/test/v3/mocks/encryption-mocks.js b/test/v3/mocks/encryption-mocks.js index 79100a0..197bb3c 100644 --- a/test/v3/mocks/encryption-mocks.js +++ b/test/v3/mocks/encryption-mocks.js @@ -2,126 +2,6 @@ Mock data for the encryption test library */ -const mockBalance = { - page: 1, - totalPages: 1, - itemsOnPage: 1000, - address: 'bitcoincash:qrehqueqhw629p6e57994436w730t4rzasnly00ht0', - balance: '582434', - totalReceived: '213083250', - totalSent: '212500816', - unconfirmedBalance: '0', - unconfirmedTxs: 0, - txs: 12, - txids: [ - 'c42f8f16d3baa2ee343ea89ef110dfe094992379d08edd30887b8ca7ee671c9a', - '1afcc63b244182647909539ebe3f4a44b8ea4120a95edb8d9eebe5347b9491bb', - 'e4a0ac48ff3f42fc342717a2a3d34248e5e85bae79d59bd20e1b60e61b1c500f', - '0f9b49cafeb9ae1d741cdb12137c92816aa8470944c270a78ba2e610bd59190d', - 'ceb0cab0e37b59caf3ca29e1a698d19ff47f2827dd09cb2f3b91b9100b1dad1c', - '8bc2134c7e48e56e1769b3d7c4c1e3a0acc68e1e58160eee6fa67f3208c07262', - 'b3792d28377b975560e1b6f09e48aeff8438d4c6969ca578bd406393bd50bd7d', - 'ecc1b51bac767880382bf3190ff17abf78d0936843a022a943d871116ed50368', - '9ea667bcfc9cd337bd6c5583d8094c1b1942bd2015d95b54189deac5070eeff0', - '6960255abe64893073921e96bf3c053c82686e0fc22a565494fbe2a31e766975', - '7e9aa7a74de2b30200a2d6fc748ff35a0c753221444194f720bb7f61ef1d9153', - 'eff00a9538487ff44243c75fb13de19b5783454c42c81b9aff9afbfd09cbaec3' - ] -} - -const mockTxDetails = { - txid: '1afcc63b244182647909539ebe3f4a44b8ea4120a95edb8d9eebe5347b9491bb', - hash: '1afcc63b244182647909539ebe3f4a44b8ea4120a95edb8d9eebe5347b9491bb', - version: 1, - size: 437, - locktime: 0, - vin: [ - { - txid: 'c42f8f16d3baa2ee343ea89ef110dfe094992379d08edd30887b8ca7ee671c9a', - vout: 0, - scriptSig: { - asm: - '30450221008052d3b067418d53585fb8f91e1b57cf3c040dc9c07a70f393ed663b3f7502c50220749aa8e09ac922e78cb474c8097873cfb2634108d7acaa7db32a73a35743da97[ALL|FORKID] 044eb40b025df18409f2a5197b010dd62a9e65d9a74e415e5b10367721a9c4baa7ebfee22d14b8ece1c9bd70c0d9e5e8b00b61b81b88a1b5ce6f24eac6b8a34b2c', - hex: - '4830450221008052d3b067418d53585fb8f91e1b57cf3c040dc9c07a70f393ed663b3f7502c50220749aa8e09ac922e78cb474c8097873cfb2634108d7acaa7db32a73a35743da974141044eb40b025df18409f2a5197b010dd62a9e65d9a74e415e5b10367721a9c4baa7ebfee22d14b8ece1c9bd70c0d9e5e8b00b61b81b88a1b5ce6f24eac6b8a34b2c' - }, - sequence: 4294967295 - }, - { - txid: 'e4a0ac48ff3f42fc342717a2a3d34248e5e85bae79d59bd20e1b60e61b1c500f', - vout: 1, - scriptSig: { - asm: - '3044022050d7fe7cdcec81eefa0987b88ddb83274d8e9063d927090dc4c2d1db76c512d302207dc1eea439a627476265ed87f59cc9823fb572ffc2640f0218d7bddc9a621c6e[ALL|FORKID] 044eb40b025df18409f2a5197b010dd62a9e65d9a74e415e5b10367721a9c4baa7ebfee22d14b8ece1c9bd70c0d9e5e8b00b61b81b88a1b5ce6f24eac6b8a34b2c', - hex: - '473044022050d7fe7cdcec81eefa0987b88ddb83274d8e9063d927090dc4c2d1db76c512d302207dc1eea439a627476265ed87f59cc9823fb572ffc2640f0218d7bddc9a621c6e4141044eb40b025df18409f2a5197b010dd62a9e65d9a74e415e5b10367721a9c4baa7ebfee22d14b8ece1c9bd70c0d9e5e8b00b61b81b88a1b5ce6f24eac6b8a34b2c' - }, - sequence: 4294967295 - } - ], - vout: [ - { - value: 0.47, - n: 0, - scriptPubKey: { - asm: - 'OP_DUP OP_HASH160 7ab928d0b41194411a2e87a782b688c7cc69ba46 OP_EQUALVERIFY OP_CHECKSIG', - hex: '76a9147ab928d0b41194411a2e87a782b688c7cc69ba4688ac', - reqSigs: 1, - type: 'pubkeyhash', - addresses: ['bitcoincash:qpatj2xsksgegsg696r60q4k3rruc6d6gc3srp333v'] - } - }, - { - value: 0.00531373, - n: 1, - scriptPubKey: { - asm: - 'OP_DUP OP_HASH160 f3707320bbb4a28759a78a5ad63a77a2f5d462ec OP_EQUALVERIFY OP_CHECKSIG', - hex: '76a914f3707320bbb4a28759a78a5ad63a77a2f5d462ec88ac', - reqSigs: 1, - type: 'pubkeyhash', - addresses: ['bitcoincash:qrehqueqhw629p6e57994436w730t4rzasnly00ht0'] - } - } - ], - hex: - '01000000029a1c67eea78c7b8830dd8ed079239994e0df10f19ea83e34eea2bad3168f2fc4000000008b4830450221008052d3b067418d53585fb8f91e1b57cf3c040dc9c07a70f393ed663b3f7502c50220749aa8e09ac922e78cb474c8097873cfb2634108d7acaa7db32a73a35743da974141044eb40b025df18409f2a5197b010dd62a9e65d9a74e415e5b10367721a9c4baa7ebfee22d14b8ece1c9bd70c0d9e5e8b00b61b81b88a1b5ce6f24eac6b8a34b2cffffffff0f501c1be6601b0ed29bd579ae5be8e54842d3a3a2172734fc423fff48aca0e4010000008a473044022050d7fe7cdcec81eefa0987b88ddb83274d8e9063d927090dc4c2d1db76c512d302207dc1eea439a627476265ed87f59cc9823fb572ffc2640f0218d7bddc9a621c6e4141044eb40b025df18409f2a5197b010dd62a9e65d9a74e415e5b10367721a9c4baa7ebfee22d14b8ece1c9bd70c0d9e5e8b00b61b81b88a1b5ce6f24eac6b8a34b2cffffffff02c029cd02000000001976a9147ab928d0b41194411a2e87a782b688c7cc69ba4688acad1b0800000000001976a914f3707320bbb4a28759a78a5ad63a77a2f5d462ec88ac00000000', - blockhash: '0000000000000000045e5e52fb4f9746b3d15d3062855fd346aaef3debef4360', - confirmations: 71465, - time: 1545564654, - blocktime: 1545564654 -} - -const mockNoTxHistory = { - page: 1, - totalPages: 1, - itemsOnPage: 1000, - address: 'bitcoincash:qqwfpk04ecf69wuprj9yjys9rla5mk7rj5j8uthqel', - balance: '0', - totalReceived: '0', - totalSent: '0', - unconfirmedBalance: '0', - unconfirmedTxs: 0, - txs: 0 -} - -const mockNoSendBalance = { - page: 1, - totalPages: 1, - itemsOnPage: 1000, - address: 'bitcoincash:qq78nwj5x97yh6wtlfd27dtlwjuh70vkjc59h8tgtg', - balance: '0', - totalReceived: '0', - totalSent: '0', - unconfirmedBalance: '600', - unconfirmedTxs: 1, - txs: 0, - txids: [ - 'a3b62cd4f4c56ba52139179db14bffd4ab22a2e077f3c62bd5cf0541bfcaf023' - ] -} - const mockNoSendTx = { txid: 'a3b62cd4f4c56ba52139179db14bffd4ab22a2e077f3c62bd5cf0541bfcaf023', hash: 'a3b62cd4f4c56ba52139179db14bffd4ab22a2e077f3c62bd5cf0541bfcaf023', @@ -133,8 +13,10 @@ const mockNoSendTx = { txid: '681cc1d392975a7e78cbd490b8a940d7eb029c554f2cee332e3a7119d77fb189', vout: 1, scriptSig: { - asm: '30450221008a7c86ce3a9f5765573440143a00631bb5afa9a58b24674a7fa794bb11ffffc30220397dd4c672c3e0dbe0c4eb6390b5727c5fdc3a42cf3ae275ac13b44d27bb234f[ALL|FORKID] 02bc9fc26ae2bd9a9a14e9baeda4b4fdd95a00bcbf375732c647488b3ce82a2fd7', - hex: '4830450221008a7c86ce3a9f5765573440143a00631bb5afa9a58b24674a7fa794bb11ffffc30220397dd4c672c3e0dbe0c4eb6390b5727c5fdc3a42cf3ae275ac13b44d27bb234f412102bc9fc26ae2bd9a9a14e9baeda4b4fdd95a00bcbf375732c647488b3ce82a2fd7' + asm: + '30450221008a7c86ce3a9f5765573440143a00631bb5afa9a58b24674a7fa794bb11ffffc30220397dd4c672c3e0dbe0c4eb6390b5727c5fdc3a42cf3ae275ac13b44d27bb234f[ALL|FORKID] 02bc9fc26ae2bd9a9a14e9baeda4b4fdd95a00bcbf375732c647488b3ce82a2fd7', + hex: + '4830450221008a7c86ce3a9f5765573440143a00631bb5afa9a58b24674a7fa794bb11ffffc30220397dd4c672c3e0dbe0c4eb6390b5727c5fdc3a42cf3ae275ac13b44d27bb234f412102bc9fc26ae2bd9a9a14e9baeda4b4fdd95a00bcbf375732c647488b3ce82a2fd7' }, sequence: 4294967295 } @@ -144,36 +26,157 @@ const mockNoSendTx = { value: 0.000006, n: 0, scriptPubKey: { - asm: 'OP_DUP OP_HASH160 3c79ba54317c4be9cbfa5aaf357f74b97f3d9696 OP_EQUALVERIFY OP_CHECKSIG', + asm: + 'OP_DUP OP_HASH160 3c79ba54317c4be9cbfa5aaf357f74b97f3d9696 OP_EQUALVERIFY OP_CHECKSIG', hex: '76a9143c79ba54317c4be9cbfa5aaf357f74b97f3d969688ac', reqSigs: 1, type: 'pubkeyhash', - addresses: [ - 'bitcoincash:qq78nwj5x97yh6wtlfd27dtlwjuh70vkjc59h8tgtg' - ] + addresses: ['bitcoincash:qq78nwj5x97yh6wtlfd27dtlwjuh70vkjc59h8tgtg'] } }, { value: 0.00003664, n: 1, scriptPubKey: { - asm: 'OP_DUP OP_HASH160 58502a73888e0a386fc69b44850af4b2a86ac9a6 OP_EQUALVERIFY OP_CHECKSIG', + asm: + 'OP_DUP OP_HASH160 58502a73888e0a386fc69b44850af4b2a86ac9a6 OP_EQUALVERIFY OP_CHECKSIG', hex: '76a91458502a73888e0a386fc69b44850af4b2a86ac9a688ac', reqSigs: 1, type: 'pubkeyhash', - addresses: [ - 'bitcoincash:qpv9q2nn3z8q5wr0c6d5fpg27je2s6kf5cavp4ney0' - ] + addresses: ['bitcoincash:qpv9q2nn3z8q5wr0c6d5fpg27je2s6kf5cavp4ney0'] } } ], - hex: '020000000189b17fd719713a2e33ee2c4f559c02ebd740a9b890d4cb787e5a9792d3c11c68010000006b4830450221008a7c86ce3a9f5765573440143a00631bb5afa9a58b24674a7fa794bb11ffffc30220397dd4c672c3e0dbe0c4eb6390b5727c5fdc3a42cf3ae275ac13b44d27bb234f412102bc9fc26ae2bd9a9a14e9baeda4b4fdd95a00bcbf375732c647488b3ce82a2fd7ffffffff0258020000000000001976a9143c79ba54317c4be9cbfa5aaf357f74b97f3d969688ac500e0000000000001976a91458502a73888e0a386fc69b44850af4b2a86ac9a688ac00000000' + hex: + '020000000189b17fd719713a2e33ee2c4f559c02ebd740a9b890d4cb787e5a9792d3c11c68010000006b4830450221008a7c86ce3a9f5765573440143a00631bb5afa9a58b24674a7fa794bb11ffffc30220397dd4c672c3e0dbe0c4eb6390b5727c5fdc3a42cf3ae275ac13b44d27bb234f412102bc9fc26ae2bd9a9a14e9baeda4b4fdd95a00bcbf375732c647488b3ce82a2fd7ffffffff0258020000000000001976a9143c79ba54317c4be9cbfa5aaf357f74b97f3d969688ac500e0000000000001976a91458502a73888e0a386fc69b44850af4b2a86ac9a688ac00000000' +} + +const mockFulcrumTxHistory = { + success: true, + transactions: [ + { + height: 511463, + tx_hash: + 'eff00a9538487ff44243c75fb13de19b5783454c42c81b9aff9afbfd09cbaec3' + }, + { + height: 511464, + tx_hash: + '7e9aa7a74de2b30200a2d6fc748ff35a0c753221444194f720bb7f61ef1d9153' + }, + { + height: 513373, + tx_hash: + '6960255abe64893073921e96bf3c053c82686e0fc22a565494fbe2a31e766975' + }, + { + height: 513373, + tx_hash: + '9ea667bcfc9cd337bd6c5583d8094c1b1942bd2015d95b54189deac5070eeff0' + }, + { + height: 560481, + tx_hash: + 'ecc1b51bac767880382bf3190ff17abf78d0936843a022a943d871116ed50368' + }, + { + height: 560615, + tx_hash: + 'b3792d28377b975560e1b6f09e48aeff8438d4c6969ca578bd406393bd50bd7d' + }, + { + height: 561568, + tx_hash: + '8bc2134c7e48e56e1769b3d7c4c1e3a0acc68e1e58160eee6fa67f3208c07262' + }, + { + height: 561569, + tx_hash: + 'ceb0cab0e37b59caf3ca29e1a698d19ff47f2827dd09cb2f3b91b9100b1dad1c' + }, + { + height: 561572, + tx_hash: + '0f9b49cafeb9ae1d741cdb12137c92816aa8470944c270a78ba2e610bd59190d' + }, + { + height: 561582, + tx_hash: + 'e4a0ac48ff3f42fc342717a2a3d34248e5e85bae79d59bd20e1b60e61b1c500f' + }, + { + height: 562106, + tx_hash: + '1afcc63b244182647909539ebe3f4a44b8ea4120a95edb8d9eebe5347b9491bb' + }, + { + height: 562106, + tx_hash: + 'c42f8f16d3baa2ee343ea89ef110dfe094992379d08edd30887b8ca7ee671c9a' + } + ] +} + +const mockTxDetails2 = { + txid: '7e9aa7a74de2b30200a2d6fc748ff35a0c753221444194f720bb7f61ef1d9153', + hash: '7e9aa7a74de2b30200a2d6fc748ff35a0c753221444194f720bb7f61ef1d9153', + version: 1, + size: 221, + locktime: 0, + vin: [ + { + txid: 'eff00a9538487ff44243c75fb13de19b5783454c42c81b9aff9afbfd09cbaec3', + vout: 0, + scriptSig: { + asm: + '30440220150e7c9b646fe1f7f576456c9808c89a710e8fbb753e9f5ca6ed2d39a0b69ba602202212968163d8dfe35eec5975fce38440082029cb2691a3e0ad1714f9c412c47a[ALL|FORKID] 044eb40b025df18409f2a5197b010dd62a9e65d9a74e415e5b10367721a9c4baa7ebfee22d14b8ece1c9bd70c0d9e5e8b00b61b81b88a1b5ce6f24eac6b8a34b2c', + hex: + '4730440220150e7c9b646fe1f7f576456c9808c89a710e8fbb753e9f5ca6ed2d39a0b69ba602202212968163d8dfe35eec5975fce38440082029cb2691a3e0ad1714f9c412c47a4141044eb40b025df18409f2a5197b010dd62a9e65d9a74e415e5b10367721a9c4baa7ebfee22d14b8ece1c9bd70c0d9e5e8b00b61b81b88a1b5ce6f24eac6b8a34b2c' + }, + sequence: 4294967295 + } + ], + vout: [ + { + value: 0.01266023, + n: 0, + scriptPubKey: { + asm: 'OP_HASH160 91bacd6785e3f8c78d5f29b4020b94c753444130 OP_EQUAL', + hex: 'a91491bacd6785e3f8c78d5f29b4020b94c75344413087', + reqSigs: 1, + type: 'scripthash', + addresses: ['bitcoincash:pzgm4nt8sh3l33udtu5mgqstjnr4x3zpxqrrrndnw5'] + } + } + ], + hex: + '0100000001c3aecb09fdfb9aff9a1bc8424c4583579be13db15fc74342f47f4838950af0ef000000008a4730440220150e7c9b646fe1f7f576456c9808c89a710e8fbb753e9f5ca6ed2d39a0b69ba602202212968163d8dfe35eec5975fce38440082029cb2691a3e0ad1714f9c412c47a4141044eb40b025df18409f2a5197b010dd62a9e65d9a74e415e5b10367721a9c4baa7ebfee22d14b8ece1c9bd70c0d9e5e8b00b61b81b88a1b5ce6f24eac6b8a34b2cffffffff01675113000000000017a91491bacd6785e3f8c78d5f29b4020b94c7534441308700000000', + blockhash: '000000000000000001aab6818b4ad0379a3f7a13940d9b3d4838b3dea1d0a083', + confirmations: 149222, + time: 1515088493, + blocktime: 1515088493 +} + +const mockFulcrumNoTxHistory = { + success: true, + transactions: [] +} + +const mockFulcrumNoSendBalance = { + success: true, + transactions: [ + { + height: 633578, + tx_hash: + 'a3b62cd4f4c56ba52139179db14bffd4ab22a2e077f3c62bd5cf0541bfcaf023' + } + ] } module.exports = { - mockBalance, - mockTxDetails, - mockNoTxHistory, - mockNoSendBalance, - mockNoSendTx + mockNoSendTx, + mockFulcrumTxHistory, + mockTxDetails2, + mockFulcrumNoTxHistory, + mockFulcrumNoSendBalance } From a5cee9636ef59766d8191d39193a934907a834e8 Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Sun, 8 Nov 2020 12:35:18 -0800 Subject: [PATCH 2/2] Updating tests for bchn --- test/v3/raw-transactions.js | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/test/v3/raw-transactions.js b/test/v3/raw-transactions.js index 56b55ee..6b4f772 100644 --- a/test/v3/raw-transactions.js +++ b/test/v3/raw-transactions.js @@ -1004,8 +1004,13 @@ describe('#Raw-Transactions', () => { // Integration test } else { - assert.hasAllKeys(result, ['error']) - assert.include(result.error, 'bad-txns-inputs-missingorspent') + if (process.env.ISBCHN) { + assert.hasAllKeys(result, ['error']) + assert.include(result.error, 'Missing inputs') + } else { + assert.hasAllKeys(result, ['error']) + assert.include(result.error, 'bad-txns-inputs-missingorspent') + } } }) }) @@ -1159,8 +1164,13 @@ describe('#Raw-Transactions', () => { // Integration test } else { - assert.hasAllKeys(result, ['error']) - assert.include(result.error, 'bad-txns-inputs-missingorspent') + if (process.env.ISBCHN) { + assert.hasAllKeys(result, ['error']) + assert.include(result.error, 'Missing inputs') + } else { + assert.hasAllKeys(result, ['error']) + assert.include(result.error, 'bad-txns-inputs-missingorspent') + } } }) })