Expand description

Standard built-in contracts.

Structs

Pricing for constant alt_bn128 operations (ECADD and ECMUL)

Pricing for constant Bls12 operations (ADD and MUL in G1 and G2, as well as mappings)

The Bls12G1Add builtin.

The Bls12G1Mul builtin.

The Bls12G1MultiExp builtin.

The Bls12G2Add builtin.

The Bls12G2Mul builtin.

The Bls12G2MultiExp builtin.

The Bls12MapFp2ToG2 builtin.

The Bls12MapFpToG1 builtin.

Pricing for constant Bls12 operations (ADD and MUL in G1 and G2, as well as mappings)

The Bls12Pairing builtin.

Pricing scheme, execution definition, and activation block for a built-in contract.

Marker trait that indicated that we perform operations in G1

Marker trait that indicated that we perform operations in G2

Constants

Length of single G1 + G2 points pair for pairing operation

Discount table for multiexponentiation (Pippenger’s Algorithm) Later on is normalized using the divisor

Divisor for discounts table

Max discount allowed

Max discount is reached at this number of pairs

Traits

Native implementation of a built-in contract.

Marter trait for length of input per one pair (point + scalar)

Type Definitions

Pricing for the Blake2 compression function (aka “F”). Computes the price as a fixed cost per round where the number of rounds is part of the input byte slice.

Multiexp pricer in G1

Multiexp pricer in G2