Package-level declarations
Types
An abstraction of a byte array, with offset and size that does no copying of bytes unless asked to.
Tuple of host and port. Use NetworkHostAndPort.parse on untrusted data.
An immutable ordered non-empty set.
A simple class that wraps a byte array and makes the equals/hashCode/toString methods work as you actually expect. In an ideal JVM this would be a value type and be completely overhead free. Project Valhalla is adding such functionality to Java, but it won't arrive for a few years yet!
Class is public for serialization purposes.
A progress tracker helps surface information about the progress of an operation to a user interface or API of some kind. It lets you define a set of steps that represent an operation. A step is represented by an object (typically a singleton).
Simple interface encapsulating the implicit Kotlin contract for immutable property delegates.
A small utility to approximate taint tracking: if a method gives you back one of these, it means the data came from a remote source that may be incentivised to pass us junk that violates basic assumptions and thus must be checked first. The wrapper helps you to avoid forgetting this vital step. Things you might want to check are:
Simple interface encapsulating the implicit Kotlin contract for mutable property delegates.
Properties
The maximum supported field-size for hash HEX-encoded outputs (e.g. database fields). This value is enough to support hash functions with outputs up to 512 bits (e.g. SHA3-512), in which case 128 HEX characters are required. 130 was selected instead of 128, to allow for 2 extra characters that will be used as hash-scheme identifiers.
Functions
Inspired by ThreadInfo.toString
Base58-String to the actual real String, i.e. "JxF12TrwUP45BMd" -> "Hello World".
Base64-String to the actual real String, i.e. "SGVsbG8gV29ybGQ=" -> "Hello World".
When called from a companion object, returns the logger for the enclosing class.
Returns the logger used for detailed logging.
Same as Future.get except that the ExecutionException is unwrapped.
Hex-String to ByteArray. Accept any hex form (capitalized, lowercase, mixed).
HEX-String to the actual real String, i.e. "48656C6C6F20576F726C64" -> "Hello World".
Return the Base58 representation of the serialised public key.
Return the bytes of the SHA-256 output for this public key.
A simple wrapper that enables the use of Kotlin's val x by transient { ... }
syntax. Such a property will not be serialized, and if it's missing (or the first time it's accessed), the initializer will be used to set it up.