Diversifier is a Splits' template to diversify onchain revenue
Many onchain entities (e.g. creators, collectives, DAOs, businesses) generate onchain revenues in tokens that don't match the denominations of their expenses (e.g. salaries, taxes) resulting in asset-liability currency mismatch. More generally, diversifying onchain revenue is an easy, efficient, & trustless way to build & manage onchain wallets & treasuries for high performance across a variety of crypto-market conditions.
A Split with one or more Swappers underneath (all controlled/owned by a PassThroughWallet sitting on top).
A Diversifier's owner, if set, has FULL CONTROL of the deployment. It may, at any time for any reason, change any mutable storage in any of the underlying components, as well as execute arbitrary calls on behalf of the Diversifier. In situations where flows ultimately belong to or benefit more than a single person & immutability is a nonstarter, we strongly recommend using a multisig or DAO for governance. To the extent your Oracle or any other submodule has a separate owner as well, similar logic applies.
forge fmt
forge i
- install dependencies
forge b
- compile the contracts
forge t
- compile & test the contracts
forge t -vvv
- produces a trace of any failing tests
forge doc --serve --port 4000
- serves natspec docs at http://localhost:4000/