# Packages
No description provided by the author
No description provided by the author
No description provided by the author
# Functions
Deserialize returns a PrivacyFlags struct from a serialized representation.
DeserializeSession deserializes a session from the given reader, expecting the data to be encoded in the tlv format.
IDFromBytes is a helper function that creates a session ID from a byte slice.
IDFromMacaroon is a helper function that creates a session ID from a macaroon ID.
IDFromMacRootKeyID converts a macaroon root key ID to a session ID.
IsSuperMacaroon returns true if the given hex encoded macaroon is a super macaroon baked by LiT which can be identified by its root key ID.
NewDB creates a new bolt database that can be found at the given directory.
No description provided by the author
NewSession creates a new session with the given user-defined parameters.
NewSessionPrivKeyAndID randomly derives a new private key and session ID pair.
NewSuperMacaroonRootKeyID returns a new macaroon root key ID that has the prefix to mark it as a super macaroon root key.
Parse constructs privacy flags from its string representation.
ParseMacaroon parses a hex encoded macaroon into its native struct.
RootKeyIDFromMacaroon extracts the root key ID of the passed macaroon.
SerializeSession binary serializes the given session to the writer using the tlv format.
UseLogger uses a specified Logger to output package logging info.
# Constants
ClearAmounts is a privacy flag that indicates that the amounts in the API should not be obfuscated.
ClearChanIDs is a privacy flag that indicates that the channel id and channel points in API should not be obfuscated.
ClearChanInitiator is a privacy flag that indicates that the channel initiator in the API should not be obfuscated.
ClearClosingTxIds is a privacy flag that indicates that the channel closing transaction ids in the API should not be obfuscated.
ClearHTLCs is a privacy flag that indicates that the HTLCs in the API should not be obfuscated.
ClearNetworkAddresses is a privacy flag that indicates that the network addresses in the API should not be obfuscated.
ClearPubkeys is a privacy flag that indicates that the public node ids in API should be treated as clear text.
ClearTimeStamps is a privacy flag that indicates that the timestamps in the API should not be obfuscated.
DBFilename is the default filename of the session database.
DefaultSessionDBTimeout is the default maximum time we wait for the session bbolt database to be opened.
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
# Variables
ErrDBInitErr is returned when a bucket that we expect to have been set up during DB initialisation is not found.
ErrDBReversion is returned when detecting an attempt to revert to a prior database version.
ErrSessionNotFound is an error returned when we attempt to retrieve information about a session but it is not found.
ErrUnknownPrivacyFlag is an error that is returned when an unknown privacy flag is used.
SuperMacaroonRootKeyPrefix is the prefix we set on a super macaroon's root key to clearly mark it as such.
# Structs
DB is a bolt-backed persistent store.
MacaroonRecipe defines the permissions and caveats that should be used to bake a macaroon.
No description provided by the author
Session is a struct representing a long-term Terminal Connect session.
# Interfaces
IDToGroupIndex defines an interface for the session ID to group ID index.
Store is the interface a persistent storage must implement for storing and retrieving Terminal Connect sessions.
# Type aliases
FeaturesConfig is a map from feature name to a raw byte array which stores any config feature config options.
No description provided by the author
ID represents the id of a session.
MacaroonBaker is a function type for baking a super macaroon.
PrivacyFlag is an enum representing privacy flags for obfuscation behavior of feature configuration, feature rules and API calls.
PrivacyFlags is a struct representing a set of privacy flags.
State represents the state of a session.
SuperMacaroonValidator is a function type for validating a super macaroon.
Type represents the type of session.