本文介绍了OpenZeppelin Contracts库中常用的实用工具,包括密码学(ECDSA签名验证、Merkle证明验证),合约自检(ERC165接口检测),数学运算(SafeMath安全计算),支付(PaymentSplitter、PullPayment、Escrow),集合(EnumerableSet、EnumerableMap)以及其他实用工具(Address, Counters)。
PaymentSplitter库可以在一组领取地址无感知的情况下,将定量eth或某ERC20 token按照shares占比释放给该组中的某地址。当eth或ERC20 token被转入该合约后,在册的领取地址就可以来领取属于自己占比的那部分。各领取人的shares数量只能在该合约部署时被设置。