mirror of
https://github.com/stjet/bns.git
synced 2025-12-29 11:19:25 +00:00
workinggit status
This commit is contained in:
6
.gitignore
vendored
Normal file
6
.gitignore
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
*.js
|
||||
!node_test/index.js
|
||||
!bns-browser.js
|
||||
!docs/*/*.js
|
||||
node_modules/
|
||||
.env
|
||||
11
bns-browser.js
Normal file
11
bns-browser.js
Normal file
File diff suppressed because one or more lines are too long
142
bns_protocol.md
Normal file
142
bns_protocol.md
Normal file
@@ -0,0 +1,142 @@
|
||||
Very similar to [Airtune's Banano NFT protocol](https://github.com/Airtune/73-meta-tokens)
|
||||
|
||||
In fact, though it is meant to be for domain names, it can actually be considered a sort of very limited NFT protocol.
|
||||
|
||||
# TLDs
|
||||
|
||||
Anyone can run a "TLD". The **only** role of TLD operators is to **initially** issue (sub)domains of their TLD ("TLD domains"). They will not be able to revoke subdomains, preside over transfer, etc.
|
||||
|
||||
A TLD is just a Banano account ("TLD Account"). The operator of the TLD is whoever has the private keys to that TLD account.
|
||||
|
||||
TLD Accounts should be only TLD Accounts, and not used for any other purpose, in order to not make crawling and resolving any harder that it should be. Clients ideally should not accept TLD Accounts are also used for other purposes.
|
||||
|
||||
There is no root domain. TLDs do not decide what the name of the TLD is, that is decided by clients. Clients also get to decide which TLDs to accept. One client's `.example` might be `ban_abc` and their `.ejemplo` might be `ban_efg`. Another client's `.example` might be `ban_efg`, while their `.ejemplo` could be a `ban_abc`. Some clients might not even recognise that a `.example` or `.ejemplo` exists. In practice, TLD operators will likely suggest names for their TLD, though of course those suggestions do not need to be obeyed. Ideally, applications will come with default mappings of TLD names to TLD accounts decided through community consensus, but give the end user an easy way to edit those mappings, in order to change TLD names, remove certain TLD accounts, or add TLDs.
|
||||
|
||||
However, this proposal can be easily changed to incorporate a root domain that decides the TLDs - though the mechanisms for governance and management of the root domain would need to be discussed (multi-sig...?).
|
||||
|
||||
## Initial issuance of TLD domains
|
||||
|
||||
Initially issuing a TLD is easy. The TLD account just needs to send a Domain Transfer block (see that section).
|
||||
|
||||
How is TLD domain prevented from issuing the same domain to multiple people? Simple: It is first come first serve. If a TLD account issues the domain `toby.<tld>` to `ban_abc` at height 5, but then issues the same `toby.<tld>` to `ban_efg` at height 7, the second issuance will be ignored. Ideally of course, clients should remove TLD accounts that engage in this sort of deceptive behaviour from their mappings (or not add them to their mappings in the first place).
|
||||
|
||||
All blocks in the TLD account's history that are *not* Domain Transfer blocks should be ignored.
|
||||
|
||||
# Domain Account
|
||||
|
||||
A Domain Account is also just a Banano account, controlled by the owner of a domain.
|
||||
|
||||
Domain Accounts only manage one domain, ever. Multiple domains owned by the same owner cannot use the same Domain Account. If a domain is transferred, the Domain Account cannot be reused for another domain. This is enforced by making domains transferred by Domain Transfer blocks not received as an first block of an account ("opening block") to be considered burned.
|
||||
|
||||
Domain Accounts should ideally only be used for the purpose of changing the metadata of the domain or transferring the domain. However, this will not be enforced.
|
||||
|
||||
## Domain's resolved address
|
||||
|
||||
Since Domain Accounts are supposed to be used only managing the domain, the "true" owner (main Banano address of the owner), or what address the domain resolves to, is decided with a Domain Resolver block.
|
||||
|
||||
The most recent Domain Resolver block is used.
|
||||
|
||||
It is valid for a domain to not have any address to resolve to. Once a domain is transferred, the previous owner's resolved address is no longer valid, and the domain has no address to resolve to until a Domain Resolver block is sent by the new owner.
|
||||
|
||||
## Transferring domains
|
||||
|
||||
Domain Accounts can transfer it's held domain by sending a Domain Transfer block. Once a Domain Transfer block has been sent, any further actions performed by a Domain Account are ignored.
|
||||
|
||||
## Declaring domain metadata
|
||||
|
||||
Domain Accounts can declare metadata associated with their domain by sending a Domain Metadata block. Domain metadata can be changed by, once again, sending a Domain Metadata block.
|
||||
|
||||
The most recent Domain Metadata block is used.
|
||||
|
||||
It is valid for a domain to not have any metadata. Once a domain is transferred, the previous owner's domain metadata is no longer valid, and the domain has no metadata until a Domain Metadata block is sent by the new owner.
|
||||
|
||||
All blocks that are not Domain Transfer, Domain Metadata, Domain Resolver, or the opening Domain Receive blocks are ignored.
|
||||
|
||||
# Types of blocks
|
||||
|
||||
## Domain Transfer block
|
||||
|
||||
Used for both domain transfers and domain issuance. So, can be sent by either a TLD Account or a Domain Account. **If not received as the opening block by the recipient, the domain transferred is considered burned-ish. This means it cannot be transferred further, and no domain metadata can be declared for it. It will also not resolve to any address**
|
||||
|
||||
- Subtype: send
|
||||
- Change in Balance: Must be 0.0012070301 to 0.00120703011 Banano
|
||||
- Representative: Padded encoded utf-8 domain name
|
||||
- Link (recepient): New owner of the domain (Domain Account)
|
||||
|
||||
## Domain Receive block
|
||||
|
||||
Receives a Domain Transfer block. If not the opening block of the account, the received domain is considered burned
|
||||
|
||||
- Subtype: send
|
||||
- Link (send block hash): Hash of the Domain Transfer block
|
||||
|
||||
## Domain Metadata block
|
||||
|
||||
To convey metadata associated with a block. Can only be sent by Domain Accounts
|
||||
|
||||
- Subtype: change
|
||||
- Representative: Hash of the metadata
|
||||
|
||||
> Perhaps an encoded IPFS hash would be best?
|
||||
|
||||
## Domain Resolver block
|
||||
|
||||
To change the what address the domain resolves to
|
||||
|
||||
- Subtype: send
|
||||
- Change in balance: 4224 raw
|
||||
- Link (recepient): Banano address the domain should resolve to (typically the actual Banano address of the owner)
|
||||
|
||||
## Maybe: Domain Freeze block
|
||||
|
||||
All Domain Transfer blocks sent after this block are to be ignored. The domain becomes an "frozen domain". For a TLD account, prevents issuance of new domains for that TLD. For a Domain Account, prevents transfer of the domain currently held by it, as well as any change in resolving and metadata. Not the same as a burned domain for a Domain Account as frozen domains can still resolve to an address and have metadata, while burned domains cannot
|
||||
|
||||
- Subtype: change
|
||||
- Representative: Pub key of all 0s
|
||||
|
||||
# Domain Metadata
|
||||
|
||||
Domain metadata can be anything. However, in order for domain metadata to be easily read by all applications, here is a possible standard format:
|
||||
|
||||
```json
|
||||
{
|
||||
"domain": {
|
||||
//any arbitrary keys and values can be put here; the following are some examples
|
||||
"www": "https://example.com",
|
||||
"tor": "http://asdsadif23ifjskfjls9030dskfblahblah.onion",
|
||||
"eth": "0xbl8ahb8lah10blahblahblahblahblahblahblah5",
|
||||
"matrix": "@example:example.com",
|
||||
"image": "<ipfs hash or url or some link to the image>",
|
||||
"ipfs": "<ipfs hash to a html site>"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
# Domain name validity
|
||||
|
||||
A domain name cannot have the `.`, `\u0000`, or `"` characters in it.
|
||||
|
||||
> Maybe alphanumeric only?
|
||||
|
||||
# Implementation
|
||||
|
||||
## Resolving domains
|
||||
|
||||
To resolve a domain to a Domain Account (after checking the domain name for validity), and to resolve into an address and some metadata, first a resolver needs to consult its mapping of TLD names to TLD Accounts. It should encode the utf-8 domain name and front pad it to 32 bytes (TLD name should not be included in the hash). Then, it should crawl the account, starting from height 1. It should keep crawling up the chain until it finds the first Domain Transfer whose representative matches the domain name's hash.
|
||||
|
||||
The resolver should then go to the recipient of the Domain Transfer. If the opening block (height 1) is not a Domain Receive block for that Domain Transfer, then the resolver knows the domain has been burned, and the resolving process is over. The burned domain has no domain metadata or resolved address. If it does find the opening block is the Domain Receive block for that Domain Transfer, it should then crawl up the chain again, keeping note of any Domain Metadata or Domain Resolver blocks. Newer blocks replace the older ones. If it encounters a Domain Transfer block, it should discard the noted domain metadata and resolved address, and repeat. If it does not encounter a Domain Transfer block, and reaches the frontier (latest) block, then it should return the noted domain metadata and resolved address (or lack thereof).
|
||||
|
||||
## TLD (Issuing domains)
|
||||
|
||||
A TLD operator can use whatever system it wants for issuing domain names. Some ideas are taking payments or issuing based on certain criteria (eg, citizenship). It should not issue invalid domain names. Even if it does, clients will ignore them. TLDs should also refuse to send to Banano accounts that already have blocks, because otherwise the domain name will be burned, which is probably not what the purchaser of the domain wants.
|
||||
|
||||
Also, for the convenience of the user (so they can do a Domain Resovler and Domain Transfer without needing to deposit more), TLDs are recommended to send 0.00120703011 Banano instead of the minimum 0.0012070301.
|
||||
|
||||
## Domain owners
|
||||
|
||||
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 probably involves IPFS. Possibly integrate into Bananostand?
|
||||
|
||||
## Buying/selling domains
|
||||
|
||||
Besides regular handshake p2p deals, maybe some kind of scheme with multi-sig? Buying/selling is the main focus of the Banano domains, at least.
|
||||
|
||||
14
browser-main.ts
Normal file
14
browser-main.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import * as util from "./util";
|
||||
import * as resolver from "./resolver";
|
||||
import * as manager from "./manager";
|
||||
import * as types from "./types";
|
||||
import * as banani from "banani";
|
||||
|
||||
declare global {
|
||||
interface Window {
|
||||
bns: any;
|
||||
}
|
||||
}
|
||||
|
||||
//for browsers or whatever
|
||||
window.bns = { ...util, ...resolver, ...manager, ...types, banani };
|
||||
293
browser_test/index.html
Normal file
293
browser_test/index.html
Normal file
@@ -0,0 +1,293 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>BNS demo</title>
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||
<script src="../bns-browser.js"></script>
|
||||
<style>
|
||||
#main {
|
||||
grid-template-columns: auto auto;
|
||||
}
|
||||
@media only screen and (max-width: 900px) {
|
||||
#main {
|
||||
grid-template-columns: auto;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<p>Intended to be purely a demo. Tested only on firefox.</p>
|
||||
<span id="address"></span>
|
||||
<div id="start">
|
||||
<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('domain')">Create Domain Account</button>
|
||||
<p>Enter an existing seed here:</p>
|
||||
<input id="alt-seed" type="text" placeholder="Then click the button above"/>
|
||||
<br><br>
|
||||
<h2>Quick Guide</h2>
|
||||
<ol>
|
||||
<li>Open this site in a second tab</li>
|
||||
<li>In this tab (Domain tab), click "Create Domain Account". Note down the seed and address</li>
|
||||
<li>In the second tab (TLD tab), click "Create TLD Account". Note down the seed and address.</li>
|
||||
<li>Send a Banano to your TLD Account's address</li>
|
||||
<li>On TLD tab, click "Receive"</li>
|
||||
<li>On TLD tab, fill in the "Name (no '.', '"', max 32 chars [32 bytes])" field with "helloworld", fill in the Domain tab's address in the "Send to address:" field and click "Issue domain"</li>
|
||||
<li>Wait until it sends, and open the block explorer link in a new tab, noting the block hash</li>
|
||||
<li>Back to the Domain tab, fill in that block hash into the "Block hash of Domain Transfer:" input</li>
|
||||
<li>Then, in the right hand "Domain Resolver" panel add the TLD tab's address to the "TLD Mapping". Call it "demo"</li>
|
||||
<li>In "TLD name (no dot):", write "demo" and then click "Detect held domain name"</li>
|
||||
<li>It should now say "Name: helloworld" right below "Domain Account Manager". Congratulations! You own a Banano domain name now</li>
|
||||
<li>Fill in your actual main Banano address in "Resolve to address:", and click "Declare address to resolve to", and anyone using your TLD can now turn "helloworld.demo" (or whatever they name your TLD) into your address</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div id="start-2" style="display: none;">
|
||||
<p id="seed-display"></p>
|
||||
<button onclick="seed_proceed()">I have saved the seed (or haven't and don't care if I lose it)</button>
|
||||
</div>
|
||||
<div id="main" style="display: none;">
|
||||
<div id="tld">
|
||||
<h2>TLD Account Manager</h2>
|
||||
<p>Add this address to the mapping (right panel) with whatever name you want. <b>Before issuing, make sure to CHECK what domain names you have already issued (right panel).</b> If you try to issue a domain name you have already issued, it will not work!!! <small>Or, it should not. Please report if it does; that is a bug.</small></p>
|
||||
<p>Oh, also, obviously <b>make sure you've sent some Banano to the address (and clicked the receive button below).</b></p>
|
||||
<button onclick="tld_account.receive()">Receive</button>
|
||||
<br>
|
||||
<label for="issue-name">Name (no '.', '"', max 32 chars [32 bytes]):</label>
|
||||
<input id="issue-name" type="text" maxlength="32"/>
|
||||
<br>
|
||||
<label for="issue-to">Send to address:</label>
|
||||
<input id="issue-to" placeholder="ban_abc..." type="text"/>
|
||||
<br>
|
||||
<button onclick="issue()">Issue domain</button>
|
||||
<a id="issue-link"></a>
|
||||
</div>
|
||||
<div id="domain">
|
||||
<h2>Domain Account Manager</h2>
|
||||
<div id="domain-start">
|
||||
<label for="r-d">Block hash of Domain Transfer:</label>
|
||||
<input id="r-d" type="text"/>
|
||||
<br>
|
||||
<button onclick="domain_account.receive_domain(d.g('r-d').value)">Receive domain</button>
|
||||
<br>
|
||||
<label for="r-tld">TLD name (no dot):</label>
|
||||
<input id="r-tld" type="text"/>
|
||||
<br>
|
||||
<button onclick="get_domain_account_domain()">Detect held domain name</button>
|
||||
</div>
|
||||
<div id="domain-actions" style="display: none;">
|
||||
<p>
|
||||
Name: <span id="found-name"></span>
|
||||
<br>
|
||||
Resolves to address: <span id="found-address"></span>
|
||||
<br>
|
||||
Metadata hash: <span id="found-metadata"></span>
|
||||
</p>
|
||||
<label for="r-mh">Metadata hash:</label>
|
||||
<input id="r-mh" type="text"/>
|
||||
<br>
|
||||
<button onclick="domain_account.declare_domain_metadata(d.g('r-mh').value)">Declare metadata hash</button>
|
||||
<br>
|
||||
<label for="r-a">Resolve to address:</label>
|
||||
<input id="r-a" type="text"/>
|
||||
<br>
|
||||
<button onclick="domain_account.declare_domain_resolve_to(d.g('r-a').value)">Declare address to resolved to</button>
|
||||
<br>
|
||||
<label for="transfer-to">Transfer domain to:</label>
|
||||
<input id="transfer-to" placeholder="ban_abc..." type="text"/>
|
||||
<br>
|
||||
<button onclick="transfer()">Transfer domain</button>
|
||||
<a id="transfer-link"></a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="resolver">
|
||||
<h2>Domain Resolver</h2>
|
||||
<label for="resolve">Name:</label>
|
||||
<input id="resolve" type="text" placeholder="nishina.test"/>
|
||||
<br>
|
||||
<button onclick="resolve()">Resolve domain</button>
|
||||
<br>
|
||||
<div>
|
||||
<span>Domain name: <span id="r-name"></span></span>
|
||||
<br>
|
||||
<span>TLD: <span id="r-tld"></span></span>
|
||||
<br>
|
||||
<span>Burned: <span id="r-burned"></span></span>
|
||||
<br>
|
||||
<span>Resolved Address: <span id="r-addr"></span></span>
|
||||
<br>
|
||||
<span>Metadata Hash: <span id="r-meta"></span></span>
|
||||
<br>
|
||||
<span>History:</span>
|
||||
<br>
|
||||
<textarea id="r-hist" disabled></textarea>
|
||||
</div>
|
||||
<div>
|
||||
<h3>TLD Mapping</h3>
|
||||
<ul id="tld-mapping">
|
||||
</ul>
|
||||
<label for="add-tld">TLD Name (no dot):</label>
|
||||
<input id="add-tld" type="text" placeholder="example"/>
|
||||
<br>
|
||||
<label for="tld-addr">TLD Address:</label>
|
||||
<input id="tld-addr" type="text" placeholder="ban_abcd..."/>
|
||||
<br>
|
||||
<button onclick="add_tld()">Add TLD to mapping</button> <!--no type="button" today-->
|
||||
<br><br>
|
||||
<label for="rem-tld">TLD Name (no dot):</label>
|
||||
<input id="rem-tld" type="text" placeholder="example"/>
|
||||
<br>
|
||||
<button onclick="rem_tld()">Remove TLD from mapping</button>
|
||||
</div>
|
||||
<div>
|
||||
<h3>Issued by TLD</h3>
|
||||
<label for="issue-tld">TLD Name (no dot):</label>
|
||||
<input id="issue-tld" type="text" placeholder="test"/>
|
||||
<br>
|
||||
<button onclick="all_issued()">Find all issued by TLD</button>
|
||||
<ul id="all-issued">
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
//I don't like how const works in js. I wish it prevented property mutation
|
||||
let d = document;
|
||||
d.g = d.getElementById; //I am lazy and this is a demo
|
||||
const bns = window.bns;
|
||||
|
||||
const rpc = new bns.banani.RPC("https://kaliumapi.appditto.com/api"); //for sending cause it does work
|
||||
const rpc2 = new bns.banani.RPC("https://api.banano.trade/proxy", true); //for resolver cause it supports raw account history
|
||||
|
||||
let wallet = bns.banani.Wallet.gen_random_wallet(rpc);
|
||||
|
||||
let mode = false; //true if tld mode
|
||||
let tld_account;
|
||||
let domain_account;
|
||||
let domain_account_domain;
|
||||
|
||||
let tld_mapping = {
|
||||
"test": "ban_3634i9z9m5zj9tmjj4rsn9dtzed1oce3wtphr75o3jsq45739cgwr33kemb7",
|
||||
"mictest": "ban_1dzpfrgi8t4byzmdeidh57p14h5jwbursf1t3ztbmeqnqqdcbpgp9x8j3cw6",
|
||||
//
|
||||
};
|
||||
|
||||
function gen_tld_mapping_list() {
|
||||
let ul = d.g("tld-mapping");
|
||||
ul.innerHTML = "";
|
||||
for (const tld of Object.keys(tld_mapping)) {
|
||||
let li = d.createElement("LI");
|
||||
li.textContent = `.${tld}: ${tld_mapping[tld]}`;
|
||||
ul.appendChild(li);
|
||||
}
|
||||
}
|
||||
|
||||
gen_tld_mapping_list();
|
||||
|
||||
function create(type) {
|
||||
const alt_seed = d.g("alt-seed").value;
|
||||
if (alt_seed) {
|
||||
wallet = new bns.banani.Wallet(rpc, alt_seed);
|
||||
d.g("address").textContent = wallet.address;
|
||||
}
|
||||
d.g("seed-display").textContent = wallet.seed;
|
||||
if (type === "tld") {
|
||||
tld_account = new bns.TLDAccountManager(rpc, wallet);
|
||||
mode = true;
|
||||
d.g("domain").style.display = "none";
|
||||
} else {
|
||||
domain_account = new bns.DomainAccountManager(rpc, wallet);
|
||||
d.g("tld").style.display = "none";
|
||||
}
|
||||
d.g("start").style.display = "none";
|
||||
d.g("start-2").style.display = "block";
|
||||
d.g("address").textContent = wallet.address;
|
||||
}
|
||||
|
||||
function add_tld() {
|
||||
let at = d.g("add-tld");
|
||||
let ta = d.g("tld-addr");
|
||||
const tv = ta.value.trim();
|
||||
if (!at.value || !tv || !tv.startsWith("ban_") || tv.length !== 64) return;
|
||||
tld_mapping[at.value] = tv;
|
||||
at.value = "";
|
||||
ta.value = "";
|
||||
gen_tld_mapping_list();
|
||||
}
|
||||
|
||||
function rem_tld() {
|
||||
let rt = d.g("rem-tld");
|
||||
delete tld_mapping[rt.value];
|
||||
rt.value = "";
|
||||
gen_tld_mapping_list();
|
||||
}
|
||||
|
||||
async function resolve() {
|
||||
let parts = d.g("resolve").value.split(".");
|
||||
if (parts.length !== 2) return;
|
||||
const name = parts[0];
|
||||
const tld = parts[1];
|
||||
if (!tld_mapping[tld]) return;
|
||||
const resolver = new bns.Resolver(rpc2, tld_mapping);
|
||||
const resolved = await resolver.resolve(name, tld);
|
||||
d.g("r-name").textContent = resolved.name;
|
||||
d.g("r-tld").textContent = `${resolved.tld} (.${tld})`;
|
||||
d.g("r-burned").textContent = resolved.burned;
|
||||
d.g("r-addr").textContent = resolved.resolved_address;
|
||||
d.g("r-meta").textContent = resolved.metadata_hash;
|
||||
d.g("r-hist").value = JSON.stringify(resolved.history, null, 2);
|
||||
}
|
||||
|
||||
async function all_issued() {
|
||||
let ul = d.g("all-issued");
|
||||
ul.innerHTML = "";
|
||||
const n = d.g("issue-tld").value;
|
||||
if (!tld_mapping[n]) return;
|
||||
const all = await (new bns.TLDAccount(rpc2, tld_mapping[n])).get_all_issued();
|
||||
for (const domain of all) {
|
||||
let li = d.createElement("LI");
|
||||
let a = d.createElement("A");
|
||||
a.href = `https://creeper.banano.cc/hash/${domain.history[0].block.hash}`;
|
||||
a.textContent = domain.name;
|
||||
li.appendChild(a);
|
||||
ul.appendChild(li);
|
||||
}
|
||||
}
|
||||
|
||||
async function issue() {
|
||||
const issue_hash = await tld_account.issue_domain_name(d.g("issue-name").value.trim(), d.g("issue-to").value.trim());
|
||||
d.g("issue-link").textContent = "Issued! See explorer.";
|
||||
d.g("issue-link").href = `https://creeper.banano.cc/hash/${issue_hash}`;
|
||||
}
|
||||
|
||||
async function get_domain_account_domain() {
|
||||
const resolver = new bns.Resolver(rpc2, tld_mapping);
|
||||
domain_account_domain = resolver.resolve_backwards_ish(wallet.address, d.g("r-tld").value);
|
||||
domain_account_domain = await domain_account_domain;
|
||||
const { name, resolved_address, metadata_hash } = domain_account_domain;
|
||||
console.log(domain_account_domain);
|
||||
d.g("found-name").textContent = name
|
||||
d.g("found-address").textContent = resolved_address;
|
||||
d.g("found-metadata").textContent = metadata_hash;
|
||||
d.g("domain-start").style.display = "none";
|
||||
d.g("domain-actions").style.display = "block";
|
||||
}
|
||||
|
||||
async function transfer() {
|
||||
if (!domain_account_domain) return;
|
||||
console.log(domain_account_domain.name, d.g("transfer-to").value.trim())
|
||||
const transfer_hash = await domain_account.transfer_domain(domain_account_domain.name, d.g("transfer-to").value.trim());
|
||||
d.g("transfer-link").textContent = "Transferred! See explorer.";
|
||||
d.g("transfer-link").href = `https://creeper.banano.cc/hash/${transfer_hash}`;
|
||||
}
|
||||
|
||||
function seed_proceed() {
|
||||
d.g("start-2").style.display = "none";
|
||||
d.g("main").style.display = "grid";
|
||||
}
|
||||
|
||||
//
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
1
docs/.nojekyll
Normal file
1
docs/.nojekyll
Normal file
@@ -0,0 +1 @@
|
||||
TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false.
|
||||
1
docs/CNAME
Normal file
1
docs/CNAME
Normal file
@@ -0,0 +1 @@
|
||||
bns.prussia.dev
|
||||
22
docs/assets/highlight.css
Normal file
22
docs/assets/highlight.css
Normal file
@@ -0,0 +1,22 @@
|
||||
:root {
|
||||
--light-code-background: #FFFFFF;
|
||||
--dark-code-background: #1E1E1E;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: light) { :root {
|
||||
--code-background: var(--light-code-background);
|
||||
} }
|
||||
|
||||
@media (prefers-color-scheme: dark) { :root {
|
||||
--code-background: var(--dark-code-background);
|
||||
} }
|
||||
|
||||
:root[data-theme='light'] {
|
||||
--code-background: var(--light-code-background);
|
||||
}
|
||||
|
||||
:root[data-theme='dark'] {
|
||||
--code-background: var(--dark-code-background);
|
||||
}
|
||||
|
||||
pre, code { background: var(--code-background); }
|
||||
15
docs/assets/icons.js
Normal file
15
docs/assets/icons.js
Normal file
File diff suppressed because one or more lines are too long
1
docs/assets/icons.svg
Normal file
1
docs/assets/icons.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 14 KiB |
59
docs/assets/main.js
Normal file
59
docs/assets/main.js
Normal file
File diff suppressed because one or more lines are too long
1
docs/assets/navigation.js
Normal file
1
docs/assets/navigation.js
Normal file
@@ -0,0 +1 @@
|
||||
window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAA62ZXU/bMBSG/0uvYQwYjHHHhzbQYCBA4gKh6DQ5baymTmU7hWraf5/TtI1TO45r57I973mfY8c+qd23vwOBn2JwPhgCBUoGe4MZiFR+nuZJkSE/qL7/koppJoMTQpPB+be9QZwB51ImeLJP+L70QEahlMQpyRKGdHD+tjF/ZGQOAn/j4iKO84KKmrM0qjmaskk+PDprZ//b2wCfHq9aETLmbfpKRHoJ8aSY2exrlT8oZ5NHls9JgsyKUnR+sFfIMmx/IFXYz3r1CC8hAxpj45kQKuUjiGuQJm4yj05Od2HeEC5ytrjM8njiQFXlfXDdxlqLe2HCx47DXWf0RN9t0Et9EPmWjnI35koZRHvCGGVvGmaOC7mh74n8nBfMdSMZsnqq4iVlyNM8S3YtRE0MrGUmnZAKEGTuPB9bOUEVvCIZp8KNvNEGEfmqM3I3qCoP4zYnzhWvZ/lV0dnSAjrYMvVquTjsg2oIA1gOHUvVBZD+5M9kTEEUDDtpijaAyF0Hx8NH17UINyI/xjVmOAb5luIui0NXh1Kdgd4smXi79rWhVJ0nqdkHHmhGaFfHbsvpsQKn/m3P7KWa3SrwppqPEzqv/Tjh/NZI5OFPijYQsZgpb4cqumX99cf3w5OjXewfGY7Ipx1SafxRyyZykWUvpXcLqqEJRF0CJ3EnrFYF4m6ApzZQGQ9E3Mk2FS86h6TIAoHPcp/gVQp0jJ3UbW0ouhiWDCuxkviDXuVv5zbCMhZgLTf+z4LGguS0jaBI/EFD4Hh8FIk8KmT7OQPGYFEDRyv/DdQkb8JPLbdRCjeWpoIVsYimsjfAGKNh+UwioEmUNraCVkNXqlc9YxQRVI0qGrF8Gs2KYUbiaIK26bBkeVcxq67cSo/KkyMmHTUYc/wr2AyiMoPtd4i5BnNWb1UoY9yxEiXTq5pyUVVrzAKuRX4M/HTehJrWiyiznYma1ovI4KN0+Wi2TQ2myrw4XB6fVj2ho5VsKf1pq07UhVrJvDj15JezUzViC88k74Er154zVGr9iGJ05rw0dbEXc46MjBZuq0bThhDLdYGJwwIy6r3Iy51VzpncaRagKtuB866eofMpENr6J1MjrP2n0eZzL8sbm/6GMalsrk/I82xuclpHbNkvd9etA6tjbg6tQ9Ik3bNkPE9WIe0IqSW3X+8p8W6bexSQgACL01rSbVZdWJvvRRoKF6vtJ27wMj16k9kLA8pHVrO1xHHitQOSGjP+xld87h5+1elzYKS84ucH8utm5rGalGCcJxglS05EYWrsQLpqux8olkhdLHWVZvn+H/JqZiQOHwAA"
|
||||
1
docs/assets/search.js
Normal file
1
docs/assets/search.js
Normal file
@@ -0,0 +1 @@
|
||||
window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAA61b246bSBD9F/LqTNxX7LztKtJqpUQrRdG+jEYWY5gMio0t8CQbjebft8ENVEEVF9svsRjqcrpOVXUXkNcgP/wqgo/3r8GPNIuDj1YvgizaJ8HHIMm2hzjZxId9lGab6o+L4CXfuVtPL9n2lB6y4kNf6O75tN85ye0uKorE2Q6CtwVhPk4mmO8LDZpXsjH/+Z+/Gns/ozyNHndJ8cH9ddCAkKvGwrfPn/7Ybg8v2akx5HU+tLcGrRnR4tm65Zzyl+3pkI+Ze4dlgelFcIzyxAFC6AD8pWwDHO12m7QoXpJ41CESneFPLnUbr+/JaVMck236lG5HPXaEr/E5Y5098Utjmx/Hl3iWaT2civh9WrxPs+ckT0+V+zlsxnGeFMU4lY3cFZ57MT4ck2wTZfHmKT9kpzQZz2FO65aontPClcjv0vy+cjYJFaV1DUugZXyq+hTXNdDdmzSOvsVJvQPDZBLu3HOnuGwk53lDdG7z6Ndu0vq84BUro4qX8DSnfif55UqY8D23iifFeFohE2iuq+XJ2MbLmcF2eUWzvIGi/poUh91PIlL1jZuUMjI2qYobXDPSHHvpZvgc66ddvNlHx2OafR/xgiUne0PpkZ/vj62nkbrKy+Yx2v74FeVx4Q4Kz9N89nSmR5U8cn6Jsuj74DbrJW58AIVWZ55Da8hMwvxyB69k6CiNXDfS870iSquTHjlkjACgFK/EkifbJCWSmEHQil8Z+UkHZOSaOSNPOxuNRGHimIDwsNPCzRDNj9HALHEpqhkjBs6UiyaNsawZHThwylw8d0xgZ8740SPpFlPIBIxzhpEexlvMJASf3GjC7S6U0O0Hldl7DIl93jbDAxjZaeb4njIyId9zJqdpm8tmNoae4vVYTnmUFU9JPh9MX/N6NHHibOTNXr5PTlEcnaI5NLEWbo6uPk6eDpfjQzauRzhhNMcV3ZvQJ09gF2yJA4l96fx+4cbII7lqmr/J9shju+Fsf5NNchjpjSZ9Aqmxna3yz91h+6OBl2anJH+Ktg3C6vbwuwQ0Lv8+JlOMvfOCQ2V7RsY4epwK+10tOcdVP0zffMfmXdYStwoWsjclXg1Ezt1hsrOxjjrmaoQd7K1P0HiCEwD6nH3tDKI9HF7gVoxBc1MIq/FdFkTk7ZIY9t33Q/ile4rowaglbhVEZG9KFBuIjLv6GLN5jsBTrhG/XaVrAIzwiB1fQiQBgCqGzuNdIqEmPOedVQ7o8eiUehh50nu+H2+6R5MR14TeNTBG6xL6vqwwiee361AYSe3dbRjKEKMNsBiksp8j/KJm5MQuHjHz7iwyRAFnHD3ZZKwPPsQcNu+PXWMeWrFLnDy+5FkyGqNG6hIX0wvlogK5stPO77DB28PC2YmT/4KPr4GrjCI9ZO6uvFN3ayf+lCa7uPy8p06Q7WG/Lw08+Hv/JuWDl1LiLPJhGSzulwu1vjNCPjws7muN6kb1h0pMuCtBiQkkJt2VpMQkElPuSlFiColpd6UX0t4ZLKWRlHFXZqH0nV5qJGaQmHVXlhKzSCx0VyElFiKxlbtaEdBWSMpRcr9eyJWTskhsjYNbxlosKUHRoaHiQZCSmAlRRlyQXAhMhlBMmAVmQ5RhF442cbdUayyJGRFl5IWmoigwKcIycRSYFRFykRSYF7HiQ4m5EWs+lJgeWdFjyLTG9EjBhFJ2ykQyy5aYGlkyICzpGZMjK3JCUhKTIytyVqQkJkeWHIg1KYnpkSG3bsyOLCmQSyoxJGZHlhRIsuNIzI4qKZBkoivMjhJcp1CYHiW5XqE6fUxx3UJhepRmCFeYHGW4PFeYG2XZPFeYGxWyea4wO6pih+7LmB21ZvhWmBu9ZPnWmBst2OaiMTm62mM0hVJjdnTJgSTrVnc2mpIFSdaZxgTpkgZJ1pnGDGnLNkGNGdIhkxwa86NXXHJoTI9es8mhMUFmySaHwQSZkgVJtg2DCTIVQWtiPQbzY6pjwJISxPSYkgNFNgPTOQsY1jdmx5QUKLJrGMyOCVmUmB5TkqDI8jGYH7NmUWJ67JLzbTE7tqRAkUVhMTuWZcdidmzFDtkuLabHahYlZseWHCiyzGznsGZZlJgdW7FDtmCL6bErFiVmx5YcKDLTLaYnXLJNK8T8hBU/5FYaYn7CkgVNnshDTFBYndvIqggxQWF1kCaTPcQMhYYNZ4gZCi2bHuGZompScSOKm+z/Pk8sbuZo5qrXYOPnmHU9Nr0Ga/fP2yJwZ7rq1+151a9rb+73rZ1myqvSI/wcozVoWoPegNvfaQP+oUSr6xKkVVZnbePhuJo7/2r/y8GqR9bWrJat2VAzaujNONBtVb1j4YFJ4X/reK05y+c3dK1NAYyKOsqW0Wbfhrb2pAUgufUNvLUElkJgyfCWev+VBCwOrI0z4J/yACUFtHyctY9vuBw0E9WffwNrgG83bk3Q3tdfaIBQAEiKy7WzkV4etx+CuDwejsKjf3YGigAoWy6nzspUMiiQXHbYd/PJG9AGqzbDq86bJ7lAHWSiZfOnUj81b7KAOkgewyUy9R+lWhOgg3B50/2UrFUG2V8XtRowQrweBUkIC8GnsvAtVnnrZggi8ZoYWAfrFL4zipW3bn0BccmDv+9rjULyvCmueppnj6BTggWHXNiI7zxB2QALkgO/O3xHOkCF0eg84gPpBvYq67t6yPXhLlgNGAg510SFSYBYcfx3vxIC6nBD4t36L7NBwoDcllxpMV9XAyugN0muvvuPcUHIAQzrqyAcMYQTH3Am2fAdUV4D0L5EhM9vKX2e13tOyFis3hWAZYBjU8g1WfQlPlgBKDPJ1YnTJTY2uCWNKhJ7mgCwJZfo+ESgQLoaVqX7HRnIV8CXZkFXL+WAEsBpPEXGH5SM76HW/91yoOovDYFZULLSZ4Imc8idno/pMdmlmRO+f3h7+x9GkcChujsAAA==";
|
||||
1412
docs/assets/style.css
Normal file
1412
docs/assets/style.css
Normal file
File diff suppressed because it is too large
Load Diff
11
docs/bns-browser.js
Normal file
11
docs/bns-browser.js
Normal file
File diff suppressed because one or more lines are too long
293
docs/browser_test/index.html
Normal file
293
docs/browser_test/index.html
Normal file
@@ -0,0 +1,293 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>BNS demo</title>
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||
<script src="../bns-browser.js"></script>
|
||||
<style>
|
||||
#main {
|
||||
grid-template-columns: auto auto;
|
||||
}
|
||||
@media only screen and (max-width: 900px) {
|
||||
#main {
|
||||
grid-template-columns: auto;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<p>Intended to be purely a demo. Tested only on firefox.</p>
|
||||
<span id="address"></span>
|
||||
<div id="start">
|
||||
<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('domain')">Create Domain Account</button>
|
||||
<p>Enter an existing seed here:</p>
|
||||
<input id="alt-seed" type="text" placeholder="Then click the button above"/>
|
||||
<br><br>
|
||||
<h2>Quick Guide</h2>
|
||||
<ol>
|
||||
<li>Open this site in a second tab</li>
|
||||
<li>In this tab (Domain tab), click "Create Domain Account". Note down the seed and address</li>
|
||||
<li>In the second tab (TLD tab), click "Create TLD Account". Note down the seed and address.</li>
|
||||
<li>Send a Banano to your TLD Account's address</li>
|
||||
<li>On TLD tab, click "Receive"</li>
|
||||
<li>On TLD tab, fill in the "Name (no '.', '"', max 32 chars [32 bytes])" field with "helloworld", fill in the Domain tab's address in the "Send to address:" field and click "Issue domain"</li>
|
||||
<li>Wait until it sends, and open the block explorer link in a new tab, noting the block hash</li>
|
||||
<li>Back to the Domain tab, fill in that block hash into the "Block hash of Domain Transfer:" input</li>
|
||||
<li>Then, in the right hand "Domain Resolver" panel add the TLD tab's address to the "TLD Mapping". Call it "demo"</li>
|
||||
<li>In "TLD name (no dot):", write "demo" and then click "Detect held domain name"</li>
|
||||
<li>It should now say "Name: helloworld" right below "Domain Account Manager". Congratulations! You own a Banano domain name now</li>
|
||||
<li>Fill in your actual main Banano address in "Resolve to address:", and click "Declare address to resolve to", and anyone using your TLD can now turn "helloworld.demo" (or whatever they name your TLD) into your address</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div id="start-2" style="display: none;">
|
||||
<p id="seed-display"></p>
|
||||
<button onclick="seed_proceed()">I have saved the seed (or haven't and don't care if I lose it)</button>
|
||||
</div>
|
||||
<div id="main" style="display: none;">
|
||||
<div id="tld">
|
||||
<h2>TLD Account Manager</h2>
|
||||
<p>Add this address to the mapping (right panel) with whatever name you want. <b>Before issuing, make sure to CHECK what domain names you have already issued (right panel).</b> If you try to issue a domain name you have already issued, it will not work!!! <small>Or, it should not. Please report if it does; that is a bug.</small></p>
|
||||
<p>Oh, also, obviously <b>make sure you've sent some Banano to the address (and clicked the receive button below).</b></p>
|
||||
<button onclick="tld_account.receive()">Receive</button>
|
||||
<br>
|
||||
<label for="issue-name">Name (no '.', '"', max 32 chars [32 bytes]):</label>
|
||||
<input id="issue-name" type="text" maxlength="32"/>
|
||||
<br>
|
||||
<label for="issue-to">Send to address:</label>
|
||||
<input id="issue-to" placeholder="ban_abc..." type="text"/>
|
||||
<br>
|
||||
<button onclick="issue()">Issue domain</button>
|
||||
<a id="issue-link"></a>
|
||||
</div>
|
||||
<div id="domain">
|
||||
<h2>Domain Account Manager</h2>
|
||||
<div id="domain-start">
|
||||
<label for="r-d">Block hash of Domain Transfer:</label>
|
||||
<input id="r-d" type="text"/>
|
||||
<br>
|
||||
<button onclick="domain_account.receive_domain(d.g('r-d').value)">Receive domain</button>
|
||||
<br>
|
||||
<label for="r-tld">TLD name (no dot):</label>
|
||||
<input id="r-tld" type="text"/>
|
||||
<br>
|
||||
<button onclick="get_domain_account_domain()">Detect held domain name</button>
|
||||
</div>
|
||||
<div id="domain-actions" style="display: none;">
|
||||
<p>
|
||||
Name: <span id="found-name"></span>
|
||||
<br>
|
||||
Resolves to address: <span id="found-address"></span>
|
||||
<br>
|
||||
Metadata hash: <span id="found-metadata"></span>
|
||||
</p>
|
||||
<label for="r-mh">Metadata hash:</label>
|
||||
<input id="r-mh" type="text"/>
|
||||
<br>
|
||||
<button onclick="domain_account.declare_domain_metadata(d.g('r-mh').value)">Declare metadata hash</button>
|
||||
<br>
|
||||
<label for="r-a">Resolve to address:</label>
|
||||
<input id="r-a" type="text"/>
|
||||
<br>
|
||||
<button onclick="domain_account.declare_domain_resolve_to(d.g('r-a').value)">Declare address to resolved to</button>
|
||||
<br>
|
||||
<label for="transfer-to">Transfer domain to:</label>
|
||||
<input id="transfer-to" placeholder="ban_abc..." type="text"/>
|
||||
<br>
|
||||
<button onclick="transfer()">Transfer domain</button>
|
||||
<a id="transfer-link"></a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="resolver">
|
||||
<h2>Domain Resolver</h2>
|
||||
<label for="resolve">Name:</label>
|
||||
<input id="resolve" type="text" placeholder="nishina.test"/>
|
||||
<br>
|
||||
<button onclick="resolve()">Resolve domain</button>
|
||||
<br>
|
||||
<div>
|
||||
<span>Domain name: <span id="r-name"></span></span>
|
||||
<br>
|
||||
<span>TLD: <span id="r-tld"></span></span>
|
||||
<br>
|
||||
<span>Burned: <span id="r-burned"></span></span>
|
||||
<br>
|
||||
<span>Resolved Address: <span id="r-addr"></span></span>
|
||||
<br>
|
||||
<span>Metadata Hash: <span id="r-meta"></span></span>
|
||||
<br>
|
||||
<span>History:</span>
|
||||
<br>
|
||||
<textarea id="r-hist" disabled></textarea>
|
||||
</div>
|
||||
<div>
|
||||
<h3>TLD Mapping</h3>
|
||||
<ul id="tld-mapping">
|
||||
</ul>
|
||||
<label for="add-tld">TLD Name (no dot):</label>
|
||||
<input id="add-tld" type="text" placeholder="example"/>
|
||||
<br>
|
||||
<label for="tld-addr">TLD Address:</label>
|
||||
<input id="tld-addr" type="text" placeholder="ban_abcd..."/>
|
||||
<br>
|
||||
<button onclick="add_tld()">Add TLD to mapping</button> <!--no type="button" today-->
|
||||
<br><br>
|
||||
<label for="rem-tld">TLD Name (no dot):</label>
|
||||
<input id="rem-tld" type="text" placeholder="example"/>
|
||||
<br>
|
||||
<button onclick="rem_tld()">Remove TLD from mapping</button>
|
||||
</div>
|
||||
<div>
|
||||
<h3>Issued by TLD</h3>
|
||||
<label for="issue-tld">TLD Name (no dot):</label>
|
||||
<input id="issue-tld" type="text" placeholder="test"/>
|
||||
<br>
|
||||
<button onclick="all_issued()">Find all issued by TLD</button>
|
||||
<ul id="all-issued">
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
//I don't like how const works in js. I wish it prevented property mutation
|
||||
let d = document;
|
||||
d.g = d.getElementById; //I am lazy and this is a demo
|
||||
const bns = window.bns;
|
||||
|
||||
const rpc = new bns.banani.RPC("https://kaliumapi.appditto.com/api"); //for sending cause it does work
|
||||
const rpc2 = new bns.banani.RPC("https://api.banano.trade/proxy", true); //for resolver cause it supports raw account history
|
||||
|
||||
let wallet = bns.banani.Wallet.gen_random_wallet(rpc);
|
||||
|
||||
let mode = false; //true if tld mode
|
||||
let tld_account;
|
||||
let domain_account;
|
||||
let domain_account_domain;
|
||||
|
||||
let tld_mapping = {
|
||||
"test": "ban_3634i9z9m5zj9tmjj4rsn9dtzed1oce3wtphr75o3jsq45739cgwr33kemb7",
|
||||
"mictest": "ban_1dzpfrgi8t4byzmdeidh57p14h5jwbursf1t3ztbmeqnqqdcbpgp9x8j3cw6",
|
||||
//
|
||||
};
|
||||
|
||||
function gen_tld_mapping_list() {
|
||||
let ul = d.g("tld-mapping");
|
||||
ul.innerHTML = "";
|
||||
for (const tld of Object.keys(tld_mapping)) {
|
||||
let li = d.createElement("LI");
|
||||
li.textContent = `.${tld}: ${tld_mapping[tld]}`;
|
||||
ul.appendChild(li);
|
||||
}
|
||||
}
|
||||
|
||||
gen_tld_mapping_list();
|
||||
|
||||
function create(type) {
|
||||
const alt_seed = d.g("alt-seed").value;
|
||||
if (alt_seed) {
|
||||
wallet = new bns.banani.Wallet(rpc, alt_seed);
|
||||
d.g("address").textContent = wallet.address;
|
||||
}
|
||||
d.g("seed-display").textContent = wallet.seed;
|
||||
if (type === "tld") {
|
||||
tld_account = new bns.TLDAccountManager(rpc, wallet);
|
||||
mode = true;
|
||||
d.g("domain").style.display = "none";
|
||||
} else {
|
||||
domain_account = new bns.DomainAccountManager(rpc, wallet);
|
||||
d.g("tld").style.display = "none";
|
||||
}
|
||||
d.g("start").style.display = "none";
|
||||
d.g("start-2").style.display = "block";
|
||||
d.g("address").textContent = wallet.address;
|
||||
}
|
||||
|
||||
function add_tld() {
|
||||
let at = d.g("add-tld");
|
||||
let ta = d.g("tld-addr");
|
||||
const tv = ta.value.trim();
|
||||
if (!at.value || !tv || !tv.startsWith("ban_") || tv.length !== 64) return;
|
||||
tld_mapping[at.value] = tv;
|
||||
at.value = "";
|
||||
ta.value = "";
|
||||
gen_tld_mapping_list();
|
||||
}
|
||||
|
||||
function rem_tld() {
|
||||
let rt = d.g("rem-tld");
|
||||
delete tld_mapping[rt.value];
|
||||
rt.value = "";
|
||||
gen_tld_mapping_list();
|
||||
}
|
||||
|
||||
async function resolve() {
|
||||
let parts = d.g("resolve").value.split(".");
|
||||
if (parts.length !== 2) return;
|
||||
const name = parts[0];
|
||||
const tld = parts[1];
|
||||
if (!tld_mapping[tld]) return;
|
||||
const resolver = new bns.Resolver(rpc2, tld_mapping);
|
||||
const resolved = await resolver.resolve(name, tld);
|
||||
d.g("r-name").textContent = resolved.name;
|
||||
d.g("r-tld").textContent = `${resolved.tld} (.${tld})`;
|
||||
d.g("r-burned").textContent = resolved.burned;
|
||||
d.g("r-addr").textContent = resolved.resolved_address;
|
||||
d.g("r-meta").textContent = resolved.metadata_hash;
|
||||
d.g("r-hist").value = JSON.stringify(resolved.history, null, 2);
|
||||
}
|
||||
|
||||
async function all_issued() {
|
||||
let ul = d.g("all-issued");
|
||||
ul.innerHTML = "";
|
||||
const n = d.g("issue-tld").value;
|
||||
if (!tld_mapping[n]) return;
|
||||
const all = await (new bns.TLDAccount(rpc2, tld_mapping[n])).get_all_issued();
|
||||
for (const domain of all) {
|
||||
let li = d.createElement("LI");
|
||||
let a = d.createElement("A");
|
||||
a.href = `https://creeper.banano.cc/hash/${domain.history[0].block.hash}`;
|
||||
a.textContent = domain.name;
|
||||
li.appendChild(a);
|
||||
ul.appendChild(li);
|
||||
}
|
||||
}
|
||||
|
||||
async function issue() {
|
||||
const issue_hash = await tld_account.issue_domain_name(d.g("issue-name").value.trim(), d.g("issue-to").value.trim());
|
||||
d.g("issue-link").textContent = "Issued! See explorer.";
|
||||
d.g("issue-link").href = `https://creeper.banano.cc/hash/${issue_hash}`;
|
||||
}
|
||||
|
||||
async function get_domain_account_domain() {
|
||||
const resolver = new bns.Resolver(rpc2, tld_mapping);
|
||||
domain_account_domain = resolver.resolve_backwards_ish(wallet.address, d.g("r-tld").value);
|
||||
domain_account_domain = await domain_account_domain;
|
||||
const { name, resolved_address, metadata_hash } = domain_account_domain;
|
||||
console.log(domain_account_domain);
|
||||
d.g("found-name").textContent = name
|
||||
d.g("found-address").textContent = resolved_address;
|
||||
d.g("found-metadata").textContent = metadata_hash;
|
||||
d.g("domain-start").style.display = "none";
|
||||
d.g("domain-actions").style.display = "block";
|
||||
}
|
||||
|
||||
async function transfer() {
|
||||
if (!domain_account_domain) return;
|
||||
console.log(domain_account_domain.name, d.g("transfer-to").value.trim())
|
||||
const transfer_hash = await domain_account.transfer_domain(domain_account_domain.name, d.g("transfer-to").value.trim());
|
||||
d.g("transfer-link").textContent = "Transferred! See explorer.";
|
||||
d.g("transfer-link").href = `https://creeper.banano.cc/hash/${transfer_hash}`;
|
||||
}
|
||||
|
||||
function seed_proceed() {
|
||||
d.g("start-2").style.display = "none";
|
||||
d.g("main").style.display = "grid";
|
||||
}
|
||||
|
||||
//
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
8
docs/classes/DomainAccount.html
Normal file
8
docs/classes/DomainAccount.html
Normal file
File diff suppressed because one or more lines are too long
13
docs/classes/DomainAccountManager.html
Normal file
13
docs/classes/DomainAccountManager.html
Normal file
File diff suppressed because one or more lines are too long
6
docs/classes/Resolver.html
Normal file
6
docs/classes/Resolver.html
Normal file
File diff suppressed because one or more lines are too long
9
docs/classes/TLDAccount.html
Normal file
9
docs/classes/TLDAccount.html
Normal file
File diff suppressed because one or more lines are too long
12
docs/classes/TLDAccountManager.html
Normal file
12
docs/classes/TLDAccountManager.html
Normal file
File diff suppressed because one or more lines are too long
43
docs/classes/banani.PrivateKeyAccount.html
Normal file
43
docs/classes/banani.PrivateKeyAccount.html
Normal file
File diff suppressed because one or more lines are too long
44
docs/classes/banani.RPC.html
Normal file
44
docs/classes/banani.RPC.html
Normal file
File diff suppressed because one or more lines are too long
46
docs/classes/banani.RPCWithBackup.html
Normal file
46
docs/classes/banani.RPCWithBackup.html
Normal file
File diff suppressed because one or more lines are too long
6
docs/classes/banani.RPCWorkProvider.html
Normal file
6
docs/classes/banani.RPCWorkProvider.html
Normal file
File diff suppressed because one or more lines are too long
42
docs/classes/banani.Wallet.html
Normal file
42
docs/classes/banani.Wallet.html
Normal file
File diff suppressed because one or more lines are too long
1
docs/functions/banani.base32_to_uint8array.html
Normal file
1
docs/functions/banani.base32_to_uint8array.html
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>construct_message_block_and_hash | 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="../modules/banani.html">banani</a></li><li><a href="banani.construct_message_block_and_hash.html">construct_message_block_and_hash</a></li></ul><h1>Function construct_message_block_and_hash</h1></div><section class="tsd-panel"><ul class="tsd-signatures tsd-is-external"><li class="tsd-signature tsd-anchor-link"><a id="construct_message_block_and_hash" class="tsd-anchor"></a><span class="tsd-kind-call-signature">construct_<wbr/>message_<wbr/>block_<wbr/>and_<wbr/>hash</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">address</span>, <span class="tsd-kind-parameter">message</span>, <span class="tsd-kind-parameter">preamble</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><a href="#construct_message_block_and_hash" 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>For use in <code>sign_message</code> and <code>verify_signed_message</code></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><li><span><span class="tsd-kind-parameter">message</span>: <span class="tsd-signature-type">string</span></span></li><li><span><span class="tsd-kind-parameter">preamble</span>: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = MESSAGE_PREAMBLE</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 node_modules/banani/util.ts:217</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>
|
||||
1
docs/functions/banani.get_address_from_public_key.html
Normal file
1
docs/functions/banani.get_address_from_public_key.html
Normal file
File diff suppressed because one or more lines are too long
1
docs/functions/banani.get_private_key_from_seed.html
Normal file
1
docs/functions/banani.get_private_key_from_seed.html
Normal file
File diff suppressed because one or more lines are too long
1
docs/functions/banani.get_public_key_from_address.html
Normal file
1
docs/functions/banani.get_public_key_from_address.html
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
docs/functions/banani.hash_block.html
Normal file
1
docs/functions/banani.hash_block.html
Normal file
File diff suppressed because one or more lines are too long
1
docs/functions/banani.hex_to_uint8array.html
Normal file
1
docs/functions/banani.hex_to_uint8array.html
Normal file
File diff suppressed because one or more lines are too long
1
docs/functions/banani.int_to_uint8array.html
Normal file
1
docs/functions/banani.int_to_uint8array.html
Normal file
File diff suppressed because one or more lines are too long
2
docs/functions/banani.raw_to_whole.html
Normal file
2
docs/functions/banani.raw_to_whole.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>raw_to_whole | 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="../modules/banani.html">banani</a></li><li><a href="banani.raw_to_whole.html">raw_to_whole</a></li></ul><h1>Function raw_to_whole</h1></div><section class="tsd-panel"><ul class="tsd-signatures tsd-is-external"><li class="tsd-signature tsd-anchor-link"><a id="raw_to_whole" class="tsd-anchor"></a><span class="tsd-kind-call-signature">raw_<wbr/>to_<wbr/>whole</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">raw</span>, <span class="tsd-kind-parameter">decimals</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../types/banani.Whole.html" class="tsd-signature-type tsd-kind-type-alias">Whole</a><a href="#raw_to_whole" 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>Turn raw Bananos (bigint) into whole Bananos (string)</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">raw</span>: <span class="tsd-signature-type">bigint</span></span></li><li><span><span class="tsd-kind-parameter">decimals</span>: <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = BANANO_DECIMALS</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="../types/banani.Whole.html" class="tsd-signature-type tsd-kind-type-alias">Whole</a></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in node_modules/banani/util.ts:144</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>
|
||||
1
docs/functions/banani.sign_block_hash.html
Normal file
1
docs/functions/banani.sign_block_hash.html
Normal file
File diff suppressed because one or more lines are too long
3
docs/functions/banani.sign_message.html
Normal file
3
docs/functions/banani.sign_message.html
Normal file
@@ -0,0 +1,3 @@
|
||||
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>sign_message | 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="../modules/banani.html">banani</a></li><li><a href="banani.sign_message.html">sign_message</a></li></ul><h1>Function sign_message</h1></div><section class="tsd-panel"><ul class="tsd-signatures tsd-is-external"><li class="tsd-signature tsd-anchor-link"><a id="sign_message" class="tsd-anchor"></a><span class="tsd-kind-call-signature">sign_<wbr/>message</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">private_key</span>, <span class="tsd-kind-parameter">message</span>, <span class="tsd-kind-parameter">preamble</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><a href="#sign_message" 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>Sign message by constructing a dummy block with the message (why not just sign the message itself instead of putting it in a dummy block? ledger support). This is already the standard across Banano services and wallets which support signing so please don't invent your own scheme</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">private_key</span>: <span class="tsd-signature-type">string</span></span></li><li><span><span class="tsd-kind-parameter">message</span>: <span class="tsd-signature-type">string</span></span></li><li><span><span class="tsd-kind-parameter">preamble</span>: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = MESSAGE_PREAMBLE</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4><p>The signature in hex</p>
|
||||
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in node_modules/banani/util.ts:236</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>
|
||||
1
docs/functions/banani.uint8array_to_base32.html
Normal file
1
docs/functions/banani.uint8array_to_base32.html
Normal file
File diff suppressed because one or more lines are too long
1
docs/functions/banani.uint8array_to_hex.html
Normal file
1
docs/functions/banani.uint8array_to_hex.html
Normal file
File diff suppressed because one or more lines are too long
1
docs/functions/banani.utf8_to_uint8array.html
Normal file
1
docs/functions/banani.utf8_to_uint8array.html
Normal file
File diff suppressed because one or more lines are too long
2
docs/functions/banani.verify_block_hash.html
Normal file
2
docs/functions/banani.verify_block_hash.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>verify_block_hash | 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="../modules/banani.html">banani</a></li><li><a href="banani.verify_block_hash.html">verify_block_hash</a></li></ul><h1>Function verify_block_hash</h1></div><section class="tsd-panel"><ul class="tsd-signatures tsd-is-external"><li class="tsd-signature tsd-anchor-link"><a id="verify_block_hash" class="tsd-anchor"></a><span class="tsd-kind-call-signature">verify_<wbr/>block_<wbr/>hash</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">public_key</span>, <span class="tsd-kind-parameter">signature</span>, <span class="tsd-kind-parameter">block_hash</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><a href="#verify_block_hash" 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>Make sure the alleged signature for a block hash is valid</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">public_key</span>: <span class="tsd-signature-type">string</span></span></li><li><span><span class="tsd-kind-parameter">signature</span>: <span class="tsd-signature-type">string</span></span></li><li><span><span class="tsd-kind-parameter">block_hash</span>: <span class="tsd-signature-type">string</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in node_modules/banani/util.ts:212</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>
|
||||
3
docs/functions/banani.verify_signed_message.html
Normal file
3
docs/functions/banani.verify_signed_message.html
Normal file
@@ -0,0 +1,3 @@
|
||||
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>verify_signed_message | 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="../modules/banani.html">banani</a></li><li><a href="banani.verify_signed_message.html">verify_signed_message</a></li></ul><h1>Function verify_signed_message</h1></div><section class="tsd-panel"><ul class="tsd-signatures tsd-is-external"><li class="tsd-signature tsd-anchor-link"><a id="verify_signed_message" class="tsd-anchor"></a><span class="tsd-kind-call-signature">verify_<wbr/>signed_<wbr/>message</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">address</span>, <span class="tsd-kind-parameter">message</span>, <span class="tsd-kind-parameter">signature</span>, <span class="tsd-kind-parameter">preamble</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><a href="#verify_signed_message" 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>Use to verify message signatures. A wrapper for <code>verify_block_hash</code></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><li><span><span class="tsd-kind-parameter">message</span>: <span class="tsd-signature-type">string</span></span></li><li><span><span class="tsd-kind-parameter">signature</span>: <span class="tsd-signature-type">string</span></span></li><li><span><span class="tsd-kind-parameter">preamble</span>: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = MESSAGE_PREAMBLE</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>Whether the message signature was actually signed by that address</p>
|
||||
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in node_modules/banani/util.ts:243</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>
|
||||
2
docs/functions/banani.whole_to_raw.html
Normal file
2
docs/functions/banani.whole_to_raw.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>whole_to_raw | 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="../modules/banani.html">banani</a></li><li><a href="banani.whole_to_raw.html">whole_to_raw</a></li></ul><h1>Function whole_to_raw</h1></div><section class="tsd-panel"><ul class="tsd-signatures tsd-is-external"><li class="tsd-signature tsd-anchor-link"><a id="whole_to_raw" class="tsd-anchor"></a><span class="tsd-kind-call-signature">whole_<wbr/>to_<wbr/>raw</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">whole</span>, <span class="tsd-kind-parameter">decimals</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">bigint</span><a href="#whole_to_raw" 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>Turn whole Bananos (string) into raw Bananos (bigint)</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">whole</span>: <span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">`</span></span></li><li><span><span class="tsd-kind-parameter">decimals</span>: <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = BANANO_DECIMALS</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">bigint</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in node_modules/banani/util.ts:131</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>
|
||||
1
docs/functions/decode_domain_name.html
Normal file
1
docs/functions/decode_domain_name.html
Normal file
File diff suppressed because one or more lines are too long
1
docs/functions/encode_domain_name.html
Normal file
1
docs/functions/encode_domain_name.html
Normal file
File diff suppressed because one or more lines are too long
1
docs/hierarchy.html
Normal file
1
docs/hierarchy.html
Normal file
File diff suppressed because one or more lines are too long
1
docs/index.html
Normal file
1
docs/index.html
Normal file
File diff suppressed because one or more lines are too long
7
docs/interfaces/Domain.html
Normal file
7
docs/interfaces/Domain.html
Normal file
File diff suppressed because one or more lines are too long
3
docs/interfaces/DomainBlock.html
Normal file
3
docs/interfaces/DomainBlock.html
Normal file
File diff suppressed because one or more lines are too long
4
docs/interfaces/DomainMetadata.html
Normal file
4
docs/interfaces/DomainMetadata.html
Normal file
File diff suppressed because one or more lines are too long
3
docs/interfaces/DomainReceive.html
Normal file
3
docs/interfaces/DomainReceive.html
Normal file
File diff suppressed because one or more lines are too long
4
docs/interfaces/DomainResolver.html
Normal file
4
docs/interfaces/DomainResolver.html
Normal file
File diff suppressed because one or more lines are too long
4
docs/interfaces/DomainTransfer.html
Normal file
4
docs/interfaces/DomainTransfer.html
Normal file
File diff suppressed because one or more lines are too long
4
docs/interfaces/banani.AccountBalanceRPC.html
Normal file
4
docs/interfaces/banani.AccountBalanceRPC.html
Normal file
File diff suppressed because one or more lines are too long
8
docs/interfaces/banani.AccountHistoryBlock.html
Normal file
8
docs/interfaces/banani.AccountHistoryBlock.html
Normal file
File diff suppressed because one or more lines are too long
4
docs/interfaces/banani.AccountHistoryRPC.html
Normal file
4
docs/interfaces/banani.AccountHistoryRPC.html
Normal file
File diff suppressed because one or more lines are too long
17
docs/interfaces/banani.AccountHistoryRawBlock.html
Normal file
17
docs/interfaces/banani.AccountHistoryRawBlock.html
Normal file
File diff suppressed because one or more lines are too long
4
docs/interfaces/banani.AccountHistoryRawRPC.html
Normal file
4
docs/interfaces/banani.AccountHistoryRawRPC.html
Normal file
File diff suppressed because one or more lines are too long
20
docs/interfaces/banani.AccountInfoRPC.html
Normal file
20
docs/interfaces/banani.AccountInfoRPC.html
Normal file
File diff suppressed because one or more lines are too long
2
docs/interfaces/banani.AccountReceivableRPC.html
Normal file
2
docs/interfaces/banani.AccountReceivableRPC.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>AccountReceivableRPC | 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="../modules/banani.html">banani</a></li><li><a href="banani.AccountReceivableRPC.html">AccountReceivableRPC</a></li></ul><h1>Interface AccountReceivableRPC</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">interface </span><span class="tsd-kind-interface">AccountReceivableRPC</span> <span class="tsd-signature-symbol">{ </span><br/><span> </span><a class="tsd-kind-property" href="banani.AccountReceivableRPC.html#blocks">blocks</a><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><br/><span class="tsd-signature-symbol">}</span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/banani/rpc_types.ts:153</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="banani.AccountReceivableRPC.html#blocks" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>blocks</span></a>
|
||||
</div></section></div></details></section></section><section class="tsd-panel-group tsd-member-group"><h2>Properties</h2><section class="tsd-panel tsd-member tsd-is-external"><a id="blocks" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>blocks</span><a href="#blocks" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">blocks</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/banani/rpc_types.ts:154</li></ul></aside></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><details open class="tsd-index-accordion tsd-page-navigation"><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>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#blocks" class="tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>blocks</span></a></div></details></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>
|
||||
2
docs/interfaces/banani.AccountReceivableSourceRPC.html
Normal file
2
docs/interfaces/banani.AccountReceivableSourceRPC.html
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>AccountReceivableThresholdRPC | 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="../modules/banani.html">banani</a></li><li><a href="banani.AccountReceivableThresholdRPC.html">AccountReceivableThresholdRPC</a></li></ul><h1>Interface AccountReceivableThresholdRPC</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">interface </span><span class="tsd-kind-interface">AccountReceivableThresholdRPC</span> <span class="tsd-signature-symbol">{ </span><br/><span> </span><a class="tsd-kind-property" href="banani.AccountReceivableThresholdRPC.html#blocks">blocks</a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</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-type">number</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><br/><span class="tsd-signature-symbol">}</span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/banani/rpc_types.ts:158</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="banani.AccountReceivableThresholdRPC.html#blocks" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>blocks</span></a>
|
||||
</div></section></div></details></section></section><section class="tsd-panel-group tsd-member-group"><h2>Properties</h2><section class="tsd-panel tsd-member tsd-is-external"><a id="blocks" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>blocks</span><a href="#blocks" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">blocks</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</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-type">number</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/banani/rpc_types.ts:159</li></ul></aside></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><details open class="tsd-index-accordion tsd-page-navigation"><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>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#blocks" class="tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>blocks</span></a></div></details></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>
|
||||
2
docs/interfaces/banani.AccountRepresentativeRPC.html
Normal file
2
docs/interfaces/banani.AccountRepresentativeRPC.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>AccountRepresentativeRPC | 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="../modules/banani.html">banani</a></li><li><a href="banani.AccountRepresentativeRPC.html">AccountRepresentativeRPC</a></li></ul><h1>Interface AccountRepresentativeRPC</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">interface </span><span class="tsd-kind-interface">AccountRepresentativeRPC</span> <span class="tsd-signature-symbol">{ </span><br/><span> </span><a class="tsd-kind-property" href="banani.AccountRepresentativeRPC.html#representative">representative</a><span class="tsd-signature-symbol">: </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 class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/banani/rpc_types.ts:141</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="banani.AccountRepresentativeRPC.html#representative" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>representative</span></a>
|
||||
</div></section></div></details></section></section><section class="tsd-panel-group tsd-member-group"><h2>Properties</h2><section class="tsd-panel tsd-member tsd-is-external"><a id="representative" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>representative</span><a href="#representative" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">representative</span><span class="tsd-signature-symbol">:</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></div><aside class="tsd-sources"><ul><li>Defined in node_modules/banani/rpc_types.ts:142</li></ul></aside></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><details open class="tsd-index-accordion tsd-page-navigation"><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>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#representative" class="tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>representative</span></a></div></details></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>
|
||||
2
docs/interfaces/banani.AccountWeightRPC.html
Normal file
2
docs/interfaces/banani.AccountWeightRPC.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>AccountWeightRPC | 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="../modules/banani.html">banani</a></li><li><a href="banani.AccountWeightRPC.html">AccountWeightRPC</a></li></ul><h1>Interface AccountWeightRPC</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">interface </span><span class="tsd-kind-interface">AccountWeightRPC</span> <span class="tsd-signature-symbol">{ </span><br/><span> </span><a class="tsd-kind-property" href="banani.AccountWeightRPC.html#weight">weight</a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/banani/rpc_types.ts:149</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="banani.AccountWeightRPC.html#weight" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>weight</span></a>
|
||||
</div></section></div></details></section></section><section class="tsd-panel-group tsd-member-group"><h2>Properties</h2><section class="tsd-panel tsd-member tsd-is-external"><a id="weight" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>weight</span><a href="#weight" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">weight</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">`</span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/banani/rpc_types.ts:150</li></ul></aside></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><details open class="tsd-index-accordion tsd-page-navigation"><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>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#weight" class="tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>weight</span></a></div></details></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>
|
||||
2
docs/interfaces/banani.AccountsBalancesRPC.html
Normal file
2
docs/interfaces/banani.AccountsBalancesRPC.html
Normal file
File diff suppressed because one or more lines are too long
2
docs/interfaces/banani.AccountsRepresentativesRPC.html
Normal file
2
docs/interfaces/banani.AccountsRepresentativesRPC.html
Normal file
File diff suppressed because one or more lines are too long
10
docs/interfaces/banani.Block.html
Normal file
10
docs/interfaces/banani.Block.html
Normal file
File diff suppressed because one or more lines are too long
4
docs/interfaces/banani.BlockCountRPC.html
Normal file
4
docs/interfaces/banani.BlockCountRPC.html
Normal file
File diff suppressed because one or more lines are too long
10
docs/interfaces/banani.BlockInfoRPC.html
Normal file
10
docs/interfaces/banani.BlockInfoRPC.html
Normal file
File diff suppressed because one or more lines are too long
8
docs/interfaces/banani.BlockNoSignature.html
Normal file
8
docs/interfaces/banani.BlockNoSignature.html
Normal file
File diff suppressed because one or more lines are too long
2
docs/interfaces/banani.BlocksInfoRPC.html
Normal file
2
docs/interfaces/banani.BlocksInfoRPC.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>BlocksInfoRPC | 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="../modules/banani.html">banani</a></li><li><a href="banani.BlocksInfoRPC.html">BlocksInfoRPC</a></li></ul><h1>Interface BlocksInfoRPC</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">interface </span><span class="tsd-kind-interface">BlocksInfoRPC</span> <span class="tsd-signature-symbol">{ </span><br/><span> </span><a class="tsd-kind-property" href="banani.BlocksInfoRPC.html#blocks">blocks</a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><a href="banani.BlockInfoRPC.html" class="tsd-signature-type tsd-kind-interface">BlockInfoRPC</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/banani/rpc_types.ts:52</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="banani.BlocksInfoRPC.html#blocks" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>blocks</span></a>
|
||||
</div></section></div></details></section></section><section class="tsd-panel-group tsd-member-group"><h2>Properties</h2><section class="tsd-panel tsd-member tsd-is-external"><a id="blocks" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>blocks</span><a href="#blocks" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">blocks</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><a href="banani.BlockInfoRPC.html" class="tsd-signature-type tsd-kind-interface">BlockInfoRPC</a><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/banani/rpc_types.ts:53</li></ul></aside></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><details open class="tsd-index-accordion tsd-page-navigation"><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>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#blocks" class="tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>blocks</span></a></div></details></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>
|
||||
2
docs/interfaces/banani.BlocksRPC.html
Normal file
2
docs/interfaces/banani.BlocksRPC.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>BlocksRPC | 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="../modules/banani.html">banani</a></li><li><a href="banani.BlocksRPC.html">BlocksRPC</a></li></ul><h1>Interface BlocksRPC</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">interface </span><span class="tsd-kind-interface">BlocksRPC</span> <span class="tsd-signature-symbol">{ </span><br/><span> </span><a class="tsd-kind-property" href="banani.BlocksRPC.html#blocks">blocks</a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><a href="banani.Block.html" class="tsd-signature-type tsd-kind-interface">Block</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/banani/rpc_types.ts:48</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="banani.BlocksRPC.html#blocks" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>blocks</span></a>
|
||||
</div></section></div></details></section></section><section class="tsd-panel-group tsd-member-group"><h2>Properties</h2><section class="tsd-panel tsd-member tsd-is-external"><a id="blocks" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>blocks</span><a href="#blocks" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">blocks</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><a href="banani.Block.html" class="tsd-signature-type tsd-kind-interface">Block</a><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/banani/rpc_types.ts:49</li></ul></aside></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><details open class="tsd-index-accordion tsd-page-navigation"><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>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#blocks" class="tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>blocks</span></a></div></details></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>
|
||||
2
docs/interfaces/banani.DelegatorsCountRPC.html
Normal file
2
docs/interfaces/banani.DelegatorsCountRPC.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>DelegatorsCountRPC | 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="../modules/banani.html">banani</a></li><li><a href="banani.DelegatorsCountRPC.html">DelegatorsCountRPC</a></li></ul><h1>Interface DelegatorsCountRPC</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">interface </span><span class="tsd-kind-interface">DelegatorsCountRPC</span> <span class="tsd-signature-symbol">{ </span><br/><span> </span><a class="tsd-kind-property" href="banani.DelegatorsCountRPC.html#count">count</a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/banani/rpc_types.ts:176</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="banani.DelegatorsCountRPC.html#count" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>count</span></a>
|
||||
</div></section></div></details></section></section><section class="tsd-panel-group tsd-member-group"><h2>Properties</h2><section class="tsd-panel tsd-member tsd-is-external"><a id="count" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>count</span><a href="#count" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">count</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">`</span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/banani/rpc_types.ts:177</li></ul></aside></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><details open class="tsd-index-accordion tsd-page-navigation"><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>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#count" class="tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>count</span></a></div></details></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>
|
||||
2
docs/interfaces/banani.DelegatorsRPC.html
Normal file
2
docs/interfaces/banani.DelegatorsRPC.html
Normal file
File diff suppressed because one or more lines are too long
9
docs/interfaces/banani.RPCInterface.html
Normal file
9
docs/interfaces/banani.RPCInterface.html
Normal file
File diff suppressed because one or more lines are too long
2
docs/interfaces/banani.RepresentativesOnlineRPC.html
Normal file
2
docs/interfaces/banani.RepresentativesOnlineRPC.html
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
docs/interfaces/banani.RepresentativesRPC.html
Normal file
2
docs/interfaces/banani.RepresentativesRPC.html
Normal file
File diff suppressed because one or more lines are too long
2
docs/interfaces/banani.WorkProvider.html
Normal file
2
docs/interfaces/banani.WorkProvider.html
Normal file
File diff suppressed because one or more lines are too long
17
docs/modules.html
Normal file
17
docs/modules.html
Normal file
@@ -0,0 +1,17 @@
|
||||
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>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"><h2>bns</h2></div><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><h3 class="tsd-index-heading uppercase">Index</h3><section class="tsd-index-section"><h3 class="tsd-index-heading">Namespaces</h3><div class="tsd-index-list"><a href="modules/banani.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-4"></use></svg><span>banani</span></a>
|
||||
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Classes</h3><div class="tsd-index-list"><a href="classes/DomainAccount.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-128"></use></svg><span>Domain<wbr/>Account</span></a>
|
||||
<a href="classes/DomainAccountManager.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-128"></use></svg><span>Domain<wbr/>Account<wbr/>Manager</span></a>
|
||||
<a href="classes/Resolver.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-128"></use></svg><span>Resolver</span></a>
|
||||
<a href="classes/TLDAccount.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-128"></use></svg><span>TLDAccount</span></a>
|
||||
<a href="classes/TLDAccountManager.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-128"></use></svg><span>TLDAccount<wbr/>Manager</span></a>
|
||||
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Interfaces</h3><div class="tsd-index-list"><a href="interfaces/Domain.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</span></a>
|
||||
<a href="interfaces/DomainBlock.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/>Block</span></a>
|
||||
<a href="interfaces/DomainMetadata.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/>Metadata</span></a>
|
||||
<a href="interfaces/DomainReceive.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/>Receive</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>
|
||||
</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/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>
|
||||
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Functions</h3><div class="tsd-index-list"><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>
|
||||
</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>
|
||||
60
docs/modules/banani.html
Normal file
60
docs/modules/banani.html
Normal file
@@ -0,0 +1,60 @@
|
||||
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>banani | 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="banani.html">banani</a></li></ul><h1>Namespace banani</h1></div><aside class="tsd-sources"><ul><li>Defined in node_modules/banani/main.ts:1</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><h3 class="tsd-index-heading uppercase">Index</h3><section class="tsd-index-section"><h3 class="tsd-index-heading">Classes</h3><div class="tsd-index-list"><a href="../classes/banani.PrivateKeyAccount.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>Private<wbr/>Key<wbr/>Account</span></a>
|
||||
<a href="../classes/banani.RPC.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>RPC</span></a>
|
||||
<a href="../classes/banani.RPCWithBackup.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>RPCWith<wbr/>Backup</span></a>
|
||||
<a href="../classes/banani.RPCWorkProvider.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>RPCWork<wbr/>Provider</span></a>
|
||||
<a href="../classes/banani.Wallet.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-128"></use></svg><span>Wallet</span></a>
|
||||
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Interfaces</h3><div class="tsd-index-list"><a href="../interfaces/banani.AccountBalanceRPC.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>Account<wbr/>BalanceRPC</span></a>
|
||||
<a href="../interfaces/banani.AccountHistoryBlock.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>Account<wbr/>History<wbr/>Block</span></a>
|
||||
<a href="../interfaces/banani.AccountHistoryRPC.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>Account<wbr/>HistoryRPC</span></a>
|
||||
<a href="../interfaces/banani.AccountHistoryRawBlock.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>Account<wbr/>History<wbr/>Raw<wbr/>Block</span></a>
|
||||
<a href="../interfaces/banani.AccountHistoryRawRPC.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>Account<wbr/>History<wbr/>RawRPC</span></a>
|
||||
<a href="../interfaces/banani.AccountInfoRPC.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>Account<wbr/>InfoRPC</span></a>
|
||||
<a href="../interfaces/banani.AccountReceivableRPC.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>Account<wbr/>ReceivableRPC</span></a>
|
||||
<a href="../interfaces/banani.AccountReceivableSourceRPC.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>Account<wbr/>Receivable<wbr/>SourceRPC</span></a>
|
||||
<a href="../interfaces/banani.AccountReceivableThresholdRPC.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>Account<wbr/>Receivable<wbr/>ThresholdRPC</span></a>
|
||||
<a href="../interfaces/banani.AccountRepresentativeRPC.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>Account<wbr/>RepresentativeRPC</span></a>
|
||||
<a href="../interfaces/banani.AccountWeightRPC.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>Account<wbr/>WeightRPC</span></a>
|
||||
<a href="../interfaces/banani.AccountsBalancesRPC.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>Accounts<wbr/>BalancesRPC</span></a>
|
||||
<a href="../interfaces/banani.AccountsRepresentativesRPC.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>Accounts<wbr/>RepresentativesRPC</span></a>
|
||||
<a href="../interfaces/banani.Block.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>Block</span></a>
|
||||
<a href="../interfaces/banani.BlockCountRPC.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>Block<wbr/>CountRPC</span></a>
|
||||
<a href="../interfaces/banani.BlockInfoRPC.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>Block<wbr/>InfoRPC</span></a>
|
||||
<a href="../interfaces/banani.BlockNoSignature.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>Block<wbr/>No<wbr/>Signature</span></a>
|
||||
<a href="../interfaces/banani.BlocksInfoRPC.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>Blocks<wbr/>InfoRPC</span></a>
|
||||
<a href="../interfaces/banani.BlocksRPC.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>BlocksRPC</span></a>
|
||||
<a href="../interfaces/banani.DelegatorsCountRPC.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>Delegators<wbr/>CountRPC</span></a>
|
||||
<a href="../interfaces/banani.DelegatorsRPC.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>DelegatorsRPC</span></a>
|
||||
<a href="../interfaces/banani.RPCInterface.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>RPCInterface</span></a>
|
||||
<a href="../interfaces/banani.RepresentativesOnlineRPC.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>Representatives<wbr/>OnlineRPC</span></a>
|
||||
<a href="../interfaces/banani.RepresentativesOnlineWeightRPC.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>Representatives<wbr/>Online<wbr/>WeightRPC</span></a>
|
||||
<a href="../interfaces/banani.RepresentativesRPC.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>RepresentativesRPC</span></a>
|
||||
<a href="../interfaces/banani.WorkProvider.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-256"></use></svg><span>Work<wbr/>Provider</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/banani.Address.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2097152"></use></svg><span>Address</span></a>
|
||||
<a href="../types/banani.AddressPrefix.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2097152"></use></svg><span>Address<wbr/>Prefix</span></a>
|
||||
<a href="../types/banani.BlockAllTypes.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2097152"></use></svg><span>Block<wbr/>All<wbr/>Types</span></a>
|
||||
<a href="../types/banani.BlockBasicTypes.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2097152"></use></svg><span>Block<wbr/>Basic<wbr/>Types</span></a>
|
||||
<a href="../types/banani.BlockHash.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2097152"></use></svg><span>Block<wbr/>Hash</span></a>
|
||||
<a href="../types/banani.BlockLegacyTypes.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2097152"></use></svg><span>Block<wbr/>Legacy<wbr/>Types</span></a>
|
||||
<a href="../types/banani.BlockStateChangeTypes.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2097152"></use></svg><span>Block<wbr/>State<wbr/>Change<wbr/>Types</span></a>
|
||||
<a href="../types/banani.BlockSubtype.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2097152"></use></svg><span>Block<wbr/>Subtype</span></a>
|
||||
<a href="../types/banani.Whole.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2097152"></use></svg><span>Whole</span></a>
|
||||
<a href="../types/banani.WorkFunction.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2097152"></use></svg><span>Work<wbr/>Function</span></a>
|
||||
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Functions</h3><div class="tsd-index-list"><a href="../functions/banani.base32_to_uint8array.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-64"></use></svg><span>base32_<wbr/>to_<wbr/>uint8array</span></a>
|
||||
<a href="../functions/banani.construct_message_block_and_hash.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-64"></use></svg><span>construct_<wbr/>message_<wbr/>block_<wbr/>and_<wbr/>hash</span></a>
|
||||
<a href="../functions/banani.get_address_from_public_key.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-64"></use></svg><span>get_<wbr/>address_<wbr/>from_<wbr/>public_<wbr/>key</span></a>
|
||||
<a href="../functions/banani.get_private_key_from_seed.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-64"></use></svg><span>get_<wbr/>private_<wbr/>key_<wbr/>from_<wbr/>seed</span></a>
|
||||
<a href="../functions/banani.get_public_key_from_address.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-64"></use></svg><span>get_<wbr/>public_<wbr/>key_<wbr/>from_<wbr/>address</span></a>
|
||||
<a href="../functions/banani.get_public_key_from_private_key.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-64"></use></svg><span>get_<wbr/>public_<wbr/>key_<wbr/>from_<wbr/>private_<wbr/>key</span></a>
|
||||
<a href="../functions/banani.hash_block.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-64"></use></svg><span>hash_<wbr/>block</span></a>
|
||||
<a href="../functions/banani.hex_to_uint8array.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-64"></use></svg><span>hex_<wbr/>to_<wbr/>uint8array</span></a>
|
||||
<a href="../functions/banani.int_to_uint8array.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-64"></use></svg><span>int_<wbr/>to_<wbr/>uint8array</span></a>
|
||||
<a href="../functions/banani.raw_to_whole.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-64"></use></svg><span>raw_<wbr/>to_<wbr/>whole</span></a>
|
||||
<a href="../functions/banani.sign_block_hash.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-64"></use></svg><span>sign_<wbr/>block_<wbr/>hash</span></a>
|
||||
<a href="../functions/banani.sign_message.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-64"></use></svg><span>sign_<wbr/>message</span></a>
|
||||
<a href="../functions/banani.uint8array_to_base32.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-64"></use></svg><span>uint8array_<wbr/>to_<wbr/>base32</span></a>
|
||||
<a href="../functions/banani.uint8array_to_hex.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-64"></use></svg><span>uint8array_<wbr/>to_<wbr/>hex</span></a>
|
||||
<a href="../functions/banani.utf8_to_uint8array.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-64"></use></svg><span>utf8_<wbr/>to_<wbr/>uint8array</span></a>
|
||||
<a href="../functions/banani.verify_block_hash.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-64"></use></svg><span>verify_<wbr/>block_<wbr/>hash</span></a>
|
||||
<a href="../functions/banani.verify_signed_message.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-64"></use></svg><span>verify_<wbr/>signed_<wbr/>message</span></a>
|
||||
<a href="../functions/banani.whole_to_raw.html" class="tsd-index-link tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-64"></use></svg><span>whole_<wbr/>to_<wbr/>raw</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"><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>
|
||||
1
docs/types/DomainBlocks.html
Normal file
1
docs/types/DomainBlocks.html
Normal file
File diff suppressed because one or more lines are too long
1
docs/types/banani.Address.html
Normal file
1
docs/types/banani.Address.html
Normal file
File diff suppressed because one or more lines are too long
1
docs/types/banani.AddressPrefix.html
Normal file
1
docs/types/banani.AddressPrefix.html
Normal file
File diff suppressed because one or more lines are too long
1
docs/types/banani.BlockAllTypes.html
Normal file
1
docs/types/banani.BlockAllTypes.html
Normal file
File diff suppressed because one or more lines are too long
1
docs/types/banani.BlockBasicTypes.html
Normal file
1
docs/types/banani.BlockBasicTypes.html
Normal file
File diff suppressed because one or more lines are too long
2
docs/types/banani.BlockHash.html
Normal file
2
docs/types/banani.BlockHash.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>BlockHash | 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="../modules/banani.html">banani</a></li><li><a href="banani.BlockHash.html">BlockHash</a></li></ul><h1>Type alias BlockHash</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">Block<wbr/>Hash</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><div class="tsd-comment tsd-typography"><p>32 byte block hash represented as 64 char hexadecimal</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in node_modules/banani/rpc_types.ts:5</li></ul></aside></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>
|
||||
1
docs/types/banani.BlockLegacyTypes.html
Normal file
1
docs/types/banani.BlockLegacyTypes.html
Normal file
File diff suppressed because one or more lines are too long
1
docs/types/banani.BlockStateChangeTypes.html
Normal file
1
docs/types/banani.BlockStateChangeTypes.html
Normal file
File diff suppressed because one or more lines are too long
1
docs/types/banani.BlockSubtype.html
Normal file
1
docs/types/banani.BlockSubtype.html
Normal file
File diff suppressed because one or more lines are too long
2
docs/types/banani.Whole.html
Normal file
2
docs/types/banani.Whole.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Whole | 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="../modules/banani.html">banani</a></li><li><a href="banani.Whole.html">Whole</a></li></ul><h1>Type alias Whole</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">Whole</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">`</span></div><div class="tsd-comment tsd-typography"><p>Does NOT mean whole number, can be decimal like "4.2001". Use instead of regular number since those lose precision when decimal</p>
|
||||
</div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in node_modules/banani/util.ts:128</li></ul></aside></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>
|
||||
1
docs/types/banani.WorkFunction.html
Normal file
1
docs/types/banani.WorkFunction.html
Normal file
File diff suppressed because one or more lines are too long
1
docs/variables/LOG.html
Normal file
1
docs/variables/LOG.html
Normal file
File diff suppressed because one or more lines are too long
6
main.ts
Normal file
6
main.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
export * from "./util";
|
||||
export * from "./resolver";
|
||||
export * from "./manager";
|
||||
export * from "./types";
|
||||
export * as banani from "banani";
|
||||
|
||||
79
manager.ts
Normal file
79
manager.ts
Normal file
@@ -0,0 +1,79 @@
|
||||
import type { Address, RPC } from "banani";
|
||||
import { get_address_from_public_key, raw_to_whole, whole_to_raw, Wallet } from "banani";
|
||||
|
||||
import type { Domain } from "./types";
|
||||
import { DomainAccount, TLDAccount } from "./resolver";
|
||||
import { decode_domain_name, encode_domain_name, LOG } from "./util";
|
||||
|
||||
export class TLDAccountManager extends TLDAccount {
|
||||
wallet: Wallet;
|
||||
|
||||
constructor(rpc: RPC, wallet: Wallet) {
|
||||
super(rpc, wallet.address);
|
||||
this.wallet = wallet;
|
||||
}
|
||||
|
||||
//highly recommended to call `this.get_all_issued` first or otherwise populate `this.all_issued` in order to not issue a domain name that has already been issued already (the second issuance will be invalid and unrecognised)
|
||||
async issue_domain_name(domain_name: string, to: Address): Promise<string> {
|
||||
if (this.all_issued.some((domain) => domain.name === domain_name)) throw new Error("Cannot issue a domain name that is already issued");
|
||||
const block_hash = await this.wallet.send(to, "0.00120703011", undefined, get_address_from_public_key(encode_domain_name(domain_name)));
|
||||
//
|
||||
//this.all_issued.push(domain_name);
|
||||
return block_hash;
|
||||
}
|
||||
|
||||
//ideally tld starts out with say, 100 Banano to open with, and never needs to receive anything ever again. 100 Banano is over for over 80k domain issuances.
|
||||
async receive() {
|
||||
//up to 20, technically
|
||||
await this.wallet.receive_all();
|
||||
}
|
||||
}
|
||||
|
||||
export class DomainAccountManager extends DomainAccount {
|
||||
wallet: Wallet;
|
||||
domain?: Domain;
|
||||
|
||||
constructor(rpc: RPC, wallet: Wallet, domain?: Domain) {
|
||||
super(rpc, wallet.address);
|
||||
this.wallet = wallet;
|
||||
this.domain = domain;
|
||||
}
|
||||
|
||||
async receive_domain(receive_hash: string, allow_burning?: boolean) {
|
||||
let burning = false;
|
||||
const { history } = await this.rpc.get_account_history(this.address, 1);
|
||||
if (history.length > 1 && !allow_burning) {
|
||||
burning = true;
|
||||
throw new Error("`allow_burning` must be true in order to receive this domain");
|
||||
}
|
||||
const block_info = await this.rpc.get_block_info(receive_hash);
|
||||
const min = whole_to_raw("0.0012070301");
|
||||
const max = whole_to_raw("0.00120703011");
|
||||
const amount = BigInt(block_info.amount);
|
||||
if (amount < min || amount > max) throw new Error("`receive_hash` is not a Domain Transfer block");
|
||||
await this.wallet.receive(receive_hash);
|
||||
//
|
||||
}
|
||||
|
||||
async transfer_domain(domain_name: string, to: Address): Promise<string> {
|
||||
const balance = (await this.wallet.get_account_info()).balance;
|
||||
const min = whole_to_raw("0.0012070301");
|
||||
const max = whole_to_raw("0.00120703011");
|
||||
let send_amount = raw_to_whole(max);
|
||||
if (max > BigInt(balance) && min <= BigInt(balance)) send_amount = raw_to_whole(BigInt(balance));
|
||||
const block_hash = await this.wallet.send(to, send_amount, undefined, get_address_from_public_key(encode_domain_name(domain_name)));
|
||||
//
|
||||
return block_hash;
|
||||
}
|
||||
|
||||
async declare_domain_metadata(metadata_hash: string) {
|
||||
await this.wallet.change_representative(get_address_from_public_key(metadata_hash));
|
||||
//
|
||||
}
|
||||
|
||||
async declare_domain_resolve_to(address: Address) {
|
||||
await this.wallet.send(address, raw_to_whole(4224n));
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
1
node_test/.secret
Normal file
1
node_test/.secret
Normal file
@@ -0,0 +1 @@
|
||||
D250AD4A09B9EF5D5A2F50A99C03864816A9216A1F08F3C0D8B7FF648EF89DEF
|
||||
58
node_test/index.js
Normal file
58
node_test/index.js
Normal file
@@ -0,0 +1,58 @@
|
||||
import * as bns from "../main.js";
|
||||
import * as fs from "fs";
|
||||
import * as crypto from "crypto";
|
||||
|
||||
(async () => {
|
||||
const test_seed = fs.readFileSync("./.secret", "utf-8").trim();
|
||||
|
||||
let rpc = new bns.banani.RPC("https://kaliumapi.appditto.com/api"); //for sending cause it does work
|
||||
let rpc2 = new bns.banani.RPC("https://api.banano.trade/proxy", true); //for resolver cause it supports raw account history
|
||||
|
||||
let tld_wallet = new bns.banani.Wallet(rpc, test_seed);
|
||||
|
||||
console.log(await new bns.Resolver(rpc2, { "test": tld_wallet.address }).resolve_backwards_ish("ban_1119d44eg3fey3mxpk8mshn7gf5dfzsuiaz1ypoh5nqy8bxbao54zzc5rnka", "test"));
|
||||
|
||||
let tld = new bns.TLDAccountManager(rpc, tld_wallet);
|
||||
|
||||
await tld.receive();
|
||||
|
||||
const rand_wallet = bns.banani.Wallet.gen_random_wallet(rpc);
|
||||
|
||||
const rand_name = `test${String(Math.random()).replaceAll(".", "")}`;
|
||||
|
||||
const issue_hash = await tld.issue_domain_name(rand_name, rand_wallet.address);
|
||||
|
||||
const rand_dam = new bns.DomainAccountManager(rpc, rand_wallet);
|
||||
|
||||
await rand_dam.receive_domain(issue_hash);
|
||||
|
||||
await rand_dam.declare_domain_resolve_to("ban_3346kkobb11qqpo17imgiybmwrgibr7yi34mwn5j6uywyke8f7fnfp94uyps");
|
||||
|
||||
await rand_dam.declare_domain_metadata("1".repeat(64));
|
||||
|
||||
await rand_dam.declare_domain_resolve_to("ban_1burnbabyburndiscoinferno111111111111111111111111111aj49sw3w");
|
||||
|
||||
const rand_wallet2 = bns.banani.Wallet.gen_random_wallet(rpc);
|
||||
|
||||
const transfer_hash = await rand_dam.transfer_domain(rand_name, rand_wallet2.address);
|
||||
|
||||
const rand_dam2 = new bns.DomainAccountManager(rpc, rand_wallet2);
|
||||
|
||||
await rand_dam2.receive_domain(transfer_hash);
|
||||
|
||||
await rand_dam2.declare_domain_metadata("0".repeat(64));
|
||||
|
||||
//await rand_dam2.declare_domain_resolve_to("ban_1o7ija3mdbmpzt8qfnck583tn99fiupgbyzxtbk5h4g6j57a7rawge6yzxqp");
|
||||
|
||||
const resolver = new bns.Resolver(rpc2, { "test": tld_wallet.address });
|
||||
|
||||
console.log(`${rand_name}.test`, await resolver.resolve(rand_name, "test"));
|
||||
|
||||
console.log("tld issued", await (new bns.TLDAccount(rpc2, tld_wallet.address)).get_all_issued())
|
||||
|
||||
//let d_wallet = new bns.banani.Wallet(rpc, test_seed, 1);
|
||||
|
||||
//
|
||||
/**/
|
||||
})();
|
||||
|
||||
7
node_test/package.json
Normal file
7
node_test/package.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"scripts": {
|
||||
"test": "cd ..; tsc -p .; cd node_test; node index.js"
|
||||
},
|
||||
"type": "module"
|
||||
}
|
||||
|
||||
618
package-lock.json
generated
Normal file
618
package-lock.json
generated
Normal file
@@ -0,0 +1,618 @@
|
||||
{
|
||||
"name": "bns",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"dependencies": {
|
||||
"banani": "^1.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"esbuild": "^0.21.4",
|
||||
"typedoc": "^0.25.13",
|
||||
"typescript": "^5.4.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/aix-ppc64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
|
||||
"integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"aix"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/android-arm": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
|
||||
"integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/android-arm64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
|
||||
"integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/android-x64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/darwin-arm64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
|
||||
"integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/darwin-x64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/freebsd-arm64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
|
||||
"integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"freebsd"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/freebsd-x64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"freebsd"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-arm": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
|
||||
"integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-arm64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
|
||||
"integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-ia32": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
|
||||
"integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-loong64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
|
||||
"integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
|
||||
"cpu": [
|
||||
"loong64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-mips64el": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
|
||||
"integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
|
||||
"cpu": [
|
||||
"mips64el"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-ppc64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
|
||||
"integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-riscv64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
|
||||
"integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
|
||||
"cpu": [
|
||||
"riscv64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-s390x": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
|
||||
"integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
|
||||
"cpu": [
|
||||
"s390x"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-x64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/netbsd-x64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"netbsd"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/openbsd-x64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"openbsd"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/sunos-x64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"sunos"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/win32-arm64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
|
||||
"integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/win32-ia32": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
|
||||
"integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/win32-x64": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
|
||||
"integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/ansi-sequence-parser": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz",
|
||||
"integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/b4a": {
|
||||
"version": "1.6.6",
|
||||
"resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz",
|
||||
"integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==",
|
||||
"license": "Apache-2.0"
|
||||
},
|
||||
"node_modules/balanced-match": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
||||
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/banani": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/banani/-/banani-1.0.2.tgz",
|
||||
"integrity": "sha512-oOpAdRM8lA8nrgLLeGtZsHufYUEeo0ZoA7HhK3k2QWJu7e5CJN9j7TRiJNTQYT8p4QR5gUThCu2MlkmbYOkN7Q==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"blake2b": "^2.1.4"
|
||||
}
|
||||
},
|
||||
"node_modules/blake2b": {
|
||||
"version": "2.1.4",
|
||||
"resolved": "https://registry.npmjs.org/blake2b/-/blake2b-2.1.4.tgz",
|
||||
"integrity": "sha512-AyBuuJNI64gIvwx13qiICz6H6hpmjvYS5DGkG6jbXMOT8Z3WUJ3V1X0FlhIoT1b/5JtHE3ki+xjtMvu1nn+t9A==",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"blake2b-wasm": "^2.4.0",
|
||||
"nanoassert": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/blake2b-wasm": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/blake2b-wasm/-/blake2b-wasm-2.4.0.tgz",
|
||||
"integrity": "sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"b4a": "^1.0.1",
|
||||
"nanoassert": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/brace-expansion": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
|
||||
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"balanced-match": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/esbuild": {
|
||||
"version": "0.21.5",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
|
||||
"integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"esbuild": "bin/esbuild"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@esbuild/aix-ppc64": "0.21.5",
|
||||
"@esbuild/android-arm": "0.21.5",
|
||||
"@esbuild/android-arm64": "0.21.5",
|
||||
"@esbuild/android-x64": "0.21.5",
|
||||
"@esbuild/darwin-arm64": "0.21.5",
|
||||
"@esbuild/darwin-x64": "0.21.5",
|
||||
"@esbuild/freebsd-arm64": "0.21.5",
|
||||
"@esbuild/freebsd-x64": "0.21.5",
|
||||
"@esbuild/linux-arm": "0.21.5",
|
||||
"@esbuild/linux-arm64": "0.21.5",
|
||||
"@esbuild/linux-ia32": "0.21.5",
|
||||
"@esbuild/linux-loong64": "0.21.5",
|
||||
"@esbuild/linux-mips64el": "0.21.5",
|
||||
"@esbuild/linux-ppc64": "0.21.5",
|
||||
"@esbuild/linux-riscv64": "0.21.5",
|
||||
"@esbuild/linux-s390x": "0.21.5",
|
||||
"@esbuild/linux-x64": "0.21.5",
|
||||
"@esbuild/netbsd-x64": "0.21.5",
|
||||
"@esbuild/openbsd-x64": "0.21.5",
|
||||
"@esbuild/sunos-x64": "0.21.5",
|
||||
"@esbuild/win32-arm64": "0.21.5",
|
||||
"@esbuild/win32-ia32": "0.21.5",
|
||||
"@esbuild/win32-x64": "0.21.5"
|
||||
}
|
||||
},
|
||||
"node_modules/jsonc-parser": {
|
||||
"version": "3.3.1",
|
||||
"resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz",
|
||||
"integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/lunr": {
|
||||
"version": "2.3.9",
|
||||
"resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz",
|
||||
"integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/marked": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz",
|
||||
"integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"marked": "bin/marked.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12"
|
||||
}
|
||||
},
|
||||
"node_modules/minimatch": {
|
||||
"version": "9.0.5",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
|
||||
"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"brace-expansion": "^2.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16 || 14 >=14.17"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/isaacs"
|
||||
}
|
||||
},
|
||||
"node_modules/nanoassert": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-2.0.0.tgz",
|
||||
"integrity": "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA==",
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/shiki": {
|
||||
"version": "0.14.7",
|
||||
"resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.7.tgz",
|
||||
"integrity": "sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-sequence-parser": "^1.1.0",
|
||||
"jsonc-parser": "^3.2.0",
|
||||
"vscode-oniguruma": "^1.7.0",
|
||||
"vscode-textmate": "^8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/typedoc": {
|
||||
"version": "0.25.13",
|
||||
"resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.13.tgz",
|
||||
"integrity": "sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"lunr": "^2.3.9",
|
||||
"marked": "^4.3.0",
|
||||
"minimatch": "^9.0.3",
|
||||
"shiki": "^0.14.7"
|
||||
},
|
||||
"bin": {
|
||||
"typedoc": "bin/typedoc"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 16"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x"
|
||||
}
|
||||
},
|
||||
"node_modules/typescript": {
|
||||
"version": "5.4.5",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
|
||||
"integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"bin": {
|
||||
"tsc": "bin/tsc",
|
||||
"tsserver": "bin/tsserver"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.17"
|
||||
}
|
||||
},
|
||||
"node_modules/vscode-oniguruma": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz",
|
||||
"integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/vscode-textmate": {
|
||||
"version": "8.0.0",
|
||||
"resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz",
|
||||
"integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
}
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user