Implement KeyRing.fromMultisigScript(script, i)
This commit is contained in:
parent
0b70a940a3
commit
6d48e41c96
@ -251,6 +251,37 @@ class KeyRing {
|
|||||||
return new this().fromScript(key, script, compress);
|
return new this().fromScript(key, script, compress);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get ith public key from multisig script.
|
||||||
|
* @private
|
||||||
|
* @param {Script} script
|
||||||
|
* @param {Number} i
|
||||||
|
* @returns {KeyRing}
|
||||||
|
*/
|
||||||
|
|
||||||
|
fromMultisigScript(script, i) {
|
||||||
|
assert(script instanceof Script, 'Non-script passed.');
|
||||||
|
assert(script.isMultisig(), 'Script must be multisig');
|
||||||
|
|
||||||
|
const n = script.getSmall(-2);
|
||||||
|
assert(i >= 1 && i <= n, 'Requested `i`th key, `n` available');
|
||||||
|
|
||||||
|
this.fromKey(script.code[i].toData());
|
||||||
|
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiate keyring from ith key in multisig script.
|
||||||
|
* @param {Script} script
|
||||||
|
* @param {Number} i
|
||||||
|
* @returns {KeyRing}
|
||||||
|
*/
|
||||||
|
|
||||||
|
static fromMultisigScript(script, i) {
|
||||||
|
return new this().fromMultisigScript(script, i);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calculate WIF serialization size.
|
* Calculate WIF serialization size.
|
||||||
* @returns {Number}
|
* @returns {Number}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user