"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AAVE_POOL_CONTRACT_ADDRESS = exports.AAVE_VERSIONS = void 0;
exports.getAavePoolAddress = getAavePoolAddress;
exports.isAaveVersion = isAaveVersion;
exports.AAVE_VERSIONS = ['v2', 'v3'];
/**
 * Aave Pool contract addresses by version, chain, and network.
 * Source: https://aave.com/docs/resources/addresses
 */
exports.AAVE_POOL_CONTRACT_ADDRESS = {
    v3: {
        ETH: {
            mainnet: '0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2',
            sepolia: '0x6Ae43d3271ff6888e7Fc43Fd7321a503ff738951'
        },
        MATIC: {
            mainnet: '0x794a61358D6845594F94dc1DB02A252b5b4814aD'
        },
        BASE: {
            mainnet: '0xA238Dd80C259a72e81d7e4664a9801593F98d1c5'
        },
        ARB: {
            mainnet: '0x794a61358D6845594F94dc1DB02A252b5b4814aD'
        },
        OP: {
            mainnet: '0x794a61358D6845594F94dc1DB02A252b5b4814aD'
        }
    },
    v2: {
        ETH: {
            mainnet: '0x7d2768dE32b0b80b7a3454c06BdAc94A69DDc7A9'
        },
        MATIC: {
            mainnet: '0x8dff5e27ea6b7ac08ebfdf9eb090f32ee9a30fcf'
        }
    }
};
function getAavePoolAddress(chain, network, version) {
    const normalizedChain = chain.toUpperCase();
    const normalizedNetwork = network.toLowerCase();
    return exports.AAVE_POOL_CONTRACT_ADDRESS[version]?.[normalizedChain]?.[normalizedNetwork];
}
function isAaveVersion(value) {
    return exports.AAVE_VERSIONS.includes(value);
}
//# sourceMappingURL=aave.js.map