SGN charges fees to sync, store, and sign messages. Whoever calls
sendMessagein MessageBusSender should put some fee as
msg.valuein the transaction, which will later be distributed to SGN validators and delegators. The fee amount is calculated as
feeBase + _message.length * feePerByte.
Executor charges fees to submit execute message transactions. How to charge and distribute executor fees is entirely decided at the application level. Celer IM framework does not enforce any executor fee mechanism.