use 'bns seed format' instead of regular hex for seeds

This commit is contained in:
stjet
2024-11-10 06:23:24 +00:00
parent 63cc3a218e
commit 28349f18c2
39 changed files with 91 additions and 52 deletions

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
*Version 1.0.0 release-candidate* *Version 1.0.0 release-candidate 2*
Very similar to [Airtune's Banano NFT protocol](https://github.com/Airtune/73-meta-tokens) Very similar to [Airtune's Banano NFT protocol](https://github.com/Airtune/73-meta-tokens)
@@ -142,9 +142,11 @@ Also, for the convenience of the user (so they can do a Domain Resovler and Doma
Domain owners will need some specialised software to manage domains. Generating/storing Domain Accounts, transferring domains, and setting/changing their resolved address are all simple. Changing domain metadata is a bit more complicated and involves uploading the metadata file to IPFS. The demo client supports converting IPFS Cid v0 into metadata hashes, and then declaring that metadata hash. Domain owners will need some specialised software to manage domains. Generating/storing Domain Accounts, transferring domains, and setting/changing their resolved address are all simple. Changing domain metadata is a bit more complicated and involves uploading the metadata file to IPFS. The demo client supports converting IPFS Cid v0 into metadata hashes, and then declaring that metadata hash.
As BNS domains can be burned if sent/received improperly, **it is important that TLD and Domain Accounts are not imported into regular wallets** which may do things like auto-receive. As such, it is recommended that BNS wallets (and wallet-like software) generate seeds for TLD and Domain Accounts in a unique (that is, not 64 hex characters) format, so that those seeds cannot be easily imported into regular wallets by uninformed users. Obviously, BNS wallets should also accept that unique seed format. Arbitrarily, because base32 is annoying, the recommended unique seed format is a simple change of the hex characters 0-9 to g-p and A-F to q-v. This will be called the "BNS Seed Format", or the "BSF Hex".
## Non-BNS wallets ## Non-BNS wallets
Non-BNS wallets are regular Banano wallets like Kalium, Dagchat, Bananostand, etc, that will likely not add support for minting and managing BNS domains. Non-BNS wallets are regular Banano wallets like Kalium, Dagchat, Bananostand, Banano Keeper, etc, that will likely not add support for minting and managing BNS domains.
However, they can still integrate BNS by keeping a user-editable mapping of TLDs to addresses, and then supporting domain -> address translation for sending Banano or changing representatives. However, they can still integrate BNS by keeping a user-editable mapping of TLDs to addresses, and then supporting domain -> address translation for sending Banano or changing representatives.

View File

@@ -31,7 +31,7 @@
<p>Click 'Create TLD Account' if you want to issue domain names, and click 'Create Domain Account' if you want to own a domain.</p> <p>Click 'Create TLD Account' if you want to issue domain names, and click 'Create Domain Account' if you want to own a domain.</p>
<button onclick="create('tld')">Create TLD Account</button> <button onclick="create('tld')">Create TLD Account</button>
<button onclick="create('domain')">Create Domain Account</button> <button onclick="create('domain')">Create Domain Account</button>
<p>Enter an existing seed here:</p> <p>Enter an existing seed here (accepts both BNS Seed Format and regular seeds):</p>
<input id="alt-seed" type="text" placeholder="Then click the button above"/> <input id="alt-seed" type="text" placeholder="Then click the button above"/>
<br><br> <br><br>
<h2>Quick Guide</h2> <h2>Quick Guide</h2>
@@ -52,7 +52,7 @@
<p>Special thanks to airtune and yusuf. <a href="https://github.com/stjet/bns/blob/master/bns_protocol.md">Protocol Specification</a></p> <p>Special thanks to airtune and yusuf. <a href="https://github.com/stjet/bns/blob/master/bns_protocol.md">Protocol Specification</a></p>
</div> </div>
<div id="start-2" style="display: none;"> <div id="start-2" style="display: none;">
<p id="seed-display"></p> <p><span id="seed-display"></span> (in BNS Seed Format)</p>
<button onclick="seed_proceed()">I have saved the seed (or haven't and don't care if I lose it)</button> <button onclick="seed_proceed()">I have saved the seed (or haven't and don't care if I lose it)</button>
</div> </div>
<div id="main" style="display: none;"> <div id="main" style="display: none;">
@@ -205,9 +205,13 @@
function create(type) { function create(type) {
const alt_seed = d.g("alt-seed").value; const alt_seed = d.g("alt-seed").value;
if (alt_seed) { if (alt_seed) {
wallet = new bns.banani.Wallet(rpc, alt_seed); if (bns.is_bns_seed_format(alt_seed)) {
wallet = new bns.banani.Wallet(rpc, bns.bns_seed_format_to_hex(alt_seed));
} else {
wallet = new bns.banani.Wallet(rpc, alt_seed);
}
} }
d.g("seed-display").textContent = wallet.seed; d.g("seed-display").textContent = bns.hex_to_bns_seed_format(wallet.seed);
if (type === "tld") { if (type === "tld") {
document.title = "TLD Account - BNS demo"; document.title = "TLD Account - BNS demo";
tld_account = new bns.TLDAccountManager(rpc, wallet); tld_account = new bns.TLDAccountManager(rpc, wallet);

View File

@@ -1 +1 @@
window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAA62ZYXPaOBCG/wuf02ubXnq5fAspuWaapAzhJu11Oh4hL1iDkRlJJqE3999PxgbLSJaF5I/Jvvs+K3m9RvaPfwcCXsXgajBDFFEyOBuskUjk36sszlPgb8v//5aIVSqDS0LjwdXvZwOcIs6lTPD4DeFvpAcwigoJTkgaM6CDqx8H8zEjGyTgC2yvMc5yKmrOzqjmaMom+f35ZTv7v7MDcDK+aUXImLfpMxHJEOFlvrbZ1yp/UMaWY5ZtSAzMilJ0frBnlKbQfkHKsJ91dQmHKEUUQ+OaECrlc4RrkCZuMs8vPp7C/Ey4yNh2mGZ46UBV5X1w3dZai3thopcTl7vP6Il+2qJ3+iDyHZ1nbsxKGUSbAAY5m2apYyM39D2Rn7Kcud5IhqyeqpgmDHiSpfGphaiJgbWspRNQgQTZOO/HUU5QBc9AFolwIx+0QUReTUbuBlXlYdzmxrni9Sy/KjpHWsAE26Xe7JrDvqiGMIDlMLFUXQDpMXsiC4pEzqCTpmgDiNx1cTx8dV1NeBD5MT5BCgskn1LcpTl0dSjVGejNkol3e18bStV5kppz4CtNCe2a2G05PVbgNL/tmb1Uc1oF3lTzcULntR8nnJ8asTz8SdEBIrZr5elQRo+s3/35x/uL81Psxwzm5NUOKTX+qN0QuU7TaeHdgmpoAlFDxAnuhNWqQNxnxBMbqIgHIu7lmMLbziUpskDgk7xP4CZBdAGd1GNtKDqfFQwrsZT4g57lb+c2wi4WYC1v/NucYkEy2kZQJP6gGeLw4TwSWZTL8XOJGEPbGjiv/A9Qk7wJ/2h5G6VwsTQVLMciWsnZgBYQzYprEiEaR0njVtBq6Er1qmcBIkLloIrmLFtF63yWEhwtwbYdlizvKtblK7fCo/TkAHFHDcYc/woOiyjN0PEzxFyDOau3KpQ1nliJkulVTdFUZY9ZwLXIjwGvzjehpvUiymxnoqb1IjL0Uri8NMemBlNlXhwuj0/VTOgYJUdKf1o1ibpQlcyLU29+sTvlILbwTPIeuLL3nKFS60cU80vn1tTFXswNMDLfunWNpg0hFn0BsUMDGfVe5N2dVeyZvNMsQFV2AueneobOVojQ1o9MjbD2TaPN50GWtzB9hjGpbK4T4Fm6MTntI7bs6f2n1oXVMTeH1iVpku5dMp4ny5B2hNSS21/vKfFum1sG8Mv8JkMVdBs9gEAxEshitZd0m5Vvvm1lVQoXq+PWMXiZeshkNmWI8rnVbC9xvILaSUuNGQ8Lis/tZDT6ZxSN/x5GX0bfa6cNYqT4bMDfNhVNvw8Gq8lobLGRUYvF/de/TLny35ak6eT68Sl6uP5mSj0Euw3uHi0Gd48Wg/2pQI5PTOJo8840aDXR8Zg9OqhdXFofwYrAZkQWbj/9DDqLbbmAQm45Lmgii2EMOIshinedG1G0Mj4cdZXFEqiLpa6yWFa/xcvNN7k1BJrRz/8Bki4U8PIhAAA=" window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAA62ZXXPaOBSG/wvX6bZNN91s7iAlm0yTlAF20t1ORyNsgTUYmZFkEnZn//vKH2AJybKQfAl6z/scydKxj/3j3wFHb3xwM1hAAgkeXAy2kCfi9yaL8xSx99X/vyR8k4rBNSbx4ObXi0GUQsaEjLP4HWbvhAeiBBaSKMFpTBEZ3Pw4mk8o3kGOvqL9MIqynPCGUxo1HE2pkj9eXrez/7s4AqeT21aEGPM2fcE8GcFonW9t9o3KH5TR9YRmOxwjakVJOj/YC0xT1H5BqmE/6/oSjmAKSYSUa4KJkC9h1IA0scq8vPp8DvMeM57R/SjNorUDVZb3wXWbayPuhQlfz5zuIaIn+nmTLvVB5AeyzNyYtTKINkURErVpkTpuZEXfE3mW5dT1IBmiespinlDEkiyNz01EDgzMZSucEOGQ453zepzEBGXwgvAq4W7kozaIyOrKyNygsjyMqy6cK16P8suis6QFVLAy9LbcHPZJKcIAlkPFknUBpOdshlcE8pyiTpqkDSAy18mx8Nl1bcKjyI/xBaVoBcVdirlsDl0dSnUGerNE4MPB14aSdZ4ktQ58IykmXRW7LabHDJzqtz2yl2zOy8Cbam4ndF57O+F814hF8ydERwjfb6W7QzV6Yv3h998+Xl2eYz+haInf7JBK448qi8gwTeeFdwtK0QSiRpDhqBPWqAJx95AlNlAxHoh4FGUq2ndOSZIFAmfinKDbBJIV6qSeakPR+aJgWImVxB/0Ip6d2wjlWIC1OPh3OYk4zkgbQZL4gxaQoU+XgGcgF+XnGlIK9w1wWfsfoSa5Cv9seRslcSNhymkecbARtQGuEFgU1wRAEoNEOQpaDl2hXvmsEAewKlRgSbMN2OaLFEdgjWzLYYnyzmJbvXIrPCpPhlDckYMxxj+D4yQqM3h6DzHnYI7qLQtpjmdmIkV6ZVNsqmqPWcCNyI+B3pwPoab1IopoZ6Km9SJS+Fq4vKplU4PJMi8OE+1TXRM6SsmJ0p9WV6IuVC3z4jSLX6xOVYgtPJO8B67Ye85QofUj8uW189bUxV7MHaJ4uXfbNZo2hFjsCxQ7bCCj3otcnqxizcRJswBl2Rmcn3IPnW0gJq0fmZRh7ZtGm8+TSG9l+gxjUtlcp4hl6c7kdBixRc8fv7ROrBlzc2idkibpXiVjP1kNaS2kFtz+ek8a77a5owj9Y36TIQu6jZ4QhzHk0GJ1kHSbVW++bWnVCher061j8DLtIZPZnELCllazg8TxCmqdljxmbBbk/ml2B+7H38Ht/XA6a4x2kOLiqwF7rwhUt0+y0d10PP57DCZ/jsDX8V8mJ1XRbTUdTyw2YtRiYZ2Sy3Qev/1hChV/W4Lm0+HzDDwNv5tCj4PdBg/PFoOHZ4vBoT8RhTzCMdh9MJV8TXRa8E9axqtr68OAJLAZ4ZXbQ6hBZ7MlrOx/wDKjG8htiRqVFutqbQqdpSfSRBbDGEVZjEBcHk9A4Mb4BKCrLJaIuFjqKotl3XBU19XkpggcjNR1tzmqSos1Zi62ukqz/Pk/gY6B9YUjAAA="

View File

@@ -1 +1 @@
window.searchData = "data:application/octet-stream;base64,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"; window.searchData = "data:application/octet-stream;base64,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";

File diff suppressed because one or more lines are too long

View File

@@ -31,7 +31,7 @@
<p>Click 'Create TLD Account' if you want to issue domain names, and click 'Create Domain Account' if you want to own a domain.</p> <p>Click 'Create TLD Account' if you want to issue domain names, and click 'Create Domain Account' if you want to own a domain.</p>
<button onclick="create('tld')">Create TLD Account</button> <button onclick="create('tld')">Create TLD Account</button>
<button onclick="create('domain')">Create Domain Account</button> <button onclick="create('domain')">Create Domain Account</button>
<p>Enter an existing seed here:</p> <p>Enter an existing seed here (accepts both BNS Seed Format and regular seeds):</p>
<input id="alt-seed" type="text" placeholder="Then click the button above"/> <input id="alt-seed" type="text" placeholder="Then click the button above"/>
<br><br> <br><br>
<h2>Quick Guide</h2> <h2>Quick Guide</h2>
@@ -52,7 +52,7 @@
<p>Special thanks to airtune and yusuf. <a href="https://github.com/stjet/bns/blob/master/bns_protocol.md">Protocol Specification</a></p> <p>Special thanks to airtune and yusuf. <a href="https://github.com/stjet/bns/blob/master/bns_protocol.md">Protocol Specification</a></p>
</div> </div>
<div id="start-2" style="display: none;"> <div id="start-2" style="display: none;">
<p id="seed-display"></p> <p><span id="seed-display"></span> (in BNS Seed Format)</p>
<button onclick="seed_proceed()">I have saved the seed (or haven't and don't care if I lose it)</button> <button onclick="seed_proceed()">I have saved the seed (or haven't and don't care if I lose it)</button>
</div> </div>
<div id="main" style="display: none;"> <div id="main" style="display: none;">
@@ -205,9 +205,13 @@
function create(type) { function create(type) {
const alt_seed = d.g("alt-seed").value; const alt_seed = d.g("alt-seed").value;
if (alt_seed) { if (alt_seed) {
wallet = new bns.banani.Wallet(rpc, alt_seed); if (bns.is_bns_seed_format(alt_seed)) {
wallet = new bns.banani.Wallet(rpc, bns.bns_seed_format_to_hex(alt_seed));
} else {
wallet = new bns.banani.Wallet(rpc, alt_seed);
}
} }
d.g("seed-display").textContent = wallet.seed; d.g("seed-display").textContent = bns.hex_to_bns_seed_format(wallet.seed);
if (type === "tld") { if (type === "tld") {
document.title = "TLD Account - BNS demo"; document.title = "TLD Account - BNS demo";
tld_account = new bns.TLDAccountManager(rpc, wallet); tld_account = new bns.TLDAccountManager(rpc, wallet);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,2 +1,2 @@
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>address_to_cid_v0 | bns</title><meta name="description" content="Documentation for bns"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">bns</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">bns</a></li><li><a href="address_to_cid_v0.html">address_to_cid_v0</a></li></ul><h1>Function address_to_cid_v0</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="address_to_cid_v0" class="tsd-anchor"></a><span class="tsd-kind-call-signature">address_<wbr/>to_<wbr/>cid_<wbr/>v0</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">address</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><a href="#address_to_cid_v0" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Banano address to IPFS CID v0</p> <!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>address_to_cid_v0 | bns</title><meta name="description" content="Documentation for bns"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">bns</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">bns</a></li><li><a href="address_to_cid_v0.html">address_to_cid_v0</a></li></ul><h1>Function address_to_cid_v0</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="address_to_cid_v0" class="tsd-anchor"></a><span class="tsd-kind-call-signature">address_<wbr/>to_<wbr/>cid_<wbr/>v0</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">address</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><a href="#address_to_cid_v0" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>Banano address to IPFS CID v0</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">address</span>: <span class="tsd-signature-symbol">`</span><span class="tsd-signature-type">ban_</span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-type">nano_</span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">`</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/stjet/bns/blob/16801131931078897c4e55224aefc0b9e5fcf610/util.ts#L61">util.ts:61</a></li></ul></aside></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-index-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><h4 class="uppercase">Member Visibility</h4><form><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div><div class="tsd-theme-toggle"><h4 class="uppercase">Theme</h4><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>bns</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html> </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">address</span>: <span class="tsd-signature-symbol">`</span><span class="tsd-signature-type">ban_</span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-type">nano_</span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">`</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/stjet/bns/blob/63cc3a218edb8154eaed01682747df973b541a92/util.ts#L80">util.ts:80</a></li></ul></aside></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-index-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><h4 class="uppercase">Member Visibility</h4><form><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div><div class="tsd-theme-toggle"><h4 class="uppercase">Theme</h4><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>bns</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,2 +1,2 @@
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>cid_v0_to_address | bns</title><meta name="description" content="Documentation for bns"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">bns</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">bns</a></li><li><a href="cid_v0_to_address.html">cid_v0_to_address</a></li></ul><h1>Function cid_v0_to_address</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="cid_v0_to_address" class="tsd-anchor"></a><span class="tsd-kind-call-signature">cid_<wbr/>v0_<wbr/>to_<wbr/>address</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">cid_v0</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../types/banani.Address.html" class="tsd-signature-type tsd-kind-type-alias">Address</a><a href="#cid_v0_to_address" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>IPFS CID v0 to Banano address</p> <!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>cid_v0_to_address | bns</title><meta name="description" content="Documentation for bns"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">bns</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">bns</a></li><li><a href="cid_v0_to_address.html">cid_v0_to_address</a></li></ul><h1>Function cid_v0_to_address</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="cid_v0_to_address" class="tsd-anchor"></a><span class="tsd-kind-call-signature">cid_<wbr/>v0_<wbr/>to_<wbr/>address</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">cid_v0</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../types/banani.Address.html" class="tsd-signature-type tsd-kind-type-alias">Address</a><a href="#cid_v0_to_address" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>IPFS CID v0 to Banano address</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">cid_v0</span>: <span class="tsd-signature-type">string</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="../types/banani.Address.html" class="tsd-signature-type tsd-kind-type-alias">Address</a></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/stjet/bns/blob/16801131931078897c4e55224aefc0b9e5fcf610/util.ts#L56">util.ts:56</a></li></ul></aside></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-index-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><h4 class="uppercase">Member Visibility</h4><form><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div><div class="tsd-theme-toggle"><h4 class="uppercase">Theme</h4><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>bns</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html> </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">cid_v0</span>: <span class="tsd-signature-type">string</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="../types/banani.Address.html" class="tsd-signature-type tsd-kind-type-alias">Address</a></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/stjet/bns/blob/63cc3a218edb8154eaed01682747df973b541a92/util.ts#L75">util.ts:75</a></li></ul></aside></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-index-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><h4 class="uppercase">Member Visibility</h4><form><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div><div class="tsd-theme-toggle"><h4 class="uppercase">Theme</h4><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>bns</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -12,16 +12,21 @@
<a href="interfaces/DomainResolver.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-256"></use></svg><span>Domain<wbr/>Resolver</span></a> <a href="interfaces/DomainResolver.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-256"></use></svg><span>Domain<wbr/>Resolver</span></a>
<a href="interfaces/DomainTransfer.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-256"></use></svg><span>Domain<wbr/>Transfer</span></a> <a href="interfaces/DomainTransfer.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-256"></use></svg><span>Domain<wbr/>Transfer</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Type Aliases</h3><div class="tsd-index-list"><a href="types/DomainBlocks.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-2097152"></use></svg><span>Domain<wbr/>Blocks</span></a> </div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Type Aliases</h3><div class="tsd-index-list"><a href="types/DomainBlocks.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-2097152"></use></svg><span>Domain<wbr/>Blocks</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Variables</h3><div class="tsd-index-list"><a href="variables/FREEZE_PUB_KEY.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-32"></use></svg><span>FREEZE_<wbr/>PUB_<wbr/>KEY</span></a> </div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Variables</h3><div class="tsd-index-list"><a href="variables/BSF_HEX_CHARS.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-32"></use></svg><span>BSF_<wbr/>HEX_<wbr/>CHARS</span></a>
<a href="variables/FREEZE_PUB_KEY.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-32"></use></svg><span>FREEZE_<wbr/>PUB_<wbr/>KEY</span></a>
<a href="variables/FREEZE_REP.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-32"></use></svg><span>FREEZE_<wbr/>REP</span></a> <a href="variables/FREEZE_REP.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-32"></use></svg><span>FREEZE_<wbr/>REP</span></a>
<a href="variables/HEX_CHARS.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-32"></use></svg><span>HEX_<wbr/>CHARS</span></a>
<a href="variables/LOG.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-32"></use></svg><span>LOG</span></a> <a href="variables/LOG.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-32"></use></svg><span>LOG</span></a>
<a href="variables/TRANS_MAX.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-32"></use></svg><span>TRANS_<wbr/>MAX</span></a> <a href="variables/TRANS_MAX.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-32"></use></svg><span>TRANS_<wbr/>MAX</span></a>
<a href="variables/TRANS_MIN.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-32"></use></svg><span>TRANS_<wbr/>MIN</span></a> <a href="variables/TRANS_MIN.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-32"></use></svg><span>TRANS_<wbr/>MIN</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Functions</h3><div class="tsd-index-list"><a href="functions/address_to_cid_v0.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-64"></use></svg><span>address_<wbr/>to_<wbr/>cid_<wbr/>v0</span></a> </div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Functions</h3><div class="tsd-index-list"><a href="functions/address_to_cid_v0.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-64"></use></svg><span>address_<wbr/>to_<wbr/>cid_<wbr/>v0</span></a>
<a href="functions/base58_to_hex.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-64"></use></svg><span>base58_<wbr/>to_<wbr/>hex</span></a> <a href="functions/base58_to_hex.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-64"></use></svg><span>base58_<wbr/>to_<wbr/>hex</span></a>
<a href="functions/bigint_to_uint8array.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-64"></use></svg><span>bigint_<wbr/>to_<wbr/>uint8array</span></a> <a href="functions/bigint_to_uint8array.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-64"></use></svg><span>bigint_<wbr/>to_<wbr/>uint8array</span></a>
<a href="functions/bns_seed_format_to_hex.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-64"></use></svg><span>bns_<wbr/>seed_<wbr/>format_<wbr/>to_<wbr/>hex</span></a>
<a href="functions/cid_v0_to_address.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-64"></use></svg><span>cid_<wbr/>v0_<wbr/>to_<wbr/>address</span></a> <a href="functions/cid_v0_to_address.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-64"></use></svg><span>cid_<wbr/>v0_<wbr/>to_<wbr/>address</span></a>
<a href="functions/decode_domain_name.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-64"></use></svg><span>decode_<wbr/>domain_<wbr/>name</span></a> <a href="functions/decode_domain_name.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-64"></use></svg><span>decode_<wbr/>domain_<wbr/>name</span></a>
<a href="functions/encode_domain_name.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-64"></use></svg><span>encode_<wbr/>domain_<wbr/>name</span></a> <a href="functions/encode_domain_name.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-64"></use></svg><span>encode_<wbr/>domain_<wbr/>name</span></a>
<a href="functions/hex_to_base58.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-64"></use></svg><span>hex_<wbr/>to_<wbr/>base58</span></a> <a href="functions/hex_to_base58.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-64"></use></svg><span>hex_<wbr/>to_<wbr/>base58</span></a>
<a href="functions/hex_to_bns_seed_format.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-64"></use></svg><span>hex_<wbr/>to_<wbr/>bns_<wbr/>seed_<wbr/>format</span></a>
<a href="functions/is_bns_seed_format.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-64"></use></svg><span>is_<wbr/>bns_<wbr/>seed_<wbr/>format</span></a>
</div></section></section></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-index-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><h4 class="uppercase">Member Visibility</h4><form><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div><div class="tsd-theme-toggle"><h4 class="uppercase">Theme</h4><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="modules.html" class="current"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-1"></use></svg><span>bns</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base="."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html> </div></section></section></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-index-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><h4 class="uppercase">Member Visibility</h4><form><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div><div class="tsd-theme-toggle"><h4 class="uppercase">Theme</h4><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="modules.html" class="current"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-1"></use></svg><span>bns</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base="."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

19
util.ts
View File

@@ -32,6 +32,25 @@ export function hex_to_base58(hex: string): string {
return base58.split("").reverse().join(""); return base58.split("").reverse().join("");
} }
//see the "Domain owners / BNS wallets" section of the bns protocol specification for an explanation of what the "bns seed format" is
export const HEX_CHARS = "0123456789ABCDEF";
export const BSF_HEX_CHARS = "ghijklmnopqrstuv";
export function hex_to_bns_seed_format(hex: string): string {
return hex.split("").map((c) => BSF_HEX_CHARS[HEX_CHARS.indexOf(c.toUpperCase())]).join("");
}
export function bns_seed_format_to_hex(bsf_hex: string): string {
return bsf_hex.split("").map((c) => HEX_CHARS[BSF_HEX_CHARS.indexOf(c.toLowerCase())]).join("");
}
//doesn't check length
export function is_bns_seed_format(maybe_bsf_hex: string): boolean {
return maybe_bsf_hex.split("").every((c) => BSF_HEX_CHARS.includes(c.toLowerCase()));
}
//lmao //lmao
export function bigint_to_uint8array(bint: bigint, len: number): Uint8Array { export function bigint_to_uint8array(bint: bigint, len: number): Uint8Array {
let uint8array: Uint8Array = new Uint8Array(len); let uint8array: Uint8Array = new Uint8Array(len);