Skip to main content
Glama

ONEDeFi MCP Server

by JMadhan1
dex_operations.cpython-313.pyc8.77 kB
� t�h�)��x�SSKrSSKrSSKrSSKJr SSKJr SSKJr \R"\ 5r "SS5r g)�N)�EthereumClient)� PolygonClient)� SolanaClientc�@�\rSrSrSrSrS SjrSrSrSr Sr S r g ) � DEXOperations� z2DEX trading operations across multiple blockchainsc��[5Ul[5Ul[ 5Ul[ R"SS5Ulg)N�ONE_INCH_API_KEYzdemo-key) r�ethereum_clientr�polygon_clientr� solana_client�os�getenv�one_inch_api_key)�selfs �/c:\ONEDeFi\defimcp\defi_tools\dex_operations.py�__init__�DEXOperations.__init__ s5��-�/���+�o���)�^��� "� � �*<�j� I���c��UR5S:XaURX#XEXg5$UR5S:XaURX#XEXg5$UR5S:XaURX#XEXg5$SSU3S.$![a9n[ R S[U535 S[U5S.sSnA$SnAff=f) z,Execute a token swap on specified blockchain�ethereum�polygon�solanaF�Unsupported blockchain: ��success�errorzSwap execution failed: N)�lower�_execute_ethereum_swap�_execute_polygon_swap�_execute_solana_swap� Exception�loggerr�str) r� blockchain�wallet_address�token_in� token_out� amount_in�slippage�protocol�es r� execute_swap�DEXOperations.execute_swaps��� 7����!�Z�/��2�2�>�Y�ck�v�v��!�!�#�y�0��1�1�.�I�bj�u�u��!�!�#�x�/��0�0��9�ai�t�t�#(�5M�j�\�3Z�[�[��� 7� �L�L�2�3�q�6�(�;� <�$�s�1�v�6� 6�� 7�s.�&A?�&A?�&A?�7A?�? C� .B=�7C�=Cc��SnUUUS.nSSUR30n [R"XxU S9n U RS:waSSS .$U R 5n S n UUUUUS .n [R"X�U S9nURS:waSS S .$UR 5nUR R UUS SUS SUS SUS SS9nU(a"SUU RSS5US SSU US.S.$SSS .$![a9n[RS[U535 S[U5S .sSnA$SnAff=f)zExecute swap on Ethereumz'https://api.1inch.dev/swap/v5.2/1/quote��src�dst�amount� Authorization�Bearer ��params�headers��F�Failed to get swap quoterz&https://api.1inch.dev/swap/v5.2/1/swap�r1r2r3�fromr*�Failed to get swap transaction�tx�to�data�value�gas�r&� to_addressr@rArBT�toAmount�0�1inch��quote�swap�r�tx_hash� amount_out�gas_usedr+�metadata�Transaction failedzEthereum swap failed: N) r�requests�get� status_code�jsonr �send_transactionr"r#rr$�rr&r'r(r)r*r+� quote_url� quote_paramsr8�quote_response� quote_data�swap_url� swap_params� swap_response� swap_datarLr,s rr�$DEXOperations._execute_ethereum_swap#s���< 7�A�I�� �#��L� '�'�$�2G�2G�1H�(I�J�G�%�\�\�)�RY�Z�N��)�)�S�0�#(�3M�N�N�'�,�,�.�J�@�H�� �#�&�$� �K�%�L�L��w�W�M��(�(�C�/�#(�3S�T�T�%�*�*�,�I��*�*�;�;�-�$�T�?�4�0��t�_�V�,���o�g�.��d�O�E�*� <��G��#�&�",�.�.��S�"A� )�$��� 6� '�!+� )�!� � �$)�3G�H�H��� 7� �L�L�1�#�a�&��:� ;�$�s�1�v�6� 6�� 7��2�AC<�AC<� A-C<�7C<�< D?�.D:�4D?�:D?c��SnUUUS.nSSUR30n [R"XxU S9n U RS:waSSS .$U R 5n S n UUUUUS .n [R"X�U S9nURS:waSS S .$UR 5nUR R UUS SUS SUS SUS SS9nU(a"SUU RSS5US SSU US.S.$SSS .$![a9n[RS[U535 S[U5S .sSnA$SnAff=f)zExecute swap on Polygonz)https://api.1inch.dev/swap/v5.2/137/quoter0r4r5r6r9Fr:rz(https://api.1inch.dev/swap/v5.2/137/swapr;r=r>r?r@rArBrCTrErFrGrHrKrPzPolygon swap failed: N) rrQrRrSrTr rUr"r#rr$rVs rr �#DEXOperations._execute_polygon_swapcs���< 7�C�I�� �#��L� '�'�$�2G�2G�1H�(I�J�G�%�\�\�)�RY�Z�N��)�)�S�0�#(�3M�N�N�'�,�,�.�J�B�H�� �#�&�$� �K�%�L�L��w�W�M��(�(�C�/�#(�3S�T�T�%�*�*�,�I��)�)�:�:�-�$�T�?�4�0��t�_�V�,���o�g�.��d�O�E�*� ;��G��#�&�",�.�.��S�"A� )�$��� 6� '�!+� )�!� � �$)�3G�H�H��� 7� �L�L�0��Q���9� :�$�s�1�v�6� 6�� 7�r`c�4�SnUUU[US-5S.n[R"XxS9n U RS:waSSS.$U R 5n S n U US .n [R "X�S 9n U RS:waSS S.$U R 5nUR RUUS S9nU(aSUU RSS5SU US.S.$SSS.$![a9n[RS[U535 S[U5S.sSnA$SnAff=f)zExecute swap on Solana�!https://quote-api.jup.ag/v6/quote�d)� inputMint� outputMintr3� slippageBps�r7r9Fr:rz https://quote-api.jup.ag/v6/swap)� quoteResponse� userPublicKey)rTr=�swapTransaction)r&� transactionT� outAmountrF�jupiterrH)rrLrMr+rOrPzSolana swap failed: N) �intrQrRrSrT�postr rUr"r#rr$)rr&r'r(r)r*r+rWrXrYrZr[� swap_payloadr]r^rLr,s rr!�"DEXOperations._execute_solana_swap�sK��5 7�;�I�%�'�#�"�8�c�>�2� �L�&�\�\�)�I�N��)�)�S�0�#(�3M�N�N�'�,�,�.�J�:�H�!+�!/��L� %�M�M�(�F�M��(�(�C�/�#(�3S�T�T�%�*�*�,�I��(�(�9�9�-�%�&7�8�:��G� �#�&�",�.�.��c�"B� )�!+� )�!� � �$)�3G�H�H��� 7� �L�L�/��A��x�8� 9�$�s�1�v�6� 6�� 7�s0�=C�?C�AC�C� D�.D� D�Dc�`�UR5S:XaSnOwUR5S:XaSnO`UR5S:XaDSnUUUS.n[R"XgS9nURS :XaS UR 5S .$S S S.$S SU3S.$SUS3nUUUS.nSSUR 30n [R"XgU S9nURS :XaS UR 5S .$S S S.$![ a9n [RS[U 535 S [U 5S.sSn A $Sn A ff=f)z Get swap quote without executingr�1r�137rrd)rfrgr3rir9T)rrIFzFailed to get quoterrz https://api.1inch.dev/swap/v5.2/z/quoter0r4r5r6zQuote fetch failed: N) rrQrRrSrTrr"r#rr$) rr%r'r(r)�chain_idrWrX�responser8r,s r�get_swap_quote�DEXOperations.get_swap_quote�sS��( 7����!�Z�/����!�!�#�y�0� ���!�!�#�x�/�?� �!)�"+�'� � � $�<�<� �G���'�'�3�.�'+�h�m�m�o�F�F�',�7L�M�M�#(�5M�j�\�3Z�[�[�;�8�*�F�K�I�� �#��L� '�'�$�2G�2G�1H�(I�J�G��|�|�I�G�T�H��#�#�s�*�#'�(�-�-�/�B�B�#(�3H�I�I��� 7� �L�L�/��A��x�8� 9�$�s�1�v�6� 6�� 7�s7�BC*�C*�C*�AC*�%C*�* D-�4.D(�"D-�(D-)r rr r N)g�?�uniswap) �__name__� __module__� __qualname__�__firstlineno__�__doc__rr-rr r!ry�__static_attributes__�rrrr s'��<�J� 7� >7�@>7�@77�r*7rr) r�loggingrQ�blockchain.ethereumr�blockchain.polygonr�blockchain.solanar� getLoggerr|r#rr�rr�<module>r�s3�� ���.�,�*� � � �8� $��|7�|7r

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JMadhan1/OneDefi-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server