A Waterfall is a payable smart contract that sequentially distributes set
amounts of an ERC20 token to different recipients. This allows people to create an onchain "preference stack", where certain addresses get paid out before others.