本文档介绍了Circle的FiatToken合约设计,它是一个兼容ERC-20的代币,允许多个实体进行代币的铸造/销毁,暂停所有活动,冻结个人地址,以及升级合约以修复错误或添加功能。文章详细的介绍了 FiatToken 合约中的各种角色及其权限,ERC-20标准接口的实现,代币的发行与销毁,黑名单机制,暂停机制,Meta交易兼容性以及合约的升级与角色重新分配。
本文档介绍了OpenZeppelin Contracts库中用于访问控制的多种合约和接口。这些工具可以限制谁可以访问合约的功能以及何时可以访问。其中包括简单的Ownable合约,以及更复杂的AccessControl和AccessManager合约,它们提供了基于角色和权限的细粒度控制。