dex(0x9999): scrub stale 0x9010 comments — 0x9999 is the sole DEX precompile (v0.5.54)

Red L1 (cleanup): three comment blocks still described a forwarding/reverting
0x9010 that no longer exists. 0x9010 is removed (not a registered precompile, no
dispatch, no forward); 0x9999 is the SOLE DEX precompile, one money path, one
replay namespace (dex.precompile.v1.9999.*). Comment-only — no behavior change.

  - settle_addr.go:  LXSettleAddress doc no longer claims 0x9010 forwards here.
  - settle_module.go: module doc drops the '0x9010 FORWARDS its swap' clause.
  - types.go:        LP-901x block reframed as RETIRED address space (constants
                     kept only so values are not reused; nothing dispatches there).
This commit is contained in:
2026-06-21 12:37:59 -07:00
parent 3c2fdf23c4
commit 3e720a92d4
3 changed files with 10 additions and 12 deletions
+4 -4
View File
@@ -9,10 +9,10 @@ import (
)
// LXSettleAddress is THE production DEX settlement precompile (LP-9999). It is
// the SOLE money path: every value-moving DEX call settles here by verifying a
// D-Chain fill receipt + certificate. The deprecated 0x9010 V4 PoolManager
// forwards value-moving calls to this exact implementation sharing this exact
// storage namespace (never two replay maps, never two money paths).
// the SOLE money path and the SOLE DEX precompile: every value-moving DEX call
// settles here via the native C<->D two-phase atomic seam. 0x9010 was removed;
// 0x9999 is the sole DEX precompile — there is exactly one money path and one
// replay namespace (dex.precompile.v1.9999.*), never two.
const LXSettleAddress = "0x0000000000000000000000000000000000009999"
// poolManagerAddr9999 is the 0x9999 settlement address as a common.Address. All
+1 -2
View File
@@ -34,8 +34,7 @@ var DefaultDAOTreasury = common.HexToAddress("0x9011E888251AB053B7bD1cdB598Db4f9
// - settlement governance: register a validator set, set halt layers (gated on
// the same protocolFeeController authority as the existing pause controls).
//
// 0x9010 (the deprecated V4 PoolManager) FORWARDS its swap to SettleSwap and
// reverts other value-moving calls with PRECOMPILE_MOVED — one money path, one
// 0x9010 was removed; 0x9999 is the sole DEX precompile — one money path, one
// replay namespace (dex.precompile.v1.9999.*), never two.
var settleConfigKey = "dexSettleConfig"
+5 -6
View File
@@ -57,12 +57,11 @@ const (
DEXFHEAddress = "0x0000000000000000000000000000000000009994" // LP-9994 FHE (RESERVED — constant only, not implemented)
DEXAdminAddress = "0x0000000000000000000000000000000000009993" // LP-9993 Admin (RESERVED — constant only, not implemented)
// Core DEX (LP-901x) — DEPRECATED legacy V4 PoolManager. 0x9010 now reverts
// PRECOMPILE_MOVED for ALL value-moving selectors (incl swap); apps call 0x9999.
// Only read-only views (balanceOf/extsload/extsloadArray) stay live. The
// LXOracle/LXRouter/LXHooks/LXFlash/LXBook slots below are LEGACY (the canonical
// surface is the LP-9999 family above); kept as constants, not churned.
LXPoolAddress = "0x0000000000000000000000000000000000009010" // LP-9010 LXPool (DEPRECATED v4 PoolManager — read-only views only)
// Core DEX (LP-901x) — RETIRED address space. 0x9010 was removed; 0x9999 is the
// sole DEX precompile. These addresses are kept as constants ONLY so the values
// are not reused; nothing dispatches at them. The canonical surface is the
// LP-9999 family above.
LXPoolAddress = "0x0000000000000000000000000000000000009010" // LP-9010 LXPool (REMOVED — constant only, not dispatched)
LXOracleAddress = "0x0000000000000000000000000000000000009011" // LP-9011 LXOracle (legacy)
LXRouterAddress = "0x0000000000000000000000000000000000009012" // LP-9012 LXRouter (legacy)
LXHooksAddress = "0x0000000000000000000000000000000000009013" // LP-9013 LXHooks (legacy)