script: add isDefinedHashType to check hashType

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

View file

@ -134,10 +134,18 @@ function isCanonicalPubKey (buffer) {
function isCanonicalSignature (buffer) {
if (!Buffer.isBuffer(buffer)) return false
if (!isDefinedHashType(buffer[buffer.length - 1])) return false
return bip66.check(buffer.slice(0, -1))
}
function isDefinedHashType (hashType) {
var hashTypeMod = hashType & ~0x80
// return hashTypeMod > SIGHASH_ALL && hashTypeMod < SIGHASH_SINGLE
return hashTypeMod > 0x00 && hashTypeMod < 0x04
}
function isPubKeyHashInput (script) {
var chunks = decompile(script)
@ -369,6 +377,7 @@ module.exports = {
isCanonicalPubKey: isCanonicalPubKey,
isCanonicalSignature: isCanonicalSignature,
isDefinedHashType: isDefinedHashType,
isPubKeyHashInput: isPubKeyHashInput,
isPubKeyHashOutput: isPubKeyHashOutput,
isPubKeyInput: isPubKeyInput,