Function: pairing()
The pairing
function is a wrapper to the precompile contract, computing the ate pairing operation over alt_bn128
curves as defined in EIP-197↗. The pairing operation is used to verify the BLS signatures.
Inputs
p1
Validation: If the points coordinates are bigger than or equal to , the pairing operation fails and the contract reverts.
Impact: Points in representing the generator and the aggregate public key.
p2
Validation: If the points coordinates are bigger than or equal to , the pairing operation fails and the contract reverts.
Impact: Points in representing the signature and the message hash.
Branches and code coverage (including function calls)
Intended branches
Negative behavior
Function call analysis
call(sub(gas(), 2000), 8, 0, add(input, 0x20), mul(inputSize, 0x20), out, 0x20)
External/Internal? External.
Argument control:
input
and sizes are controlled.Impact: Paring check for the signature verification.