Git Product home page Git Product logo

recovery's People

Contributors

champo avatar esneider avatar mdb1 avatar slezica 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

recovery's Issues

Unable to use on Debian 11

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;
       |          ^~~~~~~

Critical! Recovery tool detect LESS money that actually i have

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.

Recovery crashes

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

Couldn't find any sats after recovery

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.

Recovery TX includes also LN balance?

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

Hi

My Names Zac for Short

Incorrect instructions on README

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.

Display Fiat-equivalent in Invoice before user accepts

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.

The version reported by the tool is incorrect

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')

Tool timeouts because timeouts are too low

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

image

My version with increased timeouts

image

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

Function to get the private key easily

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

Recovery tools closes

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

feature request: allow sweeping funds to multiple addresses during recovery

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

why?

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

Format "Sats found:" into "humanly readeable" format

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

}

Allow this tool to just output descriptors that one can easily port somewhere else

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.

Conclusion

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.

failed to process recovery code: invalid recovery code characters. • Update: Problem fixed thanks to Muun.

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:

  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-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.

ZPUB Generation

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:

https://unchained-capital.github.io/caravan/#/wallet

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.