Skip to main content

DeDust - DeDust SDK for Python.

Project description

DeDust SDK for Python

Analogue of DeDust SDK for Python.

Description

You can swap tokens, deposit liquidity and many more.

Getting Started

Dependencies

  • httpx
  • tonsdk

Installing

pip install dedust

Using

Example of buying $SCALE using SDK.

from dedust import Asset, Factory, PoolType, SwapParams, VaultNative
from dedust.api import Provider
import asyncio
import time
from tonsdk.utils import Address, bytes_to_b64str
from tonsdk.contract.wallet import Wallets, WalletVersionEnum

mnemonics = ["your", "mnemonics", "here"]

mnemonics, pub_k, priv_k, wallet = Wallets.from_mnemonics(mnemonics=mnemonics, version=WalletVersionEnum.v4r2,
                                                          workchain=0)
async def main():
    provider = Provider()

    SCALE_ADDRESS = Address("EQBlqsm144Dq6SjbPI4jjZvA1hqTIP3CvHovbIfW_t-SCALE")

    TON = Asset.native()
    SCALE = Asset.jetton(SCALE_ADDRESS)


    pool = await Factory.get_pool(pool_type=PoolType.VOLATILE,
                                  assets=[TON, SCALE],
                                  provider=provider)
                                  
    swap_params = SwapParams(deadline=int(time.time() + 60 * 5),
                             recipient_address=wallet.address)
    swap_amount = float(input("Enter swap TON amount: ")) * 1e9


    swap = VaultNative.create_swap_payload(amount=swap_amount,
                                           pool_address=pool.address,
                                           swap_params=swap_params)

    swap_amount = int(swap_amount + (0.25 * 1e9)) # 0.25 = gas_value

    seqno = await provider.runGetMethod(address=wallet.address, method="seqno")
    query = wallet.create_transfer_message(to_addr=Address("EQDa4VOnTYlLvDJ0gZjNYm5PXfSmmtL6Vs6A_CZEtXCNICq_"),
                                           amount=swap_amount,
                                           seqno=seqno[0]["value"],
                                           payload=swap)

    boc = bytes_to_b64str(query["message"].to_boc(False))
    await provider.sendBoc(boc)

    # or:
    # print(f"https://app.tonkeeper.com/transfer/EQDa4VOnTYlLvDJ0gZjNYm5PXfSmmtL6Vs6A_CZEtXCNICq_?amount={swap_amount}&bin={bytes_to_b64str(swap.to_boc(False))}")

asyncio.run(main())

Authors

@shibdev @VladPavly

Version History

  • 1.0.5
    • Changes
  • 1.0.4
    • Bug fix
  • 1.0.3
    • Fixes
  • 1.0.2
    • Fixes and changes
  • 1.0.1
    • Small fix
  • 1.0.0
    • Remake to DeDust SDK analogue
  • 0.0.5
    • License change
  • 0.0.4
    • Dependecies fix
  • 0.0.3
    • Examples fix
  • 0.0.2
    • LP token address getting
  • 0.0.1
    • Initial Beta

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Donate

If you like the library, I will be glad to accept donations.

  • TON: EQCgphx8rTI0PukwmgpVqiPgqguTujhQscg2h7jgc4U0t347

Acknowledgments

Project details


Download files

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

Source Distribution

dedust_tonsdk-1.0.5.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dedust_tonsdk-1.0.5-py2.py3-none-any.whl (16.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file dedust_tonsdk-1.0.5.tar.gz.

File metadata

  • Download URL: dedust_tonsdk-1.0.5.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for dedust_tonsdk-1.0.5.tar.gz
Algorithm Hash digest
SHA256 03f7bc51b281223cf9af7ad145be8fec8285b48e27e9d979093e2fd9dab5ba2e
MD5 692c3589bcac60750e2be3c08df24acb
BLAKE2b-256 641e6ed6132cba9c7c90183d3570e85f5575cdb4f4ee9aaf33684d60710db56f

See more details on using hashes here.

File details

Details for the file dedust_tonsdk-1.0.5-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for dedust_tonsdk-1.0.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e7f3f2c9c610d75d5535a8d77775979dc052e9410f73e1930e13c2c4a4282eae
MD5 225baa8124c7b3f2ca2f22ee35184cbc
BLAKE2b-256 3eb72afe2543aae639afdc6eecec29d8a5023759a8787fe216ff8d4577d5f612

See more details on using hashes here.

Supported by

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