In order to create a new fund, CallerA (any account) can call
FundDeployer.createNewFund() . The steps taken by this function are:
ComptrollerProxy and full release-level fund configuration are created via the pipeline described in "ComptrollerProxy Creation".
FundDeployer calls to the
Dispatcher to deploy a new
VaultProxy with the CallerA-provided
fundName (note that
fundOwner does not need to be CallerA), along with the release's
VaultLib and the newly-created
ComptrollerProxy that will become the
ComptrollerProxy.activate() to set the newly-created
VaultProxy on the
ComptrollerProxy and to give extensions a final chance to update state before the the fund can start taking investments.