test: improve bech32 test.
This commit is contained in:
parent
2a5a8cdc93
commit
82f67fa87f
@ -99,29 +99,23 @@ describe('Bech32', function() {
|
|||||||
];
|
];
|
||||||
|
|
||||||
function fromAddress(hrp, addr) {
|
function fromAddress(hrp, addr) {
|
||||||
var dec = bech32.deserialize(addr);
|
var dec = bech32.decode(addr);
|
||||||
var data;
|
var data;
|
||||||
|
|
||||||
if (dec.hrp !== hrp || dec.data.length < 1 || dec.data[0] > 16)
|
if (dec.hrp !== hrp)
|
||||||
throw new Error('Invalid bech32 prefix or data length.');
|
throw new Error('Invalid bech32 prefix or data length.');
|
||||||
|
|
||||||
data = bech32.convert(dec.data, Buffer.allocUnsafe(84), 5, 8, -1, 1);
|
if (dec.version === 0 && dec.hash.length !== 20 && dec.hash.length !== 32)
|
||||||
|
|
||||||
if (data.length < 2 || data.length > 40)
|
|
||||||
throw new Error('Invalid witness program size.');
|
|
||||||
|
|
||||||
if (dec.data[0] === 0 && data.length !== 20 && data.length !== 32)
|
|
||||||
throw new Error('Malformed witness program.');
|
throw new Error('Malformed witness program.');
|
||||||
|
|
||||||
return {
|
return {
|
||||||
version: dec.data[0],
|
version: dec.version,
|
||||||
program: data
|
program: dec.hash
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
function toAddress(hrp, version, program) {
|
function toAddress(hrp, version, program) {
|
||||||
var data = bech32.convert(program, Buffer.allocUnsafe(65), 8, 5, version, 0);
|
var ret = bech32.encode(hrp, version, program);
|
||||||
var ret = bech32.serialize(hrp, data);
|
|
||||||
|
|
||||||
fromAddress(hrp, ret);
|
fromAddress(hrp, ret);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user