Permalink
Commits on Oct 25, 2017
  1. Create CNAME

    BitcoinUranium committed Oct 25, 2017
  2. Updated readme

    BitcoinUranium committed Oct 25, 2017
Commits on Oct 23, 2017
  1. Merge bitcoin#11538: qa: Fix race condition failures in replace-by-fe…

    MarcoFalke committed Oct 23, 2017
    …e.py, sendheaders.py
    
    6d51eae qa: Fix race condition in sendheaders.py (Suhas Daftuar)
    c96b2e4 qa: Fix replace-by-fee race condition failures (Suhas Daftuar)
    
    Pull request description:
    
      I think bitcoin#11407 broke replace-by-fee by introducing a race condition.  I was observing frequent failures of replace-by-fee locally, always with a mempool sync failure (the sync call was added in bitcoin#11407).
    
      It appeared to me like there were two causes: sometimes the node would be in IBD and not request the transaction that was relayed; other times the blocks generated in make_utxo wouldn't have relayed quickly enough for the spend of the transaction to be accepted.  I believe I've fixed both potential errors.
    
      ping @instagibbs
    
      Edit: I found a race condition in the sendheaders.py test, where if the verack from the python node wasn't processed before the first block in the test was generated, then no block announcement would go out to that peer, breaking the test.  Fixed by adding a sync_with_ping after waiting for verack.
    
    Tree-SHA512: 6ad160966e432c151c1ce6e88ae67e60e47123523bda3755cf7697a00e1a5ba38de8561751826e3d7cf0e492f8c2aec298e1b4de8424ebbaf497f099a1ef1d07
  2. Merge bitcoin#11499: [Qt] Add upload and download info to the peerlis…

    jonasschnelli committed Oct 23, 2017
    …t (debug menu)
    
    6b1891e Add Sent and Received information to the debug menu peer list (Aaron Golliver)
    8e4aa35 move human-readable byte formatting to guiutil (Aaron Golliver)
    
    Pull request description:
    
      Makes the peer list display how much you've uploaded/downloaded from each peer.
    
      Here's a screenshot ~~[outdated](https://i.imgur.com/MhPbItp.png)~~, [current](https://i.imgur.com/K1htrVv.png) of how it looks. You can now sort to see who are the peers you've uploaded the most too.
    
      I also moved `RPCConsole::FormatBytes` to `guiutil::formatBytes` so I could use it in the peerlist
    
    Tree-SHA512: 8845ef406e4cbe7f981879a78c063542ce90f50f45c8fa3514ba3e6e1164b4c70bb2093c4e1cac268aef0328b7b63545bc1dfa435c227f28fdb4cb0a596800f5
Commits on Oct 21, 2017
  1. Merge bitcoin#11458: Don't process unrequested, low-work blocks

    laanwj committed Oct 21, 2017
    01b52ce Add comment explaining forced processing of compact blocks (Suhas Daftuar)
    08fd822 qa: add test for minchainwork use in acceptblock (Suhas Daftuar)
    ce8cd7a Don't process unrequested, low-work blocks (Suhas Daftuar)
    
    Pull request description:
    
      A peer could try to waste our resources by sending us unrequested blocks with
      low work (eg to fill up our disk).  Since e265200 we no longer request blocks until we
      know we're on a chain with more than nMinimumChainWork (our anti-DoS
      threshold), but we would still process unrequested blocks that had more work
      than our tip (which generally has low-work during IBD), even though we may not
      yet have found a headers chain with sufficient work.
    
      Fix this and add a test.
    
    Tree-SHA512: 1a4fb0bbd78054b84683f995c8c3194dd44fa914dc351ae4379c7c1a6f83224f609f8b9c2d9dde28741426c6af008ffffea836d21aa31a5ebaa00f8e0f81229e
  2. Merge bitcoin#11539: [verify-commits] Allow revoked keys to expire

    laanwj committed Oct 21, 2017
    d23be30 [verify-commits] Allow revoked keys to expire (Matt Corallo)
    
    Pull request description:
    
      This should fix verify-commits on master.
    
    Tree-SHA512: 9bfca41fdfcdb11f6d07fcbc80a7b2de37706051e963292e0fbb4c608f146c87b65ab1e8395792197b4a7099e89fa045f278a60276672f6540b68d5e15b5a4a7
