Создание ограниченного депозита
- 01Вызовите offramp(walletClient, { amount, platform, currency, identifier, otcTaker }).
- 02SDK создаёт депозит, затем прикрепляет хук whitelist для кошелька otcTaker.
- 03Прочитайте otcLink из результата и отправьте его одобренному покупателю.
- 04Любой кошелёк, кроме otcTaker, отклоняется ончейн, прежде чем сможет начать заполнение.
Управление ограничением на существующих депозитах
| Хелпер | Что делает |
|---|---|
| enableOtc(walletClient, depositId, taker) | Ограничить существующий депозит одним кошельком покупателя |
| disableOtc(walletClient, depositId) | Снять ограничение и вернуть депозит в публичный доступ |
| getOtcLink(depositId) | Сформировать ссылку для покупателя по ограниченному депозиту |
Почему требуется больше одной транзакции
createDeposit в EscrowV2 не принимает параметр whitelist, поэтому SDK прикрепляет хук отдельной транзакцией после того, как депозит уже существует. Ограничение обеспечивает контракт Base, а не интерфейс или ссылка, поэтому неодобренный кошелёк отклоняется ончейн, даже если у него есть ссылка.