arnaucube
arnaucube/go-circom-prover-verifierPublic Self-hosted repository
go-circom-prover-verifier/parsers_test.go
parsers_test.goRaw
  1package gocircomprover
  2
  3import (
  4	"testing"
  5
  6	"github.com/stretchr/testify/assert"
  7)
  8
  9func TestParseArrayG1(t *testing.T) {
 10	aS := [][]string{
 11		{
 12			"16145916318196730299582072104388453231952213805668281741813587224450782397538",
 13			"4434505318477484327659527264104806919103674231447634885054368605283938696207",
 14			"1",
 15		},
 16		{
 17			"10618406967550056457559358662746625591602641004174976323307214433994084907915",
 18			"1843236360452735081347085412539192450068665510574800388201121698908391533923",
 19			"1",
 20		},
 21		{
 22			"1208972877970123411566574123860641832032384890981476033353526096830198333194",
 23			"777503551507025252294438107100944741641946695980350712141258191590862204805",
 24			"1",
 25		},
 26		{
 27			"0",
 28			"1",
 29			"0",
 30		},
 31	}
 32
 33	a, err := arrayStringToG1(aS)
 34	assert.Nil(t, err)
 35	assert.Equal(t, "bn256.G1(23b243c928ce40c4cc2dad366e9f61723aef65866e1c66f42a08697f2f030462, 09cdd7500688fb487ec9f27b5a732d68fa0f3ddca5c2c790e330fdfb03b77c0f)", a[0].String())
 36	assert.Equal(t, "bn256.G1(1779ce2c586b5fc523e72e755d969a63473052aaad7c11eb5bf0ecdcfdfefb8b, 04133c1c74206dace57cd3d76ce59be381bbf08f51a5b3edc2b0c183d43eed63)", a[1].String())
 37	assert.Equal(t, "bn256.G1(02ac4120598d2f2bb81bc09b8df596403360577b0c5ff52485d1ef2200f23f0a, 01b80d298de75f867d6484c55c3da02c042bb4eb9a1734d3386786aaa669af85)", a[2].String())
 38	assert.Equal(t, "bn256.G1(0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000001)", a[3].String())
 39}
 40
 41func TestParseG2(t *testing.T) {
 42	aS := [][]string{
 43		{
 44			"9283666785342556550467669770956850930982548182701254051508520248901282197973",
 45			"11369378229277445316894458966429873744779877313900506577160370623273013178252",
 46		},
 47		{
 48			"10625777544326349817513295021482494426101347915428005055375725845993157551870",
 49			"21401790227434807639472120486932615400751346915707967674912972446672152512583",
 50		},
 51		{
 52			"1",
 53			"0",
 54		},
 55	}
 56
 57	a, err := stringToG2(aS)
 58	assert.Nil(t, err)
 59	assert.Equal(t, "bn256.G2((1922d70c934543aa655ec3277f7fa10a25ec973a4f001a7c54ce4954b4916f8c, 14865e836947c42cf35b47d30e06535fff9dab319c4296e28afde368960671d5), (2f50fbe77925b0a9d718c9ab38638bafa7c65f43f0d09035e518df97ad294847, 177dfa1a3b8627faf0425d9511bcb4c6ca986ea05e3803b5c643c35b94a7e6fe))", a.String())
 60
 61	aS = [][]string{
 62		{
 63			"13973091636763944887728510851169742544309374663995476311690518173988838518856",
 64			"12903946180439304546475897520537621821375470264150438270817301786763517825250",
 65		},
 66		{
 67			"370374369234123593044872519351942112043402224488849374153134091815693350697",
 68			"17423079115073430837335625309232513526393852743032331213038909731579295753224",
 69		},
 70		{
 71			"1",
 72			"0",
 73		},
 74	}
 75	a, err = stringToG2(aS)
 76	assert.Nil(t, err)
 77	assert.Equal(t, "bn256.G2((1c875fed67fff3b35f115b03706ec45f281b5f6cc71a99107240e09fce4910e2, 1ee47d566e9a099626b9860bcd96f6d4a1ed65f115d3efa8e05e5f42cc793048), (26851d022ce9961df65a430811824aaf3118710ac03b0614a50c05ee27d8e408, 00d19fdce25b0d78fb317a5f1789823b7ed76274b0d1be9c685792c73b347729))", a.String())
 78}
 79
 80func TestParseArrayG2(t *testing.T) {
 81	aS := [][][]string{
 82		{
 83			{
 84				"0",
 85				"0",
 86			},
 87			{
 88				"1",
 89				"0",
 90			},
 91			{
 92				"0",
 93				"0",
 94			},
 95		},
 96		{
 97			{
 98				"0",
 99				"0",
100			},
101			{
102				"1",
103				"0",
104			},
105			{
106				"0",
107				"0",
108			},
109		},
110		{
111			{
112				"0",
113				"0",
114			},
115			{
116				"1",
117				"0",
118			},
119			{
120				"0",
121				"0",
122			},
123		},
124		{
125			{
126				"9283666785342556550467669770956850930982548182701254051508520248901282197973",
127				"11369378229277445316894458966429873744779877313900506577160370623273013178252",
128			},
129			{
130				"10625777544326349817513295021482494426101347915428005055375725845993157551870",
131				"21401790227434807639472120486932615400751346915707967674912972446672152512583",
132			},
133			{
134				"1",
135				"0",
136			},
137		},
138	}
139
140	a, err := arrayStringToG2(aS)
141	assert.Nil(t, err)
142	assert.Equal(t, "bn256.G2((0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000000), (0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000001))", a[0].String())
143	assert.Equal(t, "bn256.G2((1922d70c934543aa655ec3277f7fa10a25ec973a4f001a7c54ce4954b4916f8c, 14865e836947c42cf35b47d30e06535fff9dab319c4296e28afde368960671d5), (2f50fbe77925b0a9d718c9ab38638bafa7c65f43f0d09035e518df97ad294847, 177dfa1a3b8627faf0425d9511bcb4c6ca986ea05e3803b5c643c35b94a7e6fe))", a[3].String())
144
145}