Exemplo n.º 1
0
def test_wallet_address_set():

    with requests_mock.mock() as m:
        m.post('https://api.idex.market/returnNextNonce',
               json={'nonce': 1},
               status_code=200)
        client = Client(api_key, address)
        client.get_my_next_nonce()
Exemplo n.º 2
0
def test_wallet_address_not_set():

    client = Client(api_key)
    with pytest.raises(IdexWalletAddressNotFoundException):
        with requests_mock.mock() as m:
            m.post('https://api.idex.market/returnNextNonce',
                   json={},
                   status_code=200)
            client.get_my_next_nonce()
Exemplo n.º 3
0
def test_wallet_address_set():
    """Test valid currency"""

    client = Client('0x926cfc20de3f3bdba2d6e7d75dbb1d0a3f93b9a2')

    with requests_mock.mock() as m:
        m.post('https://api.idex.market/returnNextNonce',
               json=json_res,
               status_code=200)
        client.get_my_next_nonce()
Exemplo n.º 4
0
def test_private_key_not_set():
    """Test invalid currency"""

    client = Client('0x926cfc20de3f3bdba2d6e7d75dbb1d0a3f93b9a2')
    with pytest.raises(IdexPrivateKeyNotFoundException):
        with requests_mock.mock() as m:
            m.post('https://api.idex.market/cancel',
                   json=json_res,
                   status_code=200)
            client.cancel_order(
                '0xcfe4018c59e50e0e1964c979e6213ce5eb8c751cbc98a44251eb48a0985adc52'
            )
Exemplo n.º 5
0
def test_private_key_set():
    """Test private key is set"""

    with requests_mock.mock() as m:
        m.post('https://api.idex.market/returnNextNonce',
               json={'nonce': 1},
               status_code=200)
        m.post('https://api.idex.market/cancel',
               json=json_res,
               status_code=200)
        client = Client(api_key, address, private_key)
        client.cancel_order(
            '0xcfe4018c59e50e0e1964c979e6213ce5eb8c751cbc98a44251eb48a0985adc52'
        )
def test_private_key_set():
    """Test private key is set"""

    client = Client(
        '0x926cfc20de3f3bdba2d6e7d75dbb1d0a3f93b9a2',
        '0xcfe4018c59e50e0e1964c979e6213ce5eb8c751cbc98a44251eb48a0985adc52')

    with requests_mock.mock() as m:
        m.post('https://api.idex.market/cancel',
               json=json_res,
               status_code=200)
        client.cancel_order(
            '0xcfe4018c59e50e0e1964c979e6213ce5eb8c751cbc98a44251eb48a0985adc52'
        )
Exemplo n.º 7
0
 def __init__(
     self,
     account_name='',
     api_key="0x0000000000000000000000000000000000000000",
     api_secret="0xvxdlk4xjau61mzedukz40us75qqxm9uahimpn912rmm36ai1d45sn7wx4qg6uhaw"
 ):
     super().__init__("idex", account_name, api_key, api_secret)
     self.idexClient = IdexClient(self.api_key, self.api_secret)
Exemplo n.º 8
0
class Idex:
    def __init__(self):
        self.client = Client(s.IDEX_API_KEY, s.IDEX_ADDRESS, s.IDEX_PRIVATE_KEY)

    def get_ticker(self, symbol):
        item = self.client.get_ticker("_".join(reversed(symbol)))
        item.update(symbol="".join(symbol), ticker=symbol[0])
        return item
Exemplo n.º 9
0
def _process_idex(_, symbol):
    client = IdexClient(s.IDEX_API_KEY, s.IDEX_ADDRESS, s.IDEX_PRIVATE_KEY)

    order_book = client.get_order_book(market="_".join(reversed(symbol)),
                                       count=100)

    _order_book = {
        "asks": [],
        "bids": [],
    }

    for x in (
            "asks",
            "bids",
    ):
        for xx in order_book[x]:
            _order_book[x].append([xx["price"], xx["amount"]])

    _process("{}{}".format(*symbol),
             _order_book,
             offset=ORDER_BOOK_IDEX_OFFSET)
def test_private_key_invalid():
    """Test private key is not valid"""

    with pytest.raises(IdexException):
        keys = [
            '0xcfe4018c59e50e0e1964c979e6213ce5eb8c751cbc98a44251eb48a0985adc5'  # too short
            '0xcfe4018c59e50e0e1964c979e6213ce5eb8c751cbc98a44251eb48a0985adc555'  # too long
            '0xcxe4018c59ex0e0e1964c979e6213ce5eb8c751cbc98a44251eb48a0985adc555'  # invalid chars
            'aacfe4018c59e50e0e1964c979e6213ce5eb8c751cbc98a44251eb48a0985adc5'  # not prefix
        ]
        for key in keys:
            client = Client('0x926cfc20de3f3bdba2d6e7d75dbb1d0a3f93b9a2', key)
