01
创建一笔受限存款
- 01调用 offramp(walletClient, { amount, platform, currency, identifier, otcTaker })。
- 02SDK 先创建存款,再为 otcTaker 钱包附加一个白名单钩子。
- 03从结果中读取 otcLink,并将其发送给已批准的买方。
- 04除 otcTaker 外的任何钱包,在能够发起成交之前都会在链上被拒绝。
02
管理现有存款的限制
| 辅助函数 | 作用 |
|---|---|
| enableOtc(walletClient, depositId, taker) | 将一笔现有存款限定给一个买方钱包 |
| disableOtc(walletClient, depositId) | 解除限制,让存款重新对公众开放 |
| getOtcLink(depositId) | 为一笔受限存款构建可分享的买方链接 |
03
为什么需要不止一笔交易
EscrowV2 的 createDeposit 不接受白名单参数,因此 SDK 会在存款创建之后,用一笔后续交易附加该钩子。该限制由 Base 合约强制执行,而非由 UI 或链接强制,这就是为什么即便某个未获批准的钱包拿到了链接,也会在链上被拒绝。