{"push_id":922266567,"size":12,"distinct_size":12,"ref":"refs/heads/thinblock-fortestnet3","head":"f340f071037da1cd837fda60a24396aa7ea0d00f","before":"11c37f3a657070dbd71b8c2dcbec1ad39b197ee1","commits":[{"sha":"d8b42d302ceb76616ef35cf3d3fc1c807ebdc7b4","author":{"email":"e3b6cda228242c30b711ac17cb264f1dbadfd0b6@petertodd.org","name":"Peter Todd"},"message":"Add uint256 support to CRollingBloomFilter","distinct":true,"url":"https://api.github.com/repos/dagurval/bitcoinxt/commits/d8b42d302ceb76616ef35cf3d3fc1c807ebdc7b4"},{"sha":"03a19faa04b4a2f3014e0b4d4f5217ac33a2029d","author":{"email":"e3b6cda228242c30b711ac17cb264f1dbadfd0b6@petertodd.org","name":"Peter Todd"},"message":"Make CRollingBloomFilter set nTweak for you\n\nWhile CBloomFilter is usually used with an explicitly set nTweak,\nCRollingBloomFilter is only used internally. Requiring every caller to\nset nTweak is error-prone and redundant; better to have the class handle\nthat for you with a high-quality randomness source.\n\nAdditionally when clearing the filter it makes sense to change nTweak as\nwell to recover from a bad setting, e.g. due to insufficient randomness\nat initialization, so the clear() method is replaced by a reset() method\nthat sets a new, random, nTweak value.","distinct":true,"url":"https://api.github.com/repos/dagurval/bitcoinxt/commits/03a19faa04b4a2f3014e0b4d4f5217ac33a2029d"},{"sha":"5dab46b706294341ea0a51ceee420e93aea5f54e","author":{"email":"c1fe694431f9243042d0eb4561d822ec1200493d@gmail.com","name":"Pieter Wuille"},"message":"Reuse vector hashing code for uint256","distinct":true,"url":"https://api.github.com/repos/dagurval/bitcoinxt/commits/5dab46b706294341ea0a51ceee420e93aea5f54e"},{"sha":"0ba6f77aa64fac0de57994f541abf0e67523d010","author":{"email":"c1fe694431f9243042d0eb4561d822ec1200493d@gmail.com","name":"Pieter Wuille"},"message":"Only use randomly created nonces in CRollingBloomFilter.","distinct":true,"url":"https://api.github.com/repos/dagurval/bitcoinxt/commits/0ba6f77aa64fac0de57994f541abf0e67523d010"},{"sha":"439adb007bd89f1ffd87cb68afe6f35092f2e834","author":{"email":"79e2475f81a6317276bf7cbb3958b20d289b78df@xiph.org","name":"Gregory Maxwell"},"message":"Replace setInventoryKnown with a rolling bloom filter.\n\nMruset setInventoryKnown was reduced to a remarkably small 1000\n entries as a side effect of sendbuffer size reductions in 2012.\n\nThis removes setInventoryKnown filtering from merkleBlock responses\n because false positives there are especially unattractive and\n also because I'm not sure if there aren't race conditions around\n the relay pool that would cause some transactions there to\n be suppressed. (Also, ProcessGetData was accessing\n setInventoryKnown without taking the required lock.)","distinct":true,"url":"https://api.github.com/repos/dagurval/bitcoinxt/commits/439adb007bd89f1ffd87cb68afe6f35092f2e834"},{"sha":"5c2cf4f6b5c41f16dcec70dae507786330835e38","author":{"email":"c1fe694431f9243042d0eb4561d822ec1200493d@gmail.com","name":"Pieter Wuille"},"message":"Switch to a more efficient rolling Bloom filter\n\nFor each 'bit' in the filter we really maintain 2 bits, which store either:\n0: not set\n1-3: set in generation N\n\nAfter (nElements / 2) insertions, we switch to a new generation, and wipe\nentries which already had the new generation number, effectively switching\nfrom the last 1.5 * nElements set to the last 1.0 * nElements set.\n\nThis is 25% more space efficient than the previous implementation, and can\n(at peak) store 1.5 times the requested amount of history (though only\n1.0 times the requested history is guaranteed).\n\nThe existing unit tests should be sufficient.","distinct":true,"url":"https://api.github.com/repos/dagurval/bitcoinxt/commits/5c2cf4f6b5c41f16dcec70dae507786330835e38"},{"sha":"7745cf7d11612cf647f8461794823a321efb18b4","author":{"email":"79e2475f81a6317276bf7cbb3958b20d289b78df@xiph.org","name":"Gregory Maxwell"},"message":"Remove mruset as it is no longer used.","distinct":true,"url":"https://api.github.com/repos/dagurval/bitcoinxt/commits/7745cf7d11612cf647f8461794823a321efb18b4"},{"sha":"0282a45a28324e54955c2bace763b2d1d37ffc76","author":{"email":"426f03743d3b213ccec98bc9e346670a9e58af02@gmail.com","name":"Patick Strateman"},"message":"Rename setInventoryKnown filterInventoryKnown","distinct":true,"url":"https://api.github.com/repos/dagurval/bitcoinxt/commits/0282a45a28324e54955c2bace763b2d1d37ffc76"},{"sha":"3031fdec12ff4c7afdf73a5c641e9e48c941c5d5","author":{"email":"426f03743d3b213ccec98bc9e346670a9e58af02@gmail.com","name":"Patick Strateman"},"message":"Only use filterInventoryKnown with MSG_TX inventory messages.\n\nPreviously this logic could erroneously filter a MSG_BLOCK inventory message.","distinct":true,"url":"https://api.github.com/repos/dagurval/bitcoinxt/commits/3031fdec12ff4c7afdf73a5c641e9e48c941c5d5"},{"sha":"03ba79b5615b37381254835b863f8d18d2c274b0","author":{"email":"79e2475f81a6317276bf7cbb3958b20d289b78df@xiph.org","name":"Gregory Maxwell"},"message":"Actually only use filterInventoryKnown with MSG_TX inventory messages.\n\nPreviously this logic could erroneously filter a MSG_BLOCK inventory message.","distinct":true,"url":"https://api.github.com/repos/dagurval/bitcoinxt/commits/03ba79b5615b37381254835b863f8d18d2c274b0"},{"sha":"7501029417690551a4f0644dec220c0c26633186","author":{"email":"bdf3cbf21097226c0737854a1155d05c5728eeac@pvv.ntnu.no","name":"Dagur Valberg Johannsson"},"message":"Announce NODE_BLOOM service bit and bump protocol version","distinct":true,"url":"https://api.github.com/repos/dagurval/bitcoinxt/commits/7501029417690551a4f0644dec220c0c26633186"},{"sha":"f340f071037da1cd837fda60a24396aa7ea0d00f","author":{"email":"bdf3cbf21097226c0737854a1155d05c5728eeac@pvv.ntnu.no","name":"Dagur Valberg Johannsson"},"message":"Refactor thin block logic and add tests. Support fetching thin block in parallel. Check for bloom support. Handle more erro and corner cases.","distinct":true,"url":"https://api.github.com/repos/dagurval/bitcoinxt/commits/f340f071037da1cd837fda60a24396aa7ea0d00f"}]}