GithubHelp home page GithubHelp logo

blockstream / green_ios Goto Github PK

View Code? Open in Web Editor NEW
114.0 114.0 32.0 21.96 MB

Blockstream Green Wallet for iOS

License: GNU General Public License v3.0

Ruby 0.28% Swift 99.10% Shell 0.55% Python 0.06%

green_ios's People

Contributors

afilini avatar angelix avatar domegabri avatar glslang avatar greenaddress avatar jkauffman1 avatar joelklabo avatar leocomandini avatar lvaccaro avatar mauroolivo 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

green_ios's Issues

if two Jades are available at the same time, it's impossible to choose from the list

Description

if two Jades are available at the same time, it's impossible to choose from the list because they keep swapping with a millisecond frequency so one can't select the right Jade.

Version

3.7.5

Steps to reproduce

  1. Have two Jades on with the BT on
  2. Try to connect to one of them

Expected behaviour

Devices list is static

Actual behaviour

Device list keeps changing

Screenshots

Device or machine

iPhone 8, iOS 15.0.1

Additional info

[Feature request] Widget displaying wallet balance

Description

It would be awesome if one could add a widget displaying the balance of a wallet. Which wallet to display could be an option in the app settings.

Perhaps there could also be a larger widget variant showing the balance of multiple wallets.

General feedback

Sorry but code looks like it was made by freelancers. Anyway, the interface looks beautiful. Good luck, guys

P.S.
Please forgive me for not finding a better place to this review

[Feature request] split satoshis in wallet display

Currently satoshi amounts are displayed without any numerical formatting, like "1234567 sats" in the main wallet overview. This is really hard to visually parse at a glance. Would be great if they could be broken up somehow, for example "1 234 567 sats" or 1,234,567 sats"

Build Fails with "No Such Module PromiseKit"

Description

building in XCode fails with No such module 'PromiseKit'.
I have tried pod deintegrate and pod install multiple times.

Also $ tools/build.sh --iphonesim static fails to build from the command line, but can find PromiseKit, with:

clang: error: no such file or directory: '/Users/bsh/green_ios/gdk-iphone/lib/iphonesim/libgreenaddress_full.a'
Command Ld failed with a nonzero exit code
...

The following build commands failed:
	Ld /Users/bsh/Library/Developer/Xcode/DerivedData/gaios-bjkavaudikevspbfbuioyvfwtkwr/Build/Products/Release-iphonesimulator/gaios.app/gaios normal x86_64

Then I add in the directory and copy the files from the /iphone dir which produces:

ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
...

The following build commands failed:
	Ld /Users/bsh/Library/Developer/Xcode/DerivedData/gaios-bjkavaudikevspbfbuioyvfwtkwr/Build/Products/Release-iphonesimulator/gaios.app/gaios normal x86_64

Which makes sense.

Version

commit 1ba421c

Device or machine

OSX 10.15.1

Missing label

There is missing label on create account dialog. When you create account the dialog says:
id_simple_accounts_allow_you_to

Unable to export private key

I cannot find any way to export my private keys.

I am able to view the seed phrase, but it is not possible to import that directly into Bitcoin Core.
Exporting or exposing the private key itself should be a fundamental feature in any wallet.

[Feature request] let users skip mnemonic backup on testnet

It'd be great if I didn't have to backup my mnemonic on testnet. In general, the UX where the app prompts you for backing up even before you have any money at all is very frustrating. Why bother the user with this if they are only going to have a few thousand sats on the app?

UX - low default network fee stop payment process

Description

When you try to read a QR ( with amount and label ) and the default network fee are too low you can't proceed the payment process.
Settings don't have menu to raise the default fee.

Version

v. 3.4.7

Steps to reproduce

Read a QR ( with amount and label ) and default network fee at minimum ( 1 sat/byte ).

Expected behaviour

possibility to change fee.

Actual behaviour

Can't proceed payment process.

Screenshots

photo_2021-01-25 16 26 34

Device or machine

iPhone XS - iOS 14.3

Additional info

work around:
by copying and pasting only the address and inserting amount you can change fee and complete payment

nlocktime

There is no way to get nlocktime.zip, which i guess is one of the most important parts to have if you use the wallet.

Also documentation about nlocktimes.zip is missing, you are prompt to store the seed securely and also you are asked to set up 2fa, but there is no mention that if you loose 2fa you basically lost your wallet.

The IOS version of green wallet looks as it has been done purely, almost as if management decided to have a IOS app version and the techs kind of slapped it on.

Green Wallet on IOs Doesn't recover my 24 seed wallet (from umbrel)

Description

Green Wallet on IOs Doesn't recover my 24 seed wallet (from umbrel)

Version

