luxd serves chain routes under /v1/chain, and the node, cli and sdk releases
already ship it. The deployed gateways still answer the old prefix, so remote
reads break until they are redeployed; the estate moves together rather than
sitting half converted.
Lines that record an observation - a probe, a status code, a past release -
keep the prefix they were written against, as do URLs on hosts that are not
ours. Avalanche endpoints move to /ext/bc, which is the path that host serves.
Co-authored-by: Hanzo Dev <[email protected]>
The rename to /v1/chain is real in luxd source, but the deployed fleet has not
taken it yet: probed just now, api.lux.network, api.lux-test.network,
api.zoo.network and api.hanzo.network each answer 200 on /v1/bc/C/rpc and 404 on
/v1/chain/C/rpc. Composing /v1/chain against those hosts reaches nothing, which
is the failure the rename set out to prevent.
The move belongs with the node redeploy, not ahead of it.
Co-authored-by: Hanzo Dev <[email protected]>
luxd serves chain routes under /v1/chain; the /v1/bc prefix it replaced is
gone, so anything composing it reaches nothing. Lines that record an
observation - a probe, a status code, a past release - keep the prefix they
were written against, as do URLs on hosts that are not ours.
Co-authored-by: Hanzo Dev <[email protected]>
luxd serves chain APIs under one segment from constants.ChainAliasPrefix
(constants v1.6.4, node v1.36.181):
/v1/bc/<alias>/... -> /v1/chain/<alias>/...
/ext/bc/<alias>/... -> /v1/chain/<alias>/...
Observations keep their original addresses: a dated note or a recorded status
code is a fact about when it was written, not an instruction to follow.
luxd pins baseURL="/v1" (node/server/http/server.go:33) and has never
served /ext, so both exported constructors — plugin/evm/client.NewClient
and warp.NewClient — built a path no node answers. They are the seam
every out-of-tree caller goes through: cli/pkg/utils/staking.go,
sdk/validatormanager/uptime.go and netrunner/api all hand them a bare
node URI, and staking.go's own SplitRPCURI already parsed /v1/bc/<id>/rpc.
Those callers were already on /v1; this package was the lagging outlier,
so fixing it here fixes all of them without touching one.
Also corrects the simulator's default websocket endpoint, the hardhat
default, and the docs — including api.testnet.lux.network, which does not
serve RPC at all. The testnet host is api.lux-test.network (chainId
0x17870). Prefix-only sweeps miss that class of error.
Tests pin the constructed path against an httptest server, with both an
alias and a blockchain ID, so a future prefix change fails loudly instead
of silently 404ing in production.
Co-authored-by: Hanzo Dev <[email protected]>
- 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.
- Change Go version from 1.24.6 to 1.22.8 (stable version)
- Ensure all build scripts have executable permissions
- Fix covdata issue by using stable Go version
- CI should now pass all checks
- Updated auth and bind interfaces for improved transaction handling
- Enhanced network configuration and database wrappers
- Improved validator state management and uptime tracking
- Updated sync client and gossip test implementations
- Fixed mock interfaces and handler implementations
- Updated dependencies in go.mod/go.sum
- Updated go:generate comments to use luxfi/geth instead of ethereum/go-ethereum
- Fixed GitHub issue/PR references to point to luxfi repositories
- Updated comments referencing the Lux geth fork
- Part of the migration to unified EVM architecture with Lux consensus
- Update imports from luxdefi/node to luxfi/node
- Replace libevm interfaces with direct go-ethereum imports
- Add placeholder interface files for missing dependencies
- Update go.mod to use local luxfi/node path
- Fix merge conflicts in multiple files
- Create stub implementations for missing packages
This allows the project structure to align with v0.7.5 requirements
but the build still needs additional work to be fully functional.
Updated all copyright headers from "Lux Partners Limited" to "Lux Industries Inc" and updated the year to 2025 to reflect the new holding company structure.
- import interfaces from github.com/ava-labs/libevm directly
- import `NotFound` error from github.com/ava-labs/libevm directly
- Keep our two subnet-evm-specific interfaces at interfaces/interfaces.go
See original PR https://github.com/ava-labs/coreth/pull/883
Complete the transition of `core/types` to upstream code.
Note that the previous commit results in _all_ upstream types / vars / consts being in the `imports.go` file. This results in a strict partition of upstream and local identifiers so it is safe to simply change import paths.
1. Globally change all imports from `subnet-evm/core/types` to `libevm/core/types`;
2. Rename all `subnet-evm/core/types` imports to `customtypes` for ease of review here;
3. Dot import `libevm/core/types` in tests only to avoid hundreds of noisy changes.
See original PR https://github.com/ava-labs/coreth/pull/875
* add tps
* get block build metrics
* Add issuance time, confirmed time, issued-> acceptance time, verify time
* Log times at end of batch
* cleaner
* address comments
* remove unused code block
* avoids taking len of channel
* nits
* pass in stringID
* move to loader
* remove unused field
* revert file back
* cleaner
* lint
* make it work for ws or for rpc
* protect
* endpoint
* no return on defer
* sep to a funciton
* have blockchainidstr passed in
* typo
* pass in metrics through config
* address comments
* address more comments and edit err policy of metrics functions
* add more logging to load_test
* typo
* better check
* fix endpoints
* typo:
* individual
* histogram
* address feedback:
* remove metrics from default
* address comments
* simplify time metrics
* better explanation
* address comments
* address comments
* cleanup
* more cleanup
* rename vars for clarity
* ws
* cleanup
* address comments
* ws
* expose metrics add flag
* fix blocking issue of http server and gracefully stop it
* cleanup
* use constant
* add issuance to confirmation metrics
* ws
* simplify metrics server
* Bump avalanchego to v1.10.5 and bump Subnet-EVM for v0.5.3 release (#757)
* Bump avalanchego to v1.10.5 and bump Subnet-EVM for v0.5.3 release
* bump anr version to v1.7.1
* handle control c
* print out output
* clean up
* clean up
* remove go routines to close client
* address comments
* memory leak
* fix
* print
* Refactor load simulator
* Cleanup
* simulator: support http as well as websocket endpoints
* simulator: move help err handling
* simulator: Fix distribute funds bug
* simulator: add metrics at the end of simulator run
* Support no timeout
* Address review comments
* Remove unused struct
* Update cmd/simulator/config/flags.go
* Update cmd/simulator/load/funder.go
* Remove . from simulator flags
* Add comment to scripts/run_simulator.sh
* Address PR comments
* Simplify e2e tests
* Add TODOs
* WIP
* Replace GetSubnetIDF
* Bump avalanchego to v1.9.6-rc.0
* Working on tests
* Light client mode to unlock dynamic state sync
* revert version to pass ci (?)
* fix simulator go.mod
* Set env variable using os setenv
* Needed renames to run all solidity precompile tests
* Cleanup
* E2E test GH Action
* Remove simualtor from GH Actions
* Re-add simulator to GH Actions
* nits
* Modify run script to support running a network and running simulator
* Fix GH Actions file
* Bump avalanchego to v1.9.6-rc.2
* go mod tidy
* Fix run script
* Reduce ctx timeout for starting new subnet to 15s
* Set data dir from github action
* Update run script
* Create separate load test for ginkgo
* Refactor scripts
* Fix up env variables in run single node script
* WIP
* Add install_cli.sh script
* Create 1 script to start a non-staking network of nodes in a subshell
* Fix run script to run 5 node non-staking network and add simple load script
* Fix load test
* go mod update to ago v1.9.7
* Fix allowed geth imports for simulator
* Populate constants to fix blst warning
* load constants in run ginkgo
* Update run simulator name check
* Update data dir
* Add plugin dir env variable
* Update github action and env var used in install avago script
* Filter out both precompile and load test from unit test script
* Add comment about skipping load test in unit test script
* Fix lint geth allowed pkgs
* Address nits
* Remove unused DATA_DIRs var from run script
* Add TODO to update run script to allow running N nodes instead of just one
* Update READMEs
* Break down simulator
* Cleanup
* Update cmd/simulator/README.md
* Update cmd/simulator/README.md
* Update cmd/simulator/README.md
* Update contract-examples/README.md
* Address review comments
* Address PR comments