mirror of
https://github.com/OneKeyHQ/bip39.git
synced 2026-04-29 05:30:54 +00:00
Generate addresses for P2WSH and P2WSH-P2SH
This commit is contained in:
+2
-2
@@ -509,8 +509,8 @@
|
||||
<select class="form-control bip141-semantics">
|
||||
<option value="p2wpkh">P2WPKH</option>
|
||||
<option value="p2wpkh-p2sh" selected>P2WPKH nested in P2SH</option>
|
||||
<option value="p2wsh">P2WSH</option>
|
||||
<option value="p2wsh-p2sh">P2WSH nested in P2SH</option>
|
||||
<option value="p2wsh">P2WSH (1-of-1 multisig)</option>
|
||||
<option value="p2wsh-p2sh">P2WSH nested in P2SH (1-of-1 multisig)</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+11
-4
@@ -1152,12 +1152,19 @@
|
||||
address = bitcoinjs.bitcoin.address.fromOutputScript(scriptpubkey, network)
|
||||
}
|
||||
else if (isP2wsh) {
|
||||
// TODO
|
||||
address = "";
|
||||
// https://github.com/bitcoinjs/bitcoinjs-lib/blob/v3.3.2/test/integration/addresses.js#L71
|
||||
// This is a 1-of-1
|
||||
var witnessScript = bitcoinjs.bitcoin.script.multisig.output.encode(1, [key.getPublicKeyBuffer()]);
|
||||
var scriptPubKey = bitcoinjs.bitcoin.script.witnessScriptHash.output.encode(bitcoinjs.bitcoin.crypto.sha256(witnessScript));
|
||||
address = bitcoinjs.bitcoin.address.fromOutputScript(scriptPubKey, network);
|
||||
}
|
||||
else if (isP2wshInP2sh) {
|
||||
// TODO
|
||||
address = "";
|
||||
// https://github.com/bitcoinjs/bitcoinjs-lib/blob/v3.3.2/test/integration/transactions.js#L183
|
||||
// This is a 1-of-1
|
||||
var witnessScript = bitcoinjs.bitcoin.script.multisig.output.encode(1, [key.getPublicKeyBuffer()]);
|
||||
var redeemScript = bitcoinjs.bitcoin.script.witnessScriptHash.output.encode(bitcoinjs.bitcoin.crypto.sha256(witnessScript));
|
||||
var scriptPubKey = bitcoinjs.bitcoin.script.scriptHash.output.encode(bitcoinjs.bitcoin.crypto.hash160(redeemScript));
|
||||
address = bitcoinjs.bitcoin.address.fromOutputScript(scriptPubKey, network)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user