🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

hashflow-python

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hashflow-python

Python SDK to interact with hashflow Smart Contracts

10.7.0
PyPI
Maintainers
2

Install Packages

pip install hashflow-python

Example Usage

Initialize the client

from hashflow.client import Client

# create a new client with a private key (string or bytearray)
hflow = Client(
    private_key='0x4f3edf983ac636a65a842ce7c78d9aa706d3b113bce9c46f30d7d21715b23b1d',
    network_id = 1,
    node='https://mainnet.infura.io/v3/00000000000000000000000000000000'
)

Interacting with the protocol

# set eip 1559 gas fees. in options. Nonce is optional and only needed if resubmitting a tx.
options = { 'maxFeePerGas' : 500000000000, 'maxPriorityFeePerGas': 5000000000, 'nonce': 11}
# create a new hashflow pool
  hflow.main.factory.create_pool(name='hash42', signer=signer, admin=admin, options=options)

# fetch pool addresses deployed using operations key
  hflow.main.factory.pools(operations, options)

# set hashflow allowance
hflow.main.erc20.set_maximum_allowance(token, options)

# check allowance
hflow.main.erc20.allowance(token, owner,spender, options)

# To add Eth liquidity set token address to zero address 
hflow.main.router.add_liquidity_private_pool(pool, token, amount, options)
hflow.main.router.add_liquidity_public_pool(pool, token, amount, options)

# Optionally pass binance account address to transfer funds directly
hflow.main.router.remove_liquidity_private_pool(pool, token, amount, recipient=binance, options)
# To remove liquidity from public pools LPs must burn native h-tokens
hflow.main.router.remove_liquidity_public_pool(pool, token, burn_amount, options)

# Transfer assets to CeFi venues to rebalance
hflow.main.pool.transfer_assets(pool, token, recipient, amount, options)


# generate quote 
quote = utils.Quote(pool,eoa, trader, effective_trader, base_token_address, quote_token_address, base_token_amount, quote_token_amount, fees, expiry, flag, txid, k_value, trade_eoa)

# hash quote 
quote_digest = hflow.main.hash_quote(quote)

# hash quote for EOA
quote_digest = hflow.main.hash_quote_eoa(quote)

# sign quote
signed_quote = utils.sign_digest(quote_digest, signer_private_key)

# trade 
#effective_base_token_amount is optional arg if you wanna do routing.
hflow.main.router.trade_single_hop(quote, signed_quote, effective_base_token_amount, options)

Keywords

hashflow exchange api defi ethereum eth

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts