Skip to content

Commit fae2a9f

Browse files
committed
1 parent fb3e642 commit fae2a9f

File tree

6 files changed

+42222
-55
lines changed

6 files changed

+42222
-55
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"_format": "hh-sol-dbg-1",
3-
"buildInfo": "../build-info/86ee724840f0e0e7fecab27c62ba3f0c.json"
3+
"buildInfo": "../build-info/b9467c77490b6ac48d08bf953c8eba70.json"
44
}

ignition/deployments/chain-11155111/artifacts/ElectionDatabaseModule#ElectionDatabase.json

Lines changed: 63 additions & 11 deletions
Large diffs are not rendered by default.

ignition/deployments/chain-11155111/build-info/b9467c77490b6ac48d08bf953c8eba70.json

Lines changed: 42104 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"VoterDatabaseModule#VoterDatabase": "0x67111D3311Ff29A2374b884f1434Fc542436821D",
3-
"CandidateDatabaseModule#CandidateDatabase": "0x3B02Aca77907C686F63DEE808277b05bFE356C8D",
4-
"ElectionDatabaseModule#ElectionDatabase": "0xa1dA479974c5dF1F795baA551DCAab31F5371866"
2+
"VoterDatabaseModule#VoterDatabase": "0x8b5618fE3B711273BD086352EFD2e2c4C2Fad770",
3+
"CandidateDatabaseModule#CandidateDatabase": "0x0072E81759589Ae3EfFC241c1a51C7Ae87628eD8",
4+
"ElectionDatabaseModule#ElectionDatabase": "0x86a0f02749dD842eB2C39a5dbC893F6003163c8B"
55
}

ignition/deployments/chain-11155111/journal.jsonl

Lines changed: 14 additions & 14 deletions
Large diffs are not rendered by default.

scripts/deploy-election-db.ts

Lines changed: 37 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -51,40 +51,46 @@ async function main() {
5151
console.log("----------------------------------------------------");
5252
await delay(3000);
5353

54-
// Step 4: Set up admin permissions
55-
console.log("Setting up admin permissions...");
56-
const voterDatabaseContract = await hre.viem.getContractAt(
57-
"VoterDatabase",
58-
voterDatabaseAddress
59-
);
60-
const candidateDatabaseContract = await hre.viem.getContractAt(
61-
"CandidateDatabase",
62-
candidateDatabaseAddress
63-
);
54+
// Step 4: Set up admin permissions (skip if SKIP_CONFIGURE=1)
55+
if (process.env.SKIP_CONFIGURE !== "1") {
56+
console.log("Setting up admin permissions...");
57+
const voterDatabaseContract = await hre.viem.getContractAt(
58+
"VoterDatabase",
59+
voterDatabaseAddress
60+
);
61+
const candidateDatabaseContract = await hre.viem.getContractAt(
62+
"CandidateDatabase",
63+
candidateDatabaseAddress
64+
);
6465

65-
const publicClient = await hre.viem.getPublicClient();
66+
const publicClient = await hre.viem.getPublicClient();
6667

67-
console.log("Granting ElectionDatabase admin access in VoterDatabase...");
68-
const hash1 = await voterDatabaseContract.write.addAdmin([
69-
getAddress(electionDatabaseAddress),
70-
]);
71-
await publicClient.waitForTransactionReceipt({ hash: hash1 });
68+
console.log("Granting ElectionDatabase admin access in VoterDatabase...");
69+
const hash1 = await voterDatabaseContract.write.addAdmin([
70+
getAddress(electionDatabaseAddress),
71+
]);
72+
await publicClient.waitForTransactionReceipt({ hash: hash1 });
7273

73-
console.log(
74-
"Granting ElectionDatabase admin access in CandidateDatabase..."
75-
);
76-
const hash2 = await candidateDatabaseContract.write.addAdmin([
77-
getAddress(electionDatabaseAddress),
78-
]);
79-
await publicClient.waitForTransactionReceipt({ hash: hash2 });
74+
console.log(
75+
"Granting ElectionDatabase admin access in CandidateDatabase..."
76+
);
77+
const hash2 = await candidateDatabaseContract.write.addAdmin([
78+
getAddress(electionDatabaseAddress),
79+
]);
80+
await publicClient.waitForTransactionReceipt({ hash: hash2 });
8081

81-
console.log("Admin permissions setup successfully!");
82-
console.log("----------------------------------------------------");
82+
console.log("Admin permissions setup successfully!");
83+
console.log("----------------------------------------------------");
84+
} else {
85+
console.log("Skipping admin permissions setup (SKIP_CONFIGURE=1)");
86+
console.log("----------------------------------------------------");
87+
}
8388

8489
// Step 5: Verify contracts on Sepolia if applicable
8590
if (
8691
hre.network.config.chainId === sepolia.id &&
87-
process.env.ETHERSCAN_API_KEY
92+
process.env.ETHERSCAN_API_KEY &&
93+
process.env.SKIP_VERIFY !== "1"
8894
) {
8995
console.log("Waiting before contract verification...");
9096
await delay(7000);
@@ -98,6 +104,11 @@ async function main() {
98104
]);
99105
console.log("Contracts verified successfully!");
100106
console.log("----------------------------------------------------");
107+
} else {
108+
console.log(
109+
"Skipping contract verification... Either SKIP_VERIFY=1 provided or ETHERSCAN_API_KEY is missing or chain is unsupported"
110+
);
111+
console.log("----------------------------------------------------");
101112
}
102113
} catch (error) {
103114
console.error("Deployment failed:", error);

0 commit comments

Comments
 (0)