status-im / swarms

Swarm Home. New, completed and in-progress features for Status
92 stars 31 forks source link

ERC20 token support #3

Closed jeluard closed 6 years ago

jeluard commented 6 years ago

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:

Can be split in 4 categories:

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):

Demo acceptance:

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 commented 6 years ago

I pledge focus 20h/w.

asemiankevich commented 6 years ago

I pledge focus 15h/w.

goranjovic commented 6 years ago

I pledge focus 20 h/w

goranjovic commented 6 years ago

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

goranjovic commented 6 years ago

Relevant pre-existing issues:

https://github.com/status-im/status-react/issues/1951 https://github.com/status-im/status-react/issues/1745 https://github.com/status-im/status-react/issues/1722 https://github.com/status-im/status-react/issues/1654 https://github.com/status-im/status-react/issues/1528 https://github.com/status-im/status-react/issues/1653

sla-shi commented 6 years ago

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

jeluard commented 6 years ago

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

asemiankevich commented 6 years ago

Action items after today's cacth-up:

jeluard commented 6 years ago

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

jeluard commented 6 years ago

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

jeluard commented 6 years ago

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 .