@bgd-labs/aave-address-book 1.2.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/.editorconfig +13 -0
  2. package/.prettierignore +4 -0
  3. package/.prettierrc +15 -0
  4. package/CHANGELOG.md +14 -0
  5. package/README.md +80 -36
  6. package/dist/AaveAddressBook.d.ts +6 -1
  7. package/dist/AaveAddressBook.js +8 -2
  8. package/dist/AaveGovernanceV2.d.ts +4 -0
  9. package/dist/AaveGovernanceV2.js +7 -0
  10. package/dist/AaveSafetyModule.d.ts +2 -0
  11. package/dist/AaveSafetyModule.js +5 -0
  12. package/dist/AaveV2Avalanche.d.ts +3 -0
  13. package/dist/AaveV2Avalanche.js +4 -1
  14. package/dist/AaveV2Ethereum.d.ts +3 -0
  15. package/dist/AaveV2Ethereum.js +4 -1
  16. package/dist/AaveV2EthereumAMM.d.ts +3 -0
  17. package/dist/AaveV2EthereumAMM.js +4 -1
  18. package/dist/AaveV2Fuji.d.ts +2 -0
  19. package/dist/AaveV2Fuji.js +3 -1
  20. package/dist/AaveV2Goerli.d.ts +12 -0
  21. package/dist/AaveV2Goerli.js +15 -0
  22. package/dist/AaveV2Mumbai.d.ts +2 -0
  23. package/dist/AaveV2Mumbai.js +3 -1
  24. package/dist/AaveV2Polygon.d.ts +4 -1
  25. package/dist/AaveV2Polygon.js +5 -2
  26. package/dist/AaveV3Arbitrum.d.ts +7 -0
  27. package/dist/AaveV3Arbitrum.js +8 -1
  28. package/dist/AaveV3ArbitrumGoerli.d.ts +16 -0
  29. package/dist/AaveV3ArbitrumGoerli.js +19 -0
  30. package/dist/AaveV3Avalanche.d.ts +7 -0
  31. package/dist/AaveV3Avalanche.js +8 -1
  32. package/dist/AaveV3Fantom.d.ts +7 -0
  33. package/dist/AaveV3Fantom.js +8 -1
  34. package/dist/AaveV3FantomTestnet.d.ts +6 -0
  35. package/dist/AaveV3FantomTestnet.js +7 -1
  36. package/dist/AaveV3Fuji.d.ts +6 -0
  37. package/dist/AaveV3Fuji.js +7 -1
  38. package/dist/AaveV3Goerli.d.ts +16 -0
  39. package/dist/AaveV3Goerli.js +19 -0
  40. package/dist/AaveV3Harmony.d.ts +5 -0
  41. package/dist/AaveV3Harmony.js +6 -1
  42. package/dist/AaveV3Mumbai.d.ts +6 -0
  43. package/dist/AaveV3Mumbai.js +7 -1
  44. package/dist/AaveV3Optimism.d.ts +7 -0
  45. package/dist/AaveV3Optimism.js +8 -1
  46. package/dist/AaveV3OptimismGoerli.d.ts +16 -0
  47. package/dist/AaveV3OptimismGoerli.js +19 -0
  48. package/dist/AaveV3Polygon.d.ts +8 -1
  49. package/dist/AaveV3Polygon.js +9 -2
  50. package/lib/forge-std/.github/workflows/tests.yml +27 -0
  51. package/package.json +2 -2
  52. package/src/AaveAddressBook.sol +5 -7
  53. package/src/AaveMisc.sol +86 -0
  54. package/src/AaveV2.sol +15 -0
  55. package/src/AaveV2Avalanche.sol +0 -1
  56. package/src/AaveV2Ethereum.sol +0 -1
  57. package/src/AaveV2EthereumAMM.sol +0 -1
  58. package/src/AaveV2EthereumArc.sol +0 -1
  59. package/src/AaveV2Fuji.sol +0 -1
  60. package/src/AaveV2Goerli.sol +34 -0
  61. package/src/AaveV2Mumbai.sol +0 -1
  62. package/src/AaveV2Polygon.sol +2 -2
  63. package/src/AaveV3.sol +70 -8
  64. package/src/AaveV3Arbitrum.sol +15 -4
  65. package/src/AaveV3ArbitrumGoerli.sol +45 -0
  66. package/src/AaveV3Avalanche.sol +15 -4
  67. package/src/AaveV3Fantom.sol +15 -4
  68. package/src/AaveV3FantomTestnet.sol +15 -4
  69. package/src/AaveV3Fuji.sol +15 -4
  70. package/src/AaveV3Goerli.sol +45 -0
  71. package/src/AaveV3Harmony.sol +15 -4
  72. package/src/AaveV3Mumbai.sol +15 -4
  73. package/src/AaveV3Optimism.sol +15 -4
  74. package/src/AaveV3OptimismGoerli.sol +45 -0
  75. package/src/AaveV3Polygon.sol +15 -4
  76. package/src/test/AaveV2Misfits.t.sol +2 -3
  77. package/src/test/AaveV3Avalanche.t.sol +3 -3
  78. package/src/ts/AaveAddressBook.ts +7 -1
  79. package/src/ts/AaveGovernanceV2.ts +4 -0
  80. package/src/ts/AaveSafetyModule.ts +2 -0
  81. package/src/ts/AaveV2Avalanche.ts +5 -0
  82. package/src/ts/AaveV2Ethereum.ts +5 -0
  83. package/src/ts/AaveV2EthereumAMM.ts +5 -0
  84. package/src/ts/AaveV2Fuji.ts +2 -0
  85. package/src/ts/AaveV2Goerli.ts +14 -0
  86. package/src/ts/AaveV2Mumbai.ts +2 -0
  87. package/src/ts/AaveV2Polygon.ts +7 -1
  88. package/src/ts/AaveV3Arbitrum.ts +13 -0
  89. package/src/ts/AaveV3ArbitrumGoerli.ts +23 -0
  90. package/src/ts/AaveV3Avalanche.ts +13 -0
  91. package/src/ts/AaveV3Fantom.ts +13 -0
  92. package/src/ts/AaveV3FantomTestnet.ts +10 -0
  93. package/src/ts/AaveV3Fuji.ts +10 -0
  94. package/src/ts/AaveV3Goerli.ts +23 -0
  95. package/src/ts/AaveV3Harmony.ts +9 -0
  96. package/src/ts/AaveV3Mumbai.ts +10 -0
  97. package/src/ts/AaveV3Optimism.ts +13 -0
  98. package/src/ts/AaveV3OptimismGoerli.ts +23 -0
  99. package/src/ts/AaveV3Polygon.ts +14 -1
  100. package/src/AaveAddressBookV2.sol +0 -143
  101. package/src/AaveAddressBookV2Testnet.sol +0 -74
  102. package/src/AaveAddressBookV3.sol +0 -166
  103. package/src/AaveAddressBookV3Testnet.sol +0 -120
  104. package/src/AaveV3HarmonyTestnet.sol +0 -34
  105. package/src/AaveV3OptimismKovan.sol +0 -34
  106. package/src/Common.sol +0 -9
  107. package/src/ts/AaveV3OptimismKovan.ts +0 -13
