bctuser09 (OP)
Newbie
Offline
Activity: 7
Merit: 31
|
Hi there, I have some BTC stuck in an Electrum multi-sig that I setup a couple of years ago. The wallet is set up as a 2/3 multi-sig wallet, with #1 being Electrum, #2 being Trezor One, and #3 being Ledger Nano S. When I try to sign a transaction with Electrum (and then sign + broadcast with Ledger Nano S), it won't work because Electrum won't detect the Ledger Nano S. When I try to sign a transaction with Electrum (and then sign + broadcast with Trezor One), it won't work because of the error "DataError: Expected input with amount". I am on Mac and using Electrum 3.3.8. (I tried updating to the most recent Electrum version, and it didn't work either. I think that's because according to the release notes, after 3.3.8 something changed with the Electrum partial transaction format - which I'm guessing applies to multi-sig transactions). ^ Release notes (see under Release 4.0.1 - (July 3, 2020): https://github.com/spesmilo/electrum/blob/master/RELEASE-NOTESPlease let me know if there's any other information I could provide to fix this. I would be forever grateful to whoever can help. Also, as mentioned, I'm willing to pay $1k of BTC to whoever can help me fix this issue Thank you!
|
|
|
|
|
|
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
|
PawGo
Legendary
Offline
Activity: 952
Merit: 1367
|
|
December 02, 2021, 03:16:28 PM Last edit: December 02, 2021, 03:28:07 PM by PawGo |
|
When I try to sign a transaction with Electrum (and then sign + broadcast with Ledger Nano S), it won't work because Electrum won't detect the Ledger Nano S.
Which OS version do you have? Newer than 10.14? Does Nano S works correctly with Ledger Live?
|
|
|
|
|
dkbit98
Legendary
Offline
Activity: 2226
Merit: 7147
|
|
December 02, 2021, 03:29:27 PM |
|
I don't think this issue is related with Electrum wallet, and I suspect that Ledger or Trezor may cause this error because they are known to have bad multisig support, on one of them you can't construct multisig or address can't be verified on this devices. You can try contacting their slow support or write your issue on their reddit or github pages, and update all devices with latest firmware.
|
. .HUGE. | | | | | | █▀▀▀▀ █ █ █ █ █ █ █ █ █ █ █ █▄▄▄▄ | ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ . CASINO & SPORTSBOOK ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ | ▀▀▀▀█ █ █ █ █ █ █ █ █ █ █ █ ▄▄▄▄█ | | |
|
|
|
BlackHatCoiner
Legendary
Online
Activity: 1512
Merit: 7359
Farewell, Leo
|
|
December 02, 2021, 03:32:27 PM |
|
Do not give any wallet files to any “helpful” users who'll reach you via PM. If their intention is to really help you, they'll talk with you in here. When I try to sign a transaction with Electrum (and then sign + broadcast with Ledger Nano S), it won't work because Electrum won't detect the Ledger Nano S. Why does that happen? When you made the setup, didn't it detect it? When I try to sign a transaction with Electrum (and then sign + broadcast with Trezor One), it won't work because of the error "DataError: Expected input with amount". Hmm... Interesting. It appears that this is what it returns during an improper signing. Checking on github ( #L134), there's a condition that isn't met ( coin.force_bip143 or tx.overwintered). Also, as mentioned, I'm willing to pay $1k of BTC to whoever can help me fix this issue We'll need more context to help you. I believe that it's easier to make Electrum detect your Ledger Nano S than the former, so let's focus on that.
|
. .HUGE. | | | | | | █▀▀▀▀ █ █ █ █ █ █ █ █ █ █ █ █▄▄▄▄ | ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ . CASINO & SPORTSBOOK ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ | ▀▀▀▀█ █ █ █ █ █ █ █ █ █ █ █ ▄▄▄▄█ | | |
|
|
|
PawGo
Legendary
Offline
Activity: 952
Merit: 1367
|
|
December 02, 2021, 03:40:15 PM Last edit: December 02, 2021, 09:25:55 PM by PawGo |
|
When I try to sign a transaction with Electrum (and then sign + broadcast with Trezor One), it won't work because of the error "DataError: Expected input with amount". Hmm... Interesting. It appears that this is what it returns during an improper signing. Checking on github ( #L134), there's a condition that isn't met ( coin.force_bip143 or tx.overwintered). There is also part ( https://github.com/trezor/trezor-firmware/blob/master/legacy/firmware/signing.c): if (!tx->inputs[0].has_amount) { fsm_sendFailure(FailureType_Failure_DataError, _("Expected input with amount")); signing_abort(); return; } Is it possible that you selected several inputs and at least one of them is empty? Also, as mentioned, I'm willing to pay $1k of BTC to whoever can help me fix this issue We'll need more context to help you. I believe that it's easier to make Electrum detect your Ledger Nano S than the former, so let's focus on that. I think so. First at all - did you update firmware on both hardware wallets?
|
|
|
|
nc50lc
Legendary
Offline
Activity: 2408
Merit: 5593
Self-proclaimed Genius
|
|
December 02, 2021, 03:44:14 PM |
|
(I tried updating to the most recent Electrum version, and it didn't work either. I think that's because according to the release notes, after 3.3.8 something changed with the Electrum partial transaction format - which I'm guessing applies to multi-sig transactions).
This only affects compatibility between the raw transactions exported by versions lower than 4.x and the newest. So, it mainly affects Cold-Storage and MultiSig Electrum wallets that have different versions. If you're using an outdated wallet for either 1 of the cosigners, update them all fist, then create the transaction.
|
. .HUGE. | | | | | | █▀▀▀▀ █ █ █ █ █ █ █ █ █ █ █ █▄▄▄▄ | ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ . CASINO & SPORTSBOOK ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ | ▀▀▀▀█ █ █ █ █ █ █ █ █ █ █ █ ▄▄▄▄█ | | |
|
|
|
HCP
Legendary
Offline
Activity: 2086
Merit: 4316
<insert witty quote here>
|
|
December 02, 2021, 08:33:23 PM |
|
The wallet is set up as a 2/3 multi-sig wallet, with #1 being Electrum, #2 being Trezor One, and #3 being Ledger Nano S.
When I try to sign a transaction with Electrum (and then sign + broadcast with Ledger Nano S), it won't work because Electrum won't detect the Ledger Nano S.
I am on Mac and using Electrum 3.3.8.
Does the Ledger Nano S work correctly if you use Ledger Live? If not, then maybe try following the MacOS troubleshooting here: https://support.ledger.com/hc/en-us/articles/115005165269-Fix-USB-connection-issues-with-Ledger-Live?support=trueIf it normally works with Ledger Live OK, did you have Ledger Live open and running when trying to use Electrum? Often, having multiple applications that are attempting to communicate with the Ledger device at the same time will cause problems. I've had issues in the past with Electrum being unable to communicate with a Nano S if Ledger Live was running. So, make sure Ledger Live is not running before you start Electrum and see if that helps with the communication process between Electrum and the Nano S. NOTE: I have a Ledger Nano S and a Trezor ONE, and am able to use both with an Electrum 4.1.5 MultiSig "OK"... but I'm running Windows 10.
|
|
|
|
o_e_l_e_o
In memoriam
Legendary
Offline
Activity: 2268
Merit: 18510
|
|
December 02, 2021, 09:08:27 PM |
|
Do you have the seed phrases backed up for the three parts of your multi-sig wallet? If you do, then I would think the easiest solution here would be to just create a brand new 2-of-3 multi-sig wallet in Electrum, and import the three seed phrases (remembering to select BIP39 for the two hardware wallet seed phrases). You can then sign a transaction from that single wallet without having to worry about compatibility issues with your two hardware wallets.
The downside to this is that you completely lose the security of your multi-sig wallet by importing all three seed phrases in to the same wallet. Therefore, you should only do this on a clean and airgapped computer.
|
|
|
|
PawGo
Legendary
Offline
Activity: 952
Merit: 1367
|
|
December 02, 2021, 09:30:21 PM |
|
When I try to sign a transaction with Electrum (and then sign + broadcast with Trezor One), it won't work because of the error "DataError: Expected input with amount".
There is a presentation of that operation: https://www.youtube.com/watch?v=40mdFIAEh4E&t=8376s(jump to 2:48:27) At which stage you have the problem?
|
|
|
|
DireWolfM14
Copper Member
Legendary
Offline
Activity: 2184
Merit: 4238
Join the world-leading crypto sportsbook NOW!
|
|
December 02, 2021, 10:43:35 PM |
|
I second o_e_l_e_o's advice. Hardware wallets are notorious for having issues with multi-sig. For holding large sums I prefer cold wallets, which can also be multi-sig. To reap the full benefit of having multi-sig cold wallets you'll want to recover them only when absolutely needed and only on an air-gapped machine, or have them loaded on multiple air-gapped machines that are stored separately.
Another method that may work is to open a watch only version of the wallet, create an unsigned transaction, sign it with the hardware wallet first, then import it into the Electrum wallet to add the second signature and broadcast. I had a similar issue some time ago, sorry I don't remember the exact details, but signing the transaction with the hardware wallet first was effective. Simply creating the transaction with the hardware wallet might also work.
I hope that helps, and best of luck.
|
|
|
|
HCP
Legendary
Offline
Activity: 2086
Merit: 4316
<insert witty quote here>
|
|
December 02, 2021, 11:54:51 PM |
|
The wallet is set up as a 2/3 multi-sig wallet, with #1 being Electrum, #2 being Trezor One, and #3 being Ledger Nano S.
When I try to sign a transaction with Electrum (and then sign + broadcast with Ledger Nano S), it won't work because Electrum won't detect the Ledger Nano S. When I try to sign a transaction with Electrum (and then sign + broadcast with Trezor One), it won't work because of the error "DataError: Expected input with amount".
Another thought occurred to me... Do you just have one wallet file setup within Electrum... or did you create different wallet files for each hardware device using the Master Public Keys from the other device and the "normal" Electrum wallet? I was just mucking around testing some stuff... and found that the Ledger detection could be a bit "inconsistent" with multiple wallets open within Electrum... sometimes it would find it, sometimes it worked first time, sometimes it just refused to find it no matter how many times I rescanned etc. With just a single wallet open, it was much more reliable, finding the device every time.
|
|
|
|
pooya87
Legendary
Offline
Activity: 3444
Merit: 10558
|
|
December 03, 2021, 05:22:02 AM |
|
After SegWit the signer needs the amount of each input to be included during the signing operation when the hash is produced. It also became mandatory to prevent some exploits in hardware wallets that could lead to losses either through huge fees or even sending to a maliciously included output. This is why you need to upgrade and use the new format with your hardware wallets.
I'd focus on figuring out why new version of Electrum couldn't be installed on your system. You could also use a live offline Linux to run the latest version a lot easier and even with more security compared to your closed source Mac OS!
Or you could do what Leo said and import your seed phrases from one of the hardware wallets into a new wallet in Electrum. But you'll need to figure out what derivation path your hardware wallet used.
|
. .BLACKJACK ♠ FUN. | | | ███▄██████ ██████████████▀ ████████████ █████████████████ ████████████████▄▄ ░█████████████▀░▀▀ ██████████████████ ░██████████████ █████████████████▄ ░██████████████▀ ████████████ ███████████████░██ ██████████ | | CRYPTO CASINO & SPORTS BETTING | | │ | | │ | ▄▄███████▄▄ ▄███████████████▄ ███████████████████ █████████████████████ ███████████████████████ █████████████████████████ █████████████████████████ █████████████████████████ ███████████████████████ █████████████████████ ███████████████████ ▀███████████████▀ ███████████████████ | | .
|
|
|
|
cabron
|
|
December 03, 2021, 05:35:44 AM |
|
Do you have the seed phrases backed up for the three parts of your multi-sig wallet? If you do, then I would think the easiest solution here would be to just create a brand new 2-of-3 multi-sig wallet in Electrum, and import the three seed phrases (remembering to select BIP39 for the two hardware wallet seed phrases). You can then sign a transaction from that single wallet without having to worry about compatibility issues with your two hardware wallets.
The downside to this is that you completely lose the security of your multi-sig wallet by importing all three seed phrases in to the same wallet. Therefore, you should only do this on a clean and airgapped computer.
He is about to send $1K to someone who can help anyway I think he will be glad to send all his funds to a safer version of the wallet. Importing the three seed phrases will be the best option if I were him. It would however be great to send the error to the devs of the wallets particularly the Trezor for them to fix for the next update. I guess Leo's suggestion fixes your issue.
|
|
|
|
o_e_l_e_o
In memoriam
Legendary
Offline
Activity: 2268
Merit: 18510
|
Or you could do what Leo said and import your seed phrases from one of the hardware wallets into a new wallet in Electrum. But you'll need to figure out what derivation path your hardware wallet used.
The default derivation paths for Electrum multi-sigs are as follows: Hardware wallets via Electrum: Legacy (P2SH) - m/45'/0 P2SH-segwit (P2WSH-P2SH) - m/48'/0'/0'/1' Segwit (P2WSH) - m/48'/0'/0'/2' Electrum seed phrases: Legacy: m Segwit: m/1'
|
|
|
|
bctuser09 (OP)
Newbie
Offline
Activity: 7
Merit: 31
|
|
December 03, 2021, 01:09:49 PM |
|
When I try to sign a transaction with Electrum (and then sign + broadcast with Ledger Nano S), it won't work because Electrum won't detect the Ledger Nano S.
Which OS version do you have? Newer than 10.14? Does Nano S works correctly with Ledger Live? macOS Big Sur 11.6 And yes Nano S works well with Ledger Live Yep updated all firmware When I try to sign a transaction with Electrum (and then sign + broadcast with Ledger Nano S), it won't work because Electrum won't detect the Ledger Nano S. Why does that happen? When you made the setup, didn't it detect it? Not sure and yes but I setup the wallet years ago. I think due to the various changes that have happened since then with Electrum/Trezor/Ledger, things are breaking Is it possible that you selected several inputs and at least one of them is empty?
First at all - did you update firmware on both hardware wallets?
No inputs are empty And firmware on both hardware wallets is up to date Does the Ledger Nano S work correctly if you use Ledger Live? If not, then maybe try following the MacOS troubleshooting here: https://support.ledger.com/hc/en-us/articles/115005165269-Fix-USB-connection-issues-with-Ledger-Live?support=trueIf it normally works with Ledger Live OK, did you have Ledger Live open and running when trying to use Electrum? Often, having multiple applications that are attempting to communicate with the Ledger device at the same time will cause problems. I've had issues in the past with Electrum being unable to communicate with a Nano S if Ledger Live was running. So, make sure Ledger Live is not running before you start Electrum and see if that helps with the communication process between Electrum and the Nano S. NOTE: I have a Ledger Nano S and a Trezor ONE, and am able to use both with an Electrum 4.1.5 MultiSig "OK"... but I'm running Windows 10. Yes the Ledger Nano S works correctly with Ledger Live Also, I don't have Ledger Live open when running Electrum Another method that may work is to open a watch only version of the wallet, create an unsigned transaction, sign it with the hardware wallet first, then import it into the Electrum wallet to add the second signature and broadcast. I had a similar issue some time ago, sorry I don't remember the exact details, but signing the transaction with the hardware wallet first was effective. Simply creating the transaction with the hardware wallet might also work.
I hope that helps, and best of luck.
This didn't work (Though I don't know how to do the part "create the transaction with the hardware wallet" - if you can let me know/link to a good guide on how to do that, I can give it a try) Another thought occurred to me... Do you just have one wallet file setup within Electrum... or did you create different wallet files for each hardware device using the Master Public Keys from the other device and the "normal" Electrum wallet? I was just mucking around testing some stuff... and found that the Ledger detection could be a bit "inconsistent" with multiple wallets open within Electrum... sometimes it would find it, sometimes it worked first time, sometimes it just refused to find it no matter how many times I rescanned etc. With just a single wallet open, it was much more reliable, finding the device every time. I tried opening just the Ledger wallet, and it still couldn't find the device
Thank you everyone for your responses so far... I'm going to contact Ledger and Trezor support now (and post on their Reddits). Also, I will try o_e_l_e_o 's method, but need to buy a new computer first. (I've been meaning to buy a new one, but I guess this sped up my decision ) However, If I buy a new computer/laptop, create a brand new 2-of-3 multi-sig wallet in Electrum, import the three seed phrases, and then sign a transaction from that single wallet, would it be ok to use that computer later on as my main computer (with Internet access)? Or should I buy a new computer/laptop specifically to fix this wallet issue and never connect it to the Internet afterwards? Thank you all!
|
|
|
|
o_e_l_e_o
In memoriam
Legendary
Offline
Activity: 2268
Merit: 18510
|
|
December 03, 2021, 02:11:09 PM |
|
However, If I buy a new computer/laptop, create a brand new 2-of-3 multi-sig wallet in Electrum, import the three seed phrases, and then sign a transaction from that single wallet, would it be ok to use that computer later on as my main computer (with Internet access)?
Presumably you would want to move all the coins out of this broken multi-sig wallet to a new wallet set up which you can access properly, such as a single sig hardware wallet, or a new multi-sig without the hardware wallets. Once you have done that, then there is no major security risk to that device then going online, since the old multi-sig wallet will be empty. There is still a risk to your privacy if you were to leak the addresses from that wallet (if that concerns you), or a risk to the coins if you were to accidentally receive some coins to this old multi-sig set up in the future. I would probably just format the hard drive once I was done and start fresh. Alternatively, boot the new computer to a live Linux OS for the purposes of restoring your wallet, and then boot to the hard drive once you are done and want to use it as a regular computer.
|
|
|
|
DireWolfM14
Copper Member
Legendary
Offline
Activity: 2184
Merit: 4238
Join the world-leading crypto sportsbook NOW!
|
|
December 03, 2021, 05:05:43 PM |
|
~
This didn't work (Though I don't know how to do the part "create the transaction with the hardware wallet" - if you can let me know/link to a good guide on how to do that, I can give it a try) What I meant was that you can try starting the process with the hardware wallet, rather than your Electrum wallet. So, open your hardware wallet, create a new transaction that you want to make, sign it, and save it. Then import the partially signed transaction into the (non-hardware) Electrum wallet to add the second signature and broadcast. Doing things in this order has worked for me in the past, but I use a Trezor wallet. I have never played with a multi-sig wallet using the Nano. It sounds like you have one of each brand, so it may work with one or the other hardware wallet.
|
|
|
|
HCP
Legendary
Offline
Activity: 2086
Merit: 4316
<insert witty quote here>
|
|
December 03, 2021, 09:00:01 PM Merited by AdolfinWolf (1) |
|
Yes the Ledger Nano S works correctly with Ledger Live Also, I don't have Ledger Live open when running Electrum ...
I tried opening just the Ledger wallet, and it still couldn't find the device
If the Nano S is working fine with Ledger Live, then it would appear that the issue is specifically with Electrum and it's Ledger plugin. You might want to raise an issue on the Electrum Github Issue tracker: https://github.com/spesmilo/electrum/issuesNote that the Devs will require that you're trying this on the latest version of Electrum (currently 4.1.5) before they offer any support.
|
|
|
|
bctuser09 (OP)
Newbie
Offline
Activity: 7
Merit: 31
|
|
December 05, 2021, 09:34:56 AM |
|
~
This didn't work (Though I don't know how to do the part "create the transaction with the hardware wallet" - if you can let me know/link to a good guide on how to do that, I can give it a try) What I meant was that you can try starting the process with the hardware wallet, rather than your Electrum wallet. So, open your hardware wallet, create a new transaction that you want to make, sign it, and save it. Then import the partially signed transaction into the (non-hardware) Electrum wallet to add the second signature and broadcast. Doing things in this order has worked for me in the past, but I use a Trezor wallet. I have never played with a multi-sig wallet using the Nano. It sounds like you have one of each brand, so it may work with one or the other hardware wallet. So when I open the hardware wallet with Electrum, it doesn't show the coins I have in the non-hardware Electrum wallet For example, let's say I have 1 BTC in the non-hardware wallet. When I open the hardware wallet, that 1 BTC doesn't show, and I don't think I can make a txn with 1 BTC from the non-hardware wallet? Not sure if that makes sense
|
|
|
|
|