{
  "founder": "sipa",
  "channel": "#bitcoin-core-dev",
  "network": "freenode",
  "id": "08b851a261974329a5a9e01ad9302bd1",
  "name": "#bitcoin-core-dev",
  "chair": "sipa",
  "chairs": [
    "sipa"
  ],
  "nicks": {
    "sipa": 36,
    "lightningbot": 2,
    "meshcollider": 1,
    "provoostenator": 25,
    "gmaxwell": 64,
    "gribble": 7,
    "achow101": 4,
    "gwillen": 17,
    "instagibbs": 8,
    "jnewbery": 3,
    "sdaftuar": 3,
    "bitcoin-git": 1
  },
  "start_time": "2019-01-25T19:08:58+00:00",
  "end_time": "2019-01-25T20:00:25+00:00",
  "active": false,
  "original_topic": "Bitcoin Core development discussion and commit log | This is the channel for developing Bitcoin Core. 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 https://gist.github.com/moneyball/071d608fdae217c2a6d7c35955881d8a",
  "current_topic": "wallet goals for 0.18",
  "messages": [
    {
      "id": "5fc399efcc334bcba99fd78f367df98e",
      "sender": "sipa",
      "payload": "#startmeeting",
      "action": false,
      "timestamp": "2019-01-25T19:08:58+00:00"
    },
    {
      "id": "b6dffcbd4a4b4feea19e7fb2d018b944",
      "sender": "lightningbot",
      "payload": "Meeting started Fri Jan 25 19:08:58 2019 UTC.  The chair is sipa. Information about MeetBot at http://wiki.debian.org/MeetBot.",
      "action": false,
      "timestamp": "2019-01-25T19:08:58+00:00"
    },
    {
      "id": "c947e7565a3a41bbaa6a6e06f407eb38",
      "sender": "lightningbot",
      "payload": "Useful Commands: #action #agreed #help #info #idea #link #topic.",
      "action": false,
      "timestamp": "2019-01-25T19:08:58+00:00"
    },
    {
      "id": "6889993c721e4730b4aca90ec7942689",
      "sender": "meshcollider",
      "payload": "Hi yeah my internet is very spotty so I probably won't be here for most of this sorry :)",
      "action": false,
      "timestamp": "2019-01-25T19:09:03+00:00"
    },
    {
      "id": "2b14662072614e05a5d93b56290372ec",
      "sender": "sipa",
      "payload": "okay",
      "action": false,
      "timestamp": "2019-01-25T19:09:20+00:00"
    },
    {
      "id": "9c30e12cae10451e8192064ffc6db94a",
      "sender": "provoostenator",
      "payload": "https://github.com/bitcoin/bitcoin/milestone/35",
      "action": false,
      "timestamp": "2019-01-25T19:09:53+00:00"
    },
    {
      "id": "4c82fb99ea09491fa995625742452f67",
      "sender": "sipa",
      "payload": "#topic wallet goals for 0.18",
      "action": false,
      "timestamp": "2019-01-25T19:09:58+00:00"
    },
    {
      "id": "000af6d4f2c742bc9e78a2a6c41b9829",
      "sender": "gmaxwell",
      "payload": "This is relevant",
      "action": false,
      "timestamp": "2019-01-25T19:10:26+00:00"
    },
    {
      "id": "765f85647a9d4126ae4a0380a6896fba",
      "sender": "gmaxwell",
      "payload": "00:45:35 < kallewoof> I can't make the meetings as always, but would like to add #13756 to priority for review list, unless people object. (ping",
      "action": false,
      "timestamp": "2019-01-25T19:10:27+00:00"
    },
    {
      "id": "4408c55705d74979956d2662051cd681",
      "sender": "gmaxwell",
      "payload": "wumpus fanquake ...)",
      "action": false,
      "timestamp": "2019-01-25T19:10:27+00:00"
    },
    {
      "id": "0a0efdc24f8042fc9e2e872ec84801a8",
      "sender": "gmaxwell",
      "payload": "00:45:38 < gribble> https://github.com/bitcoin/bitcoin/issues/13756 | wallet: \"avoid_reuse\" wallet flag for improved privacy by kallewoof \u00c3\u0082\u00c2\u00b7 Pull",
      "action": false,
      "timestamp": "2019-01-25T19:10:27+00:00"
    },
    {
      "id": "3cc1526da5cb481db429d81fe0732fae",
      "sender": "gmaxwell",
      "payload": "Request #13756 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2019-01-25T19:10:27+00:00"
    },
    {
      "id": "547bf114fba04864b96cf2228fcba073",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/13756 | wallet: \"avoid_reuse\" wallet flag for improved privacy by kallewoof \u00c3\u0082\u00c2\u00b7 Pull Request #13756 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2019-01-25T19:10:29+00:00"
    },
    {
      "id": "8ddbdb91d4f7482f98d7aa6fa49aa065",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/13756 | wallet: \"avoid_reuse\" wallet flag for improved privacy by kallewoof \u00c3\u0082\u00c2\u00b7 Pull Request #13756 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2019-01-25T19:10:32+00:00"
    },
    {
      "id": "f6d0448fb8a6429eafbc8b29a415718e",
      "sender": "provoostenator",
      "payload": "+1",
      "action": false,
      "timestamp": "2019-01-25T19:10:35+00:00"
    },
    {
      "id": "c9a0472c3a8e40dd991c9e95598e1884",
      "sender": "sipa",
      "payload": "gmaxwell: thanks",
      "action": false,
      "timestamp": "2019-01-25T19:10:40+00:00"
    },
    {
      "id": "ab33034a94314a0a9a35fe24562cf9bd",
      "sender": "sipa",
      "payload": "gwillen: will you have time in the near future to rebase/address comments in #14978 ?",
      "action": false,
      "timestamp": "2019-01-25T19:11:38+00:00"
    },
    {
      "id": "c4783fb161b844f7b4c221e0ad870073",
      "sender": "provoostenator",
      "payload": "I'd also love to get a number of pull requests into this release that would allow using achow101's HWI library:",
      "action": false,
      "timestamp": "2019-01-25T19:11:38+00:00"
    },
    {
      "id": "396e8549e5044153a8c4756be8518358",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/14978 | Factor out PSBT utilities from RPCs for use in GUI code; related refactoring. by gwillen \u00c3\u0082\u00c2\u00b7 Pull Request #14978 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2019-01-25T19:11:42+00:00"
    },
    {
      "id": "e96bdce2334449fc888ad03d230d7156",
      "sender": "provoostenator",
      "payload": "Though that may be a bit ambitious.",
      "action": false,
      "timestamp": "2019-01-25T19:12:12+00:00"
    },
    {
      "id": "a50dba90a38044a4ae9f4f0707571255",
      "sender": "achow101",
      "payload": "how likely is it for #14491, #14075, and #14021 to get into 0.18?",
      "action": false,
      "timestamp": "2019-01-25T19:12:18+00:00"
    },
    {
      "id": "3e21ae558dd24f1d95c59ce6aae6f302",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/14491 | Allow descriptor imports with importmulti by MeshCollider \u00c3\u0082\u00c2\u00b7 Pull Request #14491 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2019-01-25T19:12:22+00:00"
    },
    {
      "id": "86087013112144349ba2ff99380fef30",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/14075 | Import watch only pubkeys to the keypool if private keys are disabled by achow101 \u00c3\u0082\u00c2\u00b7 Pull Request #14075 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2019-01-25T19:12:25+00:00"
    },
    {
      "id": "5761c64797c142bc805c96935f0826f4",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/14021 | Import key origin data through descriptors in importmulti by achow101 \u00c3\u0082\u00c2\u00b7 Pull Request #14021 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2019-01-25T19:12:27+00:00"
    },
    {
      "id": "5aec84542e1b44c9a9be948118737a63",
      "sender": "achow101",
      "payload": "(those are required for HWI)",
      "action": false,
      "timestamp": "2019-01-25T19:12:38+00:00"
    },
    {
      "id": "78c41fe987924c8284214cc95b41edeb",
      "sender": "provoostenator",
      "payload": "I think descriptor imports is pretty close",
      "action": false,
      "timestamp": "2019-01-25T19:13:46+00:00"
    },
    {
      "id": "2bf3c201e46b4fa6b996cd4441448eb7",
      "sender": "gwillen",
      "payload": "sipa: yes, I will definitely try to go another round on 14978 ASAP",
      "action": false,
      "timestamp": "2019-01-25T19:14:07+00:00"
    },
    {
      "id": "12869dcef3c64ba9905930f665c071ac",
      "sender": "sipa",
      "payload": "i'm hoping to open a PR for signing with a descriptor soon, but ideally on top of your PR",
      "action": false,
      "timestamp": "2019-01-25T19:14:37+00:00"
    },
    {
      "id": "93d6f50f1e084baea6e7a5b0bf91c5fd",
      "sender": "provoostenator",
      "payload": "The key origin PR is tiny (on top of desciptor), with lots of tests",
      "action": false,
      "timestamp": "2019-01-25T19:14:44+00:00"
    },
    {
      "id": "90acd9835a3c430ab70bac3e19231a12",
      "sender": "sipa",
      "payload": "provoostenator: cool, so that should be easy once descriptor import is in",
      "action": false,
      "timestamp": "2019-01-25T19:15:02+00:00"
    },
    {
      "id": "69102f422de2490d98cf8c634c6edd38",
      "sender": "provoostenator",
      "payload": "The keypool import stuff still has me a bit in doubt what the right approach is.",
      "action": false,
      "timestamp": "2019-01-25T19:15:15+00:00"
    },
    {
      "id": "9be3ce74a235423aa0273db87fd7b75c",
      "sender": "achow101",
      "payload": "gwillen: I rebased and updated #13932 last night",
      "action": false,
      "timestamp": "2019-01-25T19:15:21+00:00"
    },
    {
      "id": "f252fce362c54d82bed382840a5e58e4",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/13932 | Additional utility RPCs for PSBT by achow101 \u00c3\u0082\u00c2\u00b7 Pull Request #13932 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2019-01-25T19:15:24+00:00"
    },
    {
      "id": "40063f46d39f47548806173d6826b8ab",
      "sender": "provoostenator",
      "payload": "I commented \"I would prefer if TopUpKeyPool can deal with imported keys.\", though I'm not sure how realistic that is without a complete wallet descriptor support redo.",
      "action": false,
      "timestamp": "2019-01-25T19:16:01+00:00"
    },
    {
      "id": "af31bec6645d4e47983698b5024b8e4d",
      "sender": "gmaxwell",
      "payload": "Is there anything we can do to head off funds loss from typos/copypaste errors with decriptor importing?  The use of descriptors as user/api handled key material seems like a step backward for Bitcoin,  as we're now introducing ways for simple typos (or clbuttic errors) to cause funds to go off to space.",
      "action": false,
      "timestamp": "2019-01-25T19:16:03+00:00"
    },
    {
      "id": "d837e2c18b804df1930a16960f0e6a62",
      "sender": "provoostenator",
      "payload": "gmaxwell: we could make importing descriptors without xpub fail, unless opted in?",
      "action": false,
      "timestamp": "2019-01-25T19:16:45+00:00"
    },
    {
      "id": "692d688c9c1e4bf0adbc5cf67d52c76d",
      "sender": "gwillen",
      "payload": "achow101: sweet, thanks! I will go look.",
      "action": false,
      "timestamp": "2019-01-25T19:16:53+00:00"
    },
    {
      "id": "fe3949e39393402d9f44c908fdea95b2",
      "sender": "provoostenator",
      "payload": "(xpub or other checksummed approach)",
      "action": false,
      "timestamp": "2019-01-25T19:16:59+00:00"
    },
    {
      "id": "4cb7cba8c33e469da56e65873b987574",
      "sender": "gwillen",
      "payload": "sipa: ok, I will prioritize, thanks",
      "action": false,
      "timestamp": "2019-01-25T19:17:07+00:00"
    },
    {
      "id": "eaa457f3e9214b2aa2344d68fea9e88a",
      "sender": "sipa",
      "payload": "gmaxwell: the xpubs inside descriptors have a checksum, though the paths/functions don't",
      "action": false,
      "timestamp": "2019-01-25T19:17:08+00:00"
    },
    {
      "id": "7d799341d34f4b4eb9260b3fff546867",
      "sender": "gmaxwell",
      "payload": "provoostenator: if the part of the descriptor outside of the xpub is corrupted funds are still lost.",
      "action": false,
      "timestamp": "2019-01-25T19:17:21+00:00"
    },
    {
      "id": "00129bcc68614df3ab2abf72c34e5ef8",
      "sender": "gmaxwell",
      "payload": "That may be a little less likely, but its still exposed.",
      "action": false,
      "timestamp": "2019-01-25T19:17:45+00:00"
    },
    {
      "id": "70635ab042fc435db5bf8580b8dedf75",
      "sender": "provoostenator",
      "payload": "That seems somewhat unlikely though for the most basic descriptors.",
      "action": false,
      "timestamp": "2019-01-25T19:17:52+00:00"
    },
    {
      "id": "d08135258dfa4398b100c9270226371c",
      "sender": "provoostenator",
      "payload": "Because the parser will fail, unless the error happens to produce another valid descriptor.",
      "action": false,
      "timestamp": "2019-01-25T19:18:19+00:00"
    },
    {
      "id": "7ee71f19b7764de2b641268f44659c38",
      "sender": "gmaxwell",
      "payload": "What does wsh(multi(3,xpub661MyMwAqRbcFW31YEwpkMuc5THy2PSt5bDMsktWQcFF8syAmRUapSCGu8ED9W6oDMSgv6Zz8idoc4a6mr8BDzTJY47LJhkJ8UB7WEGuduB/1/0/*,xpub69H7F5d8KSRgmmdJg2KhpAK8SR3DjMwAdkxj3ZuxV27CprR9LgpeyGmXUbC6wb7ERfvrnKZjXoUmmDznezpbZb7ap6r1D3tgFxHmwMkQTPH/0/0/*)) do?",
      "action": false,
      "timestamp": "2019-01-25T19:18:55+00:00"
    },
    {
      "id": "b209d8c64d7f4687943b6ff45cff6584",
      "sender": "gmaxwell",
      "payload": "(3 of 2 multisig)",
      "action": false,
      "timestamp": "2019-01-25T19:19:28+00:00"
    },
    {
      "id": "b0f5df5a41384238b38c3936877935ed",
      "sender": "provoostenator",
      "payload": "We could use the Electrum style xpub, ypub, zpub, etc-pub to indicate what type we expect the descriptor to be. But there's no software that could produce the data.",
      "action": false,
      "timestamp": "2019-01-25T19:19:32+00:00"
    },
    {
      "id": "f886761b71b84a8ab897da73ba860a02",
      "sender": "provoostenator",
      "payload": "(a generic problem if we had any kind of checksum mechanism to the descriptor language)",
      "action": false,
      "timestamp": "2019-01-25T19:20:08+00:00"
    },
    {
      "id": "d64d70e5469848c186137e28bfd25c6b",
      "sender": "gmaxwell",
      "payload": "in any case, filtering to xpubs unless overridden seems like a good idea, at least.",
      "action": false,
      "timestamp": "2019-01-25T19:20:21+00:00"
    },
    {
      "id": "f95ba632cd8c4c2bbc736e06ac9f8210",
      "sender": "gwillen",
      "payload": "given that the xpubs themselves already have a checksum, you could add a checksum of _just_ everything else to the end, it could be very short and still be sufficient",
      "action": false,
      "timestamp": "2019-01-25T19:20:44+00:00"
    },
    {
      "id": "f07481117a8645e18ea61afb75479c31",
      "sender": "sipa",
      "payload": "also, anything with a private key has a checksum",
      "action": false,
      "timestamp": "2019-01-25T19:20:46+00:00"
    },
    {
      "id": "27f26a91f3484303adf48d4741981a3c",
      "sender": "gmaxwell",
      "payload": "but it still seems far too dangerous to ever have users using directly to import keys.",
      "action": false,
      "timestamp": "2019-01-25T19:20:50+00:00"
    },
    {
      "id": "96484e3a140e44cfa86eb4a0c9f5857f",
      "sender": "provoostenator",
      "payload": "3 of 2 multisig should hopefully fail as an invalid descriptor?  Could be worth adding a test for that...",
      "action": false,
      "timestamp": "2019-01-25T19:20:59+00:00"
    },
    {
      "id": "1c6f78b7163b4d71a7128a95a4142311",
      "sender": "provoostenator",
      "payload": "gwillen: the problem is, what software will make the checksum? We'd have to define a standard for that too. Maybe that's a good thing.",
      "action": false,
      "timestamp": "2019-01-25T19:21:52+00:00"
    },
    {
      "id": "7d0b2519886841ccb32dd7cf074de0cb",
      "sender": "gmaxwell",
      "payload": "one could adjust the descriptor language to support a \",checksum\" at the end. Even if it just blindly supported them with the checkvalue truncated to facilitate editing, it would provide some protection against other corruption. I dunno.",
      "action": false,
      "timestamp": "2019-01-25T19:22:11+00:00"
    },
    {
      "id": "a20ddef6229c4b4fbe5e08ec1ed02278",
      "sender": "gwillen",
      "payload": "provoostenator: yeah, we would have to go \"oops, lack of checksum was an omission in the spec, new spec\"",
      "action": false,
      "timestamp": "2019-01-25T19:22:28+00:00"
    },
    {
      "id": "41a23f4af6394e91aa82b8bb50014207",
      "sender": "gmaxwell",
      "payload": "I don't really understand how it got to this point. When descriptors were first defined, I didn't expect them to be used for key management in liue of importing addresses.",
      "action": false,
      "timestamp": "2019-01-25T19:22:43+00:00"
    },
    {
      "id": "f7ba45ac3f724529af460da8e615cea4",
      "sender": "gwillen",
      "payload": "which makes sense if they are going to be an interchange format, which it seems they are otherwise well-suited for, except this issue",
      "action": false,
      "timestamp": "2019-01-25T19:22:44+00:00"
    },
    {
      "id": "a440a22a2117487fb81e8a469ebe5b47",
      "sender": "sipa",
      "payload": "gwillen: that's the great thing about not having a spec",
      "action": false,
      "timestamp": "2019-01-25T19:22:44+00:00"
    },
    {
      "id": "4190185da4e94474ab0af061c5a68cca",
      "sender": "achow101",
      "payload": "provoostenator: it's not like descriptors are really standardized yet though...",
      "action": false,
      "timestamp": "2019-01-25T19:22:53+00:00"
    },
    {
      "id": "819d2aa6516e4fafad604c13af81a42d",
      "sender": "gwillen",
      "payload": "sipa: :D",
      "action": false,
      "timestamp": "2019-01-25T19:22:54+00:00"
    },
    {
      "id": "ded2b2ed43534b10a9f18ac4f48bdc74",
      "sender": "gmaxwell",
      "payload": "I do worry about breaking editability. Though there could just be a simple utility(function) to recompute the checksum on any descriptor.",
      "action": false,
      "timestamp": "2019-01-25T19:23:22+00:00"
    },
    {
      "id": "ee5a4b1727ce4c858351dddbaa449095",
      "sender": "gmaxwell",
      "payload": "That you'd just use after editing, if you intended to edit.",
      "action": false,
      "timestamp": "2019-01-25T19:23:32+00:00"
    },
    {
      "id": "fee5f83057fe46f8aeb9798f05c5303c",
      "sender": "provoostenator",
      "payload": "gmaxwell: the optional ,checksum makes sense. And then importmulti could refuse descriptors without such checksum, unless \"I-know-what-I'm-doing\" is added to the command.",
      "action": false,
      "timestamp": "2019-01-25T19:23:38+00:00"
    },
    {
      "id": "53b386993f694a5290bd1b7e3513d717",
      "sender": "sipa",
      "payload": "provoostenator, gmaxwell: that seems reasonable",
      "action": false,
      "timestamp": "2019-01-25T19:23:49+00:00"
    },
    {
      "id": "3249260b69d24095a896bd48c11c9773",
      "sender": "sipa",
      "payload": "i don't mind breaking compatibility at this point",
      "action": false,
      "timestamp": "2019-01-25T19:24:13+00:00"
    },
    {
      "id": "6bcd50229ae84f6a8e3049cf280dd1b2",
      "sender": "provoostenator",
      "payload": "Yeah, we would need some utility to calculate the checksum for those making descriptors manually.",
      "action": false,
      "timestamp": "2019-01-25T19:24:19+00:00"
    },
    {
      "id": "a8a68728a0cf4fb1a8e8541b55cab283",
      "sender": "gmaxwell",
      "payload": "Seems straightforward.",
      "action": false,
      "timestamp": "2019-01-25T19:24:34+00:00"
    },
    {
      "id": "01a5d1936cea4f9fb3cdd53770921fd7",
      "sender": "sipa",
      "payload": "gmaxwell: i think i imagined initially that indeed there would be syntactic sugar encodings for common subsets of descriptors (like zpub etc) with checksums etc",
      "action": false,
      "timestamp": "2019-01-25T19:25:15+00:00"
    },
    {
      "id": "267d10301a454415980c0968b4933568",
      "sender": "sipa",
      "payload": "but it seems people (myself included) are pretty excited about having the descriptor itself be a visible thing... so adding a checksum to the descriptor itself makes sense",
      "action": false,
      "timestamp": "2019-01-25T19:25:59+00:00"
    },
    {
      "id": "7d1889f7fc42497ab2e08e82fec5e4c9",
      "sender": "gmaxwell",
      "payload": "Better to fix it now, if not later.   I wonder if we need the 'accept import override' if there is a utility function that just adds the checksum?",
      "action": false,
      "timestamp": "2019-01-25T19:26:18+00:00"
    },
    {
      "id": "47173a351bce4c83b601be81ea3425ba",
      "sender": "gmaxwell",
      "payload": "Yea, I think they're cool, I'm excited about having them available too.  Just dreading the footgun. But it seems there is a solution.",
      "action": false,
      "timestamp": "2019-01-25T19:26:45+00:00"
    },
    {
      "id": "1e9bcaf85d8746c7b29d71cb4ed4b936",
      "sender": "gwillen",
      "payload": "the voice in the back of my head worries about the checksum being an optional thing stuck on the end, that people will strip it or ignore it",
      "action": false,
      "timestamp": "2019-01-25T19:26:47+00:00"
    },
    {
      "id": "b922de2047d442118a1d09d25113ca92",
      "sender": "gwillen",
      "payload": "but I don't have a better idea in hand",
      "action": false,
      "timestamp": "2019-01-25T19:26:53+00:00"
    },
    {
      "id": "5f518c7d0ab74c24bc8b4ef7ed630583",
      "sender": "sipa",
      "payload": "fires up BCH code search?",
      "action": true,
      "timestamp": "2019-01-25T19:27:15+00:00"
    },
    {
      "id": "293f538d62f64cc89dbd1b984658974a",
      "sender": "gwillen",
      "payload": "there's no obvious better place to put it",
      "action": false,
      "timestamp": "2019-01-25T19:27:19+00:00"
    },
    {
      "id": "018ff28394724d71a316bb93fb04a917",
      "sender": "gmaxwell",
      "payload": "gwillen: well we could mandate it, and not have anything that ignores it, but have a utility function that regenerates.",
      "action": false,
      "timestamp": "2019-01-25T19:27:53+00:00"
    },
    {
      "id": "6a7c8a2b4af544b1a0a15fb8575dced7",
      "sender": "gmaxwell",
      "payload": "If someone wants to do extra work to screw themselves, oh well.",
      "action": false,
      "timestamp": "2019-01-25T19:28:05+00:00"
    },
    {
      "id": "29810d2f4ad5430cbb54f88d5dc3187d",
      "sender": "instagibbs",
      "payload": "Put bytes in pseudorandom places, annoying to extract and by then, might as well validate it",
      "action": false,
      "timestamp": "2019-01-25T19:28:08+00:00"
    },
    {
      "id": "ca5322cc6a684d87bef1ccbf825ed0da",
      "sender": "instagibbs",
      "payload": "(sarcasm font)",
      "action": false,
      "timestamp": "2019-01-25T19:28:15+00:00"
    },
    {
      "id": "60c3d6699a6247af9c321d6cc8f4abad",
      "sender": "gmaxwell",
      "payload": "But the default should be as safe as we can make it without undue tradeoffs.",
      "action": false,
      "timestamp": "2019-01-25T19:28:27+00:00"
    },
    {
      "id": "8d8fa2e43a894ed59648dbbada132ed6",
      "sender": "gmaxwell",
      "payload": "sipa: whats the character set of descriptors?",
      "action": false,
      "timestamp": "2019-01-25T19:28:46+00:00"
    },
    {
      "id": "95a35f75dd2c4bd7a837a4b530bbea79",
      "sender": "provoostenator",
      "payload": "Or you could design the descriptor language such that there's no way to accidentally break it with a N character mistake.",
      "action": false,
      "timestamp": "2019-01-25T19:28:53+00:00"
    },
    {
      "id": "33a3dfb379f347a8b6ae61a9700cac01",
      "sender": "gmaxwell",
      "payload": "sipa: (does it form a field...)",
      "action": false,
      "timestamp": "2019-01-25T19:29:16+00:00"
    },
    {
      "id": "956fa705acdd47b68983230ab475fcb2",
      "sender": "gmaxwell",
      "payload": "provoostenator: it's easy to do that if the number of candidate characters is a prime power. Otherwise we only know how to make it immune to a 1 character mistake.",
      "action": false,
      "timestamp": "2019-01-25T19:29:43+00:00"
    },
    {
      "id": "9e9ff4018f3c4eaa990dbac41421cf03",
      "sender": "provoostenator",
      "payload": "I'm in favor of prime power.",
      "action": false,
      "timestamp": "2019-01-25T19:30:03+00:00"
    },
    {
      "id": "7a73cc09293445578660eda5c57fc78f",
      "sender": "gmaxwell",
      "payload": "I don't think right now descriptors have a defined charset?",
      "action": false,
      "timestamp": "2019-01-25T19:30:33+00:00"
    },
    {
      "id": "8433e6af3b434fa8a4c99083c7ae19e3",
      "sender": "sipa",
      "payload": "gmaxwell: indeed",
      "action": false,
      "timestamp": "2019-01-25T19:30:38+00:00"
    },
    {
      "id": "1a60eb3ec6a94c1883b568590befb8c4",
      "sender": "sipa",
      "payload": "but at least 0-9 a-z A-Z / * [ ]",
      "action": false,
      "timestamp": "2019-01-25T19:30:49+00:00"
    },
    {
      "id": "5503d9b598c343f0bfe57d5fd187b858",
      "sender": "gmaxwell",
      "payload": "alphanum + some extras like /,()[]* ?",
      "action": false,
      "timestamp": "2019-01-25T19:30:54+00:00"
    },
    {
      "id": "0c3a24a48cc448d98be41ff573162c88",
      "sender": "gmaxwell",
      "payload": "oh right mixed case.",
      "action": false,
      "timestamp": "2019-01-25T19:31:02+00:00"
    },
    {
      "id": "b9da0de9f7bc4369be546c274d291781",
      "sender": "provoostenator",
      "payload": "Pubkeys and privkeys have defined charset, so you can include the checksum part of those in the total checksum? (or just checksum the whole thing)",
      "action": false,
      "timestamp": "2019-01-25T19:31:26+00:00"
    },
    {
      "id": "a938f5a0ae6d45a5a19cc1cd71457a5e",
      "sender": "gwillen",
      "payload": "can't you always just add \"virtual\" characters to the charset until you reach a prime power",
      "action": false,
      "timestamp": "2019-01-25T19:31:28+00:00"
    },
    {
      "id": "9c432cb9682443dfa6f861abd645900a",
      "sender": "gwillen",
      "payload": "at the expense of increasing checksum size a bit",
      "action": false,
      "timestamp": "2019-01-25T19:31:36+00:00"
    },
    {
      "id": "bc1f364104eb44c59848830699d40bb5",
      "sender": "gmaxwell",
      "payload": "Checksum can be defined over a smaller charset, with a folding routine so that outside of character set characters get treated as some inside set character for checksum purposes.",
      "action": false,
      "timestamp": "2019-01-25T19:31:56+00:00"
    },
    {
      "id": "d3469643c525439aa9986ddd765e9428",
      "sender": "gmaxwell",
      "payload": "gwillen: no, because the check digit could be one of those characters.",
      "action": false,
      "timestamp": "2019-01-25T19:32:11+00:00"
    },
    {
      "id": "0254af9dc1964083a74a0508296dc008",
      "sender": "gmaxwell",
      "payload": "You could however make the checksum base 25, encoded to alpha, and then fold all other characters to it... in any case, probably not something to hash out in the meeting.",
      "action": false,
      "timestamp": "2019-01-25T19:33:19+00:00"
    },
    {
      "id": "0540d5c93fe14cc9a2757040e786912e",
      "sender": "gmaxwell",
      "payload": "and doing something dumb (sha256, ugh) would be still better than nothing.",
      "action": false,
      "timestamp": "2019-01-25T19:33:38+00:00"
    },
    {
      "id": "bc8b7ef594bc48d6869f35c0eacbf8dc",
      "sender": "sipa",
      "payload": "we can reuse bech32 character set easily",
      "action": false,
      "timestamp": "2019-01-25T19:33:57+00:00"
    },
    {
      "id": "5221d898bca44429b4fce56f23b2b462",
      "sender": "sipa",
      "payload": "and use something like what bech32 does for the prefix",
      "action": false,
      "timestamp": "2019-01-25T19:34:11+00:00"
    },
    {
      "id": "ce79cc76cbf04d4191ff0d9ea1772ad2",
      "sender": "gmaxwell",
      "payload": "sipa: with the hrp han... right...",
      "action": false,
      "timestamp": "2019-01-25T19:34:22+00:00"
    },
    {
      "id": "826ece86a46b4d219669926614ebe656",
      "sender": "sipa",
      "payload": "(which works for all of ascii)",
      "action": false,
      "timestamp": "2019-01-25T19:34:25+00:00"
    },
    {
      "id": "5931278e1a284a3ea7c6b92ea90701cd",
      "sender": "gmaxwell",
      "payload": "doesn't have the great distance properties, but probably good enough.",
      "action": false,
      "timestamp": "2019-01-25T19:34:34+00:00"
    },
    {
      "id": "75dc170e9c2f43b1883ac0cb5af70c8d",
      "sender": "sipa",
      "payload": "before we move to a different topic... what general length of checksum are people thinking is acceptable?",
      "action": false,
      "timestamp": "2019-01-25T19:34:57+00:00"
    },
    {
      "id": "ea2dcd220a2347c5a8e184af3f96ad65",
      "sender": "gwillen",
      "payload": "how would people feel about the syntax being something like \"(descriptor,checksum)\" instead of \"descriptor,checksum\"",
      "action": false,
      "timestamp": "2019-01-25T19:35:07+00:00"
    },
    {
      "id": "f6764529e65144b1a4d98a52896b1f45",
      "sender": "gwillen",
      "payload": "adding two extra characters is kind of silly but it feels to me like it would make the checksum less likely to get lost in copy-paste confusion",
      "action": false,
      "timestamp": "2019-01-25T19:35:26+00:00"
    },
    {
      "id": "e686eea4622e4ad59441f5393b8bbcea",
      "sender": "gmaxwell",
      "payload": "sipa: descriptors are already long, I don't see a problem with adding 5-8 extra characters.",
      "action": false,
      "timestamp": "2019-01-25T19:35:58+00:00"
    },
    {
      "id": "fedb2a02f0e94f5199395b42a7baf1a6",
      "sender": "gwillen",
      "payload": "(also, the checksum charset should exclude \"()[]*/.\", it should be alphanum, for the same reason)",
      "action": false,
      "timestamp": "2019-01-25T19:36:18+00:00"
    },
    {
      "id": "1580288ceebf4f2c8e20837288e5a3e6",
      "sender": "provoostenator",
      "payload": "Sticking to bech32 characters would be nice.",
      "action": false,
      "timestamp": "2019-01-25T19:36:22+00:00"
    },
    {
      "id": "f1d76af0cb4b433fa4fa42516b64725b",
      "sender": "provoostenator",
      "payload": "Because longer term it's probably nice if desciptors can be printed as QR codes.",
      "action": false,
      "timestamp": "2019-01-25T19:36:42+00:00"
    },
    {
      "id": "ab83796f624647d3892f875cd03833f6",
      "sender": "provoostenator",
      "payload": "I'm thinking paper backups.",
      "action": false,
      "timestamp": "2019-01-25T19:36:50+00:00"
    },
    {
      "id": "a15303bd116c44438ed7a060bdb84502",
      "sender": "provoostenator",
      "payload": "(of pub keys)",
      "action": false,
      "timestamp": "2019-01-25T19:36:53+00:00"
    },
    {
      "id": "b80e9bf886674c659366784f850398d3",
      "sender": "gmaxwell",
      "payload": "I guess spaces are syntatically meaningless in descriptors? if so checksum should be computed after stripping them.",
      "action": false,
      "timestamp": "2019-01-25T19:37:05+00:00"
    },
    {
      "id": "caa8e9bf00124947bdef9f6b5acd6c07",
      "sender": "instagibbs",
      "payload": "spaces are currently rejected anywhere",
      "action": false,
      "timestamp": "2019-01-25T19:37:22+00:00"
    },
    {
      "id": "f9bd91b141c74f10bb7ae1289067810a",
      "sender": "instagibbs",
      "payload": "in Core",
      "action": false,
      "timestamp": "2019-01-25T19:37:26+00:00"
    },
    {
      "id": "7837f8286d7a407c83484c52702254b5",
      "sender": "gwillen",
      "payload": "oof, it would be good if descriptor format were canonical, no spaces",
      "action": false,
      "timestamp": "2019-01-25T19:37:27+00:00"
    },
    {
      "id": "d174673cf07c422185ae10e9eb25f528",
      "sender": "gmaxwell",
      "payload": "provoostenator: well unfortunately the other characters in descriptors make QR codes inefficient.",
      "action": false,
      "timestamp": "2019-01-25T19:37:29+00:00"
    },
    {
      "id": "609683e66b884cdbbafabbae9ec340b7",
      "sender": "gwillen",
      "payload": ":+1:",
      "action": false,
      "timestamp": "2019-01-25T19:37:30+00:00"
    },
    {
      "id": "190ab90346654ba785fcc6efc6356aa2",
      "sender": "gmaxwell",
      "payload": "oh okay, cool.",
      "action": false,
      "timestamp": "2019-01-25T19:37:34+00:00"
    },
    {
      "id": "01471237bb874d259506f6e53a3bc57d",
      "sender": "sipa",
      "payload": "gmaxwell: i think the parser will reject anything with spaces",
      "action": false,
      "timestamp": "2019-01-25T19:37:44+00:00"
    },
    {
      "id": "2599d483c69d468b933477304a3159f9",
      "sender": "instagibbs",
      "payload": "sipa, it will(I've lost time figuring this out)",
      "action": false,
      "timestamp": "2019-01-25T19:37:52+00:00"
    },
    {
      "id": "50c9407c57784e388f61dd7998c6e1e0",
      "sender": "instagibbs",
      "payload": "the error message is quite vague",
      "action": false,
      "timestamp": "2019-01-25T19:38:01+00:00"
    },
    {
      "id": "e8577db6030e455bbcec57f8adac1057",
      "sender": "gmaxwell",
      "payload": "instagibbs: improve error messages?",
      "action": false,
      "timestamp": "2019-01-25T19:38:03+00:00"
    },
    {
      "id": "369ce65cbfb64ec1866a3c5ad7f05f86",
      "sender": "instagibbs",
      "payload": "gmaxwell, yeah",
      "action": false,
      "timestamp": "2019-01-25T19:38:07+00:00"
    },
    {
      "id": "12c6990ed66f4fecafa2864f016a79e1",
      "sender": "gmaxwell",
      "payload": "sorry for the derail, but I'm glad there seems to be support for fixing this.",
      "action": false,
      "timestamp": "2019-01-25T19:38:33+00:00"
    },
    {
      "id": "b676d43dd228406897a100ec4ada4f7e",
      "sender": "sipa",
      "payload": "gmaxwell: fwiw, your 3-of-2 multisig descriptor is rejected",
      "action": false,
      "timestamp": "2019-01-25T19:39:01+00:00"
    },
    {
      "id": "aa3170ec9ddc4f1f8d8281d1736332b7",
      "sender": "instagibbs",
      "payload": "I mean you might accidentally do a wrong number or something, 1-of-2 instead of 2-of-2, similar failure",
      "action": false,
      "timestamp": "2019-01-25T19:39:37+00:00"
    },
    {
      "id": "195cd19fb93e4a4c8e0a88a013f57a59",
      "sender": "gmaxwell",
      "payload": "sipa: thats great.",
      "action": false,
      "timestamp": "2019-01-25T19:39:38+00:00"
    },
    {
      "id": "bbd48763d6cc4c1f9c992b06de3b4312",
      "sender": "gmaxwell",
      "payload": "or 2 of 2 instead of 1 of 2.",
      "action": false,
      "timestamp": "2019-01-25T19:39:50+00:00"
    },
    {
      "id": "d5f49b6ac9da4e2b9dbfdc2dfac81ba7",
      "sender": "gmaxwell",
      "payload": "sipa: is 0 of 2 rejected? :P",
      "action": false,
      "timestamp": "2019-01-25T19:39:57+00:00"
    },
    {
      "id": "bef3ca9cdd7e494e9b318396db1a613d",
      "sender": "sipa",
      "payload": "and i think p2sh descriptors with multisig redeemscripts over 510 bytes are also rejected",
      "action": false,
      "timestamp": "2019-01-25T19:39:59+00:00"
    },
    {
      "id": "6cf72f3dda74447bba02c697c0b9fa69",
      "sender": "sipa",
      "payload": "gmaxwell: yes, 0 of 2 is also rejected",
      "action": false,
      "timestamp": "2019-01-25T19:40:12+00:00"
    },
    {
      "id": "3dc1775435354d90a4fe09c08dc9a548",
      "sender": "gmaxwell",
      "payload": "The fact that a lot of mistakes will fail the parser also favors a weaker check.",
      "action": false,
      "timestamp": "2019-01-25T19:40:20+00:00"
    },
    {
      "id": "b483819991e84d72a6e0d512622106af",
      "sender": "sipa",
      "payload": "ok, let's move to a different topic",
      "action": false,
      "timestamp": "2019-01-25T19:40:32+00:00"
    },
    {
      "id": "31cedc5b7893496da0b50d1eade248bc",
      "sender": "sipa",
      "payload": "if there are others?",
      "action": false,
      "timestamp": "2019-01-25T19:40:36+00:00"
    },
    {
      "id": "02bf2065b894436e80e93bc26d6cb0ec",
      "sender": "gmaxwell",
      "payload": "Is anyone working on improving avoidpartialspends?",
      "action": false,
      "timestamp": "2019-01-25T19:43:01+00:00"
    },
    {
      "id": "7ef524624c734443b1152dc9e63edcb1",
      "sender": "jnewbery",
      "payload": "for wallet goals for v0.18, I'm hopeful we can finish multiwallet in the GUI",
      "action": false,
      "timestamp": "2019-01-25T19:43:02+00:00"
    },
    {
      "id": "26c4af4c0575489c85013f00c0737d1d",
      "sender": "jnewbery",
      "payload": "promag's been doing great work",
      "action": false,
      "timestamp": "2019-01-25T19:43:12+00:00"
    },
    {
      "id": "154b8981733448d38891ab536a3c569f",
      "sender": "gmaxwell",
      "payload": "It's off by default, which makes it kinda useless in terms of overall privacy effects.",
      "action": false,
      "timestamp": "2019-01-25T19:43:17+00:00"
    },
    {
      "id": "cf416a45d097465bbb65857e8eeda5e0",
      "sender": "sipa",
      "payload": "gmaxwell: what needs to be done?",
      "action": false,
      "timestamp": "2019-01-25T19:43:24+00:00"
    },
    {
      "id": "b0a8c4560ad44414be4a01fcc4c2548c",
      "sender": "gmaxwell",
      "payload": "sipa: It needs to grow a value threshold. \"Avoidpartialspends unless the fee would increase by more than X\"  which we could ship enabled.",
      "action": false,
      "timestamp": "2019-01-25T19:43:57+00:00"
    },
    {
      "id": "357ecb8d67cd40fb96cfdc9a05f6d5d8",
      "sender": "gmaxwell",
      "payload": "And privacy maniacs could turn it on unconditionally, but everyone would at least be happy with a threshold of 0. :P",
      "action": false,
      "timestamp": "2019-01-25T19:44:28+00:00"
    },
    {
      "id": "8e8abc52fdf04f2d9600278e75fc4b9e",
      "sender": "gmaxwell",
      "payload": "(I think we should set the threshold by default to the dust limit or something similar, the exact value doesn't matter too much)",
      "action": false,
      "timestamp": "2019-01-25T19:44:59+00:00"
    },
    {
      "id": "f08af2d584b64bd999a0ab19a17f0540",
      "sender": "gmaxwell",
      "payload": "Reminder: this is the wallet feature that causes it to try to spend all payments to a reused address at once.",
      "action": false,
      "timestamp": "2019-01-25T19:45:22+00:00"
    },
    {
      "id": "94f4f3c900e84bffa99a691ba5e8a9b8",
      "sender": "gmaxwell",
      "payload": "Doing so can cause higher fees, so its off by default, and as a reasult I doubt anyone uses it.",
      "action": false,
      "timestamp": "2019-01-25T19:45:50+00:00"
    },
    {
      "id": "fb6f0e73d7bb4835960cd72a43a5b453",
      "sender": "gmaxwell",
      "payload": "result*",
      "action": false,
      "timestamp": "2019-01-25T19:45:55+00:00"
    },
    {
      "id": "5214f55abb9c4eb2aeacbf5483b1e33f",
      "sender": "sipa",
      "payload": "right",
      "action": false,
      "timestamp": "2019-01-25T19:45:58+00:00"
    },
    {
      "id": "0e6a8bc57724454c8a641b294dd0ef76",
      "sender": "sipa",
      "payload": "i agree that makes it pretty pointless",
      "action": false,
      "timestamp": "2019-01-25T19:46:10+00:00"
    },
    {
      "id": "e1b9622757524a8588391c29c67c5bd7",
      "sender": "gmaxwell",
      "payload": "sometimes it doesn't even increase fees at all, I know of now reason why people wouldn't prefer it in at least that case.  But even when it causes higher fees, usually it's just pulling in fees from the future, not really paying more.",
      "action": false,
      "timestamp": "2019-01-25T19:46:59+00:00"
    },
    {
      "id": "81c6be720cee4f19ad3fc6ed3c30f9fd",
      "sender": "gmaxwell",
      "payload": "This returns to a larger open question about fees now vs fees later.",
      "action": false,
      "timestamp": "2019-01-25T19:47:14+00:00"
    },
    {
      "id": "8b9e48385c25465cb7dc6670065176b5",
      "sender": "sdaftuar",
      "payload": "gmaxwell: one concern i had with unconditional use of avoidpartialspends was edge cases with small value inputs.  eg i dust your wallet with junk, and cause you trouble",
      "action": false,
      "timestamp": "2019-01-25T19:47:45+00:00"
    },
    {
      "id": "a86082db5d1642e59809f376730e1036",
      "sender": "sdaftuar",
      "payload": "i think we mitigated that mostly, maybe entirely, with a cap on the number of inputs we could pull in?",
      "action": false,
      "timestamp": "2019-01-25T19:47:59+00:00"
    },
    {
      "id": "ae7c85f09c9041e1ac71224963ad124b",
      "sender": "gmaxwell",
      "payload": "and/or with a threshold you'll pay in extra fees?",
      "action": false,
      "timestamp": "2019-01-25T19:48:23+00:00"
    },
    {
      "id": "49a232936f3d45ca8d2d05ce8b9cd834",
      "sender": "sdaftuar",
      "payload": "yeah, we should just do that.",
      "action": false,
      "timestamp": "2019-01-25T19:48:32+00:00"
    },
    {
      "id": "695fbf33ad4b4db58cb6fcd48e43d6bc",
      "sender": "gmaxwell",
      "payload": "but I agree there should be a cap on the group size, but I'm not sure how best to do that.",
      "action": false,
      "timestamp": "2019-01-25T19:49:06+00:00"
    },
    {
      "id": "37b25118ae3843dc90d6d651ca72a3b7",
      "sender": "gmaxwell",
      "payload": "For the longer term question, I think eventually we want the wallet fee estimation to have an idea of \"fees expected to be higher/lower in the future\", and in response we should favor or disfavor including more inputs.",
      "action": false,
      "timestamp": "2019-01-25T19:50:11+00:00"
    },
    {
      "id": "8e0a47a4eb80438fb43ac7e0eadc1129",
      "sender": "sipa",
      "payload": "gmaxwell: don'",
      "action": false,
      "timestamp": "2019-01-25T19:50:24+00:00"
    },
    {
      "id": "37ecf089069c47e791a0cb593f31f2e3",
      "sender": "sipa",
      "payload": "gmaxwell: don't we already have that?",
      "action": false,
      "timestamp": "2019-01-25T19:50:28+00:00"
    },
    {
      "id": "f77dc45a4b2d4b8983dbd61198e6a3d3",
      "sender": "sipa",
      "payload": "(using long term fee estimation)",
      "action": false,
      "timestamp": "2019-01-25T19:50:40+00:00"
    },
    {
      "id": "24dd10e672ac4d74b5b4c6c98cb2ea9c",
      "sender": "gmaxwell",
      "payload": "I think we do in one really narrow case (we use the long term fee for estimating the cost of spending the change output in BNB)? I don't think we have it more generally.",
      "action": false,
      "timestamp": "2019-01-25T19:51:27+00:00"
    },
    {
      "id": "7bd005462e6d42d49cb02b74f09d2c3c",
      "sender": "gmaxwell",
      "payload": "I think because fees have been low most of the time in the last 6 months not a lot of attention is going to them, ... which is unfortunate at least in terms of right now would be a great time for wallets to be agressively aggregating.",
      "action": false,
      "timestamp": "2019-01-25T19:52:25+00:00"
    },
    {
      "id": "99abfb66c30b4b5fbf59390c5686a2a7",
      "sender": "gmaxwell",
      "payload": "(well not litterally right now, there are fees at the moment.. :P)",
      "action": false,
      "timestamp": "2019-01-25T19:53:08+00:00"
    },
    {
      "id": "cb637a46df7c44b7858fb67094da42e0",
      "sender": "sipa",
      "payload": "right",
      "action": false,
      "timestamp": "2019-01-25T19:53:35+00:00"
    },
    {
      "id": "07c78235b5ca4ae2a2bb285fedcbb5a7",
      "sender": "gmaxwell",
      "payload": "so okay well that would be a bonus feature for avoidpartial: use long term vs current to switch between threshold vs always on.",
      "action": false,
      "timestamp": "2019-01-25T19:54:21+00:00"
    },
    {
      "id": "678e0d58ba0a458d8293feb8c07d7685",
      "sender": "gmaxwell",
      "payload": "If fees are high only be willing to pay slightly more, if fees are low use it.",
      "action": false,
      "timestamp": "2019-01-25T19:54:55+00:00"
    },
    {
      "id": "5a78c14e86f843b5ac6210912a87325e",
      "sender": "jnewbery",
      "payload": "BitGo claim to already do 'predictive UTXO management' (ie use more inputs when fees are expected to be higher in future, and fewer inputs when fees are expected to be lower in future)",
      "action": false,
      "timestamp": "2019-01-25T19:55:50+00:00"
    },
    {
      "id": "ec34efeef17f44f0a1fe7520b88206ea",
      "sender": "gmaxwell",
      "payload": "it's been discussed a lot in the past, it's just not clear how well it can work without a human hand available to rescue it if it becomes stupid.",
      "action": false,
      "timestamp": "2019-01-25T19:56:26+00:00"
    },
    {
      "id": "a0199f5c3c3149bdb41ba830ad2206db",
      "sender": "gmaxwell",
      "payload": "It's a lot easier to do smart stuff if you can count on an expert non-artifical-intelligence to override if it goes dumb, you don't have to solve ever corner case or potential avenue for abuse.",
      "action": false,
      "timestamp": "2019-01-25T19:57:17+00:00"
    },
    {
      "id": "2efd1cf23c404f5eaeb1e565eecf8e94",
      "sender": "bitcoin-git",
      "payload": "[bitcoin] jamesob opened pull request #15264: validation: remove useless uncache accounting in ATMPW (master...2019-01-remove-useless-uncaching-atmpw) https://github.com/bitcoin/bitcoin/pull/15264",
      "action": false,
      "timestamp": "2019-01-25T19:58:15+00:00"
    },
    {
      "id": "9f6383744ec247b29ae3335d042effd4",
      "sender": "sipa",
      "payload": "last half minute topic?",
      "action": false,
      "timestamp": "2019-01-25T19:59:48+00:00"
    },
    {
      "id": "c722b22fc91941d3996c7bc9456882b0",
      "sender": "sipa",
      "payload": "#endmeeting",
      "action": false,
      "timestamp": "2019-01-25T20:00:25+00:00"
    }
  ],
  "events": [
    {
      "event_type": "START_MEETING",
      "message": {
        "id": "5fc399efcc334bcba99fd78f367df98e",
        "sender": "sipa",
        "payload": "#startmeeting",
        "action": false,
        "timestamp": "2019-01-25T19:08:58+00:00"
      },
      "operand": null,
      "id": "5fc399efcc334bcba99fd78f367df98e",
      "timestamp": "2019-01-25T19:08:58+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "9c30e12cae10451e8192064ffc6db94a",
        "sender": "provoostenator",
        "payload": "https://github.com/bitcoin/bitcoin/milestone/35",
        "action": false,
        "timestamp": "2019-01-25T19:09:53+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/milestone/35",
      "id": "9c30e12cae10451e8192064ffc6db94a",
      "timestamp": "2019-01-25T19:09:53+00:00"
    },
    {
      "event_type": "TOPIC",
      "message": {
        "id": "4c82fb99ea09491fa995625742452f67",
        "sender": "sipa",
        "payload": "#topic wallet goals for 0.18",
        "action": false,
        "timestamp": "2019-01-25T19:09:58+00:00"
      },
      "operand": "wallet goals for 0.18",
      "id": "4c82fb99ea09491fa995625742452f67",
      "timestamp": "2019-01-25T19:09:58+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "547bf114fba04864b96cf2228fcba073",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/13756 | wallet: \"avoid_reuse\" wallet flag for improved privacy by kallewoof \u00c3\u0082\u00c2\u00b7 Pull Request #13756 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2019-01-25T19:10:29+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/13756",
      "id": "547bf114fba04864b96cf2228fcba073",
      "timestamp": "2019-01-25T19:10:29+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "8ddbdb91d4f7482f98d7aa6fa49aa065",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/13756 | wallet: \"avoid_reuse\" wallet flag for improved privacy by kallewoof \u00c3\u0082\u00c2\u00b7 Pull Request #13756 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2019-01-25T19:10:32+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/13756",
      "id": "8ddbdb91d4f7482f98d7aa6fa49aa065",
      "timestamp": "2019-01-25T19:10:32+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "396e8549e5044153a8c4756be8518358",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/14978 | Factor out PSBT utilities from RPCs for use in GUI code; related refactoring. by gwillen \u00c3\u0082\u00c2\u00b7 Pull Request #14978 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2019-01-25T19:11:42+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/14978",
      "id": "396e8549e5044153a8c4756be8518358",
      "timestamp": "2019-01-25T19:11:42+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "3e21ae558dd24f1d95c59ce6aae6f302",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/14491 | Allow descriptor imports with importmulti by MeshCollider \u00c3\u0082\u00c2\u00b7 Pull Request #14491 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2019-01-25T19:12:22+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/14491",
      "id": "3e21ae558dd24f1d95c59ce6aae6f302",
      "timestamp": "2019-01-25T19:12:22+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "86087013112144349ba2ff99380fef30",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/14075 | Import watch only pubkeys to the keypool if private keys are disabled by achow101 \u00c3\u0082\u00c2\u00b7 Pull Request #14075 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2019-01-25T19:12:25+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/14075",
      "id": "86087013112144349ba2ff99380fef30",
      "timestamp": "2019-01-25T19:12:25+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "5761c64797c142bc805c96935f0826f4",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/14021 | Import key origin data through descriptors in importmulti by achow101 \u00c3\u0082\u00c2\u00b7 Pull Request #14021 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2019-01-25T19:12:27+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/14021",
      "id": "5761c64797c142bc805c96935f0826f4",
      "timestamp": "2019-01-25T19:12:27+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "f252fce362c54d82bed382840a5e58e4",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/13932 | Additional utility RPCs for PSBT by achow101 \u00c3\u0082\u00c2\u00b7 Pull Request #13932 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2019-01-25T19:15:24+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/13932",
      "id": "f252fce362c54d82bed382840a5e58e4",
      "timestamp": "2019-01-25T19:15:24+00:00"
    },
    {
      "event_type": "END_MEETING",
      "message": {
        "id": "c722b22fc91941d3996c7bc9456882b0",
        "sender": "sipa",
        "payload": "#endmeeting",
        "action": false,
        "timestamp": "2019-01-25T20:00:25+00:00"
      },
      "operand": null,
      "id": "c722b22fc91941d3996c7bc9456882b0",
      "timestamp": "2019-01-25T20:00:25+00:00"
    }
  ],
  "aliases": {},
  "vote_in_progress": false,
  "motion_index": null
}