// AUTOGENERATED - MANUALLY CHANGES WILL BE REVERTED BY THE GENERATOR
// SPDX-License-Identifier: MIT
pragma solidity >=0.6.0;

import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IPoolDataProvider, IACLManager} from './AaveV3.sol';
import {ICollector} from './common/ICollector.sol';

library AaveV3PolygonZkEvm {
  // https://zkevm.polygonscan.com/address/0x36616cf17557639614c1cdDb356b1B83fc0B2132
  IPoolAddressesProvider internal constant POOL_ADDRESSES_PROVIDER =
    IPoolAddressesProvider(0x36616cf17557639614c1cdDb356b1B83fc0B2132);

  // https://zkevm.polygonscan.com/address/0xb50201558B00496A145fE76f7424749556E326D8
  IPool internal constant POOL = IPool(0xb50201558B00496A145fE76f7424749556E326D8);

  // https://zkevm.polygonscan.com/address/0x7304979ec9E4EaA0273b6A037a31c4e9e5A75D16
  IPoolConfigurator internal constant POOL_CONFIGURATOR =
    IPoolConfigurator(0x7304979ec9E4EaA0273b6A037a31c4e9e5A75D16);

  // https://zkevm.polygonscan.com/address/0x3e652E97ff339B73421f824F5b03d75b62F1Fb51
  IAaveOracle internal constant ORACLE = IAaveOracle(0x3e652E97ff339B73421f824F5b03d75b62F1Fb51);

  // https://zkevm.polygonscan.com/address/0xe59470B3BE3293534603487E00A44C72f2CD466d
  address internal constant ACL_ADMIN = 0xe59470B3BE3293534603487E00A44C72f2CD466d;

  // https://zkevm.polygonscan.com/address/0x41585C50524fb8c3899B43D7D797d9486AAc94DB
  IACLManager internal constant ACL_MANAGER =
    IACLManager(0x41585C50524fb8c3899B43D7D797d9486AAc94DB);

  // https://zkevm.polygonscan.com/address/0x501B4c19dd9C2e06E94dA7b6D5Ed4ddA013EC741
  IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER =
    IPoolDataProvider(0x501B4c19dd9C2e06E94dA7b6D5Ed4ddA013EC741);

  // https://zkevm.polygonscan.com/address/0xB1532b76D054c9F9E61b25c4d91f69B4133E4671
  address internal constant POOL_IMPL = 0xB1532b76D054c9F9E61b25c4d91f69B4133E4671;

  // https://zkevm.polygonscan.com/address/0x25Ec457d1778b0E5316e7f38f3c22baF413F1A8C
  address internal constant POOL_CONFIGURATOR_IMPL = 0x25Ec457d1778b0E5316e7f38f3c22baF413F1A8C;

  // https://zkevm.polygonscan.com/address/0xaD4F91D26254B6B0C6346b390dDA2991FDE2F20d
  address internal constant DEFAULT_INCENTIVES_CONTROLLER =
    0xaD4F91D26254B6B0C6346b390dDA2991FDE2F20d;

  // https://zkevm.polygonscan.com/address/0xeb0a051be10228213BAEb449db63719d6742F7c4
  address internal constant EMISSION_MANAGER = 0xeb0a051be10228213BAEb449db63719d6742F7c4;

  // https://zkevm.polygonscan.com/address/0x777fBA024bA1228fDa76149A4ff8B23475ed057D
  address internal constant L2_ENCODER = 0x777fBA024bA1228fDa76149A4ff8B23475ed057D;

  // https://zkevm.polygonscan.com/address/0xAe13e4DA0952f0B8fE04E21df53716fCF799a923
  address internal constant CAPS_PLUS_RISK_STEWARD = 0xAe13e4DA0952f0B8fE04E21df53716fCF799a923;

  // https://zkevm.polygonscan.com/address/0x33AE1f41546a2e05368Bf789b3d868813c0Ae658
  address internal constant FREEZING_STEWARD = 0x33AE1f41546a2e05368Bf789b3d868813c0Ae658;

  // https://zkevm.polygonscan.com/address/0xb9Ef6e27ef85fE393B9F8B8C23e794ff4596C7dF
  address internal constant DEBT_SWAP_ADAPTER = 0xb9Ef6e27ef85fE393B9F8B8C23e794ff4596C7dF;

  // https://zkevm.polygonscan.com/address/0x1D0f881Ce1a646E2f27Dec3c57Fa056cB838BCC2
  address internal constant CONFIG_ENGINE = 0x1D0f881Ce1a646E2f27Dec3c57Fa056cB838BCC2;

  // https://zkevm.polygonscan.com/address/0x1236010CECea55998384e795B59815D871f5f94d
  address internal constant POOL_ADDRESSES_PROVIDER_REGISTRY =
    0x1236010CECea55998384e795B59815D871f5f94d;

  // https://zkevm.polygonscan.com/address/0x78946C514C385248b13AAf3056529a99E7E26BFC
  address internal constant RATES_FACTORY = 0x78946C514C385248b13AAf3056529a99E7E26BFC;

  // https://zkevm.polygonscan.com/address/0xBeC519531F0E78BcDdB295242fA4EC5251B38574
  address internal constant REPAY_WITH_COLLATERAL_ADAPTER =
    0xBeC519531F0E78BcDdB295242fA4EC5251B38574;

  // https://zkevm.polygonscan.com/address/0x589750BA8aF186cE5B55391B0b7148cAD43a1619
  address internal constant SWAP_COLLATERAL_ADAPTER = 0x589750BA8aF186cE5B55391B0b7148cAD43a1619;

  // https://zkevm.polygonscan.com/address/0xCFDAdA7DCd2e785cF706BaDBC2B8Af5084d595e9
  address internal constant UI_INCENTIVE_DATA_PROVIDER = 0xCFDAdA7DCd2e785cF706BaDBC2B8Af5084d595e9;

  // https://zkevm.polygonscan.com/address/0x86E2938daE289763D4e09a7e42c5cCcA62Cf9809
  address internal constant UI_POOL_DATA_PROVIDER = 0x86E2938daE289763D4e09a7e42c5cCcA62Cf9809;

  // https://zkevm.polygonscan.com/address/0x4172E6aAEC070ACB31aaCE343A58c93E4C70f44D
  address internal constant WALLET_BALANCE_PROVIDER = 0x4172E6aAEC070ACB31aaCE343A58c93E4C70f44D;

  // https://zkevm.polygonscan.com/address/0x6c23bAF050ec192afc0B967a93b83e6c5405df43
  address internal constant WETH_GATEWAY = 0x6c23bAF050ec192afc0B967a93b83e6c5405df43;

  // https://zkevm.polygonscan.com/address/0x06C35Cfd3FC61eC2aC437f0d08840d5776b945af
  address internal constant WITHDRAW_SWAP_ADAPTER = 0x06C35Cfd3FC61eC2aC437f0d08840d5776b945af;
}

library AaveV3PolygonZkEvmAssets {}
