@shazow.eth
I'm optimistic!
But generally I'm on team whatever it takes to get it closer to fully programmable onchain.
My fantasy:
1. Create a channel by calling a contract to register a namespace and set the moderator contract. By default this contract can be a WarpcastOracle singleton or something, which delegates mod decisions to come from a Warpcast signer.
2. Moderator actions/permissions are evaluated by hubs *offchain* but against onchain code (ERC-1271, isValidSignature).
3. Channel settings is easiest to imagine for onchain, but I think we could have programmable ACL onchain too. For example: Imagine writing a Channel.can_write(signature, {other context}): boolean function which just returns true on Mondays and false on other days. Again, evaluated offchain, but deployed as a contract onchain then assigned as the permission oracle for that channel onchain.
I think this is also powerful enough to do all of the experiments we've had so far, by changing the WarpcastOracle behaviour for those who point to it.