codex-contracts-eth/test/proof.js

35 lines
662 B
JavaScript
Raw Normal View History

2024-01-10 14:12:18 +00:00
const fs = require("fs")
2024-01-15 15:25:30 +00:00
const ethers = require("ethers")
2024-01-18 08:54:21 +00:00
const { BigNumber } = ethers
2024-01-05 11:27:53 +00:00
2024-01-18 08:54:21 +00:00
const BASE_PATH = __dirname + "/../verifier/networks"
const PROOF_FILE_NAME = "example-proof/proof.json"
function G1ToUInts(point) {
return [
point[0],
point[1]
]
2024-01-18 08:54:21 +00:00
}
function G2ToUInts(point) {
return [
point[0][1],
point[0][0],
point[1][1],
point[1][0]
]
2024-01-18 08:54:21 +00:00
}
2024-01-05 11:27:53 +00:00
2024-01-10 14:12:18 +00:00
function loadProof(name) {
const proof = JSON.parse(
fs.readFileSync(`${BASE_PATH}/${name}/${PROOF_FILE_NAME}`)
)
return []
.concat(G1ToUInts(proof['pi_a']))
.concat(G2ToUInts(proof['pi_b']))
.concat(G1ToUInts(proof['pi_c']))
2024-01-05 11:27:53 +00:00
}
module.exports = { loadProof }