arnaucube
arnaucube/snarkjsPublic Self-hosted repository
snarkjs/test/algebra.js
test/algebra.jsRaw
 1const F1Field = require("../src/f1field.js");
 2const GCurve = require("../src/gcurve.js");
 3const constants = require("../src/constants.js");
 4const chai = require('chai');
 5
 6const assert = chai.assert;
 7
 8describe("Curve G1 Test", () => {
 9
10    it ("r*one == 0", () => {
11        const F1 = new F1Field(constants.q);
12        const G1 = new GCurve(F1, constants.g1);
13
14        const res = G1.mulEscalar(G1.g, constants.r);
15
16        assert(G1.equals(res, G1.zero), "G1 does not have range r");
17    });
18
19    it("Should add match in various", () => {
20        const F1 = new F1Field(constants.q);
21        const G1 = new GCurve(F1, constants.g1);
22
23        const r1 = F1.e(33);
24        const r2 = F1.e(44);
25
26        const gr1 = G1.mulEscalar(G1.g, r1);
27        const gr2 = G1.mulEscalar(G1.g, r2);
28
29        const grsum1 = G1.add(gr1, gr2);
30
31        const grsum2 = G1.mulEscalar(G1.g, r1.add(r2));
32
33        assert(G1.equals(grsum1, grsum2));
34    });
35});