3.8.9

Steps to reproduce

add wallet - restore wallet -bitcoin - recovery phrase -24

Expected behaviour

restore wallet

Actual behaviour

invalid seedphrase

Screenshots

Device or machine

iphone xs max

Additional info

Can't restore a Liquid wallet from seed

Description

I created a Liquid wallet on an Android device, and for some reason I would like to use the same wallet but on an iOS device. It seems I can't restore it though.

Version

3.3.6 (Android is 3.3.6 too)

Steps to reproduce

Open Green on iOS, tap "restore wallet", input the 24 words mnemonic and tap "restore".

Expected behaviour

I should be able to restore my wallet, or at least have more precise information about why it fails.

Actual behaviour

It fails with a "login failed" message

Screenshots

IMG_4654 scaled
(yes I know my phone is in chinese, but believe me it means "login failed")

Device or machine

iPhone 6S
iOS 13.4.1

Additional info

can't create or restore green wallet - false positive of "no internet connection"

Description

I created a new wallet on iOS green wallet but when I verify my mnemonic seed, the 8th entry a pop-up says "You are not connected to the internet. Please connect and retry". Even when I try to restore I get the same error. But i'm constantly connected to the internet so that error is incorrect.

Version

Steps to reproduce

Write down provided mnemonic seed.
App asks to verify certain sequence of the mnemonic seed,
On the 8 seed entry I get an error saying I have no internet connection (which is false)

Expected behaviour

A new wallet should be created or restored.

Actual behaviour

Got the following pop-up:
"You are not connected to the internet. Please connect and retry"

Screenshots

image

Device or machine

iOS XR

Additional info

[Feature Request] button to delete or remove wallet from "All Wallets" list

Description

Once you add a Bitcoin or Liquid wallet, you can not remove it from the "All Wallets" list on iOS (you can remove the wallet on the desktop version)

Version

3.7.7

Steps to reproduce

  1. Create a new wallet
  2. Log out of that wallet
  3. There is no option in the wallets list or in the settings page for that particular wallet to delete or remove the wallet

Expected behaviour

There is a way to remove the wallet.

Actual behaviour

There is not a way to remove the wallet.

Screenshots

n/a

Device or machine

iphone 13 pro

Additional info

watch-only ypub import "login failed"

Fresh install of Blockstream Green for iOS through the App Store. I use the camera to import my ypub. The scan works but when I press Import there is a red toast at the top which says "Login Failed." I looked everywhere but see no way to resolve this.

Unable to complete wallet seed verification if socks proxy cannot connect

Description

During initial setup of new wallet, user is unable to complete wallet seed verification if socks proxy cannot connect

Version

Latest

Steps to reproduce

During initial wallet creation, specify a socks proxy and input a hostname such as "bitcoin". Create new wallet. During final verification of seed (select word 4) the app will not continue due to "You are not connected to the internet. Please connect and retry."

Expected behaviour

App should verify the seed without requiring an internet connection or without requiring the socks proxy to connect

Actual behaviour

App requires user to return to the initial screen, abandoning seed, to remove socks proxy before validating new seed to continue.

Screenshots

GUI shows part of attempted new seed during error message, skipping due to abundance of caution ;-)

Device or machine

iOS / iphone 8

Additional info

tips: 3Lb8MJ7Q7CM9VSxVKUko3UABTjiLommaUw

Can't restore BTC Wallet on New iOS Phone

Description

I'll share my recent experience with Blockstream Green Wallet. Not good so far. Just opened ticket with their support team a few days ago, but nothing yet. Someone reached out, but after initial and very impersonal stock response, no one has reached out again. So, no solution to issue. Hopefully someone here or there can help!

Added Green Wallet APP to iphone and recorded mnemonic.
Put fair amount of BTC in Green Wallet.
Phone stopped working. Damaged. Got new phone and restored all other crypto wallets (5 total) with mnemonics and then Green Wallet tells me my mnemonic is invalid and that it will only work on Liquid Network.

Stock Blockstream response bot tells me I can restore a Liquid Wallet with nothing in it, but not the BTC Wallet with half my savings in it.

Needless to say I am furious with Blockstream and their lack of concern for issues like this. I did not create a Liquid Wallet, only BTC Wallet. I am waiting for solution from them and if nothing can be done, I will not rule out reporting them to the FTC and possibly seeking legal action.

Last ditch effort to recover, I am bringing damaged phone to Apple Store to see if they can restore power and at least let me log back into original Green Wallet. Still have my pin and all GreenAddress transactions via email.

Anyone here have any suggestions or similar experience?

Version

3.5.1

Steps to reproduce

N/A

Expected behaviour

I expect that when I enter mnemonic for BTC Wallet that it restores.

