Skip to content

Commit

Permalink
Merge pull request #435 from MrRoudyk/feature/434-add-kstrk-token
Browse files Browse the repository at this point in the history
Feature/434 add kstrk token
  • Loading branch information
djeck1432 authored Feb 17, 2025
2 parents 8c31c18 + a63823a commit 213d296
Show file tree
Hide file tree
Showing 10 changed files with 442 additions and 303 deletions.
1 change: 1 addition & 0 deletions apps/dashboard_app/charts/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
"wsteth": "wstETH",
"lords": "LORDS",
"strk": "STRK",
"kstrk": "kSTRK",
}


Expand Down
18 changes: 14 additions & 4 deletions apps/dashboard_app/helpers/protocol_stats.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,18 @@
import pandas as pd
from data_handler.handlers import blockchain_call
from shared.constants import TOKEN_SETTINGS
from shared.state import State
from shared.custom_types import Prices
from shared.state import State

from dashboard_app.helpers.loans_table import get_protocol, get_supply_function_call_parameters
from dashboard_app.helpers.tools import add_leading_zeros, get_addresses, get_underlying_address
from dashboard_app.helpers.loans_table import (
get_protocol,
get_supply_function_call_parameters,
)
from dashboard_app.helpers.tools import (
add_leading_zeros,
get_addresses,
get_underlying_address,
)


def get_general_stats(
Expand Down Expand Up @@ -109,6 +116,7 @@ def get_supply_stats(
"wstETH supply": token_supplies.get("wstETH", default_value),
"LORDS supply": token_supplies.get("LORDS", default_value),
"STRK supply": token_supplies.get("STRK", default_value),
"kSTRK supply": token_supplies.get("kSTRK", default_value),
}
)
df = pd.DataFrame(data)
Expand Down Expand Up @@ -182,6 +190,7 @@ def get_collateral_stats(
"wstETH collateral": token_collaterals["wstETH"],
"LORDS collateral": token_collaterals["LORDS"],
"STRK collateral": token_collaterals["STRK"],
"kSTRK collateral": token_collaterals["kSTRK"],
}
)
return pd.DataFrame(data)
Expand Down Expand Up @@ -241,6 +250,7 @@ def get_debt_stats(
"wstETH debt": token_debts["wstETH"],
"LORDS debt": token_debts["LORDS"],
"STRK debt": token_debts["STRK"],
"kSTRK debt": token_debts["kSTRK"],
}
)
data = pd.DataFrame(data)
Expand Down Expand Up @@ -283,7 +293,7 @@ def get_utilization_stats(
total_utilization = total_utilization.replace([np.inf, -np.inf], 0).fillna(0)
data["Total utilization"] = total_utilization.round(4)

tokens = ["eth", "wbtc", "usdc", "dai", "usdt", "wsteth", "lords", "strk"]
tokens = ["eth", "wbtc", "usdc", "dai", "usdt", "wsteth", "lords", "strk", "kstrk"]

for token in tokens:
debt_col = f"{token} debt"
Expand Down
6 changes: 6 additions & 0 deletions apps/dashboard_app/helpers/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,11 @@ class TokenSettings:
decimal_factor=1e18,
address="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",
),
"kSTRK": TokenSettings(
symbol="kSTRK",
decimal_factor=1e18,
address="0x045cd05ee2caaac3459b87e5e2480099d201be2f62243f839f00e10dde7f500c",
),
}


Expand Down Expand Up @@ -98,4 +103,5 @@ class TokenSettings:
"USDT": "0x068f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8",
"DAI": "0x00da114221cb83fa859dbdb4c44beeaa0bb37c7537ad5ae66fe5e0efd20e6eb3",
"DAI V2": "0x05574eb6b8789a91466f902c380d978e472db68170ff82a5b650b95a58ddf4ad",
"kSTRK": "0x045cd05ee2caaac3459b87e5e2480099d201be2f62243f839f00e10dde7f500c",
}
8 changes: 2 additions & 6 deletions apps/dashboard_app/helpers/tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,10 @@
from data_handler.handlers.loan_states.abstractions import State
from shared.amms import SwapAmm
from shared.blockchain_call import func_call
from shared.custom_types import TokenParameters, Prices

from shared.custom_types import Prices, TokenParameters
from starknet_py.cairo.felt import decode_shortstring

AMMS = ["10kSwap", "MySwap", "SithSwap", "JediSwap"]
kSTRK = "0x045cd05ee2caaac3459b87e5e2480099d201be2f62243f839f00e10dde7f500c"


def float_range(start: float, stop: float, step: float) -> Iterator[float]:
Expand Down Expand Up @@ -97,10 +95,8 @@ def get_prices(token_decimals: dict[str, int]) -> dict[str, float]:
tokens_info = response.json()

# Create a map of token addresses to token information, applying add_leading_zeros conditionally
# TODO: Add kSTRK token later
# FIXME: Remove `if` condition once kSTRK token will be added
token_info_map = {
add_leading_zeros(token["address"]): token for token in tokens_info if add_leading_zeros(token["address"]) != kSTRK
add_leading_zeros(token["address"]): token for token in tokens_info
}

prices = {}
Expand Down
Loading

0 comments on commit 213d296

Please sign in to comment.