# Functions

BotNameTransferTransactionFromTransaction creates a BotNameTransferTransaction, using a regular in-memory tfchain transaction.
BotNameTransferTransactionFromTransactionData creates a BotNameTransferTransaction, using the TransactionData from a regular in-memory tfchain transaction.
BotRecordUpdateTransactionFromTransaction creates a BotRecordUpdateTransaction, using a regular in-memory tfchain transaction.
BotRecordUpdateTransactionFromTransactionData creates a BotRecordUpdateTransaction, using the TransactionData from a regular in-memory tfchain transaction.
BotRegistrationTransactionFromTransaction creates a BotRegistrationTransaction, using a regular in-memory tfchain transaction.
BotRegistrationTransactionFromTransactionData creates a BotRegistrationTransaction, using the TransactionData from a regular in-memory tfchain transaction.
ComputeMonthlyBotFees computes the total monthly fees required for the given months, using the given oneCoin value as the currency's unit value.
NewBotName creates a new BotName from a given (valid) string.
NewNetworkAddress creates a new NetworkAddress from a given (valid) string.
NowAsCompactTimestamp returns the current Epoch Unix seconds time as a Tfchain Compact timestamp.
RandomTransactionNonce creates a random Transaction nonce.
SiaTimestampAsCompactTimestamp converts a Sia/Rivine Timestamp to a Tfchain Compact timestamp.

# Constants

3bot Multiplier fees that have to be multiplied with the OneCoin definition, in order to know the amount in the used chain currency (TFT).
3bot Multiplier fees that have to be multiplied with the OneCoin definition, in order to know the amount in the used chain currency (TFT).
BotMonth is defined as 30 days of exactly 24 hours, expressed in seconds.
3bot Multiplier fees that have to be multiplied with the OneCoin definition, in order to know the amount in the used chain currency (TFT).
3bot Multiplier fees that have to be multiplied with the OneCoin definition, in order to know the amount in the used chain currency (TFT).
CompactTimestampAccuracyInSeconds defines the lowest possible value that gets recorded in seconds.
CompactTimestampNullpoint defines the time at which the Timestamp starts (~Jan '18).
MaxAddressesPerBot defines the maximum amount of addresses allowed per unique bot.
MaxBotID defines the maximum value a Bot ID can have, in other words the biggest identifier value a Bot can have.
MaxBotPrepaidMonths defines the amount of months that is allowed to be maximum paid upfront, as to keep a 3bot active.
MaxBotPrepaidMonthsInSeconds defines the amount of time that is allowed to be maximum paid upfront, which is the equavalent of roughly 2 years.
MaxLengthBotName defines the maximum length a 3bot name can have.
MaxLengthHostname defines the maximum length a hostname can have, within the context of tfchain.
MaxNamesPerBot defines the maximum amount of names allowed per unique bot.
MinBotID defines the minimum value a botID can have, in other words the smallest identifier value a Bot can have.
NetworkAddressHostname represents a valid hostname, assumed to be a valid FQDN, and defined as described in RFC 1178.
NetworkAddressIPv4 represents an IPv4 address, meaning an address identified by 4 bytes, and defined as described in RFC 791.
NetworkAddressIPv6 represents an IPv6 address, meaning an address identified by 6 bytes, and defined as described in RFC 2460.
RegexpBotName is used to validate a (raw) 3bot name (string).
RegexpHostname is used to validate a (raw) hostname (string).
TransactionNonceLength defines the length of a TransactionNonce.
TransactionVersionBotNameTransfer defines the Transaction version for a Tx used to transfer one or multiple names from the active 3bot that up to the point of that Tx to another 3bot.
TransactionVersionBotRecordUpdate defines the Transaction version for a Tx used to update a 3bot Record by the owner.
TransactionVersionBotRegistration defines the Transaction version for a BotRegistration Transaction, used to register a new 3bot, where new means that the used public key cannot yet exist.

# Variables

Specifiers used to ensure the bot-signatures are unique within each Tx.
Specifiers used to ensure the bot-signatures are unique within each Tx.
ErrBotExpirationExtendOverflow is returned in case a 3bot's expiration date is extended using too many months (a max of 24 is allowed).
Bot validation errors.
public BotRecordReadRegistry errors.
Bot validation errors.
ErrBotNameDoesNotExist is the error returned in case a 3bot name is removed that is not registered in this 3bot.
public BotRecordReadRegistry errors.
public BotRecordReadRegistry errors.
ErrBotNameNotUnique is the error returned in case a 3bot name is added that is already registered in this 3bot.
ErrBotNameTooLong is the error returned in case a new bot name is attempted to be created using a too long string.
public BotRecordReadRegistry errors.
ErrHostnameTooLong is the error returned in case a new network address is attempted to be created with a too long string.
ErrInvalidBotName is the error returned in case a to-be-created (or decoded) botname.
ErrInvalidNetworkAddress is the error returned in case a to-be-created (or decoded) network address is invalid (meaning it is no valid hostname or IPv4/IPv6 address).
ErrNetworkAddressDoesNotExist is the error returned in case a network address is removed that is not registered in this 3bot.
ErrNetworkAddressNotUnique is the error returned in case a network address is added that is already registered in this 3bot.
ErrNilBotName is the error returned in case a new bot name is attempted to be created (from memory or bytes) from nil.
ErrNilHostname is the error returned in case a new network address is attempted to be created (from memory or bytes) from nil.
ErrTooManyBotAddresses is the error returned in case a bot which has more than 10 addresses defined is attempted to be (un)marshaled, or in case an amount of addresses to be added to the bot's record would overflow this limit of 10.
ErrTooManyBotNames is the error returned in case a bot which has more than 5 names defined is attempted to be (un)marshaled, or in case an amount of names to be added to the bot's record would overflow this limit of 5.
No description provided by the author
No description provided by the author
No description provided by the author

# Structs

No description provided by the author
BotMonthsAndFlagsData is a utility structure that is used to encode the NrOfMonths (paid up front for a 3bot) as well as several flags in a single byte.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NetworkAddress represents a NetworkAddress, meaning an IPv4/6 address or (domain) hostname.
No description provided by the author
PublicKeySignaturePair pairs a public key and a signature that can be validated with it.

# Interfaces

No description provided by the author

# Type aliases

No description provided by the author
CompactTimestamp binary marshals the regular Unix Epoch (seconds) Timestamp, in a custom format, such that it only requires 3 bytes in space.
NetworkAddressType defines the type of a network address.
TransactionNonce is a nonce used to ensure the uniqueness of an otherwise potentially non-unique Tx.