12016-04-12T00:01:56  *** cryptapus has joined #bitcoin-core-dev
  22016-04-12T00:05:00  *** fengling has joined #bitcoin-core-dev
  32016-04-12T00:06:43  *** cryptapus has quit IRC
  42016-04-12T00:26:56  *** fengling has quit IRC
  52016-04-12T00:27:14  <Chris_Stewart_5> instagibbs: Do you think it could be used to implement some sort of waiting mechanism in a while loop eventually? I get that looping is currently disabled but if it is brought back an OP_NOP could be useful
  62016-04-12T00:28:23  *** fengling has joined #bitcoin-core-dev
  72016-04-12T00:28:24  <gmaxwell> no.
  82016-04-12T00:29:34  <gmaxwell> Chris_Stewart_5: nops were _never_ a 'waiting' mechenism, they were explicitly added for forward extensibility.
  92016-04-12T00:29:40  *** fengling has quit IRC
 102016-04-12T00:30:50  <Chris_Stewart_5> gmaxwell: Back to my original question then, why is OP_NOP treated differently than the other OP_NOPs, specifically why is allowed by the DISCOURAGE_UPGRADABLE_NOPS flag?
 112016-04-12T00:48:21  *** ibrightly has quit IRC
 122016-04-12T00:48:48  *** xiangfu has joined #bitcoin-core-dev
 132016-04-12T00:49:23  *** ibrightly has joined #bitcoin-core-dev
 142016-04-12T00:51:05  *** Ylbam has quit IRC
 152016-04-12T00:59:10  *** johnwhitton has quit IRC
 162016-04-12T01:00:11  *** johnwhitton has joined #bitcoin-core-dev
 172016-04-12T01:01:34  *** jarret has quit IRC
 182016-04-12T01:02:02  *** fengling has joined #bitcoin-core-dev
 192016-04-12T01:03:13  *** jarret has joined #bitcoin-core-dev
 202016-04-12T01:26:45  *** TomMc has joined #bitcoin-core-dev
 212016-04-12T01:27:57  *** belcher has quit IRC
 222016-04-12T01:29:45  *** xabbix_ has quit IRC
 232016-04-12T01:30:05  *** dermoth has quit IRC
 242016-04-12T01:30:30  *** xabbix_ has joined #bitcoin-core-dev
 252016-04-12T01:30:57  *** dermoth has joined #bitcoin-core-dev
 262016-04-12T01:32:02  *** Alopex has quit IRC
 272016-04-12T01:33:07  *** Alopex has joined #bitcoin-core-dev
 282016-04-12T01:41:41  <gmaxwell> Chris_Stewart_5: because there were already people creating them in the network.
 292016-04-12T02:00:08  *** dermoth has quit IRC
 302016-04-12T02:00:59  *** dermoth has joined #bitcoin-core-dev
 312016-04-12T02:12:05  *** ryan-c has quit IRC
 322016-04-12T02:13:02  *** justanotheruser has quit IRC
 332016-04-12T02:13:31  *** justanotheruser has joined #bitcoin-core-dev
 342016-04-12T02:21:17  *** ryan-c has joined #bitcoin-core-dev
 352016-04-12T02:25:09  *** Chris_Stewart_5 has quit IRC
 362016-04-12T02:38:54  *** Chris_Stewart_5 has joined #bitcoin-core-dev
 372016-04-12T02:47:54  *** Chris_Stewart_5 has quit IRC
 382016-04-12T02:53:35  *** randy-waterhouse has joined #bitcoin-core-dev
 392016-04-12T02:56:41  *** TomMc has quit IRC
 402016-04-12T03:02:50  *** TomMc has joined #bitcoin-core-dev
 412016-04-12T03:09:07  *** ThomasV has joined #bitcoin-core-dev
 422016-04-12T03:10:44  *** ThomasV_ has joined #bitcoin-core-dev
 432016-04-12T03:14:16  *** ThomasV has quit IRC
 442016-04-12T03:49:28  *** fanquake has joined #bitcoin-core-dev
 452016-04-12T03:52:36  *** fanquake has quit IRC
 462016-04-12T03:52:56  *** fanquake has joined #bitcoin-core-dev
 472016-04-12T03:54:44  *** fanquake has quit IRC
 482016-04-12T03:55:08  *** Giszmo has quit IRC
 492016-04-12T04:01:36  *** jack has joined #bitcoin-core-dev
 502016-04-12T04:02:00  *** jack is now known as Guest2012
 512016-04-12T04:14:21  *** TomMc has quit IRC
 522016-04-12T05:11:29  *** johnwhitton has joined #bitcoin-core-dev
 532016-04-12T05:19:42  <Guest2012> d
 542016-04-12T05:20:18  *** Guest2012 has quit IRC
 552016-04-12T05:26:21  *** d_t has joined #bitcoin-core-dev
 562016-04-12T06:07:01  *** Alopex has quit IRC
 572016-04-12T06:08:06  *** Alopex has joined #bitcoin-core-dev
 582016-04-12T06:25:21  <GitHub99> [bitcoin] rustyrussell opened pull request #7863: getblockchaininfo: make bip9_softforks an object, not an array. (master...bip9-status-as-object) https://github.com/bitcoin/bitcoin/pull/7863
 592016-04-12T06:25:29  *** goregrin1 has joined #bitcoin-core-dev
 602016-04-12T06:26:27  *** d_t has quit IRC
 612016-04-12T06:27:42  *** goregrind has quit IRC
 622016-04-12T06:31:49  *** Ylbam has joined #bitcoin-core-dev
 632016-04-12T06:44:57  *** ThomasV_ has quit IRC
 642016-04-12T07:17:02  *** Alopex has quit IRC
 652016-04-12T07:18:07  *** Alopex has joined #bitcoin-core-dev
 662016-04-12T07:31:48  *** go111111111 has joined #bitcoin-core-dev
 672016-04-12T07:32:16  *** Evel-Knievel has quit IRC
 682016-04-12T07:50:44  *** arowser has quit IRC
 692016-04-12T07:51:14  *** arowser has joined #bitcoin-core-dev
 702016-04-12T08:09:33  *** jannes has joined #bitcoin-core-dev
 712016-04-12T08:14:49  *** paveljanik has quit IRC
 722016-04-12T08:17:41  *** Squidicc has quit IRC
 732016-04-12T09:01:31  *** PRab has quit IRC
 742016-04-12T09:02:09  *** PRab has joined #bitcoin-core-dev
 752016-04-12T09:28:18  *** pigeons has quit IRC
 762016-04-12T09:30:23  *** johnwhitton has quit IRC
 772016-04-12T09:44:18  *** ryankung has joined #bitcoin-core-dev
 782016-04-12T09:54:03  *** AaronvanW has joined #bitcoin-core-dev
 792016-04-12T10:07:33  *** Thireus1 has joined #bitcoin-core-dev
 802016-04-12T10:07:33  *** Thireus has quit IRC
 812016-04-12T10:08:50  <jonasschnelli> hmm...
 822016-04-12T10:08:58  *** Thireus1 has quit IRC
 832016-04-12T10:09:13  *** Thireus has joined #bitcoin-core-dev
 842016-04-12T10:09:19  <jonasschnelli> sync_mempool() in the RPC tests does actually check the order of the transaction in the mempool
 852016-04-12T10:09:56  *** Thireus1 has joined #bitcoin-core-dev
 862016-04-12T10:09:56  *** Thireus has quit IRC
 872016-04-12T10:09:59  <jonasschnelli> replacing with RBF seems to result in different orders in the mempools.
 882016-04-12T10:10:36  *** fengling has quit IRC
 892016-04-12T10:10:56  *** Thireus has joined #bitcoin-core-dev
 902016-04-12T10:11:18  <jonasschnelli> And sync_mempool only proceeds if the mempool set is _identical_
 912016-04-12T10:11:34  *** Thireus has quit IRC
 922016-04-12T10:14:14  *** Thireus has joined #bitcoin-core-dev
 932016-04-12T10:14:22  *** Thireus1 has quit IRC
 942016-04-12T10:18:28  *** Thireus has quit IRC
 952016-04-12T10:18:38  *** Thireus has joined #bitcoin-core-dev
 962016-04-12T10:18:46  <gmaxwell> A test for bitcoin core slavishly enforcing exact behavior? It couldn't be!
 972016-04-12T10:20:36  *** pigeons has joined #bitcoin-core-dev
 982016-04-12T10:21:00  *** pigeons is now known as Guest29091
 992016-04-12T10:22:20  <jonasschnelli> gmaxwell is right (as always). My debugging is wrong (as always).
