Update 006_Self_Service_Token.md

This commit is contained in:
Will Ruddick 2020-05-20 08:44:03 +00:00
parent 7cf4b14823
commit 3d589ab590

View File

@ -19,6 +19,7 @@ Enabeling users to create their own tokens is one of the main goals of CICs
* The CIC has an enforced X% reserve amount. * The CIC has an enforced X% reserve amount.
## Inputs ## Inputs
1. User ID (must be a chama account) 1. User ID (must be a chama account)
2. Token Long Name - 128 character limit 2. Token Long Name - 128 character limit
3. Token short name no more than 6 Character - must be unique 3. Token short name no more than 6 Character - must be unique
@ -44,8 +45,40 @@ Enabeling users to create their own tokens is one of the main goals of CICs
1. This account is a GROUP account. Meaning that only it can cash out 50% a month from its own reserve - along with other Chama rules. 1. This account is a GROUP account. Meaning that only it can cash out 50% a month from its own reserve - along with other Chama rules.
1. If the token has been created send the SMS for the token creation approval to the creator. Else send error. 1. If the token has been created send the SMS for the token creation approval to the creator. Else send error.
## Join Token
2. Each user needs to be assigned a default / community token - they start with Sarafu by default.
2. Users need to be able to change tokens - but after a grace period of 1 month.
3. Users on USSD should not be allowed to join Sarafu or the reserve xDAI as their community token. Admin accounts like the GE Agent will still be in Sarafu as their community token
## Token creation process - UI ## Auto Join Token
1. Users with Sarafu as their token will automatically join a Community Token of a user they trade with (given the recipient is not in Sarafu) - This is a one time event
## Auto convert
1. We want to avoid having multiple tokens in user wallets
1. When a user recieves a token we automatically try to convert that token into her Community token
2. We should be able to turn this feature off for selected users (like admins)
3. If users have multiple tokens in their wallet - it is a sign conversion failed - we need some process to retry failed conversions and to altert admins
## Manual convert
1. For admin accounts we may want to convert from and to specific tokens via the Managment Platform
2. Admins may also want to convert a users tokens who are failing to auto convert
## Join Token Interfaces - UX
### Command Line - CLI Join Token
1. User ID and Name or ID of the token - ensure it is a valid token
### Mgmt Platform - GUI
1. On the user info page you should be able to set their Community Token - via a drop down
### User interface - USSD
1. Under the My Account Menu - Join Token becomes an option
2. THey must type the token name
3. Receive a confirmation screen
4. Receive a success or failure screen
## Token creation Interface - UX
### Command Line - CLI ### Command Line - CLI
1. Process Inputs on command line 1. Process Inputs on command line
@ -98,14 +131,21 @@ Enabeling users to create their own tokens is one of the main goals of CICs
* “Whoops! There was a problem creating your token. To try again Dial *483*46#. If issues persist contact support: 0757628885” * “Whoops! There was a problem creating your token. To try again Dial *483*46#. If issues persist contact support: 0757628885”
## Exahnge changes
1. For users with their own tokens when they cash out they are doing it against their own token's reserve.
2. Also when people buy in they are adding to theri own token's reserve and minting new tokens.
3. Since GE is the intermediary for Kenyan Shillings Mpesa - sending TOken X to the GE Agent Account should first convert that token to
it's own reserve and give back that much Mpesa (limited by chama rules)
4. When a user sends mpesa to us - they can mint whatever their current currency is.
## Action items:
1. Token Value Alerts
1. Whenever the token is converted to another token or xDAI and the price changes more than 10% an alter is sent to the token issuer ## Action items
1. Message Alert your excahnge value of TOKEN_NAME tokens have changed in +X% / -X% value
Note that the receipt messages for token transfers that include a conversion should also show the tokens exchange value (this was on the old USSD system)
## Implementation ## Implementation
1. Having multiple tokens touches on many of the existing system - such as receipt messages, introduction messages for new users and so on.
### Workflow ### Workflow
@ -120,6 +160,7 @@ Note that the receipt messages for token transfers that include a conversion sho
5. Number of users that must join the chama and receive tokens 5. Number of users that must join the chama and receive tokens
5. Auto-Conversion should by default change all tokens in a user's wallet into their community token. 5. Auto-Conversion should by default change all tokens in a user's wallet into their community token.
* Note that a user with Sarafu in their wallet will shift their community token to whomever they trade with that is not in Sarafu. (Sarafu is just a temorary token) * Note that a user with Sarafu in their wallet will shift their community token to whomever they trade with that is not in Sarafu. (Sarafu is just a temorary token)
6. Grace period - Users can't join another token for 1 month after having joined another. (note that *Auto Join Token* should not count as joining a token in this regard)
### Interface ### Interface
@ -131,6 +172,12 @@ Note that the receipt messages for token transfers that include a conversion sho
4. Ensure that any Sarafu or other token are converted to xDAI 4. Ensure that any Sarafu or other token are converted to xDAI
5. Chama cash out limits remain the same - but instead of sending a GE Agent Sarafu they are sending their own token 5. Chama cash out limits remain the same - but instead of sending a GE Agent Sarafu they are sending their own token
## Security
1. Token Value Alerts
1. Whenever the token is converted to another token or xDAI and the price changes more than 10% an alter is sent to the token issuer
1. Message Alert your excahnge value of TOKEN_NAME tokens have changed in +X% / -X% value
Note that the receipt messages for token transfers that include a conversion should also show the tokens exchange value (this was on the old USSD system)
## Changelog ## Changelog
<!-- <!--