mirror of
https://github.com/Permissionless-Software-Foundation/bch-js.git
synced 2026-09-21 16:51:59 -07:00
Merge pull request #244 from Permissionless-Software-Foundation/ct-unstable
fix(address): Adding toEtokenAddress() function
This commit is contained in:
+30
-1
@@ -133,7 +133,7 @@ class Address {
|
||||
* @api Address.toEcashAddress() toEcashAddress()
|
||||
* @apiName toEcashAddress
|
||||
* @apiGroup Address
|
||||
* @apiDescription Convert legacy to cashAddress format
|
||||
* @apiDescription Convert legacy to eCash (XEC) format
|
||||
*
|
||||
* @apiExample Example usage:
|
||||
* // mainnet
|
||||
@@ -158,6 +158,35 @@ class Address {
|
||||
return ecashAddress.split(':')[1]
|
||||
}
|
||||
|
||||
/**
|
||||
* @api Address.toEtokenAddress() toEtokenAddress()
|
||||
* @apiName toEtokenAddress
|
||||
* @apiGroup Address
|
||||
* @apiDescription Convert legacy to eToken (XEC) format
|
||||
*
|
||||
* @apiExample Example usage:
|
||||
* // mainnet
|
||||
* bchjs.Address.toEcashAddress('bitcoincash:qq50d800hgunr8u4trz3uuppspk3mds0dy9978plt2')
|
||||
* // ecash:qq50d800hgunr8u4trz3uuppspk3mds0dyug2v69da
|
||||
*
|
||||
* // mainnet no prefix
|
||||
* bchjs.Address.toEcashAddress('bitcoincash:qq50d800hgunr8u4trz3uuppspk3mds0dy9978plt2', false)
|
||||
* // qq50d800hgunr8u4trz3uuppspk3mds0dyug2v69da
|
||||
*
|
||||
*/
|
||||
toEtokenAddress (address, prefix = true) {
|
||||
const decoded = this._decode(address)
|
||||
|
||||
const etokenAddress = cashaddr.encode(
|
||||
'etoken',
|
||||
decoded.type,
|
||||
decoded.hash
|
||||
)
|
||||
|
||||
if (prefix) return etokenAddress
|
||||
return etokenAddress.split(':')[1]
|
||||
}
|
||||
|
||||
/**
|
||||
* @api Address.ecashtoCashAddress() ecashtoCashAddress()
|
||||
* @apiName ecashtoCashAddress
|
||||
|
||||
@@ -935,4 +935,44 @@ describe('#address.js', () => {
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
describe('#toEcashAddress', () => {
|
||||
it('should convert a BCH address to an eCash address', () => {
|
||||
const cashAddr = 'bitcoincash:qr24z7q6s26d9wr078lr2pxsmxg22cyn9s7yw984vk'
|
||||
|
||||
const result = bchjs.Address.toEcashAddress(cashAddr)
|
||||
// console.log('result: ', result)
|
||||
|
||||
assert.equal(result, 'ecash:qr24z7q6s26d9wr078lr2pxsmxg22cyn9s8f6wu02p')
|
||||
})
|
||||
|
||||
it('should convert a BCH address to an eCash address without a prefix', () => {
|
||||
const cashAddr = 'bitcoincash:qr24z7q6s26d9wr078lr2pxsmxg22cyn9s7yw984vk'
|
||||
|
||||
const result = bchjs.Address.toEcashAddress(cashAddr, false)
|
||||
// console.log('result: ', result)
|
||||
|
||||
assert.equal(result, 'qr24z7q6s26d9wr078lr2pxsmxg22cyn9s8f6wu02p')
|
||||
})
|
||||
})
|
||||
|
||||
describe('#toEtokenAddress', () => {
|
||||
it('should convert a BCH address to an eToken address', () => {
|
||||
const cashAddr = 'bitcoincash:qr24z7q6s26d9wr078lr2pxsmxg22cyn9s7yw984vk'
|
||||
|
||||
const result = bchjs.Address.toEtokenAddress(cashAddr)
|
||||
// console.log('result: ', result)
|
||||
|
||||
assert.equal(result, 'etoken:qr24z7q6s26d9wr078lr2pxsmxg22cyn9sfhnv2gwk')
|
||||
})
|
||||
|
||||
it('should convert a BCH address to an eToken address without a prefix', () => {
|
||||
const cashAddr = 'bitcoincash:qr24z7q6s26d9wr078lr2pxsmxg22cyn9s7yw984vk'
|
||||
|
||||
const result = bchjs.Address.toEtokenAddress(cashAddr, false)
|
||||
// console.log('result: ', result)
|
||||
|
||||
assert.equal(result, 'qr24z7q6s26d9wr078lr2pxsmxg22cyn9sfhnv2gwk')
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user