1002016-04-12T10:22:29  *** laurentmt has joined #bitcoin-core-dev
1012016-04-12T10:23:35  <sipa> those sync_* functions in the test could probably just be replaced with a ping RPC and then observing getpeerinfo until the pong returns
1022016-04-12T10:54:14  * jonasschnelli made a new personal sync record
1032016-04-12T10:54:22  <sipa> lmdb?
1042016-04-12T10:54:31  <jonasschnelli> Sync from random peers in 2h and 20'.
1052016-04-12T10:55:08  <jonasschnelli> Lmdb will follow now... this is just the basepoint to compare after
1062016-04-12T10:55:14  <sipa> ok
1072016-04-12T10:55:31  <sipa> sync from a random peer is very variable though
1082016-04-12T10:55:32  <jonasschnelli> 2h20' is standard --disable-debug
1092016-04-12T10:56:05  <jonasschnelli> sipa: Yes. I know,... i might connect to another node in the same net for performance benchmark...
1102016-04-12T10:58:58  <gmaxwell> hm. that sounds like something wrong.
1112016-04-12T10:59:27  <gmaxwell> since I have numbers substantially higher on very fast hosts with gbe between them. :)
1122016-04-12T11:00:35  <sipa> jonasschnelli: this test was not done over the daylight savings time switchover, right? :)
1132016-04-12T11:01:03  <jonasschnelli> no. Its just a brand new server.
1142016-04-12T11:01:23  <jonasschnelli> Intel(R) Xeon(R) CPU E3-1275 v5 @ 3.60GHz
1152016-04-12T11:01:29  <jonasschnelli> 64GB Ram and 1gb/s SSD
1162016-04-12T11:01:41  <jonasschnelli> though, RAID 1
1172016-04-12T11:01:51  <sipa> how high is dbcache?
1182016-04-12T11:02:03  <jonasschnelli> ./src/bitcoind --dbcache=8000 --maxmempoolsize=1000
1192016-04-12T11:02:16  <sipa> the disk won't matter in that case :)
1202016-04-12T11:02:33  <jonasschnelli> Yes. Thats true.. maybe the log writing. :)
1212016-04-12T11:02:38  <jonasschnelli> (because its so fast)
1222016-04-12T11:03:35  <jonasschnelli> And the server is totally quite ("nothing" runs on it besides bitcoind)
1232016-04-12T11:04:24  <sipa> quiet?
1242016-04-12T11:05:05  <jonasschnelli> quite in terms of running applications
1252016-04-12T11:07:36  *** Thireus has quit IRC
1262016-04-12T11:16:48  <gmaxwell> ah 3.6GHz. okay then that translates to my best number assuming we're bottlenecked on a single core.
1272016-04-12T11:19:56  *** xiangfu has quit IRC
1282016-04-12T11:22:38  <sipa> we really need better parallellism for validation across blocks...
1292016-04-12T11:23:51  *** MarcoFalke has joined #bitcoin-core-dev
1302016-04-12T11:26:19  *** cryptapus has joined #bitcoin-core-dev
1312016-04-12T11:26:41  <gmaxwell> (I have a benchmark time with big dbcache on the 24-core 2.4GHz host of about 3.5hr as of two days ago)
1322016-04-12T11:26:53  <gmaxwell> no real difference in speed local vs network.
1332016-04-12T11:27:10  <sipa> gmaxwell: on a 24-core machine, have you benchmarked whether higher or lower -par works better?
1342016-04-12T11:28:22  <gmaxwell> doubt it matters much. I think when you wrote that code I was benchmarking it on 32 way host and found that it didn't improve after 8 or so, and you capped the code out at .. uh 16?  With libsecp256k1 that effect it likely worse.
1352016-04-12T11:28:35  *** abritoid has joined #bitcoin-core-dev
1362016-04-12T11:40:47  *** AaronvanW has quit IRC
1372016-04-12T11:41:54  *** fengling has joined #bitcoin-core-dev
1382016-04-12T11:43:07  <GitHub165> [bitcoin] RyanKung opened pull request #7864: Qa: some code style reflected for pep8 (master...dev/rk) https://github.com/bitcoin/bitcoin/pull/7864
1392016-04-12T11:43:15  <ryankung> ...
1402016-04-12T11:43:42  <jonasschnelli> lmdb, 10% progress in 20mins. Will probably be a little bit slower...
1412016-04-12T11:43:43  <ryankung> I just reflected the python testcase code into pep8 code style.
1422016-04-12T11:43:44  <ryankung> some
1432016-04-12T11:45:56  <GitHub74> [bitcoin] jonasschnelli opened pull request #7865: [RPC] Add bumpfee command. (master...2016/04/rbf_combined) https://github.com/bitcoin/bitcoin/pull/7865
1442016-04-12T11:46:36  *** fengling has quit IRC
1452016-04-12T11:46:52  <GitHub182> [bitcoin] jonasschnelli closed pull request #7159: [RPC] Add RBF opt-in possibilities to rawtx functions (master...2015/12/rpc_rbf) https://github.com/bitcoin/bitcoin/pull/7159
1462016-04-12T11:47:02  <GitHub179> [bitcoin] jonasschnelli closed pull request #7824: Add uncontroversial RBF base features (master...2016/04/rbf_uncontroversial) https://github.com/bitcoin/bitcoin/pull/7824
1472016-04-12T11:47:37  *** AaronvanW has joined #bitcoin-core-dev
1482016-04-12T11:54:22  *** MarcoFalke has quit IRC
1492016-04-12T11:55:14  *** randy-waterhouse has quit IRC
1502016-04-12T12:01:22  <GitHub47> [bitcoin] RyanKung closed pull request #7864: Qa: some code style reflected for pep8 (master...dev/rk) https://github.com/bitcoin/bitcoin/pull/7864
1512016-04-12T12:06:45  *** muuqwaul has quit IRC
1522016-04-12T12:07:12  *** muuqwaul has joined #bitcoin-core-dev
1532016-04-12T12:11:44  *** cryptapus__ has joined #bitcoin-core-dev
1542016-04-12T12:11:44  *** cryptapus__ has joined #bitcoin-core-dev
1552016-04-12T12:11:52  <jonasschnelli> ryankung: thanks for the work! Once the python3 pr is merge, you should reopen you PR
1562016-04-12T12:14:17  <ryankung> ok :)
1572016-04-12T12:14:22  *** ryankung has quit IRC
1582016-04-12T12:14:42  *** cryptapus has quit IRC
1592016-04-12T12:35:55  *** Thireus has joined #bitcoin-core-dev
1602016-04-12T12:36:28  *** paulkjh has joined #bitcoin-core-dev
1612016-04-12T12:46:33  *** Chris_Stewart_5 has joined #bitcoin-core-dev
1622016-04-12T12:57:45  *** paulkjh has quit IRC
1632016-04-12T13:15:43  *** Chris_Stewart_5 has quit IRC
1642016-04-12T13:22:06  *** ebfull has quit IRC
1652016-04-12T13:23:25  *** ebfull has joined #bitcoin-core-dev
1662016-04-12T13:29:15  *** Chris_Stewart_5 has joined #bitcoin-core-dev
1672016-04-12T13:36:59  <electrumuser> Hi, quick confirmation, does the scriptSig contain the sigtype after the signature?, I mean, I have transactions being rejected because signature is too short, I've been comparing the raw tx from two wallets spending the same input, and I noticed that signatures get appended a 01 byte, I can't find documentation about it. But I suspect it might be SIGHASH_ALL, am I correct?
1682016-04-12T13:38:17  <sipa> that's corrrect
1692016-04-12T13:38:20  <sipa> -r
1702016-04-12T13:38:38  *** ebfull has quit IRC
1712016-04-12T13:38:39  *** muuqwaul has quit IRC
1722016-04-12T13:39:06  *** muuqwaul has joined #bitcoin-core-dev
1732016-04-12T13:39:24  <electrumuser> Thank you very much sipa.
1742016-04-12T13:39:39  *** ebfull has joined #bitcoin-core-dev
1752016-04-12T13:45:11  *** fengling has joined #bitcoin-core-dev
1762016-04-12T13:49:48  *** cryptapus__ has quit IRC
1772016-04-12T13:49:50  <cjcj_> '
1782016-04-12T13:49:56  *** fengling has quit IRC
1792016-04-12T13:50:02  *** cryptapus__ has joined #bitcoin-core-dev
1802016-04-12T13:50:28  *** d_t has joined #bitcoin-core-dev
1812016-04-12T13:51:43  <GitHub119> [bitcoin] sipa pushed 2 new commits to master: https://github.com/bitcoin/bitcoin/compare/934f2b5e7693...514993554c37
1822016-04-12T13:51:44  <GitHub119> bitcoin/master bf477bc Jorge Timón: Trivial: Globals: Explicitly pass const CChainParams& to ProcessMessage()
1832016-04-12T13:51:44  <GitHub119> bitcoin/master 5149935 Pieter Wuille: Merge #7828: Trivial: Globals: Explicitly pass const CChainParams& to ProcessMessage()...
1842016-04-12T13:51:52  <GitHub176> [bitcoin] sipa closed pull request #7828: Trivial: Globals: Explicitly pass const CChainParams& to ProcessMessage() (master...0.12.99-chainparams-trivial) https://github.com/bitcoin/bitcoin/pull/7828
1852016-04-12T13:54:16  *** laurentmt has quit IRC
1862016-04-12T13:55:04  *** d_t has quit IRC
1872016-04-12T13:58:04  *** Guyver2 has joined #bitcoin-core-dev
1882016-04-12T14:12:12  *** MarcoFalke has joined #bitcoin-core-dev
1892016-04-12T14:14:39  *** arowser has quit IRC
1902016-04-12T14:14:58  *** cryptapus__ is now known as cryptapus
1912016-04-12T14:15:11  *** arowser has joined #bitcoin-core-dev
1922016-04-12T14:26:41  *** Giszmo has joined #bitcoin-core-dev
1932016-04-12T14:30:44  *** TomMc has joined #bitcoin-core-dev
1942016-04-12T14:37:42  *** muuqwaul has quit IRC
1952016-04-12T14:38:04  *** muuqwaul has joined #bitcoin-core-dev
1962016-04-12T15:04:45  *** murch has joined #bitcoin-core-dev
1972016-04-12T15:10:25  *** gevs has quit IRC
1982016-04-12T15:23:16  *** gevs has joined #bitcoin-core-dev
1992016-04-12T15:37:44  *** MarcoFalke has quit IRC
2002016-04-12T15:48:30  *** fengling has joined #bitcoin-core-dev
2012016-04-12T15:52:56  *** fengling has quit IRC
2022016-04-12T16:02:58  <jonasschnelli> lmdb seems a lot slower (at least on the machine I'm benching)
2032016-04-12T16:03:47  <jonasschnelli> 6.5h for 76% IBD
2042016-04-12T16:06:33  <sipa> against random peers?
2052016-04-12T16:06:48  <sipa> or from local network
2062016-04-12T16:07:38  <sipa> with dbcache=8000 the database used should have nearly 0 effect
2072016-04-12T16:09:19  *** instagibbs has quit IRC
2082016-04-12T16:14:07  *** arowser has quit IRC
2092016-04-12T16:14:25  <jonasschnelli> sipa: random peers, dbcache=9000
2102016-04-12T16:14:29  *** arowser has joined #bitcoin-core-dev
2112016-04-12T16:14:42  <jonasschnelli> (I made it higher than the 8GB lmdb fix-size)
2122016-04-12T16:15:02  *** instagibbs has joined #bitcoin-core-dev
2132016-04-12T16:15:18  <jonasschnelli> Block download speed looks not after the bottleneck...
2142016-04-12T16:15:25  <jonasschnelli> CPU is running at 645.3%
2152016-04-12T16:16:48  *** aureianimus has joined #bitcoin-core-dev
2162016-04-12T16:16:55  <sipa> maybe it was earlier on
2172016-04-12T16:17:22  <sipa> if you're syncing from random peers, i'd at least want to see an average over a few dozen runs to draw conclusions
2182016-04-12T16:18:09  <sipa> you're including a totally uncontrollable variable into your test setuo by doing so
2192016-04-12T16:18:53  <jonasschnelli> sipa: Yes. Agreed. My idea was to do a reindex once its done to exclude the variable of download
2202016-04-12T16:19:21  <jonasschnelli> Also when I download from one of my other nodes,... the other node does also run stuff in background.. gitian, etc.
2212016-04-12T16:20:30  <sipa> reindex is a better benchmark yes, but with dbcache=8000, i doubt you'll see much difference :)
2222016-04-12T16:21:59  <jonasschnelli> sipa: I'll give you the prove...
2232016-04-12T16:22:37  <sipa> ok :)
2242016-04-12T16:25:37  *** paveljanik has joined #bitcoin-core-dev
2252016-04-12T16:25:37  *** paveljanik has joined #bitcoin-core-dev
2262016-04-12T16:28:34  *** baldur has joined #bitcoin-core-dev
2272016-04-12T16:29:13  *** johnwhitton has joined #bitcoin-core-dev
2282016-04-12T16:54:22  *** Chris_Stewart_5 has quit IRC
2292016-04-12T17:00:52  *** Guest29091 is now known as pigeons
2302016-04-12T17:02:08  *** Don_John has joined #bitcoin-core-dev
2312016-04-12T17:04:10  *** Don_John has quit IRC
2322016-04-12T17:10:24  *** laurentmt has joined #bitcoin-core-dev
2332016-04-12T17:20:51  *** jtimon has joined #bitcoin-core-dev
2342016-04-12T17:21:29  *** davec has quit IRC
2352016-04-12T17:22:21  *** davec has joined #bitcoin-core-dev
2362016-04-12T17:26:54  *** Thireus has quit IRC
2372016-04-12T17:27:20  *** Thireus has joined #bitcoin-core-dev
2382016-04-12T17:27:26  *** laurentmt has quit IRC
2392016-04-12T17:28:53  *** muuqwaul has quit IRC
2402016-04-12T17:29:18  *** muuqwaul has joined #bitcoin-core-dev
2412016-04-12T17:35:15  *** laurentmt has joined #bitcoin-core-dev
2422016-04-12T17:35:20  *** Thireus has quit IRC
2432016-04-12T17:51:08  *** fengling has joined #bitcoin-core-dev
2442016-04-12T17:53:11  *** laurentmt has quit IRC
2452016-04-12T17:55:36  *** fengling has quit IRC
2462016-04-12T18:58:26  *** jannes has quit IRC
2472016-04-12T19:22:34  *** laurentmt has joined #bitcoin-core-dev
2482016-04-12T19:30:46  *** hsmiths has quit IRC
2492016-04-12T19:37:34  *** laurentmt has quit IRC
2502016-04-12T19:38:50  *** laurentmt has joined #bitcoin-core-dev
2512016-04-12T19:51:45  *** muuqwaul has quit IRC
2522016-04-12T19:52:12  *** muuqwaul has joined #bitcoin-core-dev
2532016-04-12T19:53:39  *** fengling has joined #bitcoin-core-dev
2542016-04-12T19:57:56  *** fengling has quit IRC
2552016-04-12T20:01:07  *** hsmiths has joined #bitcoin-core-dev
2562016-04-12T20:02:48  *** cryptapus has quit IRC
2572016-04-12T20:03:42  *** d_t has joined #bitcoin-core-dev
2582016-04-12T20:03:50  *** laurentmt has quit IRC
2592016-04-12T20:20:01  *** Thireus has joined #bitcoin-core-dev
2602016-04-12T20:21:04  *** Ylbam has quit IRC
2612016-04-12T20:26:32  *** xabbix_ has quit IRC
2622016-04-12T20:29:17  *** Ylbam has joined #bitcoin-core-dev
2632016-04-12T20:30:21  *** xabbix_ has joined #bitcoin-core-dev
2642016-04-12T21:18:08  <paveljanik> http://eprint.iacr.org/2016/367
2652016-04-12T21:23:07  *** Chris_Stewart_5 has joined #bitcoin-core-dev
2662016-04-12T21:48:21  *** bsm117532 has joined #bitcoin-core-dev
2672016-04-12T21:56:06  *** fengling has joined #bitcoin-core-dev
2682016-04-12T22:00:56  *** fengling has quit IRC
2692016-04-12T22:02:36  <Chris_Stewart_5> Where does bitcoin core mark the script invalid if there are too many script opts in a OP_IF branch that is not executed
2702016-04-12T22:02:51  <Chris_Stewart_5> I'm looking at this right now, but I don't see how that would mark a script invalid if the ops are not executed
2712016-04-12T22:02:53  <Chris_Stewart_5> https://github.com/bitcoin/bitcoin/blob/master/src/script/interpreter.cpp#L269-L271
2722016-04-12T22:05:41  <Chris_Stewart_5> unless OP_IF operators are run through the interpreter even if the stack top is not true..
2732016-04-12T22:15:44  <sipa> why would they not?
2742016-04-12T22:16:49  <sipa> how would the interpreter even know what the operators are, without going through them
2752016-04-12T22:17:07  <sipa> like, how would it find the endif?
2762016-04-12T22:18:04  <Chris_Stewart_5> Most PLs don't execute code inside of OP_IF branches, isn't it simply discarded? Why would this be different?
2772016-04-12T22:18:32  <sipa> conceptually, sure
2782016-04-12T22:18:44  <sipa> but if you write and if branch in a program, it's still compiled
2792016-04-12T22:18:52  <sipa> the result is still part of the program
2802016-04-12T22:18:55  <Chris_Stewart_5> Why not delete all operators until OP_ELSE
2812016-04-12T22:18:56  <sipa> it's not gone
2822016-04-12T22:19:08  <sipa> how can you 'delete' them without going through them?
2832016-04-12T22:19:12  <Chris_Stewart_5> or OP_ENDIF if there is no OP_ELSE
2842016-04-12T22:19:23  <sipa> how will you find where the OP_ENDIF is?
2852016-04-12T22:19:31  <Chris_Stewart_5> Search the list for it?
2862016-04-12T22:19:47  <sipa> there is no more efficient way to do that than to just iterate through the operators :)
2872016-04-12T22:19:51  <Chris_Stewart_5> Am I confusing implementation of the language with the language itself?
2882016-04-12T22:20:06  <sipa> no, we're only talking about the implementation of the interpreter
2892016-04-12T22:20:32  <Chris_Stewart_5> what does vfExec stand for in english?
2902016-04-12T22:20:43  <sipa> vector of booleans named Exec
2912016-04-12T22:20:44  <Chris_Stewart_5> or what does it represent in the interpreter
2922016-04-12T22:21:03  <sipa> and there is one entry in that vector for each IF you're inside
2932016-04-12T22:21:32  <Chris_Stewart_5> sipa: Also what if the control structure of the program is encoded as a binary tree
2942016-04-12T22:21:49  <sipa> well it isn't
2952016-04-12T22:21:53  <sipa> it's a byte array
2962016-04-12T22:22:11  <Chris_Stewart_5> You can ignore the OP_IF branch by simply making the right branch (assumedly the OP_ELSE branch) the new root tree
2972016-04-12T22:22:33  <sipa> but the program is not represented as branches
2982016-04-12T22:22:38  <sipa> it's just a vector of bytes
2992016-04-12T22:23:29  <Chris_Stewart_5> is this one of those things that is too risky to change for fear of unintended consensus changes?
3002016-04-12T22:23:35  <sipa> hell yes
3012016-04-12T22:23:40  <Chris_Stewart_5> gotcha.
3022016-04-12T22:23:58  *** AaronvanW has quit IRC
3032016-04-12T22:24:43  <Chris_Stewart_5> So if I'm understanding this correctly, vfExec is just a vector of bools indicating if an OP_IF has matched it's OP_ENDIF?
3042016-04-12T22:25:20  <sipa> no, it's a vector of booleans saying whether you're in the executed side of the branch
3052016-04-12T22:25:55  <Chris_Stewart_5> ok. Thanks
3062016-04-12T22:28:33  <sipa> fun fact: you can create an ifthen .... else .... else .... else .... endif branch in bitcoin script
3072016-04-12T22:30:25  *** Guyver2 has quit IRC
3082016-04-12T22:31:37  *** Chris_Stewart_5 has quit IRC
3092016-04-12T22:44:23  *** paveljanik has quit IRC
3102016-04-12T22:45:06  *** paveljanik has joined #bitcoin-core-dev
3112016-04-12T22:51:05  *** Ylbam has quit IRC
3122016-04-12T23:00:48  *** TomMc has quit IRC
3132016-04-12T23:18:57  *** mrkent has joined #bitcoin-core-dev
3142016-04-12T23:35:26  *** johnwhitton has quit IRC
3152016-04-12T23:37:06  *** johnwhitton has joined #bitcoin-core-dev
3162016-04-12T23:39:11  *** johnwhitton has quit IRC
3172016-04-12T23:41:31  *** fengling has joined #bitcoin-core-dev