@@ -3,7 +3,7 @@ import "@nomicfoundation/hardhat-toolbox";
33import { networkConfig , Network , Provider } from "./network.config" ;
44import { TypedDataDomain } from "ethers" ;
55import {
6- LiquidityPoolAave , Rebalancer ,
6+ LiquidityPoolAave , Rebalancer , Repayer
77} from "./typechain-types" ;
88import {
99 assert , isSet , ProviderSolidity , DomainSolidity ,
@@ -77,7 +77,7 @@ task("set-min-health-factor", "Update Liquidity Pool config")
7777 console . log ( `Min health factor set to ${ healthfactor } on ${ targetAddress } .` ) ;
7878} ) ;
7979
80- task ( "set-routes" , "Update Rebalancer config" )
80+ task ( "set-routes-rebalancer " , "Update Rebalancer config" )
8181. addOptionalParam ( "rebalancer" , "Rebalancer address or id" , "Rebalancer" , types . string )
8282. addOptionalParam ( "pools" , "Comma separated list of Liquidity Pool ids or addresses" )
8383. addOptionalParam ( "domains" , "Comma separated list of domain names" )
@@ -115,6 +115,48 @@ task("set-routes", "Update Rebalancer config")
115115 console . table ( { domains, providers} ) ;
116116} ) ;
117117
118+ task ( "set-routes-repayer" , "Update Repayer config" )
119+ . addOptionalParam ( "repayer" , "Repayer address or id" , "Repayer" , types . string )
120+ . addOptionalParam ( "pools" , "Comma separated list of Liquidity Pool ids or addresses" )
121+ . addOptionalParam ( "domains" , "Comma separated list of domain names" )
122+ . addOptionalParam ( "providers" , "Comma separated list of provider names" )
123+ . addOptionalParam ( "supportsalltokens" , "Comma separated bool flags whether the pool supports all tokens" )
124+ . addOptionalParam ( "allowed" , "Allowed or denied" , true , types . boolean )
125+ . setAction ( async ( args : {
126+ repayer : string ,
127+ pools ?: string ,
128+ domains ?: string ,
129+ providers ?: string ,
130+ supportsalltokens ?: string ,
131+ allowed : boolean ,
132+ } , hre ) => {
133+ const { resolveXAddress} = await loadTestHelpers ( ) ;
134+ const config = networkConfig [ hre . network . name as Network ] ;
135+
136+ const [ admin ] = await hre . ethers . getSigners ( ) ;
137+
138+ const targetAddress = await resolveXAddress ( args . repayer ) ;
139+ const target = ( await hre . ethers . getContractAt ( "Repayer" , targetAddress , admin ) ) as Repayer ;
140+
141+ const targetPools = args . pools && args . pools . split ( "," ) || [ ] ;
142+ const domains = args . domains && args . domains . split ( "," ) || config . RebalancerRoutes ?. Domains || [ ] ;
143+ const domainsSolidity = domains . map ( el => {
144+ assert ( Object . values ( Network ) . includes ( el as Network ) , `Invalid domain ${ el } ` ) ;
145+ return DomainSolidity [ el as Network ] ;
146+ } ) ;
147+ const providers = args . providers && args . providers . split ( "," ) || config . RebalancerRoutes ?. Providers || [ ] ;
148+ const providersSolidity = providers . map ( el => {
149+ assert ( Object . values ( Provider ) . includes ( el as Provider ) , `Invalid provider ${ el } ` ) ;
150+ return ProviderSolidity [ el as Provider ] ;
151+ } ) ;
152+ const supportsAllTokens = args . supportsalltokens && args . supportsalltokens . split ( "," ) || [ ] ;
153+ const supportsAllTokensBool = supportsAllTokens . map ( el => Boolean ( el ) ) ;
154+
155+ await target . setRoute ( targetPools , domainsSolidity , providersSolidity , supportsAllTokensBool , args . allowed ) ;
156+ console . log ( `Following routes are ${ args . allowed ? "" : "dis" } allowed on ${ targetAddress } .` ) ;
157+ console . table ( { domains, providers} ) ;
158+ } ) ;
159+
118160task ( "sign-borrow" , "Sign a Liquidity Pool borrow request for testing purposes" )
119161. addParam ( "caller" , "Address that will call borrow or borrowAndSwap" )
120162. addOptionalParam ( "token" , "Token to borrow" )
0 commit comments