Skip to content
This repository has been archived by the owner on Nov 5, 2021. It is now read-only.

ERC20 token support #3

Closed
5 tasks done
jeluard opened this issue Nov 8, 2017 · 11 comments
Closed
5 tasks done

ERC20 token support #3

jeluard opened this issue Nov 8, 2017 · 11 comments

Comments

@jeluard
Copy link
Contributor

jeluard commented Nov 8, 2017

Idea code: DEV#003
Status: Done
Created: 2017-11-08

Summary

Add ERC20 support

Idea proposal

As a user I want my ERC20 tokens to be first class citizen.

Swarm Participants

Swarm channel: 3-erc20

Requirements

A user should be able to manage its ERC20 tokens pretty much the same way as ETH.
In particular wallet and send command must support ERC20 tokens.

As a first step considered ERC20 tokens will be based on a static list embedded in the application. This might be revisited later (see #18).

ERC20 extensions might also be considered: ERC223, Minime (SNT itself is a Minime token).

Zeplin references

Board

https://github.com/status-im/status-react/projects/4

Goals & Implementation Plan

Following features should be considered:

  • list wallet tokens
  • provide default token
  • send tokens to a contact
  • request token from a contact
  • get current price
  • get historical price
  • get token details (historical price, market cap, # tokens, volume, crowdsale)
  • list historical transactions
  • add gas and data support when sending transaction
  • chart graphs

Can be split in 4 categories:

  • wallet token details (access and management)
  • token details (static and dynamic data)
  • token price details
  • token transactions

Token details will require some metadata currently not available in ethereum.
Token price details can be provided by cryptocompare.

Minimum Viable Product

List user tokens and display token details

Goal Date: 2017-12-01
Description: token list and details

Iteration 1

Allow sending and requesting tokens.

Goal Date: 2017-12-15
Description: send/request tokens

Iteration 1 acceptance criteria (functionality to demo at the end of iteration):

  • User is able to send STT (status test token) under Ropsten testnet in Wallet
  • User is able to request STT (status test token) under Ropsten testnet in Wallet
  • Wallet is updated accordingly send/request transactions performed: main wallet value is updated, asset value is updated (both wallet main screen and asset details screen)

Demo acceptance:

  • functionality above is tested prior the demo
  • functionality above is merged in develop after it is tested and prior the demo so we avoid to demonstrate something we do not have in develop build

Iteration 2

Show token historical data and update percentage info

Goal Date: 2017-12-22
Description: token historical data

Copyright

Copyright and related rights waived via CC0.

@jeluard
Copy link
Contributor Author

jeluard commented Nov 8, 2017

I pledge focus 20h/w.

@0xc1c4da 0xc1c4da added the draft label Nov 14, 2017
@asemiankevich
Copy link

I pledge focus 15h/w.

@goranjovic
Copy link
Contributor

I pledge focus 20 h/w

@jeluard jeluard self-assigned this Nov 15, 2017
@goranjovic
Copy link
Contributor

Until we start with #8 I can pledge full focus on this - 40 h/w

@goranjovic
Copy link
Contributor

Relevant pre-existing issues:

status-im/status-mobile#1951
status-im/status-mobile#1745
status-im/status-mobile#1722
status-im/status-mobile#1654
status-im/status-mobile#1528
status-im/status-mobile#1653

@sla-shi
Copy link

sla-shi commented Nov 22, 2017

I'd like to contribute to this idea up to ~10hrs a week

@jeluard
Copy link
Contributor Author

jeluard commented Nov 22, 2017

@sla-shi I'd like to add you as Evaluator. Also we will need some nice wiki doc. WDYT?

@asemiankevich
Copy link

asemiankevich commented Nov 24, 2017

Action items after today's cacth-up:

  • @goranjovic to create list of issues

  • @jeluard and @goranjovic after the list of issues is created - define the doable scope for Iteration 1 (12/1) and for future ones. Maybe we can make those iterations for 2 weeks to have more easier tasks?

  • bring some clarify regarding the tokens request functionality @andmironov , @denis-sharypin can you assist with that?

  • add references to the zeplin mocks

@naghdy naghdy added this to the [BETA] Status Mainnet Launch milestone Nov 27, 2017
@jeluard
Copy link
Contributor Author

jeluard commented Dec 5, 2017

MVP has been successfully implemented. Browse the report for more details.

@jeluard
Copy link
Contributor Author

jeluard commented Jan 5, 2018

First iteration has been successfully implemented. Browse the report for more details.

@jeluard
Copy link
Contributor Author

jeluard commented Jan 5, 2018

Post Mortem

What could be improved

App structure refinement was defined during the first iteration and significantly impacted the scope of this iteration. Specifically @goranjovic work around asset details had to be removed.

A number of technical elements has been discovered and added to the todo list during development. It appears primordial to spend some time during the first days to have a detailed understanding of what's to be done and technical impacts. It appears our decentralized nature makes some usually simple things harder to implement.

Finally we discovered pretty late some technical limitations that prevented us to implement some features (e.g. token transaction history).

What went well

Overall implementation went smoothly and we had fast test cycle thanks to @asemiankevich .

@jeluard jeluard added done and removed in-progress labels Jan 5, 2018
@jeluard jeluard closed this as completed Jan 10, 2018
@andmironov andmironov mentioned this issue Feb 13, 2018
jeluard added a commit that referenced this issue Apr 3, 2018
oskarth pushed a commit that referenced this issue Apr 6, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

7 participants