Coder Social home page Coder Social logo

horizontalsystems / unstoppable-wallet-android Goto Github PK

View Code? Open in Web Editor NEW
839.0 33.0 359.0 90.54 MB

A powerful non-custodial multi-wallet for Bitcoin, Ethereum, Binance Smart Chain, Avalanche, Solana and other blockchains. Non-custodial crypto and NFT storage, onchain decentralized exchange, institutional grade analytics for cryptcurrency and NFT markets, extensive privacy controls and human oriented design. Implemented on Kotlin.

Home Page: https://unstoppable.money

License: MIT License

Ruby 0.03% Kotlin 99.85% Shell 0.12%
bitcoin ethereum crypto-sdk crypto-toolkit multi-wallet hd-wallets ethereum-sdk crypto-wallet bitcoin-wallet ethereum-wallet

unstoppable-wallet-android's Introduction

Unstoppable Wallet

We dream of a world… A world where private property is untouchable and market access is unconditional.

That obsession led us to engineer a crypto wallet that is equally open to all, lives online forever and unconditionally protects your assets. Only the user is in control of the money.

Unstoppable is a powerful non-custodial multi-wallet for Bitcoin, Ethereum, Binance Smart Chain, Avalanche, Solana, Zcash, The Open Network several and other blockchains. It provides non-custodial crypto storage, on-chain decentralized swaps, institutional grade analytics for cryptocurrency markets, extensive privacy controls and human oriented design.

It is built with care and adheres to best programming practices and implementation standards in cryptocurrency world. Fully implemented on Kotlin.

More at https://unstoppable.money

Supported Android Versions

Devices with Android versions 8.1 and above

Download

Get it on F-Droid Get it on Google Play

Source Code

https://github.com/horizontalsystems/unstoppable-wallet-android

License

This wallet is open source and available under the terms of the MIT License.

unstoppable-wallet-android's People

Contributors

abdrasulov avatar dianaaiym avatar ealymbaev avatar esen avatar esengulov avatar herou avatar horsys avatar irvise avatar junzhli avatar nk-the-crazy avatar omahs avatar omurovch avatar pjcspro avatar poussinou avatar rafaelekol avatar talgatnurdinov avatar tkterris avatar tmedetbekov avatar uber9 avatar userkilled 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

unstoppable-wallet-android's Issues

send controller: try to disable Google's Gboard in address inout field

In send controller try to disable Google's keyboard from showing when switching between amount/address fields.

Switching from amount to address field results in unpleasant flicker effect as the GBoard added on top of the native keyboard. We need to research that and try to avoid that for the benefit of the smooth user experience.

light mode issues

  • pin edit and lock screen don't support light mode
  • the secret keys are not visible when trying to backup keys

Check Peer when connected

When we connect to peer we should check if:

  • its block height > 0
  • it is a full node
  • it supports bloom filter

If it doesn't meet the requirements we will disconnect it.

Settings : finish security settings section

Release version will have:

  • implement cells as on design mockups
  • The "import wallet" setting. clicking on it would show user a confirmation dialog in bottom sheet controller similar to the confirmation dialog shown after the secret key backup. ** (1)This action will remove the currently installed wallet. (2)Backup its secret keys if you want too be able to access that wallet in the future. ""
  • clicking on "unlink from this device" would show user same alert as for "import wallet"

screen shot 2018-09-24 at 6 35 52 pm

screen shot 2018-09-25 at 3 42 26 pm

https://zpl.io/VQEwA7m

Switch Sync Peer in Peer Group

When switchPeer is true in
PeerGroup::requestHeaders(headerHashes: Array<ByteArray>, switchPeer: Boolean) before sending request to syncPeer we need to:

  • Switch sync peer with any other peer.
  • Set isFree flag of both prev and new sync peers with appropriate values

implement Base Currency setting

Below you will find a list of all controller sent he app where user sees a fiat-currency equivalent of crypto amount.

  • send controller
  • transactions tab
  • transaction info controller
  • transaction status controller

Note that these amounts needs to be requested from the permanent IPFS record for that specific transaction.

@nk-the-crazy currently works on the implementation. followup up with him on the status before you begin working on that ticket. Once implemented we will be able to retrieve things like exchange rate and other transaction data for any blockchain in close tp real-time.

Send Module should validate Address and Amount

  • Send Button should only get activated when amount and address are both have valid entries.
  • display balance for the coin in the send module
  • show text error just under input in red color. Also set red border for invalid input
  • validate entered address
  • validate input on amount field
  • add the switch(base currency <>crypto) button back to the amount field
  • instead "not available amount' show available balance

screen shot 2018-11-07 at 1 54 06 pm

https://zpl.io/2EKoGzM

Implement Base Currency

Below you will find a list of all controller sent he app where user sees a fiat-currency equivalent of crypto amount.

  • send controller
  • transactions tab
  • settings (base currency selector controller)
  • transaction info controller
  • transaction status controller

Note that these amounts needs to be requested from the permanent IPFS record for that specific transaction.

@nk-the-crazy currently works on the implementation. followup up with him on the status before you begin working on that ticket. Once implemented we will be able to retrieve things like exchange rate and other transaction data for any blockchain in close tp real-time.

Add one more step after entering new pin "Confirm Pin" in edit pin

Rename steps titles to:

Set

  • Set Pin
    Your pin will be used to unlock your wallet and send money
  • Confirm Pin
    Your pin will be used to unlock your wallet and send money

Unlock

  • Enter Pin

Edit Pin

  • Edit Pin
  • New Pin
  • Confirm New Pin

if the text does not fit the size of the screen cut and ...

Bloom Filters

Implement setting bloom filters to the peer group

Implement transaction status screen

Transaction status screen opened by clickable (status: completed/processing) button in transaction info.

  • Sender/Receiver/ID hash address boxes are clickable for copying.
  • "Block" cell should not be shown when status "processing".
  • "Block" cell should show block number and clickable when status "completed".

Screens

transactions status

https://scene.zeplin.io/project/5b18ecff68e34a92986b0224

Allow User to choose API for Restore Wallet for BTC / BCH/ DASH

  • Restore from API : option may have several options to choose from including our own, for each supported blockchain. If for some reason a public explorer not available or not-responding it shouldn't be possible to proceed with that option. Similar implementation to transaction info data sources.

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.