Skip to content

Commit 4c25dc2

Browse files
authored
Merge pull request #29 from soramitsu/script/add_contract_deploy_verify_script
[Script] Add script to request deployment and verify contract
2 parents 9dee7bc + 7e1cb30 commit 4c25dc2

File tree

2 files changed

+76
-0
lines changed

2 files changed

+76
-0
lines changed

scripts/requestDeployment.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import { BytesLike } from "ethers";
2+
import { ethers } from "hardhat";
3+
import { time } from "@nomicfoundation/hardhat-network-helpers";
4+
async function main() {
5+
let poolStartTime = 1720229672;
6+
let poolEndTime = poolStartTime + 120;
7+
let unstakeLockUp = poolStartTime + 10;
8+
let claimLockUp = poolStartTime + 10;
9+
10+
const data = {
11+
stakeToken: "0xAfe9448d1C50F1cb3697b50EbDB956C8C73e0A7a",
12+
rewardToken: "0xA854C1bC1aEcC80094E2ac3C0EE98581460F1caD",
13+
poolStartTime: poolStartTime,
14+
poolEndTime: poolEndTime,
15+
unstakeLockUpTime: unstakeLockUp,
16+
claimLockUpTime: claimLockUp,
17+
rewardPerSecond: 1
18+
}
19+
let factory = await ethers.getContractAt("ERC20LockUpStakingFactory", "0xa5Ffec47E75a69E5EE8480150372e6D7754b1A9D"/**Contract Address */);
20+
await factory.requestDeployment(ethers.randomBytes(32), data)
21+
}
22+
main().catch((error) => {
23+
console.error(error);
24+
process.exitCode = 1;
25+
});

scripts/verifyContract.ts

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import { ethers, run, network } from "hardhat";
2+
import config from "../hardhat.config"; // Your Hardhat config file
3+
4+
async function main() {
5+
const contractAddress = "0x2CB4a3e461d6cE5f3A80B28Bb8596c734E267c26"; // Replace with your deployed address
6+
const contractName = "ERC20LockUpPool";
7+
8+
// Ensure the contract is already deployed on the target network
9+
const deployedCode = await ethers.provider.getCode(contractAddress);
10+
if (deployedCode === "0x") {
11+
throw new Error(
12+
`Contract not deployed at address: ${contractAddress} on network: ${network.name}`
13+
);
14+
}
15+
16+
const poolStartTime = 1720229672;
17+
const poolEndTime = poolStartTime + 120;
18+
const unstakeLockUp = poolStartTime + 10;
19+
const claimLockUp = poolStartTime + 10;
20+
const rewardPerSecond = 1;
21+
22+
// Verify on Etherscan
23+
try {
24+
await run("verify:verify", {
25+
address: contractAddress,
26+
constructorArguments: [
27+
"0xAfe9448d1C50F1cb3697b50EbDB956C8C73e0A7a", // stakeToken
28+
"0xA854C1bC1aEcC80094E2ac3C0EE98581460F1caD", // rewardToken
29+
poolStartTime,
30+
poolEndTime,
31+
unstakeLockUp,
32+
claimLockUp,
33+
rewardPerSecond,
34+
], // Add constructor arguments
35+
contract: `contracts/pools/ERC20LockUpStakingPool.sol:ERC20LockUpPool`, // Path from Hardhat root
36+
});
37+
38+
console.log("Contract verified successfully!");
39+
} catch (error) {
40+
if ((error as Error).message.includes("Contract source code already verified")) {
41+
console.log("Contract already verified");
42+
} else {
43+
console.error("Error verifying contract:", error);
44+
}
45+
}
46+
}
47+
48+
main().catch((error) => {
49+
console.error(error);
50+
process.exitCode = 1;
51+
});

0 commit comments

Comments
 (0)