BTCPrivate-Legacy / electrum-btcp-legacy

BTCP Electrum (Lite Wallet), Use all wallets with caution. You should never share private keys, seed, or wallet file with anyone.
https://btcprivate.org
MIT License
128 stars 26 forks source link

Error "index out of range" on spending from single unshielded address #62

Open SteffenIvanhoe opened 6 years ago

SteffenIvanhoe commented 6 years ago

I moved BTCP from a Nano S to the desktop wallet, then to a shielded address, then back to the Nano S. All seemed to work. But now I'm not able to move the BTCP again. I tried all possible tricks (various addresses, fees, address combinations) but always get an error message "index out of range" after pressing "Send" and then "Proceed" button.

This is repeatable. Just do a direct transfer from a shielded address with the desktop GUI wallet 1.0.4 to a Nano S unshielded address and the money on this address can no longer be used.

It does not happen with non-hardware Electrum wallet. And it does not happen when I first move the money from a shielded address to an unshielded address on the desktop wallet and then from this address to a Nano S address. In all these cases the money can be send further.

I use version P!1.1.1 on an actual Windows 10 system.

Looks to me like a run-time error during an array index access but this is just a guess!

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/57530951-error-index-out-of-range-on-spending-from-single-unshielded-address?utm_campaign=plugin&utm_content=tracker%2F88294623&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F88294623&utm_medium=issues&utm_source=github).
SteffenIvanhoe commented 6 years ago

Maybe related to this index error is another error I encountered. If I prepare a send on the Electrum wallet and have multiple input addresses then when I remove one sometimes the wrong one gets removed! This bug also points to some index errors.

sulmone commented 6 years ago

I’ll take a look

asdfa01 commented 6 years ago

Have this problem as well.

sulmone commented 6 years ago

Did you have his error when spending from a transparent address that was funded with a shielded transaction input?

sulmone commented 6 years ago

I think I know the issue - working on a fix.

SteffenIvanhoe commented 6 years ago

Yes, the problem was caused by spending from a transparent address that was funded with a shielded transaction input as described in my initial explanation above.

sulmone commented 6 years ago

I can reproduce this issue - should have a fix shortly.

caniko commented 6 years ago

Hey, I have been waiting from afar. How long till a solution is out? I am having this issue as well

d4ma7or commented 6 years ago

help! i have BTCP "stuck on" my Nano S. is there a way to get it off of there?

caniko commented 6 years ago

I wrote to csulmone privately. We have to wait till next release. Didn't get any info on when

SlipStreams commented 6 years ago

any eta on this a month later?

aguilaair commented 6 years ago

A new release will happen with the rebase

davidreverett commented 6 years ago

Also having the same issue.

dslemmer commented 6 years ago

This issue has been open for 7+ months.... any updates? I thought it was being addressed long ago.

davidreverett commented 5 years ago

Nope- still a problem. Still not working. Funds stuck in a wallet I cannot use right now. VERY FRUSTRATING.

davidreverett commented 5 years ago

For others experiencing this issue- you aren't going to get a response on this. Here's what I had to do to unlock my BTCP that was stuck in my Nano S wallet.

  1. Create a new wallet using Electrum BTCP-P 1.1.1-win.exe by choosing New/Restore from the File Menu
  2. Give the wallet file any name as it is only for temporary use
  3. Choose Standard Wallet
  4. Choose I already have a seed
  5. Enter your seed phrases one entry per line
  6. Hit the Options button and choose Bip39 seed. If everything is entered properly you'll see the phrase Bip39 Checksum OK next to the Options button
  7. Click Next
  8. Accept the default entries for the derivation.
  9. Your transactions will be imported from the Blockchain into the new wallet.
  10. Spend/exchange your newly unlocked funds and rejoice at your success. :)

Hope this helps others.

dslemmer commented 5 years ago

Thanks. I've actually tried this but I have a passphrase (25th word) and it seems to not work with that (or I've forgotten the 25th word :( . The BTCP team has been absolutely pathetic supporting this issue. All they had to do was test things properly before announcing Ledger Nano support was ready, or own the bug after that misstep....

caniko commented 5 years ago

@davidreverett thanks for sharing your solution. I am having trouble understanding how you got the seed... During wallet "generation" in electrum I never got a seed but rather some sort of path. Do I use this as seed?

davidreverett commented 5 years ago

No the seed is the 24 phrase word list created when you initialized your Nano S wallet. The Electrum/BTCP wallet used that to generate your addresses. The path you mentioned I think is the derivation- you will use the default it gives you along with the phrase list to make the steps I listed work.

caniko commented 5 years ago

@davidreverett it all makes sense now. Thanks