package/src/AaveV3.sol CHANGED
@@ -1919,7 +1919,6 @@ struct TokenData {
1919
1919
 
1920
1920
  // TODO: add better documentation
1921
1921
  interface IAaveProtocolDataProvider {
1922
-
1923
1922
  function getAllReservesTokens() external view returns (TokenData[] memory);
1924
1923
 
1925
1924
  function getAllATokens() external view returns (TokenData[] memory);
@@ -2036,11 +2035,11 @@ interface IAaveProtocolDataProvider {
2036
2035
  address stableDebtTokenAddress,
2037
2036
  address variableDebtTokenAddress
2038
2037
  );
2039
-
2040
- function getInterestRateStrategyAddress(address asset)
2041
- external
2042
- view
2043
- returns (address irStrategyAddress);
2038
+
2039
+ function getInterestRateStrategyAddress(address asset)
2040
+ external
2041
+ view
2042
+ returns (address irStrategyAddress);
2044
2043
  }
2045
2044
 
2046
2045
  /**
@@ -2331,7 +2330,10 @@ interface IInterestRateStrategy {
2331
2330
  * 1-optimal stable to total debt ratio. Added as a constant here for gas optimizations.
2332
2331
  * Expressed in ray
2333
2332
  */
2334
- function MAX_EXCESS_STABLE_TO_TOTAL_DEBT_RATIO() external view returns (uint256);
2333
+ function MAX_EXCESS_STABLE_TO_TOTAL_DEBT_RATIO()
2334
+ external
2335
+ view
2336
+ returns (uint256);
2335
2337
 
2336
2338
  function ADDRESSES_PROVIDER() external view returns (IPoolAddressesProvider);
2337
2339
 
@@ -2395,7 +2397,9 @@ interface IInterestRateStrategy {
2395
2397
  * @return stableBorrowRate The stable borrow rate expressed in rays
2396
2398
  * @return variableBorrowRate The variable borrow rate expressed in rays
2397
2399
  */
2398
- function calculateInterestRates(DataTypes.CalculateInterestRatesParams memory params)
2400
+ function calculateInterestRates(
2401
+ DataTypes.CalculateInterestRatesParams memory params
2402
+ )
2399
2403
  external
2400
2404
  view
2401
2405
  returns (
@@ -2404,3 +2408,61 @@ interface IInterestRateStrategy {
2404
2408
  uint256
2405
2409
  );
2406
2410
  }
2411
+
2412
+ /**
2413
+ * @title ICollector
2414
+ * @notice Defines the interface of the Collector contract
2415
+ * @author Aave
2416
+ **/
2417
+ interface ICollector {
2418
+ /**
2419
+ * @dev Emitted during the transfer of ownership of the funds administrator address
2420
+ * @param fundsAdmin The new funds administrator address
2421
+ **/
2422
+ event NewFundsAdmin(address indexed fundsAdmin);
2423
+
2424
+ /**
2425
+ * @dev Retrieve the current implementation Revision of the proxy
2426
+ * @return The revision version
2427
+ */
2428
+ function REVISION() external view returns (uint256);
2429
+
2430
+ /**
2431
+ * @dev Retrieve the current funds administrator
2432
+ * @return The address of the funds administrator
2433
+ */
2434
+ function getFundsAdmin() external view returns (address);
2435
+
2436
+ /**
2437
+ * @dev Approve an amount of tokens to be pulled by the recipient.
2438
+ * @param token The address of the asset
2439
+ * @param recipient The address of the entity allowed to pull tokens
2440
+ * @param amount The amount allowed to be pulled. If zero it will revoke the approval.
2441
+ */
2442
+ function approve(
2443
+ // IERC20 token,
2444
+ address token,
2445
+ address recipient,
2446
+ uint256 amount
2447
+ ) external;
2448
+
2449
+ /**
2450
+ * @dev Transfer an amount of tokens to the recipient.
2451
+ * @param token The address of the asset
2452
+ * @param recipient The address of the entity to transfer the tokens.
2453
+ * @param amount The amount to be transferred.
2454
+ */
2455
+ function transfer(
2456
+ // IERC20 token,
2457
+ address token,
2458
+ address recipient,
2459
+ uint256 amount
2460
+ ) external;
2461
+
2462
+ /**
2463
+ * @dev Transfer the ownership of the funds administrator role.
2464
+ This function should only be callable by the current funds administrator.
2465
+ * @param admin The address of the new funds administrator
2466
+ */
2467
+ function setFundsAdmin(address admin) external;
2468
+ }
@@ -1,8 +1,7 @@
1
1
  // SPDX-License-Identifier: MIT
2
2
  pragma solidity >=0.6.0;
3
3
 
4
- import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IAaveProtocolDataProvider, IACLManager} from "./AaveV3.sol";
5
- import {Token} from "./Common.sol";
4
+ import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IAaveProtocolDataProvider, IACLManager, ICollector} from "./AaveV3.sol";
6
5
 
7
6
  library AaveV3Arbitrum {
8
7
  IPoolAddressesProvider internal constant POOL_ADDRESSES_PROVIDER =
@@ -29,6 +28,18 @@ library AaveV3Arbitrum {
29
28
  address internal constant COLLECTOR =
30
29
  0x053D55f9B5AF8694c503EB288a1B7E552f590710;
31
30
 
32
- address internal constant COLLECTOR_CONTROLLER =
33
- 0xC3301b30f4EcBfd59dE0d74e89690C1a70C6f21B;
31
+ ICollector internal constant COLLECTOR_CONTROLLER =
32
+ ICollector(0xC3301b30f4EcBfd59dE0d74e89690C1a70C6f21B);
33
+
34
+ address internal constant DEFAULT_INCENTIVES_CONTROLLER =
35
+ 0x929EC64c34a17401F460460D4B9390518E5B473e;
36
+
37
+ address internal constant DEFAULT_A_TOKEN_IMPL_REV_1 =
38
+ 0xa5ba6E5EC19a1Bf23C857991c857dB62b2Aa187B;
39
+
40
+ address internal constant DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_1 =
41
+ 0x81387c40EB75acB02757C1Ae55D5936E78c9dEd3;
42
+
43
+ address internal constant DEFAULT_STABLE_DEBT_TOKEN_IMPL_REV_1 =
44
+ 0x52A1CeB68Ee6b7B5D13E0376A1E0E4423A8cE26e;
34
45
  }
@@ -0,0 +1,45 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity >=0.6.0;
3
+
4
+ import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IAaveProtocolDataProvider, IACLManager, ICollector} from "./AaveV3.sol";
5
+
6
+ library AaveV3ArbitrumGoerli {
7
+ IPoolAddressesProvider internal constant POOL_ADDRESSES_PROVIDER =
8
+ IPoolAddressesProvider(0xF8aa90E66B8BAe13f2e4aDe6104abAb8eeDaBfdc);
9
+
10
+ IPool internal constant POOL =
11
+ IPool(0x6Cbb4E8eC402E07fDF96DbbC6c752aCfB0eB6075);
12
+
13
+ IPoolConfigurator internal constant POOL_CONFIGURATOR =
14
+ IPoolConfigurator(0x279Dd50e124D45bDeDCF408849937A4985e56dD2);
15
+
16
+ IAaveOracle internal constant ORACLE =
17
+ IAaveOracle(0x86b4D2636EC473AC4A5dD83Fc2BEDa98845249A7);
18
+
19
+ IAaveProtocolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER =
20
+ IAaveProtocolDataProvider(0xce3Aa85237C075d2102b7B35079d305307D745C8);
21
+
22
+ IACLManager internal constant ACL_MANAGER =
23
+ IACLManager(0xe8599F3cc5D38a9aD6F3684cd5CEa72f10Dbc383);
24
+
25
+ address internal constant ACL_ADMIN =
26
+ 0x4365F8e70CF38C6cA67DE41448508F2da8825500;
27
+
28
+ address internal constant COLLECTOR =
29
+ 0xad848879F9Ac276BdB7D38123F381C692FD6D6dE;
30
+
31
+ ICollector internal constant COLLECTOR_CONTROLLER =
32
+ ICollector(0xff01517f8811E532900a46e6AdB4484BDB3f2B8a);
33
+
34
+ address internal constant DEFAULT_INCENTIVES_CONTROLLER =
35
+ 0xCf9C57744E10495490cB873612Db709417cFe4f4;
36
+
37
+ address internal constant DEFAULT_A_TOKEN_IMPL_REV_1 =
38
+ 0x60bD8be38855AAd1459E958dC921ed5bbb5E3292;
39
+
40
+ address internal constant DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_1 =
41
+ 0x0aadeE9418641b5749e872eDEF9844200143865D;
42
+
43
+ address internal constant DEFAULT_STABLE_DEBT_TOKEN_IMPL_REV_1 =
44
+ 0x6A83d738fCBaB0c3973234AC7b7b4f7DDa2aD248;
45
+ }
@@ -1,8 +1,7 @@
1
1
  // SPDX-License-Identifier: MIT
2
2
  pragma solidity >=0.6.0;
3
3
 
4
- import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IAaveProtocolDataProvider, IACLManager} from "./AaveV3.sol";
5
- import {Token} from "./Common.sol";
4
+ import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IAaveProtocolDataProvider, IACLManager, ICollector} from "./AaveV3.sol";
6
5
 
