Commit Graph
36 Commits
Author SHA1 Message Date
zeekayandHanzo Dev c67047cc8d docs: LLM.md documents the software, not our operation of it
This is a tracked file in a public repository. It carried a deployment analysis
naming a cluster, namespace and statefulset, a recovery narrative, transaction
hashes and balances from a running network, an address described as one the
author controls, and a run of dated Problem/Status-FIXED postmortems. That is
operational record, and it belongs to the private one.

The RewardManager section keeps the mechanism, the config that activates it, the
in-process proof, and the per-chain DAO addresses a reader needs to configure it;
what it exercised on a running network is now stated as what was verified rather
than as where and on which pods. The durable facts inside the postmortems are
kept as properties: no beacon chain, so the Cancun blob fields are not part of a
Lux EVM block; a genesis file has to reproduce the chain's block 0; importing
history moves the database under anything reading it.

Also drops "subnet" from two lines describing our own chains.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-26 13:32:49 -07:00
zeekayandHanzo Dev 7e4df5ea91 LLM.md: the local-node examples hit /v1 too
Six curl examples still told a reader to POST to localhost:9650/ext/...
Same defect as the code fixed in 98af1ed7: luxd pins baseURL="/v1" and has
never served /ext, so every one of these returns 404 page not found when
pasted into a shell.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-27 19:29:51 -07:00
zeekayandHanzo Dev 95adeaf614 docs(LLM): C-Chain fee routing — RewardManager->DAO live, fee-split dormant
Documents the owner decision: 100% of C-Chain tx fees route to the DAO Gov
Safe via the RewardManager precompile (config-only, proven on devnet), with
the 50/50 creditTxFee/FeeSplitTimestamp burn+stake split committed but DORMANT
(gated off) as a ready in-protocol option.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-17 17:21:34 -07:00
zooqueen 46a7de4200 test(parallel): live GPU ecrecover dispatch proof (Metal vtable, not CPU fallthrough)
Asserts DefaultGPU().Available()==true and GPU-recovered sender == CPU sender,
proving the block-insert ecrecover path dispatches to the real Metal backend
(libluxgpu_backend_metal.dylib) rather than the CPU fallthrough.
2026-06-22 02:36:21 -07:00
zeekay 458178730d evm: derive plugin VM ID from luxfi/constants.EVMID; bump luxfi/gpu v1.0.1
- cmd/vmid prints constants.EVMID — Go source of truth for the C-Chain VM
  ID. Build scripts and Makefile now call this instead of hardcoding the
  base58 string. Drops a stale subnet-evm ID (ag3GReYP…) from the Makefile.
- scripts/build.sh: default output is build/evm; INSTALL=1 installs under
  the derived VMID at \$LUX_PLUGIN_DIR. Codesigns on darwin in-line so a
  fresh binary doesn't get SIGKILLed by gatekeeper post-cp.
