214 Commits
Author SHA1 Message Date
Hanzo AI 44f7f089d4 network: AllocationJSON.ETHAddr → EVMAddr (forward-only)
genesis canonicalized the field to EVMAddr per the EVMAddr/UTXOAddr
naming lock. Following the strip-aliases cascade through the workspace
(crypto v1.19.16, utxo v0.3.3, node v1.27.13, sdk v1.16.62).
2026-05-24 07:00:11 -07:00
Hanzo AI 2495b77d00 fix(network): track luxfi/genesis AllocationJSON/StakerJSON rename + ETHAddr field
luxfi/genesis renamed UnparsedAllocation → AllocationJSON,
UnparsedStaker → StakerJSON, with field ETHAddr (was EVMAddr in an
earlier rev). Update network/config.go to match.
2026-05-21 13:53:55 -07:00
Hanzo AI 359e75ced5 rip: AI-generated soldier-on + adopt EVMAddr/UTXOAddr (genesis package rename)
network/config.go:
- 'beacon node P2P port not ready, continuing anyway' was a soldier-on
  pattern: if the beacon's staking port isn't up before the next node
  tries to dial it, bootstrap will silently fail. Fail loudly instead.
- Switch UnparsedAllocation field names ETHAddr→EVMAddr, LUXAddr→UTXOAddr
  to track the genesis package rename.
2026-05-20 17:12:03 -07:00
Hanzo AI 351584448a deps: bump constants v1.5.2 + genesis v1.9.2; LocalID/CustomID split
luxfi/constants and luxfi/genesis just split LocalID and CustomID
into distinct constants:

  LocalID  = 1337   canonical local single/multi-node dev
  CustomID = 0      sentinel for user-defined non-well-known networks

This repo now uses LocalID everywhere it actually meant the local
dev network, and constants.LocalID for the same in places that
imported through luxfi/constants. Plus configs.LocalnetID →
configs.LocalID and configs.LocalnetChainID → configs.LocalChainID
to track the renamed constants.

Net effect on netrunner:

* NewLocalConfig          uses configs.LocalID (was configs.CustomID/1337)
* NewCanonicalCustomConfig uses configs.LocalID
* NewLocalConfigFromMnemonic uses configs.LocalID
* network/config.go default switch now lists LocalID alongside Mainnet/Testnet
* server/network.go default networkID set to LocalID for the local server

The Custom* constants remain available for genuine user-defined
networks; on those, addresses use the "custom" HRP from
luxfi/constants and look like P-custom1..., X-custom1...

zapwire (Z-Wing PQ control RPC) and network tests still green; the
heavy local/ integration tests that actually spawn luxd are out of
scope for this change.
2026-05-06 18:14:35 -07:00
Hanzo AI d3c6978881 docs: replace subnet terminology with L2/chain
Update prose descriptions in README and LLM.md to use "chain" or "L2"
instead of "subnet". Preserves API endpoint paths, JSON field names,
CLI subcommand names, genesis config keys, Go struct fields, and
deprecatedFlagsSupport.json backward compatibility mappings.
2026-03-29 10:56:02 -07:00
Zach Kelling 05c2183240 Add devnet support to genesis loading
- Add DevnetID case to LoadGenesisForNetwork()
- Add DevnetID case to LoadCanonicalGenesis()
2026-02-02 21:50:14 -08:00
Zach Kelling 2157b410c6 Improve genesis loading and snapshot management
- Enhance genesis.go with LoadCanonicalGenesis for mainnet/testnet
- Add LoadGenesisForNetwork to load from external paths
- Improve snapshot.go with better incremental backup support
- Fix network ID handling in genesis_config.go (use constants.MainnetID not ChainID)
- Update API client interfaces for better type safety
- Fix server network handling for proper genesis selection
- Update dependencies to latest versions
2026-01-20 00:03:35 -08:00
Zach Kelling 907b6ccb12 refactor: update all imports from node/vms to vm/vms 2026-01-09 00:03:50 -08:00
Zach Kelling 1013ead275 Update constants package 2026-01-08 20:38:49 -08:00
Zach Kelling e53011719c fix: rename TLS key files to luxtls.key/crt
- Rename staking.key -> luxtls.key in embedded configs
- Rename staking.crt -> luxtls.crt in embedded configs
- Update imports to github.com/luxfi/constants
2026-01-08 19:35:37 -08:00
Zach Kelling 4e2a4e432e chore: remove local replace directives and update dependencies
- Update github.com/luxfi/keys v1.0.5 → v1.0.6
- Update github.com/luxfi/genesis v1.5.18 → v1.5.19
- Remove local replace directives for keys and genesis
- Use published package versions for reproducible builds
2026-01-03 07:05:17 -08:00
Zach Kelling 8252ac5a40 chore: migrate to stdlib maps, remove unused imports
- Replace golang.org/x/exp/maps with stdlib maps (Go 1.21+)
- Remove unused slices imports from network/config.go and local/genesis_config.go
2025-12-29 20:30:26 -08:00
Zach Kelling e74963cca4 refactor: clean up CLI and fix e2e tests
- Remove duplicate cmd files (start.go, multinet.go, engine.go)
  that bypassed server/control architecture and contained AI slop