Exemplo n.º 11
0
    def __init__(self, exchangeName, apiKeyFirst, addressFirst, apiSecretFirst, \
                 apiKeySecond, addressSecond, apiSecretSecond, \
                 apiKeyThird = None, addressThird=None, apiSecretThird = None, \
                 apiKeyFourth = None, addressFourth=None, apiSecretFourth = None, \
                apiKeyFifth = None, addressFifth=None, apiSecretFifth = None):

        if exchangeName == self.IDEX_IDENT:
            exchangeFirstClient = Client(apiKeyFirst, addressFirst,
                                         apiSecretFirst)
            exchangeSecondClient = Client(apiKeySecond, addressSecond,
                                          apiSecretSecond)
            exchangeThirdClient = Client(apiKeyThird, addressThird,
                                         apiSecretThird)
            exchangeFourthClient = Client(apiKeyFourth, addressFourth,
                                          apiSecretFourth)
            exchangeFifthClient = Client(apiKeyFifth, addressFifth,
                                         apiSecretFifth)

            self.clientlist = [
                exchangeFirstClient, exchangeSecondClient, exchangeThirdClient,
                exchangeFourthClient, exchangeFifthClient
            ]

            # remove wallet if the address is invalid or has a balance of 0
            self.clients = []

            for clientCheck in self.clientlist:
                wallet_address = clientCheck.get_wallet_address()
                print(wallet_address)

                if wallet_address:
                    self.clients.append(clientCheck)

            self.exchange = self.clients[0]

            if (len(self.clients) < 2):
                sys.exit()

        self.isOrder = False
        self.exchangeName = exchangeName
Exemplo n.º 12
0
class IdexLogic(BaseExchangeBL):
    def __init__(
        self,
        account_name='',
        api_key="0x0000000000000000000000000000000000000000",
        api_secret="0xvxdlk4xjau61mzedukz40us75qqxm9uahimpn912rmm36ai1d45sn7wx4qg6uhaw"
    ):
        super().__init__("idex", account_name, api_key, api_secret)
        self.idexClient = IdexClient(self.api_key, self.api_secret)

    def getSymbolsFromExchange(self):
        data = self.idexClient.get_currencies()
        symbols = set([])
        for item in data:
            if item not in symbols and item != '000':
                symbols.add((item, self.exchangeName))
        return symbols
Exemplo n.º 13
0
#!/usr/bin/env python
# coding=utf-8

from idex.client import Client
from idex.exceptions import IdexCurrencyNotFoundException
import pytest
import requests_mock


client = Client()

currency_res = {
    "ETH": {
        "decimals": 18,
        "address": '0x0000000000000000000000000000000000000000',
        "name": 'Ether'
    },
    "REP": {
        "decimals": 8,
        "address": '0xc853ba17650d32daba343294998ea4e33e7a48b9',
        "name": 'Reputation'
    },
    "DVIP": {
        "decimals": 8,
        "address": '0xf59fad2879fb8380ffa6049a48abf9c9959b3b5c',
        "name": 'Aurora'
    }
}


def test_valid_currency():
Exemplo n.º 14
0
#!/usr/bin/env python
# coding=utf-8

from decimal import *

from idex.client import Client
from idex.exceptions import IdexCurrencyNotFoundException
import pytest
import requests_mock

api_key = 'api:jVXLd5h1bEYcKgZbQru2k'
client = Client(api_key)

currencies_json = {
    "ETH": {
        "name": "Ether",
        "decimals": 18,
        "address": "0x0000000000000000000000000000000000000000"
    },
    "EAGLE": {
        "name": "Eagle",
        "address": "0x0000000000000000000000000000000000000000"
    },
}

examples = [
    ['ETH', '3100000000000000000000', 3100],
    ['ETH', '400000000000000000', 0.4],
    ['ETH', '1', 0.000000000000000001],
    ['ETH', '8', 0.000000000000000008],
    ['ETH', '888', 0.000000000000000888],
Exemplo n.º 15
0
 def __init__(self):
     self.client = Client(s.IDEX_API_KEY, s.IDEX_ADDRESS, s.IDEX_PRIVATE_KEY)