Назвіть свій курс.Ринокприйде до вас.
prove.cash — це книга заявок для обмінів у PulseChain. Ви публікуєте пропозицію за своїм курсом. Вона лишається відкритою, доки хтось її не візьме. Жодної ціни пулу, жодного прослизання, жодної транзакції від вас.
Вона виконується за вашим курсом або кращим, або не виконується зовсім. Ви можете дозволити курсу з часом знижуватися до порога: це мінімум, на який ви згодні. Ще ви можете дозволити виконання частинами.
Приклад підписаної пропозиції на тлі справжніх цін WETH/WBTC.
- підписант
- 0x7a3f…c19d
- ви віддаєте
- до28,46
WETH
- ви отримуєте
- виконано за0,844902
WBTC
- виконає
- будь-хто
Ви отримуєте щонайменше те, що просили
Контракт зобов’язує другу сторону сплатити підписане вами число й округлює на вашу користь. Якщо ви додаєте комісію, застосунок підписує більшу суму, щоб її покрити. Ви однаково отримуєте те, що просили.
Виконати може будь-хто
Жодного списку дозволених, жодної застави, жодної реєстрації. Газ платить той, хто виконує вашу пропозицію. Він лишає собі все, що ринок дає понад підписане вами число.
Публікація не коштує газу
Для публікації вашому браузеру потрібна мить роботи. Жодного газу, жодної транзакції, жодної реєстрації.
Як це працює
- ви
Підпишіть пропозицію
Візьміть не більше цієї кількості одного токена, віддайте не менше цієї кількості іншого, всередині цього вікна. Це все зобов’язання.
- дошка оголошень
Несе пропозицію
Пропозиція йде через дошку оголошень, а не через блокчейн. Публікація коштує вашому браузеру миті роботи. Жодної транзакції, жодного газу, жодного облікового запису.
- будь-хто
Виконує її
Жодного списку дозволених, жодної застави, жодної реєстрації. Того, хто виконує пропозицію, називають виконавцем. Він платить газ і число, яке ви підписали, та лишає собі все, що ринок дає понад це.
Що ви підписуєте, залежить від вашого токена
Ваші токени можуть перейти під час виконання п’ятьма способами. Застосунок читає ваш токен і обирає найдешевший із підтримуваних, тож помилитися з вибором ви не можете.
- EIP-30092 підписиТокен може рухатися за одним підписом. Ви ніколи не надсилаєте транзакцію, і ніщо не схвалено заздалегідь.
- EIP-2612 permit2 підписиДва підписи. Ваші токени лишаються в гаманці до тієї миті, коли хтось виконає пропозицію.
- Permit22 підписи, 1 tx один разСхваліть Permit2 один раз. Його адреса однакова в кожній мережі, і ніхто не може її змінити. Після цього кожна пропозиція — це два підписи, а вашому токену не потрібна особлива підтримка.
- дозвіл1 tx, один разСхваліть контракт один раз. Після цього кожна пропозиція — це один підпис.
- ескроу1 txВнесіть заздалегідь. Це коштує транзакції, а натомість пропозиція забезпечена, і виконавець може довіряти їй одразу.
Де лежать ваші токени.
Пропозиція сильна рівно настільки, наскільки сильне те, що за нею стоїть.
авторизація
забезпечено при виконанніТокени лишаються у вашому гаманці. Ваша підписана авторизація переводить їх у контракт саме в мить виконання.
- ви платите
- Коштує 2 підписи і 0 транзакцій
- вихід
- validBeforeВаш підпис переказує токени в мить виконання й прив’язаний до цієї однієї пропозиції. Термін його дії входить до самого підпису. Скасування в блокчейні одразу його припиняє.
ескроу
в ескроуТокени лежать у контракті, прив’язані до цієї однієї пропозиції, доки ви їх не заберете.
- ви платите
- Коштує 1 підпис і від 1 до 2 транзакції
- вихід
- withdraw · 1 txОдне виведення повертає ваші гроші й закриває пропозицію. Жодного періоду очікування, жодного кроку розблокування, жодного вікна, яке можна пропустити. З пропозицією, яку ви не фінансували, усе інакше: хтось інший може профінансувати її з грошей, що вже лежать на ваше ім’я. Скасуйте ті, які вам не потрібні.
перміт2
забезпечено при виконанніТокени лишаються у вашому гаманці. Ваш підписаний переказ Permit2 переводить їх у контракт саме в мить виконання, один раз і тільки один.
- ви платите
- Коштує 2 підписи і не більше 1 транзакція
- вихід
- deadlineПереказ через Permit2 спрацьовує один раз і спливає разом із пропозицією. Після нього в нас не лишається постійного дозволу. Ваше єдине схвалення йде самому Permit2, за адресою, яку ми не можемо змінити. Скасування в блокчейні одразу закриває пропозицію.
permit
у гаманціТокени лишаються у вашому гаманці, але на них видано дозвіл. Другий підпис задає цей дозвіл, тож ви не надсилаєте транзакцію. Ви все ще можете витратити токени до виконання, і тоді виконання не пройде.
- ви платите
- Коштує 2 підписи і 0 транзакцій
- вихід
- cancel · 1 txPermit — це дозвіл, заданий підписом, тож він не коштує транзакції. Проте це однаково дозвіл. Відкликання не закриває пропозицію, бо ваш підписаний permit знову задає дозвіл під час наступного виконання. Вимикач — це скасування. Сторонній, який першим використає ваш permit, не може зупинити виконання.
схвалення
у гаманціТокени лишаються у вашому гаманці, але на них видано дозвіл. Ви можете витратити їх до виконання, і тоді виконання не пройде.
- ви платите
- Коштує 1 підпис і не більше 1 транзакція
- вихід
- cancel · 1 txСхвалення відкликають на боці токена, де контракт цього не бачить. Відкликання зупиняє виконання, але не скасовує пропозицію. Схваліть цей токен знову пізніше, і пропозиція оживе. Закриває її лише скасування, і воно коштує одну транзакцію.
Увесь рахунок.
Виміряний газ, а не оцінки. Публікація безкоштовна. Решту платить той, хто виконує вашу пропозицію.
Звичайний випадок. На балансі отримувача вже є трохи цього токена.
Опублікувати пропозицію
ви- підписати її та повісити на дошкудоказ роботиДошка просить у вашого браузера мить роботи замість грошей. Жодного газу, жодної транзакції, жодної реєстрації.0
Профінансувати через ескроу
ви- внести, щоб пропозиція була забезпеченаперший дотикФінансування порожнього ескроу — це завжди перший дотик, тож теплої ціни в нього немає. Це необов’язково: дозвіл нічого не коштує заздалегідь.124 790
Виконати одну пропозицію
виконавець- з вашого дозволу115 763
- з ескроу123 037
- зі зворотним викликомчомуВиконавець позичає ваші токени, продає їх деінде й повертає борг у межах того самого виклику. Власні гроші йому не потрібні.130 533
Виконати двадцять за раз
виконавець- одна пара, на пропозицію57 245
- різні пари, на пропозицію62 945
- двадцять перша пропозиціяграничноСкільки додає ще одна пропозиція до пакета, який уже виконується. Це число вирішує, чи варто братися за тонку маржу.52 869
- зі зворотними викликами, на пропозицію+505 кредитПозика всередині пакета коштує трохи більше на кожній пропозиції. Це число — різниця: ще одна пропозиція зі зворотним викликом мінус ще одна без нього. Воно надто мале, щоб побачити його на цих стовпцях.56 579
В основній мережі тепле виконання коштує частку цента. Її платить виконавець, і він лишає собі все, що ринок дає понад підписане вами число.
Незнайомець платить ваш газ. Ось що він із цього має.
Ніхто не платить за газ незнайомця з доброти. Ви — мейкер. Той, хто виконує вашу пропозицію, — солвер. Він заробляє різницю між тим, що платить ринок, і числом, яке ви підписали. Це весь його дохід, і ось у що йому обходиться гонитва за ним.
що вони втрачають
Солвер платить газ за кожну пропозицію, яку пробує виконати, і лише потім дізнається, які виконалися. Виконання коштує 62 480 газу. Ці три випадки коштують газу й нічого не приносять.
пропозиція спливла
Коштує 13 327 gasПропозиція спливла між миттю, коли солвер її оцінив, і миттю, коли прийшов блок. Контракт відхиляє її раніше, ніж зрушить бодай один токен, тож це дешевий випадок.
хтось інший був швидший
Коштує 14 070 gasІнший солвер виконав ту саму пропозицію першим. На відкритій дошці це нормально: два солвери, що читають її, накладатимуться один на одного, і повільніший платить за дублікат.
той, хто виставив, забрав її назад
Коштує 76 389 gasПропозиція була придатна, коли солвер її перевірив. Потім мейкер забрав гроші до приходу блоку. Це єдиний збій, який хтось може влаштувати навмисно, і кожна спроба коштує мейкерові транзакції. Пропозицію, яка ніколи не була придатна, відсіюють до будь-якого надсилання, і вона нічого не коштує.
що вони заробляють
Те, що лишається, і більше нічого. Жодної комісії від нас, жодної знижки, жодного пріоритету, жодної черги. Солвер платить газ. Він платить число, яке ви підписали. Він лишає собі все, що лишилося. Ваша комісія виходить із підписаного вами числа, а не з того, що лишається солверові. Якщо не лишається нічого, він втрачає газ.
чому це безпечно для вас
Вони не зароблять більше, давши вам менше.
Ваш курс записано в підписі. Контракт бере із солвера це число, хоч би що робив ринок. Заробити більше солвер може лише завдяки кращій ціні на ринку, а не завдяки гіршій ціні для вас.
Ним може бути будь-хто.
Жодного списку допущених, жодної застави, жодної реєстрації, жодного стейкінгу. Солвер — це будь-яка адреса, що надсилає транзакцію. Нікого не можна не пустити, і нікого не можна втримати.
Вашу пропозицію виконує конкуренція.
Солвери не збивають вашу ціну. Її задаєте ви. Вони змагаються в тому, на яку тонку маржу готові погодитися. Що тонша вона стає, то більше пропозицій виконується за курсом, якого хотіли їхні мейкери.
Куди йдуть гроші
Одне виконання
відкрийте крок, щоб побачити розрахунокСкільки платить виконавець упродовж вікна
Пропозиція відкривається вище за те, що пул платить сьогодні, і знижується до закриття: з 1 005,17 DAI до 964,65 DAI за 24h 0m. Обидві суми — ті, що ви підписуєте. Відніміть комісію від кінцевої суми, і отримаєте поріг, який ви ввели. Пунктирні лінії — та сама пропозиція без комісії та з комісією два відсотки: одне введене число, три підписані суми. Кожна точка — місце, де ця пропозиція зустрічає ринок на намальованому тут тижні, після газу. На іншому тижні точки ляжуть інакше.Комісію платите ви, із суми, яку підписуєте. З вищою комісією пропозиція виконується пізніше. Більше комісія вам нічого не коштує.
Чого ніхто не може зробити з вами
Ви дещо підписали. Ось три речі, яких воно нікому не дозволяє, і де записана кожна з них.
Ніхто не може змінити те, що ви отримуєте.
Ваша ціна — у пропозиції, яку ви підписуєте. Контракт рахує з цього числа весь платіж, виймає з нього названу вами комісію, а решту платить вам. Там, де арифметиці треба округлити, вона округлює у ваш бік.
де перевірити_quote округлює валову суму вгору через _ceilDiv, комісію з неї округлює вниз і решту платить вам.Комісії на нашу користь немає, і немає перемикача, щоб її додати.
Комісія — це два числа в пропозиції, яку ви підписуєте: ставка й адреса, куди вона йде. Не вкажете адресу — нічого не стягується. Ми нічого з неї не беремо й не додаємо своєї. Код, який міг би стягувати комісію на нашу користь, видалено, тож жоден власник не може її ввімкнути. Для такої комісії потрібен інший контракт за іншою адресою, а ваш підпис прив’язаний до цього. Ніщо, вирішене пізніше, не зачіпає пропозиції, яку ви вже підписали.
де перевірити_quote бере i.feeRate і записує його на i.feeTo, а claim звідти його виплачує. Коміт 3961c2a видалив feeSink, feeFloorRate, protocolShare, feePolicy, setFees і setFeePolicy.Немає ані паузи, ані оновлення.
Жоден перемикач ніде не дотягується до ваших грошей. Власник може обрати, куди надсилати токени, що нікому не належать. Це весь список. Жодна функція власника не може витратити дозвіл, який ви дали.
де перевіритиsetDefaultProceeds і transferOwnership — єдині функції, закріплені за власником.
Двом людям заплатили, щоб вони спробували все це зламати: це перевірка безпеки та економічна перевірка. Кожну знахідку перевірки безпеки виправлено. Одна економічна знахідка навмисно лишається відкритою, і її власний тест підтверджує, що атака все ще працює. Це одне з одинадцяти обмежень, які ми виміряли, прийняли й записали. Обсяг аудиту, розбір статичного аналізу, контракти й тести лежать у один репозиторій. Адреси в PulseChain лежать у запис про розгортання.
Підпишіть одну і подивіться.
Дайте нам адресу, і ми позначимо токени, які вона вже переміщувала в цій мережі. Оберіть один, і застосунок відкриється з ним. Ціну ви однаково задаєте самі й бачите всі витрати до того, як щось підпишете.
Або почніть із будь-якого з цих.