I would like to create an asset that can be traded for particular asset(s) only so I decided to take approach where I use a single account to manage customer balances by using federation server and memo, one of the two ways suggested in Stellar guide documents:
Use federation and the memo field in transactions to send and receive payments on behalf of your customers. In this approach, transactions intended for your customers are all made using your base account. The memo field of the transaction is used to identify the actual customer a payment is intended for.
Latter on in the same guide are explained flows for performing payments (send/receive) on behalf of customers but there is no exact explanation of how is
memo field used to manage this payments. Should we use single memo for every customer and map publicKey > amount? What events should we listen for and how should we react on them?
Are there any guides out there? I have failed to find any.