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