Function g1_msm

pub fn g1_msm(
    input: &[u8],
    gas_limit: u64,
) -> Result<PrecompileOutput, PrecompileError>
Expand description

Implements EIP-2537 G1MSM precompile. G1 multi-scalar-multiplication call expects 160*k bytes as an input that is interpreted as byte concatenation of k slices each of them being a byte concatenation of encoding of G1 point (128 bytes) and encoding of a scalar value (32 bytes). Output is an encoding of multi-scalar-multiplication operation result - single G1 point (128 bytes). See also: https://eips.ethereum.org/EIPS/eip-2537#abi-for-g1-multiexponentiation