mirror of
https://github.com/CryptKeeperZK/semaphore.git
synced 2026-01-10 07:57:55 -05:00
chore: add new script to deploy all contracts
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -54,6 +54,8 @@ node_modules/
|
||||
# Production
|
||||
build
|
||||
dist
|
||||
deployed-contracts/undefined.json
|
||||
deployed-contracts/localhost.json
|
||||
|
||||
# Hardhat
|
||||
artifacts
|
||||
|
||||
74
deployed-contracts/goerli.json
Normal file
74
deployed-contracts/goerli.json
Normal file
@@ -0,0 +1,74 @@
|
||||
[
|
||||
{
|
||||
"name": "Verifier16",
|
||||
"address": "0xA5253ba39381Aa99c4C2C5A4D5C2deC036d06629"
|
||||
},
|
||||
{
|
||||
"name": "Verifier17",
|
||||
"address": "0xe0418A5f8fBF051D6cbc41Ff29855Dd2a02201Ab"
|
||||
},
|
||||
{
|
||||
"name": "Verifier18",
|
||||
"address": "0x7CdB3336d7d7c55Bce0FB1508594C54521656797"
|
||||
},
|
||||
{
|
||||
"name": "Verifier19",
|
||||
"address": "0xbd870921d8A5398a3314C950d1fc63b8C3AB190B"
|
||||
},
|
||||
{
|
||||
"name": "Verifier20",
|
||||
"address": "0x2a96c5696F85e3d2aa918496806B5c5a4D93E099"
|
||||
},
|
||||
{
|
||||
"name": "Verifier21",
|
||||
"address": "0x5Ec7d851a52A2a25CEc528F42a7ACA8EcF4667Cd"
|
||||
},
|
||||
{
|
||||
"name": "Verifier22",
|
||||
"address": "0x919d3d9c05FA7411e334deA5a763354fC7B6aA5b"
|
||||
},
|
||||
{
|
||||
"name": "Verifier23",
|
||||
"address": "0x63917b00a6dA7865bEfdd107AfC83CC2e6BDE552"
|
||||
},
|
||||
{
|
||||
"name": "Verifier24",
|
||||
"address": "0xd05CAd7d940114c1419098EE3cEA0776ab510E7D"
|
||||
},
|
||||
{
|
||||
"name": "Verifier25",
|
||||
"address": "0x6D9862e6140D94E932d94c8BcE74a0BDD0ea5ACb"
|
||||
},
|
||||
{
|
||||
"name": "Verifier26",
|
||||
"address": "0x8c29e0b77e32f704F03eeCE01c041192A5EB6c77"
|
||||
},
|
||||
{
|
||||
"name": "Verifier27",
|
||||
"address": "0x066cC22f8CA2A8D90D7Ff77D8a10A27e629c9c4C"
|
||||
},
|
||||
{
|
||||
"name": "Verifier28",
|
||||
"address": "0x698F9507f504E2BD238be7da56E8D9fee60C6D15"
|
||||
},
|
||||
{
|
||||
"name": "Verifier29",
|
||||
"address": "0xbBfC2E201C3c3c6F50063c3Edb4746c6Fcb36346"
|
||||
},
|
||||
{
|
||||
"name": "Verifier30",
|
||||
"address": "0x06bcD633988c1CE7Bd134DbE2C12119b6f3E4bD1"
|
||||
},
|
||||
{
|
||||
"name": "Verifier31",
|
||||
"address": "0x133b69Ce47BF20C49368354914DF47519Ca6cCFE"
|
||||
},
|
||||
{
|
||||
"name": "Verifier32",
|
||||
"address": "0xe2978F79cb4AF62e5C990EE5c7E12fb22ee22e2D"
|
||||
},
|
||||
{
|
||||
"name": "Semaphore",
|
||||
"address": "0x99aAb52e60f40AAC0BFE53e003De847bBDbC9611"
|
||||
}
|
||||
]
|
||||
74
deployed-contracts/kovan.json
Normal file
74
deployed-contracts/kovan.json
Normal file
@@ -0,0 +1,74 @@
|
||||
[
|
||||
{
|
||||
"name": "Verifier16",
|
||||
"address": "0x0C9DF9a417871b531684302f4062180E6A479431"
|
||||
},
|
||||
{
|
||||
"name": "Verifier17",
|
||||
"address": "0xa3739cFc24dd66deF7674393B0c7EcD3fe1DD90c"
|
||||
},
|
||||
{
|
||||
"name": "Verifier18",
|
||||
"address": "0xF9149c3AA6711c0f579b0cFB505D09A1226BbB02"
|
||||
},
|
||||
{
|
||||
"name": "Verifier19",
|
||||
"address": "0x863bB7875429B9774C4c771567778E2dc4991140"
|
||||
},
|
||||
{
|
||||
"name": "Verifier20",
|
||||
"address": "0xA701c1c97C1d42593D2b567f08c1859BBA7D6441"
|
||||
},
|
||||
{
|
||||
"name": "Verifier21",
|
||||
"address": "0x915d0A168894053362E64dCf04A731E2b4eE0276"
|
||||
},
|
||||
{
|
||||
"name": "Verifier22",
|
||||
"address": "0x22F2369A0d50fEb07F810d2B5411D2c58D371eB0"
|
||||
},
|
||||
{
|
||||
"name": "Verifier23",
|
||||
"address": "0x7D46E0612861Ff15FDF4fC16eF4BE0f37796E656"
|
||||
},
|
||||
{
|
||||
"name": "Verifier24",
|
||||
"address": "0xd3339E5Ff07bC961f3F7B641F5D3Bf690C2D14BF"
|
||||
},
|
||||
{
|
||||
"name": "Verifier25",
|
||||
"address": "0xc340cc18f682E4320217e8198d2e65B1C70BfDff"
|
||||
},
|
||||
{
|
||||
"name": "Verifier26",
|
||||
"address": "0x90FA0d9Ec6EFe94410bF06efeaa4Ec0F1dba0D67"
|
||||
},
|
||||
{
|
||||
"name": "Verifier27",
|
||||
"address": "0xd688189016277e1a6aE5228ef6894C14585A42D3"
|
||||
},
|
||||
{
|
||||
"name": "Verifier28",
|
||||
"address": "0x11EA2F1Bf24d46da9bb88B13e7d2Cb9FaCDb6B01"
|
||||
},
|
||||
{
|
||||
"name": "Verifier29",
|
||||
"address": "0x4784656EbE7AcF393154487A575b11e1c0E0dd47"
|
||||
},
|
||||
{
|
||||
"name": "Verifier30",
|
||||
"address": "0x590CB053A5F429719E6858CeeC56e6bedD4e9cfA"
|
||||
},
|
||||
{
|
||||
"name": "Verifier31",
|
||||
"address": "0x9E4D3a0B22B13d142711d7Eb69786f91c51E9ba6"
|
||||
},
|
||||
{
|
||||
"name": "Verifier32",
|
||||
"address": "0xa66F7B0Ce8662C1BfD7Ea97B7Dd8F4A7436A3cCd"
|
||||
},
|
||||
{
|
||||
"name": "Semaphore",
|
||||
"address": "0x9e4080e133384d2D09b593C003DCaF3c5a0C53A6"
|
||||
}
|
||||
]
|
||||
@@ -17,6 +17,7 @@
|
||||
"compile": "hardhat compile",
|
||||
"download:zk-files": "ts-node scripts/download-zk-files.ts",
|
||||
"generate:verifiers": "ts-node scripts/generate-verifiers.ts",
|
||||
"deploy:all": "hardhat run scripts/deploy-all.ts",
|
||||
"deploy:verifier": "hardhat deploy:verifier",
|
||||
"deploy:semaphore": "hardhat deploy:semaphore",
|
||||
"deploy:semaphore-voting": "hardhat deploy:semaphore-voting",
|
||||
|
||||
35
scripts/deploy-all.ts
Normal file
35
scripts/deploy-all.ts
Normal file
@@ -0,0 +1,35 @@
|
||||
import fs from "fs"
|
||||
import { run, hardhatArguments } from "hardhat"
|
||||
|
||||
async function main() {
|
||||
const deployedContracts: { name: string; address: string }[] = []
|
||||
|
||||
// Deploy verifiers.
|
||||
for (let treeDepth = 16; treeDepth <= 32; treeDepth++) {
|
||||
const { address } = await run("deploy:verifier", { depth: treeDepth })
|
||||
|
||||
deployedContracts.push({
|
||||
name: `Verifier${treeDepth}`,
|
||||
address
|
||||
})
|
||||
}
|
||||
|
||||
// Deploy Semaphore.
|
||||
const { address } = await run("deploy:semaphore", {
|
||||
verifiers: deployedContracts.map((c) => ({ merkleTreeDepth: c.name.substring(8), contractAddress: c.address }))
|
||||
})
|
||||
|
||||
deployedContracts.push({
|
||||
name: `Semaphore`,
|
||||
address
|
||||
})
|
||||
|
||||
fs.writeFileSync(`./deployed-contracts/${hardhatArguments.network}.json`, JSON.stringify(deployedContracts, null, 4))
|
||||
}
|
||||
|
||||
main()
|
||||
.then(() => process.exit(0))
|
||||
.catch((error) => {
|
||||
console.error(error)
|
||||
process.exit(1)
|
||||
})
|
||||
Reference in New Issue
Block a user