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}