Перевод взаимозаменяемых токенов
Last updated
Last updated
Обзор Fungible Token Bridging Когда планируется перевести токен в чейн назначения, где токен еще не был запущен, схема выглядит следующим образом:
Два контракта развертываются (командой Celer) как на начальном, так и на конечном чейне: и ;
TokenVault
: для депозита или снятия оригинальных токенов
PeggedToken
: для майнинга или сжигания привязанных токенов.
Релееры будут развернуты на исходных и конечных чейнах для получения мультисиговых аттестаций SGN и вызова контрактов TokenVault
и PeggedToken
.
Сеть Celer служит маршрутизатором сообщений для кросс-чейн переводов. Это блокчейн с функцией Proof-of-Stake (PoS), построенный на Tendermint. Ноды валидаторов должны застейкать $CELR, чтобы присоединиться к процессу консенсуса в SGN.
Когда пользователь переводит токен роллап ERC20 из роллапа в исходный чейн или другой конечный чейн, соединение токенов будет поддерживаться моделью Lock-and-Mint
, так что поток активов будет таким:
Оригинальные токены пользователя будут заблокированы в контракте TokenVault
на роллапе.
После получения события депозита SGN сгенерирует мультисиг-аттестат для майнинга соответствующего количества привязанных токенов на исходном или конечном чейне.
Релеер получает мультисиг SGN.
Релеер вызывает контракт PeggedToken с мультисигом.
Соответствующее количество токенов будет отчеканено в соотношении 1:1 контрактом PeggedToken и отправлено на счет пользователя на исходном или конечном чейне.
Когда пользователь переводит токен роллапа ERC20 обратно в роллап, мосты между токенами будут поддерживаться в модели Burn-and-Release
, так что поток активов будет таким:
Пользователь вызывает PeggedToken, чтобы сжечь привязанные токены на исходном или конечном чейне.
После получения уведомления о сжигании SGN генерирует мультисиговую аттестацию, которая дает разрешение на вывод соответствующего количества оригинальных токенов из контракта TokenVault на роллап.
Релеер получает мультисиг SGN.
Релеер вызывает контракт TokenVault с мультисигом.
Соответствующее количество оригинальных токенов будет выпущено в соотношении 1:1 контрактом TokenVault и отправлено обратно пользователю на роллап.
Примером такого случая может быть перевод токена роллапа ERC20 из роллапа в Ethereum.
Как и в сценарии 1, когда нативный токен исходного чейна еще не развернут на роллапе и пользователь переводит токены с исходного чейна на роллап, модель Lock-and-Mint будет поддерживать перемещение токенов. Когда пользователь передает токены обратно из роллапа на первичный чейн, модель Burn-and-Release будет поддерживать перемещение токенов.
Примером такого случая может быть переход нативного токена ETH из Ethereum в Rollup.
Для роллапа, использующего токен ERC20 исходного чейна в качестве нативного токена (газа) на роллапе, необходимо дополнительно развернуть контракт NativeTokenWrapper
на роллапе. Схема такова:
NativeTokenWrapper
: для майнинга или сжигания нативного газового токена из роллапа
PeggedToken
: вызов контракта NativeTokenWrapper
для майнинга или сжигания.
TokenVault
: для размещения или вывода оригинального токена ERC20
Сеть Celer State Guardian Network (SGN) - это маршрутизатор сообщений для кросс-чейн переводов. Это блокчейн с функцией Proof-of-Stake (PoS), построенный на Tendermint. Ноды валидаторов должны застейкать $CELR, чтобы присоединиться к процессу консенсуса в SGN.
Релееры будут развернуты на чейнах исходного и конечного чейнов для получения мультисиговых подтверждений SGN и вызова контрактов TokenVault
и PeggedToken
.
Когда токен ERC20 на исходном чейне передается в роллап (для использования в качестве нативного газового токена), мост токенов поддерживается моделью Lock-and-Mint
, и перемещение активов происходит следующим образом:
Оригинальный токен ERC20 блокируется в контракте TokenVault на исходном чейне.
После получения депозита SGN генерирует мультисиговую аттестацию, которая предоставляет майнинг на роллап.
Релеер получает мультисиг SGN.
Релеер вызывает контракт PeggedToken
на роллап для майнинга, контракт PeggedToken
вызывает функцию майнинга контракта NativeTokenWrapper
для майнинга соответствующего количества токенов нативного газа в соотношении 1:1.
Токены нативного газа отправляются на счет пользователя в роллап.
Когда пользователь переводит токен газа из роллапа обратно в исходный чейн в формате ERC20, мостовое соединение токенов поддерживается моделью Burn-and-Release
, и движение активов будет таким:
Пользователь вызывает контракт PeggedToken
для получения уведомления о сжигании на роллапе, контракт PeggedToken
вызывает функцию сжигания (payable) контракта NativeTokenWrapper для сжигания нативных газовых токенов на роллапе.
После завершения сжигания SGN генерирует мультисиговую аттестацию, которая разрешает изъятие соответствующего количества оригинальных токенов ERC20 из контракта TokenVault на исходном чейне.
Релеер получает мультисиг SGN.
Релеер вызывает контракт TokenVault
с мультисигом.
Соответствующее количество оригинальных токенов ERC20 будет выпущено контрактом TokenVault
в соотношении 1:1 и отправлено обратно пользователю на исходный чейн.
Примером такого случая может служить ситуация, когда нативный газовый токен роллапа изначально является ERC20-токеном на исходном чейне и хочет быть передан в роллап в качестве газового токена. В большинстве случаев партнер развертывает контракт NativeTokenWrapper
, а роль майнера предоставляется cBridge
.
Bridge Fee = Base Fee + Protocol Fee, где Protocol Fee составляет от 0,1 % до 0,5 % от суммы транзакции и обсуждается в индивидуальном порядке.
Базовый сбор выплачивается в виде передаваемого токена и покрывает газовые расходы конечного чейна на отправку токена пользователю. Комиссия за протокол выплачивается валидаторам и стейкерам State Guardian Network (SGN) в обмен на их услуги.
На роллапе разворачиваются два контракта: NativeTokenWrapper (развертывается партнером) и (развертывается командой Celer).
Контракт развернут (компанией Celer) на исходном чейне: