# Functions
ComposeErrors will take multiple errors and compose them into a single errors with a longer message.
CopyDir copies a directory and all of its contents to the destination directory.
CopyFile copies a file from a source to a destination.
Critical should be called if a sanity check has failed, indicating developer error.
ExtendErr will return a new error which extends the input error with a string.
ExtractTarGz extracts the specified .tar.gz file to dir, overwriting existing files in the event of a name conflict.
JoinErrors concatenates the elements of errs to create a single error.
MustParse creates a version based on a given string, panics in case the given string is invalid.
NewPrereleaseVersion creates a new protocol prerelease version.
NewVersion creates a new protocol version.
Parse attempts to create a version based on a given string.
Retry will call 'fn' 'tries' times, waiting 'durationBetweenAttempts' between each attempt, returning 'nil' the first time that 'fn' returns nil.
Select returns the field of v that corresponds to the current Release.
Severe will print a message to os.Stderr.
TempDir joins the provided directories and prefixes them with the Sia testing directory.
# Constants
DEBUG indicates wether it is a debug build, and if so panics will be thrown, where not strictly necessary for operational purposes.
sizeof(uint32==64) + sizeof([8]uint8).
Release indicates the kind of release that is built, defining timings, amount of (extra) runtime checks.
# Variables
SiaTestingDir is the directory that contains all of the files and folders created during testing.
Version is the current version of rivined.
# Structs
ProtocolVersion defines the protocol version that a node uses.
A Var represents a variable whose value depends on which Release is being compiled.
# Type aliases
InvalidVersionError indicates a protocol version is invalid.