1 2017-06-03 00:05:50 0|luke-jr|spudI think you'll get arguments for using pb at all
2 2017-06-03 02:24:15 0|cfields|wumpus: considering there's already an 0.14.1rc1, I'd prefer not to sign the binaries with incorrect version
3 2017-06-03 02:24:58 0|cfields|i'd say just go ahead with release without signature
4 2017-06-03 04:50:01 0|bitcoin-git|[13bitcoin] 15jimmysong opened pull request #10515: [test] Add test for getchaintxstats (06master...06test_getchaintxstats) 02https://github.com/bitcoin/bitcoin/pull/10515
5 2017-06-03 04:52:12 0|achow101|does anyone know if the waitforblock/waitfornewblock RPCs are used or will be used sometime in the future?
6 2017-06-03 04:52:47 0|achow101|The PR that adds them says that they are for testing and travis, but I don't see anything which actually uses those commands.
7 2017-06-03 04:52:55 0|achow101|cfields: ^^^ (you're the one who added them)
8 2017-06-03 05:06:14 0|bitcoin-git|[13bitcoin] 15luke-jr opened pull request #10516: Backports for 0.14.2 (060.14...060.14.2_fixes) 02https://github.com/bitcoin/bitcoin/pull/10516
9 2017-06-03 07:48:48 0|bitcoin-git|[13bitcoin] 15jonasschnelli opened pull request #10517: Factor out CCoinsView based AreInputsStandard/IsWitnessStandard (06master...062017/06/policy_compile) 02https://github.com/bitcoin/bitcoin/pull/10517
10 2017-06-03 10:41:26 0|spudowiar|luke-jr: I meant changing the use of Protocol Buffers in Payment Requests
11 2017-06-03 10:43:08 0|phantomcircuit|spudowiar, the payments protocol stuff is basically just broken
12 2017-06-03 10:43:37 0|spudowiar|I was just suggesting switching from Google Protocol Buffers to nanopb, because nanopb generates nicer code
13 2017-06-03 10:43:54 0|spudowiar|(It's a protoc plugin)
14 2017-06-03 11:07:47 0|jonasschnelli|spudowiar: is nanopb a dropin replacement for protoc?
15 2017-06-03 11:12:51 0|spudowiar|jonasschnelli: It's a plugin for protoc. It generates different code but nicer code. It's primarily designed for C and microcontrollers though so it might not be that good a fit. Something to take a look at though.
16 2017-06-03 11:13:16 0|jonasschnelli|Thanks... will take a closer look soon.
17 2017-06-03 11:45:10 0|jonasschnelli|Just curios,.. whats the reason for including ctaes.c in aes.c and adding CT_AES to EXTRA_DIST? instead of compiling/linking it regularly?
18 2017-06-03 11:48:45 0|spudowiar|Has anyone tested secp256k1 with ctgrind?
19 2017-06-03 11:49:18 0|spudowiar|(Valgrind constant time checker by Adam Langley)
20 2017-06-03 11:50:01 0|spudowiar|I mean libsecp256k1
21 2017-06-03 11:56:25 0|spudowiar|Actually, looking at the Modern Crypto mailing list, looks gmaxwell or someone did something similar
22 2017-06-03 12:40:12 0|jtimon|jnewbery: perhaps if we can't agree on changing the current make check we can at least start by adding new targets that could replace it, check-functional, check-all or something
23 2017-06-03 12:40:40 0|jtimon|I would love to run the functional tests from the makefile
24 2017-06-03 14:29:04 0|bitcoin-git|[13bitcoin] 15biniek opened pull request #10518: Fix translation error (06master...06patch-1) 02https://github.com/bitcoin/bitcoin/pull/10518
25 2017-06-03 14:44:36 0|cfields|achow101: they were needed at one point to fix a race with the wallet. They're probably unnecessary now.
26 2017-06-03 14:46:14 0|cfields|jonasschnelli: it's a .c file, but we want to make sure it gets compiled as c++, to avoid accidentally mixing in c flags
27 2017-06-03 14:47:05 0|cfields|jonasschnelli: because we add everything to cxxflags. We might forget to (for ex) add fPIC/fPIE to CFLAGS
28 2017-06-03 15:16:22 0|jonasschnelli|cfields: thanks. I see.
29 2017-06-03 15:51:53 0|spudowiar|jonasschnelli: So, if Core RPC doesn't have a method for getting the xpub, should I just create one for my HWW support?
30 2017-06-03 15:52:13 0|spudowiar|Basically, I'm going to do a HWW plugin that's either a command or a server and supports JSON-RPC
31 2017-06-03 15:52:47 0|spudowiar|e.g. You could do `bitcoin-qt -hww-cmd=bitcoin-hww-trezor`
32 2017-06-03 15:53:08 0|spudowiar|Or even `bitcoin-qt -hww-server=http://user:password@othermachine:8332` and connect to another bitcoind
33 2017-06-03 15:53:33 0|spudowiar|So, I guess I should just create another method or smth
34 2017-06-03 16:36:47 0|bitcoin-git|[13bitcoin] 15achow101 opened pull request #10519: [RPC] Remove waitforblock and waitfornewblock (06master...06rm-waitforblock-rpcs) 02https://github.com/bitcoin/bitcoin/pull/10519
35 2017-06-03 16:38:08 0|jonasschnelli|spudowiar: for HWW support, Core needs flexible keypath (BIP44) with support for pub-key-derivation (currently only hardened derivation is supported), there is a PR from NicolasDorier (check it out).
36 2017-06-03 16:38:29 0|jonasschnelli|You don't want to mix xpriv with support for single child key private key exports
37 2017-06-03 16:39:05 0|jonasschnelli|mixing non hardened derivation with private child key export is kinda careless
38 2017-06-03 16:52:55 0|spudowiar|jonasschnelli: I have all the necessary patches from NicolasDorier applied to my tree
39 2017-06-03 16:53:15 0|spudowiar|jonasschnelli: Anyway, the HWW plugin has an RPC method gethwwinfo
40 2017-06-03 16:53:23 0|spudowiar|That contains some information about the hardware wallet
41 2017-06-03 16:53:28 0|spudowiar|Like the xpub
42 2017-06-03 16:56:05 0|jonasschnelli|spudowiar: So you are adding those methods to Core? Or do you have a "middleware" between Core and the HWW?
43 2017-06-03 16:56:12 0|jonasschnelli|Do you intend to PR that stuff?
44 2017-06-03 16:56:36 0|spudowiar|So, I have a HWW plugin (a command called bitcoin-hww-trezor)
45 2017-06-03 16:56:49 0|spudowiar|And CWallet starts that process
46 2017-06-03 16:57:21 0|spudowiar|Then I can send RPC requests over stdio to the process and it can send RPC requests back to Core
47 2017-06-03 16:57:37 0|spudowiar|So, when something is signed, it sends signrawtransaction to the HWW plugin
48 2017-06-03 16:57:52 0|spudowiar|And the HWW plugin will do stuff like send validateaddress (to get the keypath) and decoderawtransaction, etc.
49 2017-06-03 16:58:13 0|spudowiar|Also, there's a gethwwinfo which is sent by Core right at the start to get the xpub, etc.
50 2017-06-03 17:01:24 0|jonasschnelli|cool stuff
51 2017-06-03 17:01:32 0|spudowiar|Although this is quite a bit more complicated than my previous method so I'm not sure how good an idea it is
52 2017-06-03 17:01:54 0|spudowiar|Previous method was just start the process when signing needs to happen and pipe a JSON representation of the transaction, with some metadata
53 2017-06-03 17:02:02 0|jonasschnelli|IMO working with watchonlys on the Core side and send out the unsigned transaction to a plugin could make more sense?
54 2017-06-03 17:02:24 0|spudowiar|That's what it does
55 2017-06-03 17:02:30 0|jonasschnelli|ah! cool
56 2017-06-03 17:02:55 0|spudowiar|So, if it's a hardware wallet, CWallet::IsMine will treat watch only as normal keys
57 2017-06-03 17:03:20 0|spudowiar|e.g. ISMINE_WATCH_UNSOLVABLE => ISMINE_NO and ISMINE_WATCH_SOLVABLE => ISMINE_SPENDABLE
58 2017-06-03 18:15:25 0|bitcoin-git|[13bitcoin] 15sipa closed pull request #10518: Fix translation error (06master...06patch-1) 02https://github.com/bitcoin/bitcoin/pull/10518
59 2017-06-03 19:17:47 0|spudowiar|jonasschnelli: What do you think about using a file descriptor for the child? Because having bi directional JSON-RPC gets a bit messy
60 2017-06-03 19:18:09 0|spudowiar|But I could do stdin, stdout and a file descriptor for a socket (to the Bitcoin daemon RPC server)
61 2017-06-03 19:18:17 0|spudowiar|Hmm, maybe not actually
62 2017-06-03 19:18:31 0|spudowiar|To be honest, only when you want to sign something should it handle the messages
63 2017-06-03 19:18:34 0|spudowiar|nvm
64 2017-06-03 19:18:35 0|spudowiar|:)
65 2017-06-03 19:23:15 0|luke-jr|spudowiar: why do you need bi-directional?
66 2017-06-03 19:27:34 0|spudowiar|luke-jr: Because then you can do "Bitcoin Core asks HWW signrawtransaction", "HWW asks Bitcoin Core gettransaction", "HWW responds to signrawtransaction"
67 2017-06-03 19:27:56 0|luke-jr|ah
68 2017-06-03 19:29:25 0|gmaxwell|spudowiar: I think it should be safe to assume the wallet needs the inputs and just pass them.
69 2017-06-03 19:29:45 0|gmaxwell|it can just drop them if it doesn't need them.
70 2017-06-03 19:30:05 0|spudowiar|gmaxwell: I was thinking of mimicking an API like signrawtransaction though
71 2017-06-03 19:30:43 0|gmaxwell|apparently not, since that api doesn't have two way communication. :P
72 2017-06-03 19:31:02 0|spudowiar|Well, it's going to be over stdio :)
73 2017-06-03 19:31:30 0|spudowiar|It's basically mimicking the API, because you could just as easily have the HWW plugin connect to the Bitcoin Core over HTTP RPC
74 2017-06-03 19:31:42 0|spudowiar|Except it's doing it over stdio
75 2017-06-03 19:31:52 0|spudowiar|Which happens to be where the other call came from :)
76 2017-06-03 19:31:55 0|sipa|thinking further, it seems strange that the HW/wrapper would need to know what it's missing
77 2017-06-03 19:32:15 0|spudowiar|What do you mean?
78 2017-06-03 19:32:17 0|sipa|especially if we ever get schnorr multisig or even aggregation
79 2017-06-03 19:32:42 0|sipa|the signrawtransaction API is "pass it in partially signed transactions, and do with it what you can"
80 2017-06-03 19:33:05 0|sipa|i think that's a good approach, also for HW wallets
81 2017-06-03 19:33:20 0|spudowiar|Yeah, but it needs to have the input transactions
82 2017-06-03 19:33:25 0|sipa|so pass them
83 2017-06-03 19:33:32 0|sipa|the wallet knows whether the HW wallet needs them
84 2017-06-03 19:33:44 0|spudowiar|Right, so don't bother with the JSON-RPC emulation then?
85 2017-06-03 19:33:57 0|sipa|i think that's unnecessarily complicating the API
86 2017-06-03 19:34:20 0|spudowiar|Well, I kept my old branch behind (without this stuff), so that's fine :)
87 2017-06-03 19:34:23 0|spudowiar|This was just an experiment :)
88 2017-06-03 21:42:08 0|bitcoin-git|[13bitcoin] 15practicalswift opened pull request #10521: Limit variable scope (06master...06tighten-scope) 02https://github.com/bitcoin/bitcoin/pull/10521
89 2017-06-03 21:55:28 0|bitcoin-git|[13bitcoin] 15practicalswift opened pull request #10522: Remove unused variables (06master...06unused-strings) 02https://github.com/bitcoin/bitcoin/pull/10522
90 2017-06-03 23:20:18 0|bitcoin-git|[13bitcoin] 15practicalswift opened pull request #10523: Perform member initialization in initialization lists where possible (06master...06initialization-list) 02https://github.com/bitcoin/bitcoin/pull/10523
91 2017-06-03 23:31:37 0|bitcoin-git|[13bitcoin] 15practicalswift opened pull request #10524: Fix incorrect format strings (06master...06u-for-unsigned-int) 02https://github.com/bitcoin/bitcoin/pull/10524