# Functions

DisableLog disables all library log output.
NewArchive creates a new universe archive based on the passed config.
NewFederationEnvoy creates a new federation envoy from the passed config.
NewProofTypeFromAsset returns the proof type for the given asset proof.
NewServerAddr creates a new server address from both the universe addr ID and the host name string.
NewServerAddrFromStr creates a new server address from a string that is the host name of the remote universe server.
NewSimpleSyncer creates a new SimpleSyncer instance.
NewUniIDFromAsset creates a new universe ID from an asset.
NewUniIDFromRawArgs creates a new universe ID from the raw arguments.
ParseStrProofSyncStatus parses a string into a ProofSyncStatus.
ParseStrProofType returns the proof type corresponding to the given string.
ParseStrSyncDirection parses a string into a SyncDirection.
UseLogger uses a specified Logger to output package logging info.
ValidateProofUniverseType validates that the proof type matches the universe identifier proof type.

# Constants

DefaultTimeout is the default timeout we use for RPC and database operations.
DefaultUniverseRPCPort is the default port that the universe RPC is hosted on.
MaxPageSize is the maximum page size that can be used when querying for asset roots and leaves.
ProofSyncStatusComplete indicates that the sync is complete.
ProofSyncStatusPending indicates that the sync is pending.
ProofTypeIssuance corresponds to the issuance proof type.
ProofTypeTransfer corresponds to the transfer proof type.
ProofTypeUnspecified signifies an unspecified proof type.
SortAscending is a sentinel value that indicates that the sort should be in ascending order.
SortByAssetID sorts the returned stats by the asset ID.
SortByAssetName sorts the returned stats by the asset name.
SortByAssetType sorts the returned stats by the asset type.
SortByGenesisHeight sorts the returned stats by the genesis height.
SortByNone is a sentinel value that indicates that no sorting should be done.
SortByTotalProofs sorts the returned stats by the total number of proofs.
SortByTotalSupply sorts the returned stats by the total supply.
SortByTotalSyncs sorts the returned stats by the total number of syncs.
SortDescending is a sentinel value that indicates that the sort should be in descending order.
Subsystem defines the logging code for this subsystem.
SyncDirectionPull indicates that the sync is a pull sync (from the remote server to the local server).
SyncDirectionPush indicates that the sync is a push sync (from the local server to the remote server).
SyncFull is a sync that will sync all the assets in the universe.
SyncIssuance is a sync that will only sync new asset issuance events.

# Variables

ErrDuplicateUniverse is returned when the Universe server being added to the DB already exists.
ErrNoUniverseProofFound is returned when a user attempts to look up a key in the universe that actually points to the empty leaf.
ErrNoUniverseRoot is returned when no universe root is found.
ErrNoUniverseServers is returned when no active Universe servers are found in the DB.
ErrUnsupportedSync is returned when a syncer is asked to async in a way that it does not support.

# Structs

AggregateStats is a set of aggregate stats for a given Universe.
Archive is a persistence implementation of the universe interface.
ArchiveConfig is the main config for the archive.
AssetSyncDiff is the result of a success Universe sync.
AssetSyncSnapshot is a snapshot of the sync activity for a given asset.
AssetSyncStats is the response to a SyncStatsQuery request.
Commitment is an on chain universe commitment.
CommittedIssuanceProof couples together a Bitcoin level merkle proof commitment with an issuance proof.
FederationConfig is a config that the FederationEnvoy will use to synchronize new updates between the current set of federated Universe nodes.
FederationEnvoy is used to manage synchronization between the set of federated Universe servers.
FederationProofBatchPushReq is used to push out a batch of universe proof leaves to all or some members of the federation.
FederationPushReq is used to push out new updates to all or some members of the federation.
FedGlobalSyncConfig is a config that can be used to specify the global (default) federation sync behavior.
FedUniSyncConfig is a config that can be used to specify the federation sync behavior for a given Universe.
GenesisWithGroup is a two tuple that groups the genesis of an asset with the group key it's associated with (if that exists).
GroupedStats is a type for aggregated stats grouped by day.
GroupedStatsQuery packages a set of query parameters to retrieve event based stats.
Identifier is the identifier for a universe.
Item contains the data fields necessary to insert/update a proof leaf within a multiverse and the related asset (group) specific universe.
Leaf is a leaf node in the SMT that represents an asset issuance or transfer.
LeafKey is the top level leaf key for a universe.
MultiverseLeaf is the leaf within a Multiverse, this stores a value which is derived from the root of a normal Universe tree.
MultiverseRoot is the ms-smt root for a multiverse.
Proof associates a universe leaf (and key) with its corresponding multiverse and universe inclusion proofs.
ProofSyncLogEntry is a log entry for a proof sync.
Root is the ms-smt root for a universe.
No description provided by the author
ServerAddr wraps the reachable network address of a remote universe server.
SimpleSyncCfg contains all the configuration needed to create a new SimpleSyncer.
SimpleSyncer is a simple implementation of the Syncer interface.
SyncConfigs is a set of configs that are used to control which universes to synchronize with the federation.
SyncStatsQuery packages a set of query parameters to retrieve stats related to the sync activity of a given Universe.
No description provided by the author

# Interfaces

BaseBackend is the backend storage interface for a base universe.
BatchRegistrar is an interface that allows a caller to register a batch of proof items within a universe.
Canonical is an interface that allows a caller to query for the latest canonical Universe information related to an asset.
ChainCommitter is used to commit a Universe backend in the chain.
DiffEngine is a Universe diff engine that can be used to compare the state of two universes and find the set of assets that are different between them.
FederationDB is used for CRUD operations related to federation logs and configuration.
FederationLog is used to keep track of the set Universe servers that comprise our current federation.
FederationProofSyncLog is used for CRUD operations relating to the federation proof sync log.
FederationSyncConfigDB is used to manage the set of Universe servers as part of a federation.
MultiverseArchive is an interface used to keep track of the set of universe roots that we know of.
Registrar is an interface that allows a caller to upsert a proof leaf in a local/remote universe instance.
Syncer is used to synchronize the state of two Universe instances: a local instance and a remote instance.
Telemetry it a type used by the Universe syncer and base universe to export telemetry information about the sync process.

# Type aliases

ProofSyncStatus is the status of a proof sync.
ProofType is an enum that describes the type of proof which can be stored in a given universe.
SortDirection is an enum used to specify the sort direction of the returned.
SyncDirection is the direction of a proof sync.
SyncStatsSort is an enum used to specify the sort order of the returned sync stats.
SyncType is an enum that describes the type of sync that should be performed between a local and remote universe.
UniverseKey represents the key used to locate an item within a universe.