From a4ed1c08a9c5aadc8b360eb97cea37bca50f5daa Mon Sep 17 00:00:00 2001 From: Will Ruddick Date: Mon, 13 Jul 2020 12:53:35 +0000 Subject: [PATCH] Update 007_eMoney_integration.md --- spec/007_eMoney_integration.md | 78 ++++++++++------------------------ 1 file changed, 23 insertions(+), 55 deletions(-) diff --git a/spec/007_eMoney_integration.md b/spec/007_eMoney_integration.md index 7a47e39..9e0aa1d 100644 --- a/spec/007_eMoney_integration.md +++ b/spec/007_eMoney_integration.md @@ -72,65 +72,33 @@ When dislaying the SPOT price or excahnge rate to a user we should use the follo > Exchange Price = CIC_reserve / (CIC_supply * trr) -> this is pulled from blockchain and should be sent back as a SMS -### User Interface ### - - - -- When a user chooses to ``Redeem get Quote```: - - They should enter the amount (limited to the max in their balance) - - They should get a confirmation Based on a quote from the blockchain in a SMS: - - You will recieve **Mpesa_given** for **CIC_excahnge_amount** please confirm this quote in the USSD menue to proceed: (note this is from blockchain and will change second by second) - - The user will return to the USSD menu - - They navigate back to exchange in less than 1 minute and 'confirm exchange quote' (new USSD excahnge menu needed) (the 'confirm Redeem excahnge quote') - - 'confirm Redeem quote' will only show up for a minute - otherwise they have to ask for another quote - - Please type your PIN to confirm - - The user should get a Mpesa responce for recieving the **Mpesa_given** - ### USSD Interface ### -- User chooses Excahnge Menu option #1 Check Excahnge Rate -- Redeem 1000 CIC -- Calculate a quote .... : -- Quotation: Date. -- SMS: You will receive at least 800 KSH for 1000 CIC. (MVP) - - getQuoteRedeemCIC(amount, CIC): - - mvp: return amount = amount - amount * rate; /// Rate is 10% - - best: web3 calls to purchaseReturn -- On the Exchange menu - option #3 is Confirm Quotation: - - Please confirm: "You will receive at least 800 KSH for 1000 CIC." - - Yes. - - mvp: GE receives the 1000 CIC - - best: Then we try a conversion ... with a Min return. - - best: 1000 CIC is sent to the contract (on blockchain) - (xDAI is sent to the GE float account - to be cleared later) - - Mpesa as in the quote - is sent to the user - +- Option #4 Exchange + - #1 Get Exchange Rate + - #2 Confirm Exchange -- When a user chooses to ``Contribute get Quote```: - - They should enter the amount of Mpesa they wish to contribute - - They should get a confirmation Based on a quote from the blockchain in a SMS: - - You will recieve **CIC_given** for **Mpesa_excahnge_amount** please confirm this quote in the USSD menu to proceed: (note this is from blockchain and will change second by second) - - The user will return to the USSD menu - - They navigate back to exchange in less than 1 minute and 'confirm exchange quote' (new USSD excahnge menu needed) (the 'confirm Contribute excahnge quote') - - 'confirm Contribute exchange quote' will only show up for a minute - otherwise they have to ask for another quote - - Please type your PIN to confirm - - The user should get a SMS responce from GE for recieving the **CIC_given** - -User chooses Excahnge Menu option #2 -- Contribute KSH - returning CIC -- Calculate a quote .... : -- Quotation: Date. -- SMS: You will receive at least 1200 CIC for 1000 KSH. (MVP) - - getQuoteContriuteKSH(amount, CIC): - - mvp: return amount = amount + amount * rate; /// Rate is 10% - - best: web3 calls to purchaseReturn -- On the Exchange menu - option #3 is Confirm Quotation: - - Please confirm: "You will receive at least 1200 CIC for 1000 KSH." - - Yes. - - mvp: SMS: Please send 1000 KSH to PayBill account number [phone number] - - best: Then we try a conversion ... with a Min return. - - best: xDAI is sent to the contract (on blockchain) - (xDAI is sent to the GE float account - to be cleared later) - - CIC as in the quote - is sent to the user +- User chooses Exchange Menu option #1 Get Exchange Rate - then chooses the direction of the exchange + - #1 [CIC] -> Mpesa + - Enter the amount of [CIC] you wish to redeem (limited to their balance) + - #2 Mpesa -> [CIC] + - Enter the amount of Mpesa you wish to contribute + - Enter pin to confirm + - You will recieve a SMS shortly + - perhpas for MVP we can just spit this back out on USSD. + - SMS: You will receive at least 800 KSH for 1000 CIC. This quotation is stored for the user but only valid for a period of time (1 hour?) +- User chooses Exchange Menu option #2 Confirm Exchange - if they don't have an active quotation they must goto option #1 first. + +If the quotation is for CIC->Mpesa then: + - Show the last quotation message + - Enter your pin to confirm + - You will recieve a SMS shortly + +If the quotation is for Mpesa-> then: + - Show the last quotation. message - which includes instruction for sending on paybill + +