unstoppable-wallet-ios

Multi-wallet for Bitcoin, Ethereum, Binance Smart Chain and other emerging blockchains. Non-custodial storage, decentralized exchange, and extensive analytics for thousands of tokens and NFTs. Implemented on Swift.

MIT License

Stars
631
Committers
17

Bot releases are visible (Hide)

unstoppable-wallet-ios - Version 0.13

Published by Dianaaiym over 4 years ago

Version 0.13 Highlights

This release includes a number of significant privacy improvements, bug fixes, performance upgrades throughout the app.

Privacy Control Center

The security section in app settings now includes a dedicated privacy control screen. Privacy settings on that screen provide you with everything you need to manage your level of privacy when using Unstoppable as well as things you should know in general.

We feel really good about this as we have been struggling for some time trying to create that section without making it difficult too culex for an average user to grasp. There are some privacy points we want users to understand.

Custom Transaction Fees

Bitcoin users are now able to set custom fee rates when sending transaction. The controller is work in progress and may go through some more changes in the near future.

Ethereum Enhancement

In version 0.12 the entire communication with Ethereum blockchain been going through Infura service. it should be noted that at this point this seems to be the only option for mobile apps communicating with Ethereum blockchain.

The problem with such implementation is that it's neither trustless nor censorship-resistant. To free users from that dependency the wallet now allows the user to switch from Infura to Incubed service which works on top of Ethereum nodes.

Incubed is significantly better as it's more difficult to censor and significantly more reliable when it comes to trust. The results returned by Incubed clients are verified on an app level, making sure that the data returned is in fact valid/correct. That wasn't possible with Infura and the wallet simply trusted that Infura was providing it with a correct information.

Enhanced Privacy For BTC, BCH, LTC Transactions

To further add to privacy of Bitcoin, Litecoin and Bitcoin Cash transactions there is a new setting (Settings >> Security >> Privacy) which enables user to control how the transactions on these blockchains are structured.

Market News

Coin price charts now display latest news below the chart. It displays fresh headlines from relevant blockchain resources giving some further insight to the charts.

We have some major updates for the charts and analytics in the pipeline. Some fo the staff we are going to add in the coming updates are likely to make you go wow :)

Hide/Unhide Balances

It's now possible to hide/unhide total and token balances on Balance tab. Next time you want to demonstrate your Bitcoin wallet to someone you can easily do so without revealing balance.

New Tokens / Blockchains

A number of users been asking us to add Litecoin support. We were able to work on it during this sprint and now the Litecoin is fully supported.

We have also added support for Synthetix token (SNX), an ERC20 token on Ethereum blockchain.

We also looked into adding Algorand token but decided to postpone it after researching the current state of that blockchain. Might revisit this in the coming months.

Rate Our App

Due to the lack of feedback on App Store and Play Market we are having problem getting Unstoppable listed on Bitcoin.org. if you're reading this do humanity a favor and rate/review our app on App Store / Play Market.

Peace!

unstoppable-wallet-ios - Version 0.12

Published by esengulov over 4 years ago

Version 0.12 Highlights

This release includes a lot of minor improvements in the UI/UX and minor bug fixes throughout the app. Furthermore, there were a couple of privacy improvements for Bitcoin blockchain on the wallet side.

In this sprint we primarily worked on architecture elements preparing the application for TOR integration and other privacy enhancing features.

Double Spent Alert for Transactions

Starting from this version the wallet can identify when either incoming or outgoing transaction has a double spent alert. When you see a transaction that uses one of the inputs of another pending transaction the wallet will notify you, as well as show you the IDs of conflicting transactions. Not a lot of wallets out there that can do this for you :)

Privacy Enhancements

When it comes to privacy Unstoppable wallet can already be considered as private as the underlying blockchains. While the wallet doesn't store/pass any data there are certain recommended best practices in individual blockchains i.e. Bitcoin blockchain that can further enhance the privacy for the user.

This release integrates Bitcoin Improvement Proposal 69 which documented here, https://github.com/bitcoin/bips/blob/master/bip-0069.mediawiki

Moreover, we took significant steps to enable wallet to communicate fully over TOR network. This feature is work in progress at this point and hopefully will be available for use in release 0.13.

Coin Charts / Analytics

Coin price charts got upgrade as well. We have added a few more filters for visualizing price charts as well as the historical daily/hourly trading volume data.

The version 0.13 will add another major update to the chart that will include:

  • coin news aggregator
  • on-chain analytics
  • detailed project overviews

Bug Fixes

All reported and discovered bugs were fixed.

