# Parameters

The evm module contains the following parameters:

### Params <a href="#params" id="params"></a>

| Key            | Type        | Default Value   |
| -------------- | ----------- | --------------- |
| `EVMDenom`     | string      | `"aphoton"`     |
| `EnableCreate` | bool        | `true`          |
| `EnableCall`   | bool        | `true`          |
| `ExtraEIPs`    | \[]int      | TBD             |
| `ChainConfig`  | ChainConfig | See ChainConfig |

### EVM denom <a href="#evm-denom" id="evm-denom"></a>

The evm denomination parameter defines the token denomination used on the EVM state transitions and gas consumption for EVM messages.

For example, on Ethereum, the `evm_denom` would be `ETH`. In the case of Ethermint, the default denomination is the [**atto photon**](https://docs.evmos.org/modules/evm/notion://www.notion.so/docs/basics/photon.html) (used on the BlockX testnets). In terms of precision, the `PHOTON` and `ETH` share the same value, *i.e* `1 PHOTON = 10^18 atto photon` and `1 ETH = 10^18 wei`.

{% hint style="info" %}
SDK applications that want to import the EVM module as a dependency will need to set their own `evm_denom` (i.e not `"aphoton"`).
{% endhint %}

### Enable Create <a href="#enable-create" id="enable-create"></a>

The enable create parameter toggles state transitions that use the `vm.Create` function. When the parameter is disabled, it will prevent all contract creation functionality.

### Enable Transfer <a href="#enable-transfer" id="enable-transfer"></a>

The enable transfer toggles state transitions that use the `vm.Call` function. When the parameter is disabled, it will prevent transfers between accounts and executing a smart contract call.

### Extra EIPs <a href="#extra-eips" id="extra-eips"></a>

The extra EIPs parameter defines the set of activateable Ethereum Improvement Proposals) on the Ethereum VM `Config` that apply custom jump tables.

{% hint style="info" %}
Note that some of these EIPs are already enabled by the chain configuration, depending on the hard fork number.
{% endhint %}

The supported activateable EIPS are:

* [**EIP 1344** ](https://eips.ethereum.org/EIPS/eip-1344)
* [**EIP 1884** ](https://eips.ethereum.org/EIPS/eip-1884)
* [**EIP 2200** ](https://eips.ethereum.org/EIPS/eip-2200)
* [**EIP 2315** ](https://eips.ethereum.org/EIPS/eip-2315)
* [**EIP 2929** ](https://eips.ethereum.org/EIPS/eip-2929)
* [**EIP 3198** ](https://eips.ethereum.org/EIPS/eip-3198)
* [**EIP 3529** ](https://eips.ethereum.org/EIPS/eip-3529)

### Chain Config <a href="#chain-config" id="chain-config"></a>

The `ChainConfig` is a protobuf wrapper type that contains the same fields as the go-ethereum `ChainConfig` parameters, but using `*sdk.Int` types instead of `*big.Int`.

By default, all block configuration fields but `ConstantinopleBlock`, are enabled at genesis (height 0).

#### ChainConfig Defaults <a href="#chainconfig-defaults" id="chainconfig-defaults"></a>

| Name                | Default Value                                                        |
| ------------------- | -------------------------------------------------------------------- |
| HomesteadBlock      | 0                                                                    |
| DAOForkBlock        | 0                                                                    |
| DAOForkSupport      | `true`                                                               |
| EIP150Block         | 0                                                                    |
| EIP150Hash          | `0x0000000000000000000000000000000000000000000000000000000000000000` |
| EIP155Block         | 0                                                                    |
| EIP158Block         | 0                                                                    |
| ByzantiumBlock      | 0                                                                    |
| ConstantinopleBlock | 0                                                                    |
| PetersburgBlock     | 0                                                                    |
| IstanbulBlock       | 0                                                                    |
| MuirGlacierBlock    | 0                                                                    |
| BerlinBlock         | 0                                                                    |
| LondonBlock         | 0                                                                    |
