1
+ import { task } from "hardhat/config"
2
+ import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers"
3
+ import { BigNumber } from "ethers"
4
+ import "@nomiclabs/hardhat-waffle"
5
+
6
+ // When using the hardhat network, you may choose to fork Fuji or Avalanche Mainnet
7
+ // This will allow you to debug contracts using the hardhat network while keeping the current network state
8
+ // To enable forking, turn one of these booleans on, and then run your tasks/scripts using ``--network hardhat``
9
+ // For more information go to the hardhat guide
10
+ // https://hardhat.org/hardhat-network/
11
+ // https://hardhat.org/guides/mainnet-forking.html
12
+ const FORK_FUJI = false
13
+ const FORK_MAINNET = false
14
+ const forkingData = FORK_FUJI ? {
15
+ url : 'https://api.avax-test.network/ext/bc/C/rpc' ,
16
+ } : FORK_MAINNET ? {
17
+ url : 'https://api.avax.network/ext/bc/C/rpc'
18
+ } : undefined
19
+
20
+ task ( "accounts" , "Prints the list of accounts" , async ( args , hre ) : Promise < void > => {
21
+ const accounts : SignerWithAddress [ ] = await hre . ethers . getSigners ( )
22
+ accounts . forEach ( ( account : SignerWithAddress ) : void => {
23
+ console . log ( account . address )
24
+ } )
25
+ } )
26
+
27
+ task ( "balances" , "Prints the list of AVAX account balances" , async ( args , hre ) : Promise < void > => {
28
+ const accounts : SignerWithAddress [ ] = await hre . ethers . getSigners ( )
29
+ for ( const account of accounts ) {
30
+ const balance : BigNumber = await hre . ethers . provider . getBalance (
31
+ account . address
32
+ ) ;
33
+ console . log ( `${ account . address } has balance ${ balance . toString ( ) } ` ) ;
34
+ }
35
+ } )
36
+
37
+ export default {
38
+ solidity : {
39
+ compilers : [
40
+ {
41
+ version : "0.5.16"
42
+ } ,
43
+ {
44
+ version : "0.6.2"
45
+ } ,
46
+ {
47
+ version : "0.6.4"
48
+ } ,
49
+ {
50
+ version : "0.7.0"
51
+ } ,
52
+ {
53
+ version : "0.8.0"
54
+ }
55
+ ]
56
+ } ,
57
+ networks : {
58
+ hardhat : {
59
+ gasPrice : 225000000000 ,
60
+ chainId : ! forkingData ? 43112 : undefined , //Only specify a chainId if we are not forking
61
+ forking : forkingData
62
+ } ,
63
+ local : {
64
+ url : 'http://localhost:9650/ext/bc/C/rpc' ,
65
+ gasPrice : 225000000000 ,
66
+ chainId : 43112 ,
67
+ accounts : [
68
+ "0x56289e99c94b6912bfc12adc093c9b51124f0dc54ac7a766b2bc5ccf558d8027" ,
69
+ "0x7b4198529994b0dc604278c99d153cfd069d594753d471171a1d102a10438e07" ,
70
+ "0x15614556be13730e9e8d6eacc1603143e7b96987429df8726384c2ec4502ef6e" ,
71
+ "0x31b571bf6894a248831ff937bb49f7754509fe93bbd2517c9c73c4144c0e97dc" ,
72
+ "0x6934bef917e01692b789da754a0eae31a8536eb465e7bff752ea291dad88c675" ,
73
+ "0xe700bdbdbc279b808b1ec45f8c2370e4616d3a02c336e68d85d4668e08f53cff" ,
74
+ "0xbbc2865b76ba28016bc2255c7504d000e046ae01934b04c694592a6276988630" ,
75
+ "0xcdbfd34f687ced8c6968854f8a99ae47712c4f4183b78dcc4a903d1bfe8cbf60" ,
76
+ "0x86f78c5416151fe3546dece84fda4b4b1e36089f2dbc48496faf3a950f16157c" ,
77
+ "0x750839e9dbbd2a0910efe40f50b2f3b2f2f59f5580bb4b83bd8c1201cf9a010a"
78
+ ]
79
+ } ,
80
+ fuji : {
81
+ url : 'https://api.avax-test.network/ext/bc/C/rpc' ,
82
+ gasPrice : 225000000000 ,
83
+ chainId : 43113 ,
84
+ accounts : [ ]
85
+ } ,
86
+ mainnet : {
87
+ url : 'https://api.avax.network/ext/bc/C/rpc' ,
88
+ gasPrice : 225000000000 ,
89
+ chainId : 43114 ,
90
+ accounts : [ ]
91
+ }
92
+ }
93
+ }
0 commit comments