We are working full steam. Stay tuned :)

Peace!

unstoppable-wallet-ios - Version 0.11

Published by esengulov almost 5 years ago

Version 0.11 Highlights

Another major sprint for the Unstoppable app!

This release includes significant performance improvements throughout the app. As a result, the app is now noticeably faster, both on iOS and Android platforms. All of the community reported and internally discovered bugs were addressed as well. And more importantly the Unstoppable wallet is now fully compliant with all standard Bitcoin address formats. Read on for details!

Full Support for All Bitcoin Wallet formats

Starting from version 0.11 the Unstoppable wallet is now (the only) fully compliant with all standard Bitcoin address formats. The wallet now able to create and restore BIP44, BIP49, BIP84 Bitcoin wallets.

This basically means that migrating from pretty much any cryptocurrency wallet to Unstoppable app and vice versa is now possible. This ensures that your wallet is never tied to a specific app and can be accessed from any third party app. (# decentralization)

Improved TX Fee Rate Logic

Previously the app would get the user recommended transaction fees for Bitcoin and Ethereum ERC20 tokens from IPFS (decentralized storage medium). This set up turned out to be slow and in general prone to breaking as there were two other services responsible for writing the data to IPFS and keeping it up to date.

Starting from this release the wallet is able to pull real-time transaction fee recommendations for Bitcoin from a standard Bitcoin node via standard RPC call. This resulted in significantly simple and stable setup.

At the same time the transaction fee estimation logic for ERC20 tokens has been optimized as well. The new implementation guarantees that the resulting ERC20 transaction fees are always below the recommended transaction fee values which are shown to the user prior sending.

Failed / Rejected Transactions

The wallet is now able to understand when the sent transaction has failed or been rejected for some reason by some blockchain node. When it happens the rejected/failed status will be shown on the respective transaction in Transactions tab

Design Improvements

There were a LOT of minor and a couple of major design improvements throughout the app with an aim to reduce complexity and make the wallet easy to use even for those who have little to know experience with blockchain technologies.

  • Balance Tab: coin cells are redesigned
  • Transactions Tab: minor layout changes
  • Wallet Create / Restore screens: full-support for all standard Bitcoin wallet formats (BIP44 / BIP49 / BIP84)

Base Currency List Reviewed

The version 0.9 allowed user to switch between 11 base currencies. While this was convenient for the global audience after extensive testing we discovered that exchange rate values are generally valid only for the top 4 fiat currencies i.e. USD, EUR, GBP and JPY. All other fiat currencies showed significant deviation from market rates for some tokens. As a result we decided to restrict the list to these 4 fiat currencies to ensure that users always see the values very close to the real market rates. This can be considered a security measure.

Delisted & Renamed Tokens

We have delisted ZIL(ERC20) and WAX (ERC20) tokens as both projects have migrated their token from Ethereum to WAX blockchains. At this point, the unstoppable app is not able to communicate with either of those blockchains yet. If you hold any of those tokens we advice you to follow migration procedures provided by these projects.

Moreover, the external project MakerDAO which used to control DAI and MKR tokens, went through a major upgrade as a result of which following changes were required on our side:

  • DAI token was renamed to SAI token
  • new DAI token was added to the app

If you're interested to know more head on to the project site and look for recent upgrade notes, https://makerdao.com

Peace!

unstoppable-wallet-ios - Version 0.10

Published by esengulov almost 5 years ago

Version 0.10 Highlights

Another massive sprint for the Unstoppable! We are not in the version 1 yet and are already years ahead of any other wallet (or any blockchain-based service) that's out there.

This time we have introduced some new cool features as well as made extensive improvements to the performance as well as addressed some of the remaining decentralization aspects in various areas. Read on for details!

Design Improvements

Over the last couple of months we have received a lot of UI related feedback and took steps to address most of them in this sprint. There were a LOT of minor and some major design improvements throughout the app.

Highlights:

  • Balance Tab: improved page layout
  • Coin Charts now also include: volume (24 hours), market cap, in circulation, total supply
  • Transactions Tab: improved receiving/sending/pending indicators

Crypto-Fiat Exchange Rates: Better & Faster

Until version 0.9 the crypto-fiat exchange rates were stored and obtained from our IPFS node. Over the last few months this setup didn't meet our expectations as it had several issues ranging from slow download speeds, IPFS node availability issues and fairly complicated setup that was prone to bugs and downtime.

In version 0.10 we upgraded the app to be able to communicate directly with the largest public crypto-fiat exchange rate provider CryptoCompare.com. As a result, the apps are able to get the needed rates much faster and communicate with the provider directly without relying/trusting the middle man.

Locking Your Bitcoins from Spending

This is one of the very first features where we go beyond standard token transfer features in Bitcoin blockchain. Bitcoin blockchain provides means to program transactions in various ways that we have not observed in the wild yet.

In this new version we have added an experimental feature that allows wallet user to send time-locked Bitcoins, either to self or some other user. You're able to instantly send someone Bitcoin that can only be spent by the recipient after a certain date in the future. This was designed for HODLers as a way to lock your Bitcoins during these volatile times.

Disclaimer: This is an Experimental feature and should be used with caution. We have deliberately capped it to 0.5 BTC per transaction. While we are actively testing this feature using our own salaries we can not guarantee that there are no bugs in implementation.

New Tokes Added

  • Paxos Gold (ERC20) : Gold backed token
  • Binance USD BUSD (BEP2) : Stablecoin on Binance DEX blockchain
  • Ripple XMR (BEP2) : Ripple-pegged token on Binance DEX blockchain

Settings >> App Status section

Some of your been reporting technical issues/problems in our Telegram channel. In order to be able to troubleshoot such issues more effectively in the future we have added an App Status under the "Report a Problem" section in Settings. That section keeps some non-private info about the status of the application i.e. phone model, version of the operating system, the status for each blockchain that the app communicates with and so on.

Whenever you have a problem with sending/receiving transaction or some inconsistencies on your balance tab you may go to App Status screen and see if there are any issues there. That screen is a bit technical so if you're not able to debug the issue yourself you may easily copy it and send it over to us for troubleshooting over the telegram channel.

Bugs and Issues

Several community reported and a number of internally discovered bugs were addressed as well.

Peace!

unstoppable-wallet-ios - Version 0.9 (Hotfix)

Published by esengulov almost 5 years ago

Hotfix release to address wallet creation bug

unstoppable-wallet-ios - Version 0.9

Published by esengulov about 5 years ago

Version 0.9 Highlights

Get ready for version 0.9 which is faster and smoother.

Design Improvements

This update brings in tons of both minor and major design improvements throughout the app aimed at simplifying complex crypto-related concepts.

Latest Crypto Rates on Lock Screen

Starting from version 0.9 users are able to view current crypto rates as well as 24-hour % changes without unlocking the app.

BIP49 / BIP44 support

All new wallets are now going to be BIP49 wallets while the Unstoppable wallets created before that will continue to operate in BIP44 manner. That should enable anyone to export any external BIP49 wallet into Unstoppable app and vice versa.

Price Alert Notifications (DISABLED)

We have added means to set price changes alerts in Unstoppable settings. However this feature was disabled prior release due to unpredictable behavior of iOS when it comes to scheduled background tasks. Work in progress ....

Bug Fixes

A number of discovered and community-reported bugs were fixed as well.

Peace!

unstoppable-wallet-ios - Version 0.8

Published by esengulov about 5 years ago

Get ready for another batch of improvements which made the wallet faster, safer and significantly more capable than the previous version.

Version 0.8 Highlights

This update brings in improvements to the wallet architecture (under the hood) aiming at making it noticeably faster and smoother to operate.

Furthermore, a number of discovered/reported bugs were fixed as well.

Price Charts

The wallet now provides the ability to monitor current coin prices as well as the ability to view price changes over time.

  • view % price changes for the last 24 hours
  • ability to sort coins by price change (from top to bottom)
  • price changes over time: 1 day, 7 days, 1 month, 6 months, 1 year

Design Improvements

Design improvements are always work in progress. Highlighted below are ones you should know about:

  • display estimate transaction duration on Send screen
  • display transaction fee for all coins in Transactions history
  • display exact amount for values below the 0.01 fiat units (ex: 0.00015 $)
  • improved animations and transitions throughout the app

Full BIP44 / BIP49 Compliance

In version 0.8 the ability to provide someone with a Segwit RECEIVE address will be disabled. All transactions to your previous Segwit addresses will still work and reach you without issues, you just won't be able to generate a new address. The new RECEIVE addresses will be provided in legacy formats.

This is being done to prepare the wallet to operate fully in BIP 44 / BIP 49 compliant manners. With that change in place you will be easily migrate your Unstoppable wallet to any other external BIP 44/49 compliant wallets without issues and vice versa.

Once the version 0.9 is out the wallet will be able to operate either in BIP44 or BIP49 manner. The existing users will be able to update from version 0.8 to 0.9 and continue using wallet in BIP 44 complaint manner, while users setting up the wallet for the first time will use the wallet in BIP49 compliant manner.

If you're an existing user and don't understand any of the above don't worry and just continue using the wallet. The wallet will keep functioning in BIP44 compliant manner and gradually migrate your funds to BIP44 format. Additional instructions will be provided to the existing users who prefer to upgrade the existing unstoppable wallet from BIP44 to BIP49 compliant formats.

Report A Problem

Added "Report a Problem" option to Settings tab. Allows anyone to report an issue or problem via email or team-monitored Telegram group.

Peace!

unstoppable-wallet-ios - Version 0.7

Published by esengulov about 5 years ago

Perhaps the biggest release so far. A number of major new features as well as lot of significant under the hood improvements which made the wallet faster, safer and more pleasant to use overall.

Version 0.7 Highlights

Unstoppable started as Bitcoin wallet less than a year ago and now supports most of major crypto as well as tokens issued on EOS, Ethereum and Binance DEX blockchains.

Binance Chain (DEX) Integration



Store and manage tokens from Binance Chain (DEX) in a decentralized manner and maintain full control over your Binance and Binance-based (BEP2) tokens.



Supported tokens:

EOS Blockchain Integration

Store and manage tokens from EOS blockchain in a decentralized manner. Full control over your EOS and EOS-based tokens.

Supported tokens:

Multiple Private Keys

Starting from version 0.7 the wallet allows to manage tokens/crypto from multiple blockchains using different private keys. Now you're able to have tokens controlled by different keys in a single wallet, without relying on a third party to manage your funds for you as it's the case with most wallets!

  • 12 words mnemonic: BTC, BCH, ETH, ERC20, DASH
  • Binance DEX Key: BNB, BNB-based tokens
  • EOS Blockchain Key: EOS, EOS-based tokens

Design Improvements:

Design improvements never stop. We make a lot of improvements here and there in every release. Highlighted below are those that you should know about.



Fully redesigned Send screen: The send screen was redesigned to make compatible with Binance and EOS blockchains. Now you can use single send controller to send 50+ crypto tokens



New ‘Sort By’ menu for Balance tab
: Added option to sort tokens on balance tab by balance amount, by name etc.


Improved Coin Manager: Adding/removing coins became easier

New welcome screen

Option to share wallet app with friends. Spread the word ;)

