Module 0xd5044d9f4b80910ef7b8910a68d2ac257d14319fb9315ddce1ca5190878bc8ea::ui_incentive_data_provider_v3

@title UI Incentive Data Provider V3 Module @author Aave @notice Provides data for UI regarding incentives for Aave protocol assets

use 0x1::fungible_asset;
use 0x1::object;
use 0x1::option;
use 0x1::string;
use 0xc1b23ac8ce67df6361b241bfa30a22c9b177fe39c471334a514eea977e6673a9::oracle;
use 0xd5044d9f4b80910ef7b8910a68d2ac257d14319fb9315ddce1ca5190878bc8ea::pool;
use 0xd5044d9f4b80910ef7b8910a68d2ac257d14319fb9315ddce1ca5190878bc8ea::rewards_controller;
use 0xd5044d9f4b80910ef7b8910a68d2ac257d14319fb9315ddce1ca5190878bc8ea::token_base;

Struct AggregatedReserveIncentiveData

@notice Aggregated reserve incentive data structure @param underlying_asset The address of the underlying asset @param a_incentive_data The incentive data for the aToken @param v_incentive_data The incentive data for the variable debt token

struct AggregatedReserveIncentiveData has drop, store

Struct IncentiveData

@notice Incentive data structure @param token_address The address of the token @param incentive_controller_address The address of the incentive controller @param rewards_token_information Vector of reward information

struct IncentiveData has drop, store

Struct RewardInfo

@notice Reward information structure @param reward_token_symbol The symbol of the reward token @param reward_token_address The address of the reward token @param emission_per_second The emission per second @param incentives_last_update_timestamp The last update timestamp for incentives @param token_incentives_index The token incentives index @param emission_end_timestamp The emission end timestamp @param reward_price_feed The price feed for the reward @param reward_token_decimals The decimals of the reward token @param precision The precision of the reward @param price_feed_decimals The decimals of the price feed

struct RewardInfo has drop, store

Struct UserReserveIncentiveData

@notice User reserve incentive data structure @param underlying_asset The address of the underlying asset @param a_token_incentives_user_data The user incentive data for the aToken @param v_token_incentives_user_data The user incentive data for the variable debt token

struct UserReserveIncentiveData has drop, store

Struct UserIncentiveData

@notice User incentive data structure @param token_address The address of the token @param incentive_controller_address The address of the incentive controller @param user_rewards_information Vector of user reward information

struct UserIncentiveData has drop, store

Struct UserRewardInfo

@notice User reward information structure @param reward_token_symbol The symbol of the reward token @param reward_token_address The address of the reward token @param user_unclaimed_rewards The user's unclaimed rewards @param token_incentives_user_index The token incentives user index @param reward_price_feed The price feed for the reward @param price_feed_decimals The decimals of the price feed @param reward_token_decimals The decimals of the reward token

struct UserRewardInfo has drop, store

Function get_full_reserves_incentive_data

@notice Gets full reserves incentive data for a user @param user The address of the user @return Tuple containing aggregate reserve incentive data and user reserve incentive data

#[view]
public fun get_full_reserves_incentive_data(user: address): (vector<ui_incentive_data_provider_v3::AggregatedReserveIncentiveData>, vector<ui_incentive_data_provider_v3::UserReserveIncentiveData>)

Function get_reserves_incentives_data

@notice Gets reserves incentives data @return Vector of aggregated reserve incentive data

#[view]
public fun get_reserves_incentives_data(): vector<ui_incentive_data_provider_v3::AggregatedReserveIncentiveData>

Function get_user_reserves_incentives_data

@notice Gets user reserves incentives data @param user The address of the user @return Vector of user reserve incentive data

#[view]
public fun get_user_reserves_incentives_data(user: address): vector<ui_incentive_data_provider_v3::UserReserveIncentiveData>