Назовите свой курс.Рынокпридёт к вам.
prove.cash — это книга заявок для обменов в PulseChain. Вы публикуете предложение по своему курсу. Оно остаётся открытым, пока кто-нибудь его не возьмёт. Ни цены пула, ни проскальзывания, ни транзакции от вас.
Оно исполняется по вашему курсу или лучше, или не исполняется вовсе. Вы можете позволить курсу со временем снижаться до порога: это минимум, на который вы согласны. Ещё вы можете разрешить исполнение по частям.
Пример подписанного предложения на фоне реальных цен UNI/AAVE.
- подписант
- 0x7a3f…c19d
- вы отдаёте
- до3 070
UNI
- вы получаете
- исполнено по122,129
AAVE
- исполнит
- любой
Вы получаете не меньше, чем просили
Контракт обязывает другую сторону заплатить подписанное вами число и округляет в вашу пользу. Если вы добавляете комиссию, приложение подписывает сумму побольше, чтобы её покрыть. Вы всё равно получаете то, что просили.
Исполнить может любой
Ни списка разрешённых, ни залога, ни регистрации. Газ платит тот, кто исполняет ваше предложение. Он оставляет себе всё, что рынок даёт сверх подписанного вами числа.
Публикация не стоит газа
Для публикации вашему браузеру нужно мгновение работы. Ни газа, ни транзакции, ни регистрации.
Как это работает
- вы
Подпишите предложение
Возьмите не больше этого количества одного токена, отдайте не меньше этого количества другого, внутри этого окна. Это всё обязательство.
- доска объявлений
Несёт предложение
Предложение идёт через доску объявлений, а не через блокчейн. Публикация стоит вашему браузеру мгновения работы. Ни транзакции, ни газа, ни аккаунта.
- любой
Исполняет его
Ни списка разрешённых, ни залога, ни регистрации. Тот, кто исполняет предложение, называется исполнителем. Он платит газ и число, которое вы подписали, и оставляет себе всё, что рынок даёт сверх этого.
Что вы подписываете, зависит от вашего токена
Ваши токены могут перейти при исполнении пятью способами. Приложение читает ваш токен и выбирает самый дешёвый из поддерживаемых, так что ошибиться с выбором вы не можете.
- 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 лежат в запись о развёртывании.
Подпишите одно и посмотрите.
Дайте нам адрес, и мы отметим токены, которые он уже перемещал в этой сети. Выберите один, и приложение откроется с ним. Цену вы всё равно задаёте сами и видите все затраты до того, как что-либо подпишете.
Или начните с любого из этих.