{
  "founder": "meshcollider",
  "channel": "#bitcoin-core-dev",
  "network": "freenode",
  "id": "bd8615b5e99147a4bd66e4410a7b9a65",
  "name": "#bitcoin-core-dev",
  "chair": "meshcollider",
  "chairs": [
    "meshcollider"
  ],
  "nicks": {
    "meshcollider": 20,
    "lightningbot": 2,
    "sipa": 12,
    "kanzure": 1,
    "provoostenator": 52,
    "promag": 6,
    "gribble": 7,
    "gmaxwell": 1,
    "achow101": 11
  },
  "start_time": "2018-11-30T19:06:29+00:00",
  "end_time": "2018-11-30T19:52:53+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/",
  "current_topic": "externals signers API",
  "messages": [
    {
      "id": "6447e7f38ca34b36a08d59f7d9a6ba50",
      "sender": "meshcollider",
      "payload": "#startmeeting",
      "action": false,
      "timestamp": "2018-11-30T19:06:29+00:00"
    },
    {
      "id": "02b63e3ae33a40e29948374e2025da85",
      "sender": "lightningbot",
      "payload": "Meeting started Fri Nov 30 19:06:29 2018 UTC.  The chair is meshcollider. Information about MeetBot at http://wiki.debian.org/MeetBot.",
      "action": false,
      "timestamp": "2018-11-30T19:06:29+00:00"
    },
    {
      "id": "f3e131c1705c42b6b34606a9be9f6c7b",
      "sender": "lightningbot",
      "payload": "Useful Commands: #action #agreed #help #info #idea #link #topic.",
      "action": false,
      "timestamp": "2018-11-30T19:06:29+00:00"
    },
    {
      "id": "28fe84307bec46e88134b121ad6f731d",
      "sender": "sipa",
      "payload": "go ahead :)",
      "action": false,
      "timestamp": "2018-11-30T19:06:30+00:00"
    },
    {
      "id": "9686a29029064e2786568baf56f1e962",
      "sender": "kanzure",
      "payload": "hi.",
      "action": false,
      "timestamp": "2018-11-30T19:06:40+00:00"
    },
    {
      "id": "c42febd184d64c7c8cb7eb9c0124e572",
      "sender": "provoostenator",
      "payload": "hi",
      "action": false,
      "timestamp": "2018-11-30T19:06:43+00:00"
    },
    {
      "id": "0f16ad107de24c2099daf45cbbecedd3",
      "sender": "promag",
      "payload": "hi, again",
      "action": false,
      "timestamp": "2018-11-30T19:06:50+00:00"
    },
    {
      "id": "8a3678c6456a4b73a9f7f72f742015cd",
      "sender": "meshcollider",
      "payload": "#topic wallet specific configuration",
      "action": false,
      "timestamp": "2018-11-30T19:07:12+00:00"
    },
    {
      "id": "d1302a1b63e74bfc9a1d6eafb3404457",
      "sender": "provoostenator",
      "payload": "(to resume from above) some of these settings are booleans which can be built on top of the flag setter/getter added in #13756",
      "action": false,
      "timestamp": "2018-11-30T19:08:00+00:00"
    },
    {
      "id": "5330aa73e00044559d146b859a652779",
      "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": "2018-11-30T19:08:05+00:00"
    },
    {
      "id": "a4bdab5affb1476a8c536ddd5f802fc4",
      "sender": "provoostenator",
      "payload": "Other things are strings, so would require a little more work, a new RPC method similar to setwalletflag (or we rename it).",
      "action": false,
      "timestamp": "2018-11-30T19:09:19+00:00"
    },
    {
      "id": "3dd152fdc82448ec91bc439935c9e536",
      "sender": "meshcollider",
      "payload": "jnewbery's issue is #13044 right",
      "action": false,
      "timestamp": "2018-11-30T19:10:30+00:00"
    },
    {
      "id": "fcfc956365e442b8abb4cc818bdaf3ca",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/13044 | [RFC] Long term plan for wallet command-line args \u00c3\u0082\u00c2\u00b7 Issue #13044 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2018-11-30T19:10:32+00:00"
    },
    {
      "id": "bd74b031b9894c67bd4fa5587aa38f06",
      "sender": "gmaxwell",
      "payload": "Sometimes things that are booleans eventually get more settings, avoid reuse, case in point, is likely to evolve into a treshold of how much extra you're willing to pay to avoid reuse.",
      "action": false,
      "timestamp": "2018-11-30T19:10:33+00:00"
    },
    {
      "id": "12e4d5364c7244e7abde68c296ef8f1a",
      "sender": "provoostenator",
      "payload": "Which suggests we should rename setwalletflag to something more generic like setwalletconfig?",
      "action": false,
      "timestamp": "2018-11-30T19:11:10+00:00"
    },
    {
      "id": "a88267ed987c426ea6ffcded98334ec0",
      "sender": "provoostenator",
      "payload": "sipa: does your wallet overhaul ambition include completely changing the way data is stored in it, or can we just add this type of setting data without getting in the way of the descriptor refactor?",
      "action": false,
      "timestamp": "2018-11-30T19:13:03+00:00"
    },
    {
      "id": "d63b645c01f3447d8ebecf9b903d2f31",
      "sender": "meshcollider",
      "payload": "I believe the plan is just to slowly migrate the actual keys and scripts at the moment, no change to the rest",
      "action": false,
      "timestamp": "2018-11-30T19:14:00+00:00"
    },
    {
      "id": "7e747e6591bb480ab529be7f29fb5fda",
      "sender": "meshcollider",
      "payload": "Perhaps this config change should be taken out into its own PR though if it's going to become more independent",
      "action": false,
      "timestamp": "2018-11-30T19:15:09+00:00"
    },
    {
      "id": "03f2024902d24d35b4203f2008253642",
      "sender": "provoostenator",
      "payload": "Or we change it later, but before the next release.",
      "action": false,
      "timestamp": "2018-11-30T19:16:02+00:00"
    },
    {
      "id": "bb078df28e92404ba8e2c0966b2f63fd",
      "sender": "promag",
      "payload": "could start to add support for per-wallet options (which take the global option value) - which affects RPC and UI - then discuss how to load/store them?",
      "action": false,
      "timestamp": "2018-11-30T19:16:11+00:00"
    },
    {
      "id": "91a3f3997c774958a20ba085f6773b8a",
      "sender": "provoostenator",
      "payload": "Though that's always scary",
      "action": false,
      "timestamp": "2018-11-30T19:16:13+00:00"
    },
    {
      "id": "329ec3b0e4204cd18600d4a0f21f1f25",
      "sender": "sipa",
      "payload": "provoostenator: i have no intention of touching anything but keys/scripts",
      "action": false,
      "timestamp": "2018-11-30T19:16:34+00:00"
    },
    {
      "id": "93bf8e15bf5a4b22bcda0d54590c4b5c",
      "sender": "provoostenator",
      "payload": "promag: storing the settings in the wallet should be great for GUI development, way less tedious than dealing with gArgs",
      "action": false,
      "timestamp": "2018-11-30T19:17:16+00:00"
    },
    {
      "id": "aa646636d1da409f8cc617bf1615cbb6",
      "sender": "promag",
      "payload": "dumb question: do old versions destroy unknown records in wallets?",
      "action": false,
      "timestamp": "2018-11-30T19:17:45+00:00"
    },
    {
      "id": "86221ed26aa2470088498198cc266bd6",
      "sender": "provoostenator",
      "payload": "We just need a generic way to store a map of settings.",
      "action": false,
      "timestamp": "2018-11-30T19:17:46+00:00"
    },
    {
      "id": "31dc5c1e999e48fea8febc9868ea865c",
      "sender": "provoostenator",
      "payload": "Not sure, but you can always bump the wallet version to prevent that AFAIK.",
      "action": false,
      "timestamp": "2018-11-30T19:18:03+00:00"
    },
    {
      "id": "ff7089e1e96d4258a41c4a0d744f2372",
      "sender": "sipa",
      "payload": "promag: no",
      "action": false,
      "timestamp": "2018-11-30T19:19:13+00:00"
    },
    {
      "id": "2858d642013a4768b4c016cb9255868a",
      "sender": "provoostenator",
      "payload": "How old wallets deal with new payloads is the kind of thing we can test with #12134 (shameless plug).",
      "action": false,
      "timestamp": "2018-11-30T19:19:36+00:00"
    },
    {
      "id": "8c0cf9d92b18487c9e353d95bfffb766",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/12134 | Build previous releases and run functional tests by Sjors \u00c3\u0082\u00c2\u00b7 Pull Request #12134 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2018-11-30T19:19:40+00:00"
    },
    {
      "id": "dd4c4ef1f50140b1b869b83f426e3908",
      "sender": "provoostenator",
      "payload": "*old clients",
      "action": false,
      "timestamp": "2018-11-30T19:19:48+00:00"
    },
    {
      "id": "4d221fd3aae24697a05279e4e7e09a61",
      "sender": "provoostenator",
      "payload": "I might at some point volunteer to write this generic settings stuff, but feel free to beat me to it.",
      "action": false,
      "timestamp": "2018-11-30T19:21:08+00:00"
    },
    {
      "id": "6a732ddae0ba46069fbde5e281ff89dc",
      "sender": "meshcollider",
      "payload": "Sounds good",
      "action": false,
      "timestamp": "2018-11-30T19:21:44+00:00"
    },
    {
      "id": "83e61ea0699e4ac5b2511dc355272502",
      "sender": "meshcollider",
      "payload": "Ok next topic then?",
      "action": false,
      "timestamp": "2018-11-30T19:21:53+00:00"
    },
    {
      "id": "7306e4f192b349c589f8564a61bef9e5",
      "sender": "provoostenator",
      "payload": "But I think it's the cleanest way to add information about hardware wallets to specific wallets.",
      "action": false,
      "timestamp": "2018-11-30T19:21:58+00:00"
    },
    {
      "id": "c50394760fc1419ebedb9ef33c6679fd",
      "sender": "achow101",
      "payload": "i think jonasschnelli added a bit field of features supported with the privkey disabled stuff, so we could have the per wallet options already",
      "action": false,
      "timestamp": "2018-11-30T19:22:45+00:00"
    },
    {
      "id": "e1ec6f8a6d4842f89955c8ab5f81dc7a",
      "sender": "provoostenator",
      "payload": "achow101 correct, and 13756 ^ adds avoid_reuse as another flag, but flags can only be boolean.",
      "action": false,
      "timestamp": "2018-11-30T19:23:24+00:00"
    },
    {
      "id": "288d69e7c80c40cfbc4d0b1aefd11800",
      "sender": "provoostenator",
      "payload": "In addition that PR adds getters and setters for these flags.",
      "action": false,
      "timestamp": "2018-11-30T19:24:01+00:00"
    },
    {
      "id": "3a398a8e73b2431b90db388314ea41b0",
      "sender": "promag",
      "payload": "#13756",
      "action": false,
      "timestamp": "2018-11-30T19:24:27+00:00"
    },
    {
      "id": "ae907a59bd574259b4b3dbd8a513d8ca",
      "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": "2018-11-30T19:24:30+00:00"
    },
    {
      "id": "6502ff7e005b4cb7bdc76a5cdd6e7df0",
      "sender": "provoostenator",
      "payload": "(next topic works for me)",
      "action": false,
      "timestamp": "2018-11-30T19:25:01+00:00"
    },
    {
      "id": "60ef489529284418b50ad9720ab2ec6f",
      "sender": "achow101",
      "payload": "related to that, we should make the address type and change type a wallet specific setting",
      "action": false,
      "timestamp": "2018-11-30T19:25:18+00:00"
    },
    {
      "id": "4f9d94105a8244f6a39f2ade71124adb",
      "sender": "achow101",
      "payload": "but that doesn't work well as a boolean, so it would need it's own field",
      "action": false,
      "timestamp": "2018-11-30T19:25:32+00:00"
    },
    {
      "id": "f411b79d4b3149cc8c69cb7c1e0becf1",
      "sender": "provoostenator",
      "payload": "achow101: indeed, plus this whole list: #13044",
      "action": false,
      "timestamp": "2018-11-30T19:25:47+00:00"
    },
    {
      "id": "67186859f3dc485cae22122d86085551",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/13044 | [RFC] Long term plan for wallet command-line args \u00c3\u0082\u00c2\u00b7 Issue #13044 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2018-11-30T19:25:48+00:00"
    },
    {
      "id": "a4c3dab2ecd7411f85325745178baed3",
      "sender": "meshcollider",
      "payload": "Yeah John's issue covers that",
      "action": false,
      "timestamp": "2018-11-30T19:26:09+00:00"
    },
    {
      "id": "654fbae46b3640109ac6e67967dbea55",
      "sender": "provoostenator",
      "payload": "Yes, now you're repeating the entire thing above :-)",
      "action": false,
      "timestamp": "2018-11-30T19:26:11+00:00"
    },
    {
      "id": "1d2d2234e2f94ce1b24dc29a498e8973",
      "sender": "achow101",
      "payload": "ah, there's an issue tracking this",
      "action": false,
      "timestamp": "2018-11-30T19:26:21+00:00"
    },
    {
      "id": "1d8cbf31ea134ec7983d961a8d26d940",
      "sender": "achow101",
      "payload": "cool",
      "action": false,
      "timestamp": "2018-11-30T19:26:23+00:00"
    },
    {
      "id": "cc725ff62fdf43759baa4358dd421115",
      "sender": "meshcollider",
      "payload": "Ok let's move on",
      "action": false,
      "timestamp": "2018-11-30T19:26:23+00:00"
    },
    {
      "id": "858a73d452574c92ab3a22c6bcd9db3e",
      "sender": "meshcollider",
      "payload": "#topic rw_config progress (provoostenator)",
      "action": false,
      "timestamp": "2018-11-30T19:26:25+00:00"
    },
    {
      "id": "b02095a056964bc99cb12ffcdfb5f43a",
      "sender": "provoostenator",
      "payload": "#11082",
      "action": false,
      "timestamp": "2018-11-30T19:26:55+00:00"
    },
    {
      "id": "477425eec97d49d0bbe6a0c45d70cfd5",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/11082 | Add new bitcoin_rw.conf file that is used for settings modified by this software itself by luke-jr \u00c3\u0082\u00c2\u00b7 Pull Request #11082 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2018-11-30T19:26:58+00:00"
    },
    {
      "id": "3751760d9c234c30a4ab377e23e1c648",
      "sender": "provoostenator",
      "payload": "This is great. I build some QT stuff on top of it, which makes me reluctant to touch any settings related UI until that's merged.",
      "action": false,
      "timestamp": "2018-11-30T19:27:23+00:00"
    },
    {
      "id": "e9a3c8c2248e48fa9693142ca8a2d32b",
      "sender": "provoostenator",
      "payload": "Maybe more people can review it before hopefully a final rebase?",
      "action": false,
      "timestamp": "2018-11-30T19:28:56+00:00"
    },
    {
      "id": "eefa2091a0d74847920d56d07f5ebaf5",
      "sender": "provoostenator",
      "payload": "In ancient version of this PR luke-jr added a whole bunch of settings from Knots along with this. That was too much at once, but the idea of making it easier to add more settings to the GUI is certainly appealing.",
      "action": false,
      "timestamp": "2018-11-30T19:30:29+00:00"
    },
    {
      "id": "d7e18f1672c44e5ca733335b720581f2",
      "sender": "promag",
      "payload": "provoostenator: probably rebasing first is better?",
      "action": false,
      "timestamp": "2018-11-30T19:30:49+00:00"
    },
    {
      "id": "2416a5a4a6e54fd4bb2381a120f78c19",
      "sender": "promag",
      "payload": "provoostenator: but I'll take a look too",
      "action": false,
      "timestamp": "2018-11-30T19:31:05+00:00"
    },
    {
      "id": "3e178bf053e747e38251572c27919c10",
      "sender": "provoostenator",
      "payload": "Well, he already did that two weeks ago.",
      "action": false,
      "timestamp": "2018-11-30T19:31:08+00:00"
    },
    {
      "id": "4e3b7de7247e42f2b32d33e12fb73d11",
      "sender": "meshcollider",
      "payload": "This isn't wallet specific, but I'll take a look too yep",
      "action": false,
      "timestamp": "2018-11-30T19:31:29+00:00"
    },
    {
      "id": "d019d1c8b4694b44a69112ecbb872414",
      "sender": "achow101",
      "payload": "topic suggestion: external signers api (provoostenator's idea mentioned earlier)",
      "action": false,
      "timestamp": "2018-11-30T19:31:42+00:00"
    },
    {
      "id": "c492f83a514f4942bf8dc447f497550a",
      "sender": "provoostenator",
      "payload": "True, though I'd say 99% of GUI users are using it as a wallet, and it's blocking wallet stuff.",
      "action": false,
      "timestamp": "2018-11-30T19:32:02+00:00"
    },
    {
      "id": "a6c18755608a480fa02ed88b641035dc",
      "sender": "meshcollider",
      "payload": "Perhaps we can add it to high priority once Luke's getbalance stuff is gone :)",
      "action": false,
      "timestamp": "2018-11-30T19:33:04+00:00"
    },
    {
      "id": "1db709fcf55d4a028cd11e56e1eb37ea",
      "sender": "meshcollider",
      "payload": "#topic externals signers API",
      "action": false,
      "timestamp": "2018-11-30T19:33:25+00:00"
    },
    {
      "id": "356b6d2a6d7145e68e05ff2c9194d3c4",
      "sender": "provoostenator",
      "payload": "I wrote a document to describe what hardware wallet signing RPC calls could look like, what the hardware script should do (mostly achow101's HWI already does), and how that all ties together: https://github.com/Sjors/bitcoin/blob/2018/11/rpc-signer/doc/external-signer.md",
      "action": false,
      "timestamp": "2018-11-30T19:33:34+00:00"
    },
    {
      "id": "c7dcc94ffc51455b897b1a0a4dc73b7b",
      "sender": "provoostenator",
      "payload": "And when I say \"hardware\" I mean any program that can sign things.",
      "action": false,
      "timestamp": "2018-11-30T19:33:52+00:00"
    },
    {
      "id": "7132efb815d341068433952056db65c1",
      "sender": "provoostenator",
      "payload": "So could also be a remote multisig service that sends you a bunch of text messages with a cool down period. But local hardware is the easiest.",
      "action": false,
      "timestamp": "2018-11-30T19:34:23+00:00"
    },
    {
      "id": "e00b45d7f29947ce87ab3ce29457ae3a",
      "sender": "achow101",
      "payload": "if we were to include hwi now, the commands used would have to have a bunch of flags",
      "action": false,
      "timestamp": "2018-11-30T19:34:39+00:00"
    },
    {
      "id": "ead9d6c25fa9456c80591d36e394506d",
      "sender": "provoostenator",
      "payload": "The way I see it we wouldn't include HWI in Core, at least not yet. The user would be expected to download HWI or alternative on their own.",
      "action": false,
      "timestamp": "2018-11-30T19:35:21+00:00"
    },
    {
      "id": "49640f395882486aa5c6886562ad8707",
      "sender": "achow101",
      "payload": "so some genralized api using descriptors would be useful, especially for having other external signers other than hwi. so someone could write their own program for their hardware device drivers and not have to repliacte all of the same options",
      "action": false,
      "timestamp": "2018-11-30T19:35:41+00:00"
    },
    {
      "id": "c6d1d2cc42e74982ba8ceea318f19c7c",
      "sender": "achow101",
      "payload": "the only problem i see is that a descriptor requires knowledge of keys, but you may not have knowledge of keys to begin with to get the descriptor",
      "action": false,
      "timestamp": "2018-11-30T19:36:28+00:00"
    },
    {
      "id": "809cd45eb4714c3aba8718bbe9337bc2",
      "sender": "provoostenator",
      "payload": "I introduced the concept of a pseudo-descriptor (see \"Signer API\") to get around that.",
      "action": false,
      "timestamp": "2018-11-30T19:36:48+00:00"
    },
    {
      "id": "bd88c002d86d4e2d8af0f409ad26daba",
      "sender": "provoostenator",
      "payload": "E.g. wpkh(00000000/84h/1h/0h/0/*) means \"gimme all the receive keys\"",
      "action": false,
      "timestamp": "2018-11-30T19:37:19+00:00"
    },
    {
      "id": "9e1e33d76d6c49ffa89ba4ff5d86b2de",
      "sender": "provoostenator",
      "payload": "The answer to which would be an actual descriptor, or an array of descriptors if the final derivation is hardened.",
      "action": false,
      "timestamp": "2018-11-30T19:37:42+00:00"
    },
    {
      "id": "4089e505270745e6a7e0691ed28d4889",
      "sender": "sipa",
      "payload": "why is it not an actual descriptor?",
      "action": false,
      "timestamp": "2018-11-30T19:38:07+00:00"
    },
    {
      "id": "38f7adc954d44b80b4e3fb80c4eca0c3",
      "sender": "sipa",
      "payload": "(only half following)",
      "action": false,
      "timestamp": "2018-11-30T19:38:13+00:00"
    },
    {
      "id": "310598021b534160b6595691b142ff1a",
      "sender": "provoostenator",
      "payload": "The flow is as follows:",
      "action": false,
      "timestamp": "2018-11-30T19:38:20+00:00"
    },
    {
      "id": "bcfe05569ac844b090e487554abd79ad",
      "sender": "achow101",
      "payload": "sipa: you don't have the keys yet, you are trying to get them",
      "action": false,
      "timestamp": "2018-11-30T19:38:21+00:00"
    },
    {
      "id": "8dd1a0e0629347edbfe7989e062e5682",
      "sender": "provoostenator",
      "payload": "Wallet asks driver for a list of devices, and their master fingerprin",
      "action": false,
      "timestamp": "2018-11-30T19:38:34+00:00"
    },
    {
      "id": "92055d0e9f124f50a688cad111d9c4c0",
      "sender": "provoostenator",
      "payload": "Wallet asks driver for keys given a master fingerprint and derivation hints",
      "action": false,
      "timestamp": "2018-11-30T19:38:59+00:00"
    },
    {
      "id": "d9c8eccc9fb54d1291eb6a6f39da1bff",
      "sender": "sipa",
      "payload": "the wallet should just ask the driver for a descriptor for its receive addresses?",
      "action": false,
      "timestamp": "2018-11-30T19:39:00+00:00"
    },
    {
      "id": "5c38a10069c94d4b9a860cee23ba78e4",
      "sender": "meshcollider",
      "payload": "So basically it is a descriptor with a placeholder key which gets replaced?",
      "action": false,
      "timestamp": "2018-11-30T19:39:03+00:00"
    },
    {
      "id": "67e117f47abe421f892f7e3bdafc1e0f",
      "sender": "sipa",
      "payload": "why does that need to look like a descriptor",
      "action": false,
      "timestamp": "2018-11-30T19:39:07+00:00"
    },
    {
      "id": "a22af8d0281d4f3d91bae9b61247a915",
      "sender": "provoostenator",
      "payload": "It also needs to ask for change addresses.",
      "action": false,
      "timestamp": "2018-11-30T19:39:39+00:00"
    },
    {
      "id": "97da752d2fa64feb9eb82f034b31056c",
      "sender": "provoostenator",
      "payload": "What it needs depends on the wallet.",
      "action": false,
      "timestamp": "2018-11-30T19:39:46+00:00"
    },
    {
      "id": "96f8b37315b842adaaece5964a624379",
      "sender": "meshcollider",
      "payload": "Is it just to specify the format?",
      "action": false,
      "timestamp": "2018-11-30T19:39:51+00:00"
    },
    {
      "id": "60b97bc2df80403cba916efde1948722",
      "sender": "provoostenator",
      "payload": "So a descriptor keeps it generic.",
      "action": false,
      "timestamp": "2018-11-30T19:39:53+00:00"
    },
    {
      "id": "87548745d1be4b0aa89b0c04599da898",
      "sender": "sipa",
      "payload": "i think my question is: should it treat HW devices/drivers that deal with arbitrary key trees, and the wallet decides which keys to use for what",
      "action": false,
      "timestamp": "2018-11-30T19:40:15+00:00"
    },
    {
      "id": "a184c994c15747b395bcee2ba38d8a97",
      "sender": "sipa",
      "payload": "or is it the driver that decides which keys to use for what",
      "action": false,
      "timestamp": "2018-11-30T19:40:25+00:00"
    },
    {
      "id": "cf2864f7fe8a4cfb8c24faaa50147efd",
      "sender": "provoostenator",
      "payload": "I was thinking both.",
      "action": false,
      "timestamp": "2018-11-30T19:40:31+00:00"
    },
    {
      "id": "1750e8963ff64a6288513915fc3f2e25",
      "sender": "sipa",
      "payload": "that seems like the worst of both worlds :)",
      "action": false,
      "timestamp": "2018-11-30T19:40:45+00:00"
    },
    {
      "id": "504289edcba046d8962b4e672e24c3e0",
      "sender": "provoostenator",
      "payload": "By default we ask for a standard BIP44/49/84 path",
      "action": false,
      "timestamp": "2018-11-30T19:40:46+00:00"
    },
    {
      "id": "ebbf0619f2324f17bab2a908490fc6c3",
      "sender": "provoostenator",
      "payload": "But the driver can tell us, via enumerate (the first thing we call), that the device insists on a different structure.",
      "action": false,
      "timestamp": "2018-11-30T19:41:05+00:00"
    },
    {
      "id": "cc5d2d4284a849f6b5c94fac637b5fbe",
      "sender": "provoostenator",
      "payload": "But I agree this needs more thought.",
      "action": false,
      "timestamp": "2018-11-30T19:41:20+00:00"
    },
    {
      "id": "af611217638546a4bfc2b6e33f6323b2",
      "sender": "sipa",
      "payload": "yeah, ok, you can see it as a 'hint' from the wallet \"hey this key path would seem nice to me, agree?\"",
      "action": false,
      "timestamp": "2018-11-30T19:41:49+00:00"
    },
    {
      "id": "e59a0601301a4e76a8ad40420af9e7fd",
      "sender": "provoostenator",
      "payload": "We could also, like sipa suggests, just require that the driver tells us what the receive and change trees are.",
      "action": false,
      "timestamp": "2018-11-30T19:41:54+00:00"
    },
    {
      "id": "19f7779a59a14e2eb549243ee784c538",
      "sender": "provoostenator",
      "payload": "But I prefer the hint option, because for example the user may have already set changetype and receivetype for a reason.",
      "action": false,
      "timestamp": "2018-11-30T19:42:35+00:00"
    },
    {
      "id": "347a49f679f54251be5e6a36c8e479ce",
      "sender": "provoostenator",
      "payload": "Whereas the driver might default to something lame backwards compatible like p2sh wrapped segwit.",
      "action": false,
      "timestamp": "2018-11-30T19:42:52+00:00"
    },
    {
      "id": "3c4c918d3fb6486998616ac983518c4c",
      "sender": "sipa",
      "payload": "that makes sense",
      "action": false,
      "timestamp": "2018-11-30T19:43:17+00:00"
    },
    {
      "id": "5070f2a1676842b18fcfd9644949bea3",
      "sender": "provoostenator",
      "payload": "Also, I wonder if the concept of \"change chain\" and \"receive chain\" is abstract enough to allow for more fancy things. For multisig it should be.",
      "action": false,
      "timestamp": "2018-11-30T19:43:54+00:00"
    },
    {
      "id": "4ec2d4bf35f1466a834bc2add883f27c",
      "sender": "provoostenator",
      "payload": "We probably need some way for the driver to communicate capabilities.",
      "action": false,
      "timestamp": "2018-11-30T19:44:49+00:00"
    },
    {
      "id": "3aa72b21635a4234bf4facc0040fa723",
      "sender": "provoostenator",
      "payload": "Which again could look like descriptors for lack anything else, e.g. to indicate which address types and whether multisig is supported.",
      "action": false,
      "timestamp": "2018-11-30T19:45:37+00:00"
    },
    {
      "id": "9f59d3e079a647b0a40b3b728d111c0c",
      "sender": "achow101",
      "payload": "add a new command \"getfeatures\"?",
      "action": false,
      "timestamp": "2018-11-30T19:45:41+00:00"
    },
    {
      "id": "bd11981697a241d89fcf9cc156624125",
      "sender": "provoostenator",
      "payload": "achow101: or just spit it out as part of the enumerate command, but yes.",
      "action": false,
      "timestamp": "2018-11-30T19:46:02+00:00"
    },
    {
      "id": "e95be74c202f4cfe8fd8c4e9cbc1384c",
      "sender": "meshcollider",
      "payload": "Alright, any other topics?",
      "action": false,
      "timestamp": "2018-11-30T19:49:12+00:00"
    },
    {
      "id": "7f1d70be78a44876802c07f5c7ddcc60",
      "sender": "provoostenator",
      "payload": "sipa asked for volunteers write tests for #14565",
      "action": false,
      "timestamp": "2018-11-30T19:50:05+00:00"
    },
    {
      "id": "c528fc89f75d4339b6e0b5bb3a1d38c4",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/14565 | Overhaul importmulti logic by sipa \u00c3\u0082\u00c2\u00b7 Pull Request #14565 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2018-11-30T19:50:08+00:00"
    },
    {
      "id": "c44839bf766a49779228633161812d51",
      "sender": "provoostenator",
      "payload": "(just repeating that here for the log)",
      "action": false,
      "timestamp": "2018-11-30T19:50:53+00:00"
    },
    {
      "id": "f82cdf279fbc424bad56281a0fa3676c",
      "sender": "provoostenator",
      "payload": "There's about a dozen PR's built on top, including my (pre)WIP RPC stuff.",
      "action": false,
      "timestamp": "2018-11-30T19:51:34+00:00"
    },
    {
      "id": "5927e0365c8a4cbe9aac734db8d875ae",
      "sender": "meshcollider",
      "payload": "Yeah I have one built on that too",
      "action": false,
      "timestamp": "2018-11-30T19:52:24+00:00"
    },
    {
      "id": "514d1a77403a43e38c355a91c1fc56ad",
      "sender": "meshcollider",
      "payload": "Maybe I'll write the tests to speed things up",
      "action": false,
      "timestamp": "2018-11-30T19:52:39+00:00"
    },
    {
      "id": "d8fc94f6a1644df3b371b9de15e23c2d",
      "sender": "meshcollider",
      "payload": "Alright I guess that's it then :)",
      "action": false,
      "timestamp": "2018-11-30T19:52:49+00:00"
    },
    {
      "id": "4bc306d2b3ab4cf0aa4766fec9e339d5",
      "sender": "meshcollider",
      "payload": "#endmeeting",
      "action": false,
      "timestamp": "2018-11-30T19:52:53+00:00"
    }
  ],
  "events": [
    {
      "event_type": "START_MEETING",
      "message": {
        "id": "6447e7f38ca34b36a08d59f7d9a6ba50",
        "sender": "meshcollider",
        "payload": "#startmeeting",
        "action": false,
        "timestamp": "2018-11-30T19:06:29+00:00"
      },
      "operand": null,
      "id": "6447e7f38ca34b36a08d59f7d9a6ba50",
      "timestamp": "2018-11-30T19:06:29+00:00"
    },
    {
      "event_type": "TOPIC",
      "message": {
        "id": "8a3678c6456a4b73a9f7f72f742015cd",
        "sender": "meshcollider",
        "payload": "#topic wallet specific configuration",
        "action": false,
        "timestamp": "2018-11-30T19:07:12+00:00"
      },
      "operand": "wallet specific configuration",
      "id": "8a3678c6456a4b73a9f7f72f742015cd",
      "timestamp": "2018-11-30T19:07:12+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "5330aa73e00044559d146b859a652779",
        "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": "2018-11-30T19:08:05+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/13756",
      "id": "5330aa73e00044559d146b859a652779",
      "timestamp": "2018-11-30T19:08:05+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "fcfc956365e442b8abb4cc818bdaf3ca",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/13044 | [RFC] Long term plan for wallet command-line args \u00c3\u0082\u00c2\u00b7 Issue #13044 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2018-11-30T19:10:32+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/13044",
      "id": "fcfc956365e442b8abb4cc818bdaf3ca",
      "timestamp": "2018-11-30T19:10:32+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "8c0cf9d92b18487c9e353d95bfffb766",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/12134 | Build previous releases and run functional tests by Sjors \u00c3\u0082\u00c2\u00b7 Pull Request #12134 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2018-11-30T19:19:40+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/12134",
      "id": "8c0cf9d92b18487c9e353d95bfffb766",
      "timestamp": "2018-11-30T19:19:40+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "ae907a59bd574259b4b3dbd8a513d8ca",
        "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": "2018-11-30T19:24:30+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/13756",
      "id": "ae907a59bd574259b4b3dbd8a513d8ca",
      "timestamp": "2018-11-30T19:24:30+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "67186859f3dc485cae22122d86085551",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/13044 | [RFC] Long term plan for wallet command-line args \u00c3\u0082\u00c2\u00b7 Issue #13044 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2018-11-30T19:25:48+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/13044",
      "id": "67186859f3dc485cae22122d86085551",
      "timestamp": "2018-11-30T19:25:48+00:00"
    },
    {
      "event_type": "TOPIC",
      "message": {
        "id": "858a73d452574c92ab3a22c6bcd9db3e",
        "sender": "meshcollider",
        "payload": "#topic rw_config progress (provoostenator)",
        "action": false,
        "timestamp": "2018-11-30T19:26:25+00:00"
      },
      "operand": "rw_config progress (provoostenator)",
      "id": "858a73d452574c92ab3a22c6bcd9db3e",
      "timestamp": "2018-11-30T19:26:25+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "477425eec97d49d0bbe6a0c45d70cfd5",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/11082 | Add new bitcoin_rw.conf file that is used for settings modified by this software itself by luke-jr \u00c3\u0082\u00c2\u00b7 Pull Request #11082 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2018-11-30T19:26:58+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/11082",
      "id": "477425eec97d49d0bbe6a0c45d70cfd5",
      "timestamp": "2018-11-30T19:26:58+00:00"
    },
    {
      "event_type": "TOPIC",
      "message": {
        "id": "1db709fcf55d4a028cd11e56e1eb37ea",
        "sender": "meshcollider",
        "payload": "#topic externals signers API",
        "action": false,
        "timestamp": "2018-11-30T19:33:25+00:00"
      },
      "operand": "externals signers API",
      "id": "1db709fcf55d4a028cd11e56e1eb37ea",
      "timestamp": "2018-11-30T19:33:25+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "c528fc89f75d4339b6e0b5bb3a1d38c4",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/14565 | Overhaul importmulti logic by sipa \u00c3\u0082\u00c2\u00b7 Pull Request #14565 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2018-11-30T19:50:08+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/14565",
      "id": "c528fc89f75d4339b6e0b5bb3a1d38c4",
      "timestamp": "2018-11-30T19:50:08+00:00"
    },
    {
      "event_type": "END_MEETING",
      "message": {
        "id": "4bc306d2b3ab4cf0aa4766fec9e339d5",
        "sender": "meshcollider",
        "payload": "#endmeeting",
        "action": false,
        "timestamp": "2018-11-30T19:52:53+00:00"
      },
      "operand": null,
      "id": "4bc306d2b3ab4cf0aa4766fec9e339d5",
      "timestamp": "2018-11-30T19:52:53+00:00"
    }
  ],
  "aliases": {},
  "vote_in_progress": false,
  "motion_index": null
}