Giter Club home page Giter Club logo

honeybadger's People

Contributors

akash-d avatar anonymoussprocket avatar dariuszsobkowicz avatar developer0623 avatar sandeeprao69 avatar yourcodesucks avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

developer0623

honeybadger's Issues

Test onboarding flow

Users should be prompted to backup their recovery phrase. Test onboarding flow and note down the steps and current logic

Secure key storage

Investigate the availability of secure data storage in react-native. On iOS, this would be the keychain at a minimum. On Android the may be the Keystore.

Display node status alerts

Currently, users on mobile have no way to determine if our infrastructure is experiencing issues. This will cause confusion if transactions aren't going through. To solve for this we need infra outage alerts.

Send Transaction

The user should be able to send XTZ available in his/her account.

  1. The user taps the "Send" call to action.
  2. The user has three options for entering a recipient address:
    2.a Paste an address from a clipboard
    2.b Scan an address from QR code
    2.c Enter address directly into the text input field.
  3. Recipient address validation:
    3.a We check if the user started an address with tz or KT (we don't wait for the user to finish typing to throw this error.
    3.b The address is too short. This error applies if the user pasted the address from a clipboard.
    3.c The address is too long (possible both while typing and through copy/paste
    3.d Other issues, such as special characters and etc.
    3.e There are spaces at the beginning or at the end of the address. We don't through an error. Instead, we automatically remove the spaces or ignore them in the validation (we do need to be able to pass an address without extra spaces).
    3.f Other considerations: When sending a transaction to a new address with 0 balance the fee will be higher than for a regular transaction. In the current design, we are not alerting the user regarding this.
  4. If the address passes validation, we display a confirmation shortened address and enabled the "next" button.
  5. If this is the first time the user is sending to the recipient address, show first time modal. We might want to consider "don't show again" checkbox.
  6. The user enters an amount:
    6.a The user can switch between XTZ and USD by tapping on the corresponding value. In turn, the available balance will be displayed in either XTZ or USD depending on which value is in focus.
    6.b Use Max should account for the fee. Also, I think the fee might be higher to completely clear out an account, so the fee should be updated to reflect that.
    6.c Validation: the amount cannot exceed the available balance - fee. If it does don't let the user add more numbers, instead, if the user tries to do that shake the amount field to bring attention the the "insufficient funds" message.
  7. The user views the transaction summary. Keep in mind that for the first release the fee is predetermined by us and can't be changed by the user. It's important that we use the fee that will allow the transaction to go through.
  8. The user slides the "send" button.
  9. We show in progress row in the transactions tab. Clicking on the row links to a block explorer (Arronax or Mininax).
  10. Once the transaction is complete we show the checkmark instead of the sand timer for a couple of seconds and then display the row as any other transaction.

DESIGNS

Invision:
https://invis.io/E6XI46BX92V#/420713188_My_Account_-_Transactions_List

Abstract:
https://share.goabstract.com/b5e3d0b0-523e-47e5-8216-4a34641ad1fe

TestFlight feedback for build 1

  • The app shows up as "Galleon Mobile Wallet". "Galleon Mobile" might be more elegant.
  • The app name appears as "honeybadger" on my home screen rather than "Galleon Mobile". We should keep names consistent.
  • The splash screen says honeybadger. - covered in #20
  • Before autogenerating an account, it should show me a message saying it's autogenerating an account for me and import will be available later.
  • "Product of Cryptonomic" => "A product of Cryptonomic"

Build 2 design feedback

  • During the account creation process the text inside the circle looks weird.
  • Consider removing "My account" header.
  • First time send dialog should have a cancel button or back button.
  • There are both the back button and the close button (x) on the send and receive views.
  • The send view should have some comment on the fact that you can't send anything if the balance is 0.
  • The send button should be on the left and the receive on the right.

Create New Wallet

We are providing the user with fast and automatic wallet creation.

Steps after installation of the app:

  1. User taps "get started" button on the app landing page.
  2. We generate a tz1 account for the user. While the user is waiting we'll be displaying progress animation.
  3. We display the user's account with no funds.

Note that as part of this process we are not asking the user to create a password or to back up their recovery phrase. We'll be introducing these options later once the user has funds.

Designs:
https://share.goabstract.com/f549a42d-6d32-4392-b4ac-b9191951d8e2

TestFlight feedback for build 2-15

  • "Got it!" button on the first time send dialog is not visible.
  • Fix "first time" dialog.
  • "Recepient" -> Recipient
  • tz1 address entry should not spellcheck, etc: autoCompleteType=off, autoCorrect=false, autoCapitalize=none.
  • Transaction timestamp is not formatted to local time.
  • Decimal amount entry is not great.
  • Address entry for Send view covers UI on the bottom and doesn't have an obvious cue to continue.
  • Bottom portion of the transaction list cannot be scrolled to.
  • Splash screen flashes by too quickly on initial setup, meaning before there is an account.
  • During the account creation process after the check appears in the circle it briefly flashes to some other image, then back, then moves to the home view.

Recovery Phrase backup flow to revisit

A user goes to Settings/Security/Backup Recovery Phrase / 3 security tips screens / Recovery phrase Displayed.
While exiting the screen, it should prompt to confirm that the mnemomic was backed up.
Currently, it does not ask to confirm and when the user go back on the main Settings page the Backup Recovery Phrase still says "Not backed up" in red.

Script iOS builds

Either create a shell script that can build an app archive by calling Xcode tools directly or consider the Expo build process.

Receive Transactions

Our users should be able to receive transactions to his/her account. In the future releases, we'll be supporting XTZ and tokens, for this release we are only supporting XTZ.

Steps:

  1. The user taps on the receive button.
  2. System displays Receive page with QR Code, full account address, and actions to copy the address to the clipboard or share it via social media (built-in phone os share functionality).
    3A. The user taps the Copy icon button and the address gets copied to the clipboard. We display a confirmation fade away message for about 5 seconds.
    3B. The user taps the Share icon button. (The share icon would depend on phone OS - different icon for Android vs IOS) We'll show the user the appropriate sharing options based on his/her OS and apps installed.
  3. The user sees received transaction in the transactions tab. If it's the first transaction, we display a security module.

Designs in Abstract:
https://share.goabstract.com/194686e2-39d9-4286-8f40-603591300bd6

Designs in Invision:
https://invis.io/E6XI46BX92V#/420714147_Receive

Ensure Beacon works correctly

We should ensure the following happens without bugs while using the Beacon SDK:

  • Pairing with a dApp, e.g. objkt.com
  • Approving transactions without crashing the wallet

This should work locally on the emulator as well as an iOS or Android phone.

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.