Skip to main content

DXSP (DeX SwaP), A defi swap helper package. Easy peasy Swap.

Project description

dxsp

DXSP (DeX SwaP), A defi swap helper package. Easy peasy Swap.

Pypi Version

Install

pip install dxsp

2 swap execution mode are supported:

  • Single SWAP via 1inch API v5 and Uniswap version 2 router DEX type
  • Limit SWAP via 1inch API v3

.Env

Mandatory

  • None

Optional

  • TOKENLIST: URL of a standard token list following tokenlist.org format
  • TESTTOKENLIST: URL of a standard testnet token list following tokenlist.org format

Example

example

import os
from dotenv import load_dotenv
import asyncio
from web3 import Web3
import many_abis as ma

#YOUR VARIABLES
load_dotenv()
#chain ID being used refer to https://chainlist.org/
chain_id = os.getenv("CHAIN_ID", 10)

#your wallet details
wallet_address = os.getenv("WALLET_ADDRESS", "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE")
private_key = os.getenv("PRIVATE_KEY", "0x111111111117dc0aa78b770fa6a738034120c302")

#1 for 1inch and 2 for Uniswap V2
protocol = os.getenv("PROTOCOL", "1")

#DATA from MANY_ABIS FOR RPC and EXCHANGE
chain = ma.get_chain_by_id(chain_id=int(chain_id))
network_provider_url = os.getenv("NETWORK_PROVIDER_URL", chain['rpc'][0])
dex_exchange = os.getenv("DEX_EXCHANGE", chain['dex'][0])

#Block explorer API from ETHERSCAN TYPE EXPLORER
block_explorer_api = os.getenv("BLOCK_EXPLORER_API", "1X23Q4ACZ5T3KXG67WIAH7X8C510F1972TM")

#DEX CONNECTIVITY
w3 = Web3(Web3.HTTPProvider(network_provider_url))


from dxsp import DexSwap

async def main():
	#SWAP HELPER
	dex = DexSwap(w3,chain_id,wallet_address,private_key,protocol,dex_exchange,block_explorer_api)


	#get Contract Address
	bitcoinaddress = await dex.get_contract_address('wBTC')
	print("bitcoinaddress ", bitcoinaddress)
	#

	# #get Contract Address
	bitcoinaddress2 = await dex.get_address('wBTC')
	print("bitcoinaddress2 ", bitcoinaddress2)
	#

	#getABI
	bitcoinABI = await dex.get_abi(bitcoinaddress)
	print("bitcoinABI ", bitcoinABI)
	# ABI

	#INPUT for QUOTE
	quote = await dex.get_quote('wBTC')
	print("quote ", quote)
	#

	#INPUT for a NORMAL SWAP
	transaction_amount_out = 10
	asset_out_symbol = "USDT"
	asset_in_symbol = "ETH"

	#SWAP EXECUTION
	transaction = await dex.get_swap(transaction_amount_out,asset_out_symbol,asset_in_symbol)
	print("transaction ", transaction)
	# 

if __name__ == "__main__":
    asyncio.run(main())

Real case

TalkyTrader, submit trading order to CEX & DEX with messaging platform (Telegram, Matrix and Discord)

Roadmap

V1

- Single SWAP via 1inch API v5 and Uniswap version 2 router
- Limit SWAP via 1inch API v3

V2

- Uniswap V3 Support
- Ox or other API based swap or orderbook platfrom

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dxsp-0.0.30.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

dxsp-0.0.30-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file dxsp-0.0.30.tar.gz.

File metadata

  • Download URL: dxsp-0.0.30.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for dxsp-0.0.30.tar.gz
Algorithm Hash digest
SHA256 a1367d370ad1d42a879f8ff2af132c3763c858585352c7e3a8de3f7ba25a8d29
MD5 408e86f485cf12bccbef1a1f79b7319c
BLAKE2b-256 509887e2f5adebc31327efec380e982df70e9e122f5e16d4c5d6aa39c375438d

See more details on using hashes here.

File details

Details for the file dxsp-0.0.30-py3-none-any.whl.

File metadata

  • Download URL: dxsp-0.0.30-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for dxsp-0.0.30-py3-none-any.whl
Algorithm Hash digest
SHA256 9c3a46c86563550ac644aa1e28b73c0ca7d084eedd139fe6bde2a26aa540e429
MD5 0027e56c4d546bd938209b19639fed93
BLAKE2b-256 4acc6ca0076c99abbb5dd37c2b8c085368f81755a89dbf41664af7b65375c576

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page