You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
569 B
20 lines
569 B
// {signature} {pubKey}
|
|
|
|
import * as bscript from '../../script';
|
|
|
|
function isCompressedCanonicalPubKey(pubKey: Buffer): boolean {
|
|
return bscript.isCanonicalPubKey(pubKey) && pubKey.length === 33;
|
|
}
|
|
|
|
export function check(script: Buffer | Array<number | Buffer>): boolean {
|
|
const chunks = <Array<number | Buffer>>bscript.decompile(script);
|
|
|
|
return (
|
|
chunks.length === 2 &&
|
|
bscript.isCanonicalScriptSignature(<Buffer>chunks[0]) &&
|
|
isCompressedCanonicalPubKey(<Buffer>chunks[1])
|
|
);
|
|
}
|
|
check.toJSON = function() {
|
|
return 'witnessPubKeyHash input';
|
|
};
|
|
|