From 4df484176768659cf1473f1c058bfbd7b9658ccf Mon Sep 17 00:00:00 2001
From: David Racero <canillas.mail@gmail.com>
Date: Tue, 10 Nov 2020 15:19:47 +0100
Subject: [PATCH] Rename AaveProtocolTestHelpers to AaveProtocolDataProvider.
 Add task to deploy AaveProtocolDataProvider.

---
 ...lpers.sol => AaveProtocolDataProvider.sol} |   2 +-
 coverage.json                                 |   4 +-
 deployed-contracts.json                       | 267 +++++++++++++++++-
 helpers/contracts-deployments.ts              |   8 +-
 helpers/contracts-getters.ts                  |   8 +-
 helpers/init-helpers.ts                       |   6 +-
 helpers/types.ts                              |   2 +-
 tasks/dev/5_initialize.ts                     |   6 +-
 tasks/full/5_initialize.ts                    |   4 +-
 tasks/full/6_verify.ts                        |   8 +-
 tasks/full/7_data-provider.ts                 |  19 ++
 test/__setup.spec.ts                          |   6 +-
 test/helpers/make-suite.ts                    |  10 +-
 test/helpers/utils/helpers.ts                 |   8 +-
 14 files changed, 319 insertions(+), 39 deletions(-)
 rename contracts/misc/{AaveProtocolTestHelpers.sol => AaveProtocolDataProvider.sol} (99%)
 create mode 100644 tasks/full/7_data-provider.ts

diff --git a/contracts/misc/AaveProtocolTestHelpers.sol b/contracts/misc/AaveProtocolDataProvider.sol
similarity index 99%
rename from contracts/misc/AaveProtocolTestHelpers.sol
rename to contracts/misc/AaveProtocolDataProvider.sol
index 37732e07..cc35f17d 100644
--- a/contracts/misc/AaveProtocolTestHelpers.sol
+++ b/contracts/misc/AaveProtocolDataProvider.sol
@@ -11,7 +11,7 @@ import {UserConfiguration} from '../libraries/configuration/UserConfiguration.so
 import {IStableDebtToken} from '../tokenization/interfaces/IStableDebtToken.sol';
 import {IVariableDebtToken} from '../tokenization/interfaces/IVariableDebtToken.sol';
 
-contract AaveProtocolTestHelpers {
+contract AaveProtocolDataProvider {
   using ReserveConfiguration for ReserveConfiguration.Map;
   using UserConfiguration for UserConfiguration.Map;
 
diff --git a/coverage.json b/coverage.json
index 8eb70735..2b521a35 100644
--- a/coverage.json
+++ b/coverage.json
@@ -5449,7 +5449,7 @@
       }
     }
   },
