Skip to content

Commit

Permalink
Merge pull request #150 from valory-xyz/vw_deployment
Browse files Browse the repository at this point in the history
chore: adding Vote Weighting deployment scripts
  • Loading branch information
DavidMinarsch authored Jul 15, 2024
2 parents 2193e26 + 7bbdb10 commit fcf157d
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 0 deletions.
62 changes: 62 additions & 0 deletions scripts/deployment/deploy_23_vote_weighting.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
/*global process*/

const { expect } = require("chai");
const { ethers } = require("hardhat");
const { LedgerSigner } = require("@anders-t/ethers-ledger");

async function main() {
const fs = require("fs");
const globalsFile = "globals.json";
const dataFromJSON = fs.readFileSync(globalsFile, "utf8");
let parsedData = JSON.parse(dataFromJSON);
const derivationPath = parsedData.derivationPath;
const useLedger = parsedData.useLedger;
const providerName = parsedData.providerName;
let EOA;

const provider = await ethers.providers.getDefaultProvider(providerName);
const signers = await ethers.getSigners();

if (useLedger) {
EOA = new LedgerSigner(provider, derivationPath);
} else {
EOA = signers[0];
}
// EOA address
const deployer = await EOA.getAddress();
console.log("EOA is:", deployer);

// Transaction signing and execution
console.log("23. EOA to deploy VoteWeighting contract pointed to veOLAS");
const VoteWeighting = await ethers.getContractFactory("VoteWeighting");
console.log("You are signing the following transaction: VoteWeighting.connect(EOA).deploy(veOLAS)");
const voteWeighting = await VoteWeighting.connect(EOA).deploy(parsedData.veOLASAddress);
const result = await voteWeighting.deployed();

// Transaction details
console.log("Contract deployment: voteWeighting");
console.log("Contract address:", voteWeighting.address);
console.log("Transaction:", result.deployTransaction.hash);

// If on sepolia, wait half a minute for the transaction completion
if (providerName === "sepolia") {
await new Promise(r => setTimeout(r, 30000));
}

// Contract verification
if (parsedData.contractVerification) {
const execSync = require("child_process").execSync;
execSync("npx hardhat verify --constructor-args scripts/deployment/verify_23_vote_weighting.js --network " + providerName + " " + voteWeighting.address, { encoding: "utf-8" });
}

// Writing updated parameters back to the JSON file
parsedData.voteWeightingAddress = voteWeighting.address;
fs.writeFileSync(globalsFile, JSON.stringify(parsedData));
}

main()
.then(() => process.exit(0))
.catch((error) => {
console.error(error);
process.exit(1);
});
8 changes: 8 additions & 0 deletions scripts/deployment/verify_23_vote_weighting.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
const fs = require("fs");
const globalsFile = "globals.json";
const dataFromJSON = fs.readFileSync(globalsFile, "utf8");
const parsedData = JSON.parse(dataFromJSON);

module.exports = [
parsedData.veOLASAddress
];

0 comments on commit fcf157d

Please sign in to comment.