new WitnessBuilder()
- Description:
Witness Builder class
- Source:
Methods
(static) buildControlBlock(internalPubkey, leafVersion, merklePath) → {Buffer}
- Description:
Build control block for Taproot script-path spending
- Source:
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
internalPubkey |
Buffer | 32-byte x-only internal public key |
|
leafVersion |
number |
192
|
Leaf version (default 0xc0) |
merklePath |
Array.<Buffer> | Merkle path from leaf to root |
Returns:
Control block
- Type
- Buffer
(static) buildP2TRKeyPath(schnorrSignature) → {Array.<Buffer>}
- Description:
Build P2TR key-path witness stack
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
schnorrSignature |
Buffer | 64 or 65 byte Schnorr signature |
Returns:
Witness stack [signature]
- Type
- Array.<Buffer>
(static) buildP2TRScriptPath(stackItems, tapscript, controlBlock) → {Array.<Buffer>}
- Description:
Build P2TR script-path witness stack
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
stackItems |
Array.<Buffer> | Script input items |
tapscript |
Buffer | The tapscript being executed |
controlBlock |
Buffer | The control block |
Returns:
Witness stack [...items, tapscript, controlBlock]
- Type
- Array.<Buffer>
(static) buildP2WPKH(signature, publicKey) → {Array.<Buffer>}
- Description:
Build P2WPKH witness stack
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
signature |
Buffer | DER signature with sighash type appended |
publicKey |
Buffer | Compressed public key (33 bytes) |
Returns:
Witness stack [signature, publicKey]
- Type
- Array.<Buffer>
(static) buildP2WSH(stackItems, witnessScript) → {Array.<Buffer>}
- Description:
Build P2WSH witness stack
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
stackItems |
Array.<Buffer> | Items to push (signatures, etc.) |
witnessScript |
Buffer | The witness script |
Returns:
Witness stack [...items, witnessScript]
- Type
- Array.<Buffer>
(static) buildP2WSHMultisig(signatures, redeemScript) → {Array.<Buffer>}
- Description:
Build P2WSH multisig witness stack
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
signatures |
Array.<Buffer> | DER signatures with sighash types |
redeemScript |
Buffer | Multisig redeem script |
Returns:
Witness stack [OP_0, ...signatures, redeemScript]
- Type
- Array.<Buffer>
(static) calculateTapbranchHash(left, right) → {Buffer}
- Description:
Calculate tapbranch hash
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
left |
Buffer | Left child hash |
right |
Buffer | Right child hash |
Returns:
32-byte tapbranch hash
- Type
- Buffer
(static) calculateTapleafHash(script, leafVersion) → {Buffer}
- Description:
Calculate tapleaf hash
- Source:
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
script |
Buffer | Tapscript |
|
leafVersion |
number |
192
|
Leaf version (default 0xc0) |
Returns:
32-byte tapleaf hash
- Type
- Buffer
(static) calculateTaptweak(internalPubkey, merkleRootopt) → {Buffer}
- Description:
Calculate taptweak hash
- Source:
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
internalPubkey |
Buffer | 32-byte x-only internal public key |
||
merkleRoot |
Buffer |
<optional> |
null
|
Optional 32-byte merkle root |
Returns:
32-byte tweak
- Type
- Buffer
(static) parse(data) → {Array.<Buffer>}
- Description:
Parse serialized witness data
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
data |
Buffer | Serialized witness |
Returns:
Witness stack
- Type
- Array.<Buffer>
(static) serialize(witnessStack) → {Buffer}
- Description:
Serialize witness stack to bytes
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
witnessStack |
Array.<Buffer> | Witness items |
Returns:
Serialized witness
- Type
- Buffer
(static) validate(witnessStack, outputType) → {Object}
- Description:
Validate witness stack for a given output type
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
witnessStack |
Array.<Buffer> | Witness to validate |
outputType |
string | Output type (p2wpkh, p2wsh, p2tr) |
Returns:
Validation result
- Type
- Object