Skip to content

Commit 316a610

Browse files
committed
feat: conversions
1 parent 86d6822 commit 316a610

File tree

2 files changed

+37
-32
lines changed

2 files changed

+37
-32
lines changed

conversion/index.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,12 @@ function uncompressedFq(number) {
1313

1414
function uncompressedG1(point) {
1515
const x = uncompressedFq(point[0]);
16-
const y = uncompressedFq(point[1]);
17-
return x + y;
16+
return x;
1817
}
1918

2019
function uncompressedG2(point) {
2120
const x = uncompressedFq(point[0][0]) + uncompressedFq(point[0][1]);
22-
const y = uncompressedFq(point[1][0]) + uncompressedFq(point[1][1]);
23-
return x + y;
21+
return x;
2422
}
2523

2624
function convertProofToUncompressed(proof) {

lib/ak-381/groth16.ak

Lines changed: 35 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -51,33 +51,40 @@ pub fn groth_verify(
5151

5252
// Test (3 Factorial problem)
5353

54-
test groth_verify_1() {
55-
// Template of VK
56-
let vk: SnarkVerificationKey =
57-
SnarkVerificationKey {
58-
nPublic: 8,
59-
vkAlpha: #<Bls12_381, G1>"97f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb",
60-
vkBeta: #<Bls12_381, G2>"93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8",
61-
vkGamma: #<Bls12_381, G2>"93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8",
62-
vkDelta: #<Bls12_381, G2>"93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8",
63-
vkAlphaBeta: [
64-
#<Bls12_381, G2>"93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8",
65-
],
66-
vkIC: [
67-
#<Bls12_381, G1>"97f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb",
68-
],
69-
}
54+
// test groth_verify_1() {
55+
// // Template of VK
56+
// let vk: SnarkVerificationKey =
57+
// SnarkVerificationKey {
58+
// nPublic: 2,
59+
// vkAlpha: #<Bls12_381, G1>"e3d9e248feda194cb6fa0a3b64fd2a380cb5e94836bf8148bf97ebcbb5819d9a78f63102f0293c104bcbb2f810d8eb00",
60+
// vkBeta: #<Bls12_381, G2>"1874ea7bbfcb9872931e115d882c46b90c3dcbcee10062d1c9b9b0a691d7bec7d2735f06495c7f71dea210e55b2782dfcd68a7186a908212680a0234d8210c20328f8fb3ce1d69c9aec9330a5802d6cfaf6d7cf3176133221c19188590cb4100",
61+
// vkGamma: #<Bls12_381, G2>"24aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb0013e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e",
62+
// vkDelta: #<Bls12_381, G2>"2af2f9f515c65af6a9a6c294c738590104376a0af44731d6699db6a286608774243f7d1dddc4605eb340e65e15060a00138231fcec443fbdeb1079ff126b8f69bd8579ffe82d39923214d4345395beee60200288fa20c97ae50f3212131b6f88",
63+
// vkAlphaBeta: [
64+
// #<Bls12_381, G2>"93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8",
65+
// ],
66+
// vkIC: [
67+
// #<Bls12_381, G1>"15813c90d3455acb8608fdf66e8601f24ef048f3fdf9384862d77c72cb5cddfde2b307976b1b0319c42ba985f94be60a",
68+
// #<Bls12_381, G1>"41a0e6370c054be0f9acce08e97f6d5702d9daa9e9a934e8a377f553593baa1c58062adc73d63558653422d54d6f5000",
69+
// #<Bls12_381, G1>"e02a87c519c3145f984d25fdf769f74fbc36626c385d4554fb4bc1d7a12cbf669d40f257023b8b3c9a31e631aa8f9800",
70+
// ],
71+
// }
7072

71-
// Template of Proof
72-
let pk: Proof =
73-
Proof {
74-
piA: #<Bls12_381, G1>"97f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb",
75-
piB: #<Bls12_381, G2>"93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8",
76-
piC: #<Bls12_381, G1>"97f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb",
77-
}
78-
// Template of public values
79-
let public_values: List<Int> =
80-
[562, 3]
73+
// // Template of Proof
74+
// let pk: Proof =
75+
// Proof {
76+
// piA: #<Bls12_381, G1>"128cb29bc282be68df977b35eb9d8e98b3a0a3fc7c372990bddc50419ca86693e491755338fed4fb42231a7c081252ce",
77+
// piB: #<Bls12_381, G2>"e66ad6d86c7c76c468a32c9c0080eea0219d0953b44b1c4f5605afb1e5a3193264ff730222e94f55207628235f3b420019215e5bc481ba6552384c89c23d45bd650b69462868248bfbb83aee7060579404dba41c781dec7c2bec5fccec06842e",
78+
// piC: #<Bls12_381, G1>"86a574105c0da95915c36025637e5b80c7c00c4a264b529b465c273ade3e38f15dc7840498a1aefb44a24a0070a2ff00",
79+
// }
80+
// // Template of public values
81+
// let public_values: List<Int> =
82+
// [562, 3]
8183

82-
groth_verify(vk, pk, public_values)
83-
}
84+
// groth_verify(vk, pk, public_values)
85+
// }
86+
87+
test bls_point_construction() {
88+
let point_1 = #<Bls12_381, G1>"184bb665c37ff561a89ec2122dd343f20e0f4cbcaec84e3c3052ea81d1834e192c426074b02ed3dca4e7676ce4ce48ba"
89+
True
90+
}

0 commit comments

Comments
 (0)