muun / recovery Goto Github PK
View Code? Open in Web Editor NEWMuun recovery tool
Home Page: https://muun.com
License: MIT License
Muun recovery tool
Home Page: https://muun.com
License: MIT License
I would like to use the recovery tool, but can't figure out how to make it work on Debian 11. (The most recent release, currently.) If I try your binary tool, it complains that I don't have glibc 2.32, 2.33 or 2.34. This is correct. Deb 11 has 2.31. If I follow the instructions in BUILD.md I get:
# github.com/muun/libwallet/musig
In file included from umbrella.c:3:
secp256k1.k:7: warning: "SECP256K1_BUILD" redefined
7 | #define SECP256K1_BUILD
|
<command-line>: note: this is the location of the previous definition
# github.com/muun/recovery/utils
utils/logger.go:13:30: undefined: io.Discard
# github.com/mattn/go-sqlite3
sqlite3-binding.c: In function ‘sqlite3SelectNew’:
sqlite3-binding.c:129019:10: warning: function may return address of local variable [-Wreturn-local-addr]
129019 | return pNew;
| ^~~~
sqlite3-binding.c:128979:10: note: declared here
128979 | Select standin;
| ^~~~~~~
Im testing the recovery tool and downloaded the 64-bit version for Windows.
I Put all the keys and the scan started. When the scan finished, i unfortunately see that the tool detected less sats that there is in my wallet.
That was disapoiting, check this please, i think is an important issue.
It never found sats on my wallets and I have balances on it ..till the tools force closed by itself..this can't be 100 percent trusted
Hi, today I compiled the recovery tool (2b99c8a1fe3535a1830978c8c87a6b7682db47bc
) and followed the steps, here is what I did and the output:
go version: go1.17.5
OS: Linux pop-os 5.17.15-76051715-generic
go run -mod=vendor . -- ./kit.pdf
# github.com/muun/libwallet/musig
In file included from umbrella.c:3:
secp256k1.k:7: warning: "SECP256K1_BUILD" redefined
7 | #define SECP256K1_BUILD
|
<command-line>: note: this is the location of the previous definition
# github.com/mattn/go-sqlite3
sqlite3-binding.c: In function ‘sqlite3SelectNew’:
sqlite3-binding.c:129019:10: warning: function may return address of local variable [-Wreturn-local-addr]
129019 | return pNew;
| ^~~~
sqlite3-binding.c:128979:10: note: declared here
128979 | Select standin;
| ^~~~~~~
Muun Recovery Tool v2.1.0
To recover your funds, you will need:
1. Your Recovery Code, which you wrote down during your security setup
2. Your Emergency Kit PDF, which you exported from the app
3. Your destination bitcoin address, where all your funds will be sent
If you have any questions, we'll be happy to answer them. Contact us at [email protected]
Enter your Recovery Code
(it looks like this: 'ABCD-1234-POW2-R561-P120-JK26-12RW-45TT')
➜ XXXX-XXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXX # <- modified
Enter your destination bitcoin address
➜ bc1q..........................................tm04n # <- modified
Starting scan of all possible addresses. This will take a few minutes.
► Scanned addresses: 101212 | Sats found: 0
✓ Scan complete
No funds were discovered
Transaction sent! You can check the status here: https://blockstream.info/tx/
(it will appear in Blockstream after a short delay)
We appreciate all kinds of feedback. If you have any, send it to [email protected]
I haven't lost any sat because the muun wallet is working properly on my mobile, but the recovery tool didn't work, I am happy to keep testing it.
Hi, question "on my mind" before i try the recovery tool ...
Does the final recovery TX into preferred address destination includes whole muun wallet balance, mean including lightning balance? It will close the LN channels? Or how works turbo channel ...
Thanks for info what to expect.
BR
My Names Zac for Short
Hi,
I've been trying out the recovery procedure. The README states I should run go run -mod=vendor
but that results in an go run: no go files listed
error.
I did manage to test the recovery procedure successfully with go run .
.
Did I do something wrong? My OS is Mac OS 10.15.3 and am running go version go1.13.7 darwin/amd64
.
Also reported from inside the app:
After I scan an invoice-qr (or bitcoin-qr), there is only the amount in btc shown. Not in fiat. After the payment is in the history, I can open details and see the fiat amount. But by then its too late not to pay.
Would be nice to spend this line of info in the invoicing process before user accepts.
I ran the recovery tool version 2.2.2, yet the program shows it's version as 2.1.0:
Muun Recovery Tool v2.1.0
To recover your funds, you will need:
1. Your Recovery Code, which you wrote down during your security setup
2. Your Emergency Kit PDF, which you exported from the app
3. Your destination bitcoin address, where all your funds will be sent
If you have any questions, we'll be happy to answer them. Contact us at [email protected]
Enter your Recovery Code
(it looks like this: 'ABCD-1234-POW2-R561-P120-JK26-12RW-45TT')
Thread '[TWRP][RECOVERY] List of relevant recovery in one place' https://xiaomi.eu/community/threads/twrp-recovery-list-of-relevant-recovery-in-one-place.57730/
I want a version that includes seeds, or I will make the version without a fee and distribute it freely.
Hi,
I have tried to use your official tool version but I could not get it to work.
I have then cloned your code and increased all timeouts and build executable again.
With increased timeouts tool finished correctly!
Official version
My version with increased timeouts
If you need exact values, I can make you pull request, It would be nice if you could fix this since I would like to recommend your tool to my clients.
My system is MacBook pro 2021 M1, Mac Os Monteray 12.2.1
Hi!
I propose the creation of a Go func to get the private key easily using the recuperation code and the keys from the emergency kit, as for a newbie user is hard to understand how the 2-of-2 multi-signature works. I know that this method is more safer than a mnemonic phrase but in my case this information will be stored physically.
Thanks in advance
Hola!
Propongo la creación de una función de Go para obtener la clave privada fácilmente usando el código de recuperación y las llaves del kit de emergencia, ya que para un usuario novato es difícil de entender como funciona el método 2 de 2 multifirma. Sé que éste último método es más seguro que el listado de palabras pero en mi caso esta información estará guardada físicamente.
Gracias por adelantado
The recovery tools closes itself when you're about to send by typing y...I believe having our seed phrase is better then we use with bip39 wallet incase
instead of only allowing a single destination address, allow users to provide an array of addresses, i.e ['bc1pa..', 'bc1pb..',]
.
ideally, allow addresses and amounts, ['bc1pa..': 6.15, 'bc1pb..': 21,]
, so long as the user provides at least one address with no amount specified. this is similar to the behavior of the proposed bitcoin core RPC sendall
: bitcoin/bitcoin#24118
much better for privacy, as transactions can be made to look like a coinjoin / batch exchange withdrawal, etc. sweeping all funds to a single address is bad for privacy as it reveals common ownership of the UTXOs and leaks the wallet balance. this also can be great for usability as sometimes when migrating from wallet to another, it's better to start out with multiple UTXOs of different sizes vs one giant UTXO
When scanning the addresses, the "Sats found" number is just a number . It would be good to have it "Thouthands" separated to make it more readable.
import (
"golang.org/x/text/language"
"golang.org/x/text/message"
)
func main() {
p := message.NewPrinter(language.English)
p.Printf("%d\n", 1000)
// Output:
// 1,000
}
I was testing out recovery-tool-windows32.exe and recovery-tool-windows64.exe.
I was able to run till 100000+ addresses checked, and the relevant sats found.
However, the application quits by itself before proceeding to the next step.
OS: Windows 11
Device: Laptop ASUS VivoBook Intel i5 1135g7
Im testing the recovery tool but the program close suddenly when is trying to scan the addresses, it crash when is close to finish the scanning.
I stopped writing down my PK after realizing that you make me write down 8 x 4 character combos plus 42 garbage word/number combinations, which is more than any other wallet needs for recovery.
Why?
After introducing some modifications to this tool I was able to make it print my set of xprv
keys. I was however not able to easily build the output descriptors as the checksums don't match.
These are the output descriptor (templates?) I've got:
sh(wsh(multi(2, 58c6e799/1'/1'/0/*, 88511559/1'/1'/0/*)))#p3f6d04n
sh(wsh(multi(2, 58c6e799/1'/1'/1/*, 88511559/1'/1'/1/*)))#r6fpumwl
wsh(multi(2, 58c6e799/1'/1'/0/*, 88511559/1'/1'/0/*))#lq3j55qm
wsh(multi(2, 58c6e799/1'/1'/1/*, 88511559/1'/1'/1/*))#svc48clk
Now what are 58c6e799
& 88511559
? I suppose those are the BIP32 fingerprints of the extended privat keys, but I wasn't able to replicate them
Also how am I supposed to turn these templates into actual output descriptors?
sh(wsh(multi(2,[58c6e799]<xprv1>/1'/1'/0/*,[88511559]<xprv2>/1'/1'/0/*)))#p3f6d04n
This was one idea I had, but I could not make that work, the checksum at the end just wouldn't match. I also tried removing the fingerprints altogether, also to no avail.
I feel like I must have not only all the data I need to reconstruct my wallet, but also clear information about the procedure.
The recovery tool tries to go above and beyond what it should do. It tries to actually move the funds, but that just adds more complications since you now introduce an external dependency in the form of an electrum servers that could fail, leaving you stranded.
This leads to users feeling uneasy and posting things like these:
https://twitter.com/josebitcoiner/status/1570408779694366721
https://twitter.com/BtcAndres/status/1573532712677302274
I don't blame them. Interoperability is super important. And the lack of interoperability of Muun could at least be addressed if there was a way to access the raw private key material.
I propose a modification to this recovery tool that allows it to just spit out nicely formatted output descriptors that you could just save as a text file and then import into bitcoin core or any wallet that supports output descriptors.
I've used the correct recovery code, yet I always get this error asking me to email Muun.
"Muun Recovery Tool v2.2.4
To recover your funds, you will need:
Your Recovery Code, which you wrote down during your security setup
Your Emergency Kit PDF, which you exported from the app
Your destination bitcoin address, where all your funds will be sent
If you have any questions, we'll be happy to answer them. Contact us at [email protected]
Enter your Recovery Code
(it looks like this: 'ABCD-1234-POW2-R561-P120-JK26-12RW-45TT')
➜ XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX
Error!
The Recovery Tool encountered a problem. Please, try again.
If the problem persists, contact [email protected] and include the file
called error_log you can find in the same folder as this tool.
――― error report ―――
failed to process recovery code: invalid recovery code characters
――――――――――――――――――――
We're always there to help.
exit status 1"
The issue was that I copied the code from a screenshot using Apple (the same as you copy the number of a credit card) but the copy wasn't accurate. Tried again with the correct code and everything works.
Is there a way to generate a ZPUB for the HD wallet to be able to see the balance of it ? Being this a multi-sig wallet, I'm not certain how that can be done ...
From what I've been reading (here), if I would know the 2 "Master private keys" (which I don't, at least they are not easily seen in the recovery pdf of course, nor are the groups of 4 letters ), then I could use a tool like this one:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.