Several luxfi versions carry TWO different contents across this workspace,
because published tags were moved instead of a new patch being cut:
age@v1.5.0, pq@v1.0.3, threshold@v1.9.4, zap@v0.6.0, zap@v0.8.1.
Adjudicated before editing, since "checksum mismatch / SECURITY ERROR" is also
what a real supply-chain attack looks like. It is not one here: sum.golang.org
holds the OLD hash while proxy.golang.org and a direct fetch BOTH serve the same
NEW bytes. Two independent transports agreeing means nothing is rewriting
content in flight — the tag moved at source. The sumdb entry is a fossil:
GOPRIVATE covers github.com/luxfi/* with GOSUMDB=off, so our own modules never
consult the checksum DB and a moved tag splits consumers silently.
The old bytes are served by nothing now, so a stale pin can never build.
Corrected to the only content that exists, in BOTH line forms (h1: and
/go.mod h1:) — Go reports these one at a time, so a partial fix just relocates
the error.
Deliberately no `go mod tidy`: this changes no selected version, only the
recorded hash of versions already chosen.
Verified: `go list -m all` resolves with no checksum error.
The durable fix is upstream: never move a published tag, cut x.y.z+1 instead.
The 0x9999 DEX settlement precompile's emergency-halt + pot-seeding authority
must be a per-network governance CONTRACT resolved at runtime, NOT a hardcoded
mnemonic-derivable EOA. Add Runtime.GovernanceController (ids.ShortID, the geth-
free 20-byte type) + GetGovernanceController accessor so the host can bind the
network's governance authority and surface it to the precompile via
contract.AtomicState.GovernanceController() — the SAME runtime seam CChainID/
DChainID flow through, with zero per-net config file. The zero value is the safe
fail-closed default (an unset authority makes the halt switches uncallable, so no
single key can DoS the DEX).
Replace 'LQDTY on a Liquidity-sovereign primary' with generic 'the
L1's native on each downstream L1' so the doc comment doesn't name
Liquidity as a sovereign Lux-derived L1.
Picks up the 2026-06-06 relicensing:
- luxfi/vm v1.2.0 → Lux Ecosystem License v1.2 (was Lux Research v1.0).
License-only retag of the extracted runtime; patent reservation
preserved for runtime optimization surfaces, royalty-free for
Descending Chains.
- luxfi/sampler v1.1.0 → BSD-3-Clause (was Lux Research v1.0).
License restored to match the luxfi/node provenance (originally
extracted from node/utils/sampler).
- luxfi/staking v1.5.0 → BSD-3-Clause (was Lux Research v1.0).
License restored to match the luxfi/node provenance.
No code changes in this commit — go.mod/go.sum only.
The field on the runtime Runtime struct is the *primary network UTXO
fee asset* — burned to pay fees on P-chain (CreateChainTx,
AddChainValidatorTx, ...) and X-chain transfers. Naming it XAssetID
implied X-chain-specific scope; the asset is in fact shared by P+X
(both UTXO chains on the primary network) and is provided by the
chain's genesis, not by X-chain semantics.
Rename:
- Runtime.XAssetID → Runtime.UTXOAssetID
- JSON tag xAssetID → utxoAssetID
- local variables xAssetID → utxoAssetID
Comment expanded to spell out: "Same number on P and X by
construction; named for the function, not the chain."
Companion renames will land in:
- luxfi/node (wallet/{p,x}/builder.Context + node/config.XAssetID
+ vms/{platformvm,xvm} consumers)
- luxfi/sdk, luxfi/cli, luxfi/genesis
- liquidity (cli, node, contracts, network-bootstrap)
The field on the runtime Runtime struct is the *primary network UTXO
fee asset* — burned to pay fees on P-chain (CreateChainTx,
AddChainValidatorTx, ...) and X-chain transfers. Naming it XAssetID
implied X-chain-specific scope; the asset is in fact shared by P+X
(both UTXO chains on the primary network) and is provided by the
chain's genesis, not by X-chain semantics.
Rename:
- Runtime.XAssetID → Runtime.UTXOAssetID
- JSON tag xAssetID → utxoAssetID
- local variables xAssetID → utxoAssetID
Comment expanded to spell out: "Same number on P and X by
construction; named for the function, not the chain."
Companion renames will land in:
- luxfi/node (wallet/{p,x}/builder.Context + node/config.XAssetID
+ vms/{platformvm,xvm} consumers)
- luxfi/sdk, luxfi/cli, luxfi/genesis
- liquidity (cli, node, contracts, network-bootstrap)