* Add TrieStreeTest
This smart contract will append N new elements to a vector, this is a stress
test to our implementation of the trie structure
* Expose internal database?
* Rewrite bench
Make bench more generic and simpler to bootstrap
* Reuse functions
* Deploy contract once and reuse it
* Write full blocks
* Allow callee to deploy N contracts
Remove gas calculation from benchmarks, gas is still calculated to make sure
all contracts are deployed.
stressTestTrieDb takes 3 arguments. The number of contracts to deploy, the
calls for each block and the numbers of elements to append to the vector on
each call
* Remove all gas control
* Added AddTxOrFail()
This function will treat execution errors as errors as well, useful for
testing.
ApplyTransaction has been modified to return the ExecutionResult
* Move changes to the test
Breaking API changes should be avoided
* Improve error handling in benchmark
* Call many contracts per block
* Removed duplicate code
Use existing code instead, reading the receipt from the last execution instead
of returning the exceutionresult struct
* Use NewTx instead of NewTransaction
* Better organization for files
* rename & move files
* Update core/trie_stress_bench_test.go
Co-authored-by: aaronbuchwald <[email protected]>
Signed-off-by: Cesar <[email protected]>
---------
Signed-off-by: Cesar <[email protected]>
Co-authored-by: Ceyhun Onur <[email protected]>
Co-authored-by: aaronbuchwald <[email protected]>
When MatcherSession encounters an error, it attempts to close the session.
Closing waits for all goroutines to finish, including the 'distributor'.
However, the distributor will not exit until all requests have returned.
This patch fixes the issue by delivering the (empty) result to the distributor
before calling Close().
Co-authored-by: Darioush Jalali <[email protected]>
* update npm package
* expand allowlist.configure
* add activation func to precompile functions
* move chainconfig to precompileconfig
* use chainconfig in verification
* trim unnecessary changes
* add manager role
* fix tests
* add verify test
* nits
* add mocks
* reviews
* fix linter
* fix benchmarks
* nits
* nits
* fix alow list bind tests & ensure they're being tested (#841)
* simplify can modify check
* fix vm tests
* Add manager allowlist role merge (#850)
* Warp stapling block context (#823)
* 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
* x/warp: add unit test for PrimaryNetwork to Subnet predicate verification (#831)
* precompilebind: add ChainConfig with DUpgrade enabled to precompile chain config verify template
* 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
* core: add regression test for writing new upgrade bytes to disk
* core: fix write upgrades to disk regression
* Add comment documenting difference from upstream
* 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
* 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
* 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]>
* Start coreth migration
* Bump version to v0.4.11 and avalanchego dep
* goimports core/blockchain.go
* Update compatibility.json
* Update compatibility in README
* Bump avalanchego dep to v1.9.10