# Использование

Чтобы начать работать надо перейти в папку с пректом и запустить:

```
source venv/bin/activate
python3 main.py
```

Если все работает верно вы должны увидеть:

<figure><img src="https://2475328583-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FesbUG3xJGTTAL7IAJsVV%2Fuploads%2FgibvDLj6bsyTjQSnAYnN%2FkEsbtpr.png?alt=media&#x26;token=e2ac69b6-777c-4bcd-aca7-93ca65b50fc5" alt=""><figcaption></figcaption></figure>

Вводим цифру и нажимаем ENTER после чего скрипт начнет работу, запросит ввод данных или покажет следующие варианты меню.&#x20;

\
Для ввода данных можно использовать несколько вариантов:

**Contract (address / symbol / empty for native)** - ввод адреса контракта.

1. можно ввести адрес контракта в формате 0х0...
2. символ токена (только ETH, USDT, USDC, DAI, WBTC)
3. ничего не вводить, нажать ENTER - виберет ETH

**Swap amount (number / range / empty = ALL)** - ввод суммы:

1. число
2. промежуток чисел в виде 0.1-0.2 позволит каждый раз выбирать числа в диапазоне
3. ничего не вводить, нажать ENTER - означает "вся сумма".\
   Если свапаем ETH то скрипт всегда оставляет некоторую суму для комиссии. Эту суму можно самому настраивать в  **config/settings.py,** параметр `MIN_BALANCE_ETH`.

### 7.  Swaps - cвап через выбраный DEX

1. Вводим цифру 6 и нажимаем ENTER.
2. Выбираем один из протоколов (вводим цифру и нажимаем ENTER):

<figure><img src="https://2475328583-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FesbUG3xJGTTAL7IAJsVV%2Fuploads%2FBQi73KcWGx7JlcVmTk4s%2F2023-10-22_09-54.png?alt=media&#x26;token=433f867b-b6d4-48ff-b393-db0c032fe40a" alt=""><figcaption></figcaption></figure>

3. Вводим адрес или символ токена с какого свапать (пусто если ETH).
4. Вводим адрес или символ токена на какой свапать (пусто если ETH).
5. Вводим суму, диапазон или пусто (если вся сума).&#x20;

<figure><img src="https://2475328583-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FesbUG3xJGTTAL7IAJsVV%2Fuploads%2Fqs1saSydNu9WIak1odB0%2F2023-10-22_10-01.png?alt=media&#x26;token=02b947d1-70a4-4616-99c3-194a1c76c7e2" alt=""><figcaption></figcaption></figure>

6. Жмем ENTER и скрипт начинает работу.

### Рандомный свап&#x20;

Если выбрать пункт 7 в свапах, мы мы указываем сумму в ETH и запускаем 2 обмена через  **рандомный DEX**:

1. ETH > рандомный токен.
2. рандомный токен > ETH.

### 10. Run one random function... - запуск рандомной функции для каждого кошелька.

В файле `config/routes.py` есть список всех функций, которые можно выполнять. Для каждого кошелька рандомно выбирается одна из функций и запускается ее исполнение.

### 11. Run all functions... - построение рандомного маршрута и запуск нескольких функций.

Также использует файл `config/routes.py`, только выполняет все функции в рандомном порядке для каждого кошелька (случайным образом генерируется маршрут для каждого кошелька).<br>

### 12. Volume: wallet by wallet... - набивание объёмов.

**Настройка:**

1. В `config/.env` указываем данные API для основного аккаунта и для каждого суб-аккаунта который будете использовать. Также не забудьте добавить ваши кошельки starknet в whitelist для вывода из биржи.
2. В `config/settings.py`  надо указать свое значение `ETH_VOLUME_AMOUNT_PER_ACC` - это сума с каторой будет работать скрипт, по дефолту 2.5 ETH.
3. Так же можно указать `VOLUME_REPEAT` - количество повторений обмена USDC/USDT (3-4 стоит по дефолту). Каждое повторение ето +2 транзакции и примерно +3.75 ETH объема (75% от 5 ETH т.к. у нас borrow на zkLend).

**Весь путь выглядит набивание объёмов примерно так:**\
\- Маршрут начинается с вывода выбранной суммы ETH (рандом в пределах 3%) из OKX на первый кошельок. \
\- Депозитим ETH на ZkLend и одалживаем USDC (примерно 75% от суммы). \
\- Выбирается рандомный декс AVNU или SithSwap и выполняется обмен USDC>USDT, снова выбирается рандомный декс и меняем обратно USDT>USDC. Перед каждым повторением свапа у нас 50% вероятность вызвать рандомную функцию для построения более уникального маршрута.\
\- После необходимого количества повторов мы возвращаем USDC на zkLend (здесь скрипт может купить немного USDC, для того чтобы полностью покрыть сумму займа - делает свап в рандомном DEX) и выводим наши ETH. \
\- Следующим шагом мы выводим ETH на биржу и следим за балансами основного аккаунта и суб-аккаунтов (если средства поступят на суб-аккаунт, они будут переведены на основной аккаунт). \
\- Когда нужная сумма поступит на основной счет OKX мы все повторяем для следующего кошелька.

### 13. Find and run unused contract for wallet.

Анализирует историю транзакций кошелька и запускает один из ранее неиспользованных протоколов.
