* fix warp event packing
* add hardhat tests for warp
* remove destination fields from test
* parse from event data
* move setup to beforesuite
* Revert "move setup to beforesuite"
This reverts commit 59abbf14432d29a6c3a82cfcb3e18badadfcd87b.
* cleanups
* move variables to definition
* remove hex checks
* use mocha conf to increase timeouts
* Remove destinationAddress and destinationChainID from Warp Message
* Use UnpackInput instead of UnpackInputIntoInterface
The generated code now matches the output of generate_procompile.sh script
* Add GetPredicateResults to BlockContext
* Serve predicate results from blockContext
* Allow extra data to extend past DynamicFeeWindow post DUpgrade
* Get vm warp unit tests working
* Bump ANR to intermediate version to fix incompatibility with AvalancheGo
* Add kc to EthKeyChain
* Bump avalanchego dep in scripts for CI
* Add block hash payload support
* Use gomocks for precompileconfig and predicater and re-write CheckPredicates with gomocks
* Use gomock for mock accessible state and block context
* Fix existing warp contract tests with mock block context
* Remove unused mockPredicater impl
* x/warp: add contract execution unit tests
* Update NewEVMBlockContext
* Add AppendExtra to syncervm to fix tests
* x/warp: add unit test for multiple predicate results
* core: add unit test for CheckPredicates insufficient gas
* Update receive warp message test to trace block and assert the expected result
* Fix lint
* Update warp solidity contracts
* Fix block context mocks for bench
* Update precompile/precompileconfig/config.go
Co-authored-by: Darioush Jalali <[email protected]>
Signed-off-by: aaronbuchwald <[email protected]>
* Cleanup
* precompile/results: Add predicate results tests + comments
* nits
* precompile/results: omit tx predicate results if empty
* core: add invariant comment to predicate check
* Address PR comments
* Fix unpackWarpMessage and add unit tests
* Rename OriginChainID -> SourceChainID to match ago warp message type
* nits
* x/warp: set public key in warp predicate unit tests
* Update payload format
* Clarify IWarpMessenger verified message return types
* core/state: improve statedb warp specific comments
* Update input param type to uint32 to avoid potential overflow on conversion
* Update GetPredicateStorageSlots arg type to uint32
* warp/payload: add README for payload serialization (#835)
* Fix merge
* Adds the files from geth
* Fix import issues (should import subnet-evm)
* fix runner.go
* Fix some tests
* remove unused test data
* add license headers
* remove todos
* consistent language in comment
* remove random from vm context
* merge fixes
* avoid checking in binary
* fix lint
* upstream v1.12.0: other than cmd/evm/...
* update for geth v1.12.0
* add file
* remove blocktest for now
* remove logs
* remove withdrawals
* del
* Add diffs with upstream with explanation and simplify
* dead code
* fix merge
* add mocks for precompile tests
* Update compatibility
* Bump AvalancheGo dep to v1.10.9
* Bump ANR dep to be compatible with ago v1.10.9
* revert ConfigurationBlockContext changes
* 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
* Add warp contract implementation
* Cleanup predicate test
* Fix new function signature
* Replace invalid fuzz test with unit test
* Add chain config to enable warp API for warp e2e test
* remove unused var
* Add experimental warning and move warp precompile to x/ package
* fix warning label
* Fix warning
* vm test nits
* Improve sendWarpMessenger sol comment
* more vm warp test nits
* Move warp params into params package
* More vm warp test nits
* Address more PR comments
* Remove triggerTx2
* Add check for expected topics from sendWarpMessage log
* Fix config test
* Fix incorrect replace
* remove unnecessary echo
* Address comments
* Address comments
* Address PR comments
* Improve comments
* Convert [32]byte type to common.Hash
* Add base cost for getVerifiedWarpMessage
* fix require equal type check
* Fix updated awm message format
* Update warp message format
* Move IWarpMessenger.sol to interfaces/
* Add newline to warp genesis
* uncomment assertion
* Fix broken links in README
Use SynchronizedBeforeSuite to create the node and all the subnet that are
needed to run tests. Pass the blockchainID to each work processor and run the
tests in parallel to reduce runtime
* remove network upgrades from upgrade configs and enforce them in vm init
* fix tests
* remove unused var
* remove extra shutdown
* copy test chain config when modify
* use SimulatedTestChainConfig for simulated tests
* copy modified test chain config
* add optional upgrades
* Add tests
* fix comments
* use unmarshal in test
* unexport functions
* add commented out test
* add TODO comment
* Update load test to use ANR for network setup
* Remove ToWebsocketURI that relies on strings feature added in go1.20
* Update load test to use ENV var from CI if populated
* Move env var logic into NewDefaultANRConfig
* Add init functions and clean up comments
* Remove unnecessary helper
* Remove unneeded cmd
* Cleanup
* Address PR comments
* Move 2 min timeout for SetupNetwork to the start of the function
* rename contract-examples to contracts & fix pack issue
* allow custom CMD to be run on blockchains for e2e tests
* move default hardhat test to utils
* fix comment
* add more comments
* change folder reference
* Bump avalanchego to v1.10.0-fuji-rc.2
* Add comptibility version
* Bump avalanchego dep to v1.10.0 and update version to v0.5.0
* Fix interface changes from avalanchego
* Update compatibility in README
* start v0.4.12 release cycle
* add setup action to lint ci for proper go version
* Bump version in plugin/evm/version.go
* Remove go version pin
* Revert "Remove go version pin"
This reverts commit e651bebbdcb51afab1291374ff5c20c4a14f20c5.
* bump golangci-lint-acion to @v3
* bump golangci lint
* try 1.48
* golangci-lint v1.51 and goimports leveldb file
* migrate linting changes from coreth
* goimports and fix diagram comments
* Fix bad goimports changes
---------
Co-authored-by: Darioush Jalali <[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]>
* sync with coreth-v0.10.1
* fix generate test
* go mod tidy in simulator
* my attempt at porting corethv0.10.1
* reconcile trie
* more reconcile
* getting closer
* reduce diff
* fix
* move to blockchain api
* 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]>