Update 006_Self_Service_Token.md

This commit is contained in:
Will Ruddick 2020-05-18 12:11:08 +00:00
parent bd590c2602
commit 9abcba2d46

View File

@ -22,17 +22,19 @@ We want users to be able to create their tokens to create more ownership and dif
- New user dials *483*46# where she selects - New user dials *483*46# where she selects
- My Account -> Create Token - My Account -> Create Token
- Note that this ability is whitelisted- to be whitelisted the user must have: - Note that this ability is whitelisted- to be whitelisted the user must have:
1. Been in the system as an active user for some time (at least 1 month) 1. Been a chama account in the system as an active user for some time (at least 3 months)
1. Have a substantial balance (his CIC converted to reserve) to reach at least 25% reserve. Minimum 100 USD in value DAI. Which will staked into the converter and leveraged into $400 of CIC tokens (the value changes as reserve is removed). 1. Have a substantial token balance (his CIC converted to reserve) to reach at least 25% reserve. Minimum 100 USD in value DAI.
2. Which will staked into the converter and leveraged into 4x of CIC tokens (the value changes as reserve is removed).
2. Default Token Options 2. Default Token Options
*. Based on the users location the system has preset defaults:
1. 25% Target Reserve Ratio (1:1 with reserve) 1. 25% Target Reserve Ratio (1:1 with reserve)
1. Minimum initial reserve is $100 USD in value 1. Minimum initial reserve is $100 USD = 100 xDAI in value (of some inital token such as Sarafu)
3. Chosen Options 3. Chosen Options
1. Token Name (limited to 9 characters (auto converted to lowercase no special letters) (TOKEN_NAME) 1. Token Name (limited to 9 characters (auto converted to lowercase no special letters) (TOKEN_NAME)
2. Reserve amount (the minimum is 10,000 Kenyan Shillings in value- higher amount means a higher price of the final tokens) - Max is the users current balance. Note that this10,000 Kenyan Shillings can be in the form of other tokens and converted to Sarafu. 2. Reserve amount (the minimum is 10,000 Kenyan Shillings in value- higher amount means a higher price of the final tokens) - Max is the users current balance. Note that this10,000 Kenyan Shillings can be in the form of other tokens and converted to Sarafu.
3. How many initial members? (NUM)MEMBERS) 3. What goods or services will be accepted for these tokens?
4. How much will initial members receive (INITAL_NEWUSER_AMT) (maximum is MAX_CIC_CREATED/NUM_MEMBERS) 4. Please confirm that you will accept (4x Reserve) of TOKEN_NAME's for (goods or services)?
*. Yes / No (if no -please contact Office 0757628885)
4. How many people are in this chama that will recieve (Token_Name)
5. Note that members must join the token (via USSD) using the TOKEN_NAME to receive this. 5. Note that members must join the token (via USSD) using the TOKEN_NAME to receive this.
4. Pin 4. Pin
* “Enter PIN * “Enter PIN
@ -66,46 +68,48 @@ We want users to be able to create their tokens to create more ownership and dif
Start this process between step 5 to 6, Start this process between step 5 to 6,
Save all the information created in the process on the SEMPO DB. Save all the information created in the process on the SEMPO DB.
Generate a token and converter on xDAI and store private and public keys Generate a token and converter (adding it to the registry) on xDAI and store private and public keys
Mint the standard amount of tokens. (4x the reserve = 40,000)
Mint the standard amount of tokens. (40,000) Convert the existing user's tokens into xDAI and put them into the converter as reserve. (min 10,000)
Convert the users tokens into nDAI and put them into the converter. (min 10,000) The new token should have a value of 1:1 with xDAI and be at 25% reserve (Target Reserve Ratio)
The new token should have a value of at least 1:1 with nDAI and be at least at 25% reserve Put the TOKEN_NAME tokens into the Users wallet (Group wallet) - note that when other users later join (via my account -> join Chama) the TOKEN_NAME they will receive tokens from this wallet. - there is a contract here.
Put the TOKEN_NAME tokens into the Users wallet (Group wallet) - note that when other users later join (via my account -> join Chama) the TOKEN_NAME they will receive tokens from this wallet. - there is a contract here.
The token owner should not be able to transfer more tokens than he has committed to new users. The token owner should not be able to transfer more tokens than he has committed to new users.
The token owner should have his community token for auto-convert set to TOKEN_NAME The token owner should have his community token for auto-convert set to TOKEN_NAME
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.
If the token has been created send the SMS for the token creation approval. Else send error.
This account is now considered a GROUP account!? Meaning that only it can cash out 50% a month from its own reserve. If a users has Sarafu as their community token and end up with
If the token has been created send the SMS for the token creation approval. ## Action items:
Else send error.
Action items:
Token Value Alerts Token Value Alerts
Whenever the token is converted to another token or nDAI and the price changes more than 10% an alter is sent to the token holders Whenever the token is converted to another token or nDAI and the price changes more than 10% an alter is sent to the token holders
Message Alert your BALANCE TOKEN_NAME tokens have changed in +10% / -10% value and are now worth (value of Balance in nDAI) Message Alert your BALANCE TOKEN_NAME tokens have changed in +10% / -10% value and are now worth (value of Balance in nDAI)
Note that the receipt messages for token transfers that include a conversion should also show the tokens exchange value (this is already ont he USSD system) Note that the receipt messages for token transfers that include a conversion should also show the tokens exchange value (this is already ont he USSD system)
## Implementation ## Implementation
### Workflow ### Workflow
### Variables ### Variables
1. TRR for Self Service Tokens (SSTs) 0.25
2. Conversion fee fos SSTs 0.005 (0.5%)
3. Minimum starting reserve 10,000 xDAI
4. Token Name
5. All users should have a '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)
### Interface ### Interface
## Testing ## Testing
<!-- 1. Ensure conversions are working between tokens
Please describe what test vectors that are required for this implementation 2. Test out auto-conversion - one user gets sent a foreign token ... try to convert
--> 3. The UX process and various limits - like minimum reserve
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
## Changelog ## Changelog
<!-- <!--