script: refactor isCanonicalPubKey to bitcoin-core equivalent

This commit is contained in:
Daniel Cousens 2015-08-22 12:31:32 +10:00
parent 0ff5bd5698
commit 3106fc13ca

View file

@ -118,18 +118,17 @@ function decompile (buffer) {
function isCanonicalPubKey (buffer) {
if (!Buffer.isBuffer(buffer)) return false
if (buffer.length < 33) return false
try {
ecurve.Point.decodeFrom(curve, buffer)
} catch (e) {
if (!(e.message.match(/Invalid sequence (length|tag)/))) {
throw e
}
return false
switch (buffer[0]) {
case 0x02:
case 0x03:
return buffer.length === 33
case 0x04:
return buffer.length === 65
}
return true
return false
}
function isCanonicalSignature (buffer) {