7
6
  library AaveV3Avalanche {
8
7
  IPoolAddressesProvider internal constant POOL_ADDRESSES_PROVIDER =
@@ -29,6 +28,18 @@ library AaveV3Avalanche {
29
28
  address internal constant COLLECTOR =
30
29
  0x5ba7fd868c40c16f7aDfAe6CF87121E13FC2F7a0;
31
30
 
32
- address internal constant COLLECTOR_CONTROLLER =
33
- 0xaCbE7d574EF8dC39435577eb638167Aca74F79f0;
31
+ ICollector internal constant COLLECTOR_CONTROLLER =
32
+ ICollector(0xaCbE7d574EF8dC39435577eb638167Aca74F79f0);
33
+
34
+ address internal constant DEFAULT_INCENTIVES_CONTROLLER =
35
+ 0x929EC64c34a17401F460460D4B9390518E5B473e;
36
+
37
+ address internal constant DEFAULT_A_TOKEN_IMPL_REV_1 =
38
+ 0xa5ba6E5EC19a1Bf23C857991c857dB62b2Aa187B;
39
+
40
+ address internal constant DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_1 =
41
+ 0x81387c40EB75acB02757C1Ae55D5936E78c9dEd3;
42
+
43
+ address internal constant DEFAULT_STABLE_DEBT_TOKEN_IMPL_REV_1 =
44
+ 0x52A1CeB68Ee6b7B5D13E0376A1E0E4423A8cE26e;
34
45
  }
@@ -1,8 +1,7 @@
1
1
  // SPDX-License-Identifier: MIT
2
2
  pragma solidity >=0.6.0;
3
3
 
4
- import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IAaveProtocolDataProvider, IACLManager} from "./AaveV3.sol";
5
- import {Token} from "./Common.sol";
4
+ import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IAaveProtocolDataProvider, IACLManager, ICollector} from "./AaveV3.sol";
6
5
 
7
6
  library AaveV3Fantom {
8
7
  IPoolAddressesProvider internal constant POOL_ADDRESSES_PROVIDER =
@@ -29,6 +28,18 @@ library AaveV3Fantom {
29
28
  address internal constant COLLECTOR =
30
29
  0xBe85413851D195fC6341619cD68BfDc26a25b928;
31
30
 
32
- address internal constant COLLECTOR_CONTROLLER =
33
- 0xc0F0cFBbd0382BcE3B93234E4BFb31b2aaBE36aD;
31
+ ICollector internal constant COLLECTOR_CONTROLLER =
32
+ ICollector(0xc0F0cFBbd0382BcE3B93234E4BFb31b2aaBE36aD);
33
+
34
+ address internal constant DEFAULT_INCENTIVES_CONTROLLER =
35
+ 0x929EC64c34a17401F460460D4B9390518E5B473e;
36
+
37
+ address internal constant DEFAULT_A_TOKEN_IMPL_REV_1 =
38
+ 0xa5ba6E5EC19a1Bf23C857991c857dB62b2Aa187B;
39
+
40
+ address internal constant DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_1 =
41
+ 0x81387c40EB75acB02757C1Ae55D5936E78c9dEd3;
42
+
43
+ address internal constant DEFAULT_STABLE_DEBT_TOKEN_IMPL_REV_1 =
44
+ 0x52A1CeB68Ee6b7B5D13E0376A1E0E4423A8cE26e;
34
45
  }
@@ -1,8 +1,7 @@
1
1
  // SPDX-License-Identifier: MIT
2
2
  pragma solidity >=0.6.0;
3
3
 
4
- import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IAaveProtocolDataProvider, IACLManager} from "./AaveV3.sol";
5
- import {Token} from "./Common.sol";
4
+ import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IAaveProtocolDataProvider, IACLManager, ICollector} from "./AaveV3.sol";
6
5
 
7
6
  library AaveV3FantomTestnet {
8
7
  IPoolAddressesProvider internal constant POOL_ADDRESSES_PROVIDER =
@@ -29,6 +28,18 @@ library AaveV3FantomTestnet {
29
28
  address internal constant COLLECTOR =
30
29
  0xF49dA7a22463D140f9f8dc7C91468C8721215496;
31
30
 
32
- address internal constant COLLECTOR_CONTROLLER =
33
- 0x7aaB2c2CC186131851d6B1876D16eDc849846042;
31
+ ICollector internal constant COLLECTOR_CONTROLLER =
32
+ ICollector(0x7aaB2c2CC186131851d6B1876D16eDc849846042);
33
+
34
+ address internal constant DEFAULT_INCENTIVES_CONTROLLER =
35
+ 0x54Bc1D59873A5ABde98cf76B6EcF4075ff65d685;
36
+
37
+ address internal constant DEFAULT_A_TOKEN_IMPL_REV_1 =
38
+ 0xFc1Ab0379db4B6ad8Bf5Bc1382e108a341E2EaBb;
39
+
40
+ address internal constant DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_1 =
41
+ 0x981D8AcaF6af3a46785e7741d22fBE81B25Ebf1e;
42
+
43
+ address internal constant DEFAULT_STABLE_DEBT_TOKEN_IMPL_REV_1 =
44
+ 0xc048C1b6ac47393F073dA2b3d5D1cc43b94891Fd;
34
45
  }
@@ -1,8 +1,7 @@
1
1
  // SPDX-License-Identifier: MIT
2
2
  pragma solidity >=0.6.0;
3
3
 
4
- import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IAaveProtocolDataProvider, IACLManager} from "./AaveV3.sol";
5
- import {Token} from "./Common.sol";
4
+ import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IAaveProtocolDataProvider, IACLManager, ICollector} from "./AaveV3.sol";
6
5
 
