function AaveEvents(block) {
const events = [];
for (const tx of block.transactions || []) {
for (const log of tx.receipt?.logs || []) {
const decodedWithMetadata = utils.evmDecodeLogWithMetadata(log, [
"event Supply(address indexed reserve, address user, address indexed onBehalfOf, uint256 amount, uint16 indexed referralCode)",
"event Withdraw(address indexed reserve, address indexed user, address indexed to, uint256 amount)",
"event Borrow(address indexed reserve, address user, address indexed onBehalfOf, uint256 amount, uint8 interestRateMode, uint256 borrowRate, uint16 indexed referralCode)",
"event Repay(address indexed reserve, address indexed user, address indexed repayer, uint256 amount, bool useATokens)",
"event FlashLoan(address indexed target, address initiator, address indexed asset, uint256 amount, uint8 interestRateMode, uint256 premium, uint16 indexed referralCode)",
"event UserEModeSet(address indexed user, uint8 categoryId)",
"event LiquidationCall(address indexed collateralAsset, address indexed debtAsset, address indexed user, uint256 debtToCover, uint256 liquidatedCollateralAmount, address liquidator, bool receiveAToken)",
"event ReserveDataUpdated(address indexed reserve, uint256 liquidityRate, uint256 stableBorrowRate, uint256 variableBorrowRate, uint256 liquidityIndex, uint256 variableBorrowIndex)"
]);
if (decodedWithMetadata) {
events.push({
chain: block._network,
block: block.number,
transaction_hash: tx.hash,
log_index: log.logIndex,
contract_address: log.address?.toLowerCase(),
decoded: decodedWithMetadata.decoded,
event_name: decodedWithMetadata.metadata?.name.replace(/^event\s+/, '') || 'UnknownEvent'
});
}
}
}
return events;
}