Actual behaviour

It will only allow me to restore a Liquid Wallet with the mnemonic that I recorded for a BTC Wallet.

Screenshots

Device or machine

Old damaged phone iPhone XS Max. New phone iPhone 12 Pro

Additional info

System Message > Terms of Service

Description

Unable to tick the box at the end for "I confirm I have read and understood the above message"

I tried scrolling to the end and back - the tick-box cannot be ticked and "Accept" is disabled for the same reason.

Version

3.0.7

Steps to reproduce

Click the Notifications bell icon at the lower right and click the "System Message" - GreenAddress Terms of Service (which also seems a bit outdated)

Expected behaviour

To click the box and accept

Actual behaviour

Unable to tick the box

Screenshots

Device or machine

iOS 12.2 iPhone XS Max and iPad Pro

Additional info

Add ability to modify PIN code

Right now, to modify the PIN security code, a user must

  1. hunt around for the ability to do this but not find it
  2. then attempt to disable PIN code
  3. then learn one must first disable TouchID
  4. then be warned when disabling TouchID that you must remember your PIN or mnemonic
  5. then when disabling PIN code be warned that you must remember your mnemonic

At this point, I think many users will either be (a) scared to attempt to change their PIN code for fear of losing their money or (b) be too lazy to do so because they don't want to have to access their backup mnemonic codes as they might not be super accessible. This results in a user possibly having a less secure PIN code.

I would suggest adding the ability to modify the PIN ocde to avoid all of the mental effort outlined above.

@selenej @greenaddress

Screen Bounce

In settings tab screen should bounce when you scroll and it reaches the top or the bottom. That's the natural iPhone behaviour. Otherwise you don't know if you've reached the end or that scrolling has just finished.

[bug] Amount input on send allows user to input multiple fullstops before decimals

Description

See image - I am able to input multiple fullstops when selecting an amount to send e.g. 1....15 L-BTC as opposed to 1.15 L-BTC

Version

v 3.6.6 iOS 15

Steps to reproduce

Make a liquid transaction. Im not sure if relevant but this is on a managed assets account

Expected behaviour

App shouldn't allow this type of input

Actual behaviour

It allows the input

Screenshots

IMG_7307

Device or machine

iPhone 11 iOS 15 (Latest Beta)

Closed

Description

Version

Steps to reproduce

Expected behaviour

Actual behaviour

Screenshots

Device or machine

Additional info

Once paired with one Jade it's not possible to connect to another one

Description

If I pair first with one Jade and us it in the app, I'm no longer able to connect to another Jade until I go to the BT settings and do "Forget this device" on the first Jade

Version

3.7.5

Steps to reproduce

  1. Pair with one Jade, open it's wallet
  2. Turn it off
  3. Turn on second Jade
  4. Try to connect to it from the app

Expected behaviour

I can connect to either of my Jades

Actual behaviour

I can only connect to the one I paired first

Screenshots

Device or machine

iPhone 8, iOS 15.0.1, jade 0.1.30

Additional info

Funds sent to onchain Lightning never completes swap

Description

I don't know if this is a bug, or if there is some misunderstanding about how the workflow goes when funding a LN wallet....but after creating a LN wallet and sending funds funds to its onchain address, the funds "arrive" but it permanently stalls saying "Swapping - Unconfirmed".

This has been stuck like this for 4 days...

Version

4.0.16

Steps to reproduce

  1. Create new LN wallet
  2. Click "Receive"
  3. Click "On chain address"
  4. Send funds to that address

Expected behaviour

Should fund the wallet

Actual behaviour

Stalls saying "Unconfirmed - Swapping"

[feature request] provide possibility to export extended public key in order to use green wallet with btcpay

Description

Suppose I develop and manage a btcpay server as a payment processor for merchants. If my users want to receive bitcoin directly on their wallet, they need to connect their wallet with the btcpay server, using an extended public key. The green wallet could allow users to create accounts that can be dedicated to btcpay server payments and for this accounts it should be possible to export the xpub and the first address of the derivation scheme, as required by btcpay.

Not sure this fits a multisig wallet, but a 1 out of 1 account with the possibility to export the xpub would be very useful to ios users, since currently there aren’t good solutions to this problem for that platform.

Unable to add lightning account to green using Jade

Description

Unable to add lightning account to green using Jade, appears to be certificate related on green light

Version

4.0.26

Steps to reproduce

  1. Connect to JADE via Bluetooth
  2. Add Lightning account
  3. Scan QR on iphone with jade
  4. Scan QA on JADE with iphone
  5. Fails

Expected behaviour

Lightning account added as per on wallet with keys in app

Actual behaviour

Error as per screenshot

