mirror of
https://github.com/selfxyz/self.git
synced 2026-04-05 03:00:53 -04:00
42 lines
1.4 KiB
TypeScript
42 lines
1.4 KiB
TypeScript
import { buildModule } from "@nomicfoundation/hardhat-ignition/modules";
|
|
import { artifacts, ethers } from "hardhat";
|
|
import hre from "hardhat";
|
|
import fs from "fs";
|
|
import path from "path";
|
|
|
|
function getHubInitializeData() {
|
|
const hubArtifact = artifacts.readArtifactSync("IdentityVerificationHubImplV1");
|
|
return new ethers.Interface(hubArtifact.abi);
|
|
}
|
|
|
|
export default buildModule("DeployHub", (m) => {
|
|
const networkName = hre.network.config.chainId;
|
|
|
|
const deployedAddressesPath = path.join(__dirname, `../deployments/chain-${networkName}/deployed_addresses.json`);
|
|
const deployedAddresses = JSON.parse(fs.readFileSync(deployedAddressesPath, "utf8"));
|
|
|
|
const registryAddress = deployedAddresses["DeployRegistryModule#IdentityRegistry"];
|
|
const vcAndDiscloseVerifierAddress = deployedAddresses["DeployAllVerifiers#Verifier_vc_and_disclose"];
|
|
|
|
const identityVerificationHubImpl = m.contract("IdentityVerificationHubImplV1");
|
|
|
|
const hubInterface = getHubInitializeData();
|
|
const initializeData = hubInterface.encodeFunctionData("initialize", [
|
|
registryAddress,
|
|
vcAndDiscloseVerifierAddress,
|
|
[],
|
|
[],
|
|
[],
|
|
[]
|
|
]);
|
|
|
|
const hub = m.contract("IdentityVerificationHub", [
|
|
identityVerificationHubImpl,
|
|
initializeData
|
|
]);
|
|
|
|
return {
|
|
hub,
|
|
identityVerificationHubImpl,
|
|
};
|
|
}); |