The main logic of the House module definitions and methods.
There are several steps for a deposit to be made:
Set participation fee.
Initiate participation in the market by order book module.
Set the participation index generated by the order book module.
Check the authz grant to be available for the message creator and depositor address in the ticket.
Update authz spend limit or delete if is zero.
Set the deposit in the state of the blockchain.
There are several steps for a withdrawal to be made:
Get the corresponding deposit.
Check the amount and validate if it is possible to pay.
Call the order bookkeeper to liquidate the participation.
Check the authz grant to be available for the message creator and depositor address in the ticket.
Update authz withdrawal limit or delete if is zero.
Set the withdrawal in the state.
Modify and set the deposit and put the withdrawal info.