Configurable Rights Pool
The Bunicorn Configurable Rights Pool is the reference implementation of a smart contract-controlled Bunicorn Flexible Pool. It is flexible enough to be used directly to create customizable Smart Pools. Like the Flexible Core Pool (BPool), it is created from a factory - and as the name implies, its functionality can be customized to meet the needs of your project.
For example, the first template is Ampleforth's Elastic Supply Pool, which features a different mechanism for updating weights, consistent with its daily rebase operation. We will add more templates as we discover further interesting use cases!
You will find the addresses for deployed contracts on all networks here.

How is a Smart Pool different from a Flexible Core Pool?

As explained in Core Concepts, a core Flexible Pool's parameters can be changed at will while in the "controlled" state - when only the pool creator can add liquidity. The only way to "open" the pool to outside investment is to "finalize" it - after which all pool parameters are fixed. This is great for security and trust minimization - but what if you want to do liquidity bootstrapping, dynamically adjust swap fees, handle a token with unique properties (such as AMPL), or implement a complex investment strategy? For that, you'll need to change parameters dynamically on "live" pools - and that requires a Smart Pool.
In summary, a Flexible Core Pool has "all rights" while controlled, and then "no rights" after finalization. A Configurable Rights Pool has whatever rights you give it, for all time.