Component Libraries
The Configurable Rights Pool uses several externally linked libraries to implement all its functionality, detailed below.
BuniConstants - constant state variables used throughout
BuniSafeMath - similar to Open Zeppelin SafeMath, but normalized so that "1" = 10^18, to allow fractional arithmetic (e.g., on weights)
RightsManager - defines a struct of boolean values, corresponding to each right; the Configurable Rights Pool stores this struct in storage.
SmartPoolManager - factors out computationally intensive functions, mainly to reduce the bytecode size of the Configurable Rights Pool, to keep it deployable
SafeApprove - an internal library (adapted from PieDAO) to enable pools to contain BEP20 tokens that require approve calls to be made from a base of 0 (e.g., TNT)
The Configurable Rights Pool contains getter functions that return the addresses of these libraries; a bit of future-proofing, so that clients can implement versioning.
Last updated