# Functions
Abolish is a predicate that abolishes a predicate from the database.
Accounts returns an iterator that iterates over all accounts.
AllBalancesSorted returns the list of balances for the given address, sorted by coin denomination.
Asserta is a predicate that asserts a clause into the database as the first clause of the predicate.
Assertz is a predicate that asserts a clause into the database as the last clause of the predicate.
AtomicListConcat2 is a predicate that unifies an Atom with the concatenated elements of a List.
AtomicListConcat3 is a predicate that unifies an Atom with the concatenated elements of a List using a given separator.
BankBalances is a predicate which unifies the given terms with the list of balances (coins) of the given account.
BankLockedBalances is a predicate which unifies the given terms with the list of locked coins of the given account.
BankSpendableBalances is a predicate which unifies the given terms with the list of spendable coins of the given account.
Bech32Address is a predicate that convert a [bech32] encoded string into [base64] bytes and give the address prefix, or convert a prefix (HRP) and [base64] encoded bytes to [bech32] encoded string.
BlockHeader is a predicate which unifies the given term with the current block header.
BlockHeight is a predicate which unifies the given term with the current block height.
BlockTime is a predicate which unifies the given term with the current block time.
ChainID is a predicate which unifies the given term with the current chain ID.
CoinsToTerm converts the given coins to a term of the form:
[-(Denom, Amount), -(Denom, Amount), ...].
Consult is a predicate which read files as Prolog source code.
CryptoDataHash is a predicate that computes the Hash of the given Data using different algorithms.
CurrentOutput is a predicate that unifies the given term with the current output stream.
DIDComponents is a predicate which breaks down a DID into its components according to the [W3C DID] specification.
ECDSAVerify determines if a given signature is valid as per the ECDSA algorithm for the provided data, using the specified public key.
EDDSAVerify determines if a given signature is valid as per the EdDSA algorithm for the provided data, using the specified public key.
HexBytes is a predicate that unifies hexadecimal encoded bytes to a list of bytes.
IterMap transforms the output of an iterator by applying a given mapping function to each element.
JSONProlog is a predicate that unifies a JSON into a prolog term and vice versa.
JSONRead is a predicate that reads a JSON from a stream and unifies it with a Prolog term.
JSONWrite is a predicate that writes a Prolog term as a JSON to a stream.
LockedCoinsSorted returns the list of spendable coins for the given address, sorted by coin denomination.
Open is a predicate which opens a stream to a source or sink.
Open3 is a predicate which opens a stream to a source or sink.
ReadString is a predicate that reads characters from the provided Stream and unifies them with String.
ReadTerm3 is a predicate that reads a term from a stream or alias.
Retract is a predicate that retracts a clause from the database.
SortBalances by coin denomination.
SourceFile is a predicate which unifies the given term with the source file that is currently loaded.
SpendableCoinsSorted returns the list of spendable coins for the given address, sorted by coin denomination.
StringBytes is a predicate that unifies a string with a list of bytes, returning true when the (Unicode) String is represented by Bytes in Encoding.
TermToAtom is a predicate that describes Atom as a term that unifies with Term.
URIEncoded is a predicate that unifies the given URI component with the given encoded or decoded string.
WriteTerm3 is a predicate that writes a term to a stream or alias.
# Constants
DIDPrefix is the prefix for a DID.
# Variables
AtomEOF represents a specific type of JSON syntax error where an unexpected end-of-file occurs.
AtomMalformedJSON represents a specific type of JSON syntax error where the JSON is malformed.
AtomSyntaxErrorJSON represents a syntax error related to JSON.
AtomUnknown represents an unknown or unspecified syntax error.
AtomValidJSONNumber is the atom denoting a valid JSON number.