Problem: can't pay for specific products/services
We can derive the next payment address from the current nostrocket state, but we can't actually store the result of payments anywhere.
Soluton:
Allow rocket maintainers to add predefined amounts (in sats) for incoming payments. This way we can create a new invoice for the next payment address for each payment amount and store this invoice in state.
When a user makes a payment, the client will publish an event that contains the preimage, proving that the payment has been made. When the state machine sees this it adds the payment to state, mapped to the pubkey of the user who paid.
This will introduce a vulnerability whereby someone could "frontrun" the preimage, but whatever it's good enough for now.