From 2dad11180b64d7dafac6b4e07cc24d3ec8515922 Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Mon, 17 Nov 2025 10:28:27 -0800 Subject: [PATCH] feat(util): Removing util.validateAddress functions --- src/util.js | 82 +-------------------------- test/integration/chains/bchn/util.js | 84 ++-------------------------- 2 files changed, 5 insertions(+), 161 deletions(-) diff --git a/src/util.js b/src/util.js index d1cc4c1..4c9f074 100644 --- a/src/util.js +++ b/src/util.js @@ -1,4 +1,4 @@ -import axios from 'axios' +// import axios from 'axios' // let _this @@ -223,86 +223,6 @@ class Util { sleep (ms) { return new Promise(resolve => setTimeout(resolve, ms)) } - - /** - * @api Util.validateAddress() validateAddress() - * @apiName Validate Address. - * @apiGroup Util - * @apiDescription Return information about the given bitcoin address. - * - * @apiExample Example usage: - * (async () => { - * try { - * let validateAddress = await bchjs.Util.validateAddress("bitcoincash:qzc86hrdufhcwlyzk7k82x77kfs2myekn57nv9cw5f"); - * console.log(validateAddress); - * } catch(error) { - * console.error(error) - * } - * })() - * - * // { isvalid: true, - * // address: '17fshh33qUze2yifiJ2sXgijSMzJ2KNEwu', - * // scriptPubKey: '76a914492ae280d70af33acf0ae7cd329b961e65e9cbd888ac', - * // ismine: true, - * // iswatchonly: false, - * // isscript: false, - * // pubkey: '0312eeb9ae5f14c3cf43cece11134af860c2ef7d775060e3a578ceec888acada31', - * // iscompressed: true, - * // account: 'Test' } - * - * (async () => { - * try { - * let validateAddress = await bchjs.Util.validateAddress(["bitcoincash:qzc86hrdufhcwlyzk7k82x77kfs2myekn57nv9cw5f"]); - * console.log(validateAddress); - * } catch(error) { - * console.error(error) - * } - * })() - * - * // [{ isvalid: true, - * // address: '17fshh33qUze2yifiJ2sXgijSMzJ2KNEwu', - * // scriptPubKey: '76a914492ae280d70af33acf0ae7cd329b961e65e9cbd888ac', - * // ismine: true, - * // iswatchonly: false, - * // isscript: false, - * // pubkey: '0312eeb9ae5f14c3cf43cece11134af860c2ef7d775060e3a578ceec888acada31', - * // iscompressed: true, - * // account: 'Test' }] - */ - async validateAddress (address) { - try { - // Single block - if (typeof address === 'string') { - const response = await axios.get( - `${this.restURL}util/validateAddress/${address}`, - this.axiosOptions - ) - return response.data - - // Array of blocks. - } else if (Array.isArray(address)) { - const options1 = { - method: 'POST', - url: `${this.restURL}util/validateAddress`, - data: { - addresses: address - } - // headers: { - // authorization: `Token ${this.apiToken}` - // } - } - const options = Object.assign({}, options1, this.axiosOptions) - const response = await axios(options) - - return response.data - } - - throw new Error('Input must be a string or array of strings.') - } catch (error) { - if (error.response && error.response.data) throw error.response.data - else throw error - } - } } export default Util diff --git a/test/integration/chains/bchn/util.js b/test/integration/chains/bchn/util.js index d2ff188..36703ea 100644 --- a/test/integration/chains/bchn/util.js +++ b/test/integration/chains/bchn/util.js @@ -3,13 +3,13 @@ rest.bitcoin.com. */ -import chai from 'chai' -import BCHJS from '../../../../src/bch-js.js' +// import chai from 'chai' +// import BCHJS from '../../../../src/bch-js.js' // Inspect utility used for debugging. import util from 'util' -const assert = chai.assert -const bchjs = new BCHJS() +// const assert = chai.assert +// const bchjs = new BCHJS() util.inspect.defaultOptions = { showHidden: true, colors: true, @@ -20,82 +20,6 @@ describe('#util', () => { beforeEach(async () => { if (process.env.IS_USING_FREE_TIER) await sleep(1500) }) - - describe('#validateAddress', () => { - it('should return false for testnet addr on mainnet', async () => { - const address = 'bchtest:qqqk4y6lsl5da64sg5qc3xezmplyu5kmpyz2ysaa5y' - - const result = await bchjs.Util.validateAddress(address) - // console.log(`result: ${JSON.stringify(result, null, 2)}`) - - assert.hasAllKeys(result, ['isvalid']) - assert.equal(result.isvalid, false) - }) - - it('should return false for bad address', async () => { - const address = 'bitcoincash:qp4k8fjtgunhdr7yq30ha4peu' - - const result = await bchjs.Util.validateAddress(address) - // console.log(`result: ${JSON.stringify(result, null, 2)}`) - - assert.hasAllKeys(result, ['isvalid']) - assert.equal(result.isvalid, false) - }) - - it('should validate valid address', async () => { - const address = 'bitcoincash:qp4k8fjtgunhdr7yq30ha4peuwupzan2vcnwrmpy0z' - - const result = await bchjs.Util.validateAddress(address) - // console.log(`result: ${JSON.stringify(result, null, 2)}`) - - assert.hasAnyKeys(result, [ - 'isvalid', - 'address', - 'scriptPubKey', - // "ismine", - // "iswatchonly", - 'isscript' - ]) - assert.equal(result.isvalid, true) - }) - - it('should validate an array of addresses', async () => { - const address = [ - 'bitcoincash:qp4k8fjtgunhdr7yq30ha4peuwupzan2vcnwrmpy0z', - 'bitcoincash:qp4k8fjtgunhdr7yq30ha4peuwupzan2vcnwrmpy0z' - ] - - const result = await bchjs.Util.validateAddress(address) - // console.log(`result: ${JSON.stringify(result, null, 2)}`) - - assert.isArray(result) - assert.hasAnyKeys(result[0], [ - 'isvalid', - 'address', - 'scriptPubKey', - // "ismine", - // "iswatchonly", - 'isscript' - ]) - }) - - it('should throw error on array size rate limit', async () => { - try { - const dataMock = - 'bitcoincash:qp4k8fjtgunhdr7yq30ha4peuwupzan2vcnwrmpy0z' - const data = [] - for (let i = 0; i < 25; i++) data.push(dataMock) - - const result = await bchjs.Util.validateAddress(data) - - console.log(`result: ${util.inspect(result)}`) - assert.equal(true, false, 'Unexpected result!') - } catch (err) { - assert.hasAnyKeys(err, ['error']) - assert.include(err.error, 'Array too large') - } - }) - }) }) function sleep (ms) {