Open jojkaart opened 8 years ago
Copay is a consumer facing wallet, so probably not.
If you want to make a pull request you're more than welcome to.
It is an interesting use case, but not something that Copay is likely to support.
This would require changes to BWS, as BWS makes assumptions about the type of scripts it is dealing with. If we were to make things like this possible, we would want to make BWS ignorant of script types. The problem with that is that BWS handles the responsibility of selecting utxos as inputs for new transactions, and would need to know about scripts in order to do that properly. If you ever wanted to do anything fancy like this, you would have to move the utxo selection logic down to the client, and just use BWS as a way of sending transaction proposals.
The architecture of BWS just isn't really meant for use cases like this. If BWS was more modular, it might be easier, but, for now, I don't think it is very practical.
If you still want to implement a feature like this, you could create a bitcore service to index these types of outputs in a convenient way, and then implement a custom client for signing the txs.
I could see this kind of a wallet being popular with individuals as well. Especially for arranging for what happens to your coins if you happen to die and don't want to give anyone direct access to your coins while you live. This would allow you to keep your coins secured as you want and then transfer them over automatically to a separate wallet stored with your will after the timelock expires.
Of course, if it's architecturally difficult, I can see why you would be reluctant to implement it.
I'm not sure why BWS would need to understand script types if each wallet only ever used one type of a script.
The client has to be able to produce a valid input script to redeem your utxos. Since BWS is doing the UTXO selection, and not the client, BWS must only select utxos that the client is capable of creating a properly signed redeem script for. We don't want BWS to send the client something non-standard that it doesn't know how to handle.
If the client performed the UTXO selection instead of BWS, then it wouldn't be a big deal. The client would still need a way to retrieve all of the existing utxos, but that is not a difficult problem to solve. As long as you are using p2sh, bitcore/insight can provide you with all the utxos for that p2sh address without caring about what type of script would be required to redeem the utxos. BWS does actually allow the client to do its own utxo selection, so you could conceivably use BWS just for coordinating transaction proposals between the copayers. BWS might not understand how to validate the signatures, so that might require some refactoring.
If you want to implement something like this, I would suggest forking BWC or implementing a custom client to talk to the BWS api. If you can figure out an elegant way of handling non-standard scripts, we might consider merging that back in.
I was expecting something like using a special key that deletes your wallets in case you're being forced to reveal your password to open the app.
A great implementation would be to delete ALL BUT a single wallet (with a small amount).
OR
Different pin codes. One reveals the wallets, another the dummy wallet (with small amount).
good afternoon, I have a problem with my wallet multising copay tell you we created a wallet 4-4 but unfortunately one of the people died and we can not withdraw the balance we have I appreciate any help you can give me thanks. (sorry google translator)
We're considering a new model for storing our company coins and after the discussion we ended up with wanting to use the Escrow model from BIP 65. https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki
Basically, we'd like to make a 4-of-5 multisig wallet with a timelock, say 6 months, after which the wallet will transform into being spendable with only the first key of the multisig, which would be kept with a third party.
Is there any chance of Copay supporting such a model? It'd require a slightly different script than the standard one and some UI work for setting it up.