mezoAgent 0.1.4__py3-none-any.whl → 0.2.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mezoAgent
3
- Version: 0.1.4
3
+ Version: 0.2.1
4
4
  Summary: A LangChain based tool kit for AI Agents to send BTC and mUSD transactions on Mezo Matsnet.
5
5
  Author: Dreadwulf
6
- Author-email: dreadwul@wtf.com
6
+ Author-email: dreadwulf@wtf.com
7
7
  Requires-Python: >=3.7
8
8
  Requires-Dist: web3
9
9
  Requires-Dist: langchain
@@ -0,0 +1,8 @@
1
+ mezo_agent/__init__.py,sha256=lsonH0-yY3Die0cRmiwsPSHwZQDh_UEAVIpc2uwZYIM,80
2
+ mezo_agent/config.py,sha256=c16-JHEbK5rFBKO-QdxBRtrl4DSlYzGckD9BzbTw2dY,1708
3
+ mezo_agent/parsing.py,sha256=dFqNHGH0LoG4_TEsHKcorj6aY_Rh4H8f5Yj7ZdfKJzE,1454
4
+ mezo_agent/transaction.py,sha256=IX9X8Wt_vbxwU1VOYCcbm2H9ZPW9NJNoAcULemmTstE,4175
5
+ mezoAgent-0.2.1.dist-info/METADATA,sha256=Wf-LTpO3t0t1dtiB68gAhW3gKQPfLODdpmFI4mrm6Pk,344
6
+ mezoAgent-0.2.1.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
7
+ mezoAgent-0.2.1.dist-info/top_level.txt,sha256=rrAci_NyTR9z6w_BrQhQrAhzMW_A0NYhVa0x2USl0nQ,11
8
+ mezoAgent-0.2.1.dist-info/RECORD,,
mezo_agent/__init__.py CHANGED
@@ -1 +1 @@
1
- from .transaction import mezo_agent_transaction_btc
1
+ from .transaction import mezo_agent_transaction_btc, mezo_agent_musd_transaction
mezo_agent/transaction.py CHANGED
@@ -1,6 +1,6 @@
1
1
  from web3.exceptions import Web3Exception
2
2
  from langchain.tools import tool
3
- from .config import web3_instance, sender_address, account
3
+ from .config import web3_instance, sender_address, account, musd_contract
4
4
  from .parsing import extract_transaction_details
5
5
 
6
6
  @tool
@@ -50,4 +50,56 @@ def mezo_agent_transaction_btc(transaction_prompt: str) -> str:
50
50
  tx_hash = web3_instance.eth.send_raw_transaction(signed_tx.raw_transaction)
51
51
  return f"✅ BTC Transaction Successful! Hash: {tx_hash.hex()}"
52
52
  except Web3Exception as e:
53
- return f"❌ BTC Transaction Failed: {str(e)}"
53
+ return f"❌ BTC Transaction Failed: {str(e)}"
54
+
55
+ @tool
56
+ def mezo_agent_musd_transaction(transaction_prompt: str) -> str:
57
+ """
58
+ Sends mUSD on Mezo Matsnet. Parses a transaction request and executes the transfer.
59
+
60
+ The transaction_prompt should contain details including the amount, the currency
61
+ (which must be "mUSD"), and the recipient's wallet address.
62
+ """
63
+ transaction_details = extract_transaction_details(transaction_prompt)
64
+
65
+ if isinstance(transaction_details, str): # Handle errors during extraction
66
+ return transaction_details
67
+
68
+ amount = float(transaction_details["amount"])
69
+ currency = transaction_details["currency"].lower()
70
+ recipient = transaction_details["recipient"]
71
+
72
+ if currency != "musd":
73
+ return "❌ This function only supports mUSD transactions."
74
+
75
+ # Convert the mUSD amount to its smallest unit (assumes 18 decimals, similar to ETH)
76
+ amount_token = web3_instance.to_wei(amount, "ether")
77
+
78
+ try:
79
+ # Fetch nonce and gas price for the sender
80
+ nonce = web3_instance.eth.get_transaction_count(sender_address)
81
+ gas_price = web3_instance.eth.gas_price
82
+
83
+ # Estimate gas required for the token transfer
84
+ gas_limit = musd_contract.functions.transfer(recipient, amount_token).estimateGas({
85
+ 'from': sender_address
86
+ })
87
+ except Exception as e:
88
+ return f"❌ Failed to prepare mUSD transaction: {str(e)}"
89
+
90
+ # Build the transaction for the token transfer
91
+ tx = musd_contract.functions.transfer(recipient, amount_token).buildTransaction({
92
+ 'chainId': 31611, # Mezo Testnet Chain ID
93
+ 'from': sender_address,
94
+ 'nonce': nonce,
95
+ 'gas': gas_limit,
96
+ 'gasPrice': gas_price
97
+ })
98
+
99
+ try:
100
+ # Sign and send the transaction
101
+ signed_tx = account.sign_transaction(tx)
102
+ tx_hash = web3_instance.eth.send_raw_transaction(signed_tx.raw_transaction)
103
+ return f"✅ mUSD Transaction Successful! Hash: {tx_hash.hex()}"
104
+ except Web3Exception as e:
105
+ return f"❌ mUSD Transaction Failed: {str(e)}"
@@ -1,8 +0,0 @@
1
- mezo_agent/__init__.py,sha256=CTQD3Y_lY9lzhuTzIeQjqsNzy7sYjOPygVSSK3wBlps,51
2
- mezo_agent/config.py,sha256=c16-JHEbK5rFBKO-QdxBRtrl4DSlYzGckD9BzbTw2dY,1708
3
- mezo_agent/parsing.py,sha256=dFqNHGH0LoG4_TEsHKcorj6aY_Rh4H8f5Yj7ZdfKJzE,1454
4
- mezo_agent/transaction.py,sha256=75q88q94WJLg0UahMhkAfMqSxBfW-bqK3iZMGykmc-k,2069
5
- mezoAgent-0.1.4.dist-info/METADATA,sha256=xYqUvTErxTwqLghZILJOFYOAmhOzfx96wOuA8k9eK2Y,343
6
- mezoAgent-0.1.4.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
7
- mezoAgent-0.1.4.dist-info/top_level.txt,sha256=rrAci_NyTR9z6w_BrQhQrAhzMW_A0NYhVa0x2USl0nQ,11
8
- mezoAgent-0.1.4.dist-info/RECORD,,