Peace!

unstoppable-wallet-ios - Version 0.6

Published by esengulov over 5 years ago

Highlights in this version

Bitcoin

Ability to receive segwit transactions. In the past wallet was able to restore past segwit transactions as well as send them but not to receive them. This is no longer an issue.

DASH

The wallet will now send Dash transactions as instant transactions when the state of your Dash wallet meets all conditions required by Dash network. The checks happen automatically behind the scenes.

Restore Wallet

Now Fully Decentralized!

The wallet now has the capability to restore and validate your funds(balances) directly from the blockchain rather than via a third party block explorer. This option currently enabled for all blockchains (Bitcoin, Bitcoin Cash, Dash) but not for Ethereum (work in progress)

Transaction Fees & Exchange Rates

Substantially improved speed for getting real time transaction fee rates for individual blockchains as well as currency exchange rates. The app doesn't rely on a single source to obtain that data but will try to obtain them from three different resources to guarantee the availability.

The wallet app will still continue to function regardless of the availability the data.

New ERC20 Token

  • IDEX / contract address:
    0xB705268213D593B8FD88d3FDEFF93AFF5CbDcfAE

UI / Performance

Significant UI improvements throughout the app, especially for the Android OS. Substantial refactoring on Transactions tab to ensure fast and pleasant user experience as well easier future expandability.

