Мне интересна тема AMM, но я опять прошу прощения я ничего не понял.
Но сразу скажу что у меня есть уже опыт - я недавно создал DeFi, который совмещает с собой стейблкоин (USD) и Своп. Своп классический - аналогичен uniswap, поэтому я думаю что хорошо представляю как работает uniswap. В нем AMM - стандартный. Добавлены только варианты защиты от манипуляций курсом.
Вот пример работы этого свопа:
ОбменСмарт-контракт содержит резервы ликвидности TERA и USD, и сделки совершаются непосредственно против этих резервов. Цены устанавливаются автоматически с помощью механизма маркет-мейкера (x*y=k), который поддерживает общие резервы в относительном равновесии. Обмен ведется в предположении постоянства значения TeraSwapPool * USDSwapPool = Invariant. Этот инвариант не изменяется и остается практически одной и той же константой при всех обменах (комиссия незначительно влияет на инвариант), существенно он изменяется только при добавлении или удалении ликвидности.
Обмен Тера на USDПри таком обмене увеличивается
TeraSwapPool и уменьшается
USDSwapPoolvar AmountFee=AmountTera*KFee;
var Invariant=TeraSwapPool * USDSwapPool;
var TeraSwapPoolNew = TeraSwapPool + AmountTera;
var USDSwapPoolNew = Invariant/(TeraSwapPoolNew - AmountFee);
var USDOut = USDSwapPool - USDSwapPoolNew;
TeraSwapPool = TeraSwapPoolNew;
USDSwapPool = USDSwapPoolNew;
Более подробно в документации (RUS:
https://docs.google.com/document/d/1iTp9gjpwa4KTqkh1TCy_-kccPdTDFDH2uSD-vWgZqQs/edit?usp=sharing )
Обратная операция фактически симметрична, поэтому не буду приводить. Таким образом я хочу сказать что нет никакой цены ASK или BID. Есть только движение по кривой x*y=k