Open thelostone-mc opened 1 month ago
@carlbarrdahl Just understand the goal here. Are we talking about simplifying the core contract beyond what we'd slotted in for Allo V2.1 ?
@carlbarrdahl Just understand the goal here. Are we talking about simplifying the core contract beyond what we'd slotted in for Allo V2.1 ?
No this would be a bigger change. I see it as a reduction of code and simplification of the interface with the addition of extensions. See the ERC20 for example: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v5.0.1/contracts/token/ERC20/ERC20.sol
No external dependencies and can be deployed by themselves.
This is about the strategies and not the core contracts like Allo.sol
right?
This is about the strategies and not the core contracts like
Allo.sol
right?
Yes, I think it's important to make the distinction between these two. Compare Uniswap and ERC20. In my mind, the Strategies are the ERC20 and Allo is the Uniswap.
They should be able to exist by themselves. An ERC20 doesn't require Uniswap to be deployed. The simplicity and open interface of ERC20 has made them popular and powerful.
Allo.createPool(strategy): Pool
// If a Pool has start and end dates it's technically a Round
minimal core contracts similar to the simplicity of erc20 and erc721. Just the minimal interface. Work on an EIP to rally the community towards a shared standard. This could unlock new applications similar to what Uniswap and Aave did with erc20. Imagine what OpenZeppelin would implement from these standards if they were to, what kinds of presets?