Update 007_eMoney_integration.md

This commit is contained in:
Will Ruddick 2020-06-30 07:42:57 +00:00
parent 3290e7d8a0
commit 607d42c3e4

View File

@ -9,8 +9,7 @@ Configure - using our own system AfricasTalking API to automatically send CIC /
- We send back an equivalent amount of Mpesa to the user from out MPESA float account - We send back an equivalent amount of Mpesa to the user from out MPESA float account
- Mpesa -> CIC - Mpesa -> CIC
- Mpesa are added to our float Mpesa account. - Mpesa are added to our float Mpesa account.
- xDAI from our xDAI float account is added to the reserve of the CIC (Home CIC of the user) and new CICs are minted - xDAI from our xDAI float account is added to the reserve of the CIC (Home CIC of the user) and new CICs are minted and sent to the user
- We send back the user an equivalent amount of CIC
### Variables ### ### Variables ###
@ -30,13 +29,12 @@ Configure - using our own system AfricasTalking API to automatically send CIC /
- Alert balance levels - Alert balance levels
### Incoming CIC Rules - MPESA out ### ### Incoming CIC Rules - MPESA out ###
- *white list* The chama (group accounts only but eventually anyone) must only be able to cash out - using the exchange option to an Agent account - *white list* The chama (group accounts only but eventually anyone) can cash out - note the chama limits
- *amount* The max cash out is the minimum of (30,000 Sarafu, half their balance, their total amount of outward trade volume to other users (standard transactions) - *amount* See KYC_limit max, supply_max
- *time* They can only cash out once per month
- *mpesa given* The amount of Mpesa given should be calculated as follows: - *mpesa given* The amount of Mpesa given should be calculated as follows:
- CIC_excahnge_amount = the amount of CIC the user wants to excahnge - CIC_excahnge_amount = the amount of CIC the user wants to excahnge
The Reserve (xDAI) to be pulled out The Reserve (xDAI) to be pulled out (reported):
- reserveOut_xDAI_reported = the amount of xDAI that would be pulled from the reserve on-chain (by getting a quote on-chain) - reserveOut_xDAI_reported = the amount of xDAI that would be pulled from the reserve on-chain (by getting a quote on-chain)
- reserveOut_Mpesa = reserveOut_xDAI_reported **USD => KSH** rate - reserveOut_Mpesa = reserveOut_xDAI_reported **USD => KSH** rate
@ -46,7 +44,7 @@ After the user confirms:
The Reserve (xDAI) actually pulled out The Reserve (xDAI) actually pulled out
- reserveOut_xDAI = the amount of xDAI actually pulled from the reserve on-chain - reserveOut_xDAI = the amount of xDAI actually pulled from the reserve on-chain
- Mpesa_out = reserveOut_Mpesa_reported (this is actually given to the user) - **and GE takes on the Mpesa risk** - **Mpesa_out** = reserveOut_Mpesa_reported (this is actually given to the user) - **and GE takes on the Mpesa risk**
- reserveOut_Mpesa = reserveOut_xDAI **USD => KSH** rate (this is from our MPESA float account) - reserveOut_Mpesa = reserveOut_xDAI **USD => KSH** rate (this is from our MPESA float account)
- Mpesa_risk = Mpesa_out - reserveOut_Mpesa - this should me monitored and recorded for each transactions - Mpesa_risk = Mpesa_out - reserveOut_Mpesa - this should me monitored and recorded for each transactions
@ -56,13 +54,18 @@ The Reserve (xDAI) actually pulled out
- *amount* The max sarafu out is 20,000 Sarafu per user, KYC_limit max, supply_max - *amount* The max sarafu out is 20,000 Sarafu per user, KYC_limit max, supply_max
- *time* No limit - *time* No limit
- *Mpesa_excahnge_amount* The amount of CIC given should be calculated as follows: - *Mpesa_excahnge_amount* The amount of CIC given should be calculated as follows:
- reserveIn_xDAI = Mpesa_excahnge_amount **KSH => USD** rate (this will come out of the xDAI float account) - reserveIn_xDAI = (Mpesa_excahnge_amount - Mpesa_excahnge_amount* fee) **KSH => USD** rate (this will come out of the xDAI float account)
The amount cashed in = cash_in_amount The CIC to be created (reported for quote):
> CIC_Created = the amount of CIC created on chain by adding the reserveIn_xDAI - CIC_Created_reported = the amount of CIC created on chain by adding the reserveIn_xDAI
- **CIC_given = CIC_Created - CIC_created*FeeM2CC ()** After the user confirms:
- CIC_Created = the amount of CIC created on chain by adding the reserveIn_xDAI
- **CIC_given** = CIC_Created_reported
- CIC_risk = CIC_given - CIC_Created - this should be monitored and recorded for each transaction
### Exchange Rate ### ### Exchange Rate ###