@@ -14,6 +14,11 @@ interface Contract {
1414 initParams : ContractInitParam [ ]
1515}
1616
17+ interface GeneralParam {
18+ contract : string // contract where the param is defined
19+ name : string // name of the parameter
20+ }
21+
1722interface ContractInitParam {
1823 name : string // as declared in config.yml
1924 type : 'number' | 'BigNumber' // as returned by the contract
@@ -28,13 +33,6 @@ const epochManager: Contract = {
2833 ] ,
2934}
3035
31- // GraphToken
32- // TODO > 'initialSupply' not on chain
33- // const graphToken: Contract = {
34- // name: 'GraphToken',
35- // initParams: [],
36- // }
37-
3836const curation : Contract = {
3937 name : 'Curation' ,
4038 initParams : [
@@ -77,6 +75,21 @@ const rewardsManager: Contract = {
7775
7876const contractList : Contract [ ] = [ epochManager , curation , disputeManager , staking , rewardsManager ]
7977
78+ const generalParams : GeneralParam [ ] = [
79+ {
80+ contract : 'DisputeManager' ,
81+ name : 'arbitrator' ,
82+ } ,
83+ {
84+ contract : 'Controller' ,
85+ name : 'governor' ,
86+ } ,
87+ {
88+ contract : 'AllocationExchange' ,
89+ name : 'authority' ,
90+ } ,
91+ ]
92+
8093task ( 'update-config' , 'Update graph config parameters with onchain data' )
8194 . addParam ( 'graphConfig' , cliOpts . graphConfig . description , cliOpts . graphConfig . default )
8295 . addFlag ( 'dryRun' , "Only print the changes, don't write them to the config file" )
@@ -108,6 +121,13 @@ task('update-config', 'Update graph config parameters with onchain data')
108121
109122 const graphConfig = readConfig ( configFile , true )
110123
124+ // general parameters
125+ console . log ( `> General` )
126+ for ( const param of generalParams ) {
127+ await updateGeneralParams ( hre , param , graphConfig )
128+ }
129+
130+ // contracts parameters
111131 for ( const contract of contractList ) {
112132 console . log ( `> ${ contract . name } ` )
113133 await updateContractParams ( hre , contract , graphConfig )
@@ -121,6 +141,18 @@ task('update-config', 'Update graph config parameters with onchain data')
121141 }
122142 } )
123143
144+ const updateGeneralParams = async (
145+ hre : HardhatRuntimeEnvironment ,
146+ param : GeneralParam ,
147+ config : YAML . Document . Parsed ,
148+ ) => {
149+ const value = await hre . contracts [ param . contract ] [ param . name ] ( )
150+ const updated = updateItem ( config , `general/${ param . name } ` , value )
151+ if ( updated ) {
152+ console . log ( `\t- Updated ${ param . name } to ${ value } ` )
153+ }
154+ }
155+
124156const updateContractParams = async (
125157 hre : HardhatRuntimeEnvironment ,
126158 contract : Contract ,
0 commit comments