@devtion/actions 0.0.0-b499eaf → 0.0.0-c1f4cbe
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.mjs +68 -23
- package/dist/index.node.js +68 -22
- package/dist/types/src/helpers/constants.d.ts +2 -0
- package/dist/types/src/helpers/constants.d.ts.map +1 -1
- package/dist/types/src/helpers/contracts.d.ts.map +1 -1
- package/dist/types/src/helpers/crypto.d.ts +1 -0
- package/dist/types/src/helpers/crypto.d.ts.map +1 -1
- package/dist/types/src/helpers/database.d.ts +8 -0
- package/dist/types/src/helpers/database.d.ts.map +1 -1
- package/dist/types/src/helpers/utils.d.ts +15 -1
- package/dist/types/src/helpers/utils.d.ts.map +1 -1
- package/dist/types/src/helpers/verification.d.ts +3 -2
- package/dist/types/src/helpers/verification.d.ts.map +1 -1
- package/dist/types/src/helpers/vm.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +6 -0
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/package.json +3 -4
- package/src/helpers/constants.ts +3 -1
- package/src/helpers/contracts.ts +3 -3
- package/src/helpers/database.ts +13 -0
- package/src/helpers/utils.ts +55 -15
- package/src/helpers/verification.ts +6 -6
- package/src/helpers/vm.ts +3 -2
- package/src/index.ts +1 -0
- package/src/types/index.ts +20 -0
package/dist/index.mjs
CHANGED
|
@@ -15,7 +15,6 @@ import { onSnapshot, query, collection, getDocs, doc, getDoc, where, Timestamp,
|
|
|
15
15
|
import { zKey, groth16 } from 'snarkjs';
|
|
16
16
|
import crypto from 'crypto';
|
|
17
17
|
import blake from 'blakejs';
|
|
18
|
-
import { utils } from 'ffjavascript';
|
|
19
18
|
import winston from 'winston';
|
|
20
19
|
import { pipeline } from 'stream';
|
|
21
20
|
import { promisify } from 'util';
|
|
@@ -339,7 +338,9 @@ const commonTerms = {
|
|
|
339
338
|
finalizeCircuit: "finalizeCircuit",
|
|
340
339
|
finalizeCeremony: "finalizeCeremony",
|
|
341
340
|
downloadCircuitArtifacts: "downloadCircuitArtifacts",
|
|
342
|
-
transferObject: "transferObject"
|
|
341
|
+
transferObject: "transferObject",
|
|
342
|
+
bandadaValidateProof: "bandadaValidateProof",
|
|
343
|
+
checkNonceOfSIWEAddress: "checkNonceOfSIWEAddress"
|
|
343
344
|
}
|
|
344
345
|
};
|
|
345
346
|
|
|
@@ -705,8 +706,8 @@ const uploadParts = async (chunksWithUrls, contentType, cloudFunctions, ceremony
|
|
|
705
706
|
// @ts-ignore
|
|
706
707
|
const response = await fetch(chunksWithUrls[i].preSignedUrl, {
|
|
707
708
|
retryOptions: {
|
|
708
|
-
retryInitialDelay: 500,
|
|
709
|
-
socketTimeout: 60000,
|
|
709
|
+
retryInitialDelay: 500, // 500 ms.
|
|
710
|
+
socketTimeout: 60000, // 60 seconds.
|
|
710
711
|
retryMaxDuration: 300000 // 5 minutes.
|
|
711
712
|
},
|
|
712
713
|
method: "PUT",
|
|
@@ -1003,6 +1004,17 @@ const getClosedCeremonies = async (firestoreDatabase) => {
|
|
|
1003
1004
|
]);
|
|
1004
1005
|
return fromQueryToFirebaseDocumentInfo(closedCeremoniesQuerySnap.docs);
|
|
1005
1006
|
};
|
|
1007
|
+
/**
|
|
1008
|
+
* Query all ceremonies
|
|
1009
|
+
* @notice get all ceremonies from the database.
|
|
1010
|
+
* @dev this is a helper for the CLI ceremony methods.
|
|
1011
|
+
* @param firestoreDatabase <Firestore> - the Firestore service instance associated to the current Firebase application.
|
|
1012
|
+
* @returns <Promise<Array<FirebaseDocumentInfo>>> - the list of all ceremonies.
|
|
1013
|
+
*/
|
|
1014
|
+
const getAllCeremonies = async (firestoreDatabase) => {
|
|
1015
|
+
const ceremoniesQuerySnap = await queryCollection(firestoreDatabase, commonTerms.collections.ceremonies.name, []);
|
|
1016
|
+
return fromQueryToFirebaseDocumentInfo(ceremoniesQuerySnap.docs);
|
|
1017
|
+
};
|
|
1006
1018
|
|
|
1007
1019
|
/**
|
|
1008
1020
|
* @hidden
|
|
@@ -1262,6 +1274,41 @@ const readBytesFromFile = (localFilePath, offset, length, position) => {
|
|
|
1262
1274
|
// Return the read bytes.
|
|
1263
1275
|
return buffer;
|
|
1264
1276
|
};
|
|
1277
|
+
/**
|
|
1278
|
+
* Given a buffer in little endian format, convert it to bigint
|
|
1279
|
+
* @param buffer
|
|
1280
|
+
* @returns
|
|
1281
|
+
*/
|
|
1282
|
+
function leBufferToBigint(buffer) {
|
|
1283
|
+
return BigInt(`0x${buffer.reverse().toString("hex")}`);
|
|
1284
|
+
}
|
|
1285
|
+
/**
|
|
1286
|
+
* Given an input containing string values, convert them
|
|
1287
|
+
* to bigint
|
|
1288
|
+
* @param input - The input to convert
|
|
1289
|
+
* @returns the input with string values converted to bigint
|
|
1290
|
+
*/
|
|
1291
|
+
const unstringifyBigInts = (input) => {
|
|
1292
|
+
if (typeof input === "string" && /^[0-9]+$/.test(input)) {
|
|
1293
|
+
return BigInt(input);
|
|
1294
|
+
}
|
|
1295
|
+
if (typeof input === "string" && /^0x[0-9a-fA-F]+$/.test(input)) {
|
|
1296
|
+
return BigInt(input);
|
|
1297
|
+
}
|
|
1298
|
+
if (Array.isArray(input)) {
|
|
1299
|
+
return input.map(unstringifyBigInts);
|
|
1300
|
+
}
|
|
1301
|
+
if (input === null) {
|
|
1302
|
+
return null;
|
|
1303
|
+
}
|
|
1304
|
+
if (typeof input === "object") {
|
|
1305
|
+
return Object.entries(input).reduce((acc, [key, value]) => {
|
|
1306
|
+
acc[key] = unstringifyBigInts(value);
|
|
1307
|
+
return acc;
|
|
1308
|
+
}, {});
|
|
1309
|
+
}
|
|
1310
|
+
return input;
|
|
1311
|
+
};
|
|
1265
1312
|
/**
|
|
1266
1313
|
* Return the info about the R1CS file.ù
|
|
1267
1314
|
* @dev this method was built taking inspiration from
|
|
@@ -1322,18 +1369,17 @@ const getR1CSInfo = (localR1CSFilePath) => {
|
|
|
1322
1369
|
let constraints = 0;
|
|
1323
1370
|
try {
|
|
1324
1371
|
// Get 'number of section' (jump magic r1cs and version1 data).
|
|
1325
|
-
const numberOfSections =
|
|
1372
|
+
const numberOfSections = leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 4, 8));
|
|
1326
1373
|
// Jump to first section.
|
|
1327
1374
|
pointer = 12;
|
|
1328
|
-
let found = false;
|
|
1329
1375
|
// For each section
|
|
1330
|
-
for (let i = 0; i < numberOfSections
|
|
1376
|
+
for (let i = 0; i < numberOfSections; i++) {
|
|
1331
1377
|
// Read section type.
|
|
1332
|
-
const sectionType =
|
|
1378
|
+
const sectionType = leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 4, pointer));
|
|
1333
1379
|
// Jump to section size.
|
|
1334
1380
|
pointer += 4;
|
|
1335
1381
|
// Read section size
|
|
1336
|
-
const sectionSize = Number(
|
|
1382
|
+
const sectionSize = Number(leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 8, pointer)));
|
|
1337
1383
|
// If at header section (0x00000001 : Header Section).
|
|
1338
1384
|
if (sectionType === BigInt(1)) {
|
|
1339
1385
|
// Read info from header section.
|
|
@@ -1365,23 +1411,22 @@ const getR1CSInfo = (localR1CSFilePath) => {
|
|
|
1365
1411
|
*/
|
|
1366
1412
|
pointer += sectionSize - 20;
|
|
1367
1413
|
// Read R1CS info.
|
|
1368
|
-
wires = Number(
|
|
1414
|
+
wires = Number(leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 4, pointer)));
|
|
1369
1415
|
pointer += 4;
|
|
1370
|
-
publicOutputs = Number(
|
|
1416
|
+
publicOutputs = Number(leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 4, pointer)));
|
|
1371
1417
|
pointer += 4;
|
|
1372
|
-
publicInputs = Number(
|
|
1418
|
+
publicInputs = Number(leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 4, pointer)));
|
|
1373
1419
|
pointer += 4;
|
|
1374
|
-
privateInputs = Number(
|
|
1420
|
+
privateInputs = Number(leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 4, pointer)));
|
|
1375
1421
|
pointer += 4;
|
|
1376
|
-
labels = Number(
|
|
1422
|
+
labels = Number(leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 8, pointer)));
|
|
1377
1423
|
pointer += 8;
|
|
1378
|
-
constraints = Number(
|
|
1379
|
-
found = true;
|
|
1424
|
+
constraints = Number(leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 4, pointer)));
|
|
1380
1425
|
}
|
|
1381
1426
|
pointer += 8 + Number(sectionSize);
|
|
1382
1427
|
}
|
|
1383
1428
|
return {
|
|
1384
|
-
curve: "bn-128",
|
|
1429
|
+
curve: "bn-128", /// @note currently default to bn-128 as we support only Groth16 proving system.
|
|
1385
1430
|
wires,
|
|
1386
1431
|
constraints,
|
|
1387
1432
|
privateInputs,
|
|
@@ -1929,11 +1974,11 @@ const p256 = (proofPart) => {
|
|
|
1929
1974
|
*/
|
|
1930
1975
|
const formatSolidityCalldata = (circuitInput, _proof) => {
|
|
1931
1976
|
try {
|
|
1932
|
-
const proof =
|
|
1977
|
+
const proof = unstringifyBigInts(_proof);
|
|
1933
1978
|
// format the public inputs to the circuit
|
|
1934
1979
|
const formattedCircuitInput = [];
|
|
1935
1980
|
for (const cInput of circuitInput) {
|
|
1936
|
-
formattedCircuitInput.push(p256(
|
|
1981
|
+
formattedCircuitInput.push(p256(unstringifyBigInts(cInput)));
|
|
1937
1982
|
}
|
|
1938
1983
|
// construct calldata
|
|
1939
1984
|
const calldata = {
|
|
@@ -2315,8 +2360,8 @@ const createSSMClient = async () => {
|
|
|
2315
2360
|
* @returns <Array<string>> - the list of startup commands to be executed.
|
|
2316
2361
|
*/
|
|
2317
2362
|
const vmBootstrapCommand = (bucketName) => [
|
|
2318
|
-
"#!/bin/bash",
|
|
2319
|
-
`aws s3 cp s3://${bucketName}/${vmBootstrapScriptFilename} ${vmBootstrapScriptFilename}`,
|
|
2363
|
+
"#!/bin/bash", // shabang.
|
|
2364
|
+
`aws s3 cp s3://${bucketName}/${vmBootstrapScriptFilename} ${vmBootstrapScriptFilename}`, // copy file from S3 bucket to VM.
|
|
2320
2365
|
`chmod +x ${vmBootstrapScriptFilename} && bash ${vmBootstrapScriptFilename}` // grant permission and execute.
|
|
2321
2366
|
];
|
|
2322
2367
|
/**
|
|
@@ -2407,7 +2452,7 @@ const createEC2Instance = async (ec2, commands, instanceType, volumeSize, diskTy
|
|
|
2407
2452
|
DeviceName: "/dev/xvda",
|
|
2408
2453
|
Ebs: {
|
|
2409
2454
|
DeleteOnTermination: true,
|
|
2410
|
-
VolumeSize: volumeSize,
|
|
2455
|
+
VolumeSize: volumeSize, // disk size in GB.
|
|
2411
2456
|
VolumeType: diskType
|
|
2412
2457
|
}
|
|
2413
2458
|
}
|
|
@@ -2593,4 +2638,4 @@ const retrieveCommandStatus = async (ssm, instanceId, commandId) => {
|
|
|
2593
2638
|
}
|
|
2594
2639
|
};
|
|
2595
2640
|
|
|
2596
|
-
export { CeremonyState, CeremonyTimeoutType, CeremonyType, CircuitContributionVerificationMechanism, DiskTypeForVM, ParticipantContributionStep, ParticipantStatus, RequestType, TestingEnvironment, TimeoutType, autoGenerateEntropy, blake512FromPath, checkAndPrepareCoordinatorForFinalization, checkIfObjectExist, checkIfRunning, checkParticipantForCeremony, commonTerms, compareCeremonyArtifacts, compareHashes, compileContract, completeMultiPartUpload, computeDiskSizeForVM, computeSHA256ToHex, computeSmallestPowersOfTauForCircuit, convertBytesOrKbToGb, convertToDoubleDigits, createCustomLoggerForFile, createEC2Client, createEC2Instance, createS3Bucket, createSSMClient, downloadAllCeremonyArtifacts, downloadCeremonyArtifact, ec2InstanceTag, exportVerifierAndVKey, exportVerifierContract, exportVkey, extractPoTFromFilename, extractPrefix, extractR1CSInfoValueForGivenKey, finalContributionIndex, finalizeCeremony, finalizeCircuit, formatSolidityCalldata, formatZkeyIndex, fromQueryToFirebaseDocumentInfo, generateGROTH16Proof, generateGetObjectPreSignedUrl, generatePreSignedUrlsParts, generateValidContributionsAttestation, generateZkeyFromScratch, genesisZkeyIndex, getAllCollectionDocs, getBucketName, getCeremonyCircuits, getCircuitBySequencePosition, getCircuitContributionsFromContributor, getCircuitsCollectionPath, getClosedCeremonies, getContributionsCollectionPath, getContributionsValidityForContributor, getCurrentActiveParticipantTimeout, getCurrentFirebaseAuthUser, getDocumentById, getOpenedCeremonies, getParticipantsCollectionPath, getPotStorageFilePath, getPublicAttestationPreambleForContributor, getR1CSInfo, getR1csStorageFilePath, getTimeoutsCollectionPath, getTranscriptStorageFilePath, getVerificationKeyStorageFilePath, getVerifierContractStorageFilePath, getWasmStorageFilePath, getZkeyStorageFilePath, githubReputation, initializeFirebaseCoreServices, isCoordinator, multiPartUpload, numExpIterations, p256, parseCeremonyFile, permanentlyStoreCurrentContributionTimeAndHash, potFileDownloadMainUrl, potFilenameTemplate, powersOfTauFiles, progressToNextCircuitForContribution, progressToNextContributionStep, queryCollection, resumeContributionAfterTimeoutExpiration, retrieveCommandOutput, retrieveCommandStatus, runCommandUsingSSM, setupCeremony, signInToFirebaseWithCredentials, solidityVersion, startEC2Instance, stopEC2Instance, temporaryStoreCurrentContributionMultiPartUploadId, temporaryStoreCurrentContributionUploadedChunkData, terminateEC2Instance, toHex, verificationKeyAcronym, verifierSmartContractAcronym, verifyCeremony, verifyContribution, verifyGROTH16Proof, verifyGROTH16ProofOnChain, verifyZKey, vmBootstrapCommand, vmBootstrapScriptFilename, vmConfigurationTypes, vmContributionVerificationCommand, vmDependenciesAndCacheArtifactsCommand };
|
|
2641
|
+
export { CeremonyState, CeremonyTimeoutType, CeremonyType, CircuitContributionVerificationMechanism, DiskTypeForVM, ParticipantContributionStep, ParticipantStatus, RequestType, TestingEnvironment, TimeoutType, autoGenerateEntropy, blake512FromPath, checkAndPrepareCoordinatorForFinalization, checkIfObjectExist, checkIfRunning, checkParticipantForCeremony, commonTerms, compareCeremonyArtifacts, compareHashes, compileContract, completeMultiPartUpload, computeDiskSizeForVM, computeSHA256ToHex, computeSmallestPowersOfTauForCircuit, convertBytesOrKbToGb, convertToDoubleDigits, createCustomLoggerForFile, createEC2Client, createEC2Instance, createS3Bucket, createSSMClient, downloadAllCeremonyArtifacts, downloadCeremonyArtifact, ec2InstanceTag, exportVerifierAndVKey, exportVerifierContract, exportVkey, extractPoTFromFilename, extractPrefix, extractR1CSInfoValueForGivenKey, finalContributionIndex, finalizeCeremony, finalizeCircuit, formatSolidityCalldata, formatZkeyIndex, fromQueryToFirebaseDocumentInfo, generateGROTH16Proof, generateGetObjectPreSignedUrl, generatePreSignedUrlsParts, generateValidContributionsAttestation, generateZkeyFromScratch, genesisZkeyIndex, getAllCeremonies, getAllCollectionDocs, getBucketName, getCeremonyCircuits, getCircuitBySequencePosition, getCircuitContributionsFromContributor, getCircuitsCollectionPath, getClosedCeremonies, getContributionsCollectionPath, getContributionsValidityForContributor, getCurrentActiveParticipantTimeout, getCurrentFirebaseAuthUser, getDocumentById, getOpenedCeremonies, getParticipantsCollectionPath, getPotStorageFilePath, getPublicAttestationPreambleForContributor, getR1CSInfo, getR1csStorageFilePath, getTimeoutsCollectionPath, getTranscriptStorageFilePath, getVerificationKeyStorageFilePath, getVerifierContractStorageFilePath, getWasmStorageFilePath, getZkeyStorageFilePath, githubReputation, initializeFirebaseCoreServices, isCoordinator, multiPartUpload, numExpIterations, p256, parseCeremonyFile, permanentlyStoreCurrentContributionTimeAndHash, potFileDownloadMainUrl, potFilenameTemplate, powersOfTauFiles, progressToNextCircuitForContribution, progressToNextContributionStep, queryCollection, resumeContributionAfterTimeoutExpiration, retrieveCommandOutput, retrieveCommandStatus, runCommandUsingSSM, setupCeremony, signInToFirebaseWithCredentials, solidityVersion, startEC2Instance, stopEC2Instance, temporaryStoreCurrentContributionMultiPartUploadId, temporaryStoreCurrentContributionUploadedChunkData, terminateEC2Instance, toHex, verificationKeyAcronym, verifierSmartContractAcronym, verifyCeremony, verifyContribution, verifyGROTH16Proof, verifyGROTH16ProofOnChain, verifyZKey, vmBootstrapCommand, vmBootstrapScriptFilename, vmConfigurationTypes, vmContributionVerificationCommand, vmDependenciesAndCacheArtifactsCommand };
|
package/dist/index.node.js
CHANGED
|
@@ -17,7 +17,6 @@ var firestore = require('firebase/firestore');
|
|
|
17
17
|
var snarkjs = require('snarkjs');
|
|
18
18
|
var crypto = require('crypto');
|
|
19
19
|
var blake = require('blakejs');
|
|
20
|
-
var ffjavascript = require('ffjavascript');
|
|
21
20
|
var winston = require('winston');
|
|
22
21
|
var stream = require('stream');
|
|
23
22
|
var util = require('util');
|
|
@@ -341,7 +340,9 @@ const commonTerms = {
|
|
|
341
340
|
finalizeCircuit: "finalizeCircuit",
|
|
342
341
|
finalizeCeremony: "finalizeCeremony",
|
|
343
342
|
downloadCircuitArtifacts: "downloadCircuitArtifacts",
|
|
344
|
-
transferObject: "transferObject"
|
|
343
|
+
transferObject: "transferObject",
|
|
344
|
+
bandadaValidateProof: "bandadaValidateProof",
|
|
345
|
+
checkNonceOfSIWEAddress: "checkNonceOfSIWEAddress"
|
|
345
346
|
}
|
|
346
347
|
};
|
|
347
348
|
|
|
@@ -707,8 +708,8 @@ const uploadParts = async (chunksWithUrls, contentType, cloudFunctions, ceremony
|
|
|
707
708
|
// @ts-ignore
|
|
708
709
|
const response = await fetch(chunksWithUrls[i].preSignedUrl, {
|
|
709
710
|
retryOptions: {
|
|
710
|
-
retryInitialDelay: 500,
|
|
711
|
-
socketTimeout: 60000,
|
|
711
|
+
retryInitialDelay: 500, // 500 ms.
|
|
712
|
+
socketTimeout: 60000, // 60 seconds.
|
|
712
713
|
retryMaxDuration: 300000 // 5 minutes.
|
|
713
714
|
},
|
|
714
715
|
method: "PUT",
|
|
@@ -1005,6 +1006,17 @@ const getClosedCeremonies = async (firestoreDatabase) => {
|
|
|
1005
1006
|
]);
|
|
1006
1007
|
return fromQueryToFirebaseDocumentInfo(closedCeremoniesQuerySnap.docs);
|
|
1007
1008
|
};
|
|
1009
|
+
/**
|
|
1010
|
+
* Query all ceremonies
|
|
1011
|
+
* @notice get all ceremonies from the database.
|
|
1012
|
+
* @dev this is a helper for the CLI ceremony methods.
|
|
1013
|
+
* @param firestoreDatabase <Firestore> - the Firestore service instance associated to the current Firebase application.
|
|
1014
|
+
* @returns <Promise<Array<FirebaseDocumentInfo>>> - the list of all ceremonies.
|
|
1015
|
+
*/
|
|
1016
|
+
const getAllCeremonies = async (firestoreDatabase) => {
|
|
1017
|
+
const ceremoniesQuerySnap = await queryCollection(firestoreDatabase, commonTerms.collections.ceremonies.name, []);
|
|
1018
|
+
return fromQueryToFirebaseDocumentInfo(ceremoniesQuerySnap.docs);
|
|
1019
|
+
};
|
|
1008
1020
|
|
|
1009
1021
|
/**
|
|
1010
1022
|
* @hidden
|
|
@@ -1264,6 +1276,41 @@ const readBytesFromFile = (localFilePath, offset, length, position) => {
|
|
|
1264
1276
|
// Return the read bytes.
|
|
1265
1277
|
return buffer;
|
|
1266
1278
|
};
|
|
1279
|
+
/**
|
|
1280
|
+
* Given a buffer in little endian format, convert it to bigint
|
|
1281
|
+
* @param buffer
|
|
1282
|
+
* @returns
|
|
1283
|
+
*/
|
|
1284
|
+
function leBufferToBigint(buffer) {
|
|
1285
|
+
return BigInt(`0x${buffer.reverse().toString("hex")}`);
|
|
1286
|
+
}
|
|
1287
|
+
/**
|
|
1288
|
+
* Given an input containing string values, convert them
|
|
1289
|
+
* to bigint
|
|
1290
|
+
* @param input - The input to convert
|
|
1291
|
+
* @returns the input with string values converted to bigint
|
|
1292
|
+
*/
|
|
1293
|
+
const unstringifyBigInts = (input) => {
|
|
1294
|
+
if (typeof input === "string" && /^[0-9]+$/.test(input)) {
|
|
1295
|
+
return BigInt(input);
|
|
1296
|
+
}
|
|
1297
|
+
if (typeof input === "string" && /^0x[0-9a-fA-F]+$/.test(input)) {
|
|
1298
|
+
return BigInt(input);
|
|
1299
|
+
}
|
|
1300
|
+
if (Array.isArray(input)) {
|
|
1301
|
+
return input.map(unstringifyBigInts);
|
|
1302
|
+
}
|
|
1303
|
+
if (input === null) {
|
|
1304
|
+
return null;
|
|
1305
|
+
}
|
|
1306
|
+
if (typeof input === "object") {
|
|
1307
|
+
return Object.entries(input).reduce((acc, [key, value]) => {
|
|
1308
|
+
acc[key] = unstringifyBigInts(value);
|
|
1309
|
+
return acc;
|
|
1310
|
+
}, {});
|
|
1311
|
+
}
|
|
1312
|
+
return input;
|
|
1313
|
+
};
|
|
1267
1314
|
/**
|
|
1268
1315
|
* Return the info about the R1CS file.ù
|
|
1269
1316
|
* @dev this method was built taking inspiration from
|
|
@@ -1324,18 +1371,17 @@ const getR1CSInfo = (localR1CSFilePath) => {
|
|
|
1324
1371
|
let constraints = 0;
|
|
1325
1372
|
try {
|
|
1326
1373
|
// Get 'number of section' (jump magic r1cs and version1 data).
|
|
1327
|
-
const numberOfSections =
|
|
1374
|
+
const numberOfSections = leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 4, 8));
|
|
1328
1375
|
// Jump to first section.
|
|
1329
1376
|
pointer = 12;
|
|
1330
|
-
let found = false;
|
|
1331
1377
|
// For each section
|
|
1332
|
-
for (let i = 0; i < numberOfSections
|
|
1378
|
+
for (let i = 0; i < numberOfSections; i++) {
|
|
1333
1379
|
// Read section type.
|
|
1334
|
-
const sectionType =
|
|
1380
|
+
const sectionType = leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 4, pointer));
|
|
1335
1381
|
// Jump to section size.
|
|
1336
1382
|
pointer += 4;
|
|
1337
1383
|
// Read section size
|
|
1338
|
-
const sectionSize = Number(
|
|
1384
|
+
const sectionSize = Number(leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 8, pointer)));
|
|
1339
1385
|
// If at header section (0x00000001 : Header Section).
|
|
1340
1386
|
if (sectionType === BigInt(1)) {
|
|
1341
1387
|
// Read info from header section.
|
|
@@ -1367,23 +1413,22 @@ const getR1CSInfo = (localR1CSFilePath) => {
|
|
|
1367
1413
|
*/
|
|
1368
1414
|
pointer += sectionSize - 20;
|
|
1369
1415
|
// Read R1CS info.
|
|
1370
|
-
wires = Number(
|
|
1416
|
+
wires = Number(leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 4, pointer)));
|
|
1371
1417
|
pointer += 4;
|
|
1372
|
-
publicOutputs = Number(
|
|
1418
|
+
publicOutputs = Number(leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 4, pointer)));
|
|
1373
1419
|
pointer += 4;
|
|
1374
|
-
publicInputs = Number(
|
|
1420
|
+
publicInputs = Number(leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 4, pointer)));
|
|
1375
1421
|
pointer += 4;
|
|
1376
|
-
privateInputs = Number(
|
|
1422
|
+
privateInputs = Number(leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 4, pointer)));
|
|
1377
1423
|
pointer += 4;
|
|
1378
|
-
labels = Number(
|
|
1424
|
+
labels = Number(leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 8, pointer)));
|
|
1379
1425
|
pointer += 8;
|
|
1380
|
-
constraints = Number(
|
|
1381
|
-
found = true;
|
|
1426
|
+
constraints = Number(leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 4, pointer)));
|
|
1382
1427
|
}
|
|
1383
1428
|
pointer += 8 + Number(sectionSize);
|
|
1384
1429
|
}
|
|
1385
1430
|
return {
|
|
1386
|
-
curve: "bn-128",
|
|
1431
|
+
curve: "bn-128", /// @note currently default to bn-128 as we support only Groth16 proving system.
|
|
1387
1432
|
wires,
|
|
1388
1433
|
constraints,
|
|
1389
1434
|
privateInputs,
|
|
@@ -1931,11 +1976,11 @@ const p256 = (proofPart) => {
|
|
|
1931
1976
|
*/
|
|
1932
1977
|
const formatSolidityCalldata = (circuitInput, _proof) => {
|
|
1933
1978
|
try {
|
|
1934
|
-
const proof =
|
|
1979
|
+
const proof = unstringifyBigInts(_proof);
|
|
1935
1980
|
// format the public inputs to the circuit
|
|
1936
1981
|
const formattedCircuitInput = [];
|
|
1937
1982
|
for (const cInput of circuitInput) {
|
|
1938
|
-
formattedCircuitInput.push(p256(
|
|
1983
|
+
formattedCircuitInput.push(p256(unstringifyBigInts(cInput)));
|
|
1939
1984
|
}
|
|
1940
1985
|
// construct calldata
|
|
1941
1986
|
const calldata = {
|
|
@@ -2317,8 +2362,8 @@ const createSSMClient = async () => {
|
|
|
2317
2362
|
* @returns <Array<string>> - the list of startup commands to be executed.
|
|
2318
2363
|
*/
|
|
2319
2364
|
const vmBootstrapCommand = (bucketName) => [
|
|
2320
|
-
"#!/bin/bash",
|
|
2321
|
-
`aws s3 cp s3://${bucketName}/${vmBootstrapScriptFilename} ${vmBootstrapScriptFilename}`,
|
|
2365
|
+
"#!/bin/bash", // shabang.
|
|
2366
|
+
`aws s3 cp s3://${bucketName}/${vmBootstrapScriptFilename} ${vmBootstrapScriptFilename}`, // copy file from S3 bucket to VM.
|
|
2322
2367
|
`chmod +x ${vmBootstrapScriptFilename} && bash ${vmBootstrapScriptFilename}` // grant permission and execute.
|
|
2323
2368
|
];
|
|
2324
2369
|
/**
|
|
@@ -2409,7 +2454,7 @@ const createEC2Instance = async (ec2, commands, instanceType, volumeSize, diskTy
|
|
|
2409
2454
|
DeviceName: "/dev/xvda",
|
|
2410
2455
|
Ebs: {
|
|
2411
2456
|
DeleteOnTermination: true,
|
|
2412
|
-
VolumeSize: volumeSize,
|
|
2457
|
+
VolumeSize: volumeSize, // disk size in GB.
|
|
2413
2458
|
VolumeType: diskType
|
|
2414
2459
|
}
|
|
2415
2460
|
}
|
|
@@ -2637,6 +2682,7 @@ exports.generatePreSignedUrlsParts = generatePreSignedUrlsParts;
|
|
|
2637
2682
|
exports.generateValidContributionsAttestation = generateValidContributionsAttestation;
|
|
2638
2683
|
exports.generateZkeyFromScratch = generateZkeyFromScratch;
|
|
2639
2684
|
exports.genesisZkeyIndex = genesisZkeyIndex;
|
|
2685
|
+
exports.getAllCeremonies = getAllCeremonies;
|
|
2640
2686
|
exports.getAllCollectionDocs = getAllCollectionDocs;
|
|
2641
2687
|
exports.getBucketName = getBucketName;
|
|
2642
2688
|
exports.getCeremonyCircuits = getCeremonyCircuits;
|
|
@@ -195,6 +195,8 @@ export declare const commonTerms: {
|
|
|
195
195
|
finalizeCeremony: string;
|
|
196
196
|
downloadCircuitArtifacts: string;
|
|
197
197
|
transferObject: string;
|
|
198
|
+
bandadaValidateProof: string;
|
|
199
|
+
checkNonceOfSIWEAddress: string;
|
|
198
200
|
};
|
|
199
201
|
};
|
|
200
202
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/helpers/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,sBAAsB,+CAA+C,CAAA;AAElF,eAAO,MAAM,mBAAmB,6BAA6B,CAAA;AAE7D,eAAO,MAAM,gBAAgB,UAAU,CAAA;AAEvC,eAAO,MAAM,gBAAgB,KAAK,CAAA;AAElC,eAAO,MAAM,eAAe,UAAU,CAAA;AAEtC,eAAO,MAAM,sBAAsB,UAAU,CAAA;AAE7C,eAAO,MAAM,sBAAsB,SAAS,CAAA;AAE5C,eAAO,MAAM,4BAA4B,aAAa,CAAA;AAEtD,eAAO,MAAM,cAAc,sBAAsB,CAAA;AAEjD,eAAO,MAAM,yBAAyB,iBAAiB,CAAA;AAEvD;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2ChC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;GA6G5B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/helpers/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,sBAAsB,+CAA+C,CAAA;AAElF,eAAO,MAAM,mBAAmB,6BAA6B,CAAA;AAE7D,eAAO,MAAM,gBAAgB,UAAU,CAAA;AAEvC,eAAO,MAAM,gBAAgB,KAAK,CAAA;AAElC,eAAO,MAAM,eAAe,UAAU,CAAA;AAEtC,eAAO,MAAM,sBAAsB,UAAU,CAAA;AAE7C,eAAO,MAAM,sBAAsB,SAAS,CAAA;AAE5C,eAAO,MAAM,4BAA4B,aAAa,CAAA;AAEtD,eAAO,MAAM,cAAc,sBAAsB,CAAA;AAEjD,eAAO,MAAM,yBAAyB,iBAAiB,CAAA;AAEvD;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2ChC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;GA6G5B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+HvB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../../src/helpers/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,MAAM,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../../src/helpers/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAS,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAiB9C;;;;;GAKG;AACH,eAAO,MAAM,IAAI,cAAe,GAAG,QAKlC,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,iBAAkB,MAAM,EAAE,UAAU,GAAG,KAAG,GAwB5E,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,aAAoB,GAAG,SAAS,GAAG,KAAG,QAAQ,OAAO,CAG1F,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,iBAAwB,MAAM,KAAG,QAAQ,GAAG,CA6BvE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,iBAAwB,MAAM,UAAU,MAAM,KAAG,QAAQ,QAAQ,CAOnG,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,cAAc,cACZ,SAAS,aACT,SAAS,kBACJ,MAAM,mBACL,MAAM,qBACJ,MAAM,wBACH,MAAM,UACpB,MAAM,WACL,GAAG,KACb,QAAQ,IAAI,CAkHd,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../../src/helpers/crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AASnB;;;;GAIG;AACH,eAAO,MAAM,KAAK,WAAY,UAAU,KAAG,MAAoD,CAAA;AAE/F;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,SAAgB,GAAG,QAAQ,KAAG,QAAQ,MAAM,CAaxE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,UAAW,MAAM,KAAG,MAAiE,CAAA;AAEpH;;;;;GAKG;AACH,eAAO,MAAM,aAAa,UAAiB,MAAM,SAAS,MAAM,KAAG,QAAQ,OAAO,CAKjF,CAAA"}
|
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../../src/helpers/crypto.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AASnB;;;;GAIG;AACH,eAAO,MAAM,KAAK,WAAY,UAAU,KAAG,MAAoD,CAAA;AAE/F;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,SAAgB,GAAG,QAAQ,KAAG,QAAQ,MAAM,CAaxE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,UAAW,MAAM,KAAG,MAAiE,CAAA;AAEpH;;;;;GAKG;AACH,eAAO,MAAM,aAAa,UAAiB,MAAM,SAAS,MAAM,KAAG,QAAQ,OAAO,CAKjF,CAAA"}
|
|
@@ -102,4 +102,12 @@ export declare const getCurrentActiveParticipantTimeout: (firestoreDatabase: Fir
|
|
|
102
102
|
* @returns <Promise<Array<FirebaseDocumentInfo>>> - the list of closed ceremonies.
|
|
103
103
|
*/
|
|
104
104
|
export declare const getClosedCeremonies: (firestoreDatabase: Firestore) => Promise<Array<FirebaseDocumentInfo>>;
|
|
105
|
+
/**
|
|
106
|
+
* Query all ceremonies
|
|
107
|
+
* @notice get all ceremonies from the database.
|
|
108
|
+
* @dev this is a helper for the CLI ceremony methods.
|
|
109
|
+
* @param firestoreDatabase <Firestore> - the Firestore service instance associated to the current Firebase application.
|
|
110
|
+
* @returns <Promise<Array<FirebaseDocumentInfo>>> - the list of all ceremonies.
|
|
111
|
+
*/
|
|
112
|
+
export declare const getAllCeremonies: (firestoreDatabase: Firestore) => Promise<Array<FirebaseDocumentInfo>>;
|
|
105
113
|
//# sourceMappingURL=database.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../../src/helpers/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,YAAY,EACZ,gBAAgB,EAChB,SAAS,EAIT,eAAe,EACf,qBAAqB,EACrB,aAAa,EAGhB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAGrD;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,eAAgB,MAAM,KAAG,MACwC,CAAA;AAE3G;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,eAAgB,MAAM,KAAG,MACwC,CAAA;AAEvG;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,eAAgB,MAAM,aAAa,MAAM,KAAG,MACkB,CAAA;AAEzG;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,eAAgB,MAAM,iBAAiB,MAAM,KAAG,MACsB,CAAA;AAE5G;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,sBACL,SAAS,cAChB,MAAM,oBACA,MAAM,eAAe,CAAC,KACzC,QAAQ,cAAc,YAAY,CAAC,CAQrC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,iBAC1B,MAAM,qBAAqB,CAAC,KAC3C,MAAM,oBAAoB,CAKtB,CAAA;AAEP;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,sBACV,SAAS,cAChB,MAAM,KACnB,QAAQ,MAAM,sBAAsB,YAAY,CAAC,CAAC,CACiB,CAAA;AAEtE;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,sBACL,SAAS,cAChB,MAAM,cACN,MAAM,KACnB,QAAQ,iBAAiB,YAAY,CAAC,CAIxC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,sBAA6B,SAAS,KAAG,QAAQ,MAAM,oBAAoB,CAAC,CAW3G,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,sBACT,SAAS,cAChB,MAAM,KACnB,QAAQ,MAAM,oBAAoB,CAAC,CAG6E,CAAA;AAEnH;;;;;;;;GAQG;AACH,eAAO,MAAM,sCAAsC,sBAC5B,SAAS,cAChB,MAAM,aACP,MAAM,iBACF,MAAM,KACtB,QAAQ,MAAM,oBAAoB,CAAC,CAQrC,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,sBACxB,SAAS,cAChB,MAAM,iBACH,MAAM,KACtB,QAAQ,MAAM,oBAAoB,CAAC,CAQrC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,sBAA6B,SAAS,KAAG,QAAQ,MAAM,oBAAoB,CAAC,CAW3G,CAAA"}
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../../src/helpers/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,YAAY,EACZ,gBAAgB,EAChB,SAAS,EAIT,eAAe,EACf,qBAAqB,EACrB,aAAa,EAGhB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAGrD;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,eAAgB,MAAM,KAAG,MACwC,CAAA;AAE3G;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,eAAgB,MAAM,KAAG,MACwC,CAAA;AAEvG;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,eAAgB,MAAM,aAAa,MAAM,KAAG,MACkB,CAAA;AAEzG;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,eAAgB,MAAM,iBAAiB,MAAM,KAAG,MACsB,CAAA;AAE5G;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,sBACL,SAAS,cAChB,MAAM,oBACA,MAAM,eAAe,CAAC,KACzC,QAAQ,cAAc,YAAY,CAAC,CAQrC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,iBAC1B,MAAM,qBAAqB,CAAC,KAC3C,MAAM,oBAAoB,CAKtB,CAAA;AAEP;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,sBACV,SAAS,cAChB,MAAM,KACnB,QAAQ,MAAM,sBAAsB,YAAY,CAAC,CAAC,CACiB,CAAA;AAEtE;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,sBACL,SAAS,cAChB,MAAM,cACN,MAAM,KACnB,QAAQ,iBAAiB,YAAY,CAAC,CAIxC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,sBAA6B,SAAS,KAAG,QAAQ,MAAM,oBAAoB,CAAC,CAW3G,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,sBACT,SAAS,cAChB,MAAM,KACnB,QAAQ,MAAM,oBAAoB,CAAC,CAG6E,CAAA;AAEnH;;;;;;;;GAQG;AACH,eAAO,MAAM,sCAAsC,sBAC5B,SAAS,cAChB,MAAM,aACP,MAAM,iBACF,MAAM,KACtB,QAAQ,MAAM,oBAAoB,CAAC,CAQrC,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,sBACxB,SAAS,cAChB,MAAM,iBACH,MAAM,KACtB,QAAQ,MAAM,oBAAoB,CAAC,CAQrC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,sBAA6B,SAAS,KAAG,QAAQ,MAAM,oBAAoB,CAAC,CAW3G,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,sBAA6B,SAAS,KAAG,QAAQ,MAAM,oBAAoB,CAAC,CAIxG,CAAA"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
2
3
|
import { Firestore } from "firebase/firestore";
|
|
3
4
|
import { ReadPosition } from "fs";
|
|
4
5
|
import winston, { Logger } from "winston";
|
|
5
|
-
import { CircuitMetadata, Contribution, ContributionValidity, FirebaseDocumentInfo, SetupCeremonyData } from "../types/index";
|
|
6
|
+
import { CircuitMetadata, Contribution, ContributionValidity, FirebaseDocumentInfo, SetupCeremonyData, StringifiedBigInts, BigIntVariants } from "../types/index";
|
|
6
7
|
/**
|
|
7
8
|
* Return a string with double digits if the provided input is one digit only.
|
|
8
9
|
* @param in <number> - the input number to be converted.
|
|
@@ -118,6 +119,19 @@ export declare const createCustomLoggerForFile: (filename: string, level?: winst
|
|
|
118
119
|
* @returns <Buffer> - the buffer w/ the read bytes.
|
|
119
120
|
*/
|
|
120
121
|
export declare const readBytesFromFile: (localFilePath: string, offset: number, length: number, position: ReadPosition) => Buffer;
|
|
122
|
+
/**
|
|
123
|
+
* Given a buffer in little endian format, convert it to bigint
|
|
124
|
+
* @param buffer
|
|
125
|
+
* @returns
|
|
126
|
+
*/
|
|
127
|
+
export declare function leBufferToBigint(buffer: Buffer): bigint;
|
|
128
|
+
/**
|
|
129
|
+
* Given an input containing string values, convert them
|
|
130
|
+
* to bigint
|
|
131
|
+
* @param input - The input to convert
|
|
132
|
+
* @returns the input with string values converted to bigint
|
|
133
|
+
*/
|
|
134
|
+
export declare const unstringifyBigInts: (input: StringifiedBigInts) => BigIntVariants;
|
|
121
135
|
/**
|
|
122
136
|
* Return the info about the R1CS file.ù
|
|
123
137
|
* @dev this method was built taking inspiration from
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/helpers/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/helpers/utils.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAW,EAAE,YAAY,EAAqB,MAAM,IAAI,CAAA;AACxD,OAAO,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAIzC,OAAO,EACH,eAAe,EACf,YAAY,EAGZ,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EAGjB,kBAAkB,EAClB,cAAc,EACjB,MAAM,gBAAgB,CAAA;AAiBvB;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,WAAY,MAAM,KAAG,MAA0D,CAAA;AAEjH;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,QAAS,MAAM,KAAG,MAEsC,CAAA;AAElF;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B,iBAAkB,MAAM,UAAU,MAAM,KAAG,MAgBtF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,gBAAiB,MAAM,WAAW,MAAM,WAUxF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,aAAc,MAAM,KAAG,MASlD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,wBAAyB,MAAM,KAAG,MACH,CAAA;AAElE;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,cAAsE,CAAA;AAEtG;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,aAC3B,MAAM,oBAAoB,CAAC,oBACnB,MAAM,KACzB,oBAYF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,cAAe,MAAM,WAAW,OAAO,KAAG,MAC1B,CAAA;AAEjD;;;;;;;;GAQG;AACH,eAAO,MAAM,sCAAsC,sBAC5B,SAAS,YAClB,MAAM,oBAAoB,CAAC,cACzB,MAAM,iBACH,MAAM,gBACP,OAAO,KACtB,QAAQ,MAAM,oBAAoB,CAAC,CAmCrC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,0CAA0C,0BAC5B,MAAM,gBACf,MAAM,gBACN,OAAO,WAM4B,CAAA;AAErD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qCAAqC,sBAC3B,SAAS,YAClB,MAAM,oBAAoB,CAAC,cACzB,MAAM,iBACH,MAAM,4BACK,MAAM,YAAY,CAAC,yBACtB,MAAM,gBACf,MAAM,gBACN,OAAO,KACtB,QAAQ,MAAM,CA2DhB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,aAAc,MAAM,UAAS,QAAQ,aAAa,CAAC,OAAO,CAAC,KAAY,MAQvG,CAAA;AAEN;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,kBACX,MAAM,UACb,MAAM,UACN,MAAM,YACJ,YAAY,KACvB,MAYF,CAAA;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,UAAW,kBAAkB,KAAG,cAyB9D,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,sBAAuB,MAAM,KAAG,eA0IvD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,SAAgB,MAAM,YAAW,OAAO,KAAW,QAAQ,iBAAiB,CA8NzG,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CircuitSignals, Groth16Proof, PublicSignals } from "snarkjs";
|
|
1
2
|
import { Firestore } from "firebase/firestore";
|
|
2
3
|
import { Functions } from "firebase/functions";
|
|
3
4
|
import { CeremonyArtifacts } from "../types/index";
|
|
@@ -18,7 +19,7 @@ export declare const verifyZKey: (r1csLocalFilePath: string, zkeyLocalPath: stri
|
|
|
18
19
|
* @param logger <any> Optional logger
|
|
19
20
|
* @returns <Promise<object>> The proof
|
|
20
21
|
*/
|
|
21
|
-
export declare const generateGROTH16Proof: (circuitInput:
|
|
22
|
+
export declare const generateGROTH16Proof: (circuitInput: CircuitSignals, zkeyFilePath: string, wasmFilePath: string, logger?: any) => Promise<any>;
|
|
22
23
|
/**
|
|
23
24
|
* Verifies a GROTH16 proof
|
|
24
25
|
* @param verificationKeyPath <string> Path to the verification key
|
|
@@ -26,7 +27,7 @@ export declare const generateGROTH16Proof: (circuitInput: object, zkeyFilePath:
|
|
|
26
27
|
* @param proof <object> Proof
|
|
27
28
|
* @returns <Promise<boolean>> Whether the proof is valid or not
|
|
28
29
|
*/
|
|
29
|
-
export declare const verifyGROTH16Proof: (verificationKeyPath: string, publicSignals:
|
|
30
|
+
export declare const verifyGROTH16Proof: (verificationKeyPath: string, publicSignals: PublicSignals, proof: Groth16Proof) => Promise<boolean>;
|
|
30
31
|
/**
|
|
31
32
|
* Helper method to extract the Solidity verifier
|
|
32
33
|
* from a final zKey file and save it to a local file.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../../../src/helpers/verification.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../../../src/helpers/verification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAiB,MAAM,SAAS,CAAA;AAEpF,OAAO,EAAE,SAAS,EAAS,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAyB9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAElD;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,sBACA,MAAM,iBACV,MAAM,oBACH,MAAM,WACf,GAAG,KACb,QAAQ,OAAO,CASjB,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,iBACf,cAAc,gBACd,MAAM,gBACN,MAAM,WACX,GAAG,KACb,QAAQ,GAAG,CAYb,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,wBACN,MAAM,uCAEpB,YAAY,KACpB,QAAQ,OAAO,CAIjB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,kBAAyB,MAAM,gBAAgB,MAAM,iBAcvF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU,kBAAyB,MAAM,iBAGrD,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,kBACf,MAAM,qBACF,MAAM,iBACV,MAAM,gBACP,MAAM,kBAMvB,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,iBAClB,OAAO,iBACN,MAAM,gBACP,MAAM,iBACL,MAAM,UACb,GAAG,mCACsB,MAAM,0BACf,MAAM,WACrB,MAAM,kBAqBlB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wBAAwB,sBACd,SAAS,cAChB,MAAM,cACN,MAAM,gBACJ,MAAM,gBACN,MAAM,eACP,MAAM,eACN,MAAM,WACV,OAAO,KACjB,QAAQ,OAAO,CAajB,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,cAC1B,SAAS,aACT,SAAS,kBACJ,MAAM,mBACL,MAAM,KACxB,QAAQ,iBAAiB,EAAE,CAqF7B,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,cACxB,SAAS,cACR,MAAM,aACP,MAAM,iBACF,MAAM,KACtB,QAAQ,MAAM,CAYhB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vm.d.ts","sourceRoot":"","sources":["../../../../src/helpers/vm.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,SAAS,
|
|
1
|
+
{"version":3,"file":"vm.d.ts","sourceRoot":"","sources":["../../../../src/helpers/vm.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,SAAS,EAGZ,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAEH,SAAS,EAGZ,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAOtC;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAa,QAAQ,SAAS,CAYzD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAa,QAAQ,SAAS,CAYzD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,eAAgB,MAAM,KAAG,MAAM,MAAM,CAInE,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,sCAAsC,aACrC,MAAM,WACP,MAAM,YACL,MAAM,UACR,MAAM,KACf,MAAM,MAAM,CAyBd,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iCAAiC,eAC9B,MAAM,uBACG,MAAM,gDACmB,MAAM,KACrD,MAAM,MAAM,CAOd,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,oBAAqB,MAAM,OAAO,MAAM,KAAG,MACuB,CAAA;AAEnG;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,QACrB,SAAS,YACJ,MAAM,EAAE,gBACJ,MAAM,cACR,MAAM,YACR,aAAa,KACxB,QAAQ,WAAW,CAgErB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,cAAqB,SAAS,cAAc,MAAM,KAAG,QAAQ,OAAO,CAe9F,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,QAAe,SAAS,cAAc,MAAM,kBAYxE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,QAAe,SAAS,cAAc,MAAM,kBAYvE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAAe,SAAS,cAAc,MAAM,kBAc5E,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,QACtB,SAAS,cACF,MAAM,YACR,MAAM,MAAM,CAAC,KACxB,QAAQ,MAAM,CAwBhB,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,QAAe,SAAS,cAAc,MAAM,aAAa,MAAM,KAAG,QAAQ,MAAM,CAiBjH,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,QAAe,SAAS,cAAc,MAAM,aAAa,MAAM,KAAG,QAAQ,MAAM,CAgBjH,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { downloadCeremonyArtifact, getBucketName, multiPartUpload, getR1csStorageFilePath, getPotStorageFilePath, getZkeyStorageFilePath, getVerificationKeyStorageFilePath, getVerifierContractStorageFilePath, getTranscriptStorageFilePath, getWasmStorageFilePath } from "./helpers/storage";
|
|
2
|
-
export { queryCollection, fromQueryToFirebaseDocumentInfo, getAllCollectionDocs, getCircuitContributionsFromContributor, getDocumentById, getCurrentActiveParticipantTimeout, getClosedCeremonies, getParticipantsCollectionPath, getCircuitsCollectionPath, getContributionsCollectionPath, getTimeoutsCollectionPath, getOpenedCeremonies, getCeremonyCircuits } from "./helpers/database";
|
|
2
|
+
export { queryCollection, fromQueryToFirebaseDocumentInfo, getAllCollectionDocs, getCircuitContributionsFromContributor, getDocumentById, getCurrentActiveParticipantTimeout, getClosedCeremonies, getParticipantsCollectionPath, getCircuitsCollectionPath, getContributionsCollectionPath, getTimeoutsCollectionPath, getOpenedCeremonies, getAllCeremonies, getCeremonyCircuits } from "./helpers/database";
|
|
3
3
|
export { compareCeremonyArtifacts, downloadAllCeremonyArtifacts, exportVerifierAndVKey, exportVerifierContract, exportVkey, generateGROTH16Proof, generateZkeyFromScratch, verifyGROTH16Proof, verifyZKey } from "./helpers/verification";
|
|
4
4
|
export { initializeFirebaseCoreServices } from "./helpers/services";
|
|
5
5
|
export { signInToFirebaseWithCredentials, getCurrentFirebaseAuthUser, isCoordinator } from "./helpers/authentication";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -600,4 +600,10 @@ export type CeremonySetupTemplate = {
|
|
|
600
600
|
penalty: number;
|
|
601
601
|
circuits: Array<CircuitDocument & CeremonySetupTemplateCircuitArtifacts & CeremonySetupTemplateCircuitTimeout & CeremonySetupTemplateCircuitName>;
|
|
602
602
|
};
|
|
603
|
+
export type StringifiedBigInts = StringifiedBigInts[] | string | string[] | string[][] | string[][][] | {
|
|
604
|
+
[key: string]: StringifiedBigInts;
|
|
605
|
+
} | null;
|
|
606
|
+
export type BigIntVariants = BigIntVariants[] | StringifiedBigInts | bigint | bigint[] | bigint[][] | bigint[][][] | {
|
|
607
|
+
[key: string]: BigIntVariants;
|
|
608
|
+
} | Uint8Array | null;
|
|
603
609
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EACH,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,wCAAwC,EACxC,aAAa,EACb,2BAA2B,EAC3B,iBAAiB,EACpB,MAAM,YAAY,CAAA;AAEnB;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,kBAAkB,EAAE,MAAM,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;CAChB,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B,WAAW,EAAE,WAAW,CAAA;IACxB,iBAAiB,EAAE,SAAS,CAAA;IAC5B,iBAAiB,EAAE,SAAS,CAAA;CAC/B,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAA;IACpC,IAAI,EAAE,YAAY,CAAA;CACrB,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;CACrB,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAC/B,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,YAAY,GAAG;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,OAAO,CAAA;IACtB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CAC/B,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,oBAAoB,EAAE,mBAAmB,CAAA;IACzC,OAAO,EAAE,MAAM,CAAA;CAClB,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;CACrB,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,mBAAmB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CACrC,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAC/B,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,UAAU,CAAC,EAAE,aAAa,CAAA;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,+BAA+B,GAAG;IAC1C,MAAM,EAAE,wCAAwC,CAAA;IAChD,EAAE,CAAC,EAAE,eAAe,CAAA;CACvB,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,YAAY,EAAE,+BAA+B,CAAA;IAC7C,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,eAAe,CAAC,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG;IAC/C,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,aAAa,CAAA;IACpB,IAAI,EAAE,YAAY,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;CACtB,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,eAAe,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,oCAAoC,GAAG;IAC/C,2BAA2B,EAAE,MAAM,CAAA;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAA;CACpC,CAAA;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,oBAAoB,EAAE,MAAM,CAAA;IAC5B,MAAM,EAAE,iBAAiB,CAAA;IACzB,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC,CAAA;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,gBAAgB,CAAC,EAAE,2BAA2B,CAAA;IAC9C,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,oBAAoB,CAAC,EAAE,oCAAoC,CAAA;CAC9D,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,eAAe,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;IACvB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;IACvB,sBAAsB,EAAE,MAAM,CAAA;CACjC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAC9B,sBAAsB,EAAE,MAAM,CAAA;IAC9B,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAC3B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,mBAAmB,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG;IAC7C,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,YAAY,CAAC,EAAE,mBAAmB,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC5B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,gBAAgB,EAAE,MAAM,CAAA;IACxB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,2BAA2B,CAAC,EAAE,MAAM,CAAA;CACvC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;CACrB,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,2BAA2B,EAAE,MAAM,CAAA;IACnC,2BAA2B,EAAE,MAAM,CAAA;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,iBAAiB,CAAA;IACxB,oBAAoB,EAAE,gCAAgC,CAAA;IACtD,KAAK,EAAE,OAAO,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;CACtB,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,+BAA+B,GAAG;IAC1C,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,eAAe,CAAA;CACxB,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACvC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,YAAY,CAAA;CACrB,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC3C,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,gBAAgB,CAAA;CACzB,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAC9C,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,mBAAmB,CAAA;CAC5B,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC5B,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,4BAA4B,EAAE,MAAM,CAAA;IACpC,iBAAiB,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,oCAAoC,GAAG;IAC/C,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,oBAAoB,CAAA;CAC7B,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;CACrB,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC5B,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;IAChC,gBAAgB,EAAE,KAAK,CAAC,qCAAqC,CAAC,CAAA;CACjE,CAAA;AAED,MAAM,MAAM,qCAAqC,GAAG;IAChD,SAAS,EAAE;QACP,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,EAAE,MAAM,CAAA;QACd,eAAe,EAAE,MAAM,CAAA;QACvB,eAAe,EAAE,MAAM,CAAA;KAC1B,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,mCAAmC,GAAG;IAC9C,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC3C,IAAI,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,oBAAoB,EAAE,mBAAmB,CAAA;IACzC,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,KAAK,CACX,eAAe,GACX,qCAAqC,GACrC,mCAAmC,GACnC,gCAAgC,CACvC,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,kBAAkB,GACxB,kBAAkB,EAAE,GACpB,MAAM,GACN,MAAM,EAAE,GACR,MAAM,EAAE,EAAE,GACV,MAAM,EAAE,EAAE,EAAE,GACZ;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAA;CAAE,GACrC,IAAI,CAAA;AAEV,MAAM,MAAM,cAAc,GACpB,cAAc,EAAE,GAChB,kBAAkB,GAClB,MAAM,GACN,MAAM,EAAE,GACR,MAAM,EAAE,EAAE,GACV,MAAM,EAAE,EAAE,EAAE,GACZ;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;CAAE,GACjC,UAAU,GACV,IAAI,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devtion/actions",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-c1f4cbe",
|
|
4
4
|
"description": "A set of actions and helpers for CLI commands",
|
|
5
5
|
"repository": "git@github.com:privacy-scaling-explorations/p0tion.git",
|
|
6
6
|
"homepage": "https://github.com/privacy-scaling-explorations/p0tion",
|
|
@@ -51,13 +51,12 @@
|
|
|
51
51
|
"chai-as-promised": "^7.1.1",
|
|
52
52
|
"dotenv": "^16.0.3",
|
|
53
53
|
"ethers": "^5.7.2",
|
|
54
|
-
"ffjavascript": "^0.2.57",
|
|
55
54
|
"firebase": "^9.21.0",
|
|
56
55
|
"firebase-admin": "^11.8.0",
|
|
57
56
|
"googleapis": "^118.0.0",
|
|
58
57
|
"rimraf": "^5.0.0",
|
|
59
58
|
"rollup": "^3.21.6",
|
|
60
|
-
"snarkjs": "
|
|
59
|
+
"snarkjs": "0.7.3",
|
|
61
60
|
"solc": "^0.8.19"
|
|
62
61
|
},
|
|
63
62
|
"devDependencies": {
|
|
@@ -79,5 +78,5 @@
|
|
|
79
78
|
"publishConfig": {
|
|
80
79
|
"access": "public"
|
|
81
80
|
},
|
|
82
|
-
"gitHead": "
|
|
81
|
+
"gitHead": "ff65fa7623e6793f308b61d6ad734eedf3c87e2b"
|
|
83
82
|
}
|
package/src/helpers/constants.ts
CHANGED
|
@@ -313,6 +313,8 @@ export const commonTerms = {
|
|
|
313
313
|
finalizeCircuit: "finalizeCircuit",
|
|
314
314
|
finalizeCeremony: "finalizeCeremony",
|
|
315
315
|
downloadCircuitArtifacts: "downloadCircuitArtifacts",
|
|
316
|
-
transferObject: "transferObject"
|
|
316
|
+
transferObject: "transferObject",
|
|
317
|
+
bandadaValidateProof: "bandadaValidateProof",
|
|
318
|
+
checkNonceOfSIWEAddress: "checkNonceOfSIWEAddress"
|
|
317
319
|
}
|
|
318
320
|
}
|
package/src/helpers/contracts.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Contract, ContractFactory, Signer } from "ethers"
|
|
2
|
-
import { utils as ffUtils } from "ffjavascript"
|
|
3
2
|
import { Firestore, where } from "firebase/firestore"
|
|
4
3
|
import { Functions } from "firebase/functions"
|
|
5
4
|
import fs from "fs"
|
|
@@ -16,6 +15,7 @@ import {
|
|
|
16
15
|
import { compareHashes } from "./crypto"
|
|
17
16
|
import { commonTerms, finalContributionIndex, verificationKeyAcronym, verifierSmartContractAcronym } from "./constants"
|
|
18
17
|
import { fromQueryToFirebaseDocumentInfo, queryCollection } from "./database"
|
|
18
|
+
import { unstringifyBigInts } from "./utils"
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Formats part of a GROTH16 SNARK proof
|
|
@@ -41,11 +41,11 @@ export const p256 = (proofPart: any) => {
|
|
|
41
41
|
*/
|
|
42
42
|
export const formatSolidityCalldata = (circuitInput: string[], _proof: any): any => {
|
|
43
43
|
try {
|
|
44
|
-
const proof =
|
|
44
|
+
const proof = unstringifyBigInts(_proof) as any
|
|
45
45
|
// format the public inputs to the circuit
|
|
46
46
|
const formattedCircuitInput = []
|
|
47
47
|
for (const cInput of circuitInput) {
|
|
48
|
-
formattedCircuitInput.push(p256(
|
|
48
|
+
formattedCircuitInput.push(p256(unstringifyBigInts(cInput)))
|
|
49
49
|
}
|
|
50
50
|
// construct calldata
|
|
51
51
|
const calldata = {
|
package/src/helpers/database.ts
CHANGED
|
@@ -219,3 +219,16 @@ export const getClosedCeremonies = async (firestoreDatabase: Firestore): Promise
|
|
|
219
219
|
|
|
220
220
|
return fromQueryToFirebaseDocumentInfo(closedCeremoniesQuerySnap.docs)
|
|
221
221
|
}
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* Query all ceremonies
|
|
225
|
+
* @notice get all ceremonies from the database.
|
|
226
|
+
* @dev this is a helper for the CLI ceremony methods.
|
|
227
|
+
* @param firestoreDatabase <Firestore> - the Firestore service instance associated to the current Firebase application.
|
|
228
|
+
* @returns <Promise<Array<FirebaseDocumentInfo>>> - the list of all ceremonies.
|
|
229
|
+
*/
|
|
230
|
+
export const getAllCeremonies = async (firestoreDatabase: Firestore): Promise<Array<FirebaseDocumentInfo>> => {
|
|
231
|
+
const ceremoniesQuerySnap = await queryCollection(firestoreDatabase, commonTerms.collections.ceremonies.name, [])
|
|
232
|
+
|
|
233
|
+
return fromQueryToFirebaseDocumentInfo(ceremoniesQuerySnap.docs)
|
|
234
|
+
}
|
package/src/helpers/utils.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Firestore } from "firebase/firestore"
|
|
2
2
|
import fs, { ReadPosition, createWriteStream } from "fs"
|
|
3
|
-
import { utils as ffUtils } from "ffjavascript"
|
|
4
3
|
import winston, { Logger } from "winston"
|
|
5
4
|
import fetch from "@adobe/node-fetch-retry"
|
|
6
5
|
import { pipeline } from "stream"
|
|
@@ -14,7 +13,9 @@ import {
|
|
|
14
13
|
FirebaseDocumentInfo,
|
|
15
14
|
SetupCeremonyData,
|
|
16
15
|
CeremonySetupTemplate,
|
|
17
|
-
CeremonySetupTemplateCircuitArtifacts
|
|
16
|
+
CeremonySetupTemplateCircuitArtifacts,
|
|
17
|
+
StringifiedBigInts,
|
|
18
|
+
BigIntVariants
|
|
18
19
|
} from "../types/index"
|
|
19
20
|
import { finalContributionIndex, genesisZkeyIndex, potFilenameTemplate } from "./constants"
|
|
20
21
|
import {
|
|
@@ -358,6 +359,48 @@ export const readBytesFromFile = (
|
|
|
358
359
|
return buffer
|
|
359
360
|
}
|
|
360
361
|
|
|
362
|
+
/**
|
|
363
|
+
* Given a buffer in little endian format, convert it to bigint
|
|
364
|
+
* @param buffer
|
|
365
|
+
* @returns
|
|
366
|
+
*/
|
|
367
|
+
export function leBufferToBigint(buffer: Buffer): bigint {
|
|
368
|
+
return BigInt(`0x${buffer.reverse().toString("hex")}`)
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
/**
|
|
372
|
+
* Given an input containing string values, convert them
|
|
373
|
+
* to bigint
|
|
374
|
+
* @param input - The input to convert
|
|
375
|
+
* @returns the input with string values converted to bigint
|
|
376
|
+
*/
|
|
377
|
+
export const unstringifyBigInts = (input: StringifiedBigInts): BigIntVariants => {
|
|
378
|
+
if (typeof input === "string" && /^[0-9]+$/.test(input)) {
|
|
379
|
+
return BigInt(input)
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
if (typeof input === "string" && /^0x[0-9a-fA-F]+$/.test(input)) {
|
|
383
|
+
return BigInt(input)
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
if (Array.isArray(input)) {
|
|
387
|
+
return input.map(unstringifyBigInts)
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
if (input === null) {
|
|
391
|
+
return null
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
if (typeof input === "object") {
|
|
395
|
+
return Object.entries(input).reduce<Record<string, bigint>>((acc, [key, value]) => {
|
|
396
|
+
acc[key] = unstringifyBigInts(value) as bigint
|
|
397
|
+
return acc
|
|
398
|
+
}, {})
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
return input
|
|
402
|
+
}
|
|
403
|
+
|
|
361
404
|
/**
|
|
362
405
|
* Return the info about the R1CS file.ù
|
|
363
406
|
* @dev this method was built taking inspiration from
|
|
@@ -420,22 +463,21 @@ export const getR1CSInfo = (localR1CSFilePath: string): CircuitMetadata => {
|
|
|
420
463
|
|
|
421
464
|
try {
|
|
422
465
|
// Get 'number of section' (jump magic r1cs and version1 data).
|
|
423
|
-
const numberOfSections =
|
|
466
|
+
const numberOfSections = leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 4, 8))
|
|
424
467
|
|
|
425
468
|
// Jump to first section.
|
|
426
469
|
pointer = 12
|
|
427
|
-
let found = false
|
|
428
470
|
|
|
429
471
|
// For each section
|
|
430
|
-
for (let i = 0; i < numberOfSections
|
|
472
|
+
for (let i = 0; i < numberOfSections; i++) {
|
|
431
473
|
// Read section type.
|
|
432
|
-
const sectionType =
|
|
474
|
+
const sectionType = leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 4, pointer))
|
|
433
475
|
|
|
434
476
|
// Jump to section size.
|
|
435
477
|
pointer += 4
|
|
436
478
|
|
|
437
479
|
// Read section size
|
|
438
|
-
const sectionSize = Number(
|
|
480
|
+
const sectionSize = Number(leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 8, pointer)))
|
|
439
481
|
|
|
440
482
|
// If at header section (0x00000001 : Header Section).
|
|
441
483
|
if (sectionType === BigInt(1)) {
|
|
@@ -470,24 +512,22 @@ export const getR1CSInfo = (localR1CSFilePath: string): CircuitMetadata => {
|
|
|
470
512
|
pointer += sectionSize - 20
|
|
471
513
|
|
|
472
514
|
// Read R1CS info.
|
|
473
|
-
wires = Number(
|
|
515
|
+
wires = Number(leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 4, pointer)))
|
|
474
516
|
pointer += 4
|
|
475
517
|
|
|
476
|
-
publicOutputs = Number(
|
|
518
|
+
publicOutputs = Number(leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 4, pointer)))
|
|
477
519
|
pointer += 4
|
|
478
520
|
|
|
479
|
-
publicInputs = Number(
|
|
521
|
+
publicInputs = Number(leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 4, pointer)))
|
|
480
522
|
pointer += 4
|
|
481
523
|
|
|
482
|
-
privateInputs = Number(
|
|
524
|
+
privateInputs = Number(leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 4, pointer)))
|
|
483
525
|
pointer += 4
|
|
484
526
|
|
|
485
|
-
labels = Number(
|
|
527
|
+
labels = Number(leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 8, pointer)))
|
|
486
528
|
pointer += 8
|
|
487
529
|
|
|
488
|
-
constraints = Number(
|
|
489
|
-
|
|
490
|
-
found = true
|
|
530
|
+
constraints = Number(leBufferToBigint(readBytesFromFile(localR1CSFilePath, 0, 4, pointer)))
|
|
491
531
|
}
|
|
492
532
|
|
|
493
533
|
pointer += 8 + Number(sectionSize)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { groth16, zKey } from "snarkjs"
|
|
1
|
+
import { CircuitSignals, Groth16Proof, PublicSignals, groth16, zKey } from "snarkjs"
|
|
2
2
|
import fs from "fs"
|
|
3
3
|
import { Firestore, where } from "firebase/firestore"
|
|
4
4
|
import { Functions } from "firebase/functions"
|
|
@@ -61,7 +61,7 @@ export const verifyZKey = async (
|
|
|
61
61
|
* @returns <Promise<object>> The proof
|
|
62
62
|
*/
|
|
63
63
|
export const generateGROTH16Proof = async (
|
|
64
|
-
circuitInput:
|
|
64
|
+
circuitInput: CircuitSignals,
|
|
65
65
|
zkeyFilePath: string,
|
|
66
66
|
wasmFilePath: string,
|
|
67
67
|
logger?: any
|
|
@@ -88,8 +88,8 @@ export const generateGROTH16Proof = async (
|
|
|
88
88
|
*/
|
|
89
89
|
export const verifyGROTH16Proof = async (
|
|
90
90
|
verificationKeyPath: string,
|
|
91
|
-
publicSignals:
|
|
92
|
-
proof:
|
|
91
|
+
publicSignals: PublicSignals,
|
|
92
|
+
proof: Groth16Proof
|
|
93
93
|
): Promise<boolean> => {
|
|
94
94
|
const verificationKey = JSON.parse(fs.readFileSync(verificationKeyPath).toString())
|
|
95
95
|
const success = await groth16.verify(verificationKey, publicSignals, proof)
|
|
@@ -182,8 +182,8 @@ export const generateZkeyFromScratch = async (
|
|
|
182
182
|
await zKey.beacon(
|
|
183
183
|
finalContributionZKeyLocalPath,
|
|
184
184
|
zkeyLocalPath,
|
|
185
|
-
coordinatorIdentifier
|
|
186
|
-
beacon
|
|
185
|
+
coordinatorIdentifier!,
|
|
186
|
+
beacon!,
|
|
187
187
|
numExpIterations,
|
|
188
188
|
logger
|
|
189
189
|
)
|
package/src/helpers/vm.ts
CHANGED
|
@@ -5,7 +5,8 @@ import {
|
|
|
5
5
|
StopInstancesCommand,
|
|
6
6
|
TerminateInstancesCommand,
|
|
7
7
|
EC2Client,
|
|
8
|
-
RunInstancesCommandInput
|
|
8
|
+
RunInstancesCommandInput,
|
|
9
|
+
_InstanceType
|
|
9
10
|
} from "@aws-sdk/client-ec2"
|
|
10
11
|
import {
|
|
11
12
|
GetCommandInvocationCommand,
|
|
@@ -164,7 +165,7 @@ export const createEC2Instance = async (
|
|
|
164
165
|
// Parametrize the VM EC2 instance.
|
|
165
166
|
const params: RunInstancesCommandInput = {
|
|
166
167
|
ImageId: amiId,
|
|
167
|
-
InstanceType: instanceType,
|
|
168
|
+
InstanceType: instanceType as _InstanceType,
|
|
168
169
|
MaxCount: 1,
|
|
169
170
|
MinCount: 1,
|
|
170
171
|
// nb. to find this: iam -> roles -> role_name.
|
package/src/index.ts
CHANGED
package/src/types/index.ts
CHANGED
|
@@ -652,3 +652,23 @@ export type CeremonySetupTemplate = {
|
|
|
652
652
|
CeremonySetupTemplateCircuitName
|
|
653
653
|
>
|
|
654
654
|
}
|
|
655
|
+
|
|
656
|
+
export type StringifiedBigInts =
|
|
657
|
+
| StringifiedBigInts[]
|
|
658
|
+
| string
|
|
659
|
+
| string[]
|
|
660
|
+
| string[][]
|
|
661
|
+
| string[][][]
|
|
662
|
+
| { [key: string]: StringifiedBigInts }
|
|
663
|
+
| null
|
|
664
|
+
|
|
665
|
+
export type BigIntVariants =
|
|
666
|
+
| BigIntVariants[]
|
|
667
|
+
| StringifiedBigInts
|
|
668
|
+
| bigint
|
|
669
|
+
| bigint[]
|
|
670
|
+
| bigint[][]
|
|
671
|
+
| bigint[][][]
|
|
672
|
+
| { [key: string]: BigIntVariants }
|
|
673
|
+
| Uint8Array
|
|
674
|
+
| null
|