@@ -54,6 +54,14 @@ module aave_data::v1 {
5454 oracle_configs_testnet: smart_table::SmartTable <string::String , Option <aave_data::v1_values ::CappedAssetData >>,
5555 /// @dev Oracle configuration for mainnet
5656 oracle_configs_mainnet: smart_table::SmartTable <string::String , Option <aave_data::v1_values ::CappedAssetData >>,
57+ /// @dev Flashloan premiums to protocol configuration for testnet
58+ flashloan_premium_to_protocol_testnet: smart_table::SmartTable <string::String , u256 >,
59+ /// @dev Flashloan premiums to protocol configuration for mainnet
60+ flashloan_premium_to_protocol_mainnet: smart_table::SmartTable <string::String , u256 >,
61+ /// @dev Flashloan premium totals for testnet
62+ flashloan_premium_premium_totals_testnet: smart_table::SmartTable <string::String , u256 >,
63+ /// @dev Flashloan premium totals for mainnet
64+ flashloan_premium_premium_totals_mainnet: smart_table::SmartTable <string::String , u256 >,
5765
5866 /// @dev Pool admins addresses for testnet
5967 pool_admins_testnet: vector <address >,
@@ -136,7 +144,11 @@ module aave_data::v1 {
136144 admin_controlled_ecosystem_reserve_funds_admins_mainnet: aave_data::v1_values ::build_admin_controlled_ecosystem_reserve_funds_admins_mainnet (),
137145 rewards_controller_admins_mainnet: aave_data::v1_values ::build_rewards_controller_admins_mainnet (),
138146 oracle_configs_testnet: aave_data::v1_values ::build_oracle_configs_testnet (),
139- oracle_configs_mainnet: aave_data::v1_values ::build_oracle_configs_mainnet ()
147+ oracle_configs_mainnet: aave_data::v1_values ::build_oracle_configs_mainnet (),
148+ flashloan_premium_to_protocol_testnet: aave_data::v1_values ::build_flashloan_premium_to_protocol_testnet (),
149+ flashloan_premium_to_protocol_mainnet: aave_data::v1_values ::build_flashloan_premium_to_protocol_mainnet (),
150+ flashloan_premium_premium_totals_testnet: aave_data::v1_values ::build_flashloan_premium_totals_testnet (),
151+ flashloan_premium_premium_totals_mainnet: aave_data::v1_values ::build_flashloan_premium_totals_mainnet ()
140152 }
141153 );
142154 }
@@ -491,4 +503,82 @@ module aave_data::v1 {
491503 global_data.rewards_controller_admins_mainnet
492504 )
493505 }
506+
507+ /// @notice Gets the flashloan_premium_premium_totals for mainnet in normalized format (keys and values as separate vectors)
508+ /// @return Tuple of (asset symbols, values)
509+ public fun get_flashloan_premium_totals_mainnet_normalized ():
510+ (vector <String >, vector <u256 >) acquires Data {
511+ let table =
512+ &borrow_global <Data >(@aave_data ).flashloan_premium_premium_totals_mainnet;
513+ let keys = smart_table::keys (table);
514+ let views = vector ::empty <u256 >();
515+
516+ let i = 0 ;
517+ while (i < vector ::length (&keys)) {
518+ let key = *vector ::borrow (&keys, i);
519+ let val = *smart_table::borrow (table, key);
520+ vector ::push_back (&mut views, val);
521+ i = i + 1 ;
522+ };
523+ (keys, views)
524+ }
525+
526+ /// @notice Gets the flashloan_premium_premium_totals for testnet in normalized format (keys and values as separate vectors)
527+ /// @return Tuple of (asset symbols, values)
528+ public fun get_flashloan_premium_totals_testnet_normalized ():
529+ (vector <String >, vector <u256 >) acquires Data {
530+ let table =
531+ &borrow_global <Data >(@aave_data ).flashloan_premium_premium_totals_testnet;
532+ let keys = smart_table::keys (table);
533+ let views = vector ::empty <u256 >();
534+
535+ let i = 0 ;
536+ while (i < vector ::length (&keys)) {
537+ let key = *vector ::borrow (&keys, i);
538+ let val = *smart_table::borrow (table, key);
539+ vector ::push_back (&mut views, val);
540+ i = i + 1 ;
541+ };
542+ (keys, views)
543+ }
544+
545+ /// @notice Gets the flashloan_premium_to_protocol for mainnet in normalized format (keys and values as separate vectors)
546+ /// @return Tuple of (asset symbols, values)
547+ public fun get_flashloan_premium_to_protocol_mainnet_normalized (): (
548+ vector <String >, vector <u256 >
549+ ) acquires Data {
550+ let table =
551+ &borrow_global <Data >(@aave_data ).flashloan_premium_to_protocol_mainnet;
552+ let keys = smart_table::keys (table);
553+ let views = vector ::empty <u256 >();
554+
555+ let i = 0 ;
556+ while (i < vector ::length (&keys)) {
557+ let key = *vector ::borrow (&keys, i);
558+ let val = *smart_table::borrow (table, key);
559+ vector ::push_back (&mut views, val);
560+ i = i + 1 ;
561+ };
562+ (keys, views)
563+ }
564+
565+ /// @notice Gets the flashloan_premium_to_protocol for testnet in normalized format (keys and values as separate vectors)
566+ /// @return Tuple of (asset symbols, values)
567+ public fun get_flashloan_premium_to_protocol_testnet_normalized (): (
568+ vector <String >, vector <u256 >
569+ ) acquires Data {
570+ let table =
571+ &borrow_global <Data >(@aave_data ).flashloan_premium_to_protocol_testnet;
572+ let keys = smart_table::keys (table);
573+ let views = vector ::empty <u256 >();
574+
575+ let i = 0 ;
576+ while (i < vector ::length (&keys)) {
577+ let key = *vector ::borrow (&keys, i);
578+ let val = *smart_table::borrow (table, key);
579+ vector ::push_back (&mut views, val);
580+ i = i + 1 ;
581+ };
582+ (keys, views)
583+ }
494584}
0 commit comments