Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Архітектура мережі Протоколу

Сумісне з CPP розгортання може поєднувати багато ваучерів і Пулів через необов’язкові реєстри, індекси, модулі котирування та пошук маршрутів на рівні застосунку. Кожен Пул залишається окремим сховищем із власною ліквідністю, власником, адміністратором проксі, конфігурацією та залежностями.

Grassroots Economics Foundation керує публічним застосунком на cosmolocal.credit. Інші інтерфейси й розгортання можуть використовувати той самий публічний протокол. Керування застосунком не робить GEF автоматично власником, емітентом, Куратором Пулу, отримувачем комісії або гарантом кожного показаного нижче контракту.

На сторінці Поняття й термінологія пояснено різницю між відповідальними ролями й технічними повноваженнями.

Можливі маршрути й виконання

Scroll horizontally to view the full diagram.

Спільний актив створює можливий шлях у графі, а не гарантований маршрут. У цьому прикладі ваучер A можна було б обміняти на проміжний актив у Пулі A, а потім проміжний актив — на ваучер B у Пулі B. Кожен крок усе одно залежить від поточного допуску токенів, лімітів Пулу, доступних запасів, налаштувань котирування й комісій, стану оракула, дозволів, меж транзакції та виконання в мережі.

SwapRouter лише викликає функції котирування Пулів уздовж запропонованого маршруту. Він не зберігає кошти, не схвалює токени й не виконує обміни. Інтегратор або сумісний застосунок може використати ці котирування, щоб побудувати впорядковані виклики схвалення й Пулів у підписаному пакеті смартоблікового запису. Це не означає, що поточний публічний застосунок пропонує багатокрокове виконання. Кожен крок розраховується на гаманець, перш ніж той самий гаманець передасть проміжний актив наступному Пулу. Інтегратор може налаштувати повернення всього пакета, якщо один із викликів не вдається.

Котирування є моментальними знімками. Навіть успішно розрахований маршрут може не виконатися або розрахуватися інакше, якщо відповідний стан зміниться до виконання. Обмежена версія SwapPool.withdraw додає захист minAmountOut і deadline для окремого кроку. Інтегратори мають вирішити, як застосовувати межі до всього маршруту.

Комісії Пулу залишаються у відповідному Пулі для подальшого збору. Протокольна комісія є додатковою й під час обміну передається безпосередньо з Пулу налаштованому отримувачу протоколу.

Внутрішня будова Пулу

Scroll horizontally to view the full diagram.

Реєстр, лімітер, модуль котирування, політика комісій і контролер протокольної комісії є необов’язковими. Без реєстру будь-який токен проходить перевірку допуску; без лімітера депозити не обмежені; без модуля котирування Пул використовує паритет сирих одиниць; без модулів комісій відповідні комісії дорівнюють нулю.

П’ять полів, які можна зафіксувати: feePolicy, feeAddress, quoter, tokenRegistry і tokenLimiter. Фіксація не дає поточному власнику Пулу замінити цю адресу через setter, але не заморожує внутрішній стан залежності. Адреса protocolFeeController і режим feesDecoupled не охоплені цими п’ятьма бітами фіксації. Можливість адміністратора проксі оновити Пул також відокремлена від фіксації.

Власник контракту може вивести доступну ліквідність Пулу на вибрану адресу. У режимі відокремлених комісій накопичені комісії резервуються й не виводяться цим шляхом; повноваження вивести решту ліквідності зберігається. Перш ніж покладатися на Пул, учасники мають перевірити власника, адміністратора проксі, контролерів залежностей, стан фіксації, отримувачів комісій та опубліковані правила Пулу.

Концептуальний дизайн цих контрактів — кураторство, оцінювання, обмеження, обмін і управління — описано в Білій книзі.