bitcoinjs-lib/ts_src/templates/witnesspubkeyhash/input.ts

21 lines
569 B
TypeScript
Raw Normal View History

// {signature} {pubKey}
2019-03-06 13:38:36 +01:00
import * as bscript from '../../script';
2019-03-06 13:38:36 +01:00
function isCompressedCanonicalPubKey(pubKey: Buffer): boolean {
return bscript.isCanonicalPubKey(pubKey) && pubKey.length === 33;
}
2019-03-06 13:38:36 +01:00
export function check(script: Buffer | Array<number | Buffer>): boolean {
const chunks = <Array<number | Buffer>>bscript.decompile(script);
2019-03-06 13:38:36 +01:00
return (
chunks.length === 2 &&
2018-12-28 06:45:17 +01:00
bscript.isCanonicalScriptSignature(<Buffer>chunks[0]) &&
isCompressedCanonicalPubKey(<Buffer>chunks[1])
2019-03-06 13:38:36 +01:00
);
}
2019-03-06 13:38:36 +01:00
check.toJSON = function() {
return 'witnessPubKeyHash input';
};