@tevm/voltaire / index / precompiles
precompiles
Enumerations
PrecompileAddress
Defined in: src/evm/precompiles/precompiles.ts:18Enumeration Members
BLAKE2F
BLAKE2F: "0x0000000000000000000000000000000000000009"
Defined in: src/evm/precompiles/precompiles.ts:27
BLS12_G1_ADD
BLS12_G1_ADD: "0x000000000000000000000000000000000000000b"
Defined in: src/evm/precompiles/precompiles.ts:29
BLS12_G1_MSM
BLS12_G1_MSM: "0x000000000000000000000000000000000000000d"
Defined in: src/evm/precompiles/precompiles.ts:31
BLS12_G1_MUL
BLS12_G1_MUL: "0x000000000000000000000000000000000000000c"
Defined in: src/evm/precompiles/precompiles.ts:30
BLS12_G2_ADD
BLS12_G2_ADD: "0x000000000000000000000000000000000000000e"
Defined in: src/evm/precompiles/precompiles.ts:32
BLS12_G2_MSM
BLS12_G2_MSM: "0x0000000000000000000000000000000000000010"
Defined in: src/evm/precompiles/precompiles.ts:34
BLS12_G2_MUL
BLS12_G2_MUL: "0x000000000000000000000000000000000000000f"
Defined in: src/evm/precompiles/precompiles.ts:33
BLS12_MAP_FP_TO_G1
BLS12_MAP_FP_TO_G1: "0x0000000000000000000000000000000000000012"
Defined in: src/evm/precompiles/precompiles.ts:36
BLS12_MAP_FP2_TO_G2
BLS12_MAP_FP2_TO_G2: "0x0000000000000000000000000000000000000013"
Defined in: src/evm/precompiles/precompiles.ts:37
BLS12_PAIRING
BLS12_PAIRING: "0x0000000000000000000000000000000000000011"
Defined in: src/evm/precompiles/precompiles.ts:35
BN254_ADD
BN254_ADD: "0x0000000000000000000000000000000000000006"
Defined in: src/evm/precompiles/precompiles.ts:24
BN254_MUL
BN254_MUL: "0x0000000000000000000000000000000000000007"
Defined in: src/evm/precompiles/precompiles.ts:25
BN254_PAIRING
BN254_PAIRING: "0x0000000000000000000000000000000000000008"
Defined in: src/evm/precompiles/precompiles.ts:26
ECRECOVER
ECRECOVER: "0x0000000000000000000000000000000000000001"
Defined in: src/evm/precompiles/precompiles.ts:19
IDENTITY
IDENTITY: "0x0000000000000000000000000000000000000004"
Defined in: src/evm/precompiles/precompiles.ts:22
MODEXP
MODEXP: "0x0000000000000000000000000000000000000005"
Defined in: src/evm/precompiles/precompiles.ts:23
POINT_EVALUATION
POINT_EVALUATION: "0x000000000000000000000000000000000000000a"
Defined in: src/evm/precompiles/precompiles.ts:28
RIPEMD160
RIPEMD160: "0x0000000000000000000000000000000000000003"
Defined in: src/evm/precompiles/precompiles.ts:21
SHA256
SHA256: "0x0000000000000000000000000000000000000002"
Defined in: src/evm/precompiles/precompiles.ts:20
Interfaces
PrecompileResult
Defined in: src/evm/precompiles/precompiles.ts:40Properties
error?
Defined in: src/evm/precompiles/precompiles.ts:44optionalerror:string
gasUsed
gasUsed: bigint
Defined in: src/evm/precompiles/precompiles.ts:43
output
output: Uint8Array
Defined in: src/evm/precompiles/precompiles.ts:42
success
success: boolean
Defined in: src/evm/precompiles/precompiles.ts:41
Functions
blake2f()
blake2f(Defined in: src/evm/precompiles/precompiles.ts:684 BLAKE2F precompile (0x09) Blake2 F compression function per EIP-152 Input format (213 bytes):_input,gasLimit):PrecompileResult
- rounds (4 bytes, big-endian) - number of compression rounds
- h (64 bytes) - state vector
- m (128 bytes) - message block
- t (16 bytes) - offset counters
- f (1 byte) - final block flag (must be 0 or 1)
Parameters
_input
Uint8Array
gasLimit
bigint
Returns
PrecompileResult
See
https://eips.ethereum.org/EIPS/eip-152bls12G1Add()
bls12G1Add(Defined in: src/evm/precompiles/precompiles.ts:811 BLS12_G1_ADD precompile (0x0b)input,gasLimit):PrecompileResult
Parameters
input
Uint8Array
gasLimit
bigint
Returns
PrecompileResult
bls12G1Msm()
bls12G1Msm(Defined in: src/evm/precompiles/precompiles.ts:931 BLS12_G1_MSM precompile (0x0d)input,gasLimit):PrecompileResult
Parameters
input
Uint8Array
gasLimit
bigint
Returns
PrecompileResult
bls12G1Mul()
bls12G1Mul(Defined in: src/evm/precompiles/precompiles.ts:860 BLS12_G1_MUL precompile (0x0c)input,gasLimit):PrecompileResult
Parameters
input
Uint8Array
gasLimit
bigint
Returns
PrecompileResult
bls12G2Add()
bls12G2Add(Defined in: src/evm/precompiles/precompiles.ts:992 BLS12_G2_ADD precompile (0x0e)input,gasLimit):PrecompileResult
Parameters
input
Uint8Array
gasLimit
bigint
Returns
PrecompileResult
bls12G2Msm()
bls12G2Msm(Defined in: src/evm/precompiles/precompiles.ts:1095 BLS12_G2_MSM precompile (0x10)input,gasLimit):PrecompileResult
Parameters
input
Uint8Array
gasLimit
bigint
Returns
PrecompileResult
bls12G2Mul()
bls12G2Mul(Defined in: src/evm/precompiles/precompiles.ts:1041 BLS12_G2_MUL precompile (0x0f)input,gasLimit):PrecompileResult
Parameters
input
Uint8Array
gasLimit
bigint
Returns
PrecompileResult
bls12MapFp2ToG2()
bls12MapFp2ToG2(Defined in: src/evm/precompiles/precompiles.ts:1292 BLS12_MAP_FP2_TO_G2 precompile (0x13)input,gasLimit):PrecompileResult
Parameters
input
Uint8Array
gasLimit
bigint
Returns
PrecompileResult
bls12MapFpToG1()
bls12MapFpToG1(Defined in: src/evm/precompiles/precompiles.ts:1244 BLS12_MAP_FP_TO_G1 precompile (0x12)input,gasLimit):PrecompileResult
Parameters
input
Uint8Array
gasLimit
bigint
Returns
PrecompileResult
bls12Pairing()
bls12Pairing(Defined in: src/evm/precompiles/precompiles.ts:1156 BLS12_PAIRING precompile (0x11)input,gasLimit):PrecompileResult
Parameters
input
Uint8Array
gasLimit
bigint
Returns
PrecompileResult
bn254Add()
bn254Add(Defined in: src/evm/precompiles/precompiles.ts:545 BN254_ADD precompile (0x06) BN254 elliptic curve addition_input,gasLimit):PrecompileResult
Parameters
_input
Uint8Array
gasLimit
bigint
Returns
PrecompileResult
bn254Mul()
bn254Mul(Defined in: src/evm/precompiles/precompiles.ts:583 BN254_MUL precompile (0x07) BN254 elliptic curve multiplication_input,gasLimit):PrecompileResult
Parameters
_input
Uint8Array
gasLimit
bigint
Returns
PrecompileResult
bn254Pairing()
bn254Pairing(Defined in: src/evm/precompiles/precompiles.ts:621 BN254_PAIRING precompile (0x08) BN254 pairing checkinput,gasLimit):PrecompileResult
Parameters
input
Uint8Array
gasLimit
bigint
Returns
PrecompileResult
ecrecover()
ecrecover(Defined in: src/evm/precompiles/precompiles.ts:354 ECRECOVER precompile (0x01) Recover signer address from signature_input,gasLimit):PrecompileResult
Parameters
_input
Uint8Array
gasLimit
bigint
Returns
PrecompileResult
execute()
execute(Defined in: src/evm/precompiles/precompiles.ts:274 Execute a precompileaddress,input,gasLimit,_hardfork):PrecompileResult
Parameters
address
string
Precompile address
input
Uint8Array
Input data
gasLimit
bigint
Gas limit for execution
_hardfork
HardforkType
Returns
PrecompileResult
Precompile execution result
identity()
identity(Defined in: src/evm/precompiles/precompiles.ts:436 IDENTITY precompile (0x04) Returns input data unchangedinput,gasLimit):PrecompileResult
Parameters
input
Uint8Array
gasLimit
bigint
Returns
PrecompileResult
isPrecompile()
isPrecompile(Defined in: src/evm/precompiles/precompiles.ts:200 Check if an address is a precompile for a given hardforkaddress,hardfork):boolean
Parameters
address
string
hardfork
HardforkType
Returns
boolean
modexp()
modexp(Defined in: src/evm/precompiles/precompiles.ts:456 MODEXP precompile (0x05) Modular exponentiation_input,gasLimit):PrecompileResult
Parameters
_input
Uint8Array
gasLimit
bigint
Returns
PrecompileResult
pointEvaluation()
pointEvaluation(Defined in: src/evm/precompiles/precompiles.ts:750 POINT_EVALUATION precompile (0x0a) KZG point evaluation (EIP-4844) Input format (192 bytes per EIP-4844):_input,gasLimit):PrecompileResult
- versioned_hash (32 bytes) - hash of the blob commitment
- z (32 bytes) - evaluation point
- y (32 bytes) - claimed evaluation result
- commitment (48 bytes) - KZG commitment
- proof (48 bytes) - KZG proof
Parameters
_input
Uint8Array
gasLimit
bigint
Returns
PrecompileResult
ripemd160()
ripemd160(Defined in: src/evm/precompiles/precompiles.ts:411 RIPEMD160 precompile (0x03)input,gasLimit):PrecompileResult
Parameters
input
Uint8Array
gasLimit
bigint
Returns
PrecompileResult
sha256()
sha256(Defined in: src/evm/precompiles/precompiles.ts:393 SHA256 precompile (0x02)input,gasLimit):PrecompileResult
Parameters
input
Uint8Array
gasLimit
bigint
Returns
PrecompileResult