7
6
  library AaveV3Fuji {
8
7
  IPoolAddressesProvider internal constant POOL_ADDRESSES_PROVIDER =
@@ -29,6 +28,18 @@ library AaveV3Fuji {
29
28
  address internal constant COLLECTOR =
30
29
  0xBaaCc99123133851Ba2D6d34952aa08CBDf5A4E4;
31
30
 
32
- address internal constant COLLECTOR_CONTROLLER =
33
- 0xFCadBDefd30E11258559Ba239C8a5A8A8D28CB00;
31
+ ICollector internal constant COLLECTOR_CONTROLLER =
32
+ ICollector(0xFCadBDefd30E11258559Ba239C8a5A8A8D28CB00);
33
+
34
+ address internal constant DEFAULT_INCENTIVES_CONTROLLER =
35
+ 0x58Cd851c28dF05Edc7F018B533C0257DE57673f7;
36
+
37
+ address internal constant DEFAULT_A_TOKEN_IMPL_REV_1 =
38
+ 0xA3a8697C4C6A7D9ccF9238cb567b122d53012ac9;
39
+
40
+ address internal constant DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_1 =
41
+ 0x651b8A8cA545b251a8f49B57D5838Da0a8DFbEF9;
42
+
43
+ address internal constant DEFAULT_STABLE_DEBT_TOKEN_IMPL_REV_1 =
44
+ 0x06Db7973d6D724Eb15404a0d178624f6e07834F9;
34
45
  }
@@ -0,0 +1,45 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity >=0.6.0;
3
+
4
+ import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IAaveProtocolDataProvider, IACLManager, ICollector} from "./AaveV3.sol";
5
+
6
+ library AaveV3Goerli {
7
+ IPoolAddressesProvider internal constant POOL_ADDRESSES_PROVIDER =
8
+ IPoolAddressesProvider(0xc4dCB5126a3AfEd129BC3668Ea19285A9f56D15D);
9
+
10
+ IPool internal constant POOL =
11
+ IPool(0x368EedF3f56ad10b9bC57eed4Dac65B26Bb667f6);
12
+
13
+ IPoolConfigurator internal constant POOL_CONFIGURATOR =
14
+ IPoolConfigurator(0x723d17Ee6a668C011F01553D19B850E425075665);
15
+
16
+ IAaveOracle internal constant ORACLE =
17
+ IAaveOracle(0x5bed0810073cc9f0DacF73C648202249E87eF6cB);
18
+
19
+ IAaveProtocolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER =
20
+ IAaveProtocolDataProvider(0x9BE876c6DC42215B00d7efe892E2691C3bc35d10);
21
+
22
+ IACLManager internal constant ACL_MANAGER =
23
+ IACLManager(0x4c952A81A72A6BA2919a658feff1e7F023e4aadc);
24
+
25
+ address internal constant ACL_ADMIN =
26
+ 0x77c45699A715A64A7a7796d5CEe884cf617D5254;
27
+
28
+ address internal constant COLLECTOR =
29
+ 0xFbAF383eB6c757faCb8cb19B68d5131aEbc5c11e;
30
+
31
+ ICollector internal constant COLLECTOR_CONTROLLER =
32
+ ICollector(0x5665007321915c8f0E72d041315bA1AD15065337);
33
+
34
+ address internal constant DEFAULT_INCENTIVES_CONTROLLER =
35
+ 0x0C501fB73808e1BD73cBDdd0c99237bbc481Bb58;
36
+
37
+ address internal constant DEFAULT_A_TOKEN_IMPL_REV_1 =
38
+ 0xF2EBFA003f04f38Fc606a37ab8D1c015c015725c;
39
+
40
+ address internal constant DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_1 =
41
+ 0x1342dd8Ff58aee340e3C25268A4d08168cC5d990;
42
+
43
+ address internal constant DEFAULT_STABLE_DEBT_TOKEN_IMPL_REV_1 =
44
+ 0x7D17eCD9fc4F64F180227216befb9d8E2c723135;
45
+ }
@@ -1,8 +1,7 @@
1
1
  // SPDX-License-Identifier: MIT
2
2
  pragma solidity >=0.6.0;
3
3
 
4
- import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IAaveProtocolDataProvider, IACLManager} from "./AaveV3.sol";
5
- import {Token} from "./Common.sol";
4
+ import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IAaveProtocolDataProvider, IACLManager, ICollector} from "./AaveV3.sol";
6
5
 
7
6
  library AaveV3Harmony {
8
7
  IPoolAddressesProvider internal constant POOL_ADDRESSES_PROVIDER =
@@ -29,6 +28,18 @@ library AaveV3Harmony {
29
28
  address internal constant COLLECTOR =
30
29
  0x8A020d92D6B119978582BE4d3EdFdC9F7b28BF31;
31
30
 
32
- address internal constant COLLECTOR_CONTROLLER =
33
- 0xeaC16519923774Fd7723d3D5E442a1e2E46BA962;
31
+ ICollector internal constant COLLECTOR_CONTROLLER =
32
+ ICollector(0xeaC16519923774Fd7723d3D5E442a1e2E46BA962);
33
+
34
+ address internal constant DEFAULT_INCENTIVES_CONTROLLER =
35
+ 0x929EC64c34a17401F460460D4B9390518E5B473e;
36
+
37
+ address internal constant DEFAULT_A_TOKEN_IMPL_REV_1 =
38
+ 0xa5ba6E5EC19a1Bf23C857991c857dB62b2Aa187B;
39
+
40
+ address internal constant DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_1 =
41
+ 0x81387c40EB75acB02757C1Ae55D5936E78c9dEd3;
42
+
43
+ address internal constant DEFAULT_STABLE_DEBT_TOKEN_IMPL_REV_1 =
44
+ 0x52A1CeB68Ee6b7B5D13E0376A1E0E4423A8cE26e;
34
45
  }
@@ -1,8 +1,7 @@
1
1
  // SPDX-License-Identifier: MIT
2
2
  pragma solidity >=0.6.0;
3
3
 
4
- import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IAaveProtocolDataProvider, IACLManager} from "./AaveV3.sol";
5
- import {Token} from "./Common.sol";
4
+ import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IAaveProtocolDataProvider, IACLManager, ICollector} from "./AaveV3.sol";
6
5
 
