Permalink
Commits on Jul 20, 2017
  1. Add selftest for SHA256 transform

    sipa committed Jul 16, 2017
  2. Add SSE4 based SHA256

    sipa committed Jul 14, 2017
  3. Add SHA256 dispatcher

    sipa committed Jul 14, 2017
  4. Support multi-block SHA256 transforms

    Extracted from a patch by Wladimir van der Laan.
    sipa committed Jul 14, 2017
Commits on Jul 17, 2017
  1. Merge #10707: Better API for estimatesmartfee RPC

    06bcdb8 Convert named argument from nblocks to conf_target (Alex Morcos)
    439c4e8 Improve api to estimatesmartfee (Alex Morcos)
    
    Pull request description:
    
      Through 0.14 branch, the estimatesmartfee API was tagged "WARNING: This interface is unstable and may disappear or change!" and this warning is removed for 0.15, so any wanted API updates should happen now.
    
      The changes here are to make the additional parameter for conservative estimates a more general estimate_mode string , to omit the feerate and include an error string instead of returning -1 on error, and to do better parameter checking initially.
    
      ~It is only the last 2 commits, but it's built on #10706 and #10543~.
    
      See #10707 (comment) for renaming of nblocks argument to conf_target.  Will need to be included before string freeze.
    
      PR description edited for clarity
    
    Tree-SHA512: 6d8ebee8bb410e2950ffd59663eebfed8d1611d995dc935bb91e430d9da7e2f306796f45631458376027d26341c660f09e825e61748103d2f2736ec6dc3df3ae
    sipa committed Jul 17, 2017
  2. Merge #9980: Fix mem access violation merkleblock

    8276e70 Adding assert to avoid a memory access violation inside of PartialMerkleTree::CalcHash() (Chris Stewart)
    
    Pull request description:
    
      Fixing a possible memory access violation in CPartialMerkleTree::CalcHash().
    
      This can happen if we some how a merkle tree with zero txids. I don't think this can happen in practice as we only send merkle block messages on the p2p network as of now -- we cannot receive them.
    
      This was found with #8469, specifically using this [generator](https://github.com/Christewart/bitcoin/blob/rapidcheck/src/test/gen/merkleblock_gen.h#L52-L77) which will cause a memory access violation on [this test case](https://github.com/Christewart/bitcoin/blob/rapidcheck/src/test/merkleblock_properties.cpp#L48).
    
    Tree-SHA512: b95904ec45ea3f082c7722161d93ee06b24c706fbffa909a6e995ed14788aed2830f91b626da6f0347660c45874a0735dab61c9440b59c949c690af4165c83fb
    sipa committed Jul 17, 2017
