* 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
* 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
* 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]>