- Fix e2e_test.go variable shadowing (log -> logger)
- Fix metric.NewRegistry() package reference
- Remove unused prometheus import
- CLI now cleanly provides: server, control, ping commands
- Update dependencies to github.com/luxfi/const v1.4.0
2025-12-29 15:10:32 -08:00
Zach Kelling cd0dd2fccc fix: correct network ID usage and remove HID conflicts
- Remove ledger-lux-go transitive dependency
- Fix Network ID vs Chain ID confusion in genesis_config.go
- Use constants.MainnetID/TestnetID instead of configs.ChainID
- Fix port base calculation for multi-network mode
- Add snapshot server functionality
- Update protobuf definitions with new RPC methods
- Add mnemonic test coverage
2025-12-29 10:07:43 -08:00
Zach Kelling fa4f6450a5 feat: add multi-network support for mainnet/testnet
- Add testnet example alongside mainnet example
- Update server/network.go to properly handle network IDs
- Fix genesis config loading for different network types
- Support concurrent mainnet (port 9630) and testnet (port 9640)
- Add multi-network architecture documentation
2025-12-23 17:15:00 -08:00
Zach Kelling a6f652d094 deps: upgrade to warp v1.18.0
Upgrade warp to v1.18.0 which consolidates warp-specific types
from lp118 into the warp package directly.

RIP lp118 🪦
2025-12-23 10:32:48 -08:00
Zach Kelling 35f02edd25 Update logging, examples 2025-12-22 05:07:52 -08:00
Zach Kelling 2f9accfb10 Refactor subnet→chain terminology and update genesis to v1.5.6
Major changes:
- Rename SubnetSpec → ChainSpec/ParticipantSpec throughout codebase
- Rename BlockchainSpec → ChainSpec for full chain definitions
- Update all protobuf definitions with new naming
- Fix duplicate variable declarations from sed replacements
- Update copyright headers to BSD-3-Clause with SPDX identifiers
- Update github.com/luxfi/genesis to v1.5.6 (BLS signer keys)

The genesis v1.5.6 update adds:
- Initial stakers with BLS publicKey and proofOfPossession
- Initial allocations for local network testing
- Fixes "failed to load database state: not found" error

Build fixes:
- Fix api/mocks/client.go CChainAPI return type
- Fix local/node_test.go with build tag for integration tests
- Fix parameter name collisions (chainConfigs → pChainConfigs)
2025-12-19 07:11:06 -08:00
Zach Kelling a3432cec0b Fix build, bump deps 2025-12-13 10:53:55 +00:00
Zach Kelling 2105ae11d8 Update config.go to use ids.ShortID types from genesis package
The genesis package now uses ids.ShortID and ids.NodeID types directly
with custom JSON marshaling. Updated NewLuxGenesis to construct these
types properly instead of using string values.
2025-12-13 01:59:26 +00:00
Zach Kelling 094c0290fe Update node to v1.21.3 with migrate package support 2025-12-04 23:51:15 +00:00
Zach Kelling bde9ea239c fix: Update netrunner for latest luxfi package APIs
- Fix genesis cChainGenesis parsing to handle both string and map formats
- Update tmpnet API usage for ReadNetwork, Start signatures
- Update import paths for renamed packages
- Fix type assertions and field access patterns
2025-11-28 22:20:44 +00:00
Hanzo Dev 7e9ca54ba8 Fix genesis format and add local network startup script
- Fix genesis cChainGenesis format: convert object to JSON string
  * Resolves unmarshal error when starting luxd nodes
  * Genesis field must be JSON string, not object

