{"push_id":1384638436,"size":94,"distinct_size":94,"ref":"refs/heads/master","head":"2510baac35b6eb86a4a96ce8eab4cd8c49c1b0ca","before":"99165eb5580b0cb3af1401a9dd641af867852300","commits":[{"sha":"754c4fbe0cc528f7d7edd309d40db9aa873c7fe6","author":{"name":"Dave Collins","email":"4b5cc8591e1af5b3606cf32bb53d8e0bf0bb626a@conformal.com"},"message":"rpctest: Gate rpctest-based behind a build tag.\n\nThis adds a new build tag named rpctest which must be set in order for\nrpctest-based tests to be executed.  The new build tag is also added to\nthe goclean.sh script which is executed by Travis during continuous\nintegration builds.\n\nThis change is being made because the rpctest framework requires\nadditional careful user configuration to ensure the version of btcd\nunder test can be programmatically launched from the system path with\nall of the necessary ports open whereas all of the other tests are\nself-contained within the test binary itself.\n\nSince said additional configuration is typically not done, it leads to a\nlot of false positives.  Putting the tests behind a build tag allows\nthem to remain to be available and run during continuous integration\nwithout imposing the additional configuration requirements on users.","distinct":true,"url":"https://api.github.com/repos/sbwdlihao/btcd/commits/754c4fbe0cc528f7d7edd309d40db9aa873c7fe6"},{"sha":"42a4366ba8b170de11c471fdfb1f3eede9642a0f","author":{"name":"David Hill","email":"a58b4ea2976fe33680463d1f4994442b22754bb1@mindcry.org"},"message":"addrmgr: Fix AddressCache to not include nils\n\nallAddr was being allocated with counters instead of the actual size\r\nof the address map.  This led to the possibility of including nils\r\nin the returned slice, which resulted in a panic.","distinct":true,"url":"https://api.github.com/repos/sbwdlihao/btcd/commits/42a4366ba8b170de11c471fdfb1f3eede9642a0f"},{"sha":"77913ad2e8d62e8760aa66519eed3e2ec810da31","author":{"name":"Dave Collins","email":"4b5cc8591e1af5b3606cf32bb53d8e0bf0bb626a@conformal.com"},"message":"blockchain: Expose main chain flag on ProcessBlock.\n\nThis modifies the blockchain.ProcessBlock function to return an\nadditional boolean as the first parameter which indicates whether or not\nthe block ended up on the main chain.\n\nThis is primarily useful for upcoming test code that needs to be able to\ntell the difference between a block accepted to a side chain and a block\nthat either extends the main chain or causes a reorganize that causes it\nto become the main chain.  However, it is also useful for the addblock\nutility since it allows a better error in the case a file with out of\norder blocks is provided.","distinct":true,"url":"https://api.github.com/repos/sbwdlihao/btcd/commits/77913ad2e8d62e8760aa66519eed3e2ec810da31"},{"sha":"8965d888931238fd17b3ea9ae70216f1c3ce6e6a","author":{"name":"Dave Collins","email":"4b5cc8591e1af5b3606cf32bb53d8e0bf0bb626a@conformal.com"},"message":"peer: Strictly enforce bloom filter service bit.\n\nThis makes the enforcement of the bloom filter service bit much more\nstrict.  In particular, it does the following:\n\n- Moves the enforcement of the bloom filter service bit out of the peer\n  package and into the server so the server can ban as necessary\n- Disconnect peers that send filter commands when the server is\n  configured to disable them regardless of the protocol version\n- Bans peers that are a high enough protocol version that they are\n  supposed to observe the service bit is disabled, but ignore it and\n  send filter commands regardless.\n\nAs an added bonus, this fixes the old logic which had a bug in that it\nwas examining the *remote* peer's supported services in order to choose\nwhether or not to disconnect instead of the *local* server's supported\nservices.","distinct":true,"url":"https://api.github.com/repos/sbwdlihao/btcd/commits/8965d888931238fd17b3ea9ae70216f1c3ce6e6a"},{"sha":"e88f2d7bf413c9e9b7f05ffe3d30f0e5ca36f803","author":{"name":"Dave Collins","email":"4b5cc8591e1af5b3606cf32bb53d8e0bf0bb626a@conformal.com"},"message":"mempool: Add test for max orphan entry eviction.\n\nThis adds a test to the mempool for ensuring that orphans are evicted\nwhen exceeding the max orphan policy setting as expected.","distinct":true,"url":"https://api.github.com/repos/sbwdlihao/btcd/commits/e88f2d7bf413c9e9b7f05ffe3d30f0e5ca36f803"},{"sha":"1cba5c8fc0e39f9e65c5d0bb6f4750dfd1e3f02a","author":{"name":"Dave Collins","email":"4b5cc8591e1af5b3606cf32bb53d8e0bf0bb626a@conformal.com"},"message":"blockchain: Remove exported CalcPastTimeMedian func.\n\nThis removes the exported CalcPastTimeMedian function from the\nblockchain package as it is no longer needed since the information is\nnow available via the BestState snapshot.\n\nAlso, update the only known caller of this, which is the chain state in\nblock manager, to use the snapshot instead.  In reality, now that\neverything the block manager chain state provides is available via the\nblockchain BestState snapshot, the entire thing can be removed, however\nthat will be done in a separate to commit to keep the changes targeted.","distinct":true,"url":"https://api.github.com/repos/sbwdlihao/btcd/commits/1cba5c8fc0e39f9e65c5d0bb6f4750dfd1e3f02a"},{"sha":"f21410e47c5ae0a14849c54f7b8076f5c2f874e9","author":{"name":"Dave Collins","email":"4b5cc8591e1af5b3606cf32bb53d8e0bf0bb626a@conformal.com"},"message":"blockchain: Add block validation infrastructure.\n\nThis adds a full-blown testing infrastructure in order to test consensus\nvalidation rules.  It is built around the idea of dynamically generating\nfull blocks that target specific rules linked together to form a block\nchain.  In order to properly test the rules, each test instance starts\nwith a valid block that is then modified in the specific way needed to\ntest a specific rule.\n\nBlocks which exercise following rules have been added for this initial\nversion.  These tests were largely ported from the original Java-based\n'official' block acceptance tests as well as some additional tests\navailable in the Core python port.  It is expected that further tests\ncan be added over time as consensus rules change.\n\n* Enough valid blocks to have a stable base of mature coinbases to spend\n  for futher tests\n* Basic forking and chain reorganization\n* Double spends on forks\n* Too much proof-of-work coinbase (extending main chain, in block that\n  forces a reorg, and in a valid fork)\n* Max and too many signature operations via various combinations of\n  OP_CHECKSIG, OP_MULTISIG, OP_CHECKSIGVERIFY, and OP_MULTISIGVERIFY\n* Too many and max signature operations with offending sigop after\n  invalid data push\n* Max and too many signature operations via pay-to-script-hash redeem\n  scripts\n* Attempt to spend tx created on a different fork\n* Attempt to spend immature coinbase (on main chain and fork)\n* Max size block and block that exceeds the max size\n* Children of rejected blocks are either orphans or rejected\n* Coinbase script too small and too large\n* Max length coinbase script\n* Attempt to spend tx in blocks that failed to connect\n* Valid non-coinbase tx in place of coinbase\n* Block with no transactions\n* Invalid proof-of-work\n* Block with a timestamp too far in the future\n* Invalid merkle root\n* Invalid proof-of-work limit (bits header field)\n* Negative proof-of-work limit (bits header field)\n* Two coinbase transactions\n* Duplicate transactions\n* Spend from transaction that does not exist\n* Timestamp exactly at and one second after the median time\n* Blocks with same hash via merkle root tricks\n* Spend from transaction index that is out of range\n* Transaction that spends more that its inputs provide\n* Transaction with same hash as an existing tx that has not been\n  fully spent (BIP0030)\n* Non-final coinbase and non-coinbase txns\n* Max size block with canonical encoding which exceeds max size with\n  non-canonical encoding\n* Spend from transaction earlier in same block\n* Spend from transaction later in same block\n* Double spend transaction from earlier in same block\n* Coinbase that pays more than subsidy + fees\n* Coinbase that includes subsidy + fees\n* Invalid opcode in dead execution path\n* Reorganization of txns with OP_RETURN outputs\n* Spend of an OP_RETURN output\n* Transaction with multiple OP_RETURN outputs\n* Large max-sized block reorganization test (disabled by default since\n  it takes a long time and a lot of memory to run)\n\nFinally, the README.md files in the main and docs directories have been\nupdated to reflect the use of the new testing framework.","distinct":true,"url":"https://api.github.com/repos/sbwdlihao/btcd/commits/f21410e47c5ae0a14849c54f7b8076f5c2f874e9"},{"sha":"ca4e9b82d639837e4d7b2071c9c32c0e54f49a4c","author":{"name":"David Hill","email":"a58b4ea2976fe33680463d1f4994442b22754bb1@mindcry.org"},"message":"wire: implement feefilter message (bip0133)\n\nfeefilter is used to request the receiving peer does not announce any\ntransactions below the specified minimum fee rate.","distinct":true,"url":"https://api.github.com/repos/sbwdlihao/btcd/commits/ca4e9b82d639837e4d7b2071c9c32c0e54f49a4c"},{"sha":"9935fe5dba371df20afa0af30eb4488d13d44931","author":{"name":"David Hill","email":"a58b4ea2976fe33680463d1f4994442b22754bb1@mindcry.org"},"message":"wire: Bump minor due to feefilter addition","distinct":true,"url":"https://api.github.com/repos/sbwdlihao/btcd/commits/9935fe5dba371df20afa0af30eb4488d13d44931"},{"sha":"d009185a56930ee32e8415c55956f1000f59213d","author":{"name":"David Hill","email":"a58b4ea2976fe33680463d1f4994442b22754bb1@mindcry.org"},"message":"peer: Implement feefilter p2p message (bip0133)","distinct":true,"url":"https://api.github.com/repos/sbwdlihao/btcd/commits/d009185a56930ee32e8415c55956f1000f59213d"},{"sha":"a52eb04aaabfb7f6ec03b8cdab8a432b58fd3862","author":{"name":"Dave Collins","email":"4b5cc8591e1af5b3606cf32bb53d8e0bf0bb626a@conformal.com"},"message":"btcec: Ensure reduction when > P in all cases.\n\nAs noted in issue #706, the existing code had an issue where the\nnormalized result was > P when both the first and second words of the\nfield representation being normalized were BOTH greater than or equal to\nthe first and second words of P.  Although this condition is rare in\npractice, it needs to be handled properly.\n\nThis resolves the issue by comparing the low words in the final\nreduction step against the normalized low order prime bits to ensure the\nfinal subtraction occurs correctly any time they're > P.  This approach\nretains the constant time property as well.","distinct":true,"url":"https://api.github.com/repos/sbwdlihao/btcd/commits/a52eb04aaabfb7f6ec03b8cdab8a432b58fd3862"},{"sha":"294b5d46da4ea05bc0df80e4a6b5f46c6ca9c8cb","author":{"name":"Jimmy Song","email":"09ed38d7e9044ed6c6ee7af371b04d3ea1277ac7@gmail.com"},"message":"btcec: Add regression tests for field.go.\n\nThis adds new tests to the TestNormalize, TestMul, TestAdd2 functions\nwhich trigger an issue with modular reduction that was fixed in the\nprevous commit to prevent regressions.","distinct":true,"url":"https://api.github.com/repos/sbwdlihao/btcd/commits/294b5d46da4ea05bc0df80e4a6b5f46c6ca9c8cb"},{"sha":"b1621332cc6d5860f58a7526088569e92af05ae0","author":{"name":"David Hill","email":"a58b4ea2976fe33680463d1f4994442b22754bb1@mindcry.org"},"message":"Optimize by removing defers\n\ndefer's are nice for readability but they do add overhead.  This\ngets rid of defer's where it is just as easy as not to use one.","distinct":true,"url":"https://api.github.com/repos/sbwdlihao/btcd/commits/b1621332cc6d5860f58a7526088569e92af05ae0"},{"sha":"fdfa07b0be83a9d6babbc5f96fc3e066ded11c91","author":{"name":"Dave Collins","email":"4b5cc8591e1af5b3606cf32bb53d8e0bf0bb626a@conformal.com"},"message":"btcec: Consolidate tests into the btcec package.\n\nPutting the test code in the same package makes it easier for forks\nsince they don't have to change the import paths as much and it also\ngets rid of the need for internal_test.go to bridge.\n\nAlso, remove the exception from the lint checks about returning the\nunexported type since it is no longer required.","distinct":true,"url":"https://api.github.com/repos/sbwdlihao/btcd/commits/fdfa07b0be83a9d6babbc5f96fc3e066ded11c91"},{"sha":"a6bf1d9850f857f8971204b62c466c4b0f7be2ac","author":{"name":"David Hill","email":"a58b4ea2976fe33680463d1f4994442b22754bb1@mindcry.org"},"message":"txscript: Implement CheckSequenceVerify (BIP0112)","distinct":true,"url":"https://api.github.com/repos/sbwdlihao/btcd/commits/a6bf1d9850f857f8971204b62c466c4b0f7be2ac"},{"sha":"a82f67b538d50501741a3322238218577fd62669","author":{"name":"Olaoluwa Osuntokun","email":"69a12c6742ae5b3329f557d3da17697582c2d0a3@gmail.com"},"message":"mempool: add closure to compute median time past to config\n\nThis commit adds an additional closure function to the mempool’s config\nwhich computes the median time past from the point of view of the best\nnode in the chain. The mempool test harness has also been updated to allow\nsetting a mock median time past for testing purposes.\n\nIn addition to increasing the testability of the mempool, this commit\nshould also speed up transaction and block validation for BIP 113 as\nthe MTP no longer needs to be re-calculated each time from scratch.","distinct":true,"url":"https://api.github.com/repos/sbwdlihao/btcd/commits/a82f67b538d50501741a3322238218577fd62669"},{"sha":"e7caccc866b2caef61aefc9790a952c94cd04fd5","author":{"name":"Olaoluwa Osuntokun","email":"69a12c6742ae5b3329f557d3da17697582c2d0a3@gmail.com"},"message":"mempool: transaction finality checks now use median-time-past\n\nThis coincides with the mempool only, policy change which enforces\ntransaction finality according to the median-time-past rather than\nblockheader timestamps. The behavior is pre-cursor to full blown BIP\n113 consensus deployment, and subsequent activation.\n\nAs a result, the TimeSource field in the mempoolConfig is no longer\nneeded so it has been removed. Additionally, checkTransactionStandard has been\nmodified to instead take a time.Time as the mempool is no longer explicitly\ndependant on a Chain instance.","distinct":true,"url":"https://api.github.com/repos/sbwdlihao/btcd/commits/e7caccc866b2caef61aefc9790a952c94cd04fd5"},{"sha":"403aaf5cf31eabb8408740d2fb3df0de9d1fa257","author":{"name":"David Hill","email":"a58b4ea2976fe33680463d1f4994442b22754bb1@mindcry.org"},"message":"rpcserver: avoid nested decodescript p2sh addrs","distinct":true,"url":"https://api.github.com/repos/sbwdlihao/btcd/commits/403aaf5cf31eabb8408740d2fb3df0de9d1fa257"},{"sha":"3b5bb9fd43eaab2dc902c47b4900b8161b77330a","author":{"name":"David Hill","email":"a58b4ea2976fe33680463d1f4994442b22754bb1@mindcry.org"},"message":"btcjson: Add preciousblock","distinct":true,"url":"https://api.github.com/repos/sbwdlihao/btcd/commits/3b5bb9fd43eaab2dc902c47b4900b8161b77330a"},{"sha":"07e1e308f1469b56ad3b8d7d3dc02466673e0deb","author":{"name":"David Hill","email":"a58b4ea2976fe33680463d1f4994442b22754bb1@mindcry.org"},"message":"rpc:  Add localaddr and relaytxes to getpeerinfo","distinct":true,"url":"https://api.github.com/repos/sbwdlihao/btcd/commits/07e1e308f1469b56ad3b8d7d3dc02466673e0deb"}]}
{"actor":{"display_login":"sbwdlihao"}}