diff --git a/bn256/bn256.go b/bn256/bn256.go index b081c6a..9c99fcd 100644 --- a/bn256/bn256.go +++ b/bn256/bn256.go @@ -56,6 +56,9 @@ func RandomG1(r io.Reader) (*big.Int, *G1, error) { } func (e *G1) String() string { + if e.p == nil { + return "bn256.G1" + newCurvePoint(nil).String() + } return "bn256.G1" + e.p.String() } @@ -178,6 +181,9 @@ func RandomG2(r io.Reader) (*big.Int, *G2, error) { } func (e *G2) String() string { + if e.p == nil { + return "bn256.G2" + newTwistPoint(nil).String() + } return "bn256.G2" + e.p.String() } @@ -281,8 +287,11 @@ type GT struct { p *gfP12 } -func (g *GT) String() string { - return "bn256.GT" + g.p.String() +func (e *GT) String() string { + if e.p == nil { + return "bn256.GT" + newGFp12(nil).String() + } + return "bn256.GT" + e.p.String() } // ScalarMult sets e to a*k and then returns e.