Esempio n. 1
0
def get_slippage_percentage(front_runner_data: FrontRunnerData, w3: Web3,
                            uniswap_wrapper: Uniswap):
    value_villain_tx = int(w3.toJSON(front_runner_data.tx['value']))
    coin_villain = front_runner_data.input_decoded[1]['path'][1]
    front_runner_data.public_amount_min = uniswap_wrapper.get_eth_token_input_price(
        coin_villain, value_villain_tx)
    front_runner_data.amount_min = front_runner_data.input_decoded[1][
        'amountOutMin']
    front_runner_data.trade_amount = front_runner_data.public_amount_min - front_runner_data.amount_min

    print_debug_info(front_runner_data, w3)

    return (front_runner_data.public_amount_min -
            front_runner_data.amount_min) / front_runner_data.amount_min * 100
Esempio n. 2
0
fl_tax = 0.0009

for token_key in tokens:
    if token_key not in blacklist:
        _token_address = tokens[token_key][0]
        _token_id = tokens[token_key][1]
        print(f"\nFinding arbitrage for {token_key}:{_token_id} at {_token_address}")

        # Flash Loan Fee
        _fl_fee = int(invest*fl_tax)
        # First Trade Fee
        _fee = int(invest*ex_tax)
        _remaining = invest - _fee

        ##### EXCHANGE 1: BUY IN V1, SELL IN V2
        _take_v1 = uniswap_v1.get_eth_token_input_price(_token_address, _remaining)
        # Second Trade Fee
        _fee = int(_take_v1*ex_tax)
        _remaining_1 = _take_v1 - _fee
        # Second Trade
        _give_v2 = uniswap_v2.get_token_eth_input_price(_token_address, _remaining_1)
        _give_v2 = _give_v2 - _fl_fee

        ##### EXCHANGE 2: BUY IN V2, SELL IN V1
        _take_v2 = uniswap_v2.get_eth_token_input_price(_token_address, _remaining)
        # Second Trade Fee
        _fee = int(_take_v2*ex_tax)
        _remaining_2 = _take_v2 - _fee
        # Second Trade
        _give_v1 = uniswap_v1.get_token_eth_input_price(_token_address, _remaining_2)
        _give_v1 = _give_v1 - _fl_fee
Esempio n. 3
0
from uniswap import Uniswap
address = "0x0000000000000000000000000000000000000001"
private_key = None
PROVIDER = "https://mainnet.infura.io/v3/PRIVATE-KEY"

uniswap_wrapper = Uniswap(address, private_key, provider=PROVIDER, version=2)
eth_c = "0x0000000000000000000000000000000000000000"
bat = "0x0D8775F648430679A709E98d2b0Cb6250d2887EF"
dai = "0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359"
usdt = "0xdAC17F958D2ee523a2206206994597C13D831ec7"
uni = "0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984"

dai_rate = uniswap_wrapper.get_eth_token_input_price(dai, 5 * 10**18)
bat_rate = uniswap_wrapper.get_eth_token_input_price(bat, 1 * 10**18)

print(dai_rate)
print(bat_rate)

conversion = ((1 / bat_rate) * (dai_rate / 10**6)) * (10**18)
print(conversion)
print('${:,.2f}'.format(conversion))