{
  "founder": "meshcollider",
  "channel": "#bitcoin-core-dev",
  "network": "libera",
  "id": "debee2a1d5e243e3a7677165a08b98e2",
  "name": "#bitcoin-core-dev",
  "chair": "meshcollider",
  "chairs": [
    "meshcollider"
  ],
  "nicks": {
    "meshcollider": 36,
    "core-meetingbot": 2,
    "achow101": 47,
    "michaelfolkson": 28,
    "sipa": 8,
    "prayank": 18,
    "gribble": 4,
    "jonatack": 3
  },
  "start_time": "2021-09-24T19:00:29+00:00",
  "end_time": "2021-09-24T19:48:37+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": null,
  "messages": [
    {
      "id": "9be793b6bfee44fab985de970a710916",
      "sender": "meshcollider",
      "payload": "#startmeeting",
      "action": false,
      "timestamp": "2021-09-24T19:00:29+00:00"
    },
    {
      "id": "d71a83514042419595908c04fbe40688",
      "sender": "core-meetingbot",
      "payload": "Meeting started Fri Sep 24 19:00:29 2021 UTC.  The chair is meshcollider. Information about MeetBot at https://bitcoin.jonasschnelli.ch/ircmeetings.",
      "action": false,
      "timestamp": "2021-09-24T19:00:30+00:00"
    },
    {
      "id": "139784a6b2374c518f83f18b15f44ee7",
      "sender": "core-meetingbot",
      "payload": "Available commands: action commands idea info link nick",
      "action": false,
      "timestamp": "2021-09-24T19:00:30+00:00"
    },
    {
      "id": "82ce50e417394e7388f1a89a35feda61",
      "sender": "meshcollider",
      "payload": "#bitcoin-core-dev Wallet Meeting: achow101 aj amiti ariard bluematt cfields Chris_Stewart_5 digi_james dongcarl elichai2 emilengler fanquake fjahr gleb glozow gmaxwell gwillen hebasto instagibbs jamesob jb55 jeremyrubin jl2012 jnewbery jonasschnelli jonatack jtimon kallewoof kanzure kvaciral lightlike luke-jr maaku marcofalke meshcollider michagogo moneyball morcos nehan NicolasDorier paveljanik petertodd phantomcircuit promag",
      "action": false,
      "timestamp": "2021-09-24T19:00:34+00:00"
    },
    {
      "id": "21939f01e75342118d60d4e0fe047dff",
      "sender": "meshcollider",
      "payload": "provoostenator ryanofsky sdaftuar sipa vasild wumpus",
      "action": false,
      "timestamp": "2021-09-24T19:00:34+00:00"
    },
    {
      "id": "b9d6e61b5a3b442fb1f07d077231b067",
      "sender": "achow101",
      "payload": "hi",
      "action": false,
      "timestamp": "2021-09-24T19:00:44+00:00"
    },
    {
      "id": "4dbff978791a4451996488ffec2d0c6a",
      "sender": "michaelfolkson",
      "payload": "hi",
      "action": false,
      "timestamp": "2021-09-24T19:00:49+00:00"
    },
    {
      "id": "73775b2fd492486a8710fce2ae74befc",
      "sender": "sipa",
      "payload": "hi",
      "action": false,
      "timestamp": "2021-09-24T19:01:32+00:00"
    },
    {
      "id": "b13a2d622acc424b8975e9836ce78e52",
      "sender": "meshcollider",
      "payload": "I don't think there are any proposed topics, last minute proposals?",
      "action": false,
      "timestamp": "2021-09-24T19:01:36+00:00"
    },
    {
      "id": "23518e9d84ec4d79b8a47b7a2d61969a",
      "sender": "michaelfolkson",
      "payload": "I'll ask a couple of questions on achow101's recent Twitch streams/PRs that he's been working on if nothing else",
      "action": false,
      "timestamp": "2021-09-24T19:02:21+00:00"
    },
    {
      "id": "d3008a7d2e6649ba96aa4566c06acf40",
      "sender": "meshcollider",
      "payload": "After another user earlier this week asking about upgrading an old wallet and why they're still only getting legacy addresses, I was wondering if we should add an easier way to fully flush the keypool after an upgrade",
      "action": false,
      "timestamp": "2021-09-24T19:03:28+00:00"
    },
    {
      "id": "0c44bbede5254dc5950b259600d6bfc0",
      "sender": "meshcollider",
      "payload": "achow101: what's the reason we keep using the old pre-HD keypool after upgrade until it has run out? Why not just use the new HD keys immediately?",
      "action": false,
      "timestamp": "2021-09-24T19:04:14+00:00"
    },
    {
      "id": "7e7a51739ce345af96c2553bcd50537f",
      "sender": "achow101",
      "payload": "it wouldn't be particularly hard to add a function like \"newkeypool\"",
      "action": false,
      "timestamp": "2021-09-24T19:04:23+00:00"
    },
    {
      "id": "34e767ca6aeb48d1a6edd48c593d79f8",
      "sender": "meshcollider",
      "payload": "Yeah it'd be super easy, could overload keypoolrefill too, but I wanted to discuss the rationale first",
      "action": false,
      "timestamp": "2021-09-24T19:05:10+00:00"
    },
    {
      "id": "bf4cf9b54dab4c6ba091598b8f2ebcc2",
      "sender": "sipa",
      "payload": "fwiw, when upgrading from unencrypted to encypted wallet, this already happens",
      "action": false,
      "timestamp": "2021-09-24T19:05:19+00:00"
    },
    {
      "id": "643470f04ab449f884222813ea986c68",
      "sender": "sipa",
      "payload": "so i'm sure that code exists",
      "action": false,
      "timestamp": "2021-09-24T19:05:24+00:00"
    },
    {
      "id": "eaabf1043ea5409b9a222e508fcdcf65",
      "sender": "achow101",
      "payload": "meshcollider: I don't remember, would have to check the original PR",
      "action": false,
      "timestamp": "2021-09-24T19:05:45+00:00"
    },
    {
      "id": "409d1c9cbf31455a948265a55c9f0f20",
      "sender": "achow101",
      "payload": "sipa: there's a convenient NewKeypool() function :)",
      "action": false,
      "timestamp": "2021-09-24T19:06:07+00:00"
    },
    {
      "id": "d8e38781a77245a68ff84feb03105167",
      "sender": "prayank",
      "payload": "I had one question",
      "action": false,
      "timestamp": "2021-09-24T19:07:34+00:00"
    },
    {
      "id": "3341e2901ea746b2b65d1ab8785deaea",
      "sender": "meshcollider",
      "payload": "Hmm was it #12560",
      "action": false,
      "timestamp": "2021-09-24T19:07:38+00:00"
    },
    {
      "id": "0db3a0afdfba4551bdaa56998f14ef89",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/12560 | [wallet] Upgrade path for non-HD wallets to HD by achow101 \u00c3\u0082\u00c2\u00b7 Pull Request #12560 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2021-09-24T19:07:41+00:00"
    },
    {
      "id": "dd3f26b3c4f444bc993450dc7b3453bd",
      "sender": "achow101",
      "payload": "I think so",
      "action": false,
      "timestamp": "2021-09-24T19:08:44+00:00"
    },
    {
      "id": "2834e2e7aaca4c52a2a99f7148b32157",
      "sender": "meshcollider",
      "payload": "Strange, the OP says \"When it is used for such an upgrade, the keypool will be regenerated.\"",
      "action": false,
      "timestamp": "2021-09-24T19:10:16+00:00"
    },
    {
      "id": "ff0e582ed993485bac61872d940735fc",
      "sender": "meshcollider",
      "payload": "So you must have changed it for some reason through the reviews",
      "action": false,
      "timestamp": "2021-09-24T19:10:26+00:00"
    },
    {
      "id": "66360f15d2b541b385a7354b61bc2b68",
      "sender": "achow101",
      "payload": "meshcollider: I remember now. It's because -upgradewallet would do the wallet before syncing",
      "action": false,
      "timestamp": "2021-09-24T19:10:34+00:00"
    },
    {
      "id": "45f66a9417e44162a3c235da7ea41789",
      "sender": "achow101",
      "payload": "I think it had something to do with the wallet being upgraded and then losing coins due to sync?",
      "action": false,
      "timestamp": "2021-09-24T19:11:08+00:00"
    },
    {
      "id": "c5a2756c418b4fc8a004d50475c12c7e",
      "sender": "achow101",
      "payload": "maybe not",
      "action": false,
      "timestamp": "2021-09-24T19:11:16+00:00"
    },
    {
      "id": "cba486a39c1d434baa0d475aa94de357",
      "sender": "achow101",
      "payload": "I'm pretty sure it was implemented that way because of this comment: https://github.com/bitcoin/bitcoin/pull/12560#issuecomment-377567454",
      "action": false,
      "timestamp": "2021-09-24T19:11:32+00:00"
    },
    {
      "id": "610c1d104d8b4a8fa28bb45eedd6d134",
      "sender": "meshcollider",
      "payload": "Interesting",
      "action": false,
      "timestamp": "2021-09-24T19:11:49+00:00"
    },
    {
      "id": "4550b33247964d0f9f038a790624eb2b",
      "sender": "meshcollider",
      "payload": "So I feel like we should change it now to flush the keypool on upgrade from non-HD to HD",
      "action": false,
      "timestamp": "2021-09-24T19:12:11+00:00"
    },
    {
      "id": "8abd9357b38a4e4e96b2abab5b3f318f",
      "sender": "meshcollider",
      "payload": "Or even after every upgrade?",
      "action": false,
      "timestamp": "2021-09-24T19:12:37+00:00"
    },
    {
      "id": "510c9ea9e32449c2a8178e43cc8e6a5c",
      "sender": "achow101",
      "payload": "oh, I think part of it was that it was basically impossible to show a warning to users that they had to make a new backup after -upgradewallet",
      "action": false,
      "timestamp": "2021-09-24T19:13:21+00:00"
    },
    {
      "id": "838edb664220494e89190c566b8843da",
      "sender": "achow101",
      "payload": "but that's no longer relevant with the upgradewallet RPC",
      "action": false,
      "timestamp": "2021-09-24T19:13:26+00:00"
    },
    {
      "id": "576f6fe5dd4a4b748c9b83902db33f2f",
      "sender": "achow101",
      "payload": "I think it would be reasonable to have upgradewallet flush after upgrading to HD",
      "action": false,
      "timestamp": "2021-09-24T19:13:51+00:00"
    },
    {
      "id": "616593d4e6754e5aa1381ce8df37c771",
      "sender": "meshcollider",
      "payload": "Cool, I'll open a PR after the meeting then",
      "action": false,
      "timestamp": "2021-09-24T19:13:54+00:00"
    },
    {
      "id": "ce3c30a4b90b4f1d8093925486cb27fc",
      "sender": "achow101",
      "payload": "as well as a dedicated flush keypool RPC",
      "action": false,
      "timestamp": "2021-09-24T19:14:00+00:00"
    },
    {
      "id": "941e26d13c354c54af8278349a252e32",
      "sender": "meshcollider",
      "payload": "prayank: Sure, what was your question :)",
      "action": false,
      "timestamp": "2021-09-24T19:14:12+00:00"
    },
    {
      "id": "6fdbd8f1a2404e24bb7b76d2ef24ff54",
      "sender": "prayank",
      "payload": "I wanted to start working on things explained in this issue and create a draft PR but don't want to waste time and end up with NACKs in few minutes. So what are your thoughts on it?",
      "action": false,
      "timestamp": "2021-09-24T19:14:17+00:00"
    },
    {
      "id": "a0d9407662d24324a6ca22afd366e20d",
      "sender": "prayank",
      "payload": "https://github.com/bitcoin/bitcoin/issues/22424",
      "action": false,
      "timestamp": "2021-09-24T19:14:21+00:00"
    },
    {
      "id": "afe76e6922674d16a620d1f281dc4546",
      "sender": "achow101",
      "payload": "can you briefly explain the idea?",
      "action": false,
      "timestamp": "2021-09-24T19:15:23+00:00"
    },
    {
      "id": "93d92769612c4f9f8bba0adb4aa400e4",
      "sender": "prayank",
      "payload": "Yes",
      "action": false,
      "timestamp": "2021-09-24T19:15:32+00:00"
    },
    {
      "id": "7621e455ad2c4f1a8aef7a678757b303",
      "sender": "michaelfolkson",
      "payload": "Dirty coins are dumped into a subwallet and can't be spent in the original wallet?",
      "action": false,
      "timestamp": "2021-09-24T19:15:42+00:00"
    },
    {
      "id": "4769037321e94cd89d91ad6c9f2b61fd",
      "sender": "prayank",
      "payload": "Right",
      "action": false,
      "timestamp": "2021-09-24T19:15:54+00:00"
    },
    {
      "id": "433c73ea25db4ab89b5bcb62d07b6d84",
      "sender": "prayank",
      "payload": "This was suggested in a discussion by harding",
      "action": false,
      "timestamp": "2021-09-24T19:16:14+00:00"
    },
    {
      "id": "694b1439d440400a812c26473d4b8f2e",
      "sender": "prayank",
      "payload": "Let me find the link",
      "action": false,
      "timestamp": "2021-09-24T19:16:19+00:00"
    },
    {
      "id": "f943b575bec4484b88220843e2c9a66e",
      "sender": "meshcollider",
      "payload": "Its on the issue, https://github.com/bitcoin/bitcoin/issues/22018#issuecomment-850803134",
      "action": false,
      "timestamp": "2021-09-24T19:16:35+00:00"
    },
    {
      "id": "c1dc1df91c7b41d7b04b05ea59509bcc",
      "sender": "michaelfolkson",
      "payload": "Always upsides and downsides but one downside appears to be reduction in the success rate of BnB",
      "action": false,
      "timestamp": "2021-09-24T19:17:08+00:00"
    },
    {
      "id": "2c26220af33e4f439885d2400bb49430",
      "sender": "michaelfolkson",
      "payload": "Less UTXOs at its disposal",
      "action": false,
      "timestamp": "2021-09-24T19:17:17+00:00"
    },
    {
      "id": "e23e9f9b1e0b48488a8fa627d1238390",
      "sender": "prayank",
      "payload": "Let me explain with one example",
      "action": false,
      "timestamp": "2021-09-24T19:18:16+00:00"
    },
    {
      "id": "666990af91014e39b393ca2b4ee621c5",
      "sender": "achow101",
      "payload": "I would generally avoid automatically creating new wallet files when certain behavior occurs",
      "action": false,
      "timestamp": "2021-09-24T19:18:27+00:00"
    },
    {
      "id": "0f3e6401eb7b427988c817a0661c062b",
      "sender": "achow101",
      "payload": "a \"sub wallet\" should just be an internal structure",
      "action": false,
      "timestamp": "2021-09-24T19:19:03+00:00"
    },
    {
      "id": "c6401abce41a405480fa0866decd3896",
      "sender": "prayank",
      "payload": "Alice creates a new address. Bob sends multiple times to it. Becomes dirty. Detected by Core and moved to New wallet with keys and all meta data.",
      "action": false,
      "timestamp": "2021-09-24T19:19:18+00:00"
    },
    {
      "id": "7b049797531b489893585bcba6f3a933",
      "sender": "michaelfolkson",
      "payload": "achow101: Can a subwallet with UTXOs that can't be spent by the original wallet fit into that \"internal structure\"? I'm guessing not",
      "action": false,
      "timestamp": "2021-09-24T19:20:03+00:00"
    },
    {
      "id": "5e7d0b2993c8419995731e1421e31fdf",
      "sender": "michaelfolkson",
      "payload": "The divide is pretty clear",
      "action": false,
      "timestamp": "2021-09-24T19:20:22+00:00"
    },
    {
      "id": "0e3e1fba91d94a21aacdeae8d06b0a09",
      "sender": "achow101",
      "payload": "michaelfolkson: it's a program, you can make anything work :)",
      "action": false,
      "timestamp": "2021-09-24T19:20:26+00:00"
    },
    {
      "id": "cb915a7608c8456bbcf69c60c3c7e802",
      "sender": "michaelfolkson",
      "payload": "Ha ok, I don't know what you mean by an internal structure then ;)",
      "action": false,
      "timestamp": "2021-09-24T19:20:50+00:00"
    },
    {
      "id": "fe62f63c21004ff19285a2d66bcceebb",
      "sender": "prayank",
      "payload": "michaelfolkson: Maybe not show user a new wallet is created",
      "action": false,
      "timestamp": "2021-09-24T19:21:27+00:00"
    },
    {
      "id": "695d4bedf33e47c49202fa37f3642aa4",
      "sender": "achow101",
      "payload": "with meshcollider's persistent utxo locks, it seems like it would be fairly easy to detect these \"dirty utxos\" and apply a utxo lock on them",
      "action": false,
      "timestamp": "2021-09-24T19:21:47+00:00"
    },
    {
      "id": "db08796792594d6fa1c910a815434d29",
      "sender": "meshcollider",
      "payload": "Doesn't avoid_reuse basically do that anyway",
      "action": false,
      "timestamp": "2021-09-24T19:22:26+00:00"
    },
    {
      "id": "cd4807df56024884a9519738271d42e3",
      "sender": "achow101",
      "payload": "later users can go in, manually unlock those utxos, and do whatever with them. I think that approximately achieves what #22424 describes",
      "action": false,
      "timestamp": "2021-09-24T19:22:34+00:00"
    },
    {
      "id": "695b92d8edfd4220bc94ba9d17b661ef",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/22424 | Sub wallet for dirty coins \u00c3\u0082\u00c2\u00b7 Issue #22424 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2021-09-24T19:22:34+00:00"
    },
    {
      "id": "b4480b707c7f4ff5bef31ef1dfd15829",
      "sender": "meshcollider",
      "payload": "Could possibly make it easier to do so with an RPC \"consolidatedirty\" or something",
      "action": false,
      "timestamp": "2021-09-24T19:23:11+00:00"
    },
    {
      "id": "5a810fc6270e4618b5467b85ebe9d56c",
      "sender": "michaelfolkson",
      "payload": "meshcollider: Isn't avoid_reuse avoidance rather than making it impossible?",
      "action": false,
      "timestamp": "2021-09-24T19:23:19+00:00"
    },
    {
      "id": "ddcf5b5d5bd141f7873415fba2bf3754",
      "sender": "achow101",
      "payload": "but in general, I don't particularly like the idea of outright disabling users from spending certain UTXOs just because they are reused",
      "action": false,
      "timestamp": "2021-09-24T19:23:59+00:00"
    },
    {
      "id": "e5064f20a29e4544bd6e737bf2cf8731",
      "sender": "achow101",
      "payload": "it is trivial to lock people out of funds by dust spam",
      "action": false,
      "timestamp": "2021-09-24T19:24:06+00:00"
    },
    {
      "id": "62af839df8d34c299806b4b8bed8d157",
      "sender": "achow101",
      "payload": "s/is/becomes",
      "action": false,
      "timestamp": "2021-09-24T19:24:13+00:00"
    },
    {
      "id": "7be2a193d8784a3e9485feb822f86205",
      "sender": "michaelfolkson",
      "payload": "To me avoidance seems fine. Literally dumping the private key so that the original wallet can't spend a UTXO in any circumstances seems overkill",
      "action": false,
      "timestamp": "2021-09-24T19:24:33+00:00"
    },
    {
      "id": "a754d7465fe34847beb4a8a2f6c10ce4",
      "sender": "prayank",
      "payload": "meshcollider: avoid_reuse has issues",
      "action": false,
      "timestamp": "2021-09-24T19:24:37+00:00"
    },
    {
      "id": "eac26a737a204a6c94027fc40abacbe7",
      "sender": "prayank",
      "payload": "achow101: Won't be default. Only for user who want this level of privacy can use it.",
      "action": false,
      "timestamp": "2021-09-24T19:25:21+00:00"
    },
    {
      "id": "d93fa9e80bf9401989423d0c69cef26d",
      "sender": "achow101",
      "payload": "prayank: perhaps improve avoid_reuse rather than throwing it out?",
      "action": false,
      "timestamp": "2021-09-24T19:25:34+00:00"
    },
    {
      "id": "bce00a35d6ef4e52b8f9c739c4fe79fe",
      "sender": "michaelfolkson",
      "payload": "prayank: What are the issues?",
      "action": false,
      "timestamp": "2021-09-24T19:26:15+00:00"
    },
    {
      "id": "a4608af31b224c7daf0f719922f25826",
      "sender": "meshcollider",
      "payload": "I like achow101's suggestion of simply locking the UTXOs, but I think then there should be some way to distinguish these types of UTXO for when you do want to consolidate (e.g. red on GUI as suggested)",
      "action": false,
      "timestamp": "2021-09-24T19:26:20+00:00"
    },
    {
      "id": "352f1bc798184acc901f740929f91b79",
      "sender": "prayank",
      "payload": "achow101: well 2 issues that exist are 1. Unable to spend unconfirmed UTXO 2. OUTPUT_GROUP_MAX_ENTRIES = 100 and I was told both will get NACKs if I try to fix them",
      "action": false,
      "timestamp": "2021-09-24T19:26:40+00:00"
    },
    {
      "id": "8502b4c5c02e4983b8f00e6c4e6d3419",
      "sender": "achow101",
      "payload": "meshcollider: we could add a \"lock reason\"",
      "action": false,
      "timestamp": "2021-09-24T19:26:57+00:00"
    },
    {
      "id": "0e52790f377e4068bced66320eecdbe4",
      "sender": "achow101",
      "payload": "prayank: that's avoidpartialspends, not avoid_reuse",
      "action": false,
      "timestamp": "2021-09-24T19:27:28+00:00"
    },
    {
      "id": "5ee63bd3029b4f298e727bc8e85106ab",
      "sender": "achow101",
      "payload": "there is a subtle difference IIRC",
      "action": false,
      "timestamp": "2021-09-24T19:28:31+00:00"
    },
    {
      "id": "a2918fbf4f884f59a8094510ef213329",
      "sender": "prayank",
      "payload": "Okay they looked similar things maybe I misunderstood. avoid_reuse is a just a flag right in wallet?",
      "action": false,
      "timestamp": "2021-09-24T19:28:32+00:00"
    },
    {
      "id": "142d154b7494464e8c440cb885b4cd4e",
      "sender": "meshcollider",
      "payload": "Yes",
      "action": false,
      "timestamp": "2021-09-24T19:28:42+00:00"
    },
    {
      "id": "28326963cf724a99abd44f74e2478983",
      "sender": "meshcollider",
      "payload": "WALLET_FLAG_AVOID_REUSE",
      "action": false,
      "timestamp": "2021-09-24T19:28:54+00:00"
    },
    {
      "id": "ea07cd86c1574518ab80a8914c72ef44",
      "sender": "jonatack",
      "payload": "hi",
      "action": false,
      "timestamp": "2021-09-24T19:30:14+00:00"
    },
    {
      "id": "5307abc94bc74e2498451496bbe21960",
      "sender": "achow101",
      "payload": "avoid_reuse will cause coin selection to exclude UTXOs that have already been spent previously",
      "action": false,
      "timestamp": "2021-09-24T19:30:28+00:00"
    },
    {
      "id": "481845256acd42e585f68190b52a6261",
      "sender": "prayank",
      "payload": "jonatack: any opinion on this?",
      "action": false,
      "timestamp": "2021-09-24T19:30:41+00:00"
    },
    {
      "id": "d907cc11ea9d44e6a61b6699ac4e4bb4",
      "sender": "jonatack",
      "payload": "prayank: maybe have a look at src/wallet-init.cpp:47 regarding avoidpartialspends, and grep for it in the codebase",
      "action": false,
      "timestamp": "2021-09-24T19:31:07+00:00"
    },
    {
      "id": "e4e4e77f089345828ff7cce27ad39dc3",
      "sender": "achow101",
      "payload": "so it seems like having a wallet with avoid_reuse already solves the problem?",
      "action": false,
      "timestamp": "2021-09-24T19:31:36+00:00"
    },
    {
      "id": "6d7d5eed455344c4814719bb72ae7336",
      "sender": "meshcollider",
      "payload": "I think a consolidatedirty RPC could still be useful",
      "action": false,
      "timestamp": "2021-09-24T19:31:45+00:00"
    },
    {
      "id": "a4a97110d71649ac814cebab1eeaf590",
      "sender": "meshcollider",
      "payload": "No actually that would basically be impossible to do well",
      "action": false,
      "timestamp": "2021-09-24T19:32:13+00:00"
    },
    {
      "id": "70b49f2c4f4542abb3abda3a13edded3",
      "sender": "meshcollider",
      "payload": "Is there an easy way to list the dirty UTXOs being avoided by avoid_reuse?",
      "action": false,
      "timestamp": "2021-09-24T19:32:51+00:00"
    },
    {
      "id": "c39b46e4f4e448d38a204855c953574b",
      "sender": "achow101",
      "payload": "meshcollider: listunspent has a \"reused\" value",
      "action": false,
      "timestamp": "2021-09-24T19:33:21+00:00"
    },
    {
      "id": "6c4f7503beaa4300982354f0a51a4105",
      "sender": "meshcollider",
      "payload": "True, okay, in that case it should still be possible to manually run them through a mixer or something if desired",
      "action": false,
      "timestamp": "2021-09-24T19:34:01+00:00"
    },
    {
      "id": "f82f98f257e14d81987cbbc7d69a317e",
      "sender": "achow101",
      "payload": "in any case, I think prayank needs to have a look at avoid_reuse in combination with avoidpartialspends first",
      "action": false,
      "timestamp": "2021-09-24T19:34:38+00:00"
    },
    {
      "id": "545418be3a134a04a88a075c92bb2754",
      "sender": "achow101",
      "payload": "before we have any further discussions with changes to make",
      "action": false,
      "timestamp": "2021-09-24T19:34:57+00:00"
    },
    {
      "id": "e97d24ab1f5d40aa8ca38f5386c8b1bc",
      "sender": "prayank",
      "payload": "Okay I will check these things in detail",
      "action": false,
      "timestamp": "2021-09-24T19:35:05+00:00"
    },
    {
      "id": "92a69e8c11a74f50b65050b331eff665",
      "sender": "prayank",
      "payload": "Thanks everyone",
      "action": false,
      "timestamp": "2021-09-24T19:35:20+00:00"
    },
    {
      "id": "22a16019bd154d82b6950f4cef40cd93",
      "sender": "meshcollider",
      "payload": "prayank: thanks! Glad you have some good ideas for this though :)",
      "action": false,
      "timestamp": "2021-09-24T19:35:23+00:00"
    },
    {
      "id": "1059a63051b4475080d7fdb7dcae4f76",
      "sender": "meshcollider",
      "payload": "Any other topics?",
      "action": false,
      "timestamp": "2021-09-24T19:35:30+00:00"
    },
    {
      "id": "b76a4aefe93f4ac2991633ff6c9ea960",
      "sender": "michaelfolkson",
      "payload": "A couple of quick ones",
      "action": false,
      "timestamp": "2021-09-24T19:35:41+00:00"
    },
    {
      "id": "28c690f8abe44d16ad4e5d79ba75c19e",
      "sender": "meshcollider",
      "payload": "michaelfolkson: Go ahead",
      "action": false,
      "timestamp": "2021-09-24T19:36:02+00:00"
    },
    {
      "id": "31904ade6c5e4e9da1120b3db47b8d04",
      "sender": "michaelfolkson",
      "payload": "One, any way to speed up the Proposed Timeline for Legacy Wallet and BDB removal?",
      "action": false,
      "timestamp": "2021-09-24T19:36:18+00:00"
    },
    {
      "id": "20e208fdf8c04683b6cde516bf078487",
      "sender": "jonatack",
      "payload": "don't worry prayank, it takes time, gathering and slowly accumulating context helps",
      "action": false,
      "timestamp": "2021-09-24T19:36:30+00:00"
    },
    {
      "id": "7a3295c01c43458996aa03e548b9a7c6",
      "sender": "michaelfolkson",
      "payload": "27.0 and 2024 seems long",
      "action": false,
      "timestamp": "2021-09-24T19:36:37+00:00"
    },
    {
      "id": "4d81506da1a04fc59d90710d257456b8",
      "sender": "michaelfolkson",
      "payload": "https://github.com/bitcoin/bitcoin/issues/20160",
      "action": false,
      "timestamp": "2021-09-24T19:36:46+00:00"
    },
    {
      "id": "7e41747f87f84e0eacc4f098624f807c",
      "sender": "michaelfolkson",
      "payload": "Given there is migration code",
      "action": false,
      "timestamp": "2021-09-24T19:37:04+00:00"
    },
    {
      "id": "176142d33af6456dbb9b6f64d3cf395a",
      "sender": "achow101",
      "payload": "maybe, but it's intentionally slow and drawn out",
      "action": false,
      "timestamp": "2021-09-24T19:37:19+00:00"
    },
    {
      "id": "a461f2082a3b4f4c995f8818caa1de98",
      "sender": "michaelfolkson",
      "payload": "I just wonder if it is too drawn out :)",
      "action": false,
      "timestamp": "2021-09-24T19:37:32+00:00"
    },
    {
      "id": "a469c3f51c87425a933ee275e0b7f199",
      "sender": "achow101",
      "payload": "the point is to ease the transition, especially since the migration might not migrate everything",
      "action": false,
      "timestamp": "2021-09-24T19:37:43+00:00"
    },
    {
      "id": "ee4a78fd82d64831b7401b44e0292b8e",
      "sender": "prayank",
      "payload": "jonatack: True :)",
      "action": false,
      "timestamp": "2021-09-24T19:37:45+00:00"
    },
    {
      "id": "33718aef642546e6805e6cd2b950f1ac",
      "sender": "achow101",
      "payload": "(it is difficult to replicate everything that ismine would match on)",
      "action": false,
      "timestamp": "2021-09-24T19:38:02+00:00"
    },
    {
      "id": "8390b06b4703417c90773ea0207e9c7d",
      "sender": "michaelfolkson",
      "payload": "achow101: Oh the migration might not... ok I didn't consider that",
      "action": false,
      "timestamp": "2021-09-24T19:38:12+00:00"
    },
    {
      "id": "154306b0c3a24d80b936a114a8c9e73a",
      "sender": "michaelfolkson",
      "payload": "Ok that is a reason for being extra cautious",
      "action": false,
      "timestamp": "2021-09-24T19:38:23+00:00"
    },
    {
      "id": "0f41b6794d75489690557dac244a5019",
      "sender": "meshcollider",
      "payload": "michaelfolkson: why would you like it brought forward? Just code legacy code maintaince reasons?",
      "action": false,
      "timestamp": "2021-09-24T19:38:47+00:00"
    },
    {
      "id": "9ed0c5969d9142d4a62c62c5323661c2",
      "sender": "achow101",
      "payload": "the idea is that there will be time to migrate while all of the legacy wallet stuff is still there so that if there are any issues, a backup can be used and the user could just make a new descriptor wallet and move coins",
      "action": false,
      "timestamp": "2021-09-24T19:39:04+00:00"
    },
    {
      "id": "21be12ebd3614f908bc4acee97e6e48c",
      "sender": "sipa",
      "payload": "also, we regularly see people on stackexchange trying to recover funds from wallet.dat files from 2013 or older",
      "action": false,
      "timestamp": "2021-09-24T19:39:11+00:00"
    },
    {
      "id": "6bf6dd3424b243719c5e7b505ff67f11",
      "sender": "achow101",
      "payload": "also, 2024 is not as far away as you think it is :p",
      "action": false,
      "timestamp": "2021-09-24T19:39:33+00:00"
    },
    {
      "id": "ebc87f3a1b024827bc88ab25f33f4fe3",
      "sender": "michaelfolkson",
      "payload": "Ok fair enough, leave as is",
      "action": false,
      "timestamp": "2021-09-24T19:39:47+00:00"
    },
    {
      "id": "b293e5ed22f44ed1b81032591f776fa9",
      "sender": "sipa",
      "payload": "it's closer to today than segwit's activation",
      "action": false,
      "timestamp": "2021-09-24T19:39:48+00:00"
    },
    {
      "id": "7077b3e254824b25af1e655db44dcd24",
      "sender": "meshcollider",
      "payload": "Scary thought",
      "action": false,
      "timestamp": "2021-09-24T19:39:50+00:00"
    },
    {
      "id": "bd3b85d1b0d84de8884381dc2300f091",
      "sender": "michaelfolkson",
      "payload": "And second question, what was the point of the coin selection simulations? Just see how often the different algorithms were used?",
      "action": false,
      "timestamp": "2021-09-24T19:40:22+00:00"
    },
    {
      "id": "d6661872d1c64a68a1f9d8745fda4f3d",
      "sender": "achow101",
      "payload": "the coin selection simulations are to compare how the algorithms perform",
      "action": false,
      "timestamp": "2021-09-24T19:40:53+00:00"
    },
    {
      "id": "ce1229a7b88f452992cd931292a0a22e",
      "sender": "achow101",
      "payload": "with perform being somewhat subjective hence all of the data output by the simulation",
      "action": false,
      "timestamp": "2021-09-24T19:41:18+00:00"
    },
    {
      "id": "55d86102d82347d3b09fcaf6ee2a4d1c",
      "sender": "michaelfolkson",
      "payload": "To check that the preference for BnB makes sense? And check that Knapsack and SRD are equal second preference?",
      "action": false,
      "timestamp": "2021-09-24T19:41:43+00:00"
    },
    {
      "id": "3f26120e6cc24d78843832a5e3800af1",
      "sender": "michaelfolkson",
      "payload": "The conclusion was SRD wasn't quite as good as we thought but not materially enough to change that preference ordering?",
      "action": false,
      "timestamp": "2021-09-24T19:42:19+00:00"
    },
    {
      "id": "938693fcd11a4299961155c1a175b6d4",
      "sender": "achow101",
      "payload": "not really check anything specific",
      "action": false,
      "timestamp": "2021-09-24T19:42:38+00:00"
    },
    {
      "id": "313503ecba0141be9f01010a55fa3371",
      "sender": "meshcollider",
      "payload": "There is no preferred order after the new waste metric approach is there",
      "action": false,
      "timestamp": "2021-09-24T19:42:52+00:00"
    },
    {
      "id": "2d8ee8662e6044fda6a34fd2f46a51ff",
      "sender": "achow101",
      "payload": "but moreso see what the effects are in general, e.g. how the utxo set is affected, how fees are affected, etc.",
      "action": false,
      "timestamp": "2021-09-24T19:42:55+00:00"
    },
    {
      "id": "fe23211928e148e189fdf2c0202c9440",
      "sender": "michaelfolkson",
      "payload": "I guess if SRD became third preference it would never get used. Knapsack never fails right?",
      "action": false,
      "timestamp": "2021-09-24T19:43:01+00:00"
    },
    {
      "id": "94e442863d96494e984dcffbf0671cb9",
      "sender": "achow101",
      "payload": "with the waste metric, there's no explicit preference",
      "action": false,
      "timestamp": "2021-09-24T19:43:12+00:00"
    },
    {
      "id": "708f9935c0a24bc6bd0e51ef45cc4414",
      "sender": "sipa",
      "payload": "don't forget that these algorithms affect eachother",
      "action": false,
      "timestamp": "2021-09-24T19:43:16+00:00"
    },
    {
      "id": "158d4717130f48458aca06ebdc9fcf93",
      "sender": "sipa",
      "payload": "introducing one means your wallet's UTXO composition changes",
      "action": false,
      "timestamp": "2021-09-24T19:43:31+00:00"
    },
    {
      "id": "0735e62685b04bb28908d2d1cc046639",
      "sender": "sipa",
      "payload": "which may affect the behavior of the other algorithms",
      "action": false,
      "timestamp": "2021-09-24T19:43:38+00:00"
    },
    {
      "id": "f293244b92ca45098688446aba17ac9d",
      "sender": "michaelfolkson",
      "payload": "Hmm ok interesting",
      "action": false,
      "timestamp": "2021-09-24T19:43:56+00:00"
    },
    {
      "id": "f5870d214d8c44a4851d335a8506d898",
      "sender": "achow101",
      "payload": "the point of the simulations is to compare the different strategies we could use and see how they behave with a common dataset and common metrics",
      "action": false,
      "timestamp": "2021-09-24T19:44:23+00:00"
    },
    {
      "id": "89ee8ed304264ce8a18e3c715f093ec8",
      "sender": "achow101",
      "payload": "and then somewhat try to rationalize why we see certain behaviors",
      "action": false,
      "timestamp": "2021-09-24T19:44:32+00:00"
    },
    {
      "id": "0f2f2cdfe40c4531bda31c174b081283",
      "sender": "michaelfolkson",
      "payload": "Ok cool, makes sense",
      "action": false,
      "timestamp": "2021-09-24T19:44:53+00:00"
    },
    {
      "id": "dade8fe757b44b4ea57932aaa815ea88",
      "sender": "michaelfolkson",
      "payload": "Ok I'm done, thanks",
      "action": false,
      "timestamp": "2021-09-24T19:44:59+00:00"
    },
    {
      "id": "e917cb1b1cfb4078b2c5728cd09b570f",
      "sender": "achow101",
      "payload": "I have some old gists with other simulation results from a variety of combinations of BnB + knpsack and other things that were proposed in the past",
      "action": false,
      "timestamp": "2021-09-24T19:45:21+00:00"
    },
    {
      "id": "4235eef31ec7491988b6d7418d055772",
      "sender": "achow101",
      "payload": "with some things like different min change targets, different feerates, etc.",
      "action": false,
      "timestamp": "2021-09-24T19:45:41+00:00"
    },
    {
      "id": "2a75003b6a734b5e89f7feb9082f2983",
      "sender": "michaelfolkson",
      "payload": "I knew it wasn't pointless :) Just didn't know what the major objective(s) was",
      "action": false,
      "timestamp": "2021-09-24T19:46:06+00:00"
    },
    {
      "id": "5fcb96c0a15d4a37b86810709717b608",
      "sender": "meshcollider",
      "payload": "Just briefly, re: #23065, do people think all unlocks should remove both persistent and non-persistent locks, or should it be possible to temporarily unlock a persistent lock",
      "action": false,
      "timestamp": "2021-09-24T19:46:23+00:00"
    },
    {
      "id": "2bd20cbfdb614ec6aed67a7e78be0a0b",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/23065 | Allow UTXO locks to be written to wallet DB by meshcollider \u00c3\u0082\u00c2\u00b7 Pull Request #23065 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2021-09-24T19:46:25+00:00"
    },
    {
      "id": "bd71a86769404a6fa6baf93d1e5ae10b",
      "sender": "achow101",
      "payload": "I think it should remove both",
      "action": false,
      "timestamp": "2021-09-24T19:46:57+00:00"
    },
    {
      "id": "0db7b5dda56c46779a3394de9a58e58b",
      "sender": "meshcollider",
      "payload": "Ok",
      "action": false,
      "timestamp": "2021-09-24T19:47:27+00:00"
    },
    {
      "id": "65ac8293669f4c2e9af8fe620827d327",
      "sender": "meshcollider",
      "payload": "That's all then, no more topics?",
      "action": false,
      "timestamp": "2021-09-24T19:47:47+00:00"
    },
    {
      "id": "398c314cc85c4e5aac5d518db8896cf6",
      "sender": "achow101",
      "payload": "just a review beg for #17526",
      "action": false,
      "timestamp": "2021-09-24T19:48:17+00:00"
    },
    {
      "id": "09f74b7718134638ac555a31ecd1ea65",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/17526 | Add Single Random Draw as an additional coin selection algorithm by achow101 \u00c3\u0082\u00c2\u00b7 Pull Request #17526 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2021-09-24T19:48:19+00:00"
    },
    {
      "id": "01a0337989d143d08a627c3e4124762c",
      "sender": "meshcollider",
      "payload": "Topical :)",
      "action": false,
      "timestamp": "2021-09-24T19:48:35+00:00"
    },
    {
      "id": "b35e98d6c18740f0af571142b3566fd7",
      "sender": "meshcollider",
      "payload": "#endmeeting",
      "action": false,
      "timestamp": "2021-09-24T19:48:37+00:00"
    }
  ],
  "events": [
    {
      "event_type": "START_MEETING",
      "message": {
        "id": "9be793b6bfee44fab985de970a710916",
        "sender": "meshcollider",
        "payload": "#startmeeting",
        "action": false,
        "timestamp": "2021-09-24T19:00:29+00:00"
      },
      "operand": null,
      "id": "9be793b6bfee44fab985de970a710916",
      "timestamp": "2021-09-24T19:00:29+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "0db3a0afdfba4551bdaa56998f14ef89",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/12560 | [wallet] Upgrade path for non-HD wallets to HD by achow101 \u00c3\u0082\u00c2\u00b7 Pull Request #12560 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2021-09-24T19:07:41+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/12560",
      "id": "0db3a0afdfba4551bdaa56998f14ef89",
      "timestamp": "2021-09-24T19:07:41+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "a0d9407662d24324a6ca22afd366e20d",
        "sender": "prayank",
        "payload": "https://github.com/bitcoin/bitcoin/issues/22424",
        "action": false,
        "timestamp": "2021-09-24T19:14:21+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/22424",
      "id": "a0d9407662d24324a6ca22afd366e20d",
      "timestamp": "2021-09-24T19:14:21+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "695b92d8edfd4220bc94ba9d17b661ef",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/22424 | Sub wallet for dirty coins \u00c3\u0082\u00c2\u00b7 Issue #22424 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2021-09-24T19:22:34+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/22424",
      "id": "695b92d8edfd4220bc94ba9d17b661ef",
      "timestamp": "2021-09-24T19:22:34+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "4d81506da1a04fc59d90710d257456b8",
        "sender": "michaelfolkson",
        "payload": "https://github.com/bitcoin/bitcoin/issues/20160",
        "action": false,
        "timestamp": "2021-09-24T19:36:46+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/20160",
      "id": "4d81506da1a04fc59d90710d257456b8",
      "timestamp": "2021-09-24T19:36:46+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "2bd20cbfdb614ec6aed67a7e78be0a0b",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/23065 | Allow UTXO locks to be written to wallet DB by meshcollider \u00c3\u0082\u00c2\u00b7 Pull Request #23065 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2021-09-24T19:46:25+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/23065",
      "id": "2bd20cbfdb614ec6aed67a7e78be0a0b",
      "timestamp": "2021-09-24T19:46:25+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "09f74b7718134638ac555a31ecd1ea65",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/17526 | Add Single Random Draw as an additional coin selection algorithm by achow101 \u00c3\u0082\u00c2\u00b7 Pull Request #17526 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2021-09-24T19:48:19+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/17526",
      "id": "09f74b7718134638ac555a31ecd1ea65",
      "timestamp": "2021-09-24T19:48:19+00:00"
    },
    {
      "event_type": "END_MEETING",
      "message": {
        "id": "b35e98d6c18740f0af571142b3566fd7",
        "sender": "meshcollider",
        "payload": "#endmeeting",
        "action": false,
        "timestamp": "2021-09-24T19:48:37+00:00"
      },
      "operand": null,
      "id": "b35e98d6c18740f0af571142b3566fd7",
      "timestamp": "2021-09-24T19:48:37+00:00"
    }
  ],
  "aliases": {},
  "vote_in_progress": false,
  "motion_index": null
}