Method: KZG::Commitment#initialize

Defined in:
lib/kzg/commitment.rb

#initialize(setting, polynomial) ⇒ Commitment

Create commitment

Parameters:



11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/kzg/commitment.rb', line 11

def initialize(setting, polynomial)
  @setting = setting
  @polynomial = polynomial
  @value =
    polynomial
      .coeffs
      .map
      .with_index do |c, i|
        c = c.is_a?(BLS::Fr) ? c : BLS::Fr.new(c)
        c.value.zero? ? BLS::PointG1::ZERO : setting.g1_points[i] * c
      end
      .inject(&:+)
end