# Самый пиздатый софт LayerZero

By [Thor Lab](https://paragraph.com/@th0masi) · 2023-04-28

---

**UPD. 30.04**

*   Была добавлена возможность использовать **Arbitrum**. (достаточно просто указать это в конфиге, ничего дополнительно менять не нужно)
    
*   Были **обработаны ошибки**, когда нам не хватило нативного токена для оплаты газа - теперь вы довыводим нативный токен по минималке и пытаемся еще раз сделать транзакцию
    
*   Полноценно добавлена биржа **MEXC** для вывода объемов/нативных токенов
    
*   Теперь если вы у вас на бирже нет средств для объема - бот будет пропускать этот аккаунт и идти делать следующий
    
*   добавлен полноценный, красивый лог (2 файла, один хранит всю информацию, второй только ошибки)
    

![all_transactions](https://storage.googleapis.com/papyrus_images/e5963d4df439452409b14584828e431455399326651169b7ca25157ad1475d5e.png)

all\_transactions

![failed_transactions](https://storage.googleapis.com/papyrus_images/24dca2425f42a437cded5677c1b729c831b7044811ebb42e629e7ac4ebe8381f.png)

failed\_transactions

Итак я в первую очередь хочу подробно рассказать как и над чем я работал последние 5 дня.

### Кратко о софте

*   генерация уникальных путей для каждого аккаунта
    
*   многопоточность
    
*   автосвапы токенов внутри бриджей _(кидаем USDT - получаем USDC)_
    
*   автоматический вывод с бирж нативных токенов и объемов
    
*   автодепозит объема обратно на биржу
    
*   автоматический додеп нативных токенов, если нам не хватает где-то на комиссию
    
*   автоматический расчет затрат на комиссии, исходя из сгенерированного пути
    
*   если баланса нативного токена достаточно, бот не будет выводить нативный токен
    
*   бриджи **harmony, btc.b** _(без обратного бриджа)_
    
*   бридж **core** с обратным выводом и возможностью указать сколько бриджей нужно сделать _(проще нагнать объемы, не берут % с объема, быстрый мост, бот делает транзакции только когда находится в сети BSC, в случайном порядке, в зависимости от сгенерированного пути)_
    
*   покупка btc.b и $STG
    
*   стейкинг $STG на указанное кол-во месяцев, в рандомной сети
    
*   ожидание транзакции через L0 реализовано через API _(софт точно знает когда придут средства в конечную сеть и идет дальше ебать L0)_
    
*   ожидание выводов происходит через проверку статуса вывода на бирже _(софт точно знает когда токены выведены и идет дальше ебашить)_
    
*   возможность отключить btcb/harmony/core/покупку и стейкинг $STG
    
*   _я заебался писать, вы лучше спросите чего этот софт не может_
    

Практически все рассчитано, все возможные исключения учтены. На текущий момент осталось затестировать многопоточность, добавить додеп если баланса не хватило и транза сфейлилась.

### Подробно о софте

Я реализовал практически ебнутую систему генерации путей, для каждого аккаунта генерируется рандомный путь. Все побочные действия _(Core, Harmony, $STG, Btc.b происходят в момент прохождения через нужную сеть, если путь решил 2 раза пройти через какую-то сеть он может разделить действия и к примеру, сделать Harmony в первой проходке, а Core вовторой)_

Выглядит примерно она так:

![](https://storage.googleapis.com/papyrus_images/f9e241ba39f3df04587130a3b2ac4944a5678f4a308cff4f77c661652fea9c63.png)

Вы сами можете указать количество бриджей через Stargate _(потому что все последующие действия добавляются уже в этот список)_

Далее вы можете в конфиге отключить все побочные действия: бриджи (Core, Harmony, Btc.b), стейкинг и покупку $STG, покупку и бридж BTC.b

Путь к тому же генерирует рандомные свапы внутри бриджей (токены не повторяются). вот еще пример:

![](https://storage.googleapis.com/papyrus_images/4bf6aeb1b4c4247c49586940847a1ad90ed49e244b753e426651faef5faa7c3a.png)

Часть условий для генерации: чтобы путь не начинался с Fantom _(туда не выведешь стейблы)_, не заканчивался BSC _(оттуда не задепозитишь на OKX)._

После генерации мы повторно проходимся по списку и считаем количество транзакций и их типы в каждой сети, прикидываем примерно сколько нужно комиссии и добавляем строки перед первым использованием сетью _(чтобы вывести нативный токен для комиссии)_

### Выводы с бирж

Как вы увидели наверное еще в генераторе путей Start и End записывают сети и токены. Эти данные нужны чтобы вывести объем и прогонять его и следить в каком токене нам нужно вывести объем и в каком закинуть. Из-за ограничений по свапу токенов внутри старгейта пришлось оставить только 2 токена: USDC/USDT.

Выводы с бирж: mexc, binance, okx

Я учел многие возможные ошибки: проверка текущего баланса нативного токена _(мы сравниваем нашу примерную сумму затрат и если она больше, только тогда делаем вывод нативного токена с биржи, в противном случае не делаем)_, проверка сгенерированной суммы _(если меньше минимальной суммы для биржи, то мы выводим минималку + от 1 до x%, который вы укажите в конфиге),_ комиссию за вывод мы будем прибавлять к сумме, вы так же можете указать какой токен вы будете выводить и с какой биржи в конфиге.

Последняя функция которую я почти дописал: додеп в случае если баланса нативного токена не хватает для оплаты комиссии, чтобы путь не прервался.

### Стейкинг $STG

Похвастаться особо нечем, сумму и время _(в месяцах)_ вы можете указать в конфиге. $STG покупается в рандомной сети: AVAX или Polygon и там же стейкается \*(опять же как сгенерирует путь)

Покупка $STG через 1inch\*

### Harmony / BTC.b

Эти бриджи мы юзаем безвозвратно, сумму вы можете указать в конфиге.

_Покупка $BTC.b через 1inch_

### Core bridge

Один из самых пиздатых и быстрых бриджов. В конфиге вы можете указать сколько раз бот, когда окажется в сети BSC сделает в/из Core бриджов. Бриджит он весь баланс - 1-10% (каждый раз рандомно), из Core он всегда возвращает весь баланс.

Бриджит он рандомно USDT/USDC. После бриджей он дальше идет по другим сетям через старгейт.

**В чем преимущество Core**Копеечные комиссии, не берут % с объема \* 5 транзакций туда обратно по 500 баксов ~5000 объема обойдутся вам в 3$ затрат на комиссии, старгейт же помимо комиссии l0 и сетей возьмет с вам 5$ и вот уже получается что:Stargate = 10$ затрат на 10 транзакцийCore = 3$ затрат на 10 транзакций\*

### Задержки

Я постарался как можно минимализировать вот эти угадывания когда придут средства в конечный блокчейн или с биржи, поэтому я добавил:

получение статуса вывода с биржи _(мы будем трекать когда средства выведутся и только тогда начинать что-то делать)_

получения статуса транзакции из API L0 \*(мы точно будем знать когда средства оказались в конечной сети)

\*помимо этого все транзакции проверяются на успешность и т.п.

### Обратный деп на биржу

Вы можете указать в конфиге чтобы бот депозитил на указанный заранее кошелек (1 к 1 с приватником), на который объем в итоге будет задепан обратно. Я рекомендую указывать окекс-адреса. Удобно и быстро!

Дополнительно, на следующей недели я напишу софт который будет пылесосить все остатки нативных токенов и так же их депать на указанный кошельки _(сделаю красиво чтобы и указать можно было из каких сетей или из всех сразу и т.п.)_

### Логирование

Здесь я немного наебался, надеюсь добавлю полное логирование всего происходящего, но делать это в конце уже немного сложно _(казалось бы все продумал, но нет). Логируются на текущий момент только ошибки, в них будет добавлено тип действия и сеть в которой возникла ошибка. Так же уникальные будут выводиться отдельным списком._

![](https://storage.googleapis.com/papyrus_images/3ba108b60a0a525393df6be7c05caa88d8fb82bf05a4da56dcd47cd501f1a8d8.png)

Я настолько устал, что мне лень редачить этот файл. Проект будет готов к вечеру воскресения \*(сегодня добавлю все о чем писал выше и буду делать финальные тесты)

\***Цена софта: 1700$** _по поводу покупки пишите в_ [_личку_](https://t.me/th0masi)

Дохуя? да, возможно сам процесс и время разработки не оправданы, но функционал полностью оправдан, в сравнении с похожими софтами.

С каждым буду лично общаться, вместе настраивать софт до момента запуска \*(при желании)

\***Сори, если кому-то не продам, буду продавать только людям, которых либо знаю лично, либо через какую-нибудь тетю Иру.**

Вот тут вы можете посмотреть как выглядит лог и конфиг файл:

[https://gist.github.com/th0masi/858fbbf34d7f4afaefb30f5d3a0a17f9](https://gist.github.com/th0masi/858fbbf34d7f4afaefb30f5d3a0a17f9)

Кошельки и ссылки не стал удалять - можете посмотреть транзакции. Там кстати есть баг-пасхалка. Если найдете вы большой молодец!

\*картинка кстати прикольная на статье, третий день вижу такие сообщение и радуюсь (нет)

---

*Originally published on [Thor Lab](https://paragraph.com/@th0masi/layerzero)*
