mirror of
https://github.com/zkemail/zk-email-verify.git
synced 2026-01-10 05:58:08 -05:00
added email caching if no internet for input generation
This commit is contained in:
@@ -12,8 +12,10 @@ import { shaHash } from "../../src/helpers/shaHash";
|
||||
import { dkimVerify } from "../../src/helpers/dkim";
|
||||
import { assert } from "console";
|
||||
import * as fs from "fs";
|
||||
var Cryo = require('cryo');
|
||||
const pki = require("node-forge").pki;
|
||||
|
||||
|
||||
interface ICircuitInputs {
|
||||
modulus?: string[];
|
||||
signature?: string[];
|
||||
@@ -135,8 +137,17 @@ export async function getCircuitInputs(
|
||||
}
|
||||
|
||||
export async function generate_inputs(email: Buffer) {
|
||||
// console.log(email);
|
||||
const result = await dkimVerify(email);
|
||||
var result;
|
||||
try {
|
||||
result = await dkimVerify(email);
|
||||
const _ = result.results[0].publicKey.toString();
|
||||
var frozen = Cryo.stringify(result);
|
||||
fs.writeFileSync(`./email_cache.json`, frozen, { flag: "w" });
|
||||
} catch (e) {
|
||||
console.log("Reading cached email instead!")
|
||||
let frozen = fs.readFileSync(`./email_cache.json`, { encoding: "utf-8" });
|
||||
result = Cryo.parse(frozen);
|
||||
}
|
||||
|
||||
let sig = BigInt("0x" + Buffer.from(result.results[0].signature, "base64").toString("hex"));
|
||||
let message = result.results[0].status.signature_header;
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"base64-sol": "^1.1.0",
|
||||
"circomlib": "^2.0.3",
|
||||
"circomlibjs": "^0.1.2",
|
||||
"cryo": "^0.0.6",
|
||||
"libmime": "^5.1.0",
|
||||
"localforage": "^1.10.0",
|
||||
"lodash": "^4.17.21",
|
||||
|
||||
@@ -4312,6 +4312,11 @@ cross-spawn@^6.0.0:
|
||||
shebang-command "^1.2.0"
|
||||
which "^1.2.9"
|
||||
|
||||
cryo@^0.0.6:
|
||||
version "0.0.6"
|
||||
resolved "https://registry.yarnpkg.com/cryo/-/cryo-0.0.6.tgz#16833295d2ee16ff39711db840617b7ae4af0ba4"
|
||||
integrity sha512-vSbO1hJvP9oOGXcKHiAj3U37rtErI8jIZ8gOp8EfiQgPncAv6nc4JArGWzqrxlwA5xe6Sph5OUAg//7yqTOyIg==
|
||||
|
||||
crypto-browserify@^3.11.0:
|
||||
version "3.12.0"
|
||||
resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
|
||||
|
||||
Reference in New Issue
Block a user