xecaddrjs
Version:
eCash general purpose address translation.
157 lines (154 loc) • 4.61 kB
JavaScript
/***
* @license
* https://github.com/ealmansi/bchaddrjs
* Copyright (c) 2018-2020 Emilio Almansi
* Distributed under the MIT software license, see the accompanying
* file LICENSE or http://www.opensource.org/licenses/mit-license.php.
*/
const assert = require('chai').assert
const bchaddr = require('..')
describe('Readme examples', function () {
it('should work exactly as advertised', function () {
const Format = bchaddr.Format
const Network = bchaddr.Network
const Type = bchaddr.Type
const isValidAddress = bchaddr.isValidAddress
const isLegacyAddress = bchaddr.isLegacyAddress
const isBitpayAddress = bchaddr.isBitpayAddress
const isCashAddress = bchaddr.isCashAddress
const isMainnetAddress = bchaddr.isMainnetAddress
const isTestnetAddress = bchaddr.isTestnetAddress
const isP2PKHAddress = bchaddr.isP2PKHAddress
const isP2SHAddress = bchaddr.isP2SHAddress
const detectAddressFormat = bchaddr.detectAddressFormat
const detectAddressNetwork = bchaddr.detectAddressNetwork
const detectAddressType = bchaddr.detectAddressType
const toLegacyAddress = bchaddr.toLegacyAddress
const toBitpayAddress = bchaddr.toBitpayAddress
const toCashAddress = bchaddr.toCashAddress
assert.strictEqual(
isValidAddress(null),
false
)
assert.strictEqual(
isValidAddress(''),
false
)
assert.strictEqual(
isValidAddress('some invalid address'),
false
)
assert.strictEqual(
isValidAddress('bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq'),
false
)
assert.strictEqual(
isValidAddress('1B9UNtBfkkpgt8kVbwLN9ktE62QKnMbDzR'),
true
)
assert.strictEqual(
isValidAddress('CScMwvXjdooDnGevHgfHjGWFi9cjk75Aaj'),
true
)
assert.strictEqual(
isValidAddress('qph5kuz78czq00e3t85ugpgd7xmer5kr7c5f6jdpwk'),
true
)
assert.strictEqual(
isValidAddress('bitcoincash:qph5kuz78czq00e3t85ugpgd7xmer5kr7c5f6jdpwk'),
true
)
assert.strictEqual(
isLegacyAddress('1B9UNtBfkkpgt8kVbwLN9ktE62QKnMbDzR'),
true
)
assert.strictEqual(
isLegacyAddress('qph5kuz78czq00e3t85ugpgd7xmer5kr7c5f6jdpwk'),
false
)
assert.strictEqual(
isBitpayAddress('CScMwvXjdooDnGevHgfHjGWFi9cjk75Aaj'),
true
)
assert.strictEqual(
isBitpayAddress('1B9UNtBfkkpgt8kVbwLN9ktE62QKnMbDzR'),
false
)
assert.strictEqual(
isCashAddress('qph5kuz78czq00e3t85ugpgd7xmer5kr7c5f6jdpwk'),
true
)
assert.strictEqual(
isCashAddress('CScMwvXjdooDnGevHgfHjGWFi9cjk75Aaj'),
false
)
assert.strictEqual(
isMainnetAddress('1P238gziZdeS5Wj9nqLhQHSBK2Lz6zPSke'),
true
)
assert.strictEqual(
isMainnetAddress('mnbGP2FeRsbgdQCzDT35zPWDcYSKm4wrcg'),
false
)
assert.strictEqual(
isTestnetAddress('qqdcsl6c879esyxyacmz7g6vtzwjjwtznsggspc457'),
true
)
assert.strictEqual(
isTestnetAddress('CeUvhjLnSgcxyedaUafcyo4Cw9ZPwGq9JJ'),
false
)
assert.strictEqual(
isP2PKHAddress('1Mdob5JY1yuwoj6y76Vf3AQpoqUH5Aft8z'),
true
)
assert.strictEqual(
isP2PKHAddress('2NFGG7yRBizUANU48b4dASrnNftqsNwzSM1'),
false
)
assert.strictEqual(
isP2SHAddress('H92i9XpREZiBscxGu6Vx3M8jNGBKqscBBB'),
true
)
assert.strictEqual(
isP2SHAddress('CeUvhjLnSgcxyedaUafcyo4Cw9ZPwGq9JJ'),
false
)
assert.strictEqual(
detectAddressFormat('qqdcsl6c879esyxyacmz7g6vtzwjjwtznsggspc457'),
Format.Cashaddr
)
assert.strictEqual(
detectAddressFormat('CScMwvXjdooDnGevHgfHjGWFi9cjk75Aaj'),
Format.Bitpay
)
assert.strictEqual(
detectAddressNetwork('1P238gziZdeS5Wj9nqLhQHSBK2Lz6zPSke'),
Network.Mainnet
)
assert.strictEqual(
detectAddressNetwork('qqdcsl6c879esyxyacmz7g6vtzwjjwtznsggspc457'),
Network.Testnet
)
assert.strictEqual(
detectAddressType('1P238gziZdeS5Wj9nqLhQHSBK2Lz6zPSke'),
Type.P2PKH
)
assert.strictEqual(
detectAddressType('3NKpWcnyZtEKttoQECAFTnmkxMkzgbT4WX'),
Type.P2SH
)
assert.strictEqual(
toLegacyAddress('qph5kuz78czq00e3t85ugpgd7xmer5kr7c5f6jdpwk'),
'1B9UNtBfkkpgt8kVbwLN9ktE62QKnMbDzR'
)
assert.strictEqual(
toBitpayAddress('1B9UNtBfkkpgt8kVbwLN9ktE62QKnMbDzR'),
'CScMwvXjdooDnGevHgfHjGWFi9cjk75Aaj'
)
assert.strictEqual(
toCashAddress('1B9UNtBfkkpgt8kVbwLN9ktE62QKnMbDzR'),
'bitcoincash:qph5kuz78czq00e3t85ugpgd7xmer5kr7c5f6jdpwk'
)
})
})