Commit graph

9164 commits

Author SHA1 Message Date
Patrick Lodder 4dd49512e9
Merge pull request #1762 from DemonRx/ignore-proxy-connection-error
[netbase] Do not print an error on connection timeouts through proxy
2021-02-24 20:42:58 +01:00
Demon ce4f6974b0 ignore-proxy-connection-error 2021-02-23 23:31:02 -05:00
tnaka b3d9bbc7dc fixed listunspent rpc convert parameter 2021-02-22 22:23:14 +01:00
Pedro Branco 3c1fa13921 Add query options to listunspent rpc call 2021-02-22 22:23:09 +01:00
Patrick Lodder 18a55c271c
Merge pull request #1638 from patricklodder/1.14.3-locale-sorting
Locale independent sorting
2021-02-22 11:52:04 +01:00
Carsen Klock dda4b51d89
Update chainparams.cpp (#1751)
Removed Denarius (D) seeders for Dogecoin.
2021-02-21 08:19:17 +00:00
Patrick Lodder 3007516320
Merge pull request #1707 from eltociear/patch-2
[wallet] fix typo in rpcwallet.cpp
2021-02-17 23:38:58 +01:00
Ross Nicoll d117d075a4
Merge pull request #1676 from shibe2/skipcheckpow
Don't recompute AuxPoW when serving peer requests
2021-02-15 20:36:38 +00:00
Max K 5887ca3ec5
Merge pull request #1655 from John-Gee/1.14.3-dev
Build on recent Linux
2021-02-14 18:51:02 +01:00
Ross Nicoll 58ce7f5405 Add testnet checkpoints 2021-02-14 13:36:15 +00:00
Ross Nicoll 7f754bbf05 Add live checkpoints 2021-02-14 13:36:15 +00:00
Reiner Herrmann c7fa40b00d
Locale independent sorting
Some locales sort differently, which causes a different order
of files, which leads to an unreproducible build.
Sort the files always with the C locale.
2021-02-13 17:51:31 +01:00
Patrick Lodder 0c600d7f9d
Fixate BIP65 softfork heights
- Re-introduce Params.BIP65Height
- Fixate block 1854705 for testnet
- Fixate block 3464751 for mainnet
- Fixate block 1351 for regtest
- Stop using IsSuperMajority() in validation for BIP65
- Simplify RPC SoftForkMajorityDesc
2021-02-13 17:24:55 +01:00
Shibe ef9242b9ec Don't re-check AuxPoW when sending data to peers
Checking scrypt PoW is expensive and needless in this case. All block
headers are already checked when they are accepted, and they will be
checked again on the receiving end.
2021-02-08 16:52:55 +04:00
Patrick Lodder d96b5daafa
Merge pull request #1705 from rnicoll/block-download-timeout
Adapt block download timeouts to Dogecoin
2021-02-08 10:50:23 +01:00
Ross Nicoll f9b9a591b8 Halve timeouts 2021-02-07 22:57:46 +00:00
Patrick Lodder 27488d8f57
Merge pull request #1706 from slightlyskepticalpotat/master
fix minimum required space for data directory
2021-02-07 23:21:03 +01:00
Anthony Chen 676c24b64c
Update src/qt/intro.cpp
Co-authored-by: Ross Nicoll <ross.nicoll@r3.com>
2021-02-06 13:35:02 -05:00
Ikko Ashimine 3ba037d793
[wallet] fix typo in rpcwallet.cpp
replacable -> replaceable
2021-02-06 12:05:47 +09:00
Anthony Chen 3b477bcd53 fix minimum required space for data directory 2021-02-05 21:57:47 -05:00
Ross Nicoll a4638bb50f Adapt block download timeouts to Dogecoin
Block download timeouts are expressed as a fraction of block interval time, so Dogecoin values have been too aggressive.
Matching Bitcoin values as a starting point.
2021-02-05 23:36:38 +00:00
John-Gee 26a1c76b1e Fixed for Qt 5 2021-02-02 03:56:23 -08:00
John-Gee 41406bfa17 Fix for Boost 1.74 2021-02-02 03:54:57 -08:00
Patrick Lodder c338a71bd2
Merge pull request #1669 from carsenk/master
New DNS Seeders for DOGE
2021-02-01 18:00:14 +01:00
Ross Nicoll 4aafd6fabd
Merge pull request #1664 from patricklodder/1.14.3-mempool-expiry
Default policy: reduce default mempool expiry time
2021-01-31 17:30:40 +00:00
Patrick Lodder 0a09a9cef1
Merge pull request #1684 from eltociear/patch-1
[Qt] fix typo in bitcoingui.cpp
2021-01-31 17:40:03 +01:00
Ikko Ashimine 62c493e7a8
[Qt] fix typo in bitcoingui.cpp
availble -> available
2021-01-31 14:38:31 +09:00
Carsen Klock 0f4815d2b7
Removed Comments
Doges, just do not forgot who made Dogecoin great again

DENARIUS (D) https://denarius.io
2021-01-30 19:03:25 -07:00
Carsen Klock ad8d1eadae
Added new denarius.pro seeders for DOGE
D helping D
2021-01-29 16:34:45 -07:00
Patrick Lodder d62033cb90
Default policy: reduce default mempool expiry time
Reduces DEFAULT_MEMPOOL_EXPIRY from 336 hours to 24 hours.
Motivation is that while blocks are empty, un-relayable tx are
stuck in mempools for a long time and effectively locking utxo
for 2 weeks until they can be respent, if no RBF opt-in was
performed (most wallet implementations do not do RBF opt-in.)
As the expectation is that block space will not be fully utilized
for the foreseeable future, and therefore, as long as this is the
case, no valid transaction should ever live in the mempool for
more than a couple of minutes.

This default setting can be overridden with the -mempoolexpiry
parameter by individual node operators to a value (expressed
in hours) that makes the most sense for the use cases the node
serves.
2021-01-27 13:20:27 +01:00
Patrick Lodder 3de77ad6d8 [tests] fix rpc ban test: set test time far into the future 2021-01-15 19:19:05 +00:00
Patrick Lodder cf79da3f96
Merge pull request #1637 from patricklodder/disk_size_and_pruning
Add size_on_disk and addl pruning fields to getblockchaininfo
2020-08-06 09:57:09 +02:00
Patrick Lodder 447af0edcd
Merge pull request #1629 from ftab/1628-fix-dogecoin-links
Fix dogecoin payment links
2020-07-27 14:56:33 +02:00
Patrick Lodder 15c872ce9b
Merge pull request #1626 from bjacquin/dev/beber/deque
httpserver: include deque
2020-07-27 10:26:25 +02:00
Patrick Lodder 578f738810
Merge pull request #1388 from maerco/patch-1
Fixes translation for "Export Address List"
2020-07-27 09:59:51 +02:00
Daniel Edgecumbe 59dcceea58
[backport] [rpc] getblockchaininfo: add size_on_disk, prune_target_size, automatic_pruning
Fix pruneheight help text.
Move fPruneMode block to match output ordering with help text.
Add functional tests for new fields in getblockchaininfo.

Rebase-from: bitcoin#b7dfc6c4
2020-07-24 18:45:39 +02:00
Patrick Lodder 16e5ae5939
fix cents->coins in comment in wallet_tests.cpp 2020-07-22 21:12:23 +02:00
Patrick Lodder d725cfb8a9
dogecoin-tx: fix tests
- explicitly specify v1 and v2 transactions due to 140cc1db
- fix "exec: bitcoin-tx" misses
2020-07-22 13:46:29 +02:00
Patrick Lodder 4b7e35c0ba
Fix the hash of the best block to reflect the Dogecoin block
This was prev tested to be a Bitcoin block in qt rpc tests
2020-07-22 13:45:28 +02:00
Patrick Lodder 7f5d1446d5
qt-tests: Disable payment server test that moves 21M+1 coins.
This is not a testcase for Dogecoin. Like the other payment
server tests, this could be amended, or it can be depreciated,
depending on where we take payment protocol.
2020-07-22 13:45:05 +02:00
Patrick Lodder 7626b811a7
tests: fix non-qt tests that spend dust
- transaction_tests/IsStandard was spending 0.9 DOGE
- tx_validationcache_tests/mempool_dblspend was spending 0.11 DOGE
- wallet_tests/coin_selection was completely built around spending
  cents. This test has been completely reworked and redocumented
  to make sense for Dogecoin
2020-07-22 13:44:44 +02:00
Dennis Field f9ed102553
Change IPC prefix from bitcoin: to dogecoin:
Given that GUIUtil::parseBitcoinURI is expecting it to start with dogecoin,
it seems like this was overlooked, and this results in dogecoin: links not
being processed as expected in handleURIOrFile, ipcParseCommandLine.

Instead of processing the link as a payment request and opening the such send
page, it simply opens the core wallet (or attempts to open another).

This commit makes dogecoin-qt properly handle dogecoin links so that the such
send page is opened with the desired information obtained from the link.

Fixes #1628
2020-02-27 03:06:36 -05:00
Bertrand Jacquin d53a3bebee
httpserver: include deque
It seems gcc 9.2.0 requires deque to be included:

  x86_64-pc-linux-gnu-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I../src/config   -I. -I./obj -I/usr/include/db5.1/ -pthread -I/usr/include -I./leveldb/include -I./leveldb/helpers/memenv   -I./secp256k1/include    -pthread -I/usr/include/db5.1 -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS    -march=native -O2 -pipe -fomit-frame-pointer -c -o libdogecoin_server_a-httpserver.o `test -f 'httpserver.cpp' || echo './'`httpserver.cpp
  httpserver.cpp:71:10: error: ‘deque’ in namespace ‘std’ does not name a template type
     71 |     std::deque<std::unique_ptr<WorkItem>> queue;
        |          ^~~~~
  httpserver.cpp:30:1: note: ‘std::deque’ is defined in header ‘<deque>’; did you forget to ‘#include <deque>’?
     29 | #include <event2/keyvalq_struct.h>
    +++ |+#include <deque>
     30 |
  httpserver.cpp: In member function ‘bool WorkQueue<WorkItem>::Enqueue(WorkItem*)’:
  httpserver.cpp:110:13: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’?
    110 |         if (queue.size() >= maxDepth) {
        |             ^~~~~
        |             Enqueue
  httpserver.cpp:113:9: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’?
    113 |         queue.emplace_back(std::unique_ptr<WorkItem>(item));
        |         ^~~~~
        |         Enqueue
  httpserver.cpp: In member function ‘void WorkQueue<WorkItem>::Run()’:
  httpserver.cpp:125:35: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’?
    125 |                 while (running && queue.empty())
        |                                   ^~~~~
        |                                   Enqueue
  httpserver.cpp:129:31: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’?
    129 |                 i = std::move(queue.front());
        |                               ^~~~~
        |                               Enqueue
  httpserver.cpp: In member function ‘size_t WorkQueue<WorkItem>::Depth()’:
  httpserver.cpp:154:16: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’?
    154 |         return queue.size();
        |                ^~~~~
        |                Enqueue
2020-01-24 20:16:27 +00:00
Max K d5d4388a16
Merge pull request #1615 from rnicoll/1.14/dust-fees
Correct dust and change
2019-11-03 19:42:47 +01:00
Ross Nicoll 388fb79a3a Fix dust threshold at 1 DOGE 2019-11-03 17:25:06 +00:00
Ross Nicoll 093f1abf40 Correct dust and change
Correct dust threshold, which is never less than 1 DOGE.
Correct minimum change, which is 1 DOGE.
2019-11-03 09:55:30 +00:00
langerhans 2de4045585 Fix RPC description of supermajority based forks 2019-07-14 19:38:26 +02:00
langerhans ae9065a17e Merge branch 'rnicoll-rnicoll/1591-rebase' into 1.14-maint 2019-07-14 19:17:14 +02:00
Ross Nicoll dbfb33abe0 Revert behaviour change in getauxblock
Change getauxblock to respond with a "target" field instead of "_target".
2019-07-13 19:23:36 +00:00
rllola 8fbd1680bb Added coments on chain parameters for regtest 2019-07-12 21:36:26 +00:00
langerhans ccd17d1b48 Update chainparams with more recent data 2019-04-14 18:32:15 +02:00
John Newbery c4b8fbf57f [rpc] Add initialblockdownload to getblockchaininfo 2019-04-14 18:32:15 +02:00
langerhans 936bf6f05b Fix some strings still referencing bitcoin 2019-03-25 05:36:12 +00:00
Michi Lumin 20aa821ec9 Actual dogecoin icons instead of bitcoin ones for OSX build.
Actual dogecoin icons in ICNS format for OSX build, instead of old bitcoin ones.
2019-03-25 05:36:12 +00:00
Michi Lumin d84837a838 Cherry-pick from Bitcoin repo, 1ec0c0a: small changes for OSX build
Cherry-pick from Bitcoin repo, 1ec0c0a: adds "const" suffix to several lines in txmempool.h and miner.h to make this build succeed under OSX w. clang++ and Boost lib 1.66+
2019-03-25 05:36:12 +00:00
langerhans 8c8ceb7dc1 Add rule to generate raw.h file to test Makefile 2019-03-25 05:36:12 +00:00
Ross Nicoll 7ccf62e1a4 [Qt] Disable milli and micro units, introduce kilo and mega units (#1463)
milli- and micro-Dogecoins are below dust threshold so do not make
any sense as display units. Instead, kilo- and mega-dogecoins are
probably more useful, as those make common amounts easier to read
instead of harder
2019-03-25 05:36:12 +00:00
Ross Nicoll 443b058a77 Update Gitian descriptors and keys (#1455)
* Replace Gitian keys - Note I've removed Leofidus' key due to inactivity, and added a weight of 20
to whit's key.
* Replace Bitcoin with Dogecoin in Gitian descriptors
* Fix Makefile refrence to bash-completion files
* Rename remaining bash-completion files
* Add wallet_bgcoin to Qt Makefile
* Add PureHeader sources to libdogecoinconsensus
2019-03-25 05:36:12 +00:00
Ross Nicoll 43b585b3cc Add dogechain and chain.so as default block explorers 2019-03-25 05:36:12 +00:00
Sporklin f5d306e9f5 Amount to send field now goes up/down 1 DOGE at a time (#1441) 2019-03-25 05:36:12 +00:00
Max K 2a0c66035d Re-add paperwallet printer (#1467)
* Add paper wallet generator to QT wallet

* Replace print icon with Typeicons equivalent

* Re-add printer support to Qt

* depends: fix fontconfig with newer glibc

See comment for more detail

* Set fixed size for paper wallet dialog
2019-03-25 05:36:12 +00:00
J Ross Nicoll 74814cfb24 Update about menu icon to Dogecoin
Icon provided by cdeverett
2019-03-25 05:36:12 +00:00
Ross Nicoll 3a62bcc51f Update URI tests for Dogecoin (#1457)
Note that the test address was invalid in Bitcoin Core, and as such rather than
re-encoding as a Dogecoin address, I've simply swapped the first byte. Still
invalid, but looks correct at least.
2019-03-25 05:36:12 +00:00
Ross Nicoll f93d42df1d rebrand dogecoin-tx test (#1450) 2019-03-25 05:36:12 +00:00
Ross Nicoll 4a87b53e55 Update QT client messages and translations to Doge equivalents (#1429)
Update QT client messages and translations to Doge equivalents.
2019-03-25 05:36:11 +00:00
Ross Nicoll 4dd8838b3a Rename binaries to match Dogecoin 2019-03-25 05:36:11 +00:00
Ross Nicoll 148a2aca05 Introduce basic Dogecoin branding 2019-03-25 05:36:11 +00:00
Ross Nicoll d0133b27fc Drop use of smart fees
Drop use of smart fees when calculating transaction fees. Dogecoin fees are intentionally
on a fixed schedule.
2019-03-17 10:00:38 -07:00
Ross Nicoll 199cf694ef Update miner confirmation window
* Update miner confirmation window to 240 for Dogecoin main net, and update related values.
* Re-enable PoW tests with Dogecoin values.
* Update version bit tests based on Dogecoin mining values.
2018-09-23 21:22:58 +01:00
Ross Nicoll 140cc1dba1 Create v1 transactions for compatibility with 1.10 (#1485)
Create v1 transactions for compatibility with 1.10. See https://github.com/bitcoin/bips/blob/master/bip-0068.mediawiki for context.
This should NOT be merged into 1.16.
2018-09-19 22:11:47 +01:00
Ross Nicoll 41c868f47e Re-introduce alert functionality (#1470)
Re-introduce alert functionality removed from Bitcoin upstream
2018-09-19 22:11:47 +01:00
Ross Nicoll dee5e404b3 Update or eliminate remaining tests (#1483)
* Change amount tests to use rounded values
* Disable legacy tests
2018-09-19 22:11:47 +01:00
Ross Nicoll 9c3a11b248 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-09-19 22:11:47 +01:00
Ross Nicoll a9db76f39d Insert Dogecoin testnet merkle tree root value (#1469) 2018-09-19 22:11:47 +01:00
langerhans 0df972131e Add PureHeader sources to libdogecoinconsensus 2018-09-19 22:11:47 +01:00
Ross Nicoll b6b5ee7502 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-09-19 22:11:47 +01:00
Ross Nicoll 57dae15a77 Replace HMAC_SHA256 with Bitcoin's version (#1438) 2018-09-19 22:11:47 +01:00
Ross Nicoll 5618d8497a 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-09-19 22:11:47 +01:00
Ross Nicoll ea52cb3ae0 Add block height to block notification substitution options (#1430) 2018-09-19 22:11:47 +01:00
Ross Nicoll 2860c4bc31 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-09-19 22:11:47 +01:00
Ross Nicoll ad9e54ca72 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-09-19 22:11:41 +01:00
Ross Nicoll 3c060b31fe 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-09-19 21:09:16 +01:00
Ross Nicoll 4d5e53e7b2 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-09-19 21:09:16 +01:00
Ross Nicoll 3d363eccd4 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-09-19 21:09:16 +01:00
Ross Nicoll 493f02ba2a Always use parameters at block 0 to get genesis block hash (#1416)
This doesn't actually change behaviour, but stylistically is more correct.
2018-09-19 21:09:16 +01:00
Patrick Lodder 33db4921e5 [auxpow] Guarantee backward compatibility on getauxblock
Adds a wrapper around getauxblock to return boolean responses
for getauxblock rather than bip22 responses.
2018-09-19 21:09:16 +01:00
Ross Nicoll 4b33236028 Change result from getauxblock to BIP22 validation state 2018-09-19 21:09:16 +01:00
Ross Nicoll 7b81f4de0a Move COINBASE_MATURITY to the consensus parameters (#1426) 2018-09-19 21:09:16 +01:00
Ross Nicoll ec40df46b5 Check only the base block version (#1411)
Check only the base block version when looking for unexpected version numbers
2018-09-19 21:09:16 +01:00
Ross Nicoll 18850d359b Add Dogecoin current fee calculation logic (#1413)
Introduces 1 COIN/kb fees, rounded up to the next 1 COIN.
2018-09-19 21:09:16 +01:00
Lola Dam 65342fa48f Verify when doing 'backupwallet' that destination is not the same path of the original wallet.dat file. (#1406) 2018-09-19 19:24:06 +01:00
Ross Nicoll 277f207457 Update dogecoin-tx tests (#1409)
Update Python test address and key values to match Dogecoin format
2018-09-19 19:24:06 +01:00
Ross Nicoll c6eeab75a1 Change count type used by gettxoutsetinfo (#1415)
changing CAmount (is a int64_t) to arith_uint256 for nTotalAmount in CCoinsStats to prevent overflow
2018-09-19 19:24:06 +01:00
Ross Nicoll 7d647782dd Update checkpoints and chain work (#1410)
* Update checkpoints and chain work

* Correct checkpoint syntax

* Correct timestamp of last checkpoint block
2018-09-19 19:24:06 +01:00
Max K 60f8ff05e4 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
2018-09-19 19:24:06 +01:00
Ross Nicoll 1be681a1b9 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
2018-09-19 19:24:06 +01:00
Ross Nicoll a89d54c4b2 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
2018-09-19 19:23:29 +01:00
Ross Nicoll 92054123b8 Set SegWit timeout to zero to disable it (#1405) 2018-09-19 19:23:29 +01:00
Ross Nicoll 5833455f74 Stop sending a Bitcoin alert to Dogecoin clients 2018-09-19 19:23:29 +01:00
Ross Nicoll e9c0ac7afb Handle legacy v2 block at #66064 2018-09-19 19:23:29 +01:00