diff --git a/.env.example b/.env.example index edeba40..4519285 100644 --- a/.env.example +++ b/.env.example @@ -1,5 +1,6 @@ DEFAULT_NETWORK=hardhat TREE_DEPTH=20 +ALL_SNARK_ARTIFACTS=true REPORT_GAS=false BACKEND_PRIVATE_KEY= INFURA_API_KEY= diff --git a/scripts/download-snark-artifacts.ts b/scripts/download-snark-artifacts.ts index beeb170..aa00276 100644 --- a/scripts/download-snark-artifacts.ts +++ b/scripts/download-snark-artifacts.ts @@ -1,15 +1,20 @@ import download from "download" -import fs from "fs" +import dotenv from "dotenv" + +dotenv.config() async function main() { const snarkArtifactsPath = "./snark-artifacts" - const url = `https://www.trusted-setup-pse.org/semaphore/${process.env.TREE_DEPTH || 20}` - if (!fs.existsSync(snarkArtifactsPath)) { - fs.mkdirSync(snarkArtifactsPath, { recursive: true }) - } + if (process.env.ALL_SNARK_ARTIFACTS === "true") { + const url = `https://www.trusted-setup-pse.org/semaphore/semaphore.zip` + + await download(url, snarkArtifactsPath, { + extract: true + }) + } else { + const url = `https://www.trusted-setup-pse.org/semaphore/${process.env.TREE_DEPTH || 20}` - if (!fs.existsSync(`${snarkArtifactsPath}/semaphore.zkey`)) { await download(`${url}/semaphore.wasm`, snarkArtifactsPath) await download(`${url}/semaphore.zkey`, snarkArtifactsPath) await download(`${url}/semaphore.json`, snarkArtifactsPath)