Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi-Sig Vault Wallet - Adding seed for signing key returns 'expected y, got String "" ' #2945

Open
tradewind886 opened this issue Apr 12, 2021 · 8 comments
Assignees
Labels

Comments

@tradewind886
Copy link

tradewind886 commented Apr 12, 2021

I have a multi-sig setup created in Sparrow wallet that was exported to BlueWallet. In watch-only mode, the import process is fine and I can view all the transactions in that wallet. It is a 2-3 multi-sig setup. When I add a cosigner (a seed), the screen goes white for a long time and i have to restart the application.

When returning to the wallet on relaunch, i get a pop-up "expected y, got String "" " (attached). The balances and all the transactions are gone, and the receive function becomes unusable. I must remove the seed to restore the watch-only wallet. I was hoping to use BlueWallet as one of my signing devices, but the error i encountered prevents me from doing so.

I wanted to provide some more information, but I couldn't reproduce this issue with another coordination setup. I think it might have to do with one of my signers using an atypical derivation path, using hardened derivation to 4 levels rather than the typical 3. Like: m/84'/cointype'/account'/change'

The coordination setup definitely works as I've used it in Sparrow, Specter, Caravan, and Electrum to send/sign/receive transactions for quite a while. Wondering if anyone can point me in the right direction

Thanks! BlueWallet is my favorite wallet these days. Fantastic job
Screenshot_20210407-132954

@Overtorment
Copy link
Member

hi! thanks for the report.
yeah something got broken in wallet's internals.
so, traditional derivation works and you suspect non-traditional derivation is to blame? can you reproduce with non-traditional derivation again?

@tradewind886
Copy link
Author

i'm having trouble reproducing this issue with another coordination setup. I will keep trying

i also noticed that my coordination setup imported to bluewallet only lists xpubs, but after adding the seed and removing the seed the zpub shows up. the zpub is not listed anywhere in the imported coordination setup, but the generated zpub from bluewallet matches my other wallet software. It seems like the wallet is just not paying attention to the imported derivation path

the only thing special i can think about this co-signer is using 4 levels of hardened derivations. would certain derivations be out-of-scope for bluewallet?

@Overtorment
Copy link
Member

bw converts xpub to zpub on the fly, if its a native segwit multisig (because native segwit is supposed to have zpubs. and in our case its particularly possible and easy to convert multisig xpub to multisig zpub)

tried to reproduce it and failed. I setup 2-2 ms in electrum with existing bip39 mnemonics but with weird paths (user m/48'/0'/0'/2'/666').
here's the coordination setup to import:

image

then go to manage keys->i have a seed for this key. provide seed -> save -> everything works as expected.
also wallets aggre on receiving address, so all seems to be in order

@Overtorment Overtorment added bug Something isn't working multisig labels Apr 13, 2021
@Overtorment Overtorment self-assigned this Apr 13, 2021
@tradewind886
Copy link
Author

just curious, where do you recommend i look to figure out what produces the error in the screenshot? I'm honestly lost

@Overtorment
Copy link
Member

there is nothing better than reproducing it reliably and passing steps-to-reproduce to developers

@oxhak
Copy link

oxhak commented Jul 8, 2021

I just got the same bug on iOS, scan the first xpub with slip-132 (zpub with derivation path) from specter wallet, then add/scan the others xpub keys, then on the first one change it for the seed, save, it is now the last key in the list, reload everything, and you get this bug: expected y, got String "", then impossible to remove any wallet with this issue, the solution to fix this was to revert back to the xpub then save, then remove the wallet to create a new one starting with the seed as first key.

@Overtorment
Copy link
Member

@oxhak can you pls reproduce this with an empty wallet/seeds and post them all so I could reproduce this on my end and fix it?

@Overtorment
Copy link
Member

is it still happening?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants