j-bitcoin
Version:
Comprehensive JavaScript cryptocurrency wallet library for Bitcoin (BTC), Bitcoin Cash (BCH), and Bitcoin SV (BSV) with custodial and non-custodial wallet support, threshold signatures, and multiple address formats
2,258 lines (698 loc) • 33 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Namespace: BIP39</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Namespace: BIP39</h1>
<section>
<header>
<h2>BIP39</h2>
</header>
<article>
<div class="container-overview">
<div class="description"><p>BIP39 mnemonic and seed generation utilities</p>
<p>Provides functionality for generating secure mnemonic phrases, validating checksums,
and deriving cryptographic seeds according to the BIP39 standard.</p></div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="src_BIP39_bip39.js.html">src/BIP39/bip39.js</a>, <a href="src_BIP39_bip39.js.html#line22">line 22</a>
</li></ul></dd>
</dl>
<h3>Example</h3>
<pre class="prettyprint"><code>// Generate a random mnemonic and seed
const { mnemonic, seed } = BIP39.random('my-passphrase');
// Validate an existing mnemonic
const isValid = BIP39.checkSum(mnemonic);
// Convert mnemonic to seed
const seed = BIP39.mnemonic2seed(mnemonic, 'passphrase');</code></pre>
</div>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id=".checkSum"><span class="type-signature">(static) </span>checkSum<span class="signature">(mnemonic<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {boolean}</span></h4>
<div class="description">
<p>Validates the checksum of a BIP39 mnemonic phrase</p>
<p>The validation process:</p>
<ol>
<li>Converts words back to 11-bit indices</li>
<li>Concatenates all indices to reconstruct the binary data</li>
<li>Splits into entropy (128 bits) and checksum (4 bits)</li>
<li>Recalculates checksum from entropy using SHA256</li>
<li>Compares calculated checksum with embedded checksum</li>
</ol>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>mnemonic</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
''
</td>
<td class="description last"><p>Space-separated mnemonic phrase to validate</p></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="src_BIP39_bip39.js.html">src/BIP39/bip39.js</a>, <a href="src_BIP39_bip39.js.html#line122">line 122</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>True if checksum is valid, false otherwise</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">boolean</span>
</dd>
</dl>
<h5>Example</h5>
<pre class="prettyprint"><code>const validMnemonic = "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about";
const isValid = BIP39.checkSum(validMnemonic); // true
const invalidMnemonic = "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon";
const isInvalid = BIP39.checkSum(invalidMnemonic); // false</code></pre>
<h4 class="name" id=".mnemonic"><span class="type-signature">(static) </span>mnemonic<span class="signature">()</span><span class="type-signature"> → {string}</span></h4>
<div class="description">
<p>Generates a random 12-word mnemonic phrase using cryptographically secure entropy</p>
<p>The function:</p>
<ol>
<li>Generates 16 bytes (128 bits) of secure random entropy</li>
<li>Computes SHA256 hash and takes first 4 bits as checksum</li>
<li>Concatenates entropy + checksum to create 132 bits</li>
<li>Splits into 12 groups of 11 bits each</li>
<li>Maps each 11-bit value to a word from the BIP39 wordlist</li>
</ol>
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="src_BIP39_bip39.js.html">src/BIP39/bip39.js</a>, <a href="src_BIP39_bip39.js.html#line56">line 56</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>Space-separated 12-word mnemonic phrase</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">string</span>
</dd>
</dl>
<h5>Example</h5>
<pre class="prettyprint"><code>const mnemonic = BIP39.mnemonic();
// Returns: "abandon ability able about above absent absorb abstract absurd abuse access accident"</code></pre>
<h4 class="name" id=".mnemonic2seed"><span class="type-signature">(static) </span>mnemonic2seed<span class="signature">(mnemonic<span class="signature-attributes">opt</span>, passphrase<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {string}</span></h4>
<div class="description">
<p>Converts a mnemonic phrase to a seed with checksum validation</p>
<p>This method validates the mnemonic's checksum before deriving the seed,
ensuring that only valid mnemonics are processed.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>mnemonic</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
''
</td>
<td class="description last"><p>Space-separated mnemonic phrase</p></td>
</tr>
<tr>
<td class="name"><code>passphrase</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
''
</td>
<td class="description last"><p>Optional passphrase for additional security</p></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="src_BIP39_bip39.js.html">src/BIP39/bip39.js</a>, <a href="src_BIP39_bip39.js.html#line192">line 192</a>
</li></ul></dd>
</dl>
<h5>Throws:</h5>
<dl>
<dt>
<div class="param-desc">
<p>Throws 'invalid checksum' if mnemonic validation fails</p>
</div>
</dt>
<dd></dd>
<dt>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">string</span>
</dd>
</dl>
</dt>
<dd></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>Hex-encoded 64-byte seed</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">string</span>
</dd>
</dl>
<h5>Example</h5>
<pre class="prettyprint"><code>const mnemonic = "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about";
const seed = BIP39.mnemonic2seed(mnemonic, "passphrase");
// With invalid mnemonic
try {
const seed = BIP39.mnemonic2seed("invalid mnemonic phrase");
} catch (error) {
console.log(error); // "invalid checksum"
}</code></pre>
<h4 class="name" id=".random"><span class="type-signature">(static) </span>random<span class="signature">(passphrase<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {<a href="global.html#MnemonicResult">MnemonicResult</a>}</span></h4>
<div class="description">
<p>Generates a random mnemonic with validated checksum and derives its seed</p>
<p>This is a convenience method that combines mnemonic generation and seed derivation
with built-in checksum validation for additional security.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>passphrase</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
''
</td>
<td class="description last"><p>Optional passphrase for seed derivation</p></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="src_BIP39_bip39.js.html">src/BIP39/bip39.js</a>, <a href="src_BIP39_bip39.js.html#line156">line 156</a>
</li></ul></dd>
</dl>
<h5>Throws:</h5>
<dl>
<dt>
<div class="param-desc">
<p>Throws 'invalid checksum' if generated mnemonic fails validation</p>
</div>
</dt>
<dd></dd>
<dt>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">string</span>
</dd>
</dl>
</dt>
<dd></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>Object containing both mnemonic and seed</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type"><a href="global.html#MnemonicResult">MnemonicResult</a></span>
</dd>
</dl>
<h5>Example</h5>
<pre class="prettyprint"><code>const { mnemonic, seed } = BIP39.random('my-secure-passphrase');
console.log(mnemonic); // "word1 word2 word3 ..."
console.log(seed); // "a1b2c3d4e5f6..."</code></pre>
<h4 class="name" id=".seed"><span class="type-signature">(static) </span>seed<span class="signature">(mnemonic<span class="signature-attributes">opt</span>, passphrase<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {string}</span></h4>
<div class="description">
<p>Derives a cryptographic seed from a mnemonic phrase using PBKDF2</p>
<p>Uses PBKDF2-HMAC-SHA512 with 2048 iterations as specified in BIP39.
The salt is constructed as "mnemonic" + passphrase.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>mnemonic</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
''
</td>
<td class="description last"><p>Space-separated mnemonic phrase</p></td>
</tr>
<tr>
<td class="name"><code>passphrase</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
''
</td>
<td class="description last"><p>Optional passphrase for additional security</p></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="src_BIP39_bip39.js.html">src/BIP39/bip39.js</a>, <a href="src_BIP39_bip39.js.html#line89">line 89</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>Hex-encoded 64-byte (512-bit) seed</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">string</span>
</dd>
</dl>
<h5>Example</h5>
<pre class="prettyprint"><code>const mnemonic = "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about";
const seed = BIP39.seed(mnemonic, "my-passphrase");
// Returns 128-character hex string</code></pre>
</article>
</section>
<section>
<header>
<h2>BIP39</h2>
</header>
<article>
<div class="container-overview">
<div class="description"><p>BIP39 mnemonic phrase and seed generation utilities</p></div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="index.js.html">index.js</a>, <a href="index.js.html#line108">line 108</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id=".checkSum"><span class="type-signature">(static) </span>checkSum<span class="signature">(mnemonic<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {boolean}</span></h4>
<div class="description">
<p>Validates the checksum of a BIP39 mnemonic phrase</p>
<p>The validation process:</p>
<ol>
<li>Converts words back to 11-bit indices</li>
<li>Concatenates all indices to reconstruct the binary data</li>
<li>Splits into entropy (128 bits) and checksum (4 bits)</li>
<li>Recalculates checksum from entropy using SHA256</li>
<li>Compares calculated checksum with embedded checksum</li>
</ol>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>mnemonic</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
''
</td>
<td class="description last"><p>Space-separated mnemonic phrase to validate</p></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="src_BIP39_bip39.js.html">src/BIP39/bip39.js</a>, <a href="src_BIP39_bip39.js.html#line122">line 122</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>True if checksum is valid, false otherwise</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">boolean</span>
</dd>
</dl>
<h5>Example</h5>
<pre class="prettyprint"><code>const validMnemonic = "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about";
const isValid = BIP39.checkSum(validMnemonic); // true
const invalidMnemonic = "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon";
const isInvalid = BIP39.checkSum(invalidMnemonic); // false</code></pre>
<h4 class="name" id=".mnemonic"><span class="type-signature">(static) </span>mnemonic<span class="signature">()</span><span class="type-signature"> → {string}</span></h4>
<div class="description">
<p>Generates a random 12-word mnemonic phrase using cryptographically secure entropy</p>
<p>The function:</p>
<ol>
<li>Generates 16 bytes (128 bits) of secure random entropy</li>
<li>Computes SHA256 hash and takes first 4 bits as checksum</li>
<li>Concatenates entropy + checksum to create 132 bits</li>
<li>Splits into 12 groups of 11 bits each</li>
<li>Maps each 11-bit value to a word from the BIP39 wordlist</li>
</ol>
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="src_BIP39_bip39.js.html">src/BIP39/bip39.js</a>, <a href="src_BIP39_bip39.js.html#line56">line 56</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>Space-separated 12-word mnemonic phrase</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">string</span>
</dd>
</dl>
<h5>Example</h5>
<pre class="prettyprint"><code>const mnemonic = BIP39.mnemonic();
// Returns: "abandon ability able about above absent absorb abstract absurd abuse access accident"</code></pre>
<h4 class="name" id=".mnemonic2seed"><span class="type-signature">(static) </span>mnemonic2seed<span class="signature">(mnemonic<span class="signature-attributes">opt</span>, passphrase<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {string}</span></h4>
<div class="description">
<p>Converts a mnemonic phrase to a seed with checksum validation</p>
<p>This method validates the mnemonic's checksum before deriving the seed,
ensuring that only valid mnemonics are processed.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>mnemonic</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
''
</td>
<td class="description last"><p>Space-separated mnemonic phrase</p></td>
</tr>
<tr>
<td class="name"><code>passphrase</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
''
</td>
<td class="description last"><p>Optional passphrase for additional security</p></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="src_BIP39_bip39.js.html">src/BIP39/bip39.js</a>, <a href="src_BIP39_bip39.js.html#line192">line 192</a>
</li></ul></dd>
</dl>
<h5>Throws:</h5>
<dl>
<dt>
<div class="param-desc">
<p>Throws 'invalid checksum' if mnemonic validation fails</p>
</div>
</dt>
<dd></dd>
<dt>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">string</span>
</dd>
</dl>
</dt>
<dd></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>Hex-encoded 64-byte seed</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">string</span>
</dd>
</dl>
<h5>Example</h5>
<pre class="prettyprint"><code>const mnemonic = "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about";
const seed = BIP39.mnemonic2seed(mnemonic, "passphrase");
// With invalid mnemonic
try {
const seed = BIP39.mnemonic2seed("invalid mnemonic phrase");
} catch (error) {
console.log(error); // "invalid checksum"
}</code></pre>
<h4 class="name" id=".random"><span class="type-signature">(static) </span>random<span class="signature">(passphrase<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {<a href="global.html#MnemonicResult">MnemonicResult</a>}</span></h4>
<div class="description">
<p>Generates a random mnemonic with validated checksum and derives its seed</p>
<p>This is a convenience method that combines mnemonic generation and seed derivation
with built-in checksum validation for additional security.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>passphrase</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
''
</td>
<td class="description last"><p>Optional passphrase for seed derivation</p></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="src_BIP39_bip39.js.html">src/BIP39/bip39.js</a>, <a href="src_BIP39_bip39.js.html#line156">line 156</a>
</li></ul></dd>
</dl>
<h5>Throws:</h5>
<dl>
<dt>
<div class="param-desc">
<p>Throws 'invalid checksum' if generated mnemonic fails validation</p>
</div>
</dt>
<dd></dd>
<dt>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">string</span>
</dd>
</dl>
</dt>
<dd></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>Object containing both mnemonic and seed</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type"><a href="global.html#MnemonicResult">MnemonicResult</a></span>
</dd>
</dl>
<h5>Example</h5>
<pre class="prettyprint"><code>const { mnemonic, seed } = BIP39.random('my-secure-passphrase');
console.log(mnemonic); // "word1 word2 word3 ..."
console.log(seed); // "a1b2c3d4e5f6..."</code></pre>
<h4 class="name" id=".seed"><span class="type-signature">(static) </span>seed<span class="signature">(mnemonic<span class="signature-attributes">opt</span>, passphrase<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {string}</span></h4>
<div class="description">
<p>Derives a cryptographic seed from a mnemonic phrase using PBKDF2</p>
<p>Uses PBKDF2-HMAC-SHA512 with 2048 iterations as specified in BIP39.
The salt is constructed as "mnemonic" + passphrase.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>mnemonic</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
''
</td>
<td class="description last"><p>Space-separated mnemonic phrase</p></td>
</tr>
<tr>
<td class="name"><code>passphrase</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
''
</td>
<td class="description last"><p>Optional passphrase for additional security</p></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="src_BIP39_bip39.js.html">src/BIP39/bip39.js</a>, <a href="src_BIP39_bip39.js.html#line89">line 89</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>Hex-encoded 64-byte (512-bit) seed</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">string</span>
</dd>
</dl>
<h5>Example</h5>
<pre class="prettyprint"><code>const mnemonic = "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about";
const seed = BIP39.seed(mnemonic, "my-passphrase");
// Returns 128-character hex string</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Namespaces</h3><ul><li><a href="AddressFormats.html">AddressFormats</a></li><li><a href="BECH32.html">BECH32</a></li><li><a href="BIP32.html">BIP32</a></li><li><a href="BIP39.html">BIP39</a></li><li><a href="CASH_ADDR.html">CASH_ADDR</a></li><li><a href="ECDSA.html">ECDSA</a></li><li><a href="KeyDecoding.html">KeyDecoding</a></li><li><a href="Signatures.html">Signatures</a></li><li><a href="ThresholdCrypto.html">ThresholdCrypto</a></li><li><a href="Utilities.html">Utilities</a></li><li><a href="Wallets.html">Wallets</a></li><li><a href="schnorr_sig.html">schnorr_sig</a></li></ul><h3>Classes</h3><ul><li><a href="Custodial_Wallet.html">Custodial_Wallet</a></li><li><a href="Non_Custodial_Wallet.html">Non_Custodial_Wallet</a></li><li><a href="Polynomial.html">Polynomial</a></li><li><a href="ThresholdSignature.html">ThresholdSignature</a></li></ul><h3>Global</h3><ul><li><a href="global.html#CHARSET">CHARSET</a></li><li><a href="global.html#FEATURES">FEATURES</a></li><li><a href="global.html#NETWORKS">NETWORKS</a></li><li><a href="global.html#address">address</a></li><li><a href="global.html#b58encode">b58encode</a></li><li><a href="global.html#base32_encode">base32_encode</a></li><li><a href="global.html#derive">derive</a></li><li><a href="global.html#fromSeed">fromSeed</a></li><li><a href="global.html#hdKey">hdKey</a></li><li><a href="global.html#legacyAddress_decode">legacyAddress_decode</a></li><li><a href="global.html#privateKey_decode">privateKey_decode</a></li><li><a href="global.html#rmd160">rmd160</a></li><li><a href="global.html#standardKey">standardKey</a></li><li><a href="global.html#table">table</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Wed Jun 04 2025 02:36:39 GMT-0400 (Eastern Daylight Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>