7
6
  library AaveV3Mumbai {
8
7
  IPoolAddressesProvider internal constant POOL_ADDRESSES_PROVIDER =
@@ -29,6 +28,18 @@ library AaveV3Mumbai {
29
28
  address internal constant COLLECTOR =
30
29
  0x3B6E7a4750e478D7f7d6A5d464099A02ef164bCC;
31
30
 
32
- address internal constant COLLECTOR_CONTROLLER =
33
- 0x810d913542D399F3680F0E806DEDf6EACf0e3383;
31
+ ICollector internal constant COLLECTOR_CONTROLLER =
32
+ ICollector(0x810d913542D399F3680F0E806DEDf6EACf0e3383);
33
+
34
+ address internal constant DEFAULT_INCENTIVES_CONTROLLER =
35
+ 0xFfaDa869df79320120dfFd6eeE8cF664Dba43146;
36
+
37
+ address internal constant DEFAULT_A_TOKEN_IMPL_REV_1 =
38
+ 0x8017B7FC5473d05e67E617072fB237D24Add550b;
39
+
40
+ address internal constant DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_1 =
41
+ 0x08a917bbd0E22D496Ca9364B5D21311fe1D31637;
42
+
43
+ address internal constant DEFAULT_STABLE_DEBT_TOKEN_IMPL_REV_1 =
44
+ 0x651b8A8cA545b251a8f49B57D5838Da0a8DFbEF9;
34
45
  }
@@ -1,8 +1,7 @@
1
1
  // SPDX-License-Identifier: MIT
2
2
  pragma solidity >=0.6.0;
3
3
 
4
- import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IAaveProtocolDataProvider, IACLManager} from "./AaveV3.sol";
5
- import {Token} from "./Common.sol";
4
+ import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IAaveProtocolDataProvider, IACLManager, ICollector} from "./AaveV3.sol";
6
5
 
7
6
  library AaveV3Optimism {
8
7
  IPoolAddressesProvider internal constant POOL_ADDRESSES_PROVIDER =
@@ -29,6 +28,18 @@ library AaveV3Optimism {
29
28
  address internal constant COLLECTOR =
30
29
  0xB2289E329D2F85F1eD31Adbb30eA345278F21bcf;
31
30
 
32
- address internal constant COLLECTOR_CONTROLLER =
33
- 0xA77E4A084d7d4f064E326C0F6c0aCefd47A5Cb21;
31
+ ICollector internal constant COLLECTOR_CONTROLLER =
32
+ ICollector(0xA77E4A084d7d4f064E326C0F6c0aCefd47A5Cb21);
33
+
34
+ address internal constant DEFAULT_INCENTIVES_CONTROLLER =
35
+ 0x929EC64c34a17401F460460D4B9390518E5B473e;
36
+
37
+ address internal constant DEFAULT_A_TOKEN_IMPL_REV_1 =
38
+ 0xa5ba6E5EC19a1Bf23C857991c857dB62b2Aa187B;
39
+
40
+ address internal constant DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_1 =
41
+ 0x81387c40EB75acB02757C1Ae55D5936E78c9dEd3;
42
+
43
+ address internal constant DEFAULT_STABLE_DEBT_TOKEN_IMPL_REV_1 =
44
+ 0x52A1CeB68Ee6b7B5D13E0376A1E0E4423A8cE26e;
34
45
  }
@@ -0,0 +1,45 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity >=0.6.0;
3
+
4
+ import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IAaveProtocolDataProvider, IACLManager, ICollector} from "./AaveV3.sol";
5
+
6
+ library AaveV3OptimismGoerli {
7
+ IPoolAddressesProvider internal constant POOL_ADDRESSES_PROVIDER =
8
+ IPoolAddressesProvider(0x74a328ED938160D702378Daeb7aB2504714B4E4b);
9
+
10
+ IPool internal constant POOL =
11
+ IPool(0x4b529A5d8268d74B687aC3dbb00e1b85bF4BF0d4);
12
+
13
+ IPoolConfigurator internal constant POOL_CONFIGURATOR =
14
+ IPoolConfigurator(0x598fCb66f358d0C1396972a1BC30DeC2daB87E46);
15
+
16
+ IAaveOracle internal constant ORACLE =
17
+ IAaveOracle(0x171Af9229972716f28DBB04DBFC712F05B45B021);
18
+
19
+ IAaveProtocolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER =
20
+ IAaveProtocolDataProvider(0x42BdE9c98B80e83F1B051B4bb11812aDa314213a);
21
+
22
+ IACLManager internal constant ACL_MANAGER =
23
+ IACLManager(0x9B14C2DEe92CE731da32bf861Ca4Fb2202662248);
24
+
25
+ address internal constant ACL_ADMIN =
26
+ 0x4365F8e70CF38C6cA67DE41448508F2da8825500;
27
+
28
+ address internal constant COLLECTOR =
29
+ 0x8Ee63E24D91317f9DabFf3c5361d747244c0f16c;
30
+
31
+ ICollector internal constant COLLECTOR_CONTROLLER =
32
+ ICollector(0xADDcE1e19761577d7FBB278B1b3158891679a066);
33
+
34
+ address internal constant DEFAULT_INCENTIVES_CONTROLLER =
35
+ 0x0C501fB73808e1BD73cBDdd0c99237bbc481Bb58;
36
+
37
+ address internal constant DEFAULT_A_TOKEN_IMPL_REV_1 =
38
+ 0x08483a8d324C94942D9B9071e5e4aB6F28da0DF1;
39
+
40
+ address internal constant DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_1 =
41
+ 0xC642A760bE9F04b453b899f7F454b2AFe21C1C61;
42
+
43
+ address internal constant DEFAULT_STABLE_DEBT_TOKEN_IMPL_REV_1 =
44
+ 0xff01517f8811E532900a46e6AdB4484BDB3f2B8a;
45
+ }
@@ -1,8 +1,7 @@
1
1
  // SPDX-License-Identifier: MIT
2
2
  pragma solidity >=0.6.0;