Commits on Jul 16, 2017
  1. Merge #10735: Avoid static analyzer warnings regarding uninitialized …

    …arguments
    
    
    6835cb0 Avoid static analyzer warnings regarding uninitialized arguments (practicalswift)
    
    Pull request description:
    
      Avoid static analyzer warnings regarding _"Function call argument is a pointer to uninitialized value"_ in cases where we are intentionally using such arguments.
    
      This is achieved by using `f(b.begin(), b.end())` (`std::array<char, N>`) instead of `f(b, b + N)` (`char b[N]`).
    
      Rationale:
      * Reduce false positives by guiding static analyzers regarding our intentions.
    
      Before this commit:
    
      ```shell
      $ clang-tidy-3.5 -checks=* src/bench/base58.cpp
      bench/base58.cpp:23:9: warning: Function call argument is a pointer to uninitialized value [clang-analyzer-core.CallAndMessage]
              EncodeBase58(b, b + 32);
              ^
      $ clang-tidy-3.5 -checks=* src/bench/verify_script.cpp
      bench/verify_script.cpp:59:5: warning: Function call argument is a pointer to uninitialized value [clang-analyzer-core.CallAndMessage]
          key.Set(vchKey, vchKey + 32, false);
          ^
      $
      ```
    
      After this commit:
    
      ```shell
      $ clang-tidy-3.5 -checks=* src/bench/base58.cpp
      $ clang-tidy-3.5 -checks=* src/bench/verify_script.cpp
      $
      ```
    
    Tree-SHA512: 5814a320ca8b959d0954bb64393424bcad73f942d2e988de1cd6788f39153b93900325532f2e340de02d740a3953385d212ae08e7ec72bb4c394a40475f251df
    sipa committed Jul 16, 2017
  2. Merge #10844: Use range based for loop

    d0413c6 Use range based for loop (René Nyffenegger)
    
    Pull request description:
    
      Instead of iterating over 0 .. 1 and then deciding on an actual desired
      value, use a range based for loop for the desired value.
    
    Tree-SHA512: 0a7a4a80516c9f16cf97fa7d257088b8386360e19b93c4deac3d745b6270ea452c513821686d7d14a159a235763e034f9b14eef222ca15f7eb71c37bd1c2c380
    sipa committed Jul 16, 2017
  3. Merge #10840: Remove duplicate include

    c53369c Remove duplicate include (practicalswift)
    
    Pull request description:
    
      Remove duplicate include.
    
      Introduced in 5c64324.
    
    Tree-SHA512: c273cb60824b3a2b2bdebdc4fc84b309d66042d616ccfc9a7b1ee55380af0ab7d1ae059391b3b46063847087a1985e2491d4ce203a31a2b1c586e8fd531d9336
    sipa committed Jul 16, 2017
  4. Merge #10766: Building Environment: Set ARFLAGS to cr

    912da1d Use AC_ARG_VAR to set ARFLAGS. (René Nyffenegger)
    
    Pull request description:
    
      Override the default of ARFLAGS of `cru` to `cr`.
    
      When building, ar produces a warning for each archive, for example
      ```
        AR       libbitcoin_server.a
      /usr/bin/ar: `u' modifier ignored since `D' is the default (see `U')
    
      ```
      Since `u` is the default anyway, it cannot hurt to remove it.
    
    Tree-SHA512: 7466764f847b70f0f67db25dac87a7794477abf1997cb946682f394fe80ae86ac3ed52cbadb35f0c18a87467755bde5a5158430444cd26fb60fa363cc7bd486d
    sipa committed Jul 16, 2017
  5. Merge #10820: Use cpuid intrinsics instead of asm code

    674848f Clarify entropy source (Pieter Wuille)
    a9e82f6 Use cpuid intrinsics instead of asm code (Pieter Wuille)
    
    Pull request description:
    
      Less platform-specific code is better.
    
    Tree-SHA512: 14f1b9accd9882859acdf516d2ada7ccb0ad92a3b3edf95b9cb8a8e514d4b1748d4555bcfb560779792c4f664f920d681ae42e9cebd0e6410f13f94c3a8729a0
    sipa committed Jul 16, 2017
Commits on Jul 15, 2017
  1. Merge #10235: Track keypool entries as internal vs external in memory

    d40a72c Clarify *(--.end()) iterator semantics in CWallet::TopUpKeyPool (Matt Corallo)
    28301b9 Meet code style on lines changed in the previous commit (Matt Corallo)
    4a3fc35 Track keypool entries as internal vs external in memory (Matt Corallo)
    
    Pull request description:
    
      This is an alternative version of #10184. As @jonasschnelli points out there, the performance regressions are pretty minimal, but given that this is a pretty simple, mechanical change, its probably worth doing.
    
    Tree-SHA512: e83f9ebf2998f8164d1b2eebe5e6dcdeadea8c30b7612861f830758c08bf4093cd6a67b3bcfa9cfcb139e5e0b106fc8898a975fc69f334981aefc756568ab613
    sipa committed Jul 15, 2017
  2. Merge #10812: [utils] Allow bitcoin-cli's -rpcconnect option to be us…

    …ed with square brackets
    
    
    5c64324 [utils] allow square brackets for ipv6 addresses in bitcoin-cli (John Newbery)
    fe4faba [refactor] move SplitHostPort() into utilstrencodings (John Newbery)
    
    Pull request description:
    
      bitcoin-cli's `-rpcconnect` can accept ipv6 addresses (as long as the libevent version is new enough), but fails to parse ipv6 with square brackets. This PR makes `bitcoin-cli` parse ipv6 in square brackets correctly.
    
      `bitcoin-cli -rpcconnect=[::1] <command>`
    
      should now be equivalent to
    
      `bitcoin-cli -rpcconnect=::1 <command>`
    
      This is useful so the `bitcoin-cli` option can now be in the same format as the `bitcoind` option.
    
      Doesn't include tests. I have a branch that fully tests `bitcoin-cli`, but that's queued behind several intermediate PRs.
    
      - first commit moves `SplitHostPort()` from libbitcoin_common into libbitcoin_util
      - second commit adds proper ipv6 parsing to bitcoin-cli
    
    Tree-SHA512: 249d409f10360c989474283341f458cc97364a56a7d004ae6d5f13d8bffe3a51b5dc2484d42218848e2d42cd9c0b13a1b92e94ea19b209f7e91c875c208d8409
    sipa committed Jul 15, 2017
  3. Merge #10760: Avoid dereference-of-casted-pointer

    0aadc11 Avoid dereference-of-casted-pointer (Pieter Wuille)
    
    Pull request description:
    
      And prefer a static_cast to the intended reference type.
    
    Tree-SHA512: e83b20023a4dca6029b46f7040a8a6fd54e1b42112ec0c87c3c3b567ed641de97a9e2335b57a2efb075491f641e5b977bc226a474276bea0c3c3c71d8d6ac54d
    sipa committed Jul 15, 2017
  4. Merge #10807: getbalance example covers at least 6 confirms

    228987d getbalance example covers at least 6 confirms (Gregory Sanders)
    
    Tree-SHA512: 328d60b007ee75d809f4d28a7d9e5537d3c1446bd30c4c2ae57c690b8e83f6287cbcd3d8c955e8ba07ab62e27f9d27497c55219ff14fd5af7759dec465673fa2
    sipa committed Jul 15, 2017
  5. Merge #10833: Fix typos

    0189d8e Fix typos (practicalswift)
    
    Tree-SHA512: bac96ab13964e7579c93d63fc7550eb091c316767cc33f2a52c18cd786537650668799603414d418680a5e04516abf1e304b10d5f4ad48a5dcba24b3f09a0387
    sipa committed Jul 15, 2017
  6. Merge #10769: [Qt] replace fee slider with a Dropdown, extend conf. t…

    …argets
    
    
    2aef1f1 [Qt] migrate old fee slider value to new dropbown Always round up (conservative) (Jonas Schnelli)
    bc1be90 [Qt] replace fee slider with a Dropdown, extend conf. targets (Jonas Schnelli)
    
    Tree-SHA512: 53796cf0b434dd3db5d4680dbeb6231a7df8f15d88187178fd4db8917cd7fc60091ce2c1589fd93668fc94bb13f989aba5b7ef3792fa95ee1f9f21a15709e2d3
    sipa committed Jul 15, 2017
  7. Merge #10816: Properly forbid -salvagewallet and -zapwallettxes for m…

    …ulti wallet.
    
    
    dd97a52 Properly forbid -salvagewallet and -zapwallettxes for multi wallet. (Alex Morcos)
    
    Tree-SHA512: dcde8f854ae957b4d3af4bcf1b811e0b6e9b93602764f86499e46a28d304cd4ee93ba058c03f6ca74ccb60e1310c83e53b698c64d93e5503115377655b80d44d
    sipa committed Jul 15, 2017
  8. Merge #10808: Avoid some new gcc warnings in 15

    c73b8be Explicitly initialize prevector::_union to avoid new warning (Matt Corallo)
    1016dac Fix signed/unsigned comparison warning introduced in c8e29d7. (Matt Corallo)
    
    Tree-SHA512: d1574b0fdc9bfddc3517c382d34418b1d8ed80c81d2f6fd19378c064af8d7704fb84ef8b740ff97f7ec7609bd6de76348921fcc227e1ce97127947a0d22c7887
    sipa committed Jul 15, 2017
  9. Merge #10618: Remove confusing MAX_BLOCK_BASE_SIZE.

    3babbcb Remove confusing MAX_BLOCK_BASE_SIZE. (Gregory Maxwell)
    
    Tree-SHA512: 361293fc4e1e379cd5a0908ed0866a00e1c7a771bdf02fded158fca21b492a29c7a67fea0d13dc40b2a04204c89823bf1836fe5b63a17c9747751b9c845a3527
    sipa committed Jul 15, 2017
Commits on Jul 14, 2017
  1. Merge #10819: Fix uninitialized atomic variables

    4652791 Fix uninitialized atomic variables (João Barbosa)
    
    Tree-SHA512: 5dd8924bc8743a094abdbc2464b835a0e7fd4948c102ea7c2251c6330bea5615c4459ba322a656fd6ac5f8d695b69d3709d225ddccef226cf8afc7de5e3d3019
    sipa committed Jul 14, 2017
  2. Clarify entropy source

    sipa committed Jul 14, 2017
  3. Merge #10557: Make check to distinguish between orphan txs and old tx…

    …s more efficient.
    
    
    18bacec Make check to distinguish between orphan txs and old txs more efficient. (Alex Morcos)
    
    Tree-SHA512: b6b4bad89aa561975dce7b68b2fdad5623af5ebcb9c38fd6a72b5f6d0544ed441df4865591ac018f7ae0df9b5c60820cb4d9e55664f5667c9268458df70fd554
    sipa committed Jul 14, 2017
Commits on Jul 13, 2017
  1. Merge #10780: Simplify "!foo || (foo && bar)" as "!foo || bar"

    1e3a320 Simplify "!foo || (foo && bar)" as "!foo || bar" (practicalswift)
    
    Tree-SHA512: d5ce6d7a9f3741e7abe8542b840268aa683e276aac7587041d32385a4c1273e20c236bec7590e27540dde72defb3f879d4695822bb7bfdb092cc20d9aefa64c1
    sipa committed Jul 13, 2017
Commits on Jul 12, 2017
  1. Merge #9804: Fixes subscript 0 (&var[0]) where should use (var.data()…

    …) instead.
    
    
    30ac768 Fix subscript[0] potential bugs in key.cpp (Jeremy Rubin)
    4b1c0f2 Remove unnecessary branches in utilstrencodings string constructors. (Jeremy Rubin)
    e19db7b Fix subscript[0] in utilstrencodings.cpp (Jeremy Rubin)
    bc2e7fd Fix subscript[0] in streams.h (Jeremy Rubin)
    4cac0d1 Fix subscript[0] in validation.cpp (Jeremy Rubin)
    ac658e5 Fix subscript[0] in torcontrol (Jeremy Rubin)
    b6856eb Fix subscript[0] in netaddress.cpp (Jeremy Rubin)
    361d952 Fix subscript[0] in base58.cpp (Jeremy Rubin)
    6896dbf Cleanup (safe, it was checked) subscript[0] in MurmurHash3 (and cleanup MurmurHash3 to be more clear). (Jeremy Rubin)
    96f2119 Fix subscript[0] in compressor.cpp (Jeremy Rubin)
    500710b Fix 2 subscript[0] bugs in pubkey.cpp, and eliminate one extra size check (Jeremy Rubin)
    e0451e3 Fix subscript[0] bug in net.cpp if GetGroup returns a 0-sized vector (Jeremy Rubin)
    
    Tree-SHA512: 5b9103652cf8c615bd8f4f32b3573d291d6b67c39e0308ce00100bc6625f346e8e016b4c999f4f34f5c37ae059490a83c3b513deb21f838af785227d06e02362
    sipa committed Jul 12, 2017
  2. Merge #10714: Avoid printing incorrect block indexing time due to uni…

    …nitialized variable
    
    
    959dd87 Avoid printing incorrect block indexing time due to uninitialized variable (practicalswift)
    
    Tree-SHA512: a76e43c3ffa734ed5c7eadf363f345f268aa0e6ce775aba8f856fe3bbc82f240dc7c734c5ca3ac500a12eb41fae00623413e79f484d5acf809b6e400851d771d
    sipa committed Jul 12, 2017
