Files
semaphore/deploy/1_complete.js
Andrija Novakovic bc4b0acefd deploy scripts with hardhat-deploy module
Former-commit-id: 16b46efcab
2021-10-21 00:14:20 +02:00

39 lines
1.1 KiB
JavaScript

const { poseidon_gencontract: poseidonGenContract } = require('circomlibjs');
const { genExternalNullifier } = require('../utils');
module.exports = async ({ getNamedAccounts, deployments }) => {
const { deploy } = deployments;
const { deployer } = await getNamedAccounts();
const poseidonT3 = await deploy("PoseidonT3", {
from: deployer,
log: true,
abi: poseidonGenContract.generateABI(2),
bytecode: poseidonGenContract.createCode(2)
});
const poseidonT6 = await deploy("PoseidonT6", {
from: deployer,
log: true,
abi: poseidonGenContract.generateABI(5),
bytecode: poseidonGenContract.createCode(5)
});
const externalNullifier = genExternalNullifier('test-voting');
const semaphore = await deploy('Semaphore', {
from: deployer,
log: true,
args: [20, externalNullifier],
libraries: {
PoseidonT3: poseidonT3.address,
PoseidonT6: poseidonT6.address
}
});
await deploy('SemaphoreClient', {
from: deployer,
log: true,
args: [semaphore.address],
});
};
module.exports.tags = ['complete'];