- core/parallel/gpu_bridge.go: build tag flipped from \`!nogpu\` (opt-out)
  to \`gpu\` (opt-in) so default builds don't drag in luxfi/gpu cgo.
- go.mod: luxfi/gpu v0.30.0 → v1.0.1. v0.30.0 referenced removed MLX
  symbols (mlx_from_slice_int64 etc.); v1.0.1 migrated to lux/gpu.h and
  builds cleanly with -tags gpu and -tags \"cevm gpu\".
- LLM.md: build commands updated; \"no canonical / no aliases\" reflects
  reality (single VMID, one filename, derived from Go).
2026-05-11 22:36:46 -07:00
zeekay dc55dcd381 canonical: scrub upstream 'Subnet-EVM' / 'subnet-evm' brand language
Lux uses 'Lux EVM' (the canonical luxfi/evm plugin) for both C-Chain
and EVM-based L2 chains. The upstream 'subnet-evm' / 'Subnet-EVM' brand
was a separate codebase we don't use anymore.
2026-05-05 20:26:03 -07:00
zeekay 1ebe7f99ab canonical: single Lux EVM VM ID = mgj786NP… (CB58 of ids.ID{'e','v','m'})
Removed legacy 'srEXi…' (upstream Subnet-EVM ID) — Lux uses one canonical
EVM VM ID for both C-Chain and EVM-based subnets per luxfi/constants.EVMID.
Plugin filename is mgj786NP7uDwBCcq6YwThhaN8FLyybkCa4zBWTQbNgmK6k9A6 only;
no dual install, no aliases.
2026-05-05 20:16:25 -07:00
zeekay 0b25160a6b LLM.md: Snow → Quasar 2026-05-05 19:14:57 -07:00
zeekay f81c3f15f6 feat: re-enable Cancun EVM opcodes (MCOPY, TSTORE, TLOAD) 2026-04-02 01:52:32 -07:00
zeekay f6ab6fe0e9 Revert "feat: enable all EVM upgrades (Shanghai+Cancun) from genesis"
This reverts commit 93376a4241.
2026-03-29 12:47:42 -07:00
zeekay 93376a4241 feat: enable all EVM upgrades (Shanghai+Cancun) from genesis
All Lux EVM deployments now have Shanghai and Cancun active at
genesis by default:
- ShanghaiTime=0: PUSH0, warm coinbase
- CancunTime=0: MCOPY, TSTORE, TLOAD, BLOBHASH, BLOBBASEFEE

SetDefaults() no longer clobbers explicit timestamp=0 values.
This means genesis configs with evmTimestamp=0 correctly inherit
Cancun activation without needing explicit shanghaiTime/cancunTime.

Also fixed ApplyPrecompileActivations to write precompile state at
genesis block (previously guarded by block > 0 check).
2026-03-29 12:14:28 -07:00
zeekay 18a05806f0 fix: allow empty blocks in dev/automining mode
When enable-automining is set in config (dev mode), skip the empty block
validation to allow anvil-like behavior with instant block production
even when there are no pending transactions.

This fixes the infinite loop error when running luxd --dev:
"syntactic block verification failed: empty block"
2026-01-31 16:28:39 -08:00
zeekay 4234da3b48 Update admin api, precompiles 2026-01-06 11:51:58 -08:00
zeekay 4b7da04687 Use luxfi/math/math instead of geth/common/math 2026-01-03 17:37:03 -08:00
zeekay f5a46918fb refactor: consolidate crypto precompiles to standalone package
- Remove duplicate fhe, mldsa, pqcrypto, quasar from evm
- Update registry to import from github.com/luxfi/precompiles
- Remove local node replace directive
- Upgrade node to v1.22.69, precompiles to v0.1.8
- Keep EVM-specific precompiles: deployerallowlist, feemanager,
  nativeminter, rewardmanager, txallowlist, warp
2025-12-28 16:29:13 -08:00
zeekay de8defb73f docs: update LLM.md with v0.8.18 status and versions 2025-12-25 01:01:02 -08:00
zeekay 2df37edcf1 fix: upgrade geth to v1.16.62 and configure PQ crypto precompiles
- Upgrade geth to v1.16.62 (fixes circl import path in precompiles)
- Add proper config.go and module.go for mldsa precompile
- Add proper module.go for pqcrypto precompile
- Register both precompiles in registry.go
- Update LLM.md with PQ crypto documentation

All tests pass including previously failing accounts/abi/bind tests.
2025-12-24 23:56:48 -08:00
zeekay 054dcc96de Update to latest warp, fixes for import 2025-12-23 19:03:18 -08:00
zeekay 162e4f6668 refactor: remove all SubnetEVM references and backward compatibility
- Rename plugin/evm/upgrade/subnetevm package to feewindow
- Rename SubnetEVMTimestamp to EVMTimestamp (JSON: evmTimestamp)
- Rename IsSubnetEVM method to IsEVM
- Rename SubnetEVMDefaultChainConfig to EVMDefaultChainConfig
- Rename TestSubnetEVMChainConfig to TestEVMChainConfig
- Rename TestPreSubnetEVMChainConfig to TestPreEVMChainConfig
- Rename ethclient/subnetevmclient to ethclient/evmclient
- Update VM factory ID from "subnetevm" to "evm"
- Remove all backward compatibility aliases
- Update all documentation and comments

Breaking change: This removes all SubnetEVM naming - only "EVM" is supported.
No backward compatibility maintained as per user requirement.
2025-12-21 10:26:52 -08:00
zeekay 42a0070e73 Simplify interfaces and remove adapters
- Remove AppSender adapter, use p2p.Sender directly
- Remove warpSignerAdapter, use luxWarp.Signer directly
- Rename TestSender methods to clean names (no App prefix)
- Rename RequestClient interface (was AppRequestClient)
- Fix ID type conversions in tests (use ID directly, not [:] slice)
- Update dependencies: consensus v1.22.32, node v1.22.20, vms v1.0.0
- Remove local replace directives
2025-12-19 12:17:19 -08:00
zeekay a86e9a8b23 Update packages 2025-12-13 17:31:32 +00:00
zeekay 4a59c96ff6 docs: update LLM.md with MigrateAPI registration status 2025-11-23 13:34:14 -08:00
zeekay 225354844a docs: add RPC path format for C-Chain vs old net 2025-11-23 09:37:17 -08:00
zeekay 83b30e9f3c docs: update port 9630 and auto-discovery in examples 2025-11-23 09:34:24 -08:00
zeekay 2f2d4e484d docs: update LLM.md with RPC-based migration architecture
- Document correct approach: lux-cli uses RPC, not Go imports
- Show architecture: cli -> RPC -> netrunner -> EVM nodes
- List all MigrateAPI RPC endpoints
- Explain benefits: fleet control, no package coupling, remote nodes
- Add workflow example with netrunner deployment
2025-11-23 04:05:49 -08:00
zeekay 78ecadd5c1 docs: correct integration approach - no ad-hoc tooling
- Document DRY principle
- No external binaries in node repo
- No symlinks
- All logic in lux-cli using Go imports
2025-11-23 03:58:43 -08:00
zeekay d9a23cb8db docs: add lux-cli integration documentation
- Document complete integration architecture
- Add usage examples for lux-cli and direct binary
- List all features and capabilities
- Note integration tests passing
2025-11-23 03:56:11 -08:00
zeekay efee76b03a docs: add package consistency requirements to LLM.md
- Document required luxfi package imports
- Emphasize luxfi/log for all logging
- Note luxfi/geth instead of go-ethereum
- Clarify luxfi/ids usage
2025-11-23 03:13:50 -08:00
zeekay d00c2c8ae0 feat(evm): implement ChainExporter interface for data export
- Implemented all ChainExporter interface methods
- GetChainInfo() - returns chain metadata
- ExportBlocks() - streams blocks via channels
- ExportAccount() - exports account state with uint256→big.Int conversion
- ExportConfig() - exports chain configuration
- VerifyExport() - validates export integrity
- Uses luxfi/geth instead of go-ethereum
- Uses RLP encoding for block/receipt serialization
- Proper error handling with fmt.Errorf
- Access VM fields via chainCtx for NetworkID/NetID
- Updated LLM.md with implementation status
2025-11-23 03:11:52 -08:00
zeekay c9d2386a2d Update LLM.md with correct VM export/import architecture
- Removed manual migration approach documentation
- Added proper VM importer/exporter interface requirements
- Documented that lux-cli migrate is incomplete
- Outlined implementation plan for proper workflow
2025-11-23 02:55:34 -08:00
zeekay 4c7dbe01d2 Document readonly database support and regenesis architecture in LLM.md 2025-11-22 22:02:37 -08:00
zeekay 6cee3f0f39 evm: fix precompiles and add ML-DSA support
- Fix pqcrypto precompile API
  * Correct ML-KEM/ML-DSA/SLH-DSA verify patterns
  * Use PublicKeyFromBytes() -> Verify() pattern
  * All tests passing

- Add ML-DSA precompile at 0x0200...0006
  * Complete implementation with tests
  * Gas cost: 100k base + 10 per message byte
  * Performance: ~108μs verify time
  * FIPS 204 compliant via circl

- Fix warp precompile
  * Correct signature verification
  * Update tests

- Re-enable skipped tests
  * vm_upgrade_bytes_test.go
  * vm_validators_test.go
  * vm_warp_test.go
  * load_test.go
  * warp_test.go

- Add gossip logger adapter
- Update database implementations
- Fix config tests

All precompiles now working with real post-quantum crypto
2025-11-22 16:37:24 -08:00
zeekay 99f9994980 feat: update consensus import paths for v1.21.1
- Fixed all import paths for new consensus structure
- Added local replace directives for development
- Updated uptime and choices import paths throughout
2025-11-10 08:20:16 -08:00
zeekay df8432f89f Update to luxfi/node v1.16.15 with lp118 support 2025-08-18 17:46:56 +00:00
zeekay 3635820939 fix: Update precompile config imports and network fixes
- Fixed block import path to use consensus package
- Updated network handler interfaces
- Added LLM documentation
- Updated .gitignore
2025-08-18 16:53:41 +00:00
zeekay cf01423863 Fix EVM module compilation and test issues
- Migrate warp functionality to use luxfi/warp package
- Fix validator mock interfaces for new testing.T pattern
- Update API calls for modern geth compatibility
- Fix network interface and consensus version issues
- Resolve crypto package type conversions
- Update block creation APIs and tracing interfaces
- Fix rawdb API changes (ReadHeaderNumber, etc)
- Handle missing BlobTxBlobGasPerBlob constants
- Fix metrics.PrometheusRegistry compatibility

All packages now compile successfully.
CLI tools (evm, simulator) build successfully.
Ready for netrunner integration.
2025-08-18 00:55:55 +00:00