Commits on Oct 20, 2017
  1. Don't process unrequested, low-work blocks

    sdaftuar committed Oct 6, 2017
    A peer could try to waste our resources by sending us unrequested blocks with
    low work, eg to fill up our disk.  Since
    e265200 we no longer request blocks until we
    know we're on a chain with more than nMinimumChainWork (our anti-DoS
    threshold), but we would still process unrequested blocks that had more work
    than our tip.  This commit fixes that behavior.
Commits on Oct 19, 2017
  1. Merge bitcoin#11529: Avoid slow transaction search with txindex enabled

    laanwj committed Oct 19, 2017
    7a5f930 Avoid slow transaction search with txindex enabled (João Barbosa)
    
    Pull request description:
    
      This is an alternative to bitcoin#11507 where a slow search is not attempted (in any case) if `txindex` is enabled.
    
    Tree-SHA512: e680621781a9241c0513ddd79d23b0b42f3ccec8a63ed1c926b35c43321c81c39a1028770397dd5070501dcf644d897026a2bd68a161a4b435f19227c1bbca48
  2. Merge bitcoin#11476: Avoid opening copied wallet databases simultaneo…

    laanwj committed Oct 19, 2017
    …usly
    
    478a89c Avoid opening copied wallet databases simultaneously (Russell Yanofsky)
    
    Pull request description:
    
      Make sure wallet databases have unique fileids. If they don't, throw an error. BDB caches do not work properly when more than one open database has the same fileid, because values written to one database may show up in reads to other databases.
    
      Bitcoin will never create different databases with the same fileid, but users can create them by manually copying database files.
    
      BDB caching bug was reported by @dooglus in bitcoin#11429
    
    Tree-SHA512: e7635dc81a181801f42324b72fe9e0a2a7dd00b1dcf5abcbf27fa50938eb9a1fc3065c2321326c3456c48c29ae6504353b02f3d46e6eb2f7b09e46d8fe24388d
  3. Merge bitcoin#11527: Remove my testnet DNS seed as I currently don't …

    laanwj committed Oct 19, 2017
    …have the capacity to …
    
    132d322 Remove my testnet DNS seed as I currently don't have the capacity to keep it up to date. (Andreas Schildbach)
    
    Pull request description:
    
      …keep it up to date.
    
      I suggest to consider this for backporting.
    
    Tree-SHA512: 2aadb60e9ecab1756f835e62ab784124c61a1fa59380d299ce482f826169da9ed8b7f8615ea9d8d3484eac0b32a9e974685ddc51723c7782a472bc0386243898
  4. Avoid opening copied wallet databases simultaneously

    ryanofsky committed Oct 10, 2017
    Make sure wallet databases have unique fileids. If they don't, throw an error.
    BDB caches do not work properly when more than one open database has the same
    fileid, because values written to one database may show up in reads to other
    databases.
    
    Bitcoin will never create different databases with the same fileid, but users
    can create them by manually copying database files.
    
    BDB caching bug was reported by Chris Moore <dooglus@gmail.com>
    bitcoin#11429
    
    Fixes bitcoin#11429
  5. Merge bitcoin#11521: travis: move back to the minimal image

    laanwj committed Oct 19, 2017
    3d1c311 Revert "travis: filter out pyenv" (Cory Fields)
    a86e81b travis: move back to the minimal image (Cory Fields)
    
    Pull request description:
    
      The most recent update replaced the minimal image with a large one for the
      'generic' image. Switching back to 'minimal' should reduce dependencies and
      maybe speed us up some.
    
      It should also eliminiate the need for aa2e0f0.
    
    Tree-SHA512: 0e5f3e97e8d97add07ea228bc5ce1e51e8e069950dbb2871a7eece297995f20b671afdf1c68211ce404cba3ba393d61dfef30ed54d46d6805fde9388f6b4455e
