Giter Site home page Giter Site logo

birthdayresearch / defichain-wallet Goto Github PK

View Code? Open in Web Editor NEW
125.0 9.0 46.0 147.76 MB

DeFiChain Wallet. The DeFi Blockchain Light Wallet for iOS, Android & Web.

License: MIT License

Shell 0.01% TypeScript 99.59% JavaScript 0.40%
ios android native finance defi dfi blockchain decentralized

defichain-wallet's People

Contributors

aentan avatar canonbrother avatar chloezxyy avatar comm-m459 avatar dcorral avatar defichain-bot avatar dependabot[bot] avatar edeadsatellite avatar fullstackninja864 avatar fuxingloh avatar g9000 avatar github-actions[bot] avatar imgbot[bot] avatar ivan-zynesis avatar izzycsy avatar joshuac817 avatar kevzzsk avatar kolibri1990 avatar kyleleow avatar lykalabrada avatar nattadex avatar pierregee avatar rampraesath avatar renovate[bot] avatar rox1338 avatar siradji avatar solros avatar thedoublejay avatar uzyn avatar veralygit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

defichain-wallet's Issues

setup state management

What would you like to be added:

Setup a state management framework for wallet

Why is this needed:

`wallet` - create new wallet

What would you like to be added:

Create new wallet

Why is this needed:

Ability to Create a new wallet

  • Create new wallet button
  • Generate 24 mnemonic seed
  • Verify mnemonic seed
  • Encrypt wallet page (Pending design)

image

image

image

error boundaries for wallet

What would you like to be added:

Create error boundaries to have handle errors better

Why is this needed:

`convert` - tokens vs UTXO screen

What UI/UX improvements would you like to be implemented:

Why is this needed:

Screen to explain Tokens vs UTXO

Which component/screens does this concern?:

image

Anything else we need to know?:

`send` - qr code scanner

What UI/UX improvements would you like to be implemented:

Why is this needed:

To be able to scan QR codes for addresses

Which component/screens does this concern?:

Anything else we need to know?:

`transactions` - Filter page

What would you like to be added:

Filter tokens on the transaction page.

Why is this needed:

  • Filter Token
  • Include rewards

image

`send` - main page

What would you like to be added:

Ability to send token

Why is this needed:

  • Token Selector
  • Balance display with max button
  • Address field
  • Transaction fee

image

`settings` - main page

What would you like to be added:

Settings page with some features

Why is this needed:

  • Network Switcher
  • Exit Wallet
  • Language Selector

image

`settings` - help and support links

What would you like to be added:

Access to help and support links. Add links from community project.

  • Telegram En
  • Telegram Zh
  • Telegram De
  • WeChat
  • Github
  • FAQ
  • Defichain.com site
  • Reddit
  • Wiki

Why is this needed:

image

end-to-end testing capability

What would you like to be added:

Setting up end to end testing capability to ensure all UI/UX workflow are substantially tested.
Test results should be presented at merge for code reviewer to decide whether to accept the PR.
Mobile native testing capability is not required, the focus should be on the workflow.

Why is this needed:

  1. This prevent regression issues when merging new features in.
  2. Makes main branch production ready.

workflow for expo dependencies

What would you like to be added:

Create workflow to update expo dependencies.

Why is this needed:

To keep up with latest expo releases.

Hiding/Showing of debug menu for non production builds

What would you like to be added:

  • Ability to click/show a button to hide/show feature when in debug mode.
  • Allow access to the playground in debug mode without running it on the browser.

Why is this needed:

For better mobile testing QOL.

/assign @thedoublejay
/area core
/triage accepted

error logging/stats monitoring for wallet

What would you like to be added:

Some kind of stats monitoring, error logging tool that we can use. Especially JS errors, which page error occurred etc.

One tool I have used before:
https://raygun.com

Why is this needed:

View errors for users with logs, browser used, location etc. It will also display how many users are encountering this error, when it was first encountered etc.

`balances` - main page

What would you like to be added:

Balances Page

Why is this needed:

Ability to display balances, send and receive tokens

  • Balances Page
  • Token List

image

preview ui at merge

What would you like to be added:

Preview UI at merge, this allows community to discuss changes and make iterative suggestions how to how to make the app better.

`create wallet` - verify mnemonic keywords

What UI/UX improvements would you like to be implemented:

When verifying a mnemonic keyword, pressing enter closes the keyboard. It should go to the next line until form can be submitted.

Why is this needed:

Which component/screens does this concern?:

Anything else we need to know?:

`settings/help` fix style

What UI/UX improvements would you like to be implemented:

settings/help needs to be improved, it's not respective native design. The navigation controller needs to be stand-alone too.

/triage accepted
/priority important-soon
/assign @fuxingloh

improve setHeight for OceanDrawer

What would you like to be added:

Currently, we're injecting the height of the bottom nav to place the OceanDrawer on top of it. Ex. If height of bottom nav is 49, OceanDrawer will have a style of { bottom: 49 }

Why is this needed:

Improve this to prevent manually injecting it on BalancesScreen.

`restore wallet` - input field

What UI/UX improvements would you like to be implemented:

When you focus in on input field inside restore wallet, the entire screen shifts up

Why is this needed:

Which component/screens does this concern?:

Anything else we need to know?:

implement `coachmarks`

What UI/UX improvements would you like to be implemented:

Implement coachmarks on initial start of user application. It will highlight the most important features and some guides on what to do.

