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