گره های Uniswap v2 – جامعه dev

Uniswap-v2.md
https://youtu.be/t0nzq8smywu
مبادله کردن
swapexacttokensfortokens () -> getAmountSout ()
swaptokensforexacttokens () -> getAmountSin ()
نحوه تماس مستقیم با تعویض در قرارداد جفت:
//@ztmy before directly call the pair contract instead of calling the router contract:
// 1. transfer token to pair
// 2. excute UniswapV2Library.getAmountsOut to calculate the amount0Out, amount1Out
uint256 amountOut = params.isZeroForOne
? getAmountOut(params.amountOut, reserve1, reserve0)
: getAmountOut(params.amountOut, reserve0, reserve1);
// transfer eth borrow form loan swap to pair1
IERC20(tokenOut).transfer(params.pair1, params.amountOut);
// git DAI form pair1
IUniswapV2Pair(params.pair1).swap({
amount0Out: params.isZeroForOne ? amountOut : 0, // 10682631633961643998417
amount1Out: params.isZeroForOne ? 0 : amountOut, // 0
to: address(this),
data: ""
});
قیمت نقطه (قیمت متوسط) = قیمت فعلی = x0 / y0
قیمت اجرایی
دلیل لغزش: جنبش بازار
ایجاد کننده
1 بایت = 8 بیت = 2 کاراکتر هگز
طول آدرس اتریوم = 20 بایت = 40 شخصیت شش ضلعی = یک عدد صحیح اعشاری بیش از 48 بیت
برای اطمینان از اینکه قرارداد uniSWAPV2PAIR فقط به Token0 بستگی دارد ، Token1 که می توان آن را از Token0 و Token1 محاسبه کرد ، برای آرگومان سازنده قرارداد UNISWAPV2PAIR هیچ چیزی را منتقل نمی کند ، آن را به نام اولیه برای تنظیم Token0 ، Token1 می نامد.
نقدینگی را اضافه کنید
مقدار نشانه های موجود در این AMM توسط این نکته شرح داده شده است.
هنگامی که ما در حال اضافه کردن نقدینگی هستیم این است که مقدار حاصل از Token X و Token y بیشتر باید در این خط باشد.
سه راه برای تعریف مقدار استخر:
پس از اضافه کردن نقدینگی ، سهام استخر را دریافت کنید:
مبادله فلش (وام فلش)
هزینه مبادله فلش از هزینه مبادله است.
// Uniswap V2 callback
if (data.length > 0) IUniswapV2Callee(to).uniswapV2Call(msg.sender, amount0Out, amount1Out, data);
خطر قیمت نقطه AMM به عنوان یک قیمت قیمت ، دستکاری قیمت نقطه بود.
TWAP- (قیمت متوسط وزن)
قیمت تجمعی
با استفاده از قیمت تجمعی برای محاسبه TWAP
uint256(uint224(y) * 2**112 / uint224(x)) = (y / x) * 2^112
شماره ثابت روشی برای نشان دادن اعداد اعشاری با استفاده از عدد صحیح است. برای شبیه سازی حسابی اعشاری در سیستم ها (مانند استحکام) که از حسابی نقطه شناور پشتیبانی نمی کنند.
داوری
uniSwapv2Arb1
- استریراژ را بین سه قرارداد uniSwapv2pair اجرا کنید
- model_1 در uniSwap_v2_arb.png (قرض گرفتن دای و بازگشت دای)
- هزینه مبادله در پایان محاسبه می شود.
- در این تمرین ما با قرارداد روتر تماس خواهیم گرفت (swapexacttokensfortokens)
uniSwapv2Arb2
- استریراژ را بین دو قرارداد uniSwapv2pair اجرا کنید
- Model_1 در uniSwap_v2_arb.png (وام و بازگشت DAI)
- محاسبه هزینه مبادله در فرآیند وام (GetAmountOut) گنجانده شده است.
- در این تمرین باید به جای تماس با قرارداد روتر ، مستقیماً با قرارداد زوج تماس بگیریم.
مقدار بهینه داوری در