Commits on Oct 18, 2017
  1. Revert "travis: filter out pyenv"

    theuni committed Oct 18, 2017
    This reverts commit aa2e0f0.
  2. travis: move back to the minimal image

    theuni committed Oct 18, 2017
    The most recent update replaced the minimal image with a large one for the
    'generic' image. Switching back to 'minimal' should reduce dependencies and
    maybe speed us up some.
    
    It should also eliminiate the need for aa2e0f0.
  3. Merge bitcoin#11452: Improve ZMQ functional test

    laanwj committed Oct 18, 2017
    cc9ee80 Improve ZMQ functional test (João Barbosa)
    
    Pull request description:
    
      After bitcoin#11439, this PR only improves:
       - test comments;
       - simplicity by removing *duplicate* tests;
       - also removes duplicate code.
    
    Tree-SHA512: 3636fa9694c827128128742ad31e635d19670c3645aef8e7b1cb46069c21631e8b0db059486a6f6e7eee237a23d93bce6df95190394b5a8dcfce31a49a72d17f
  4. Merge bitcoin#11467: Fix typos. Use nullptr instead of NULL.

    laanwj committed Oct 18, 2017
    0aacfa4 Remove accidental stray semicolon (practicalswift)
    68feb49 Use nullptr instead of NULL (practicalswift)
    c6b07fd Fix a vs. an typo (practicalswift)
    
    Pull request description:
    
      Minor cleanups:
      * Typo: Fix a vs. an typo
      * Typo: Remove accidental stray semicolon (only remaining instance in repo)
      * Correctness/consistency: Use `nullptr` instead of `NULL` (only remaining instance in repo)
    
    Tree-SHA512: 47142e557da9d3fa0b532c46edeb7f356a1f6dc5973e60b0e496badff3581ff696eade542d49da777ac7f2e895129cc8487ccdb1984ff828434fa86f9a56dad0
  5. Merge bitcoin#11472: qa: Make tmpdir option an absolute path, misc cl…

    laanwj committed Oct 18, 2017
    …eanup
    
    fafa003 qa: Remove never used return value of sync_with_ping (MarcoFalke)
    fa9de37 qa: Make tmpdir option an absolute path (MarcoFalke)
    
    Pull request description:
    
      This should fix issues with the multiwallet test and its symlinks
      when the tmpdir is a relative path.
    
      Rather than fixing os.symlink to work with paths relative to a
      directory descriptor, which does not work on Windows, normalize
      the path instead.
    
    Tree-SHA512: 189690f3d065ea2f0f48e06775c86d513d0916c7c86312432e8e16df160e65539e288c2bd53d49a4180735fa940f6fcd52b506ccd7d9815651a9b1a69850dda6
  6. Merge bitcoin#11495: [trivial] Make namespace explicit for is_regular…

    laanwj committed Oct 18, 2017
    …_file
    
    f4c4e38 [trivial] Make namespace explicit for is_regular_file (John Newbery)
    
    Pull request description:
    
      is_regular_file resolves using argument dependent lookup. Make the
      namespace explicit so it's obvious where the function is defined.
    
      For those not familiar with argument dependent lookups:
    
      - http://en.cppreference.com/w/cpp/language/adl
      - https://en.wikipedia.org/wiki/Argument-dependent_name_lookup
    
      Thanks to C++ guru @ryanofsky for pointing this out to me.
    
    Tree-SHA512: 919f1818081a8f90c5751181f87e13b06d90f8aec0ab873100434e55c85cca6e0e288ecc7f135e19e9b5dba7952e96b6393864b7840e20b69dd40e92a157928b
  7. Merge bitcoin#11006: Improve shutdown process

    laanwj committed Oct 18, 2017
    793667a Improve shutdown process (João Barbosa)
    
    Pull request description:
    
      Improve the shutdown time by not having to wait up to 2 seconds.
    
      Here is a comparison running `wallet.py` function tests before this PR:
      ```
      2017-08-08 03:25:20.881000 TestFramework (INFO): Initializing test directory /var/folders/1v/8_69hby54nj2k3n6fywt44x80000gn/T/testq_ramjjr
      2017-08-08 03:25:23.853000 TestFramework (INFO): Mining blocks...
      2017-08-08 03:25:24.132000 TestFramework (INFO): test getmemoryinfo
      2017-08-08 03:25:24.559000 TestFramework (INFO): test gettxout
      2017-08-08 03:25:59.858000 TestFramework (INFO): check -rescan
      2017-08-08 03:26:07.735000 TestFramework (INFO): check -reindex
      2017-08-08 03:26:15.751000 TestFramework (INFO): check -zapwallettxes=1
      2017-08-08 03:26:24.105000 TestFramework (INFO): check -zapwallettxes=2
      2017-08-08 03:26:36.694000 TestFramework (INFO): Stopping nodes
      2017-08-08 03:26:43.599000 TestFramework (INFO): Cleaning up
      2017-08-08 03:26:43.612000 TestFramework (INFO): Tests successful
      ```
      After:
      ```
      2017-08-08 03:24:04.319000 TestFramework (INFO): Initializing test directory /var/folders/1v/8_69hby54nj2k3n6fywt44x80000gn/T/testoqeyi50_
      2017-08-08 03:24:07.035000 TestFramework (INFO): Mining blocks...
      2017-08-08 03:24:07.317000 TestFramework (INFO): test getmemoryinfo
      2017-08-08 03:24:07.763000 TestFramework (INFO): test gettxout
      2017-08-08 03:24:25.715000 TestFramework (INFO): check -rescan
      2017-08-08 03:24:27.792000 TestFramework (INFO): check -reindex
      2017-08-08 03:24:29.797000 TestFramework (INFO): check -zapwallettxes=1
      2017-08-08 03:24:32.207000 TestFramework (INFO): check -zapwallettxes=2
      2017-08-08 03:24:36.812000 TestFramework (INFO): Stopping nodes
      2017-08-08 03:24:37.915000 TestFramework (INFO): Cleaning up
      2017-08-08 03:24:37.927000 TestFramework (INFO): Tests successful
      ```
      This largely improves the time spent in Travis (under evaluation).
    
    Tree-SHA512: 023012fb3f8a380addf5995a4bf865862fed712cdd1a648d82a710e6566bc3bd34b6c49f9f06d6cc6bd81ca859da50d30d7f786c816e702549ab642e3476426f
  8. Merge bitcoin#11486: [tests] Add uacomment tests

    laanwj committed Oct 18, 2017
    c5dfa90 [tests] Add uacomment tests (Cristian Mircea Messel)
    
    Pull request description:
    
      Checks for setting the value, max length and reserved characters
    
    Tree-SHA512: a62e2cf8e455a3cd3987c0855f7bfc49de47504c01263e3573366e3cbff400c5678224773d4f1e4ac684fff34d987994e490a0978c4da05ff2a4bfa972c84723
  9. Merge bitcoin#11492: [wallet] Fix leak in CDB constructor

    laanwj committed Oct 18, 2017
    7104de8 [wallet] Fix leak in CDB constructor (João Barbosa)
    
    Pull request description:
    
      First commit fixes a minor leak.
      Second commit improves the constructor in the failure cases.
    
    Tree-SHA512: 5165413d60ed9fc28203c9fe128adbba03a9ea9e9aa3734d9ea2522dafd815ba0fb8b90fd0809dbc06eb3ad360e7764de01dadf653ade3350fe86f6b8f04bc90
  10. Merge bitcoin#11508: Fix crash via division by zero assertion

    laanwj committed Oct 18, 2017
    207408b Fix crash via division by zero assertion (Jonas Schnelli)
    
    Pull request description:
    
      Replaces the newly added `assert` for a devision by zero protection by a control structure. Floating point division by zero is defined by the floating point standard and results in +inf or -inf.
    
      Introduced in bitcoin#11133
      Reported by @mzhou, fixes bitcoin#11501
    
    Tree-SHA512: ac9b4efa3ba52a2aa246fb11170128c4aaf829fd491b649524c85069c6ed33ae612e761809aea9d9a44bdea29a417b3f3a558226495094b5070a42a56b2ac77e
  11. Merge bitcoin#11062: [mempool] Mark mempool import fails that were fo…

    sipa committed Oct 18, 2017
    …und in mempool as 'already there'
    
    258d33b [mempool] Mark unaccepted txs present in mempool as 'already there'. (Karl-Johan Alm)
    
    Pull request description:
    
      I was investigating the reasons for failed imports in mempool and noticed that `LoadMempool()` and `pwallet->postInitProcess()` (for all wallets) are executed concurrently. The wallet will end up importing transactions that `LoadMempool()` later tries to import; the latter will fail due to the tx already being in the mempool.
    
      This PR changes the log message, adding an additional "already there" entry. For transactions not accepted into mempool, a check if they are in the mempool is done first, and if found, they are counted as 'already there', otherwise counted as 'failed'.
    
      Also slight rewording for consistency (successes, failed, expired, ... -> succeeded, failed, expired).
    
    Tree-SHA512: 1a6134a25260917f2768365e0dfd8b278fe3f8287cab38bb028b7de3d517718a2d37696186dc7a23ceab338cc755fbbe7d45358ee94e573610fddd2a0620d6e5
