From 9d5358deb9cb52c850e91a282b27e98545f34ee6 Mon Sep 17 00:00:00 2001 From: Özgür Kesim Date: Fri, 15 Nov 2024 12:55:01 +0100 Subject: simplify Product API --- curve/curve.go | 2 +- curve/ed25519.go | 2 +- veto/veto.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/curve/curve.go b/curve/curve.go index 5b41352..12f29c8 100644 --- a/curve/curve.go +++ b/curve/curve.go @@ -32,7 +32,7 @@ type SomeCurve[S SomeScalar[s], s Data, P SomePoint[S, s, p], p Data] interface Identity() P Generator() P - Product([]P) P + Product(...P) P Exp(S) P } diff --git a/curve/ed25519.go b/curve/ed25519.go index d1edc90..70c00fd 100644 --- a/curve/ed25519.go +++ b/curve/ed25519.go @@ -94,7 +94,7 @@ func (c *c25519) Generator() *point { return (*point)(ed.NewGeneratorPoint()) } -func (c *c25519) Product(pts []*point) (product *point) { +func (c *c25519) Product(pts ...*point) (product *point) { product = c.Identity() for _, p := range pts { product = product.Mul(p) diff --git a/veto/veto.go b/veto/veto.go index 9ecf13f..f0aa3c5 100644 --- a/veto/veto.go +++ b/veto/veto.go @@ -250,7 +250,7 @@ type points []*Point // received the g^(c_i*y_i) from all other participants and calculates the product // of them. If the result is the unit element of the group, no veto was present. func (pts points) IsVetoed() bool { - product := Curve.Product(pts) + product := Curve.Product(pts...) one := Curve.Identity() return !one.Equal(product) } -- cgit v1.2.3