Renames LUX_-prefixed env vars to their canonical, non-noisy forms:
- LUX_RLP_PATH -> RLP_PATH (test override for the RLP fixture path)
- LUX_VERSION -> LUXD_VERSION (the luxd version being downloaded/cloned)
- LUX_PLUGIN_DIR -> PLUGIN_DIR (the lux plugin install dir, ~/.lux/plugins)
LUX_VERSION had two callers: shell scripts treating it as the luxd
version, and install_luxd_release.sh that already aliased
'LUXD_VERSION=${LUXD_VERSION:-${LUX_VERSION#v}}' on read. Collapse this
to a single canonical name (LUXD_VERSION) and a one-liner v-prefix
strip; no more aliasing.
LUX_PLUGIN_DIR points at ~/.lux/plugins on disk — the path is unchanged,
only the env var name. INSTALL=1 ./scripts/build.sh continues to work,
just driven from $PLUGIN_DIR.
Note: the historical README mention of LUX_VM_RUNTIME_ENGINE_ADDR /
LUX_VM_TRANSPORT (legacy luxfi/vm <= v1.1.0 names) is left in place
because it documents past behavior, per task convention for CHANGELOG/
historical docs.
BREAKING: external callers (CI, dev scripts, operators) must update
env var names. Per CLAUDE.md no-backwards-compatibility rule, the old
forms are removed.
- 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).
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.
* Update to use default plugin dir ($HOME/.avalanchego/plugins)
This has been the default for avalanchego since v1.9.6.
* fixup: Update dockerfile to copy the original rather than the symlink
* remove plugin paths
Signed-off-by: Ceyhun Onur <[email protected]>
---------
Signed-off-by: Ceyhun Onur <[email protected]>
Co-authored-by: Ceyhun Onur <[email protected]>
* 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
* *: fix e2e tests with ginkgo label selector, remove unused npx tests
Signed-off-by: Gyuho Lee <[email protected]>
* run.sh: remove --contracts-foundry-dir=./contracts-foundry
Signed-off-by: Gyuho Lee <[email protected]>
* *: add back solidity-with-npx tests
Signed-off-by: Gyuho Lee <[email protected]>
* *: remove avalanche-network-runner dependency
Signed-off-by: Gyuho Lee <[email protected]>
* Update scripts/run.sh
Co-authored-by: aaronbuchwald <[email protected]>
* run.sh: document "ping"
Signed-off-by: Gyuho Lee <[email protected]>
* regenerate go module
Signed-off-by: Gyuho Lee <[email protected]>
* README: fix run.sh docs
Signed-off-by: Gyuho Lee <[email protected]>
* fix run ginkgo
Signed-off-by: Gyuho Lee <[email protected]>
* e2e: fix
Signed-off-by: Gyuho Lee <[email protected]>
* e2e: update label
Signed-off-by: Gyuho Lee <[email protected]>
* e2e: use avalanchego env
Signed-off-by: Gyuho Lee <[email protected]>
* fix exec paths
Signed-off-by: Gyuho Lee <[email protected]>
* AVALANCHEGO_PATH to parser/main.go
Signed-off-by: Gyuho Lee <[email protected]>
* env
Signed-off-by: Gyuho Lee <[email protected]>
* hardcode endpoints
Signed-off-by: Gyuho Lee <[email protected]>
* Change genesis file to enable precompiles
* Added precompile to genesis and default gas on hardhat config
* Clean up run script
* More E2E tests are passing
* Fix Fee Manager Test - 1 more passes
* Comment out incorrect test
* Fix Minter tests
* Handle promises properly
* Cleanup
* Fix Deployer tests
* Clean up test suite :)
* clean up and revert
* Update suites from proper branch
* stop subnet after each test - experiment
* Final clean up
* Remove small .only
* Test new changes
* Stop network from starting before suite
* Remove set env
* Remove unneeded code from parse
r
* dont run main from parser
* Enable other precompiles in other genesises
* Fix simulator tests and e2e :)
* Fix simulator
* remove precompile enablement
* Revert suites and runner to original shape
* Remove old code from parser
* Remove default auto from hardhat config
* Revert all changes to tests and genesis files
* Add Tiny err message fix
* Cleanup
* Cleanup and clarity
* Cleaner return
* Cleaner
* Add comment explaining why we set path
* refactor before suite
* delete parser/main as it is unneccessary
* remove actual file
* fix lint
* remove parser directory
* change go version
* change node v
* revert ci changes
* Fix hardhat url in ci
* Add print
* wrong file name
* Address Aaron's comments part 1
* Set skip netowrk shutdown to false by default
Signed-off-by: Gyuho Lee <[email protected]>
Co-authored-by: aaronbuchwald <[email protected]>
Co-authored-by: Anusha Chillara <[email protected]>
Co-authored-by: Anusha <[email protected]>
* use anr pid in e2e test yaml
* fix parser
* fix naming in simulator to not be confused as ANR output
* rename to SaveClusterInfo
Co-authored-by: aaronbuchwald <[email protected]>
* do not redownload everything & shutdown background processes
* fix build folders
* do no err out if process already killed
* remove force kills
* rework run script
* fix tmp file paths
* don't enforce old avago version
* rename basedir
* Cleaned up install process
* Fixed comment
* Fixed missing v and unnecessary file
* Bumped versions
* Update go install runner version
* Added test prints
* Updated prints
* Set gopath
* init fee config precompile
* add fee config manager precompile
* complete precompile internal functions
* nits
* add fee config provider
* init cache with limit
* added getFeeConfig func to precompile
* add fee config tasks to hardhat
* add getFeeConfigs for apis
* add unit tests
* update tx pool only if fee config is activated
* Update plugin/evm/block_verification.go
Co-authored-by: Darioush Jalali <[email protected]>
* fix for reviews
* add initial fee config to precompile & default back to chain config
* rename functions in tests
* add deployer allow list test suit
* add last accepted at
* add last accepted test to precompile test
* Revert selectBigWithinBounds changes
* use big int cmp
* move precompile test to last
* fix unit tests
* remove flaky test & ensure tx pool is reorged
* move local rpc into new file
* add comment to cachableFeeConfig
* add timestamp to block context
* add error to newOracle
* fix moar nits
* Nits
* revert allowlist setter helpers
* increase SetFeeConfigGasCost for setting last changed
* add configure validation to fee precompiles
* Address nits
* increase gas cost for wagmi
* Remove fee config from fee config manager config
* Update contract-examples/README.md
Co-authored-by: aaronbuchwald <[email protected]>
* add license to tests
* remove log
* add err check
* Update precompile/utils.go
Co-authored-by: aaronbuchwald <[email protected]>
* Remove no longer necessary test
* contract example nits
* fix contract tests
* lower fees & split into two tests
* use explicit fees
* Nits
* feeconfig nits
* nit
* Fee config precompile nits (#145)
* Add COPYING file from geth (#83)
* Add COPYING file from geth
* Add COPYING.LESSER file
* Add version to code (#136)
* Add version to code
* bump version
* Add version to goreleaser
* Remove version from code in favor of setting at compile time
* use version env
* use v prefix in the version
Co-authored-by: Aaron Buchwald <[email protected]>
* [AV-1855] Simplify build script to place binary in avalanchego plugin directory (#81)
* Simplify build script to place binary in avalanchego plugin directory
* echo binary path
* split shutdown into network stop and client stop, call network stop
after each test, call client stop after suite ends
* add check for network up after stop
* switch to ANR
* bump script to ANR 1.1.3
* fix cluster status check
* minor fix
* cleanup of health/status check
* lint
* nits
Co-authored-by: Ceyhun Onur <[email protected]>
Co-authored-by: Darioush Jalali <[email protected]>
Co-authored-by: Aaron Buchwald <[email protected]>