-  "contracts/misc/AaveProtocolTestHelpers.sol": {
+  "contracts/misc/AaveProtocolDataProvider.sol": {
     "l": {
       "18": 3,
       "22": 1,
@@ -5466,7 +5466,7 @@
       "42": 34,
       "47": 2
     },
-    "path": "/src/contracts/misc/AaveProtocolTestHelpers.sol",
+    "path": "/src/contracts/misc/AaveProtocolDataProvider.sol",
     "s": {
       "1": 3,
       "2": 1,
diff --git a/deployed-contracts.json b/deployed-contracts.json
index ee549af2..6fb4bcf1 100644
--- a/deployed-contracts.json
+++ b/deployed-contracts.json
@@ -407,12 +407,12 @@
       "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6"
     }
   },
-  "AaveProtocolTestHelpers": {
+  "AaveProtocolDataProvider": {
     "buidlerevm": {
       "address": "0x93472C0e03215F9c33DA240Eb16703C8244eAa8c"
     },
     "kovan": {
-      "address": "0xA9984C013875f4F6b0276d2EF62fe32934c93530",
+      "address": "0x44d78901180FbA093A5495fFE4BcBf922110D241",
       "deployer": "0x85e4A467343c0dc4aDAB74Af84448D9c45D8ae6F"
     },
     "hardhat": {
@@ -592,436 +592,697 @@
   "LendingPoolImpl": {
     "kovan": {
       "address": "0x6152D1d883F4C5dA18B47FE45e6eB2Ee79339E78"
+    },
+    "hardhat": {
+      "address": "0xAa7BC1924711B77A0F3Aaebdd550BfeDDDbaf3cd"
     }
   },
   "LendingPoolConfiguratorImpl": {
     "kovan": {
       "address": "0x46c410d5636dF430Ff1a7DDff7683d6CfdBF4A09"
+    },
+    "hardhat": {
+      "address": "0x1750499D05Ed1674d822430FB960d5F6731fDf64"
     }
   },
   "LendingPoolCollateralManagerImpl": {
     "kovan": {
       "address": "0x999ce4Ed17B90A1421f1D6b8891D87Ed61cb2763"
+    },
+    "hardhat": {
+      "address": "0x8BFFF31B1757da579Bb5B118489568526F7fb6D4"
     }
   },
   "stableDebtAAVE": {
     "kovan": {
       "address": "0xc206d99A916A45bAa74663C38F063C5f16d566bb"
+    },
+    "hardhat": {
+      "address": "0xcFB79d2c986Ca61Dbd288f80108b9e8C4cC6522b"
     }
   },
   "variableDebtAAVE": {
     "kovan": {
       "address": "0xCBd4194aB034AcD234400F742Bf3093b917aa581"
+    },
+    "hardhat": {
+      "address": "0x1073981e3D3Af966a1137a3460dB881AAED7ae7a"
     }
   },
   "stableDebtBAT": {
     "kovan": {
       "address": "0x2Af9Ce7274Ca7084abbf0Db313aEFA289D361A12"
+    },
+    "hardhat": {
+      "address": "0x4c90c5Fa9C907F2C993E66446E022260e2AfC8d1"
     }
   },
   "variableDebtBAT": {
     "kovan": {
       "address": "0x2962aCbeDa9d1A258E1cBb99A6435A3D2F1af5eE"
+    },
+    "hardhat": {
+      "address": "0x86BAB8904c2969DE5EF732F8BC1D805C1aD56ddD"
     }
   },
   "stableDebtBUSD": {
     "kovan": {
       "address": "0x58704aB618678c58a11e86f1cf7b3ddACB659114"
+    },
+    "hardhat": {
+      "address": "0xa279C092B779bD051DA5333978e30647501AA958"
     }
   },
   "variableDebtBUSD": {
     "kovan": {
       "address": "0x3903DB7B363A1C0B5272a53cA3B27d9D7759DE53"
+    },
+    "hardhat": {
+      "address": "0xeB24f8Dff752f099AA106207b8f49818ca78D02e"
     }
   },
   "stableDebtDAI": {
     "kovan": {
       "address": "0xe3CD1bbB9041b8c32D1ec96210842Ee1d91872B4"
+    },
+    "hardhat": {
+      "address": "0x7cc0483c098d4e36f2f0AF72a7B13E40E13cd613"
     }
   },
   "variableDebtDAI": {
     "kovan": {
       "address": "0x6207fdDba94b932A73f02a988A760BBd4d942152"
+    },
+    "hardhat": {
+      "address": "0x38E82417A3b37f7faA75d2DD6260d5C24f529e1e"
     }
   },
   "aAAVE": {
     "kovan": {
       "address": "0x84145b267060bf9eE8FCA80324498A7444c8e821"
+    },
+    "hardhat": {
+      "address": "0x6e5d1a9C405DF46a8503893DBa99c3af5Dc1FB5A"
     }
   },
   "strategyAAVE": {
     "kovan": {
       "address": "0x367356225e3BFA34c1cb447CFCdEE7a2D2dB38B5"
+    },
+    "hardhat": {
+      "address": "0xCDfa18cdFEFCa96D6c79628c6ef941201b63faE4"
     }
   },
   "aBAT": {
     "kovan": {
       "address": "0x2490F90399e169381DF8c78F81aC635f4be0d8A3"
+    },
+    "hardhat": {
+      "address": "0xCaA841b61FfEf4017209311f2B0B2e2f88eBA3bc"
     }
   },
   "strategyBAT": {
     "kovan": {
       "address": "0xac86Db376b8255d8FD8e41B092535875471eE311"
+    },
+    "hardhat": {
+      "address": "0x8225B75F6eed9415D3FEABAa5B53628c6c7D29E2"
     }
   },
   "aBUSD": {
     "kovan": {
       "address": "0x6645315FA490C24e7969439EeF4c143ce69B3035"
+    },
+    "hardhat": {
+      "address": "0x7EebA31C65BCceBF0F2ef6eFf9edf170De96A139"
     }
   },
   "strategyBUSD": {
     "kovan": {
       "address": "0xf4F7F30a34FDdB1Fd5B166CF121E2786a62B96Aa"
+    },
+    "hardhat": {
+      "address": "0x66D0d53519B4A06f007A2Da43599EB844f6F4a7e"
     }
   },
   "aDAI": {
     "kovan": {
       "address": "0xb1967F5b6e65705ACF985437f5743a63eDa20F73"
+    },
+    "hardhat": {
+      "address": "0xf72805fA3E8Bd360bCBA4d069FC3B882001bB017"
     }
   },
   "strategyDAI": {
     "kovan": {
       "address": "0x0ffeB139529D3DA091F8239712D25eab404C4421"
+    },
+    "hardhat": {
+      "address": "0xB79EcFC3ea936e0e904DA3190CD1C8b8cc5F99B5"
     }
   },
   "stableDebtENJ": {
     "kovan": {
       "address": "0x59FF56F1bE382464468637e59c5Ae57398B143cF"
+    },
+    "hardhat": {
+      "address": "0xFE6c73d2880c7F5D2CDfe495C500AF94fECd09E9"
     }
   },
   "variableDebtENJ": {
     "kovan": {
       "address": "0xb6DA3a57ea0A5b3C4f1926E9238c6F34b5B61eca"
+    },
+    "hardhat": {
+      "address": "0x1890c00253FbD4130A4191CDA13e443b8708DEAF"
     }
   },
   "stableDebtKNC": {
     "kovan": {
       "address": "0x813863F06b228DAC48ed2E861a3c07eD10e8D2F0"
+    },
+    "hardhat": {
+      "address": "0xfdAA87AfAF7F617F84480eDc705d8Fd4B78EDEcB"
     }
   },
   "variableDebtKNC": {
     "kovan": {
       "address": "0x8B08B2678D105Bf32F8F5A2013382773b2b24733"
+    },
+    "hardhat": {
+      "address": "0x8A420528eC19177Deb9f1F0e2965964018f896c7"
     }
   },
   "stableDebtLINK": {
     "kovan": {
       "address": "0x86A28c4B9Bc2BFc03743b136405B63e6ceB4e963"
+    },
+    "hardhat": {
+      "address": "0x8a8eB2979316f4F173A97ff91E0e1Dd106039ad4"
     }
   },
   "variableDebtLINK": {
     "kovan": {
       "address": "0x7A68F4382419D86c90cc069EF692BaaCfd3301Da"
+    },
+    "hardhat": {
+      "address": "0xa0207cf18d773Bae5F5d816fc674fF8FFd0D6fE6"
     }
   },
   "stableDebtMANA": {
     "kovan": {
       "address": "0xb61c3B1BF95B78eCC327ddcd614ba96FEe8127b0"
+    },
+    "hardhat": {
+      "address": "0xE5107B38FFB21AD61185785816559f8B3aA54Ac5"
     }
   },
   "variableDebtMANA": {
     "kovan": {
       "address": "0x196143A06206c5d47394c114ad5318b85CAC2E88"
+    },
+    "hardhat": {
+      "address": "0x1259DA780FF797C1a11d534b0BaC534eD2b3F109"
     }
   },
   "aENJ": {
     "kovan": {
       "address": "0xF2F9f31FFB0f8d43974B05Bb560f093b441F5B1b"
+    },
+    "hardhat": {
+      "address": "0xa9DFb142061Ef496F48078d9eA39A2D992236D0f"
     }
   },
   "strategyENJ": {
     "kovan": {
       "address": "0x66d0B7Ccd0C9a76A831334e9fE8a71680DD0A9e2"
+    },
+    "hardhat": {
+      "address": "0xaaE80234037A18Ee462b1727ed0621b54dFcEDA6"
     }
   },
   "aKNC": {
     "kovan": {
       "address": "0x5675D816D05cEF2bBF2737EbD55727549D4143e0"
+    },
+    "hardhat": {
+      "address": "0x8076E5d426aa3B5C4c98570b3a9033EE67aFe849"
     }
   },
   "strategyKNC": {
     "kovan": {
       "address": "0x8C7d058c50b241dD01d6a6d4E2a10C6c78e21eB3"
+    },
+    "hardhat": {
+      "address": "0x87809db6234f27E3AacDEb316c00DbFCA77B11B3"
     }
   },
   "aLINK": {
     "kovan": {
       "address": "0x729c933284e8226137cd8a5ec39bD20A9c4c49F9"
+    },
+    "hardhat": {
+      "address": "0xe90Ad292698ddaE3Dc305Eb98Ff5FD7341c8a637"
     }
   },
   "strategyLINK": {
     "kovan": {
       "address": "0xB09a6AB9d32a576e73159083aFE9aBe14c29173E"
+    },
+    "hardhat": {
+      "address": "0x436d1eE2EDa1F7a98f2418709d10465c98Ed3828"
     }
   },
   "aMANA": {
     "kovan": {
       "address": "0xB98571944af08b8698622Ab0A988c59738Cf2AB8"
+    },
+    "hardhat": {
+      "address": "0x8599378fE42e4FB26Ad214FB1545076EB19b8b0f"
     }
   },
   "strategyMANA": {
     "kovan": {
       "address": "0xB44Ca018DB828f67C2BaFb6846AF12c5cCb92122"
+    },
+    "hardhat": {
+      "address": "0x487E219628bb5227b2B490CaEE2E2b47ec06D204"
     }
   },
   "stableDebtMKR": {
     "kovan": {
       "address": "0x536FA5ACA31cA1FE60Ec8a54432bA8E08E86222E"
+    },
+    "hardhat": {
+      "address": "0x3deF3E7577D5Ddf0ea10fB58730fECdA673711C8"
     }
   },
   "variableDebtMKR": {
     "kovan": {
       "address": "0x6BF5055Fe4312194723888875Ce73A9461510344"
+    },
+    "hardhat": {
+      "address": "0x509B355B5d665a209e888B20B818e53fAdEb47B7"
     }
   },
   "stableDebtREN": {
     "kovan": {
       "address": "0x2372E7a3d03e18F6ece2FDcb453c03e609134842"
+    },
+    "hardhat": {
+      "address": "0x2A7C4a4D6b7db3beF0e277D950192c421aF4BD69"
     }
   },
   "variableDebtREN": {
     "kovan": {
       "address": "0x89C3b25C3C4d7f7Fd25B8cCe1De60Af835696C1B"
+    },
+    "hardhat": {
+      "address": "0x5d1B59460fa295F6B4DEB74C74F4D11f4de60517"
     }
   },
   "stableDebtREP": {
     "kovan": {
       "address": "0x9ED2D2d415A262487D7f0a3Ec62E8467fd3CF278"
+    },
+    "hardhat": {
+      "address": "0x80288A583c216fB0F6a7ccA1Fbc22d7727E2135a"
     }
   },
   "variableDebtREP": {
     "kovan": {
       "address": "0xe1333768d0209078254215A131d49E3dE36F4617"
+    },
+    "hardhat": {
+      "address": "0xd7E287c1B79c7DA0F6fF7cdEA1026f1223c24F8a"
     }
   },
   "stableDebtSNX": {
     "kovan": {
       "address": "0xB14dbC77a03703074ed8a95f288413985f996b99"
+    },
+    "hardhat": {
+      "address": "0x0Aa250b8A76d9228Cc7609013cc77c500Ee802E7"
     }
   },
   "variableDebtSNX": {
     "kovan": {
       "address": "0x77E31F2CDC45921156df5288D4dB20D3A5A915f2"
+    },
+    "hardhat": {
+      "address": "0xf45700a9EAD19BFA6770802E3807E3eE37E8E492"
     }
   },
   "aMKR": {
     "kovan": {
       "address": "0xd87c0D428f89D54176808A3e78632c90C44fF5a5"
+    },
+    "hardhat": {
+      "address": "0x05EDF38bB3D948E96745f39072d59dCc915194Dd"
     }
   },
   "strategyMKR": {
     "kovan": {
       "address": "0x349E1B2e94b600Dd09817924207E50A6660fAF2B"
+    },
+    "hardhat": {
+      "address": "0x90D5cff61508785557eaA45DeED1297809F49371"
     }
   },
   "aREN": {
     "kovan": {
       "address": "0x9410999dFA3527317f0Ae3b5D2A54c213A48f9d1"
+    },
+    "hardhat": {
+      "address": "0xB436Db1757e0c474DaF67666BC35F5fF7062541D"
     }
   },
   "strategyREN": {
     "kovan": {
       "address": "0x192638591E5Bb456498E380cf91f456Fef21C4b4"
+    },
+    "hardhat": {
+      "address": "0x26eC70DcA80E8dBDaAcBff415aCdcF791C89CEBe"
     }
   },
   "aREP": {
     "kovan": {
       "address": "0x8C94FE9CE952738C48799326E63294626e1A3C7c"
+    },
+    "hardhat": {
+      "address": "0xfcD974Cec976c536745bBB30e6C7E083a1Ab82EC"
     }
   },
   "strategyREP": {
     "kovan": {
       "address": "0x1D2F67F9bb6db702067Fbb0D400c864a1ffC5594"
+    },
+    "hardhat": {
+      "address": "0x0E7f0c6Bf3bA63A28e1EFdDb7F3186A24b90566D"
     }
   },
   "aSNX": {
     "kovan": {
       "address": "0x2473e6Ed1F9cbcc3141eB04AEd432BaAB575fDD1"
+    },
+    "hardhat": {
+      "address": "0x21FA83fB5d14301B53Efc6e44C565C80063d1c50"
     }
   },
   "strategySNX": {
     "kovan": {
       "address": "0x75cb1cEB23956D20b94fF63ec9dB0990E5920A91"
+    },
+    "hardhat": {
+      "address": "0x5806cCA75C8fEf151881d93E7e81EB103F23fb7b"
     }
   },
   "stableDebtSUSD": {
     "kovan": {
       "address": "0xD59F6350A3a75cfa09Df8A182BF55be37f8A8840"
+    },
+    "hardhat": {
+      "address": "0xDfD96D3cac8b157176292c547A61eD7586713527"
     }
   },
   "variableDebtSUSD": {
     "kovan": {
       "address": "0xcd8b423809eb2565f0e0f2d0435dFBAdcBBdCF18"
+    },
+    "hardhat": {
+      "address": "0xcc94Ce18B9a7522d12675cA3fFC1A862Ac0373C1"
     }
   },
   "stableDebtTUSD": {
     "kovan": {
       "address": "0xA3b22b35DAee9F2E73F2A05eF57799B821513930"
+    },
+    "hardhat": {
+      "address": "0x2C4ec78AD3Ff19F35e0dbF35837490C4f7b4224E"
     }
   },
   "variableDebtTUSD": {
     "kovan": {
       "address": "0x648663CD12F9BCde674c18a1F04A455e23aFc6b3"
+    },
+    "hardhat": {
+      "address": "0xC9C2c855fA6EAFc5780B661b2CD1c8985c45D720"
     }
   },
   "stableDebtUNI": {
     "kovan": {
       "address": "0x30E2aBE48E78646347C3Cf8C437AE965AB6e9303"
+    },
+    "hardhat": {
+      "address": "0x1a2f37C5Ed6bEA450Ac31E10ED682994C7C77835"
     }
   },
   "variableDebtUNI": {
     "kovan": {
       "address": "0x83028921E12c9adB6c7bBa1d6872C9e771bbEC20"
+    },
+    "hardhat": {
+      "address": "0x83D129a2efFa0ba0d5B09f7CdfBEaDE1F847201E"
     }
   },
   "stableDebtUSDC": {
     "kovan": {
       "address": "0xe86554cd90D2d8BF7fd5F3931F833e7c1604CbCE"
+    },
+    "hardhat": {
+      "address": "0xBb78BcaB8e39C38C6E019fe49E43b2591FAa6a58"
     }
   },
   "variableDebtUSDC": {
     "kovan": {
       "address": "0x5d4d415f627a10b20f5B3E8A1bbB4D3190761cE0"
+    },
+    "hardhat": {
+      "address": "0xF5B3b70cb53852617B1fde19242bED043A885B4B"
     }
   },
   "aSUSD": {
     "kovan": {
       "address": "0x6a179aD153474df2af72b963145C1310727F65a7"
+    },
+    "hardhat": {
+      "address": "0x4bb47D17F31181c8BE088CE21574B4e973212C39"
     }
   },
   "strategySUSD": {
     "kovan": {
       "address": "0x570114BcC09d440A7973e406A5c1b55C394c90aD"
+    },
+    "hardhat": {
+      "address": "0x632a0Cf1e008011CC3185c9989205aa29BF267Df"
     }
   },
   "aTUSD": {
     "kovan": {
       "address": "0x0290a0b6B5D249fD98F31Ae887F6d5B4d6C4A56F"
+    },
+    "hardhat": {
+      "address": "0x2A3CcaB4Fb2A3B34f6A819Cfc50918fe96D64122"
     }
   },
   "strategyTUSD": {
     "kovan": {
       "address": "0x9686D4f25eB0E4E72d2Eef22c66a3E1d9a42aca2"
+    },
+    "hardhat": {
+      "address": "0x8B151819355Bfb7dE62e5b1D7580F43B34ed86e8"
     }
   },
   "aUNI": {
     "kovan": {
       "address": "0x3414b75532c400fb983a9fA22d71Cb45A05ADd2c"
+    },
+    "hardhat": {
+      "address": "0x388e76350476e23A80eA6403B525aDa86ed7af6E"
     }
   },
   "strategyUNI": {
     "kovan": {
       "address": "0x9A01E6f57863bb03f7ED2ebad57123476e450FA9"
+    },
+    "hardhat": {
+      "address": "0xf86115c55192beb063C4c494E2C9CFB990235ecF"
     }
   },
   "aUSDC": {
     "kovan": {
       "address": "0xB98DA540268F26Eb3A328F6c183BB3A5dCb1943b"
+    },
+    "hardhat": {
+      "address": "0xa8d4DF7C220903a4018C3A81BEc702fb54623bd5"
     }
   },
   "strategyUSDC": {
     "kovan": {
       "address": "0xF727D07a89C98A5296CcCa71cE3Cda4f027965a9"
+    },
+    "hardhat": {
+      "address": "0x936b5f546a6405012AC1DC4713f29B7CE43Fb4A2"
     }
   },
   "stableDebtUSDT": {
     "kovan": {
       "address": "0xc6b875BAec3472520da7c9755E2bFF98a1DbB89F"
+    },
+    "hardhat": {
+      "address": "0x47167e26421017FD2a619D99Cf747b5eB58371B2"
     }
   },
   "variableDebtUSDT": {
     "kovan": {
       "address": "0x935626db98525589969745e5edc2C9256E380e17"
+    },
+    "hardhat": {
+      "address": "0xBfd65BbF3fbF0bFB0f0053e092EB690904eC6876"
     }
   },
   "stableDebtWBTC": {
     "kovan": {
       "address": "0xD5f7F2A4175B40cbdc53c952103AB427656D9C81"
+    },
+    "hardhat": {
+      "address": "0xae18C8d1A389E005faBf3234f5F81C35561c1811"
     }
   },
   "variableDebtWBTC": {
     "kovan": {
       "address": "0xf11b889cB033a51391181f0180A27489484F832c"
+    },
+    "hardhat": {
+      "address": "0x7B3CAbCa23FafF9f02382Bc5A7BB73D46c2BE1ee"
     }
   },
   "stableDebtWETH": {
     "kovan": {
       "address": "0x06Df93951238B7aBeCBDceE767bF76f0119Ef6dd"
+    },
+    "hardhat": {
+      "address": "0x1A06De035FA3e4339f1a41C9008Ed6ba6c8f2a15"
     }
   },
   "variableDebtWETH": {
     "kovan": {
       "address": "0x920e55564a59967FB7A9cbB52D806FcF9093fda9"
+    },
+    "hardhat": {
+      "address": "0x61641145904737b907B4e31DBdAd829B606eB111"
     }
   },
   "stableDebtYFI": {
     "kovan": {
       "address": "0xFa29EA4a56192B3435D1B44c06c105d6A68934eb"
+    },
+    "hardhat": {
+      "address": "0x3049AA46A60B4253d6Cf122a25bBd26a0CCb6CAd"
     }
   },
   "variableDebtYFI": {
     "kovan": {
       "address": "0x6888B4E246af31Abd68b8809C559dBAe005F3f8C"
+    },
+    "hardhat": {
+      "address": "0x1Af371fA93aFAB4F461b6f978E7918B79510896A"
     }
   },
   "aUSDT": {
     "kovan": {
       "address": "0xcC43E5f28B99359A91241C3C7724329752959315"
+    },
+    "hardhat": {
+      "address": "0x6A45383E16554222D9AFf39c4deAd7EF598ddb95"
     }
   },
   "strategyUSDT": {
     "kovan": {
       "address": "0x258B11Fe8840465aB532672Cae7552E9b9164868"
+    },
+    "hardhat": {
+      "address": "0x08fd990609A0Ed943858a7493c7105E2CC784784"
     }
   },
   "aWBTC": {
     "kovan": {
       "address": "0x5Df7c6D2bC373B5D4401A5Fb53c2ca0c5D54f3D9"
+    },
+    "hardhat": {
+      "address": "0xEDE8C583A3fB6DcfC1a991E5B1F9C1b0b29ca60d"
     }
   },
   "strategyWBTC": {
     "kovan": {
       "address": "0x9499FD7ca03BC886D9D5206Eb13ef49aFAd762D9"
+    },
+    "hardhat": {
+      "address": "0x763b103B7EFEbb21Acc2b50b134681E0b5ecB247"
     }
   },
   "aWETH": {
     "kovan": {
       "address": "0xC304Ee9c505e4Aa890E4738df1cd51eF344AE1af"
+    },
+    "hardhat": {
+      "address": "0x24aAB62Ae5595aACae2A0fC10aA31006Cb7dC4ef"
     }
   },
   "strategyWETH": {
     "kovan": {
       "address": "0x6dcb41D1EA0e01d5b411B51459F14c8DEe0271B1"
+    },
+    "hardhat": {
+      "address": "0x75e2e836409aF032Fc182F2e9D6212336E2E7026"
     }
   },
   "aYFI": {
     "kovan": {
       "address": "0xb88b11E148741c7182e3dF7f50f445174BFA6C80"
+    },
+    "hardhat": {
+      "address": "0xE4b29Db05C1A3749d085E9eF41dC2378eE530dF0"
     }
   },
   "strategyYFI": {
     "kovan": {
       "address": "0x0bDd002c01D54129ef2D258Ce39fEeC63E37d0DF"
+    },
+    "hardhat": {
+      "address": "0x8c82e998506DCF9ef46518182DaF18ae962d4b3C"
     }
   },
   "stableDebtZRX": {
     "kovan": {
       "address": "0x76309814279AbD6bfCA3722Db8dEC502F98012E1"
+    },
+    "hardhat": {
+      "address": "0x929ef1D4eB03724462e59219506CbD5Bcf2Cce38"
     }
   },
   "variableDebtZRX": {
     "kovan": {
       "address": "0x818215a596C8Cc8D27A4dC76c12e8A138570ed9B"
+    },
+    "hardhat": {
+      "address": "0xDf5E00D37C010cE5FA334234c8E391F82e90fA2e"
     }
   },
   "aZRX": {
     "kovan": {
       "address": "0x66Bf0A6886AC7024015C8020B0aFEdacD41b60c3"
+    },
+    "hardhat": {
+      "address": "0x255AE9d92694fE823D099b42ff8088770B700029"
     }
   },
   "strategyZRX": {
     "kovan": {
       "address": "0xC0499607b25dd626DF59343d7fCF246E4D875136"
+    },
+    "hardhat": {
+      "address": "0xaDF23b1cAa6a7B3b077c432794FfF80A4b935cdF"
     }
   }
-}
\ No newline at end of file
+}
diff --git a/helpers/contracts-deployments.ts b/helpers/contracts-deployments.ts
index f61e1dcd..0887e9b7 100644
--- a/helpers/contracts-deployments.ts
+++ b/helpers/contracts-deployments.ts
@@ -18,7 +18,7 @@ import {getReservesConfigByPool} from './configuration';
 import {getFirstSigner} from './contracts-getters';
 import {ZERO_ADDRESS} from './constants';
 import {
-  AaveProtocolTestHelpersFactory,
+  AaveProtocolDataProviderFactory,
   ATokenFactory,
   ATokensAndRatesHelperFactory,
   ChainlinkProxyPriceProviderFactory,
@@ -255,13 +255,13 @@ export const deployWalletBalancerProvider = async (
     verify
   );
 
-export const deployAaveProtocolTestHelpers = async (
+export const deployAaveProtocolDataProvider = async (
   addressesProvider: tEthereumAddress,
   verify?: boolean
 ) =>
   withSaveAndVerify(
-    await new AaveProtocolTestHelpersFactory(await getFirstSigner()).deploy(addressesProvider),
-    eContractid.AaveProtocolTestHelpers,
+    await new AaveProtocolDataProviderFactory(await getFirstSigner()).deploy(addressesProvider),
+    eContractid.AaveProtocolDataProvider,
     [addressesProvider],
     verify
   );
diff --git a/helpers/contracts-getters.ts b/helpers/contracts-getters.ts
index bad1db2d..fa220c28 100644
--- a/helpers/contracts-getters.ts
+++ b/helpers/contracts-getters.ts
@@ -1,5 +1,5 @@
 import {
-  AaveProtocolTestHelpersFactory,
+  AaveProtocolDataProviderFactory,
   ATokenFactory,
   ATokensAndRatesHelperFactory,
   DefaultReserveInterestRateStrategyFactory,
@@ -100,10 +100,10 @@ export const getIErc20Detailed = async (address: tEthereumAddress) =>
     await getFirstSigner()
   );
 
-export const getAaveProtocolTestHelpers = async (address?: tEthereumAddress) =>
-  await AaveProtocolTestHelpersFactory.connect(
+export const getAaveProtocolDataProvider = async (address?: tEthereumAddress) =>
+  await AaveProtocolDataProviderFactory.connect(
     address ||
-      (await getDb().get(`${eContractid.AaveProtocolTestHelpers}.${DRE.network.name}`).value())
+      (await getDb().get(`${eContractid.AaveProtocolDataProvider}.${DRE.network.name}`).value())
         .address,
     await getFirstSigner()
   );
diff --git a/helpers/init-helpers.ts b/helpers/init-helpers.ts
index dd6f3fe3..2391f26f 100644
--- a/helpers/init-helpers.ts
+++ b/helpers/init-helpers.ts
@@ -1,6 +1,6 @@
 import {eContractid, iMultiPoolsAssets, IReserveParams, tEthereumAddress} from './types';
 import {LendingPoolConfigurator} from '../types/LendingPoolConfigurator';
-import {AaveProtocolTestHelpers} from '../types/AaveProtocolTestHelpers';
+import {AaveProtocolDataProvider} from '../types/AaveProtocolDataProvider';
 import {
   deployATokensAndRatesHelper,
   deployStableAndVariableTokensHelper,
@@ -182,7 +182,7 @@ export const getPairsTokenAggregator = (
 export const enableReservesToBorrowByHelper = async (
   reservesParams: iMultiPoolsAssets<IReserveParams>,
   tokenAddresses: {[symbol: string]: tEthereumAddress},
-  helpers: AaveProtocolTestHelpers,
+  helpers: AaveProtocolDataProvider,
   admin: tEthereumAddress
 ) => {
   const addressProvider = await getLendingPoolAddressesProvider();
@@ -249,7 +249,7 @@ export const enableReservesToBorrowByHelper = async (
 export const enableReservesAsCollateralByHelper = async (
   reservesParams: iMultiPoolsAssets<IReserveParams>,
   tokenAddresses: {[symbol: string]: tEthereumAddress},
-  helpers: AaveProtocolTestHelpers,
+  helpers: AaveProtocolDataProvider,
   admin: tEthereumAddress
 ) => {
   const addressProvider = await getLendingPoolAddressesProvider();
diff --git a/helpers/types.ts b/helpers/types.ts
index 133c2e30..c9aac797 100644
--- a/helpers/types.ts
+++ b/helpers/types.ts
@@ -51,7 +51,7 @@ export enum eContractid {
   DelegationAwareAToken = 'DelegationAwareAToken',
   MockStableDebtToken = 'MockStableDebtToken',
   MockVariableDebtToken = 'MockVariableDebtToken',
-  AaveProtocolTestHelpers = 'AaveProtocolTestHelpers',
+  AaveProtocolDataProvider = 'AaveProtocolDataProvider',
   IERC20Detailed = 'IERC20Detailed',
   StableDebtToken = 'StableDebtToken',
   VariableDebtToken = 'VariableDebtToken',
diff --git a/tasks/dev/5_initialize.ts b/tasks/dev/5_initialize.ts
index 531d34f0..11d25729 100644
--- a/tasks/dev/5_initialize.ts
+++ b/tasks/dev/5_initialize.ts
@@ -3,7 +3,7 @@ import {
   deployLendingPoolCollateralManager,
   deployMockFlashLoanReceiver,
   deployWalletBalancerProvider,
-  deployAaveProtocolTestHelpers,
+  deployAaveProtocolDataProvider,
   deployWETHGateway,
 } from '../../helpers/contracts-deployments';
 import {
@@ -41,7 +41,7 @@ task('dev:initialize-lending-pool', 'Initialize lending pool configuration.')
       filterMapBy(allTokenAddresses, (key: string) => !key.includes('UNI_'))
     );
 
-    const testHelpers = await deployAaveProtocolTestHelpers(addressesProvider.address, verify);
+    const testHelpers = await deployAaveProtocolDataProvider(addressesProvider.address, verify);
 
     const reservesParams = getReservesConfigByPool(AavePools.proto);
 
@@ -77,7 +77,7 @@ task('dev:initialize-lending-pool', 'Initialize lending pool configuration.')
 
     await deployWalletBalancerProvider(addressesProvider.address, verify);
 
-    await insertContractAddressInDb(eContractid.AaveProtocolTestHelpers, testHelpers.address);
+    await insertContractAddressInDb(eContractid.AaveProtocolDataProvider, testHelpers.address);
 
     const lendingPoolAddress = await addressesProvider.getLendingPool();
     const wethAddress = await getWethAddress(poolConfig);
diff --git a/tasks/full/5_initialize.ts b/tasks/full/5_initialize.ts
index d098e826..99b55f15 100644
--- a/tasks/full/5_initialize.ts
+++ b/tasks/full/5_initialize.ts
@@ -3,7 +3,7 @@ import {getParamPerNetwork} from '../../helpers/contracts-helpers';
 import {
   deployLendingPoolCollateralManager,
   deployWalletBalancerProvider,
-  deployAaveProtocolTestHelpers,
+  deployAaveProtocolDataProvider,
   deployWETHGateway,
 } from '../../helpers/contracts-deployments';
 import {loadPoolConfig, ConfigNames, getWethAddress} from '../../helpers/configuration';
@@ -32,7 +32,7 @@ task('full:initialize-lending-pool', 'Initialize lending pool configuration.')
 
       const addressesProvider = await getLendingPoolAddressesProvider();
 
-      const testHelpers = await deployAaveProtocolTestHelpers(addressesProvider.address, verify);
+      const testHelpers = await deployAaveProtocolDataProvider(addressesProvider.address, verify);
 
       const admin = await addressesProvider.getPoolAdmin();
       if (!reserveAssets) {
diff --git a/tasks/full/6_verify.ts b/tasks/full/6_verify.ts
index fe10b83a..e672b2e4 100644
--- a/tasks/full/6_verify.ts
+++ b/tasks/full/6_verify.ts
@@ -3,7 +3,7 @@ import {task} from 'hardhat/config';
 import {loadPoolConfig, ConfigNames, getWethAddress} from '../../helpers/configuration';
 import {ZERO_ADDRESS} from '../../helpers/constants';
 import {
-  getAaveProtocolTestHelpers,
+  getAaveProtocolDataProvider,
   getAddressById,
   getLendingPool,
   getLendingPoolAddressesProvider,
@@ -43,7 +43,7 @@ task('full:verify', 'Deploy oracles for dev enviroment')
       const lendingPoolImpl = await getLendingPoolImpl();
       const lendingPoolConfiguratorImpl = await getLendingPoolConfiguratorImpl();
       const lendingPoolCollateralManagerImpl = await getLendingPoolCollateralManagerImpl();
-      const testHelpers = await getAaveProtocolTestHelpers();
+      const dataProvider = await getAaveProtocolDataProvider();
       const walletProvider = await getWalletProvider();
       const wethGateway = await getWETHGateway();
 
@@ -68,8 +68,8 @@ task('full:verify', 'Deploy oracles for dev enviroment')
       await verifyContract(lendingPoolCollateralManagerImpl.address, []);
 
       // Test helpers
-      console.log('\n- Verifying  Aave Helpers...\n');
-      await verifyContract(testHelpers.address, [addressesProvider.address]);
+      console.log('\n- Verifying  Aave  Provider Helpers...\n');
+      await verifyContract(dataProvider.address, [addressesProvider.address]);
 
       // Wallet balance provider
       console.log('\n- Verifying  Wallet Balance Provider...\n');
diff --git a/tasks/full/7_data-provider.ts b/tasks/full/7_data-provider.ts
new file mode 100644
index 00000000..4f0954a5
--- /dev/null
+++ b/tasks/full/7_data-provider.ts
@@ -0,0 +1,19 @@
+import {task} from 'hardhat/config';
+import {deployAaveProtocolDataProvider} from '../../helpers/contracts-deployments';
+import {exit} from 'process';
+import {getLendingPoolAddressesProvider} from '../../helpers/contracts-getters';
+
+task('full:data-provider', 'Initialize lending pool configuration.')
+  .addFlag('verify', 'Verify contracts at Etherscan')
+  .setAction(async ({verify}, localBRE) => {
+    try {
+      await localBRE.run('set-DRE');
+
+      const addressesProvider = await getLendingPoolAddressesProvider();
+
+      await deployAaveProtocolDataProvider(addressesProvider.address, verify);
+    } catch (err) {
+      console.error(err);
+      exit(1);
+    }
+  });
diff --git a/test/__setup.spec.ts b/test/__setup.spec.ts
index a8ddbfac..559a8d08 100644
--- a/test/__setup.spec.ts
+++ b/test/__setup.spec.ts
@@ -16,7 +16,7 @@ import {
   deployLendingPoolCollateralManager,
   deployMockFlashLoanReceiver,
   deployWalletBalancerProvider,
-  deployAaveProtocolTestHelpers,
+  deployAaveProtocolDataProvider,
   deployLendingRateOracle,
   deployStableAndVariableTokensHelper,
   deployATokensAndRatesHelper,
@@ -235,9 +235,9 @@ const buildTestEnv = async (deployer: Signer, secondaryWallet: Signer) => {
 
   const reservesParams = getReservesConfigByPool(AavePools.proto);
 
-  const testHelpers = await deployAaveProtocolTestHelpers(addressesProvider.address);
+  const testHelpers = await deployAaveProtocolDataProvider(addressesProvider.address);
 
-  await insertContractAddressInDb(eContractid.AaveProtocolTestHelpers, testHelpers.address);
+  await insertContractAddressInDb(eContractid.AaveProtocolDataProvider, testHelpers.address);
   const admin = await deployer.getAddress();
 
   console.log('Initialize configuration');
diff --git a/test/helpers/make-suite.ts b/test/helpers/make-suite.ts
index 1099b7b2..cd927c5b 100644
--- a/test/helpers/make-suite.ts
+++ b/test/helpers/make-suite.ts
@@ -3,7 +3,7 @@ import {Signer} from 'ethers';
 import {
   getLendingPool,
   getLendingPoolAddressesProvider,
-  getAaveProtocolTestHelpers,
+  getAaveProtocolDataProvider,
   getAToken,
   getMintableErc20,
   getLendingPoolConfiguratorProxy,
@@ -14,7 +14,7 @@ import {
 } from '../../helpers/contracts-getters';
 import {tEthereumAddress} from '../../helpers/types';
 import {LendingPool} from '../../types/LendingPool';
-import {AaveProtocolTestHelpers} from '../../types/AaveProtocolTestHelpers';
+import {AaveProtocolDataProvider} from '../../types/AaveProtocolDataProvider';
 import {MintableErc20 as MintableERC20} from '../../types/MintableErc20';
 import {AToken} from '../../types/AToken';
 import {LendingPoolConfigurator} from '../../types/LendingPoolConfigurator';
@@ -45,7 +45,7 @@ export interface TestEnv {
   pool: LendingPool;
   configurator: LendingPoolConfigurator;
   oracle: PriceOracle;
-  helpersContract: AaveProtocolTestHelpers;
+  helpersContract: AaveProtocolDataProvider;
   weth: Weth9Mocked;
   aWETH: AToken;
   dai: MintableERC20;
@@ -69,7 +69,7 @@ const testEnv: TestEnv = {
   users: [] as SignerWithAddress[],
   pool: {} as LendingPool,
   configurator: {} as LendingPoolConfigurator,
-  helpersContract: {} as AaveProtocolTestHelpers,
+  helpersContract: {} as AaveProtocolDataProvider,
   oracle: {} as PriceOracle,
   weth: {} as Weth9Mocked,
   aWETH: {} as AToken,
@@ -104,7 +104,7 @@ export async function initializeMakeSuite() {
   testEnv.addressesProvider = await getLendingPoolAddressesProvider();
   testEnv.registry = await getLendingPoolAddressesProviderRegistry();
 
-  testEnv.helpersContract = await getAaveProtocolTestHelpers();
+  testEnv.helpersContract = await getAaveProtocolDataProvider();
 
   const allTokens = await testEnv.helpersContract.getAllATokens();
 
diff --git a/test/helpers/utils/helpers.ts b/test/helpers/utils/helpers.ts
index c51a8960..f36a8fdb 100644
--- a/test/helpers/utils/helpers.ts
+++ b/test/helpers/utils/helpers.ts
@@ -11,10 +11,10 @@ import {
 import {tEthereumAddress} from '../../../helpers/types';
 import BigNumber from 'bignumber.js';
 import {getDb, DRE} from '../../../helpers/misc-utils';
-import {AaveProtocolTestHelpers} from '../../../types/AaveProtocolTestHelpers';
+import {AaveProtocolDataProvider} from '../../../types/AaveProtocolDataProvider';
 
 export const getReserveData = async (
-  helper: AaveProtocolTestHelpers,
+  helper: AaveProtocolDataProvider,
   reserve: tEthereumAddress
 ): Promise<ReserveData> => {
   const [reserveData, tokenAddresses, rateOracle, token] = await Promise.all([
@@ -74,7 +74,7 @@ export const getReserveData = async (
 
 export const getUserData = async (
   pool: LendingPool,
-  helper: AaveProtocolTestHelpers,
+  helper: AaveProtocolDataProvider,
   reserve: string,
   user: tEthereumAddress,
   sender?: tEthereumAddress
@@ -116,7 +116,7 @@ export const getReserveAddressFromSymbol = async (symbol: string) => {
 const getATokenUserData = async (
   reserve: string,
   user: string,
-  helpersContract: AaveProtocolTestHelpers
+  helpersContract: AaveProtocolDataProvider
 ) => {
   const aTokenAddress: string = (await helpersContract.getReserveTokensAddresses(reserve))
     .aTokenAddress;