@@ -5,14 +5,18 @@ import type { EtherscanConfig } from '@nomicfoundation/hardhat-verify/types'
55
66// This next import ensures secure accounts config is correctly typed
77// eslint-disable-next-line @typescript-eslint/no-unused-vars
8- import type { SecureAccountsOptions } from 'hardhat-secure-accounts/src/type-extensions '
8+ import 'hardhat-secure-accounts'
99
1010// Environment variables
1111const ARBISCAN_API_KEY = vars . get ( 'ARBISCAN_API_KEY' , undefined )
1212
1313// RPCs
1414const VIRTUAL_ARBITRUM_SEPOLIA_RPC = vars . has ( 'VIRTUAL_ARBITRUM_SEPOLIA_RPC' ) ? vars . get ( 'VIRTUAL_ARBITRUM_SEPOLIA_RPC' ) : undefined
1515const ARBITRUM_SEPOLIA_RPC = vars . get ( 'ARBITRUM_SEPOLIA_RPC' , 'https://sepolia-rollup.arbitrum.io/rpc' )
16+ const VIRTUAL_ARBITRUM_ONE_RPC = vars . has ( 'VIRTUAL_ARBITRUM_ONE_RPC' ) ? vars . get ( 'VIRTUAL_ARBITRUM_ONE_RPC' ) : undefined
17+
18+ // Tenderly API Key
19+ const TENDERLY_API_KEY = vars . has ( 'TENDERLY_API_KEY' ) ? vars . get ( 'TENDERLY_API_KEY' ) : undefined
1620
1721// Accounts
1822const DEPLOYER_PRIVATE_KEY = vars . get ( 'DEPLOYER_PRIVATE_KEY' , undefined )
@@ -47,13 +51,33 @@ export const projectPathsUserConfig: ProjectPathsUserConfig = {
4751export const etherscanUserConfig : Partial < EtherscanConfig > = {
4852 apiKey : {
4953 arbitrumSepolia : ARBISCAN_API_KEY ,
54+ ...( TENDERLY_API_KEY && {
55+ virtualArbitrumSepolia : TENDERLY_API_KEY ,
56+ virtualArbitrumOne : TENDERLY_API_KEY ,
57+ } ) ,
5058 } ,
5159 customChains : [
5260 {
5361 network : 'arbitrumSepolia' ,
5462 chainId : 421614 ,
5563 urls : { apiURL : 'https://api-sepolia.arbiscan.io/api' , browserURL : 'https://sepolia.arbiscan.io/' } ,
5664 } ,
65+ {
66+ network : 'virtualArbitrumSepolia' ,
67+ chainId : 421615 ,
68+ urls : {
69+ apiURL : VIRTUAL_ARBITRUM_SEPOLIA_RPC + '/verify/etherscan' ,
70+ browserURL : VIRTUAL_ARBITRUM_SEPOLIA_RPC || 'https://sepolia.arbiscan.io/' ,
71+ } ,
72+ } ,
73+ {
74+ network : 'virtualArbitrumOne' ,
75+ chainId : 42162 ,
76+ urls : {
77+ apiURL : VIRTUAL_ARBITRUM_ONE_RPC + '/verify/etherscan' ,
78+ browserURL : VIRTUAL_ARBITRUM_SEPOLIA_RPC || 'https://arbiscan.io/' ,
79+ } ,
80+ } ,
5781 ] ,
5882}
5983
@@ -85,6 +109,13 @@ export const networksUserConfig: NetworksUserConfig = {
85109 accounts : getTestnetAccounts ( ) ,
86110 } ,
87111 } ) ,
112+ ...( VIRTUAL_ARBITRUM_ONE_RPC && {
113+ virtualArbitrumOne : {
114+ chainId : 42162 ,
115+ url : VIRTUAL_ARBITRUM_ONE_RPC ,
116+ accounts : getTestnetAccounts ( ) ,
117+ } ,
118+ } ) ,
88119}
89120
90121export const hardhatBaseConfig : HardhatUserConfig & { etherscan : Partial < EtherscanConfig > } = {
@@ -96,9 +127,7 @@ export const hardhatBaseConfig: HardhatUserConfig & { etherscan: Partial<Ethersc
96127 networks : networksUserConfig ,
97128 graph : {
98129 deployments : {
99- horizon : {
100- addressBook : 'addresses.json' ,
101- } ,
130+ horizon : require . resolve ( '@graphprotocol/horizon/addresses.json' ) ,
102131 } ,
103132 } ,
104133 etherscan : etherscanUserConfig ,
0 commit comments