Full Changelog:

https://github.com/horizontalsystems/bank-wallet-ios/compare/0.5...0.6

Enjoy!

unstoppable-wallet-ios - Version 0.5

Published by esengulov over 5 years ago

DASH Coin Support

Ability to receive and send DASH coins in a decentralized manner. Dash blockchain comes with ability to send instant and private/anonymous transactions. These two features will be integrated in the upcoming releases.

New ERC20 Tokens

  • USDT / contract address:
    0xdAC17F958D2ee523a2206206994597C13D831ec7
  • Holo (HOT) / contract address:
    0x6c6EE5e31d828De241282B9606C8e98Ea48526E2
  • Cypto.com Chain (CRO) / contract address:
    0xA0b73E1Ff0B80914AB6fe0444E65848C4C34450b
  • Loopring (LRC) / contract address:
    0xEF68e7C694F40c8202821eDF525dE3782458639f
  • aelf (ELF) / contract address:
    0xbf2179859fc6D5BEE9Bf9158632Dc51678a4100e
  • orbs (ORBS) / contract address:
    0xff56Cc6b1E6dEd347aA0B7676C85AB0B3D08B0FA

Other Improvements and Features:

  • faster data (i.e exchange rates) download times from decentralized storage
  • Lightning network research: in preparation for upcoming lighting network integration
  • performance and wallet app architecture improvements
  • UI improvements throughout the app
  • multiple bugs fixed

