Cargo Features

[dependencies]
rtvm-precompile = { version = "6.0.0", default-features = false, features = ["std", "hashbrown", "asm-keccak", "optimism", "optimism-default-handler", "negate-optimism-default-handler", "c-kzg", "portable", "secp256k1"] }
default = c-kzg, portable, secp256k1, std

These default features are set whenever rtvm-precompile is added without default-features = false somewhere in the dependency tree.

std default

Enables std of optional c-kzg ^1.0.0

Optional KZG point evaluation precompile

and std of k256, once_cell, ripemd, rtvm-primitives, sha2, and optional secp256k1 ^0.29.0

k256:

ecRecover precompile

hashbrown

Enables hashbrown of rtvm-primitives

asm-keccak

Enables asm-keccak of rtvm-primitives

optimism optimism-default-handler?

Enables optimism of rtvm-primitives

optimism-default-handler = optimism

Optimism default handler enabled Optimism handler register by default in EvmBuilder.

Enables optimism-default-handler of rtvm-primitives

negate-optimism-default-handler

Enables negate-optimism-default-handler of rtvm-primitives

c-kzg default

These libraries may not work on all no_std platforms as they depend on C.

Enables the KZG point evaluation precompile.

Enables c-kzg ^1.0.0, c-kzg of rtvm-primitives

Affects rtvm-precompile::kzg_point_evaluation

portable default

Enables portable of optional c-kzg ^1.0.0 and rtvm-primitives

secp256k1 default

Use secp256k1 as a faster alternative to k256. The problem that secp256k1 has is it fails to build for wasm target on Windows and Mac as it is c lib. In Linux it passes. If you don't require to build wasm on win/mac, it is safe to use it and it is enabled by default.

Enables secp256k1 ^0.29.0