Files
zkAuth/backend/deploy/00_deploy.ts
2022-09-24 17:21:00 +02:00

42 lines
1.1 KiB
TypeScript

import { HardhatRuntimeEnvironment } from 'hardhat/types'
import { DeployFunction } from 'hardhat-deploy/types'
import { ethers } from 'hardhat'
import fs from 'fs'
const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
const { deployments, getNamedAccounts } = hre
const { deploy } = deployments
const { owner } = await getNamedAccounts()
const HashCheckVerifier = await deploy('HashCheckVerifier', {
from: owner,
log: true,
autoMine: true,
})
const OtpMerkleTreeVerifier = await deploy('OtpMerkleTreeVerifier', {
from: owner,
log: true,
autoMine: true,
})
const ZkWalletFactory = await deploy('ZkWalletFactory', {
from: owner,
args: [HashCheckVerifier.address],
log: true,
autoMine: true, // speed up deployment on local network (ganache, hardhat), no effect on live networks
})
fs.writeFileSync(
'./config.ts',
`export const address = {
zkWalletFactory: "${ZkWalletFactory.address}",
HashCheckVerifier: "${HashCheckVerifier.address}",
OtpMerkleTreeVerifier: "${OtpMerkleTreeVerifier.address}",
}\n`
)
}
export default func
func.tags = ['all']