Full Changelog:

https://github.com/horizontalsystems/bank-wallet-ios/compare/0.4...0.5

unstoppable-wallet-ios - Version 0.4

Published by ealymbaev over 5 years ago

Transaction Fee selection

  • Econom: recommends lowest fee possible provided that there is some level of assurance that transaction will be included within 24 hour period.

  • Optimal: the default option which aims to have the transaction ion included in the next few blocks.

  • Priority : higher fee that provides over 95% probability of inclusion of transaction within the next block

UI & Navigation

Acceptance review of all controllers. Every controller was reviewed and UI adjusted to guarantee the identical or closely similar performance and look on all android devices. A lot of minor fixed and adjustments on Balance, Transactions and Settings tabs.

  • Tab bar navigation via side swipe:
  • TX info controller Improvements:
  • New welcome screen
  • ...

Performance Improvements

Faster download speeds for blockchain meta data such as real-time currency exchange rates and blockchain transaction rates.

All such data downloaded from decentralized storage medium, called IPFS. In this release we significantly improved the availability and download speeds of the data stored on IPFS to ensure that the wallets always have to up to date exchange rates and blockchain transaction fees.

Full Changelog:

https://github.com/horizontalsystems/bank-wallet-ios/compare/0.3...0.4

unstoppable-wallet-ios - Version 0.3

Published by esengulov over 5 years ago

This sprint was dedicated to refactoring existing code with an aim to keep the code base clean and easy to maintain and build upon in the future. You may follow the issues that were assigned to this project to see what exactly was refactored

Most of these are under the hood architecture improvements which are necessary at this point.

Performance Improvements

With the addition of ERC20 tokens a number of use cases were uncovered where the client makes over a dozen different HTTP requests to various external sources (i.e. exchange rates, transaction data for ETH and ERC20 tokens, state data for ETH and so on.)

In this case, the client (especially low end Android phones) needs to perform without lags and any noticeable flickers on the interface. The applied improvements addressed this issue.

In addition, the Transaction tab went through significant refactoring to deliver better performance on slower devices.

UI / UX Refactoring

With the addition of ERC20 tokens a complexity of the app significantly increased. The ERC20 token also brought with them additional requirements to different UI controllers in the app.

We refactored the the UI / UX controllers throughout the app so that existing controllers are flexible and able to adapt to upcoming integration of new blockchains.

Full Changelog:

https://github.com/horizontalsystems/bank-wallet-ios/compare/0.2...0.3

unstoppable-wallet-ios - Version 0.2

Published by ealymbaev over 5 years ago

Decentralized Transaction Explorer

Enable wallet users to retrieve detailed transaction info (as a reference for the payment) from desired public blockchain explorer provider.

For every pending/past transaction in each supported blockchain the controller displays data returned by explorer i.e. transaction ID, number of confirmations, transaction fee, block where it was mined, relevant inputs/outputs for the given transaction and more.

That would allow wallet user to independently verify any incoming/outgoing transaction from within the client using external data provider. The implementation will enable user to choose which blockchain explorer to use from within the app.

issues: https://github.com/horizontalsystems/bank-wallet-ios/issues/243

ERC 20 support + Coin Manager

Add support for ERC 20 tokens. Allow users to choose which currencies will appear on Balance Tab and hide those that are not needed. With the addition of ERC20 token there will be a lot.

issues: https://github.com/horizontalsystems/bank-wallet-ios/issues/245, https://github.com/horizontalsystems/bank-wallet-ios/issues/141, https://github.com/horizontalsystems/bank-wallet-ios/issues/254

UI / UX Improvements

issues: https://github.com/horizontalsystems/bank-wallet-ios/issues/247, https://github.com/horizontalsystems/bank-wallet-ios/issues/244, https://github.com/horizontalsystems/bank-wallet-ios/issues/207, https://github.com/horizontalsystems/bank-wallet-ios/issues/130

Refactoring

Significant refactoring of the app's codebase to improve the speed and UX.

Related Projects