Publicación
Comparte tu conocimiento.
Error al interactuar con el contrato IPoolAddressesProvider de AAVE en JavaScript
Tengo problemas al trabajar con el IPoolAddressesProvider
contrato de mi código JavaScript para el protocolo Aave. Estoy intentando crear el IPoolAddressesProvider
objeto con el siguiente código:
const POOL_ADDRESSES_PROVIDER = IPoolAddressesProvider("0x012bAC54348C0E635dCAc9D5FB99f06F24136C9A");
However, it seems that the IPoolAddressesProvider object is not exportable in the Aave protocol node package. This is causing problems for me because I need to use the getUserReserveData(IPoolAddressesProvider, address) function, which requires the IPoolAddressesProvider object as an input parameter.
Intenté obtener los datos de reserva del usuario mediante la getUserReserveData
siguiente función:
const beginLiquidateCall = await poolDataProviderContract.getUserReserveData("0x012bAC54348C0E635dCAc9D5FB99f06F24136C9A","0x67c0378c1D14447013CEe84A54c558864b95B157");
console.log(beginLiquidateCall);
Sin embargo, me aparece el siguiente error:
Error: missing revert data (action="call", data=null, reason=null, transaction={ "data": "0x28dd2d01000000000000000000000000012bac54348c0e635dcac9d5fb99f06f24136c9a00000000000000000000000067c0378c1d14447013cee84a54c558864b95b157", "to": "0x3e9708d80f7B3e43118013075F7e95CE3AB31F31" }, invocation=null, revert=null, code=CALL_EXCEPTION, version=6.7.1)
También intenté actualizar la primera variable de SEPOLIA WETH y usé el siguiente código:
const beginLiquidateCall = await poolDataProviderContract.getUserReserveData("0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9","0x67c0378c1D14447013CEe84A54c558864b95B157");
Pero sigo recibiendo el mismo error. Tengo dificultades para entender el origen del problema. ¿Puede alguien ayudarme a identificar el problema o proporcionarme un código que pueda ayudarme a descifrar los datos e investigar más a fondo? Gracias.
- Aave Protocol
Respuestas
1El error que se está produciendo se debe a que se han pasado parámetros incorrectos a la getUserReserveData
función. Tanto en Solidity como en JavaScript, los parámetros de las funciones son siempre direcciones, no el objeto en sí. PoolAddressesProvider
En concreto, el primer parámetro de esta función espera la dirección de un token de reserva subyacente (como WETH, USDC, etc.), no la dirección del contrato. PoolAddressesProvider
No es una dirección simbólica y, por eso, se produce un error de reversión.
Para resolver este problema, debes proporcionar la dirección del token correcta para el primer parámetro. En el caso del mercado Sepolia V3, puedes encontrar las direcciones de los tokens subyacentes en la documentación del mercado de Sepolia V3 de Aave. La documentación, que normalmente se encuentra en la parte inferior de la tabla de direcciones, y el registro de direcciones enumeran todas las direcciones de los tokens subyacentes de este mercado.
Es importante tener en cuenta que todos los mercados de prueba de Aave utilizan despliegues personalizados de cada token subyacente, lo que permite acuñarlos con fines de prueba. Puedes usar el contrato de Faucet, que también aparece en la documentación, para obtener estos tokens y probarlos. Asegúrese de pasar la dirección del token correcta como primer parámetro al llamar a la getUserReserveData
función para evitar el error de reversión.
Sabes la respuesta?
Inicie sesión y compártalo.
Aave is a decentralized non-custodial liquidity protocol where users can participate as depositors or borrowers.
- Error «No hay una clave coincidente» al intentar liberar el USDC en la cadena BNB32
- How to tell the code to, rather than "deposit 1 eth worth of WBTC" deposit "500$ worth of WBTC"?22
- How to interpret configuration field in a response from the getReserveData view function in Aave v2?21
- Getting a return value of '25 - INVALID BURN AMOUNT'21
- Is there any way to stake in the security module on Görli?23