* Inject properties from pay-to-multisig script. * @private * @param {Number} m * @param {Number} n * @param {Buffer[]} keys
(m, n, keys)
| 1484 | */ |
| 1485 | |
| 1486 | fromMultisig(m, n, keys) { |
| 1487 | assert((m & 0xff) === m && (n & 0xff) === n); |
| 1488 | assert(Array.isArray(keys)); |
| 1489 | assert(keys.length === n, '`n` keys are required for multisig.'); |
| 1490 | assert(m >= 1 && m <= n); |
| 1491 | assert(n >= 1 && n <= 15); |
| 1492 | |
| 1493 | this.clear(); |
| 1494 | |
| 1495 | this.pushSmall(m); |
| 1496 | |
| 1497 | for (const key of sortKeys(keys)) |
| 1498 | this.pushData(key); |
| 1499 | |
| 1500 | this.pushSmall(n); |
| 1501 | this.pushOp(opcodes.OP_CHECKMULTISIG); |
| 1502 | |
| 1503 | return this.compile(); |
| 1504 | } |
| 1505 | |
| 1506 | /** |
| 1507 | * Create a pay-to-multisig script. |
no test coverage detected