Screenshots

image

Device or machine

iPhone 13 Pro iOS 17.5

Additional info

Accessibility test results & recommendations

Description

Did some quick accessibility testing on iOS using Voice Control and VoiceOver, and stumbled across a few issues:

  • The account stack on the home screen is not accessible
  • Recovery phrase verification is problematic
  • Various missing labels on buttons and QR codes, and some mixed up selection ordering (these are super easy to fix)

Overall, the app gets a ton of things right. Fixing these other issues would make it even better.

Version

3.8.4

Steps to reproduce

My test workflow is shown in this video (for a different app, but the workflow is the same). This was a pretty quick and casual test, I did not thoroughly go over every single screen, and also did not test very accessibility feature. I also did not include every single instance of missing labels I came across.

Expected behaviour

The app can be navigated without seeing what is on the screen.

Actual behaviour

See the screenshots below for notes.

Screenshots

Figma file with screenshots and annotations.

Blockstream Green iOS accessibility test summary 220708

Device or machine

iPhone 11

Additional info

This is part of an accessibility testing effort I am part of in the Bitcoin Design community. We gathered info about accessibility in bitcoin applications here, and are testing our way through various wallets. Reach out if you'd like to chat more about this.

[Feature Request] New light Jade iOS app w/ just Blind PIN server through QRs and current epoch time

Feature request:

Now that the Jade supports scanning QRs, I propose a new light app that can unlock the Jade for signing PSBTs and provide the current epoch time in one go. I proposed this to Rich earlier but formalizing it here.

I was looking at using this function over BLE before Rich mentioned a new QR feature for unlocking with the blind PIN server
https://github.com/Blockstream/green_ios/blob/master/gaios/HardwareWallets/Jade/Jade.swift#L43

Anyways, just adding this here in case it becomes reality. Would be nice to have a pure-swift app :)

2FA Screen Clipping on iPhone SE 2022

Description

Hi, I noticed that when I navigate to the 2FA configuration page on my iPhone SE 2022 I can't actually read all of the text. It seems the core issue is due to scrolling only being enabled you have an account for the selected network (aka Bitcoin or Liquid). If you don't have an account for the selected network then you can't scroll on the page so you can't see the help text in full on a device with a small screen/resolution.

Version

4.0.24

Steps to reproduce

  1. Open Green wallet on an iPhone SE 2022.
  2. Create a new wallet (word count doesn't matter).
  3. Choose "Liquid Bitcoin" as the asset when creating an account.
  4. Continue with the setup until you reach the total balance page.
  5. Press the cog icon in the top right corner to open the "Wallet Preferences" panel.
  6. Press "Settings".
  7. Scroll down and press "Two-Factor authentication".
  8. Notice how "Mainnet" is highlighted.
  9. Notice text is cut off at the bottom of the screen.
  10. Attempt to scroll down to read the text.
  11. Notice how you are unable to scroll.
  12. Press "Liquid".
  13. Attempt to scroll down the page.
  14. Notice how scrolling works.
  15. Press "Mainnet".
  16. Attempt to scroll up or down the page.
  17. Notice how you are unable to scroll.

Expected behaviour

I should be able to scroll down to see all of the text on the screen.

Actual behaviour

Scrolling is disabled so I can't read the text in full on my small device

Screenshots

image

Device or machine

iPhone SE 2022 running iOS 17.2.1

Disable Watch-only login

Description

There does not seem to be a way to disable the "watch-only login" once it has been set - is that by purpose or did I miss it?

Version

Steps to reproduce

Expected behaviour

Actual behaviour

Screenshots

Device or machine

Additional info

Add support for importing non-english recovery phrases

Hello,

Currently Green does not support importing of non-english BIP39 recovery phrases. There are currently 9 non-english BIP39 word lists available with more coming soon. Non-English speakers may find it difficult to deal with English recovery phrases.

Green should support importing of non-English recovery phrases. This would make it more accessible, and interoperable with other wallets.

To give some weight to this issue, 94% of the world's population do not speak English as their first language. 75% of which do not speak English at all. Majority this demographic live in authoritarian countries. These are the people who would find value in using bitcoin.

Wallets supporting importing

Once enough wallets support importing of non-English recovery phrases, an effort should be made to then support generating of them too.

add paste from clipboard in scan view

Description

I need to long press the text field and than hit paste. I should be able to do this with one tap, possibly using the thumb.

I imagine something like:

address textInput


camera


paste from clipboard


Add amount ->

Missing release notes?

GitHub release notes up to 3.4.9 but AppStore already has v3.5.0

I'm unable to find the release notes here on GitHub for the version that is available on the AppStore (3.5.0). Could someone point me to the right place.

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.