<bitcoin-git>
[bitcoin] instagibbs opened pull request #27155: Expand scantxoutset help text to cover tr() and miniscript (master...scantxoutset_tr_ms) https://github.com/bitcoin/bitcoin/pull/27155
vasild_ has joined #bitcoin-core-dev
vasild has quit [Ping timeout: 255 seconds]
martin_1 has joined #bitcoin-core-dev
dviola has quit [Quit: WeeChat 3.8]
martin_1 has quit [Ping timeout: 268 seconds]
Guest9716 has joined #bitcoin-core-dev
Guest9716 has quit [Client Quit]
martins has joined #bitcoin-core-dev
jarthur has quit [Ping timeout: 246 seconds]
hg has joined #bitcoin-core-dev
nulldoot2k_ has joined #bitcoin-core-dev
vyHamii has quit [Ping timeout: 246 seconds]
jarthur has joined #bitcoin-core-dev
salvatoshi_ has quit [Ping timeout: 264 seconds]
Guest99 has joined #bitcoin-core-dev
Guest99 has quit [Client Quit]
andrew_mo_ has joined #bitcoin-core-dev
andrew_mo_ has quit [Ping timeout: 264 seconds]
martinus has joined #bitcoin-core-dev
jon_atack has quit [Ping timeout: 255 seconds]
sipsorcery has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Remote host closed the connection]
<achow101>
there is one preproposed wallet meeting topic this week
<achow101>
any others to add to the list?
<achow101>
#topic blank wallet flag, how to differentiate blank and newly created wallets (S3RK)
<core-meetingbot>
topic: blank wallet flag, how to differentiate blank and newly created wallets (S3RK)
<S3RK>
yep, so that's about #25634
<gribble>
https://github.com/bitcoin/bitcoin/issues/25634 | wallet, tests: Expand and test when the blank wallet flag should be un/set by achow101 · Pull Request #25634 · bitcoin/bitcoin · GitHub
<provoostenator>
Hi
Guest51 has joined #bitcoin-core-dev
<provoostenator>
Also about wallets with a seed but no descriptors?
<S3RK>
We want to be able to tell apart when user wants a wallet without descriptors to import stuff manually and just newly created wallet
<provoostenator>
(Which is useful when setting up multisig)
<S3RK>
so that's a third case I guess
<achow101>
also blank is used for born encrypted wallets
brunoerg has joined #bitcoin-core-dev
<S3RK>
achow101 can you expand on that. Why the flag is required in that case?
<achow101>
we use it to skip the normal setup stuff for new wallets so that the caller of CWallet::Create can encrypt the wallet and then generate the new descriptors
<provoostenator>
Sounds like that can be avoided with a lock during creation though, as far as the external interface is concerned.
Guest51 has quit [Client Quit]
<achow101>
it's basically just the steps of 'createwallet blank=true' then 'encryptwallet'
<provoostenator>
Oh ok, manually
<achow101>
those are the manual steps, which we are just doing internally
jon_atack has quit [Ping timeout: 248 seconds]
<S3RK>
I think permanent flag is not needed in this caes
<S3RK>
and it could be solved by passing some params
<provoostenator>
I guess it doesn't matter to me if a wallet without descriptors is considered blank or not.
<provoostenator>
As long as it work.
<provoostenator>
s
<provoostenator>
* a wallet with private keys but without descriptors
jon_atack has joined #bitcoin-core-dev
<achow101>
the problem is that our wallet creation and loading code is the same
<S3RK>
we want to know if the wallet descriptors shoudl be manually managed by the user or automatically by the wallet software
<S3RK>
and blank flag is the closest we have today
<achow101>
so we could load a blank wallet and think it's a newly created one, that's why the blank flag was added
brunoerg has quit [Ping timeout: 252 seconds]
<provoostenator>
What is there to "manage" other than at creation time to add the descriptors?
<achow101>
whether to add descriptor when encrypting
<S3RK>
besides thatn we have rotation on encryption
<furszy>
IIRC, we mostly need the blank flag for backward compatibility
<provoostenator>
Ah
<furszy>
moving forward, we could adapt the code so the load flow isn't the same as the creation one
<provoostenator>
Well, if there's a (helper) method to create a fresh wallet that is encrypted, that method could take care of making sure there are descriptors.
<provoostenator>
Perhaps depending on whether the user set the blank flag upon creation, though that slightly shifts the meaning of that flag.
<achow101>
we should probably use a different flag to indicate "this wallet should only have manually set things"
<provoostenator>
createwallet blank=true encrypted=true would then mean we want a key but no descriptors.
<S3RK>
achow101: agree
sipsorcery has quit [Remote host closed the connection]
<S3RK>
will "manual" wallet have a seed an it? allow to import a seed?
<provoostenator>
Though then we can't have a user request an encrypted wallet with no keys. So maybe it does need a new argument.
sipsorcery has joined #bitcoin-core-dev
<achow101>
S3RK: if a manual wallet did sethdseed, I think so
<achow101>
but we shouldn't then auto generate things, they would have to use createwalletdescriptor (or whatever I named that rpc)
martinus has quit [Remote host closed the connection]
<achow101>
and I'm not sure if that can be supported with legacy wallets
<S3RK>
so it'll look very similar to "automatic" wallet with one exception of not rotating keys on encryption. Is that correct?
<achow101>
yes
<S3RK>
yeah, I'm talking descriptors only for now
<S3RK>
can we also deprecate blank wallet flag then? We can set it for all wallets for compatiblity reasons, but ignore it in master
<achow101>
maybe
<achow101>
we'll probably need to revisit the creation code
<achow101>
we used to create a new wallet if one specified in -wallet did not already exist
<achow101>
which is why the loading and creation stuff is tied together
<S3RK>
got it. I think we can support that use case without having it in one function
<achow101>
if we get rid of that behavior (which IIRC we have mostly, but something was kept for backwards compatibility), then it shouldn't be an issue
<S3RK>
we can also just do this: if (!wallet) { create(); } load();
<achow101>
well right now load has to happen before create because pointer invalidation
<achow101>
we'd have to be careful there.
<achow101>
there's a benchmark that does it in the wrong order, and some changes cause it to segfault
<S3RK>
ok. I'll need to think more about this. Thanks for the food for thoughts.
<achow101>
any other topics?
<S3RK>
do we support sethdseed for blank descriptors wallet today?