onflow / cadence-tools

Developer tools for Cadence
https://www.onflow.org/
Apache License 2.0
24 stars 20 forks source link

[test] Enable `EVM` system contract #280

Closed m-Peter closed 7 months ago

m-Peter commented 7 months ago

Description

The Emulator is now initialized with the emulator.WithEVMEnabled(true), to allow developers to use the EVM system contract in their contracts/scripts/transactions.

NOTE 1: The EVM contract is not yet available for usage in the test script environment, as we need to figure out how to properly setup this environment with the InternalEVM type & value (see https://github.com/onflow/flow-go/blob/master/fvm/evm/stdlib/contract.go#L1570-L1581).

NOTE 1: By setting emulator.WithEVMEnabled(true), the number of accounts upon bootstrapping changes from 4 to 5, due to the fact that a new account is created to hold the storage for the EVM contract. The side effect of this is that developers have to deploy their contracts to addresses starting from 0x0000000000000006 and above.