mezoAgent 0.6.3__py3-none-any.whl → 0.6.5__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- {mezoAgent-0.6.3.dist-info → mezoAgent-0.6.5.dist-info}/METADATA +1 -1
- mezoAgent-0.6.5.dist-info/RECORD +16 -0
- mezo_agent/__init__.py +3 -0
- mezo_agent/token_balance_tool.py +3 -4
- mezo_agent/token_price_tool.py +2 -2
- mezo_agent/token_utils.py +32 -0
- mezo_agent/utils.py +3 -34
- mezoAgent-0.6.3.dist-info/RECORD +0 -15
- {mezoAgent-0.6.3.dist-info → mezoAgent-0.6.5.dist-info}/WHEEL +0 -0
- {mezoAgent-0.6.3.dist-info → mezoAgent-0.6.5.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,16 @@
|
|
1
|
+
mezo_agent/__init__.py,sha256=8QYgneMYLO5-VzBT-4YiIJ_o1rgGq1EJDVrwvLi9hsQ,707
|
2
|
+
mezo_agent/characters.py,sha256=wub7y9BrAAdAKWwcNAdgrvhRi2zHMaZNzTr2y3qtbsw,515
|
3
|
+
mezo_agent/chat.py,sha256=ZtNurUDV7UzJjbFyU96DNGy37hO3gl0osn19mRu7ER8,859
|
4
|
+
mezo_agent/config.py,sha256=6xFgk80eiBLTasKGW73Ne8hNhMtx8BbQ_Ef79YOyDlc,3233
|
5
|
+
mezo_agent/parsing.py,sha256=dnS5Qw9V8qvSA_IPgn6nCUnyEfZP9TphO8DnH8oUuiM,5080
|
6
|
+
mezo_agent/swap_musd_btc.py,sha256=Co-XcfK73spm94VC6qzGY0VYoGwsMDKKHM8ToGh2JxU,4289
|
7
|
+
mezo_agent/token_balance_tool.py,sha256=n5xkHWGhkJdQZILN0fDe-n4NHgXSHTSloEHJfkLMsWE,1442
|
8
|
+
mezo_agent/token_price_tool.py,sha256=vD-ukq0D_4zmjIy9bZ9qL44nGctf-hWzkQuTd-0wy2U,930
|
9
|
+
mezo_agent/token_utils.py,sha256=3NH_Z_vbZ0uupuuGjEbmwsbUkubluQbL-0xR9kia7nU,1118
|
10
|
+
mezo_agent/transaction.py,sha256=YpfWrkEaf0YGM_Kc4cFwlT9GmBGZkeJHWm0VGHs9Gks,4199
|
11
|
+
mezo_agent/utils.py,sha256=hsGtL_iXvUVGnY5aHPQ0v6Jejxd4P4qw0yOtS1omToU,1397
|
12
|
+
mezo_agent/data/new_router.json,sha256=A8U-NVfe1F-hDyR90_SuH8jDAxmzyyHWdJW62j9TZsc,26756
|
13
|
+
mezoAgent-0.6.5.dist-info/METADATA,sha256=aww4rbst9dQN-a_KYXzyKDoWTeJunsS26IagAdIs1mM,273
|
14
|
+
mezoAgent-0.6.5.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
15
|
+
mezoAgent-0.6.5.dist-info/top_level.txt,sha256=rrAci_NyTR9z6w_BrQhQrAhzMW_A0NYhVa0x2USl0nQ,11
|
16
|
+
mezoAgent-0.6.5.dist-info/RECORD,,
|
mezo_agent/__init__.py
CHANGED
@@ -4,6 +4,7 @@ from .chat import mezo_character_chat
|
|
4
4
|
from .characters import get_character_prompt
|
5
5
|
from .token_balance_tool import mezo_agent_token_balance_tool
|
6
6
|
from .token_price_tool import mezo_agent_token_price_tool
|
7
|
+
from .token_utils import get_token_address_by_symbol # ✅ Expose new module
|
7
8
|
|
8
9
|
__all__ = [
|
9
10
|
"mezo_agent_transaction_btc",
|
@@ -11,5 +12,7 @@ __all__ = [
|
|
11
12
|
"mezo_agent_swap_musd_btc",
|
12
13
|
"mezo_character_chat",
|
13
14
|
"mezo_agent_token_balance_tool",
|
15
|
+
"mezo_agent_token_price_tool",
|
16
|
+
"get_token_address_by_symbol",
|
14
17
|
"get_character_prompt"
|
15
18
|
]
|
mezo_agent/token_balance_tool.py
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
from langchain.tools import tool
|
2
2
|
from mezo_agent.config import web3_instance, sender_address, ERC20_ABI
|
3
3
|
from mezo_agent.parsing import extract_balance_details
|
4
|
+
from mezo_agent.token_utils import get_token_address_by_symbol # ✅ Correct import
|
4
5
|
|
5
6
|
@tool
|
6
7
|
def mezo_agent_token_balance_tool(balance_prompt: str) -> str:
|
@@ -10,8 +11,6 @@ def mezo_agent_token_balance_tool(balance_prompt: str) -> str:
|
|
10
11
|
:param balance_prompt: User query containing the token symbol.
|
11
12
|
:return: Token balance for the sender's address.
|
12
13
|
"""
|
13
|
-
from mezo_agent.utils import get_token_address_by_symbol # ✅ Import moved inside function
|
14
|
-
|
15
14
|
details = extract_balance_details(balance_prompt)
|
16
15
|
|
17
16
|
if isinstance(details, str): # Handle extraction errors
|
@@ -25,7 +24,6 @@ def mezo_agent_token_balance_tool(balance_prompt: str) -> str:
|
|
25
24
|
# Get the contract address dynamically
|
26
25
|
token_address = get_token_address_by_symbol(token_symbol)
|
27
26
|
print(f"✅ Using token address: {token_address}") # Debugging
|
28
|
-
print(f"✅ Using ABI: {ERC20_ABI}")
|
29
27
|
|
30
28
|
token_contract = web3_instance.eth.contract(address=token_address, abi=ERC20_ABI)
|
31
29
|
|
@@ -34,4 +32,5 @@ def mezo_agent_token_balance_tool(balance_prompt: str) -> str:
|
|
34
32
|
balance = web3_instance.from_wei(balance_wei, "ether")
|
35
33
|
return f"✅ {token_symbol.upper()} Balance: {balance}"
|
36
34
|
except Exception as e:
|
37
|
-
return f"❌ Failed to fetch balance: {str(e)}"
|
35
|
+
return f"❌ Failed to fetch balance: {str(e)}"
|
36
|
+
|
mezo_agent/token_price_tool.py
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
from langchain.tools import tool
|
2
2
|
from mezo_agent.config import query_graph
|
3
3
|
from mezo_agent.parsing import extract_price_details
|
4
|
+
from mezo_agent.utils import get_token_price # ✅ Correct import
|
4
5
|
|
5
6
|
@tool
|
6
7
|
def mezo_agent_token_price_tool(price_prompt: str) -> str:
|
@@ -10,8 +11,6 @@ def mezo_agent_token_price_tool(price_prompt: str) -> str:
|
|
10
11
|
:param price_prompt: User query containing the token symbol.
|
11
12
|
:return: Token price details.
|
12
13
|
"""
|
13
|
-
from mezo_agent.utils import get_token_price # ✅ Import moved inside function
|
14
|
-
|
15
14
|
details = extract_price_details(price_prompt)
|
16
15
|
|
17
16
|
if isinstance(details, str): # Handle extraction errors
|
@@ -26,3 +25,4 @@ def mezo_agent_token_price_tool(price_prompt: str) -> str:
|
|
26
25
|
return get_token_price(token_symbol)
|
27
26
|
except Exception as e:
|
28
27
|
return f"❌ Failed to fetch token price: {str(e)}"
|
28
|
+
|
@@ -0,0 +1,32 @@
|
|
1
|
+
from mezo_agent.config import query_graph, web3_instance
|
2
|
+
|
3
|
+
def get_token_address_by_symbol(symbol: str) -> str:
|
4
|
+
"""
|
5
|
+
Fetches the token contract address dynamically from the Goldsky subgraph.
|
6
|
+
:param symbol: Token symbol (e.g., 'MUSD', 'WBTC').
|
7
|
+
:return: Ethereum checksum address of the token.
|
8
|
+
"""
|
9
|
+
if symbol.lower() == "btc":
|
10
|
+
symbol = "wtbtc"
|
11
|
+
|
12
|
+
query_all = '''
|
13
|
+
{
|
14
|
+
tokens(first: 100) {
|
15
|
+
id
|
16
|
+
symbol
|
17
|
+
}
|
18
|
+
}
|
19
|
+
'''
|
20
|
+
data = query_graph(query_all)
|
21
|
+
tokens = data.get("data", {}).get("tokens", [])
|
22
|
+
|
23
|
+
matching_tokens = [t for t in tokens if t["symbol"].lower() == symbol.lower()]
|
24
|
+
|
25
|
+
if matching_tokens:
|
26
|
+
token_address = matching_tokens[0]["id"]
|
27
|
+
checksum_address = web3_instance.to_checksum_address(token_address)
|
28
|
+
print(f"✅ Token {symbol} found at address: {checksum_address}") # Debugging
|
29
|
+
return checksum_address
|
30
|
+
else:
|
31
|
+
available_symbols = [t["symbol"] for t in tokens]
|
32
|
+
raise Exception(f"❌ Token '{symbol}' not found. Available: {', '.join(available_symbols)}")
|
mezo_agent/utils.py
CHANGED
@@ -1,36 +1,5 @@
|
|
1
1
|
from mezo_agent.config import web3_instance, query_graph
|
2
|
-
from mezo_agent.
|
3
|
-
|
4
|
-
def get_token_address_by_symbol(symbol: str) -> str:
|
5
|
-
"""
|
6
|
-
Fetches the token contract address dynamically from the Goldsky subgraph.
|
7
|
-
:param symbol: Token symbol (e.g., 'MUSD', 'WBTC').
|
8
|
-
:return: Ethereum checksum address of the token.
|
9
|
-
"""
|
10
|
-
if symbol.lower() == "btc":
|
11
|
-
symbol = "wtbtc"
|
12
|
-
|
13
|
-
query_all = '''
|
14
|
-
{
|
15
|
-
tokens(first: 100) {
|
16
|
-
id
|
17
|
-
symbol
|
18
|
-
}
|
19
|
-
}
|
20
|
-
'''
|
21
|
-
data = query_graph(query_all)
|
22
|
-
tokens = data.get("data", {}).get("tokens", [])
|
23
|
-
matching_tokens = [t for t in tokens if t["symbol"].lower() == symbol.lower()]
|
24
|
-
|
25
|
-
if matching_tokens:
|
26
|
-
token_address = matching_tokens[0]["id"]
|
27
|
-
checksum_address = web3_instance.to_checksum_address(token_address)
|
28
|
-
print(f"✅ Token {symbol} found at address: {checksum_address}") # Debugging
|
29
|
-
return checksum_address
|
30
|
-
else:
|
31
|
-
available_symbols = [t["symbol"] for t in tokens]
|
32
|
-
raise Exception(f"Token '{symbol}' not found. Available: {', '.join(available_symbols)}")
|
33
|
-
|
2
|
+
from mezo_agent.token_utils import get_token_address_by_symbol # ✅ Import from token_utils.py
|
34
3
|
|
35
4
|
def get_token_price(token_symbol: str) -> str:
|
36
5
|
"""
|
@@ -43,7 +12,7 @@ def get_token_price(token_symbol: str) -> str:
|
|
43
12
|
token_symbol = "wtbtc"
|
44
13
|
|
45
14
|
try:
|
46
|
-
token_address = get_token_address_by_symbol(token_symbol)
|
15
|
+
token_address = get_token_address_by_symbol(token_symbol) # ✅ Now correctly imported
|
47
16
|
except Exception as e:
|
48
17
|
return f"❌ Token lookup error: {e}"
|
49
18
|
|
@@ -67,4 +36,4 @@ def get_token_price(token_symbol: str) -> str:
|
|
67
36
|
derivedETH = token_data.get("derivedETH", "N/A")
|
68
37
|
return f"✅ Price of {token_symbol.upper()}: {derivedUSD} USD, {derivedETH} ETH."
|
69
38
|
except Exception as e:
|
70
|
-
return f"❌ Failed to get price data: {e}"
|
39
|
+
return f"❌ Failed to get price data: {e}"
|
mezoAgent-0.6.3.dist-info/RECORD
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
mezo_agent/__init__.py,sha256=2nx5nbz9KwNy-jdKrQ3lA8A0tMuQcKzYKdHTxKzszpk,556
|
2
|
-
mezo_agent/characters.py,sha256=wub7y9BrAAdAKWwcNAdgrvhRi2zHMaZNzTr2y3qtbsw,515
|
3
|
-
mezo_agent/chat.py,sha256=ZtNurUDV7UzJjbFyU96DNGy37hO3gl0osn19mRu7ER8,859
|
4
|
-
mezo_agent/config.py,sha256=6xFgk80eiBLTasKGW73Ne8hNhMtx8BbQ_Ef79YOyDlc,3233
|
5
|
-
mezo_agent/parsing.py,sha256=dnS5Qw9V8qvSA_IPgn6nCUnyEfZP9TphO8DnH8oUuiM,5080
|
6
|
-
mezo_agent/swap_musd_btc.py,sha256=Co-XcfK73spm94VC6qzGY0VYoGwsMDKKHM8ToGh2JxU,4289
|
7
|
-
mezo_agent/token_balance_tool.py,sha256=fv5Kf22K0HQR7maJnS5SZRTnoY7-3JxKyQDRyDbYXew,1498
|
8
|
-
mezo_agent/token_price_tool.py,sha256=4LmQ_WdYifbIGVL9ExT0dt_U_MtHXYJ7Irj7YoCIexw,948
|
9
|
-
mezo_agent/transaction.py,sha256=YpfWrkEaf0YGM_Kc4cFwlT9GmBGZkeJHWm0VGHs9Gks,4199
|
10
|
-
mezo_agent/utils.py,sha256=XRq--PRJbWlG9kpz99QHWu7mLpYY4MYblm38U1xK4YE,2381
|
11
|
-
mezo_agent/data/new_router.json,sha256=A8U-NVfe1F-hDyR90_SuH8jDAxmzyyHWdJW62j9TZsc,26756
|
12
|
-
mezoAgent-0.6.3.dist-info/METADATA,sha256=ziZOSpZgDi0m2U3R5j1io5V_keYRt_6D4UWGZHTycOc,273
|
13
|
-
mezoAgent-0.6.3.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
14
|
-
mezoAgent-0.6.3.dist-info/top_level.txt,sha256=rrAci_NyTR9z6w_BrQhQrAhzMW_A0NYhVa0x2USl0nQ,11
|
15
|
-
mezoAgent-0.6.3.dist-info/RECORD,,
|
File without changes
|
File without changes
|