onflow / flow-emulator

The Flow Emulator is a lightweight tool that emulates the behaviour of the real Flow network
https://onflow.org
Apache License 2.0
84 stars 49 forks source link

Add support for `EVM.heartbeat` resource on system chunk transaction #717

Closed m-Peter closed 1 month ago

m-Peter commented 1 month ago

Depends on #719

Description

The emission of EVM.BlockExecuted events is now part of the system chunk transaction. In order for tools using the Flow Emulator, to function properly, we need to handle this in Emulator's system chunk transaction as well. Furthermore, since this system chunk transaction is rather special, we need to make its event/s available to APIs such as the event streaming.


For contributor use:

sideninja commented 1 month ago

@turbolent can you check why the migration test breaks, Ardit disabled it for the sake of referencing this update flow-emulator in EVM GW but we should resolve the issue. I tried recreating a new snapshot for the migration test which has the EVM heartbeat updated contract, but still no luck, I'm not sure which version I should use when generating the snapshot so I used v0.62.1 which I'm not sure if correct. Can you help with this

turbolent commented 1 month ago

I improved the EVM migration in flow-go:

Once those PRs are merged, we should bump the flow-go version and then this PR should pass. Testing it locally using a temporary replace worked.