13070 Commits

Author SHA1 Message Date
Ross Nicoll
978d61973f Rename and update man pages (#1451) 2018-02-18 18:17:53 +00:00
Ross Nicoll
5d4e568a1c Update debian contrib files to match Dogecoin (#1449) 2018-02-18 18:17:53 +00:00
Ross Nicoll
ae32e606be rebrand dogecoin-tx test (#1450) 2018-02-18 18:17:53 +00:00
Ross Nicoll
3b177dcaa9 Replace Bitcoin icons with Dogecoin (#1448) 2018-02-18 18:17:53 +00:00
Ross Nicoll
90b37f4021 Update QT client messages and translations to Doge equivalents (#1429)
Update QT client messages and translations to Doge equivalents.
2018-02-18 18:17:53 +00:00
Ross Nicoll
e52aa4b728 Fix copyright substitution
List both Bitcoin & Dogecoin developers in copyright notice.
2018-02-18 18:17:53 +00:00
Ross Nicoll
fdf7d04f0c Rename binaries to match Dogecoin 2018-02-18 18:17:53 +00:00
Ross Nicoll
7c637cfee9 Introduce basic Dogecoin branding 2018-02-18 18:17:53 +00:00
Ross Nicoll
d381c95a6f
Update tx output in p2p-fullblocktest.py (#1474)
* Update tx output in `p2p-fullblocktest.py` to match Dogecoin coin reward.
* Disable the re-org test as it disconnects the mini-node before the re-org completes.
2018-02-18 18:09:32 +00:00
Ross Nicoll
933436c265
Clean up RPC tests (#1465)
* Enable full block tests
* Fix invalidblocktest
* Move watch only address funding to immediately before it's used, so node 0 doesn't spend the output before it checks it later.
* Fix `fundrawtransaction` tests and sanitize fee calculation at the same time
* Correct resolution of chain parameters when validating tx inputs, especially from previous coinbase transactions
* Set block versions on full block tests so that the generated blocks are AuxPoW compatible
2018-02-11 21:00:50 +00:00
Ross Nicoll
c71589f237
Insert Dogecoin testnet merkle tree root value (#1469) 2018-02-04 16:55:40 +00:00
langerhans
d11b15072b Add PureHeader sources to libdogecoinconsensus 2018-01-28 18:11:43 +00:00
Ross Nicoll
0543f8d2e2
Update RPC tests for Dogecoin (#1431)
* Make most of the RPC tests pass
* Add AUXPoW rpc tests
- Tests the auxpow rpc interface `getauxblock`
- Tests consensus constraints for auxpow:
  - Minimum block height
  - Valid scrypt proof of work
  - Foreign chain ID
2018-01-20 17:56:53 +00:00
Ross Nicoll
55dc231005
Replace HMAC_SHA256 with Bitcoin's version (#1438) 2018-01-20 17:51:39 +00:00
Ross Nicoll
45aea897c2
Update payment protocol to match Dogecoin (#1433)
* Revised payment request handling to use genesis block hash instead of network name, enabling
support for more networks that just Bitcoin main and test net.
* Disable payment protocol certificate unit tests; we don't modify this code, and regenerating the test data is likely to be significantly time consuming. Will re-enable once discussion on spec is concluded.
2018-01-20 17:42:00 +00:00
Ross Nicoll
8472c6fda6
Add block height to block notification substitution options (#1430) 2018-01-20 17:32:36 +00:00
Ross Nicoll
af5b9ae74b
Enforce minor Dogecoin parameters (#1427)
* Minimum number of blocks and blockchain size are increased for pruning. In comparison to Bitcoin this uses 24 hours as a minimum, rather than 48, although given blocks are rarely full this likely reflects a lot longer in reality.
* Multiply fork detection parameters by 5. The wall clock time elapsed for "long" forks is therefore half that of Bitcoin, but IMHO those figures are excessive for a chain with 1 minute block times.
* BIP16 and BIP30 have both been enabled on Dogecoin since inception and should not be conditional.
2018-01-20 16:39:49 +00:00
Ross Nicoll
c9aeb66df0
Update test cases at 1000-byte boundaries (#1439)
Update test cases for 1,000 byte TX boundaries; in 1.10 and before the fees for these were rolled up to the next DOGE, however that results in incorrect fees because the UI currently uses 1,000 bytes as a predicted size. This updates the tests to match new behaviour in 1.14.
2018-01-11 21:05:58 +00:00
Ross Nicoll
cd7d2a3712
Load AuxPoW blocks from index correctly (#1443)
Load AuxPoW blocks from index correctly, by setting the version on the block before trying to check if it's AuxPoW. Previously the AuxPoW part of the block was never loaded because the check always failed.
2018-01-11 21:04:33 +00:00
Ross Nicoll
2b63e9ed93
Initialise left/right consensus branches to null (#1435)
Strictly speaking the left/right consensus branches haven't been initialised so contain random values.
Most of the time these happen to be null, but sometimes causes client crashes (at least it does in 1.15, but fixing in earlier versions to be sure).
2018-01-10 14:20:31 +00:00
Ross Nicoll
fd4082089e
Bring 1.14 fees in line with 1.10 (#1425)
* Disable free transactions
* Updating remaining fee calculation constants
* Round up to the nearest 1k, not up 1k so the UI fee estimator is correct
2018-01-10 08:43:05 +00:00
Ross Nicoll
f2cbd73c7c
Always use parameters at block 0 to get genesis block hash (#1416)
This doesn't actually change behaviour, but stylistically is more correct.
2018-01-08 20:23:41 +00:00
Patrick Lodder
c4c08ffb12 [auxpow] Guarantee backward compatibility on getauxblock
Adds a wrapper around getauxblock to return boolean responses
for getauxblock rather than bip22 responses.
2018-01-08 20:23:28 +00:00
Ross Nicoll
7d3cb5e000 Change result from getauxblock to BIP22 validation state 2018-01-08 20:23:28 +00:00
Ross Nicoll
b1778e3c49
Move COINBASE_MATURITY to the consensus parameters (#1426) 2018-01-08 19:39:10 +00:00
Ross Nicoll
0258aa797e
Check only the base block version (#1411)
Check only the base block version when looking for unexpected version numbers
2018-01-08 19:32:01 +00:00
Ross Nicoll
0c4d842198
Add Dogecoin current fee calculation logic (#1413)
Introduces 1 COIN/kb fees, rounded up to the next 1 COIN.
2018-01-07 22:56:53 +00:00
Lola Dam
e3c1bafdc4 Verify when doing 'backupwallet' that destination is not the same path of the original wallet.dat file. (#1406) 2018-01-04 22:07:08 +00:00
Ross Nicoll
4d5165d104 Update dogecoin-tx tests (#1409)
Update Python test address and key values to match Dogecoin format
2018-01-01 17:29:58 +01:00
Ross Nicoll
e9db975d2f
Change count type used by gettxoutsetinfo (#1415)
changing CAmount (is a int64_t) to arith_uint256 for nTotalAmount in CCoinsStats to prevent overflow
2018-01-01 16:24:14 +00:00
Ross Nicoll
bc74b3a2c8 Update checkpoints and chain work (#1410)
* Update checkpoints and chain work

* Correct checkpoint syntax

* Correct timestamp of last checkpoint block
2017-12-30 18:38:54 +01:00
Max K
632ce09def
Fix 1.14 unit tests (#1408)
* Fix BlockEncodings test by setting a legacy block version

* Fix RPC test by adding missing RPC call

* Add missing regtest genesis hashes
2017-12-28 22:41:29 +01:00
Ross Nicoll
e883283531
Modify chain consensus parameters to be height aware (#1396)
* Modify chain consensus parameters to be height aware
* Correct implementation of simplified rewards in parameters
* Correct max money
* Use base block version in IsSuperMajority() instead of full version
* Correct mining of blocks in AuxPoW tests
* Add in missing pre-AuxPoW consensus checks
2017-12-28 15:04:08 +00:00
Ross Nicoll
f71bd2c2d8 Change BIP65/66 enforcement to match Dogecoin (#1403)
* Introduce first estimates at BIP lock-in blocks

* Introduce Dogecoin BIP parameters

* Re-introduce supermajority rules for BIP65

* Add BIP65 supermajority rules

* Tighten v3 block constraints

* Don't enforce coinbase in v2 blocks

* Correct testnet majority params

* Change to using base version when checking supermajority
2017-12-27 22:11:14 +01:00
Max K
e46f0dae4e
Merge pull request #1404 from rnicoll/1.14-version-message
Stop sending a Bitcoin alert to Dogecoin clients
2017-12-27 21:00:18 +01:00
Ross Nicoll
36e39c1098
Set SegWit timeout to zero to disable it (#1405) 2017-12-27 10:40:44 +00:00
Ross Nicoll
1a4ddbd6bd Stop sending a Bitcoin alert to Dogecoin clients 2017-12-26 00:26:57 +00:00
Max K
9cc6d645aa
Merge pull request #1392 from rnicoll/1.14-digishield-retarget
Introduce Digishield retarget code to 1.14
2017-11-19 23:22:45 +01:00
Ross Nicoll
f1e116f711 Handle legacy v2 block at #66064 2017-11-19 22:12:19 +00:00
Ross Nicoll
493709b829 Correct PoW calculation logic to use locally calcualted difficulty 2017-11-19 22:10:53 +00:00
Ross Nicoll
62cbf04327 Sync changes from Dogecoin 1.10 2017-11-19 22:10:53 +00:00
Ross Nicoll
29ce7b5a18
Sync mining code from Namecore to resolve unit test failures (#1385) 2017-11-19 22:09:03 +00:00
Ross Nicoll
1f3278ecab Merge AuxPoW support from Namecore
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.
2017-08-13 21:30:59 +01:00
Ross Nicoll
10ad46f940 Update DB version to 5.1 2017-08-13 21:30:59 +01:00
Max K
df900393c7 Merge pull request #1369 from langerhans/1.14-dev-dep-builder
Update dependency builder packages
2017-06-26 00:59:36 +02:00
langerhans
3641ab938d Update dependency builder and its packages to be ready for Dogecoin specifics 2017-05-21 08:37:34 -07:00
Ross Nicoll
03b5a01054 Annotate work to be done to Dogecoin-ify 2017-05-07 20:48:03 +01:00
Ross Nicoll
9426f29378 Add Dogecoin difficulty calculations 2017-05-07 20:48:03 +01:00
coblee
909be42689 Litecoin: Fix zeitgeist2 attack thanks to Lolcust and ArtForz. This fixes an issue where a 51% attack can change difficulty at will. Go back the full period unless it's the first retarget after genesis. 2017-05-07 20:48:03 +01:00
Warren Togami
a248acba44 Litecoin: Scrypt n=1024 Pow hash based upon Colin Percival's Tarnsnap (2009) Modified by Artforz, coblee, pooler, wtogami, Nikolay Belikov, Adrian Gallagher 2017-05-07 20:48:03 +01:00