Update libsecp256k1 and switch to its builtin RFC6979 #5506

pull sipa wants to merge 7726 commits into bitcoin:master from sipa:secp256k1up changing 1101 files +288659 −534
  1. sipa commented at 1:55 PM on December 18, 2014: member

    Update to new master of libsecp256k1, which adds nonce-generation functions and provides RFC6979 as default, use it.

    Older text: This is mostly to show that the (unmerged) implementation there is identical to the existing one here, as the unit tests in Bitcoin pass.

  2. Extra explanation for getchaintips 32b93a1bc2
  3. Use deterministically generated script tests
    Now that signing is deterministic, we can require exact correspondence between the
    automatically generated tests and the ones read from JSON. Do this, and update
    the tests to those deterministic versions. Note that some flag changes weren't
    correctly applied before.
    f67a9ce0dc
  4. Move CHECKMULTISIG order tests out of automatically generated block 362001c19f
  5. Move SendMoney() to rpcwallet.cpp. b93173dee9
  6. Make comments in main an init doxygen compatible
    Fix typos where appropriate
    Update license/copyright
    c5b390b6b9
  7. [Qt] fix missing plural form for a string in sendcoinsdialog
    - this was reported on Transifex by pryds (Thank you!)
    2747f7cf77
  8. [Qt] change some strings to reflect name change to Bitcoin Core 50db7d9f09
  9. [Qt] fix a translation that occurs 2 times but was a little different 4709160b50
  10. Merge pull request #5376
    8a5c951 [REST] make selection of output-format mandatory, support dot url syntax (Jonas Schnelli)
    fec0d100d5
  11. Fix rest.py test after #5376 90f7aa7778
  12. Test resurrecting memory pool transactions during chain re-org
    Builds on #5316.
    b2d0162ba4
  13. Regard connection failures as attempt for addrman
    This avoids connecting to them again too soon in ThreadOpenConnections.
    
    Make an exception for connection failures to the proxy as these
    shouldn't affect the status of specific nodes.
    35e408f8a4
  14. Merge pull request #5369
    b2d0162 Test resurrecting memory pool transactions during chain re-org (Gavin Andresen)
    3dd8ed7 Delay writing block indexes in invalidate/reconsider (Pieter Wuille)
    798faec Add 'invalidateblock' and 'reconsiderblock' RPC commands. (Pieter Wuille)
    1c7e09f0b9
  15. Add 0.10 release notes on improvement to signing security.
    I dropped mention of libgmp that I had in my first draft because
    it looks like we'll be able to get that out prior to release.
    5fdbe67ad9
  16. Merge pull request #5401
    362001c Move CHECKMULTISIG order tests out of automatically generated block (Pieter Wuille)
    f67a9ce Use deterministically generated script tests (Pieter Wuille)
    0286fe5b3b
  17. newlines in strings are invalid JSON
    Although script_valid.json and script_invalid.json are loaded correctly by the
    JSON interpreter used by bitcoin core, these same files are often used by other
    libraries and do not necessarily load correctly due to the fact that newlines
    contained inside strings are not valid and must instead use the escape
    character \n. The files tx_valid.json and tx_invalid.json handle this
    correctly, so I've changed the formatting in script_valid.json and
    script_invalid.json to mirror those files.
    65b03282c9
  18. Report script evaluation failures in log and reject messages 307f7d48d4
  19. Coinbases-in-mempool regression test
    Immature coinbase spends are allowed in the memory pool if they can be mined in the next block.
    They are not allowed in the memory pool if they cannot be mined in the next block.
    
    This regression test tests those edge cases.
    9e56532959
  20. Merge pull request #5406
    5fdbe67 Add 0.10 release notes on improvement to signing security. (Gregory Maxwell)
    1863deae5f
  21. Merge pull request #5400
    32b93a1 Extra explanation for getchaintips (Pieter Wuille)
    133344208c
  22. Merge pull request #5403
    c5b390b Make comments in main an init doxygen compatible (Michael Ford)
    7eb0667384
  23. Merge pull request #5407
    9e56532 Coinbases-in-mempool regression test (Gavin Andresen)
    c2d7c6134e
  24. MOVEONLY: core/ -> primitives/ d227011184
  25. Merge pull request #5306
    d227011 MOVEONLY: core/ -> primitives/ (Luke Dashjr)
    a0417b8cc8
  26. Package libqt5core5 replaced with libqt5core5a
    libqt5core5 installs failed.
    Package libqt5core5 has replaced with libqt5core5a in ubuntu and debian. 
    The website is:
    http://packages.ubuntu.com/trusty/libqt5core5a
    https://packages.debian.org/sid/libqt5core5a
    be7b0bff5a
  27. Test unexecuted OP_CODESEPARATOR
    OP_CODESEPARATOR is an actual executed instruction, not a declarative
    thing, so if it's wrapped in an OP_IF it can be turned off.
    
    Using this to implement Rivest's Paywords is left as an exercise for the
    reader.
    cac15bedb1
  28. Limit the number of new addressses to accumulate 12a49cac0a
  29. Merge pull request #5417
    be7b0bf Package libqt5core5 replaced with libqt5core5a (LongShao007)
    4d2ecc4f94
  30. Merge pull request #5394
    307f7d4 Report script evaluation failures in log and reject messages (Pieter Wuille)
    9ddc8c63ab
  31. Remove gmp dependency and doc mentions ffe3291466
  32. Update libsecp256k1 0dcfb91d56
  33. Move CMerkleBlock and CPartialMerkleTree to their own file afd4b94b6d
  34. Merge pull request #5419
    12a49ca Limit the number of new addressses to accumulate (Pieter Wuille)
    68705996a9
  35. Merge pull request #5329
    199627c [REST] adding basic documentation (Jonas Schnelli)
    c932c47e34
  36. Merge pull request #5308
    60d1ecd change nSubsidy's type from int64_t to CAmount (HarryWu)
    c78a18087f
  37. Merge pull request #5207
    8487790 bitcoin-tx: Add the "-txid" option. Also add the hex-encoded transaction to the JSON output as the "hex" property. (mruddy)
    7d42644dda
  38. Merge pull request #5425
    87bddb7 Squashed 'src/secp256k1/' changes from ad2028f..b0210a9 (Pieter Wuille)
    ffe3291 Remove gmp dependency and doc mentions (Pieter Wuille)
    7a88e3b0fc
  39. Merge pull request #5408
    35e408f Regard connection failures as attempt for addrman (Wladimir J. van der Laan)
    800458eddd
  40. Merge pull request #5398
    8a20cd3 prioritisetransaction RPC: Restore compatibility with existing implementations by using satoshis for fee offset rather than BTC (Luke Dashjr)
    dbf1dc239e
  41. Normalize header guard of script_error.h 4c83c0e7c8
  42. Merge pull request #5181
    afd4b94 Move CMerkleBlock and CPartialMerkleTree to their own file (Matt Corallo)
    b5fa132329
  43. Use RPC_INVALID_PARAMETER instead of RPC_WALLET_ERROR for invalid amount.
    No return at the end of void function.
    4be639eaec
  44. Fix missing python2 in rpc-tests db0916bd13
  45. Merge pull request #5432
    db0916b Fix missing python2 in rpc-tests (Matt Corallo)
    
    Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
    4383319e4e
  46. Disable SSLv3 (in favor of TLS) for the RPC client and server.
    TLS is subject to downgrade attacks when SSLv3 is available, and
     SSLv3 has vulnerabilities.
    
    The popular solution is to disable SSLv3. On the web this breaks
     some tiny number of very old clients. While Bitcoin RPC shouldn't
     be exposed to the open Internet, it also shouldn't be exposed to
     really old SSL implementations, so it shouldn't be a major issue
     for us to disable SSLv3.
    
    There is more information on the downgrade attacks and disabling
     SSLv3 at https://disablessl3.com/ .
    683dc4009b
  47. Format paragraphs properly - count the space between words. 83b81f6c8a
  48. Add a new test for FormatParagraph (string longer than the default width). a26bf478ea
  49. [RPC] add rpc-test for http keep-alive (persistent connections) 11d7a7d505
  50. Revised translation process doc 88eb44d30f
  51. Make several small string fixes in linearize-data.py
    - Add a space after the fixed string prepended to file names when input or
      output file changes
    - Clarify the error message when the genesis block is not found in the
      hash list (...why do we have this at all?)
    8d174d6b5d
  52. Merge pull request #5435
    a26bf47 Add a new test for FormatParagraph (string longer than the default width). (Pavel Janík)
    83b81f6 Format paragraphs properly - count the space between words. (Pavel Janík)
    4d8bea0dc3
  53. Merge pull request #5436
    11d7a7d [RPC] add rpc-test for http keep-alive (persistent connections) (Jonas Schnelli)
    053038e5ba
  54. Remove genesis block hash from error ebdd6bf30f
  55. Merge pull request #5434
    683dc40 Disable SSLv3 (in favor of TLS) for the RPC client and server. (Gregory Maxwell)
    4b5b263ac0
  56. [Qt] make PaymentServer::ipcParseCommandLine void
    - the function only returned true, so make it void
    - add a comment about payment request network detection
    b82695b89f
  57. [Qt] add BIP70/BIP71 constants for all messages and mime types
    - also rename current ones to match the new ones
    - remove constant from guiconstant.h and add it to paymentserver.cpp
    814429dc72
  58. [Qt] ensure socket is set to NULL in PaymentServer::ipcSendCommandLine 1ec753f734
  59. [Qt] remove dup lock that is done in SetAddressBook() 2284ccbd13
  60. [Qt] add BIP70 payment request size DoS protection for URIs
    - current code only does this for payment request files, which are
      used on Mac
    - also rename readPaymentRequest to readPaymentRequestFromFile, so it's
      obvious that function only handles payment request files and not URIs
    - small logging changes in readPaymentRequestFromFile
    31f84944a5
  61. [Qt] add BIP70 DoS protection test
    - this test required to make readPaymentRequestFromFile() public in order
      to be able to is it in paymentservertests.cpp
    4333e26c8e
  62. [Qt] update paymentserver license and cleanup ordering 5ec654b8ce
  63. Remove coinbase-dependant transactions during reorg.
    This still leaves transactions in mempool that are potentially
    invalid if the maturity period has been reorged out of, but at
    least they're not missing inputs entirely.
    868d041622
  64. Remove txn which are invalidated by coinbase maturity during reorg 723d12c098
  65. Make CTxMemPool::check more thourough by using CheckInputs b7b4318f3a
  66. Make CTxMemPool::remove more effecient by avoiding recursion 7fd6219af7
  67. RPC-test based on invalidateblock for mempool coinbase spends 34318d7fad
  68. Merge pull request #5409
    65b0328 newlines in strings are invalid JSON (Ryan X. Charles)
    4f85383cb3
  69. Merge pull request #5216
    5ec654b [Qt] update paymentserver license and cleanup ordering (Philip Kaufmann)
    4333e26 [Qt] add BIP70 DoS protection test (Philip Kaufmann)
    31f8494 [Qt] add BIP70 payment request size DoS protection for URIs (Philip Kaufmann)
    2284ccb [Qt] remove dup lock that is done in SetAddressBook() (Philip Kaufmann)
    1ec753f [Qt] ensure socket is set to NULL in PaymentServer::ipcSendCommandLine (Philip Kaufmann)
    814429d [Qt] add BIP70/BIP71 constants for all messages and mime types (Philip Kaufmann)
    b82695b [Qt] make PaymentServer::ipcParseCommandLine void (Philip Kaufmann)
    7f76dda903
  70. contrib: show pull # in prompt for github-merge script 6e6a36ce30
  71. Port of walletbackup.sh to Python. 1577df986e
  72. Merge pull request #5427
    1577df9 Port of walletbackup.sh to Python. (mrbandrews)
    09ac7f9e6d
  73. Merge pull request #5449
    6e6a36c contrib: show pull # in prompt for github-merge script (Wladimir J. van der Laan)
    0a1d03ca52
  74. [REST] /rest/block response with full tx details
    - rest block request returns full unfolded tx details
    - /rest/block/notxdetails/<HASH> returns block where transactions are only represented by its hash
    73351c3686
  75. [REST] added /rest/block/notxdetails/<hash> into REST-interface.md documentation cae548685d
  76. [REST] JSON output: remove block infos from tx details if it is nested in block 932ef50f77
  77. Merge pull request #5395
    4c69ebe Add /opt/local/include/db48 only if it exists. (Pavel Janík)
    12c05ee938
  78. Merge pull request #5399
    4be639e Use RPC_INVALID_PARAMETER instead of RPC_WALLET_ERROR for invalid amount. No return at the end of void function. (Pavel Janík)
    b93173d Move SendMoney() to rpcwallet.cpp. (Pavel Janík)
    34468066ff
  79. Update libsecp256k1 253e207132
  80. Update Bitcoin for libsecp256k1 API change 830ee48b59
  81. Merge pull request #5391
    932ef50 [REST] JSON output: remove block infos from tx details if it is nested in block (Jonas Schnelli)
    cae5486 [REST] added /rest/block/notxdetails/<hash> into REST-interface.md documentation (Jonas Schnelli)
    73351c3 [REST] /rest/block response with full tx details (Jonas Schnelli)
    5e521d3e4e
  82. qt: translations pull from transifex 7c001bb49c
  83. Merge pull request #5267
    34318d7 RPC-test based on invalidateblock for mempool coinbase spends (Gavin Andresen)
    7fd6219 Make CTxMemPool::remove more effecient by avoiding recursion (Matt Corallo)
    b7b4318 Make CTxMemPool::check more thourough by using CheckInputs (Matt Corallo)
    723d12c Remove txn which are invalidated by coinbase maturity during reorg (Matt Corallo)
    868d041 Remove coinbase-dependant transactions during reorg. (Matt Corallo)
    41cced2106
  84. Now that 0.10 has been branched, master is 0.10.99 d7492304e9
  85. signrawtransaction: validate private key. aa768f1848
  86. Merge pull request #5367
    63d1ae5 Do all block index writes in a batch (Pieter Wuille)
    dcc1304426
  87. Merge pull request #5440
    ebdd6bf Remove genesis block hash from error (Micha)
    8d174d6 Make several small string fixes in linearize-data.py (Micha)
    3bb29a3e13
  88. Implement test for merkle tree malleability in CPartialMerkleTree
    This is a check that is mentioned in BIP 37, but never implemented in the
    reference code. As Bitcoin Core so far never decodes partial merkle trees,
    this is not a problem. But perhaps others use the code as a reference.
    012598880c
  89. Make IsSuperMajority a standalone function 9dcd524f32
  90. Move remaining CBlockIndex methods to chain.cpp 5ea3bc06d5
  91. depends: teach 'make download' to download sources for all hosts 422f873ef3
  92. depends: Move source stamps to source dir and misc cleanups
    Since the last commit will force rebuilds of all depends, take the opportunity
    to clean up a few other things that would trigger rebuilds as well.
    
    - Move source stamps to the sources dir so that SOURCES_PATH is respected for
      "make download".
    - Only print "fetching..." when actually downloading a file.
    - Avoid using non-deterministic paths for the recipe hash (patch location).
      This should ensure that all builders get the same resulting build-ids.
    - Use a per-package source paths. This will allow for removing old source files
      in the future.
    - Use a host-agnostic path for downloads which gets cleaned up properly.
    d546191dc2
  93. depends: fix packages with hard-coded SOURCES_PATH
    Also fixes a nasty bug that removes the downloaded comparisontool jar file.
    d7db4b6317
  94. docs: release process fixups
    Add instructions for manually fetching sources, as well as some misc. fixes.
    e27d7cb248
  95. Merge pull request #5457
    830ee48 Update Bitcoin for libsecp256k1 API change (Pieter Wuille)
    ecae2ac Squashed 'src/secp256k1/' changes from b0210a9..bccaf86 (Pieter Wuille)
    6f2ee04f75
  96. Merge pull request #5465
    e27d7cb docs: release process fixups (Cory Fields)
    d7db4b6 depends: fix packages with hard-coded SOURCES_PATH (Cory Fields)
    d546191 depends: Move source stamps to source dir and misc cleanups (Cory Fields)
    422f873 depends: teach 'make download' to download sources for all hosts (Cory Fields)
    1bcb52143a
  97. Merge pull request #5461
    aa768f1 signrawtransaction: validate private key. (Pavel Janík)
    5f7279ac70
  98. Add /rest/headers f676c80f43
  99. Fix download link for gitian builds 164a45f57a
  100. Merge pull request #5357
    5ea3bc0 Move remaining CBlockIndex methods to chain.cpp (Pieter Wuille)
    9dcd524 Make IsSuperMajority a standalone function (Pieter Wuille)
    c789b761d5
  101. Merge pull request #5471
    164a45f Fix download link for gitian builds (BtcDrak)
    13c077c7cf
  102. Add time offset to getpeerinfo output 26a6bae753
  103. Display time offset in the debug window's Peers tab 73caf47dfe
  104. Apply AreSane() checks to the fees from the network.
    'Sane' was already defined by this code as:
     fee.GetFeePerK() > minRelayFee.GetFeePerK() * 10000
     But sanity was only enforced for data loaded from disk.
    
    Note that this is a pretty expansive definition of 'sane': A 10 BTC
     fee is still passes the test if its on a 100kb transaction.
    
    This prevents a single insane fee on the network from making us reject
     our stored fee data at start.  We still may reject valid saved fee
     state if minRelayFee is changed between executions.
    
    This also reduces the risk and limits the damage from a cascading
     failure where one party pays a bunch of insane fees which cases
     others to pay insane fees.
    6484930690
  105. minor fix on script test data docs 87e8e1ca8b
  106. Merge pull request #5482
    87e8e1c minor fix on script test data docs (Manuel Araoz)
    bf4bf40a1c
  107. Remove references to X11 licence 78253fcbad
  108. Merge pull request #5444
    f676c80 Add /rest/headers (Pieter Wuille)
    103f66bf82
  109. Merge pull request #5219
    31aac02 Qt: new icons (Jonas Schnelli)
    f3af0c898f
  110. [RPC-TESTS] ability to run single test manually
    adds possibility to run ./qa/pull-tester/rpc-tests.sh <TESTNAME>
    1340f00200
  111. Qt: HiDPI (retina) support for splash screen
    - remove splash screen images (reduce binary size)
    - dynamicly draw splash screen with available icon.
    - remove testnet icon
    - dynamicly colorize testnet icon
    54f2571a00
  112. Qt: Go back to using QIcon functionality for scaling 8e76ca0429
  113. resize tray icon because a 1024x1024 icon won't show in ubuntu (bug) ac23394ea8
  114. Merge pull request #5228
    ac23394 resize tray icon because a 1024x1024 icon won't show in ubuntu (bug) (Jonas Schnelli)
    8e76ca0 Qt: Go back to using QIcon functionality for scaling (Wladimir J. van der Laan)
    54f2571 Qt: HiDPI (retina) support for splash screen (Jonas Schnelli)
    bb3c75bdf4
  115. Merge pull request #5453
    1340f00 [RPC-TESTS] ability to run single test manually (Jonas Schnelli)
    2f2d3370cc
  116. Fix small typos in comments and error messages
    Rebased-From: 67b2d819cdf6181e7f016e5366ce7479830893bd
    Github-Pull: #5404
    bf7835c271
  117. Merge pull request #5258
    4a8fc15 [Qt] the RPC Console should be a QWidget to make window more independent (Jonas Schnelli)
    73cbf0a527
  118. [Qt] fix a <Qt4.7 compatibility issue raised in #5228 270f42d39f
  119. Merge pull request #5487
    270f42d [Qt] fix a <Qt4.7 compatibility issue raised in #5228 (Jonas Schnelli)
    28a274e6ce
  120. [Qt] light blue icon color for regtest
    Changing the icons color for regtest in now lightweight.
    ff63801bc0
  121. Make pass-by-ref arguments const.
    Make some of the arguments in rest.cpp, that are passed by
    reference but never modified, const to emphasise that.
    7c8e4c5cfb
  122. Merge pull request #5488
    ff63801 [Qt] light blue icon color for regtest (Jonas Schnelli)
    851dfc7f88
  123. make all catch() arguments const
    - I saw this on http://en.cppreference.com/w/cpp/language/try_catch and
      thought it would be a good idea
    - also unify used format to better be able to search for exception
      uses in our codebase
    27df4123c4
  124. Bugfix: prioritisetransaction: Do some basic sanity checking on txid
    Besides giving a nicer error, this also prevents logging arbitrary data (which could have been used to exploit log readers) into debug.log
    7f71813919
  125. Drop beta suffixes from readmes e85855fa55
  126. Add mips, mipsel and aarch64 to depends platforms e36e619886
  127. Merge pull request #5438
    27df412 make all catch() arguments const (Philip Kaufmann)
    89802fe3ee
  128. Merge pull request #5484
    7c8e4c5 Make pass-by-ref arguments const. (Daniel Kraft)
    4444b879bc
  129. [QA] fix httpbasics RPC test typo 7a3b83269e
  130. Build winshutdownmonitor.cpp on Windows only. 469d564951
  131. aalness commented at 8:53 PM on December 18, 2014: contributor

    Nice!

  132. Add RandAddSeedPerfmon to MakeNewKey 146c0a7c5a
  133. Create developer-notes.md
    Moves coding guidelines and development tips/tricks into a single file.
    Also adds a section explaining pull request terminology.
    3bf5f52808
  134. Merge pull request #5501
    e36e619 Add mips, mipsel and aarch64 to depends platforms (Wladimir J. van der Laan)
    c76c9d2e7f
  135. Remove outdated comment about NTP
    The comment has been around since 0.1, but NTP inside the client
    isn't deemed necessary so remove the comment to avoid confusion.
    6e718f9435
  136. Merge pull request #5504
    7a3b832 [QA] fix httpbasics RPC test typo (Jonas Schnelli)
    94736e312e
  137. Merge pull request #5500
    e85855f Drop beta suffixes from readmes (Michael Ford)
    07c31466c9
  138. Merge pull request #5421
    cac15be Test unexecuted OP_CODESEPARATOR (Peter Todd)
    886eb57507
  139. Merge pull request #5413
    88eb44d Revised translation process doc (Blake Jakopovic)
    87a5270d58
  140. Merge pull request #5341
    4709160 [Qt] fix a translation that occurs 2 times but was a little different (Philip Kaufmann)
    50db7d9 [Qt] change some strings to reflect name change to Bitcoin Core (Philip Kaufmann)
    2747f7c [Qt] fix missing plural form for a string in sendcoinsdialog (Philip Kaufmann)
    c63b47df11
  141. Merge pull request #5334
    eef747b libbitcoinconsensus: Add pkg-config support (Luke Dashjr)
    cf875367d2
  142. add missing CAutoFile::IsNull() check in main
    Rebased-From: ccd056a30db0ba5e04b858a682907b378e464d34
    Github-Pull: #5437
    84857e87e4
  143. Merge pull request #2340
    ba7fcc8 Discourage fee sniping with nLockTime (Peter Todd)
    811c71d287
  144. Merge pull request #5470
    78253fc Remove references to X11 licence (Michael Ford)
    111a7d45f1
  145. Added "Core" to copyright headers
    Github-Pull: #5494
    Rebased-From: 15de949bb9277e442302bdd8dee299a8d6deee60
    f914f1a746
  146. docs: update gitian building docs dd14a0e799
  147. Enforce minRelayTxFee on wallet created tx and add a maxtxfee option.
    Previously the minRelayTxFee was only enforced on user specified values.
    
    It was possible for smartfee to produce a fee below minRelayTxFee which
     would just result in the transaction getting stuck because it can't be
     relayed.
    
    This also introduces a maxtxfee option which sets an absolute maximum
     for any fee created by the wallet, with an intention of increasing
     user confidence that the automatic fees won't burn them. This was
     frequently a concern even before smartfees.
    
    If the configured fee policy won't even allow the wallet to meet the relay
     fee the transaction creation may be aborted.
    aa279d6131
  148. build: fix 'make distcheck'
    Rather than treating the .py as a regular built test, run it from check-local
    so that we can better control the paths used.
    be43492945
  149. contrib: make github-merge require signing
    - Exit when there is no signing key configured
    - Exit when user does not want to sign off
    39c809942d
  150. Add libbitcoinconsensus.pc to .gitignore 1e22d4594f
  151. remove max orphan blocks config parameter since it is no longer functional 4bc95c4387
  152. Merge pull request #5253
    7c041b3 Check against MANDATORY flags prior to accepting to mempool (Peter Todd)
    203632d20b
  153. Merge pull request #5523
    4bc95c4 remove max orphan blocks config parameter since it is no longer functional (Jameson Lopp)
    fcbc8bfa6d
  154. Reject headers that build on an invalid parent 3497022347
  155. Merge pull request #5518
    1e22d45 Add libbitcoinconsensus.pc to .gitignore (Michael Ford)
    146e68059c
  156. bitcoin-tx: Fix JSON validation of prevtxs 2a3d988b80
  157. bitcoin-tx: Refer to the JSON fields rather than the whole object a089c50981
  158. DOS: Respect max per-peer blocks in flight limit
    Don't allow immediate inv driven block downloads if
    a peer already has MAX_BLOCKS_IN_TRANSIT_PER_PEER
    active downloads.  Prevents bogus inv spam from
    blowing up block transfer tracking data structures.
    c90770430d
  159. Adding RPC tests for the following wallet related calls: getbalance,
    listsinceblock, listtransactions, listlockunspent, listaccounts
    listaddressgroupings
    7c5dd60306
  160. Merge pull request #5517
    39c8099 contrib: make github-merge require signing (Wladimir J. van der Laan)
    66ef824a9f
  161. Merge pull request #5459
    3497022 Reject headers that build on an invalid parent (Pieter Wuille)
    4406c3e0f4
  162. Merge pull request #5485
    aa279d6 Enforce minRelayTxFee on wallet created tx and add a maxtxfee option. (Gregory Maxwell)
    d01bcc446e
  163. Merge pull request #5481
    6484930 Apply AreSane() checks to the fees from the network. (Gregory Maxwell)
    055f3ae9aa
  164. Merge pull request #5507
    c907704 DOS: Respect max per-peer blocks in flight limit (Adam Weiss)
    844ace95de
  165. Merge pull request #5512
    dd14a0e docs: update gitian building docs (Cory Fields)
    4312c8fc18
  166. sipa force-pushed on Dec 23, 2014
  167. sipa renamed this:
    [DONTMERGE] Demo: use libsecp256k1' RFC6979 implementation
    Update libsecp256k1 and switch to its builtin RFC6979
    on Dec 23, 2014
  168. en: Avoid ambiguous language regarding when transactions confirm a15dba5dff
  169. gitian: attempt to fix tarball determinisim 566c6cb8a2
  170. bitcoin-tx: Add test case for signing a tx 2c14d1532f
  171. Fix CScriptID(const CScript& in) in empty script case
    Previously an empty script wouldn't be hashed, and CScriptID would be
    assigned the incorrect value of 0 instead. This bug can be seen in the
    RPC decodescript command:
    
        $ btc decodescript ""
        {
            "asm" : "",
            "type" : "nonstandard",
            "p2sh" : "31h1vYVSYuKP6AhS86fbRdMw9XHieotbST"
        }
    
    Correct output:
    
        $ btc decodescript ""
        {
            "asm" : "",
            "type" : "nonstandard",
            "p2sh" : "3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy"
        }
    d78f0dafd5
  172. Add unconfirmedbalance field to getwalletinfo d44c545673
  173. Add immature balances to getwalletinfo. 8024d67dae
  174. RPC test for immature balance 12d927a391
  175. Merge pull request #5541
    d78f0da Fix CScriptID(const CScript& in) in empty script case (Peter Todd)
    3c9daa2f24
  176. Merge pull request #5536
    566c6cb gitian: attempt to fix tarball determinisim (Cory Fields)
    a992d600c5
  177. Merge pull request #5533
    a15dba5 en: Avoid ambiguous language regarding when transactions confirm (Luke Dashjr)
    a3bd5d7d82
  178. Merge pull request #5272
    13f9031 init: minor parameter interaction updates (Philip Kaufmann)
    0f2308cf7c
  179. Remove bitnodes.io from dnsseeds.
    I'm not comfortable with retaining this entry.
    a094b3d973
  180. [Docs] clean up assets-attributen.md
    - Make sure it represents the current state
    1f670846f7
  181. [Qt] new icon for the debug window de779b307b
  182. Decouple CCoins from CTxInUndo c444c620c6
  183. Decouple miner.o and txmempool.o from CTxUndo d7621ccf9d
  184. Decouple CBlockUndo from CDiskBlockPos e035c6a737
  185. MOVEONLY: CBlockUndo from main.h to undo.h 937ba572d0
  186. Move UndoWriteToDisk() and UndoReadFromDisk() to anon namespace 87fb31086d
  187. Merge pull request #5547
    de779b3 [Qt] new icon for the debug window (Jonas Schnelli)
    a39aa74a8d
  188. Adopt style colour for button icons 9b7d3fb165
  189. Merge pull request #5493
    9b7d3fb Adopt style colour for button icons (Luke Dashjr)
    e5153095ea
  190. Fix typo 244fdc7bee
  191. Fix reference.
    The text talked about "Quit" while Bitcoin uses "Exit" in its menu.
    99913f0f70
  192. Merge pull request #5558
    99913f0 Fix reference. (Thomas Zander)
    f8c48589cf
  193. Merge pull request #5554
    244fdc7 Fix typo (Julian Yap)
    5f5f14e9f2
  194. Merge pull request #5530
    7c5dd60 Adding RPC tests for the following wallet related calls: getbalance, listsinceblock, listtransactions, listlockunspent, listaccounts listaddressgroupings (Everett Forth)
    565b3008ec
  195. Merge pull request #5514
    be43492 build: fix 'make distcheck' (Cory Fields)
    ed11d53077
  196. Use real text rather than image-rendered text for unit selector
    The width of each unit is measured to set a fixed width for the widget, and the color is set to match the other status widgets.
    dd3f69736a
  197. Merge pull request #5505
    469d564 Build winshutdownmonitor.cpp on Windows only. (Pavel Janík)
    a99ef7d353
  198. laanwj commented at 1:43 PM on December 29, 2014: member

    Nice, going to test

  199. rpcserver: attempt to fix uncaught exception. 8db1760751
  200. Updated license date
    Changed 2014 to 2015 in preparation for new year
    78a7cd38f4
  201. dmg: fix deterministic dmg creation and docs 0d50c2fd81
  202. Correct tooltip on address book page 06206bb3b7
  203. Bugfix: RPCWallet: Docs: Booleans aren't quoted 8f6860a083
  204. Merge pull request #5565
    8db1760 rpcserver: attempt to fix uncaught exception. (Cory Fields)
    f9c571aad8
  205. Clean AcceptToMemoryPool error messages 4f1ee565b5
  206. Make CCoinsViewCache's copy constructor private
    It is easily confused with CCoinsViewCache(CCoinsView*), which creates a sub-cache, but instead of creating a sub-cache, the copy constructor would copy the original and use that original's base, defeating the intended isolation.
    228d238525
  207. Bugfix: ConnectBlock: In case the genesis block gets in with fJustCheck, behave correctly 1b178a7f96
  208. Merge pull request #5566
    78a7cd3 Updated license date (Ben Holden-Crowther)
    7b5924c95f
  209. Merge pull request #5576
    8f6860a Bugfix: RPCWallet: Docs: Booleans aren't quoted (Luke Dashjr)
    0a42036ded
  210. Merge pull request #5546
    1f67084 [Docs] clean up assets-attributen.md (Jonas Schnelli)
    83d6d59c2b
  211. Merge pull request #5571
    06206bb Correct tooltip on address book page (Michael Ford)
    6e557c2b9d
  212. Merge pull request #5545
    a094b3d Remove bitnodes.io from dnsseeds. (Gregory Maxwell)
    639c79a41f
  213. Merge pull request #5499
    7f71813 Bugfix: prioritisetransaction: Do some basic sanity checking on txid (Luke Dashjr)
    a5eb61d9ef
  214. [Qt] update a translation string and argument counts 643415aade
  215. Merge #5111 from
    branch 'core2' of git://github.com/jtimon/bitcoin into merge-5111
    aa5c0d34b7
  216. Merge #4964 from
    branch 'validateaddress-return-scriptpubkey' of git://github.com/petertodd/bitcoin into merge-4964
    95ecc0a857
  217. Merge #5468 from
    branch 'developer-notes_md' of git://github.com/fanquake/bitcoin into merge-5468
    ccef2b5f26
  218. Merge #5578 from
    branch 'error_typos' of git://github.com/paveljanik/bitcoin into merge-5578
    664999eb87
  219. Merge #5528 from
    branch 'bitcoin-tx-copy-paste' of git://github.com/ers35/bitcoin into merge-5528
    39d6b5fd42
  220. depends: fix major regression after d546191dc.
    Broken hash logic caused all depends on some platforms (osx at least) to end up
    with the same build-id. Without this fix, nothing will be rebuilt when recipes
    or dependencies change.
    d57b303e1e
  221. Merge pull request #5551
    dd3f697 Use real text rather than image-rendered text for unit selector (Luke Dashjr)
    9adfacdb8b
  222. Remove redundant copyright notices from README files
    The normative place for these for the entire project is COPYING,
    and the main README already has a MIT license section.
    e6df2bb48f
  223. Bump project-wide COPYRIGHT_YEAR to 2015
    There is still a redundancy here between configure.ac and
    clientversion.h.
    edbc9045cb
  224. Merge pull request #5586
    d57b303 depends: fix major regression after d546191dc. (Cory Fields)
    48ea5e0ea0
  225. Merge pull request #5583
    643415a [Qt] update a translation string and argument counts (Philip Kaufmann)
    fe39ce6b23
  226. Merge pull request #5569
    0d50c2f dmg: fix deterministic dmg creation and docs (Cory Fields)
    7c2dea4e92
  227. Remove declaration of no longer existent CheckWork
    Also make ProcessBlockFound static as it is not used outside
    miner.cpp.
    
    Alternative implementation of #5549.
    269d8ba0d2
  228. Merge pull request #5580
    1b178a7 Bugfix: ConnectBlock: In case the genesis block gets in with fJustCheck, behave correctly (Luke Dashjr)
    228d238 Make CCoinsViewCache's copy constructor private (Luke Dashjr)
    40d65eb66d
  229. laanwj commented at 4:44 PM on January 2, 2015: member

    Right. Let's merge this after #5490.

  230. laanwj added the label Improvement on Jan 2, 2015
  231. Merge pull request #5476
    73caf47 Display time offset in the debug window's Peers tab (Pavel Janík)
    26a6bae Add time offset to getpeerinfo output (Pavel Janík)
    c986972ad7
  232. Merge pull request #5349
    0125988 Implement test for merkle tree malleability in CPartialMerkleTree (Pieter Wuille)
    f55c5e9749
  233. depends: osx: fix qt5 build against 10.10 sdk ec90c97d13
  234. depends: major upgrade to darwin toolchain
    tl;dr: Update to the newer stable toolchain and SDK for OSX without giving up
    any backwards compatibility. We can move to clang 3.5 as a next step which
    allows use to use libc++ and the 10.10 sdk, but we'll need to find a build that
    works in gitian/travis first.
    
    Switch to a new, better maintained fork of cctools:
    https://github.com/tpoechtrager/cctools-port
    
    I've forked this and will be working on it some as well:
    https://github.com/theuni/cctools-port
    
    This brings in:
    cctools v862
    ld64: v241.9
    
    It also fixes 64bit builds, so there's no longer any need to use a 32bit clang.
    Since clang is no longer tied to an old/crusty 32bit build, clang has been
    upgraded to 3.3. Unfortunately, there's a bug in 3.4 that breaks builds. 3.5
    works fine, but there are no binary builds compatible with precise, which is
    currently used for gitian and travis. We could always build our own if
    necessary.
    
    After updating to stable clang/linker/cctools, it's possible to use a more
    recent SDK. The current SDK (10.7) through the most recent 10.10 have all been
    built/tested successfully, both with and without 10.6 compatibility. However,
    10.10 requires clang 3.5.
    
    SDKs >= 10.9 use libc++ rather than libstdc++. This is verified working as well.
    4fe6c3c24f
  235. build: osx builders no longer need 32bit compiler support 46f54bf796
  236. depends: bump cctools to a custom version with less deps
    This one no longer requires native libuuid or libcrypto
    4caad26ba1
  237. On close of splashscreen interrupt verifyDB
    With the splashscreen being able to be closed it is possible to
    shutdown during the lengthy verifyDB method. (Takes about a minute
    on my machine). This change allows us to shutdown much sooner.
    
    Github-Pull: #5557
    70477a0bdf
  238. Merge pull request #5582
    4caad26 depends: bump cctools to a custom version with less deps (Cory Fields)
    46f54bf build: osx builders no longer need 32bit compiler support (Cory Fields)
    4fe6c3c depends: major upgrade to darwin toolchain (Cory Fields)
    ec90c97 depends: osx: fix qt5 build against 10.10 sdk (Cory Fields)
    e8a6639176
  239. Remove dead BitcoinUnits::id code and update assets-attribution for non-image unit selector 7eeeac0ff5
  240. Merge pull request #5508
    146c0a7 Add RandAddSeedPerfmon to MakeNewKey (21E14)
    9a5cabf3da
  241. Merge pull request #5540
    12d927a RPC test for immature balance (Jonas Schnelli)
    8024d67 Add immature balances to getwalletinfo. (Gregory Maxwell)
    d44c545 Add unconfirmedbalance field to getwalletinfo (azeteki)
    84eba479a1
  242. Merge pull request #5594
    7eeeac0 Remove dead BitcoinUnits::id code and update assets-attribution for non-image unit selector (Luke Dashjr)
    a043facf5a
  243. Temporarily add SetNull/IsNull/GetCheapHash to base_uint
    Also add a stub for arith_uint256 and its conversion functions,
    for now completely based on uint256.
    
    Eases step-by-step migration to blob.
    5d3064bc44
  244. Replace direct use of 0 with SetNull and IsNull
    Replace x=0 with .SetNull(),
    x==0 with IsNull(), x!=0 with !IsNull().
    Replace uses of uint256(0) with uint256().
    4f1524966a
  245. Replace GetLow64 with GetCheapHash 807658549c
  246. Replace uint256(1) with static constant
    SignatureHash and its test function SignatureHashOld
    return uint256(1) as a special error signaling value.
    Return a local static constant with the same value instead.
    2eae3157f6
  247. String conversions uint256 -> uint256S
    If uint256() constructor takes a string, uint256(0) will become
    dangerous when uint256 does not take integers anymore (it will go
    through std::string(const char*) making a NULL string, and the explicit
    keyword is no help).
    34cdc41128
  248. Use arith_uint256 where necessary
    Also add conversion from/to uint256 where needed.
    734f85c4f0
  249. uint256->arith_uint256 blob256->uint256
    Introduce new opaque implementation of `uint256`, move old
    "arithmetic" implementation to `arith_uint256.
    bfc6070342
  250. Add conversion functions arith_uint256<->uint_256 92cdb1aace
  251. Add tests for new uint256 dba2e9141a
  252. Remove arith_uint160
    We never do 160-bit arithmetic.
    edc720479d
  253. Remove now-unused methods from arith_uint256 and base_uint
    - Methods that access the guts of arith_uint256 are removed,
    as these are incompatible between endians. Use uint256 instead
    
    - Serialization is no longer needed as arith_uint256's are never
    read or written
    
    - GetHash is never used on arith_uint256
    30007fda76
  254. arith_uint256: remove initialization from byte vector
    Remove initialization from vector (as this is only used in the tests).
    
    Also implement SetHex and GetHex in terms of uint256, to avoid
    duplicate code as well as avoid endianness issues (as they
    work in term of bytes).
    6bd0dc2a84
  255. Merge pull request #5490
    6bd0dc2 arith_uint256: remove initialization from byte vector (Wladimir J. van der Laan)
    30007fd Remove now-unused methods from arith_uint256 and base_uint (Wladimir J. van der Laan)
    edc7204 Remove arith_uint160 (Wladimir J. van der Laan)
    dba2e91 Add tests for new uint256 (Wladimir J. van der Laan)
    92cdb1a Add conversion functions arith_uint256<->uint_256 (Wladimir J. van der Laan)
    bfc6070 uint256->arith_uint256 blob256->uint256 (Wladimir J. van der Laan)
    734f85c Use arith_uint256 where necessary (Wladimir J. van der Laan)
    34cdc41 String conversions uint256 -> uint256S (Wladimir J. van der Laan)
    2eae315 Replace uint256(1) with static constant (Wladimir J. van der Laan)
    8076585 Replace GetLow64 with GetCheapHash (Wladimir J. van der Laan)
    4f15249 Replace direct use of 0 with SetNull and IsNull (Wladimir J. van der Laan)
    5d3064b Temporarily add SetNull/IsNull/GetCheapHash to base_uint (Wladimir J. van der Laan)
    ec20fd74b8
  256. Use libsecp256k1's RFC6979 implementation 1a9576de9d
  257. Update libsecp256k1 602ebf5279
  258. sipa force-pushed on Jan 5, 2015
  259. sipa commented at 11:30 PM on January 5, 2015: member

    Updated and rebased on top of #5490.

  260. theuni commented at 2:17 AM on January 6, 2015: member

    ut ACK, assuming the sanity of the libsecp256k1 changes (which I have not reviewed).

  261. in src/key.cpp:None in 602ebf5279
      72 | @@ -74,23 +73,28 @@ CPubKey CKey::GetPubKey() const {
      73 |      return result;
      74 |  }
      75 |  
      76 | +extern "C"
    


    laanwj commented at 7:34 AM on January 6, 2015:

    I wonder if we could somehow move this testcase-only code to src/tests instead of here. Nah OTOH it's just a few lines. Any approach I can think of would either leak secp256k1 specifics on the interface or involve creating a larger wrapper.


    theuni commented at 8:35 AM on January 6, 2015:

    I had the same thought process and agree with your conclusion. I don't the the external C linkage is necessary, though?


    sipa commented at 2:57 PM on January 6, 2015:

    @gmaxwell just suggested adding functionality in libsecp256k1 for its rfc5979 implementation to accept extra entropy, which could be used for the 'test_case' function too, in a much cleaner way.

    The change here is 100% compatible with the existing code though, so unit tests relying on it don't break.

  262. laanwj commented at 9:32 AM on January 6, 2015: member

    Tested ACK.

  263. laanwj commented at 11:24 AM on January 20, 2015: member

    @gmaxwell can you take a look here?

  264. laanwj merged this on Jan 26, 2015
  265. laanwj closed this on Jan 26, 2015

  266. laanwj referenced this in commit 6b5f5294bb on Jan 26, 2015
  267. Diapolo commented at 7:23 AM on January 27, 2015: none

    @sipa I just want to mention, I'm getting a compilation warning with MinGW 4.9.2:

    <pre> CC src/tests-tests.o src/tests.c: In function 'main': src/tests.c:1652:5: warning: unknown conversion type character 'l' in format [-W format=] printf("random seed = %llu\n", (unsigned long long)seed); ^ src/tests.c:1652:5: warning: too many arguments for format [-Wformat-extra-args] src/tests.c:1703:5: warning: unknown conversion type character 'l' in format [-W format=] printf("random run = %llu\n", (unsigned long long)secp256k1_rand32() + ((un signed long long)secp256k1_rand32() << 32)); ^ src/tests.c:1703:5: warning: too many arguments for format [-Wformat-extra-args] CCLD tests.exe </pre>

  268. gmaxwell commented at 5:00 PM on January 27, 2015: contributor

    @Diapolo amusingly, I fixed that in secp256k1 git master about a day ago. Can you try compiling that standalone to confirm? (I didn't actually test on windows but knew what we were doing there was wrong).

  269. MarcoFalke locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-19 09:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me