Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Расписать функционал по свапу #143

Open
Xyzjesus opened this issue Apr 13, 2023 · 2 comments
Open

Расписать функционал по свапу #143

Xyzjesus opened this issue Apr 13, 2023 · 2 comments
Assignees

Comments

@Xyzjesus
Copy link
Contributor

Image
кнопка swap - метод из контракта swap https://cyb.ai/network/bostrom/tx/EEC124B6F64A36AE1E6C9E93763C3241EC170FECF91B655A72E93BB73B6E2734
еще один метод - swap and send to - https://cyb.ai/network/bostrom/tx/5812C8E0BED38C3FC4F635E510783FE88D358FED675475BA95471882720C4697
поменять и отправить на конкретный адрес.

кнопка add liquidity, метод add liquidity
https://cyb.ai/network/bostrom/tx/5892854C5CDDE554BDB8EB176C03117C686003ED7F9664A37E2FFE47769B2EE6
Image

кнопка депозит - метод increase который депозитит amount на адрес контракта созданной пары
этот метод нужно отрабатывать для каждого токена из двух.
https://cyb.ai/network/bostrom/tx/9ABD49CF8D088BE4A948753B8C231245FB969A2C183A751A12456434EDE0DB20
Image

кнопка withdraw - метод decrease_allowance
https://cyb.ai/network/bostrom/tx/0061F12873F081D15FF97FE1D880A957187CB3342784F69BAA88C1605E2CC49A
Image

методы decrease и increase - это методы из контракта токена.
методы swap - из контракта свапа ID 9 https://cyb.ai/libs/9

все методы лежат в схемах https://github.com/Wasmswap/wasmswap-contracts/tree/main/schema
чтобы проверить любой метод или потестить квери, можно зайти в контракт пары
Image

загрузить схему и делать квери/экзекьюты или если они не работают писать методы вручную

Image

Image

думаю что все пулы тоже можно через квери выводить

@arvitaly
Copy link
Collaborator

arvitaly commented Jun 18, 2023

Вопросы

  1. Пока не ясно список пулов где хранить (либо фабрика пулов, либо бэкенд)
  2. Что такое bonded, ARP и почему ликвидити показываем в баксах
  3. Как добавлять ликвидность и с какими параметрами
  4. Как расчитывать max token 2 и min liquidity

Ответы

  1. Обычно биржи создают фабрику пулов и если пулов не миллионы, то можно реализовать кэш списка на клиенте. При заходе на страницу, сравнивать количество в кеше с количеством в контракте фабрики и подсасывать недостающие в кеш.

APR - это ежегодный доход в процентах, рассчитывать его на фронте слишком долго, а в контракте слишком дорого. Т.е. нужен бекенд.

My liquidity в долларах - токены должены листиться на централизованных биржах, либо можно обращаться к пулам СТЕЙБЛ<->ТОКЕН или ВАЛЮТА_С_ЦЕНОЙ_В_USD <-> ТОКЕН , но такие должны быть. Просто так цену в долларах взять негде

  1. Ликвидность добавляется с помощью метода add_liquidity {min_liquidity, token1_amount, max_token2}

min_liquidity - это сколько минимально юзер хочет получить ликвидности в общем объеме за вложенные токены. Если расчетная ливидность будет меньше, то метод вызовет ошибку. Если не закладывать в интерфейс, можно указывать 0, будет игнорироваться проверка.
token1_amount - точно количество токенов первого типа (в контракте всегда есть TOKEN1 и TOKEN2 и они не меняются местами)
max_token2 - количество токенов типа 2, которые юзер готов вложить в этот пул в этой транзакции.

Для того чтобы правильно передать max_token2 нужно узнать текущую цену token1/token2 с помощью метода token1_for_token2_price { token1_amount } + заложить возможность проскальзывания цены (обычно в интерфейсе указывается в процентах, можно заложить фиксированное).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants