{
  "founder": "achow101",
  "channel": "#bitcoin-core-dev",
  "network": "libera",
  "id": "728bfc23ec014c5a8baf6f957c65a9b6",
  "name": "#bitcoin-core-dev",
  "chair": "achow101",
  "chairs": [
    "achow101"
  ],
  "nicks": {
    "achow101": 28,
    "core-meetingbot": 3,
    "S3RK": 20,
    "instagibbs": 1,
    "furszy": 3,
    "gribble": 1,
    "provoostenator": 15
  },
  "start_time": "2023-02-24T19:01:16+00:00",
  "end_time": "2023-02-24T19:24:18+00:00",
  "active": false,
  "original_topic": "Bitcoin Core development discussion and commit log | Feel free to watch, but please take commentary and usage questions to #bitcoin | Channel logs: http://www.erisian.com.au/bitcoin-core-dev/, http://gnusha.org/bitcoin-core-dev/ | Meeting topics http://gnusha.org/bitcoin-core-dev/proposedmeetingtopics.txt / http://gnusha.org/bitcoin-core-dev/proposedwalletmeetingtopics.txt",
  "current_topic": "blank wallet flag, how to differentiate blank and newly created wallets (S3RK)",
  "messages": [
    {
      "id": "2b377370bcd84d7a8559a14c356a4f55",
      "sender": "achow101",
      "payload": "#startmeeting",
      "action": false,
      "timestamp": "2023-02-24T19:01:16+00:00"
    },
    {
      "id": "92b61f299e064efa84c81dbcc2046849",
      "sender": "core-meetingbot",
      "payload": "Meeting started Fri Feb 24 19:01:16 2023 UTC.  The chair is achow101. Information about MeetBot at https://bitcoin.jonasschnelli.ch/ircmeetings.",
      "action": false,
      "timestamp": "2023-02-24T19:01:17+00:00"
    },
    {
      "id": "7dcbbf3f05304d8ebfd167e65477d1c8",
      "sender": "core-meetingbot",
      "payload": "Available commands: action commands idea info link nick",
      "action": false,
      "timestamp": "2023-02-24T19:01:17+00:00"
    },
    {
      "id": "73c2a59474ad452fa4db2fa1c58ac17d",
      "sender": "achow101",
      "payload": "#bitcoin-core-dev Wallet Meeting: achow101 _aj_ amiti ariard aureleoules b10c BlueMatt brunoerg cfields darosior dergoegge dongcarl fanquake fjahr furszy gleb glozow hebasto instagibbs jamesob jarolrod jonatack josibake kallewoof kanzure kouloumos kvaciral laanwj LarryRuane lightlike luke-jr MacroFake Murch phantomcircuit pinheadmz promag provoostenator ryanofsky sdaftuar S3RK stickies-v sipa theStack vasild",
      "action": false,
      "timestamp": "2023-02-24T19:01:22+00:00"
    },
    {
      "id": "2ab1b73008af42cfb0fdeb947a6a877e",
      "sender": "S3RK",
      "payload": "hi",
      "action": false,
      "timestamp": "2023-02-24T19:01:28+00:00"
    },
    {
      "id": "e8b207daf54d42378034733cd9232915",
      "sender": "instagibbs",
      "payload": "hi",
      "action": false,
      "timestamp": "2023-02-24T19:01:31+00:00"
    },
    {
      "id": "c43405d8371946eabcb795a1418d558b",
      "sender": "furszy",
      "payload": "hi",
      "action": false,
      "timestamp": "2023-02-24T19:01:51+00:00"
    },
    {
      "id": "eb53c30a651241e1865cca880f642586",
      "sender": "achow101",
      "payload": "there is one preproposed wallet meeting topic this week",
      "action": false,
      "timestamp": "2023-02-24T19:02:07+00:00"
    },
    {
      "id": "1e72a25ca15248d8a75921606aff4fb5",
      "sender": "achow101",
      "payload": "any others to add to the list?",
      "action": false,
      "timestamp": "2023-02-24T19:02:12+00:00"
    },
    {
      "id": "2941fd8260c74205b2c53ebe9b087ea3",
      "sender": "achow101",
      "payload": "#topic blank wallet flag, how to differentiate blank and newly created wallets (S3RK)",
      "action": false,
      "timestamp": "2023-02-24T19:02:50+00:00"
    },
    {
      "id": "44045ceb26484211b2f97a985e0d2a82",
      "sender": "core-meetingbot",
      "payload": "topic: blank wallet flag, how to differentiate blank and newly created wallets (S3RK)",
      "action": false,
      "timestamp": "2023-02-24T19:02:50+00:00"
    },
    {
      "id": "bb8acdd0a9c247f697dd6aa1e9e1e28f",
      "sender": "S3RK",
      "payload": "yep, so that's about #25634",
      "action": false,
      "timestamp": "2023-02-24T19:03:10+00:00"
    },
    {
      "id": "6a937aaacb864c8d8f4642a1fb1d9877",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/25634 | wallet, tests: Expand and test when the blank wallet flag should be un/set by achow101 \u00c3\u0082\u00c2\u00b7 Pull Request #25634 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2023-02-24T19:03:12+00:00"
    },
    {
      "id": "f5b57bbe89d249afab7f8c4ca0ccb259",
      "sender": "provoostenator",
      "payload": "Hi",
      "action": false,
      "timestamp": "2023-02-24T19:03:16+00:00"
    },
    {
      "id": "9db6f22451044455be4150afdf2f9afa",
      "sender": "provoostenator",
      "payload": "Also about wallets with a seed but no descriptors?",
      "action": false,
      "timestamp": "2023-02-24T19:04:17+00:00"
    },
    {
      "id": "dd94638b652e4e2ea2340c783e0ef1cd",
      "sender": "S3RK",
      "payload": "We want to be able to tell apart when user wants a wallet without descriptors to import stuff manually and just newly created wallet",
      "action": false,
      "timestamp": "2023-02-24T19:04:20+00:00"
    },
    {
      "id": "41ccf884a1764854a8f0860d625913a5",
      "sender": "provoostenator",
      "payload": "(Which is useful when setting up multisig)",
      "action": false,
      "timestamp": "2023-02-24T19:04:27+00:00"
    },
    {
      "id": "b68745078d994978876d059970a67ec9",
      "sender": "S3RK",
      "payload": "so that's a third case I guess",
      "action": false,
      "timestamp": "2023-02-24T19:04:47+00:00"
    },
    {
      "id": "7b67cc58e0eb4ac59ddd5ee1c7902585",
      "sender": "achow101",
      "payload": "also blank is used for born encrypted wallets",
      "action": false,
      "timestamp": "2023-02-24T19:04:54+00:00"
    },
    {
      "id": "7f1756afd90444b1bedf2cfb6226e98c",
      "sender": "S3RK",
      "payload": "achow101 can you expand on that. Why the flag is required in that case?",
      "action": false,
      "timestamp": "2023-02-24T19:05:34+00:00"
    },
    {
      "id": "5def9b211cd144a183815450c83d0829",
      "sender": "achow101",
      "payload": "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",
      "action": false,
      "timestamp": "2023-02-24T19:06:11+00:00"
    },
    {
      "id": "d54f224e59394a039beb41d0cf5c8296",
      "sender": "provoostenator",
      "payload": "Sounds like that can be avoided with a lock during creation though, as far as the external interface is concerned.",
      "action": false,
      "timestamp": "2023-02-24T19:06:51+00:00"
    },
    {
      "id": "f7a27f7f1c2a47ed8c5e852f24214785",
      "sender": "achow101",
      "payload": "it's basically just the steps of 'createwallet blank=true' then 'encryptwallet'",
      "action": false,
      "timestamp": "2023-02-24T19:07:04+00:00"
    },
    {
      "id": "86b1aecc74974ab099f292d5c8a683a2",
      "sender": "provoostenator",
      "payload": "Oh ok, manually",
      "action": false,
      "timestamp": "2023-02-24T19:07:16+00:00"
    },
    {
      "id": "24e5714363d44e0ca13ebd30b05a669c",
      "sender": "achow101",
      "payload": "those are the manual steps, which we are just doing internally",
      "action": false,
      "timestamp": "2023-02-24T19:07:33+00:00"
    },
    {
      "id": "3ebc267762114815a888d3c55d998ea1",
      "sender": "S3RK",
      "payload": "I think permanent flag is not needed in this caes",
      "action": false,
      "timestamp": "2023-02-24T19:08:16+00:00"
    },
    {
      "id": "8e174f15b981462ea543fae083c88314",
      "sender": "S3RK",
      "payload": "and it could be solved by passing some params",
      "action": false,
      "timestamp": "2023-02-24T19:08:25+00:00"
    },
    {
      "id": "fa8e29169d0b4907832334fd6860f94c",
      "sender": "provoostenator",
      "payload": "I guess it doesn't matter to me if a wallet without descriptors is considered blank or not.",
      "action": false,
      "timestamp": "2023-02-24T19:08:37+00:00"
    },
    {
      "id": "7dadc84a39434a3183124bd7e8f09a7d",
      "sender": "provoostenator",
      "payload": "As long as it work.",
      "action": false,
      "timestamp": "2023-02-24T19:08:41+00:00"
    },
    {
      "id": "de1710056d74441ca3b1ef98829dbb34",
      "sender": "provoostenator",
      "payload": "s",
      "action": false,
      "timestamp": "2023-02-24T19:08:42+00:00"
    },
    {
      "id": "e7a628dea81f480b8ecfa2fa64f9e0e3",
      "sender": "provoostenator",
      "payload": "* a wallet with private keys but without descriptors",
      "action": false,
      "timestamp": "2023-02-24T19:09:08+00:00"
    },
    {
      "id": "0810b59d5f204e938150290b3d0fbb60",
      "sender": "achow101",
      "payload": "the problem is that our wallet creation and loading code is the same",
      "action": false,
      "timestamp": "2023-02-24T19:09:27+00:00"
    },
    {
      "id": "18aa697f6c26454f9eec787cd3747dfe",
      "sender": "S3RK",
      "payload": "we want to know if the wallet descriptors shoudl be manually managed by the user or automatically by the wallet software",
      "action": false,
      "timestamp": "2023-02-24T19:09:38+00:00"
    },
    {
      "id": "e8d126a96db34eacadeb2fe2f45190c1",
      "sender": "S3RK",
      "payload": "and blank flag is the closest we have today",
      "action": false,
      "timestamp": "2023-02-24T19:09:47+00:00"
    },
    {
      "id": "6491f3a9ca3e48bf80b575a635cce486",
      "sender": "achow101",
      "payload": "so we could load a blank wallet and think it's a newly created one, that's why the blank flag was added",
      "action": false,
      "timestamp": "2023-02-24T19:09:54+00:00"
    },
    {
      "id": "1dfb649221984b9e840bda6bae8df8c5",
      "sender": "provoostenator",
      "payload": "What is there to \"manage\" other than at creation time to add the descriptors?",
      "action": false,
      "timestamp": "2023-02-24T19:10:34+00:00"
    },
    {
      "id": "1eb821d600e845eda6cd3fc975412dbe",
      "sender": "achow101",
      "payload": "whether to add descriptor when encrypting",
      "action": false,
      "timestamp": "2023-02-24T19:10:56+00:00"
    },
    {
      "id": "cf809c0ebeab496b8c15636f81bbfbbd",
      "sender": "S3RK",
      "payload": "besides thatn we have rotation on encryption",
      "action": false,
      "timestamp": "2023-02-24T19:10:59+00:00"
    },
    {
      "id": "f082dc8215ff428e83d148cca440dd8c",
      "sender": "furszy",
      "payload": "IIRC, we mostly need the blank flag for backward compatibility",
      "action": false,
      "timestamp": "2023-02-24T19:11:23+00:00"
    },
    {
      "id": "22c2b7f6f4604557b249e30331956857",
      "sender": "provoostenator",
      "payload": "Ah",
      "action": false,
      "timestamp": "2023-02-24T19:11:25+00:00"
    },
    {
      "id": "91819945be7546c9a8cfdcaeaf73f806",
      "sender": "furszy",
      "payload": "moving forward, we could adapt the code so the load flow isn't the same as the creation one",
      "action": false,
      "timestamp": "2023-02-24T19:11:41+00:00"
    },
    {
      "id": "6a5066cfb3094806b0be9f6670bb1fff",
      "sender": "provoostenator",
      "payload": "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.",
      "action": false,
      "timestamp": "2023-02-24T19:12:17+00:00"
    },
    {
      "id": "52662f1e573c4efcaf6564e922a86b16",
      "sender": "provoostenator",
      "payload": "Perhaps depending on whether the user set the \u0011blank flag upon creation, though that slightly shifts the meaning of that flag.",
      "action": false,
      "timestamp": "2023-02-24T19:13:01+00:00"
    },
    {
      "id": "ee814b41f51840bda4c50ae561929776",
      "sender": "achow101",
      "payload": "we should probably use a different flag to indicate \"this wallet should only have manually set things\"",
      "action": false,
      "timestamp": "2023-02-24T19:13:37+00:00"
    },
    {
      "id": "fab78e401f1b4c5a9fddfa8f65a4fe8b",
      "sender": "provoostenator",
      "payload": "\u0011createwallet blank=true encrypted=true would then mean we want a key but no descriptors.",
      "action": false,
      "timestamp": "2023-02-24T19:13:49+00:00"
    },
    {
      "id": "187e3aaef30e4282acd758fbd8de3319",
      "sender": "S3RK",
      "payload": "achow101: agree",
      "action": false,
      "timestamp": "2023-02-24T19:14:01+00:00"
    },
    {
      "id": "5a0c08759e1949be85ac336860c0a4f3",
      "sender": "S3RK",
      "payload": "will \"manual\" wallet have a seed an it? allow to import a seed?",
      "action": false,
      "timestamp": "2023-02-24T19:14:57+00:00"
    },
    {
      "id": "8102d852c28b4791825e8678085a8ccf",
      "sender": "provoostenator",
      "payload": "Though then we can't have a user request an encrypted wallet with no keys. So maybe it does need a new argument.",
      "action": false,
      "timestamp": "2023-02-24T19:14:58+00:00"
    },
    {
      "id": "dba1f3073867403084f9bfc9532db5f8",
      "sender": "achow101",
      "payload": "S3RK: if a manual wallet did sethdseed, I think so",
      "action": false,
      "timestamp": "2023-02-24T19:15:47+00:00"
    },
    {
      "id": "2208b881a1154a88909ef6e92f372922",
      "sender": "achow101",
      "payload": "but we shouldn't then auto generate things, they would have to use createwalletdescriptor (or whatever I named that rpc)",
      "action": false,
      "timestamp": "2023-02-24T19:16:09+00:00"
    },
    {
      "id": "8f20c40879cb4f10a816b1d8229b967c",
      "sender": "achow101",
      "payload": "and I'm not sure if that can be supported with legacy wallets",
      "action": false,
      "timestamp": "2023-02-24T19:16:55+00:00"
    },
    {
      "id": "82d3fa67b9ef42388663267811dbdbeb",
      "sender": "S3RK",
      "payload": "so it'll look very similar to \"automatic\" wallet with one exception of not rotating keys on encryption. Is that correct?",
      "action": false,
      "timestamp": "2023-02-24T19:17:04+00:00"
    },
    {
      "id": "d0a62962eb78402cb06f1cc7c0766ceb",
      "sender": "achow101",
      "payload": "yes",
      "action": false,
      "timestamp": "2023-02-24T19:17:20+00:00"
    },
    {
      "id": "8e190982fde54ff89065ca85bfcb5e6e",
      "sender": "S3RK",
      "payload": "yeah, I'm talking descriptors only for now",
      "action": false,
      "timestamp": "2023-02-24T19:17:27+00:00"
    },
    {
      "id": "65cbf68366074700bab8b542c78c9ef8",
      "sender": "S3RK",
      "payload": "can we also deprecate blank wallet flag then? We can set it for all wallets for compatiblity reasons, but ignore it in master",
      "action": false,
      "timestamp": "2023-02-24T19:18:36+00:00"
    },
    {
      "id": "846725031a684008a5bda0af27579295",
      "sender": "achow101",
      "payload": "maybe",
      "action": false,
      "timestamp": "2023-02-24T19:18:49+00:00"
    },
    {
      "id": "76af1c7fb7784e6aa910b4044942d24e",
      "sender": "achow101",
      "payload": "we'll probably need to revisit the creation code",
      "action": false,
      "timestamp": "2023-02-24T19:19:20+00:00"
    },
    {
      "id": "374e1f6a7ea145c7b584f856fcb1511e",
      "sender": "achow101",
      "payload": "we used to create a new wallet if one specified in -wallet did not already exist",
      "action": false,
      "timestamp": "2023-02-24T19:19:47+00:00"
    },
    {
      "id": "788dc2cbbe7f4132a04be7e6825f8a0f",
      "sender": "achow101",
      "payload": "which is why the loading and creation stuff is tied together",
      "action": false,
      "timestamp": "2023-02-24T19:19:57+00:00"
    },
    {
      "id": "a24c120872ff482981e82f2287f6a73e",
      "sender": "S3RK",
      "payload": "got it. I think we can support that use case without having it in one function",
      "action": false,
      "timestamp": "2023-02-24T19:20:26+00:00"
    },
    {
      "id": "18e6c2492a764b9eb793c996b65304de",
      "sender": "achow101",
      "payload": "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",
      "action": false,
      "timestamp": "2023-02-24T19:20:30+00:00"
    },
    {
      "id": "c44f0ef05c5e4187a6de4425b1d9cca6",
      "sender": "S3RK",
      "payload": "we can also just do this:  if (!wallet) { create(); } load();",
      "action": false,
      "timestamp": "2023-02-24T19:21:02+00:00"
    },
    {
      "id": "cd8e3a9c6efe407fb3f91fd249cf12b9",
      "sender": "achow101",
      "payload": "well right now load has to happen before create because pointer invalidation",
      "action": false,
      "timestamp": "2023-02-24T19:21:46+00:00"
    },
    {
      "id": "8f84dc9d792f409ba1c19589cbd977ec",
      "sender": "achow101",
      "payload": "we'd have to be careful there.",
      "action": false,
      "timestamp": "2023-02-24T19:21:54+00:00"
    },
    {
      "id": "79a4241c74354069a660ae5b4fed5be2",
      "sender": "achow101",
      "payload": "there's a benchmark that does it in the wrong order, and some changes cause it to segfault",
      "action": false,
      "timestamp": "2023-02-24T19:22:11+00:00"
    },
    {
      "id": "ad8bdf02fcef4029a4c6db1807bb78fc",
      "sender": "S3RK",
      "payload": "ok. I'll need to think more about this. Thanks for the food for thoughts.",
      "action": false,
      "timestamp": "2023-02-24T19:22:11+00:00"
    },
    {
      "id": "6b1905e1e21a41189e56f728a09b12ca",
      "sender": "achow101",
      "payload": "any other topics?",
      "action": false,
      "timestamp": "2023-02-24T19:23:07+00:00"
    },
    {
      "id": "bba7f22bbcdd41ca811132b644539065",
      "sender": "S3RK",
      "payload": "do we support sethdseed for blank descriptors wallet today?",
      "action": false,
      "timestamp": "2023-02-24T19:23:18+00:00"
    },
    {
      "id": "64635c5688424134a0a1bc2cbc7d5c81",
      "sender": "achow101",
      "payload": "no",
      "action": false,
      "timestamp": "2023-02-24T19:23:24+00:00"
    },
    {
      "id": "189006b55878447083f5d3028e94dc5c",
      "sender": "S3RK",
      "payload": "(not a topic, random question)",
      "action": false,
      "timestamp": "2023-02-24T19:23:25+00:00"
    },
    {
      "id": "e4fc7347cd9a4fd79261a135c1576526",
      "sender": "achow101",
      "payload": "#endmeeting",
      "action": false,
      "timestamp": "2023-02-24T19:24:18+00:00"
    }
  ],
  "events": [
    {
      "event_type": "START_MEETING",
      "message": {
        "id": "2b377370bcd84d7a8559a14c356a4f55",
        "sender": "achow101",
        "payload": "#startmeeting",
        "action": false,
        "timestamp": "2023-02-24T19:01:16+00:00"
      },
      "operand": null,
      "id": "2b377370bcd84d7a8559a14c356a4f55",
      "timestamp": "2023-02-24T19:01:16+00:00"
    },
    {
      "event_type": "TOPIC",
      "message": {
        "id": "2941fd8260c74205b2c53ebe9b087ea3",
        "sender": "achow101",
        "payload": "#topic blank wallet flag, how to differentiate blank and newly created wallets (S3RK)",
        "action": false,
        "timestamp": "2023-02-24T19:02:50+00:00"
      },
      "operand": "blank wallet flag, how to differentiate blank and newly created wallets (S3RK)",
      "id": "2941fd8260c74205b2c53ebe9b087ea3",
      "timestamp": "2023-02-24T19:02:50+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "6a937aaacb864c8d8f4642a1fb1d9877",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/25634 | wallet, tests: Expand and test when the blank wallet flag should be un/set by achow101 \u00c3\u0082\u00c2\u00b7 Pull Request #25634 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2023-02-24T19:03:12+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/25634",
      "id": "6a937aaacb864c8d8f4642a1fb1d9877",
      "timestamp": "2023-02-24T19:03:12+00:00"
    },
    {
      "event_type": "END_MEETING",
      "message": {
        "id": "e4fc7347cd9a4fd79261a135c1576526",
        "sender": "achow101",
        "payload": "#endmeeting",
        "action": false,
        "timestamp": "2023-02-24T19:24:18+00:00"
      },
      "operand": null,
      "id": "e4fc7347cd9a4fd79261a135c1576526",
      "timestamp": "2023-02-24T19:24:18+00:00"
    }
  ],
  "aliases": {},
  "vote_in_progress": false,
  "motion_index": null
}