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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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.
|
||||
* @returns {Number}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user