// interface Market { // id: string, // underlyingAsset: string, // name: string, // symbol: string, // decimals: number, // } // returns Market[] function getMarkets(chainId) { return asyncFetch(`https://aave-api.pages.dev/${chainId}/markets`); } /** * @param {string} account user address * @param {string[]} tokens list of token addresses */ // interface TokenBalance { // token: string, // balance: string, // decimals: number, // } // returns TokenBalance[] function getUserBalances(chainId, account, tokens) { const url = `https://aave-api.pages.dev/${chainId}/balances?account=${account}&tokens=${tokens.join( "|" )}`; return asyncFetch(url); } // interface UserDeposit { // underlyingAsset: string, // name: string, // symbol: string, // scaledATokenBalance: string, // usageAsCollateralEnabledOnUser: boolean, // underlyingBalance: string, // underlyingBalanceUSD: string, // } // returns UserDeposit[] function getUserDeposits(chainId, address) { return asyncFetch( `https://aave-api.pages.dev/${chainId}/deposits/${address}` ); } // --- End of functions definition --- // Load functions through `onLoad` callback function exportFunctions(functions) { const { onLoad } = props; if (onLoad && typeof onLoad === "function") { onLoad(functions); } } // Export functions exportFunctions({ getMarkets, getUserDeposits, getUserBalances, }); return <div style={{ display: "none" }} />;