LatticeVersion
Title: LatticeVersion
Author: David Dada <daveproxy80@gmail.com> (https://github.com/dadadave80)
Canonical, library-wide version of the Lattice contract modules. This is the single source of truth that every facet's lattice-version NatSpec tag mirrors.
INTENTIONALLY SELECTOR-FREE. Lattice modules are EIP-2535 Diamond facets, and any public/external VERSION() getter would register selector 0xffa1ad74, which would collide the instant two facets are mounted in the same Diamond. These values are therefore exposed only as internal constants (inlined at the call site, no public selector) and the version itself MUST never be re-exposed as an external/public function on any facet.
Lattice is unaudited and pre-1.0; the semantic version starts at 0.1.0.
DO NOT bump these values by hand: Release Please rewrites the annotated lines on every
release PR (this file is an extra-files generic-updater target in
release-please-config.json), and DeployRelease defaults to VERSION — so the released
registry keys, this library, and the git tag stay in lockstep with zero manual edits.
Constants
VERSION
The full semantic version string of the Lattice library (e.g. "0.1.0").
string internal constant VERSION = "0.5.0";MAJOR
The major component of VERSION. Pre-1.0 / unaudited while this is 0.
The component constants use the digit-free uint alias ON PURPOSE: release-please's
generic updater rewrites numbers on its annotated lines (the trailing markers below), and the
256 in uint256 got clobbered to the non-type uint0 in the 0.2.0 release PR. Keep those
lines free of any digits except the version value itself; the forgefmt disable comments stop
forge fmt from normalizing uint back to uint256.
uint internal constant MAJOR = 0;MINOR
The minor component of VERSION.
uint internal constant MINOR = 5;PATCH
The patch component of VERSION.
uint internal constant PATCH = 0;