minor. recover keys for isMultisig?

This commit is contained in:
Christopher Jeffrey 2016-01-12 02:08:07 -08:00
parent fdc72b2062
commit 645a3a59b2

View File

@ -1196,8 +1196,6 @@ script.standardInput = function standardInput(s) {
};
script.isPubkeyInput = function isPubkeyInput(s, key, tx, i) {
var res;
s = script.subscript(s);
if (s.length !== 1 || !Array.isArray(s[0]))
@ -1237,7 +1235,7 @@ script.isPubkeyhashInput = function isPubkeyhashInput(s, key) {
};
script.isMultisigInput = function isMultisigInput(s, keys, tx, i) {
var i, res, o;
var i, o;
// We need to rule out scripthash
// because it may look like multisig
@ -1268,6 +1266,16 @@ script.isMultisigInput = function isMultisigInput(s, keys, tx, i) {
return script.verify(s, o, tx, i);
}
// We also also try to recover the keys from the signatures.
// var recovered = [];
// for (i = 1; i < s.length; i++) {
// var sig = s[i];
// var prev = script.redeem(keys, s.length - 1, keys.length);
// var msg = tx.signatureHash(i, prev, s[s.length - 1]);
// var key = bcoin.ecdsa.recoverPubKey(msg, sig.slice(0, -1), 0).toArray();
// recovered.push(key);
// }
return true;
};
@ -1291,10 +1299,7 @@ script.isScripthashInput = function isScripthashInput(s, data) {
// P2SH redeem scripts can be nonstandard: make
// it easier for other functions to parse this.
redeem = script.decode(raw);
redeem = script.subscript(redeem);
if (script.lockTime(redeem))
redeem = redeem.slice(3);
redeem = script.normalize(raw);
// Get the "real" scriptSig
s = s.slice(0, -1);