3
3
 
4
- import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IAaveProtocolDataProvider, IACLManager} from "./AaveV3.sol";
5
- import {Token} from "./Common.sol";
4
+ import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IAaveProtocolDataProvider, IACLManager, ICollector} from "./AaveV3.sol";
6
5
 
7
6
  library AaveV3Polygon {
8
7
  IPoolAddressesProvider internal constant POOL_ADDRESSES_PROVIDER =
@@ -29,6 +28,18 @@ library AaveV3Polygon {
29
28
  address internal constant COLLECTOR =
30
29
  0xe8599F3cc5D38a9aD6F3684cd5CEa72f10Dbc383;
31
30
 
32
- address internal constant COLLECTOR_CONTROLLER =
33
- 0x73D435AFc15e35A9aC63B2a81B5AA54f974eadFe;
31
+ ICollector internal constant COLLECTOR_CONTROLLER =
32
+ ICollector(0xDB89487A449274478e984665b8692AfC67459deF);
33
+
34
+ address internal constant DEFAULT_INCENTIVES_CONTROLLER =
35
+ 0x929EC64c34a17401F460460D4B9390518E5B473e;
36
+
37
+ address internal constant DEFAULT_A_TOKEN_IMPL_REV_1 =
38
+ 0xa5ba6E5EC19a1Bf23C857991c857dB62b2Aa187B;
39
+
40
+ address internal constant DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_1 =
41
+ 0x81387c40EB75acB02757C1Ae55D5936E78c9dEd3;
42
+
43
+ address internal constant DEFAULT_STABLE_DEBT_TOKEN_IMPL_REV_1 =
44
+ 0x52A1CeB68Ee6b7B5D13E0376A1E0E4423A8cE26e;
34
45
  }
@@ -1,8 +1,8 @@
1
1
  // SPDX-License-Identifier: MIT
2
2
  pragma solidity >=0.6.0;
3
3
 
4
- import "forge-std/Test.sol";
5
- import { AaveV2Avalanche, AaveV2Polygon, AaveV2EthereumArc } from "../AaveAddressBook.sol";
4
+ import 'forge-std/Test.sol';
5
+ import {AaveV2Avalanche, AaveV2Polygon, AaveV2EthereumArc} from '../AaveAddressBook.sol';
6
6
 
7
7
  /**
8
8
  * @dev This test contains regression tests for markets that are slightly different then the default.
@@ -16,7 +16,6 @@ contract AaveAddressMisfitsTest is Test {
16
16
  */
17
17
  function testCollectorControllerIs0Address() public {
18
18
  assertEq(address(AaveV2Avalanche.COLLECTOR_CONTROLLER), address(0));
19
- assertEq(address(AaveV2Polygon.COLLECTOR_CONTROLLER), address(0));
20
19
  }
21
20
 
22
21
  /**
@@ -1,8 +1,8 @@
1
1
  // SPDX-License-Identifier: MIT
2
2
  pragma solidity >=0.6.0;
3
3
 
4
- import "forge-std/Test.sol";
5
- import { AaveV3Avalanche } from "../AaveAddressBook.sol";
4
+ import 'forge-std/Test.sol';
5
+ import {AaveV3Avalanche} from '../AaveAddressBook.sol';
6
6
 
7
7
  contract AaveAddressBookTest is Test {
8
8
  function setUp() public {}
@@ -58,7 +58,7 @@ contract AaveAddressBookTest is Test {
58
58
 
59
59
  function testCollectorControllerIsCorrect() public {
60
60
  assertEq(
61
- AaveV3Avalanche.COLLECTOR_CONTROLLER,
61
+ address(AaveV3Avalanche.COLLECTOR_CONTROLLER),
62
62
  address(0xaCbE7d574EF8dC39435577eb638167Aca74F79f0)
63
63
  );
64
64
  }
@@ -1,6 +1,11 @@
1
+ export * as AaveGovernanceV2 from "./AaveGovernanceV2";
2
+ export * as AaveSafetyModule from "./AaveSafetyModule";
3
+ // autogenerated entrypoints
1
4
  export * as AaveV2Ethereum from "./AaveV2Ethereum";
2
5
  export * as AaveV2EthereumAMM from "./AaveV2EthereumAMM";
3
6
  export * as AaveV2EthereumArc from "./AaveV2EthereumArc";
7
+ export * as AaveV2Goerli from "./AaveV2Goerli";
8
+ export * as AaveV3Goerli from "./AaveV3Goerli";
4
9
  export * as AaveV2Mumbai from "./AaveV2Mumbai";
5
10
  export * as AaveV3Mumbai from "./AaveV3Mumbai";
6
11
  export * as AaveV2Polygon from "./AaveV2Polygon";
@@ -10,8 +15,9 @@ export * as AaveV3Fuji from "./AaveV3Fuji";
10
15
  export * as AaveV2Avalanche from "./AaveV2Avalanche";
11
16
  export * as AaveV3Avalanche from "./AaveV3Avalanche";
12
17
  export * as AaveV3Arbitrum from "./AaveV3Arbitrum";
18
+ export * as AaveV3ArbitrumGoerli from "./AaveV3ArbitrumGoerli";
13
19
  export * as AaveV3FantomTestnet from "./AaveV3FantomTestnet";
14
20
  export * as AaveV3Fantom from "./AaveV3Fantom";
15
21
  export * as AaveV3Harmony from "./AaveV3Harmony";
16
- export * as AaveV3OptimismKovan from "./AaveV3OptimismKovan";
17
22
  export * as AaveV3Optimism from "./AaveV3Optimism";
23
+ export * as AaveV3OptimismGoerli from "./AaveV3OptimismGoerli";
@@ -0,0 +1,4 @@
1
+ export const GOV = "0xEC568fffba86c094cf06b22134B23074DFE2252c";
2
+ export const SHORT_EXECUTOR = "0xEE56e2B3D491590B5b31738cC34d5232F378a8D5";
3
+ export const LONG_EXECUTOR = "0x61910EcD7e8e942136CE7Fe7943f956cea1CC2f7";
4
+ export const ARC_TIMELOCK = "0xAce1d11d836cb3F51Ef658FD4D353fFb3c301218";
@@ -0,0 +1,2 @@
1
+ export const STK_AAVE = "0x4da27a545c0c5B758a6BA100e3a049001de870f5";
2
+ export const STK_ABPT = "0xa1116930326D21fB917d5A27F1E9943A9595fb47";
@@ -10,3 +10,8 @@ export const EMERGENCY_ADMIN = "0x01244E7842254e3FD229CD263472076B1439D1Cd";
10
10
  export const COLLECTOR = "0x467b92aF281d14cB6809913AD016a607b5ba8A36";
11
11
  export const COLLECTOR_CONTROLLER = "address(0)";
12
12
  export const CHAIN_ID = 43114;
13
+ export const WETH_GATEWAY = "0xC27d4dBefc2C0CE57916a699971b58a3BD9C7d5b";
14
+ export const SWAP_COLLATERAL_ADAPTER =
15
+ "0x2EcF2a2e74B19Aab2a62312167aFF4B78E93B6C5";
16
+ export const REPAY_WITH_COLLATERAL_ADAPTER =
17
+ "0x935b362EE3E1f342cc48118C528AAbee5118F6e6";
@@ -11,3 +11,8 @@ export const COLLECTOR = "0x464C71f6c2F760DdA6093dCB91C24c39e5d6e18c";
11
11
  export const COLLECTOR_CONTROLLER =
12
12
  "0x3d569673dAa0575c936c7c67c4E6AedA69CC630C";
13
13
  export const CHAIN_ID = 1;
14
+ export const WETH_GATEWAY = "0xEFFC18fC3b7eb8E676dac549E0c693ad50D1Ce31";
15
+ export const REPAY_WITH_COLLATERAL_ADAPTER =
16
+ "0x80Aca0C645fEdABaa20fd2Bf0Daf57885A309FE6";
17
+ export const SWAP_COLLATERAL_ADAPTER =
18
+ "0x135896DE8421be2ec868E0b811006171D9df802A";
@@ -11,3 +11,8 @@ export const COLLECTOR = "0x464C71f6c2F760DdA6093dCB91C24c39e5d6e18c";
11
11
  export const COLLECTOR_CONTROLLER =
12
12
  "0x3d569673dAa0575c936c7c67c4E6AedA69CC630C";
13
13
  export const CHAIN_ID = 1;
14
+ export const WETH_GATEWAY = "0x1C4a4e31231F71Fc34867D034a9E68f6fC798249";
15
+ export const WALLET_BALANCE_PROVIDER =
16
+ "0x8E8dAd5409E0263a51C0aB5055dA66Be28cFF922";
17
+ export const UI_POOL_DATA_PROVIDER =
18
+ "0x30375522F67a6308630d49A694ca1491fA2D3BC6";
@@ -10,3 +10,5 @@ export const EMERGENCY_ADMIN = "0x1128d177BdaA74Ae68EB06e693f4CbA6BF427a5e";
10
10
  export const COLLECTOR = "0xB45F5C501A22288dfdb897e5f73E189597e09288";
11
11
  export const COLLECTOR_CONTROLLER = "address(0)";
12
12
  export const CHAIN_ID = 43113;
13
+ export const WETH_GATEWAY = "0x1648C14DbB6ccdd5846969cE23DeEC4C66a03335";
14
+ export const FAUCET = "0x90E5BAc5A98fff59617080848959f44eACB4Cd7B";
@@ -0,0 +1,14 @@
1
+ export const POOL_ADDRESSES_PROVIDER =
2
+ "0x5E52dEc931FFb32f609681B8438A51c675cc232d";
3
+ export const POOL = "0x4bd5643ac6f66a5237E18bfA7d47cF22f1c9F210";
4
+ export const POOL_CONFIGURATOR = "0x88B1D3d97656De3Ec44FEDDfa109AF7fb8C2837D";
5
+ export const ORACLE = "0x2cb0d5755436ED904D7D0fbBACc6176286c55667";
6
+ export const AAVE_PROTOCOL_DATA_PROVIDER =
7
+ "0x0000000000000000000000000000000000000000";
8
+ export const POOL_ADMIN = "0x77c45699A715A64A7a7796d5CEe884cf617D5254";
9
+ export const EMERGENCY_ADMIN = "0x77c45699A715A64A7a7796d5CEe884cf617D5254";
10
+ export const COLLECTOR = "0x464C71f6c2F760DdA6093dCB91C24c39e5d6e18c";
11
+ export const COLLECTOR_CONTROLLER = "address(0)";
12
+ export const CHAIN_ID = 5;
13
+ export const WETH_GATEWAY = "0x3bd3a20Ac9Ff1dda1D99C0dFCE6D65C4960B3627";
14
+ export const FAUCET = "0x681860075529352da2C94082Eb66c59dF958e89C";
@@ -10,3 +10,5 @@ export const EMERGENCY_ADMIN = "0x943E44157dC0302a5CEb172374d1749018a00994";
10
10
  export const COLLECTOR = "0x943E44157dC0302a5CEb172374d1749018a00994";
11
11
  export const COLLECTOR_CONTROLLER = "address(0)";
12
12
  export const CHAIN_ID = 80001;
13
+ export const WETH_GATEWAY = "0xee9eE614Ad26963bEc1Bec0D2c92879ae1F209fA";
14
+ export const FAUCET = "0x0b3C23243106A69449e79C14c58BB49E358f9B10";