schema

the protocol's hardcoded constants, keystone callbacks, and view interface.

constants

total supply21,000,000 × 10^18
launchpadpons
span fee0
tick spacing64
max tick range±443636 (within the conduit's bound of ±887272)
coefficient walk windowfixed band around the active tick
stage count7
threshold precision18 decimals
coefficient max1.000 (1e18 fixed-point)

all constants are fixed in the contract bytecode and the immutable token config. total supply is minted once at deployment. there is no mint function and no owner. none of these can be changed by any caller, including the deployer.

contract callbacks and functions

postGraduate
postSettle
preSpanOpen
preSpanClose
updateCoefficientState
emitStageTransition

the keystone callbacks are invoked by the pons conduit on every swap and liquidity change through the bound span and dispatch internally on direction. the conduit validates the keystone's mined address flags before invocation; a callback the address does not authorize can never fire, and pons cannot grant one later.

view functions

getConcentrationCoefficient() → uint256the current concentration coefficient as 18-decimal fixed-point. the value the creature's tameness is computed from.
getCumulativeSwapCount() → uint256total swaps the keystone has processed across the bound span's lifetime. incremented in the settle path, never decremented.
getCurrentTick() → int24the span's active tick at the moment of the call, read from span state and returned without modification.
getStageMetrics() → (uint256, uint256, int256)batched read returning coefficient, swap count, and delta per swap in a single call to minimize round-trips for the frontend.
getAllowableTickWidth() → uint256the current maximum tick width for new deposits, computed live from MAX_TICK_RANGE × (1 − coefficient). the keystone reverts when an attempted deposit exceeds this value.
getCoefficientWalkResult(int24 activeTick) → uint256deterministic re-computation of the coefficient given a hypothetical active tick, used by the frontend to predict tameness transitions.

events

CoefficientUpdated(uint256 oldValue, uint256 newValue, int24 atTick)emitted by the swap path whenever the coefficient changes. consumed by off-chain indexers to build historical state.
StageTransition(uint8 fromStage, uint8 toStage, uint256 coefficient)emitted whenever the swap path causes the coefficient to cross a tameness threshold. the archive indexes these as the creature's taming log.
LiquidityRangeRejected(address provider, int24 tickLower, int24 tickUpper)emitted by the position-open path when a deposit is rejected. the deposit reverts; this event is the only on-chain record that the attempt was made.
TickWalk(int24 activeTick, uint256 walkedTicks, uint256 gasUsed)emitted on every swap-path execution with diagnostic data about the tick walk, useful for frontend rendering and gas analysis.