Might be useful especially for new users @fuxingloh @jtlntno-cake @aentan

Ex. https://github.com/mohebifar/react-native-copilot

Why is this needed:

Which component/screens does this concern?:

Anything else we need to know?:

`liquidity` - main page

What would you like to be added:

Main landing page for Liqudity page.

Why is this needed:

  • Add/Remove Liquidity
  • Display existing liqudity pools
  • Display available liqudity pools

image
image

Iterating `Wallet` Onboarding UI/UX

What would you like to be added:

The current Mnemonic Wallet #124 was merged into main so that we do not block other implementation progress for better velocity. The implementation was iterated on by the engineers as there some technical differences that require a few changes. This is the only set of screens that were largely incompatible with what was designed, while for the rest it's unlikely that we will do such a drastic change.

However, as the implementation was more geared towards technical reconciliation reasons, we need to iterate on this heavily.

Summary of changes, read #124 for more details.

Screen Changes
Wallets Onboarding You can only create one wallet in your app, labeling the wallet doesn't help now. We might enable multiple
Create Mnemonic Wallet Zig zag layout to a more linear for better traversing of content/words.
Create Mnemonic Wallet Verification Every single word must be verified, leaving any word unverified is not worth the risk.
Restore Mnemonic Wallet There is no good reason why I changed this other than to reduce complexity on my end.

Lastly, we also need a new set of copy, new onboarding sequence/experience. A wallet creation onboarding screen (so that users know we are a noncustodial wallet, no one can help you if you lose your mnemonic phrase).

/triage accepted
/assign @jtlntno-cake please coordinate this, you need to create and branch off issue discussing changes and creating the narrative for change.
/priority important-soon

`splash screen` - main page

What would you like to be added:

A splash screen for the light wallet.

Why is this needed:

It will be displayed on start of the app.

`transactions` - main page

What would you like to be added:

Display all transactions

Why is this needed:

  • Display transactions
  • Type of Transaction
  • Transaction Symbol
    - Green for any amounts to be added to the wallet (Receive, rewards etc)
  • Filter option #157
  • Details #158

image

Update icon set used to MaterialIcons and/or MaterialCommunityIcons

What UI/UX improvements would you like to be implemented:

Update icon set used to MaterialIcons and/or MaterialCommunityIcons.

Why is this needed:

The desktop app uses Material Design Icons. The designs also specify Material Design icons. We should unify all icons used in every product for consistency. MaterialCommunityIcons are additional and non-official icons that are consistent with the MD style, and may be useful if we need something not provided by the base set.

Which component/screens does this concern?:

Tab bar and anywhere else in the UI that shows icons.

Anything else we need to know?:

All design icon specifications are in Marvel handoffs.

front matters of light wallet

What would you like to be added:

  • Icons for iOS/Android and etc.
  • App Store banner images and etc.

Where can I get the assets for them?

/triage accepted
/priority important-soon
/area ui-ux
/assign @aentan @jtlntno-cake

`Wallet` - Encryption and Passphrase Flow

What would you like to be added:

Wallets are locked via passphrase. We need a way to unlock it.

Why is this needed:

Unlocking a wallet can be done when switching wallets or when you open the app.
Pending designs

`loader` - main loader

What would you like to be added:

Loader component

Why is this needed:

Must have loading icon and injectable text (so it can be reused)
image

`dex` - swap page

What would you like to be added:

Ability to use DEX in the wallet

Why is this needed:

image

`empty states` - all

What UI/UX improvements would you like to be implemented:

We need to have empty states for some pages that might have empty/blank value at start (e.g, Transaction page)

Why is this needed:

Which component/screens does this concern?:

Anything else we need to know?:

Deprecate `NumberText` in components/index.ts

Remove NumberText in components/index.ts and all implementation that uses it (transaction screen). It's an over-abstraction that shouldn't be introduced in the first place.

/triage accepted
/area core
/assign @ivan-zynesis
/priority important-soon

`receive` - address page

What would you like to be added:

Ability to generate addresses so we can receive tokens

Why is this needed:

  • Generate QR code with address
    image

throw away upstream regtest capability

What would you like to be added:

Instead of using TestNet/MainNet, RegTest can be used as an alternative fast network for transient based testing.

Why is this needed:

Enable close to TestNet testing capability without the lag time.

Collect CodeCoverage from E2E Cypress Tests

What would you like to be added:

Non UI code was tested with jest unit test, other tests such as those that require navigation uses Cypress for testing. Coverage can be called from Cypress suite and we should collect them to represent the collective coverage we did for DeFiCh/wallet.

missing translation reporting at merge

What would you like to be added:

A custom GitHub workflow to report on missing translation at merge.

Why is this needed:

Allow the translation team and community to see what translation are missing to provide translation PR.

`transactions` - transaction details

What would you like to be added:

Details of the transaction

Why is this needed:

  • Transaction Type
  • Amount
  • Transaction Date
  • TX ID that will be redirected to Explorer

image

`Bottom Drawer` for displaying transaction and network activity

What would you like to be added:

Instead of using the navbar which is size fragmented and has a different design language in each native platform. We should use Bottom Tab Bar and have a Drawer/Fold above that tab bar instead.

/area ui-ux

Why is this needed:

app should show auto update notice

What would you like to be added:

App should show an auto update notice when a new incompatible release is released.

Why is this needed:

To keep the app up to date with the latest releases.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.