跳到主要内容

管理 xERC20 和 FiatToken 的 Warp 路由限制

xERC20 部署

Warp 路由支持 xERC20 代币。请按照以下步骤配置 xERC20 以用于 Warp 路由:

  1. 所有权转移:
  • 确保将 xERC20 合约 的所有权转移到一个安全的多签钱包,以确保安全性。此步骤对于防止未经授权的更改至关重要。
  • xERC20 合约使用 OpenZeppelin 的 Ownable 接口。使用 transferOwnership 函数完成此步骤。
  1. 铸造限制配置:
  • Warp 路由合约的铸造和销毁限制通过 xERC20 合约中的 setLimits 函数进行管理。此函数必须由合约所有者调用。
    • xERC20 合约使用 24 小时窗口来管理限制。这由 _DURATION 变量定义,该变量设置为 1 天(24 小时)。当前可用限制通过 _getCurrentLimit 函数动态计算。
    • 如果自上次使用以来已过去 24 小时(_DURATION),限制将自动恢复到完整的 maxLimit
  • 确保限制适合预期的交易量,以防止中断。根据交易量和预期使用模式审查和调整限制。

FiatToken 部署

Warp 路由支持 Circle 的桥接 USDC 作为 FiatToken 的铸造者(有关文档,请参见该仓库)。在 FiatTokenMasterMinter 合约中,有三个相关角色:

  1. MasterMinter 所有者是可以设置控制者和铸造者的账户。
  2. MasterMinter 控制者是可以为其分配的铸造者设置铸造限制的账户。
  3. MasterMinter 铸造者是可以实际调用 FiatToken 上的 mint 的账户。

所有者和控制者通常应设置为安全多签钱包,以增强安全性,铸造者是本地链上的 Warp 路由合约地址。FiatToken 的铸造限制是绝对的,意味着它们不会自动重置,必要时必须更新。

MasterMinter 合约上应设置三个操作以准备使用:

  1. 移除之前的测试控制者:
  1. 设置控制者和铸造者:
  1. 为铸造者设置铸造限制:
  • 作为控制者,您应通过 configureMinter(uint256 _newAllowance) 函数 为铸造者设置铸造限制。此限制不会持续重置,因此可以将其设置为足够大的值(如 cast max-uint),或监控使用情况并相应调整。