Документация
Мост
Мост между TUSD в Tint и USDT в Ethereum и BNB Chain: его строят и сначала пробуют в тестовых сетях Sepolia и BSC Testnet.
Тестовая сеть: монеты ничего не стоят
Как это работает
В каждой сети Ethereum-семейства живёт контракт моста. Он хранит токены и ничего не знает о сети Tint.
Ввод: из Ethereum или BNB Chain в Tint
- Вы вызываете
deposit(token, amount, tintAddress)у моста, называя адрес в Tint, на который нужно заплатить. Токен остаётся в контракте. - Контракт публикует событие ввода: токен, сумма, ваш адрес и адрес в Tint.
- Мост выплачивает такую же сумму
TUSDв сети Tint на этот адрес.
Вывод: из Tint в Ethereum или BNB Chain
- Вы платите
TUSDв Tint мосту и называете адрес в другой сети. - Подписанты моста видят, что платёж пришёл, и подписывают выплату.
- Затем любой может передать
release(token, to, amount, order, signatures)с подписями числом не меньше порога, по 65 байт каждая. Контракт проверяет их и выплачивает токены; подписи могут сделать только подписанты.
В каждой выплате есть номер order — хеш платежа в Tint. Контракт помнит все оплаченные номера, поэтому один платёж в Tint выплачивается один раз.
Что кастодиально сегодня
- Контракт доверяет своим подписантам: они выпускают только то, что действительно пришло в Tint. Для выплаты нужен порог подписей (например, 2 из 3) под сводкой в стиле EIP-712.
- Контракт доверяет своему владельцу: он называет честных подписантов. Владелец может менять правила, подписантов и ставить мост на паузу. Владение передаётся в два шага: сначала предлагается, потом принимается.
- Сегодня владельца и подписантов выбирает команда Tint. Если они нечестны или потеряют ключи, внесённые токены можно потерять или заморозить. Это и значит «кастодиальный».
Ограничения контракта
Они ограничивают ущерб от ошибки или украденного ключа. У каждого токена своё правило:
| Правило | Смысл |
|---|---|
| Включён | Открыты ли вообще вводы и выплаты этого токена. |
| Кратность | Каждая сумма должна делиться на это число, чтобы не терялась «пыль» между знаками токена (6 у USDT в Ethereum, 18 в BNB Chain) и 8 знаками Tint. |
| Минимум | Наименьшее, что может двигать один ввод или одна выплата. |
| Максимум | Наибольшее, что может двигать один ввод или одна выплата. |
| Дневной лимит | Наибольшее, что могут двигать вместе все выплаты одних суток UTC. |
| Пауза | Пока мост на паузе, ничего не вводится и не выплачивается. |
Что мост делает с приватностью
Сторона Ethereum публична. Событие ввода показывает токен, сумму, отправителя и адрес в Tint, на который он идёт. Выплата показывает получателя и сумму. Перевод через мост связывает ваш публичный адрес с адресом в Tint и суммой, так что считайте переход видимым. Когда TUSD оказались в Tint, платежи между записями снова приватны.
Тестовый токен
Чтобы пробовать мост там, где настоящих стейблкоинов нет, в репозитории лежит контракт TestDollar. Любой может выпустить себе немного, до предела за вызов, и стоит он ноль. У него 6 знаков, как у USDT в Ethereum, или 18, как у USDT в BNB Chain. Никогда не выпускайте его в сети с настоящими деньгами.
Состояние
- Контракт моста и тестовый токен написаны и покрыты тестами. Аудита у них нет.
- Часть со стороны Tint, то есть как выплачиваются вводы и замечаются выводы, ещё не опубликована, и описанный порядок может измениться.
- В кошельке мост показан как «скоро». Переводить пока нечего.