arnaucube
arnaucube/eth-kzg-ceremony-altPublic Self-hosted repository
eth-kzg-ceremony-alt/powersoftau_test.go
powersoftau_test.goRaw
 1package kzgceremony
 2
 3import (
 4	"encoding/json"
 5	"fmt"
 6	"io/ioutil"
 7	"testing"
 8
 9	qt "github.com/frankban/quicktest"
10)
11
12func TestContribution(t *testing.T) {
13	c := qt.New(t)
14
15	srs_0 := newEmptySRS(10, 10)
16
17	srs_1, proof_1, err := Contribute(srs_0,
18		[]byte("1111111111111111111111111111111111111111111111111111111111111111"))
19	c.Assert(err, qt.IsNil)
20
21	c.Assert(Verify(srs_0, srs_1, proof_1), qt.IsTrue)
22
23	srs_2, proof_2, err := Contribute(srs_1,
24		[]byte("2222222222222222222222222222222222222222222222222222222222222222"))
25	c.Assert(err, qt.IsNil)
26	c.Assert(Verify(srs_1, srs_2, proof_2), qt.IsTrue)
27}
28
29func TestComputeNewState(t *testing.T) {
30	c := qt.New(t)
31	j, err := ioutil.ReadFile("current_state_10.json")
32	c.Assert(err, qt.IsNil)
33
34	cs := &State{}
35	err = json.Unmarshal(j, cs)
36	c.Assert(err, qt.IsNil)
37
38	newState, err :=
39		cs.Contribute([]byte("1111111111111111111111111111111111111111111111111111111111111111"))
40	c.Assert(err, qt.IsNil)
41
42	b, err := json.Marshal(newState)
43	c.Assert(err, qt.IsNil)
44	err = ioutil.WriteFile("new_state.json", b, 0600)
45	c.Assert(err, qt.IsNil)
46}
47
48func TestBatchContribution(t *testing.T) {
49	c := qt.New(t)
50	j, err := ioutil.ReadFile("batch_contribution_10.json")
51	c.Assert(err, qt.IsNil)
52
53	bc := &BatchContribution{}
54	err = json.Unmarshal(j, bc)
55	c.Assert(err, qt.IsNil)
56
57	nb, err :=
58		bc.Contribute([]byte("1111111111111111111111111111111111111111111111111111111111111111"))
59	c.Assert(err, qt.IsNil)
60
61	b, err := json.Marshal(nb)
62	c.Assert(err, qt.IsNil)
63	fmt.Println(string(b))
64}