* fix warp event packing
* add hardhat tests for warp
* remove destination fields from test
* parse from event data
* move setup to beforesuite
* add message id to events + return types
* fix test
* fix comment
* format example warp sol
* Remove destinationAddress and destinationChainID from Warp Message
* Use UnpackInput instead of UnpackInputIntoInterface
The generated code now matches the output of generate_procompile.sh script
* 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
* plugin/evm: add ExampleWarp tests to vm warp unit tests
* Update ExampleWarp contract usage
* plugin/evm: update unit test to use different source / destination addresses
* 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
* 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 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
* 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