Commits on Jul 10, 2017
Commits on Jul 7, 2017
Commits on Jun 28, 2017
  1. Merge #10558: Address nits from per-utxo change

    21d4afa Comment clarifications in coins.cpp (Alex Morcos)
    3c8a9ae Add belt-and-suspenders in DisconnectBlock (Alex Morcos)
    
    Tree-SHA512: d83e12ed71674faaaaebc03ffa1e2276984c35a29db419268ac9e14a45b33ccab716e3606dff8cfe1dcee4bec6e4794d2ca90341f10d5684be80e3fee61addf8
    sipa committed Jun 28, 2017
  2. Merge #10685: Clarify CCoinsViewMemPool documentation.

    381b8fc Clarify CCoinsViewMemPool documentation. (Matt Corallo)
    
    Tree-SHA512: 0d1520595a03ea4038b4119871d79dfc28a50f42ac7667b30a583805d4fe4b0480a6912b9b4f7660c7223778ef85f2f9d1870551383a35c5e8c88cd2935f59d3
    sipa committed Jun 28, 2017
Commits on Jun 26, 2017
  1. Simplify return values of GetCoin/HaveCoin(InCache)

    This removes the possibility for GetCoin/HaveCoin/HaveCoinInCache to return
    true while the respective coin is spent. By doing it across all calls, some
    extra checks can be eliminated.
    
    coins_tests is modified to call HaveCoin sometimes before and sometimes
    after AccessCoin. A further change is needed because the semantics for
    GetCoin slightly changed, causing a pruned entry in the parent cache to not
    be pulled into the child in FetchCoin.
    sipa committed Jun 13, 2017
  2. Random db flush crash simulator

    sipa committed Apr 5, 2017