Commits on Oct 17, 2017
  1. Merge bitcoin#11483: Fix importmulti bug when importing an already im…

    MarcoFalke committed Oct 17, 2017
    …ported key
    
    a44a215 Fix importmulti bug when importing an already imported key (Pedro Branco)
    
    Pull request description:
    
      This PR fixes a bug in `importmulti` RPC call where it returns an invalid response when importing an already imported key.
    
      Before:
      ```sh
      ❯ bitcoin-cli -regtest importmulti '[{ "keys": ["cNcMUunXhVK1dXJ5riixtpYSxPXZnUAMGS4vpzwChdKmYY3Rz99v"], "scriptPubKey": { "address": "n4YZAf4WE2XF3t4BfeYS2nHAhb8CVx91BR" }, "timestamp": 1507655239 }]'
      [{ "success": true }]
    
      ❯ bitcoin-cli -regtest importmulti '[{ "keys": ["cNcMUunXhVK1dXJ5riixtpYSxPXZnUAMGS4vpzwChdKmYY3Rz99v"], "scriptPubKey": { "address": "n4YZAf4WE2XF3t4BfeYS2nHAhb8CVx91BR" }, "timestamp": 1507655239 }]' '{ "rescan": false }'
      [ false ]
    
      ❯ bitcoin-cli -regtest importmulti '[{ "keys": ["cNcMUunXhVK1dXJ5riixtpYSxPXZnUAMGS4vpzwChdKmYY3Rz99v"], "scriptPubKey": { "address": "n4YZAf4WE2XF3t4BfeYS2nHAhb8CVx91BR" }, "timestamp": 1507655239 }]' '{ "rescan": true }'
      error code: -1
      error message:
      JSON value is not a boolean as expected
      ```
    
      After this fix:
      ```sh
      ❯ bitcoin-cli -rpcuser=u -rpcpassword=p -regtest importmulti '[{ "keys": ["cNcMUunXhVK1dXJ5riixtpYSxPXZnUAMGS4vpzwChdKmYY3Rz99v"], "scriptPubKey": { "address": "n4YZAf4WE2XF3t4BfeYS2nHAhb8CVx91BR" }, "timestamp": 1507655139 }]'
      [{ "success": true }]
    
      ❯ bitcoin-cli -rpcuser=u -rpcpassword=p -regtest importmulti '[{ "keys": ["cNcMUunXhVK1dXJ5riixtpYSxPXZnUAMGS4vpzwChdKmYY3Rz99v"], "scriptPubKey": { "address": "n4YZAf4WE2XF3t4BfeYS2nHAhb8CVx91BR" }, "timestamp": 1507655139 }]'
      [{ "success": false, "error": { "code": -4, "message": "The wallet already contains the private key for this address or script" } }]
      ```
    
    Tree-SHA512: 4acebdfb7d0ebd7cd48e943b93ed1cec072db1ace5c42b3f5cc225603764b6e804e4b823b0710965826aafc2f0c615c53d5aefcfdb9bc9c379f5221b798a318c
  2. Merge bitcoin#11513: [trivial] [tests] A few Python3 tidy ups

    MarcoFalke committed Oct 17, 2017
    f893085 [tests] Don't subclass from object for Python 3 (John Newbery)
    8f9e362 [tests] authproxy.py: tidy up __init__() (John Newbery)
    323d8f6 [tests] fix flake8 warnings in authproxy.py (John Newbery)
    fc0176d [tests] use python3 for authproxy.py (John Newbery)
    
    Pull request description:
    
      A few trivial tidyups in the test_framework:
    
      - the test_framework can only be run in Python3, so remove the py2/3 compatibility workarounds in authproxy.py
      - while there, do some general tidying up of the module - fix flake8 warnings, make initialization code more compact
      - All classes in Python3 are new-style. No need to explicitly inherit from `object`.
    
    Tree-SHA512: d15c93aa4b47c1ad7d05baa7a564053cf0294932e178c95ef335380113f42e1af314978d07d3b107292a8e3496fd840535b5571a9164182feaa062a1e9ff8b73