- Add script to start local 5-node network
  * Uses pre-configured staking certificates from local/default/
  * Properly configures bootstrap IPs and node IDs
  * Includes peer connection verification
2025-11-16 23:34:20 -08:00
Hanzo Dev 590aa5633b fix: update genesis import paths
- Change from github.com/luxfi/node/genesis
- To github.com/luxfi/genesis/pkg/genesis
- Add replace directive for genesis package

Part of genesis consolidation effort
2025-11-13 13:30:07 -08:00
Zach Kelling a7fe664664 Update dependencies to use latest tagged versions 2025-08-16 07:43:26 +00:00
Zach Kelling 0615791489 Update address types and dependencies 2025-08-06 04:56:44 +00:00
Zach Kelling 6a9125450a Update packages 2025-08-05 23:12:36 +00:00
Zach Kelling c114aaad5b chore: update dependencies to use tagged versions, remove local replace directives 2025-07-20 06:46:41 +00:00
Zach Kelling 95ee9ef444 Fix netrunner module - replace coreth references with geth 2025-07-18 00:38:40 +00:00
Hanzo Dev 1dacb0d461 Updte for latest geth 2025-07-17 16:29:44 -05:00
Zach Kelling ef1adb0022 Rollback to 1.6.0 2024-01-02 20:55:14 +01:00
sukantoraymond d95161070f refactor restartNodes 2023-06-01 17:25:25 -04:00
sukantoraymondandGitHub 83da8f512f Merge branch 'addPermissionlessValidators' into removeValidatorsNew
Signed-off-by: sukantoraymond <rsukanto@umich.edu>
2023-06-01 16:40:58 -04:00
sukantoraymond f792526dbc fix merge 2023-06-01 12:13:24 -04:00
sukantoraymondandGitHub c4b89206fe Merge branch 'main' into addPermissionlessValidators
Signed-off-by: sukantoraymond <rsukanto@umich.edu>
2023-06-01 10:55:24 -04:00
sukantoraymond 87e987f158 address PR comments 2023-05-30 17:49:03 -04:00
sukantoraymondandGitHub d18fc0c992 Merge branch 'addPermissionlessValidators' into removeValidatorsNew
Signed-off-by: sukantoraymond <rsukanto@umich.edu>
2023-05-30 17:37:02 -04:00
sukantoraymond 6f8a10d582 update pr comments 2023-05-30 15:26:50 -04:00
fm 1065d90733 add method to get elastic subnet id info 2023-05-29 19:47:10 -03:00
sukantoraymond c0d51f9729 implement remove subnet validator 2023-05-25 17:19:49 -04:00
sukantoraymond fdfee03b69 use node name as argument 2023-05-24 17:42:45 -04:00
sukantoraymond df01b4fff4 add asset id to transform output 2023-05-23 17:46:49 -04:00
sukantoraymond 149216b09c add permissionless validators 2023-05-22 17:56:39 -04:00
sukantoraymond 5bb06edf06 add e2e test 2023-04-13 18:03:53 -04:00
sukantoraymond d3539705db elastic subnets 2023-04-13 10:30:43 -04:00
fm 87c689bc12 set blockchain creation funcs to return ids 2023-04-11 18:28:50 -03:00
fm f2076a41cf add subnet ids response to CreateSubnets 2023-04-11 18:11:26 -03:00
fm a0e4b32c70 improve efficiency at CreateSubnets 2023-04-07 14:13:35 -03:00
fm 97604f71d4 partially add subnet specs to local 2023-04-05 15:53:47 -03:00
Felipe Madero dfd28c5751 merge main 2023-04-03 13:33:21 -03:00