aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Update Python test address and key values to match Dogecoin format.Ross Nicoll2015-07-191-4/+4
|
* Disable payment protocol very large value test, as it's impossible to exceed ↵Ross Nicoll2015-07-191-2/+3
| | | | maximum Dogecoin in a payment request.
* Litecoin: Fix zeitgeist2 attack thanks to Lolcust and ArtForz. This fixes an ↵coblee2015-07-191-1/+7
| | | | issue where a 51% attack can change difficulty at will. Go back the full period unless it's the first retarget after genesis.
* Minor Dogecoin consensus fixesRoss Nicoll2015-07-196-25/+19
| | | | | | | Updated maximum coins to match Dogecoin. Updated protocol version to disable connections to pre-AuxPoW clients. Disable version 2 block requirement Update coinbase maturity to match Dogecoin
* Modify chain consensus parameters to be height awareRoss Nicoll2015-07-1914-90/+256
|
* Adapt AuxPoW to DogecoinRoss Nicoll2015-07-1015-159/+160
| | | | | | | | Changed AuxPoW parent block hashing to use Scrypt rather than SHA256 hash. Update chain parameters to match Dogecoin Move CheckProofOfWork into dogecoin.cpp and rename it to CheckAuxPowProofOfWork. Add operator overrides to CBlockVersion so that naive usage operates on the underlying version without chain ID or flags. Modify RPC mining to more closely match existing submitblock() structure
* Merge AuxPoW support from NamecoreDaniel Kraft2015-07-0527-222/+1473
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Includes the following commits: commit 2ea1b5cd8cf2bdd08e43ae39fb76352eebe14895 commit f2a8220c34275f022f02d81e9e84d4cec33bd51c commit 84b8b56113e6057b0253475b83e797dc1fed2eed commit 8471d5db221f145f5a40022ed1897c1b996b628e commit 2f125ad0a67e1b8f71b18a14a3b41d7e577391d1 commit e01dbc3608703b4cb4e9882738125f2b7816cdb8 commit f0421312631cd44669f9f84d339a0c470b4423b9 commit 1fd522db5dfddfd0e1b0c794b82fae2cc7bdb099 commit 71f63ad99f70ff6461c795fd728aea16aa1008f8 commit a7c44d98a8ded4df0e8455c4c5629b1a5b303bbf commit e1d7b4fc15addf3dfeb3853fa66230a8bdacd75f commit d016f2fa02572fd340129176b942b3f19bd5260b commit f4716e5a168a697afce854a37350fdae0988bdd8 commit 03a575e3b13bf06cbb0a007d6672b05d2085c26e commit d7ea37444bd9e9ac461a3dda0b16afefd160b062 commit db22affa01e050ff847a12e20c83b88952d80b59 commit 9b7e14986655f914b2d0903ca1d79367c92c6c7e commit e21034f9c124893d5b9631e9ca231b0b9ede3d52 Changes are as below: Wrap CBlockHeader::nVersion into a new class (CBlockVersion). This allows to take care of interpreting the field into a base version, auxpow flag and the chain ID. Update getauxblock.py for new 'generate' RPC call. Add 'auxpow' to block JSON. Accept auxpow as PoW verification. Add unit tests for auxpow verification. Add check for memory-layout of CBlockVersion. Weaken auxpow chain ID checks for the testnet. Allow Params() to overrule when to check the auxpow chain ID and for legacy blocks. Use this to disable the checks on testnet. Introduce CPureBlockHeader. Split the block header part that is used by auxpow and the "real" block header (that uses auxpow) to resolve the cyclic dependency between the two. Differentiate between uint256 and arith_uint256. This change was done upstream, modify the auxpow code. Add missing lock in auxpow_tests. Fix REST header check for auxpow headers. Those can be longer, thus take that into account. Also perform the check actually on an auxpow header. Correctly set the coinbase for getauxblock results. Call IncrementExtraNonce in getauxblock so that the coinbase is actually initialised with the stuff it should be. (BIP30 block height and COINBASE_FLAGS.) Implement getauxblock plus regression test. Turn auxpow test into FIXTURE test. This allows using of the Params() calls. Move CMerkleTx code to auxpow.cpp. Otherwise we get linker errors when building without wallet. Fix rebase with BIP66. Update the code to handle BIP66's nVersion=3. Enforce that auxpow parent blocks have no auxpow block version. This is for compatibility with namecoind. See also https://github.com/namecoin/namecoin/pull/199. Move auxpow-related parameters to Consensus::Params.
* [tests] fix partition alerts for DogecoinPatrick Lodder2015-07-051-9/+9
| | | | | | | Partitioning is tested over 4h and 100 blocks are insufficient to test this for Dogecoin. We need 640 blocks in 4h for the "abnormally high" alert test, I've found a set of 800 blocks to test over providing sufficient margin.
* Further unit test correctionsRoss Nicoll2015-07-057-49/+53
| | | | | | | | | | | | | Replace RPC and deterministic signatures in unit tests with Dogecoin values. While conventionally I'd use an alternative implementation for these, as RFC 6979 compliant signature generation isn't terribly common, and there's no reason to suspect we've modified this code, I'm going to assert that it's good enough to test that the code doesn't provide different values. Correct BIP32 key headers for Dogecoin, also by repacking the data. Disabled Bitcoin PoW tests, but left code in place to simplify later merges. These are replaced by the Dogecoin PoW tests.
* [tests] use dogecoin fixtures pt1Patrick Lodder2015-07-037-680/+689
| | | | | | | | | uses our test fixtures for: - alerts - base58 - keys - main - miner
* Added Digishield support and unit testsRoss Nicoll2015-06-284-4/+157
|
* Add Dogecoin block subsidy calculations.Ross Nicoll2015-06-287-2/+159
|
* Added Scrypt mining support based on Dogecoin 1.9 work.Ross Nicoll2015-06-281-11/+17
|
* Litecoin: Scrypt n=1024 Pow hash based upon Colin Percival's Tarnsnap (2009)Warren Togami2015-06-2810-2/+565
| | | | | | Modified by Artforz, coblee, pooler, wtogami, Nikolay Belikov, Adrian Gallagher miner.cpp changes stripped during merge to Dogecoin
* port dogecoin base chainparamsPatrick Lodder2015-06-272-77/+85
|
* Fix scheduler build with some boost versions.Cory Fields2015-06-161-1/+3
| | | | | | | | Some boost versions have a conflicting overload of wait_until that returns void. Explicitly use a template here to avoid hitting that overload. Github-Pull: #6285 Rebased-From: 72bf90d770ce5b2653fd482928646cd6a9f5f6d7
* translation update pre-rc2Wladimir J. van der Laan2015-06-1570-1659/+2419
|
* Use best header chain timestamps to detect partitioningGavin Andresen2015-06-154-14/+16
| | | | | | | | | | | The partition checking code was using chainActive timestamps to detect partitioning; with headers-first syncing, it should use (and with this pull request, does use) pIndexBestHeader timestamps. Fixes issue #6251 Github-Pull: #6256 Rebased-From: 65b94545036ae6e38e79e9c7166a3ba1ddb83f66
* Add option `-alerts` to opt out of alert systemWladimir J. van der Laan2015-06-153-1/+8
| | | | | | | | | | | | | Make it possible to opt-out of the centralized alert system by providing an option `-noalerts` or `-alerts=0`. The default remains unchanged. This is a gentler form of #6260, in which I went a bit overboard by removing the alert system completely. I intend to add this to the GUI options in another pull after this. Github-Pull: #6274 Rebased-From: 02a6702a82a5b00e0e0351041dd3267308b7f319
* Fix getbalance *Tom Harding2015-06-151-3/+3
| | | | | | | | | | | | | Chance "getbalance *" not to use IsTrusted. The method and result now match the "getbalance <specific-account>" behavior. In particular, "getbalance * 0" now works. Also fixed a comment -- GetGalance has required 1 confirmation for many years, and the default "getbalance *" behavior matches that. Github-Pull: #6276 Rebased-From: 7d6a85ab5b1dc96e0f3f6f835f27bb81ba2af919
* Remove translation for -help-debug optionsWladimir J. van der Laan2015-06-123-216/+114
| | | | | Github-Pull: #6264 Rebased-From: 9b5659d1c4c62bc6b80e35ff7573c781835e4187
* Prune: Support noncontiguous block filesAdam Weiss2015-06-112-19/+38
| | | | | | | | | | | | | | | | | | In some corner cases, it may be possible for recent blocks to end up in the same block file as much older blocks. Previously, the pruning code would stop looking for files to remove upon first encountering a file containing a block that cannot be pruned, now it will keep looking for candidate files until the target is met and all other criteria are satisfied. This can result in a noncontiguous set of block files (by number) on disk, which is fine except for during some reindex corner cases, so make reindex preparation smarter such that we keep the data we can actually use and throw away the rest. This allows pruning to work correctly while downloading any blocks needed during the reindex. Rebased-From: c257a8c9a6397eee40734b235a4fdcb8045aec91 Github-Pull: #6221
* Fix removing of orphan transactionsAlex Morcos2015-06-101-3/+4
| | | | | | | We don't want to erase orphans that still have missing inputs, they should still be tracked as orphans. Also, the transaction thats being accepted can't be an orphan otherwise it would have previously been accepted, so doesn't need to be added to the erase queue. Github-Pull: #5985 Rebased-From: 14d4eef79931318cb5968f9154cf458d9f8d27fa
* Disable partition check for now, it triggers too often (issue #6251)Wladimir J. van der Laan2015-06-081-2/+2
|
* Be stricter in processing unrequested blocksSuhas Daftuar2015-06-035-22/+33
| | | | | | | | AcceptBlock will no longer process an unrequested block, unless it has not been previously processed and has more work than chainActive.Tip() Github-Pull: #5875 Rebased-From: 9be0e6837b878f72bd087ce32b7a2f2ffb2fd544
* json: fail read_string if string contains trailing garbageWladimir J. van der Laan2015-06-032-3/+21
| | | | | | | | | | | | | Change `read_string` to fail when not the entire input has been consumed. This avoids unexpected, even dangerous behavior (fixes #6223). The new JSON parser adapted in #6121 also solves this problem so in master this is a temporary fix, but should be backported to older releases. Also adds tests for the new behavior. Github-Pull: #6226 Rebased-From: 4e157fc60dae5ca69933ea4c1585a2a078b4d957
* Remove P2SH coinbase flag, no longer interestingLuke Dashjr2015-06-021-6/+0
| | | | | Github-Pull: #6203 Rebased-From: d449772cf69c01932fc5d72c46054815d6300b3c
* Ignore getheaders requests when not synced.Suhas Daftuar2015-06-021-0/+3
| | | | | Rebased-From: a1ba0778dd3c784046dea334e5d39f37eca264f7 Github-Pull: #6172
* Fix off-by-one error w/ nLockTime in the walletPeter Todd2015-06-018-38/+39
| | | | | | | | | | | | | | | | | | Previously due to an off-by-one error the wallet ignored nLockTime-by-height transactions that would be valid in the next block even though they are accepted into the mempool. The transactions wouldn't show up until confirmed, nor would they be included in the unconfirmed balance. Similar to the mempool behavior fix in 665bdd3b, the wallet code was calling IsFinalTx() directly without taking into account the fact that doing so tells you if the transaction could have been mined in the *current* block, rather than the next block. To fix this we strip IsFinalTx() of non-consensus-critical functionality, removing the default arguments, and add CheckFinalTx() to check if a transaction will be final in the next block. Github-Pull: #6183 Rebased-From: 28bf06236d3b385e95fe26a7a742395b30efd6ee
* qt: Periodic translation updateWladimir J. van der Laan2015-06-014-3/+167
|
* Bump version to 0.11Wladimir J. van der Laan2015-06-011-3/+3
|
* Merge pull request #6208Wladimir J. van der Laan2015-06-012-6/+4
|\ | | | | | | | | d6922aa [net, trivial] remove using namespace std pollution in netbase.cpp (Philip Kaufmann) 49b2292 [net, trivial] explicitly use std::string for FindNode (Philip Kaufmann)
| * [net, trivial] remove using namespace std pollution in netbase.cppPhilip Kaufmann2015-05-311-4/+2
| |
| * [net, trivial] explicitly use std::string for FindNodePhilip Kaufmann2015-05-311-2/+2
| | | | | | | | | | - in OpenNetworkConnection we have a FindNode call, which gets a const char*, wheras we only have defined a FindNode for std::string
* | Merge pull request #6193Wladimir J. van der Laan2015-06-011-39/+55
|\ \ | | | | | | | | | | | | 6e71efa [REST] remove json input for getutxos, limit to query max. 15 outpoints (Jonas Schnelli) 64b8027 rest.cpp: strip whitespace (Jonas Schnelli)
| * | [REST] remove json input for getutxos, limit to query max. 15 outpointsJonas Schnelli2015-05-271-34/+50
| | | | | | | | | | | | | | | | | | Remove possibility to send json encoded parameters to `/rest/getutxos/` to avoid possible DoS scenarios. The JSON output option is untouched.
| * | rest.cpp: strip whitespaceJonas Schnelli2015-05-271-5/+5
| | |
* | | Merge pull request #6195Wladimir J. van der Laan2015-06-011-7/+7
|\ \ \ | |_|/ |/| | | | | 8273793 Eliminate compiler warning due to unused variable (Suhas Daftuar)
| * | Eliminate compiler warning due to unused variableSuhas Daftuar2015-05-271-7/+7
| | |
* | | Chainparams: Explicit CMessageHeader::MessageStartChars to functions in main:Jorge Timón2015-05-272-8/+10
|/ / | | | | | | | | -UndoWriteToDisk -WriteBlockToDisk
* | Merge pull request #5669Wladimir J. van der Laan2015-05-2716-114/+128
|\ \ | | | | | | | | | | | | da29ecb Consensus: MOVEONLY: Move CValidationState from main consensus/validation (jtimon) 27afcd8 Consensus: Refactor: Decouple CValidationState from main::AbortNode() (Cory Fields)
| * | Consensus: MOVEONLY: Move CValidationState from main consensus/validationjtimon2015-05-1516-81/+101
| | |
| * | Consensus: Refactor: Decouple CValidationState from main::AbortNode()Cory Fields2015-05-152-33/+27
| | |
* | | Merge pull request #6153Wladimir J. van der Laan2015-05-271-0/+4
|\ \ \ | |_|/ |/| | | | | 8c35b6f Parameter interaction: disable upnp if -proxy set (Wladimir J. van der Laan)
| * | Parameter interaction: disable upnp if -proxy setWladimir J. van der Laan2015-05-181-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | To protect privacy, do not use UPNP when a proxy is set. The user may still specify -listen=1 to listen locally (for a hidden service), so don't rely on this happening through -listen. Fixes #2927.
* | | Merge pull request #6186Wladimir J. van der Laan2015-05-273-9/+18
|\ \ \ | | | | | | | | | | | | | | | | b45c50c Fix two problems in CSubNet parsing (Wladimir J. van der Laan) 19e8d7b Simplify code for CSubnet (Wladimir J. van der Laan)
| * | | Fix two problems in CSubNet parsingWladimir J. van der Laan2015-05-262-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix two CSubNet constructor problems: - The use of `/x` where 8 does not divide x was broken, due to a bit-order issue - The use of e.g. `1.2.3.4/24` where the netmasked bits in the network are not 0 was broken. Fix this by explicitly normalizing the netwok according to the bitmask. Also add tests for these cases. Fixes #6179. Thanks to @jonasschnelli for reporting and initial fix.
| * | | Simplify code for CSubnetWladimir J. van der Laan2015-05-262-8/+8
| | | | | | | | | | | | | | | | | | | | Simplify the code by using CAddress.ip directly, instead of the reversed GetByte() semantics.
* | | | qt: Periodic translation updateWladimir J. van der Laan2015-05-2646-227/+577
| | | |
* | | | Merge pull request #5976Wladimir J. van der Laan2015-05-261-5/+29
|\ \ \ \ | | | | | | | | | | | | | | | 8ba7f84 Reduce download timeouts as blocks arrive (Suhas Daftuar)