14148 Commits

Author SHA1 Message Date
Evan Klitzke
c4ef2d1f03
build: fix automake warnings when running autogen.sh
- Removes hard coded GZIP_ENV because this is now handled properly
  by gitian.
- Removes target '.mm.o' because that was needed for XCode <= 4.2

Cherry-picked from: f8c6697
2022-06-25 18:36:02 +02:00
fanquake
3ad3cd5647
[Build] Add AM_OBJCXXFLAGS and QT_PIE_FLAGS to OBJCXXFLAGS to future-proof darwin targets
Cherry-picked from: cc5c39dd
Conflicts: changed libbitcoinqt into libdogecoinqt
2022-06-25 18:36:01 +02:00
Old Dip Tracker
d0bc620154
Merge pull request #2964 from True-Mining/1.14.6-dev
Set the wallet's discard threshold to 0.01 DOGE
2022-06-25 10:28:10 -04:00
Old Dip Tracker
54a6dbe0bb
Merge pull request #2974 from chromatic/add-rescanchain-rpc-command
Add rescan RPC command
2022-06-25 09:29:40 -04:00
matheusbach
bd3500adcb set the wallet's discard threshold to 0.01 DOGE 2022-06-23 22:03:55 -03:00
chromatic
666e174f1f
Merge pull request #3011 from patricklodder/1.14.6-translations-remainder
locale: update languages that have no recent updates
2022-06-23 14:44:07 -07:00
Patrick Lodder
2a0c36b691
locale: update languages that have no recent updates
Omitted all unmaintained dialects unless there only is a dialect.

Excluded files:

- bg_BG -> bg
- ca@valencia and ca_ES -> ca
- el_GR -> el
- es_AR, es_CL, es_CO, es_DO, es_ES, es_MX, es_UY and es_VE -> es
- et_EE -> et
- fa_IR -> fa
- fr_CA and fr_FR -> fr
- ro_RO -> ro
- ru_RU -> ru
- tr_TR -> tr
- vi_VN -> vi
- zh and zh_HK -> zh_CN
2022-06-23 17:38:13 +02:00
chromatic
eecc9325bf
Merge pull request #3010 from patricklodder/1.14.6-translations-recent
locale: update recent translations
2022-06-22 22:52:24 -07:00
chromatic
7c67087d61
Merge pull request #3009 from patricklodder/1.14.6-translation-str
locale: update the strings and english translation files
2022-06-22 22:45:24 -07:00
chromatic
f74e27da05 Add rescan RPC command 2022-06-22 22:34:42 -07:00
Patrick Lodder
1d00bfe82c
locale: update recent translations 2022-06-22 22:17:33 +02:00
Patrick Lodder
09475f19cb
locale: update the strings and english translation files 2022-06-22 22:15:54 +02:00
Old Dip Tracker
b38a23cdfe
Merge pull request #3001 from patricklodder/1.14.6-remove-bad-info
wallet: remove misleading information about transaction state
2022-06-22 16:14:18 -04:00
chromatic
de26bbfbe1
Merge pull request #2998 from patricklodder/1.14.6-textual-improvements
improve some user-facing strings
2022-06-21 22:06:32 -07:00
Patrick Lodder
90373b711e
wallet: remove misleading information about transaction state
Qt wallets display information to users about the broadcast state
of transactions, without truly knowing the actual state. The fact
that a peer has requested details for a transaction does not mean
it was accepted to their mempool or relayed to any other peers and
miners, because the only way to test if the transaction can be
accepted is by requesting and processing it.

We remove the "offline" and "maturity warning" statuses, which
saves large wallets memory and processing time.

Backported from: beef7ec4
Original author: Matt Corallo <git@bluematt.me>
2022-06-21 16:36:19 +02:00
Old Dip Tracker
5121eef492
Merge pull request #3003 from patricklodder/1.14.6-fix-p2p-policy
qa: harden the p2p-policy test
2022-06-21 10:34:54 -04:00
chromatic
f91b29e1ca
Merge pull request #2997 from patricklodder/1.14.6-enhance-addnode-memory
net: constrain the memory usage of manually added nodes
2022-06-20 21:31:50 -07:00
chromatic
77bb8b9f07
Merge pull request #2995 from patricklodder/1.14.6-biplist
doc: maintain the biplist
2022-06-20 16:56:54 -07:00
chromatic
d71725e699
Merge pull request #2973 from patricklodder/1.14-gitian-building-script
Improved gitian build script
2022-06-20 16:50:25 -07:00
Old Dip Tracker
96d34ae4da
Merge pull request #3000 from chromatic/forbid-negative-verifychain-blocks
Force `verifychain` RPC args to be positive
2022-06-20 19:38:58 -04:00
Patrick Lodder
f209f710af
qa: harden the p2p-policy test
the p2p-policy test has a number of issues because it is a real-
time relay test that can at the moment not be mocked and it is
insufficiently hardened against signature length variation.

This makes 2 changes to the test to make it more reliable:

1. Increase the maximum wait time for transactions to be relayed to
   2 minutes instead of 30 seconds. This gives us more certainty
   that the PoissonNextSend() function doesn't schedule outside of
   our window.
2. Whenever we sign a transaction with an unexpected signature
   length, retry constructing the transaction (with a different
   input). Fees are changed to be 100% exact.

Note that this makes the test potentially take a longer time to
complete, so we move it up in the list of the test runner, to
be triggered early.
2022-06-20 19:08:54 +02:00
Old Dip Tracker
f132f56ac3
Merge pull request #2996 from chromatic/add-backupdir-option
Add configurable backup directory for wallet dumps and backups
2022-06-19 21:06:40 -04:00
Patrick Lodder
8c5dc302ba
net: constrain the memory usage of manually added nodes
Each node keeps a registry of manually added nodes (through the
addnode parameter, rpc call or UI) but there are currently no
limits imposed on that usage, which is a bit sloppy and can lead
to situations where memory is being used for storing addresses
that are never connected to, because the maximum number of
connections used for addnode entries is hardcoded as 8. This
could prevent smaller systems that host nodes (like those
running on an ARM SoC) to optimally use the available memory.

This enhancement limits the addnode functionality as follows:

1. Whenever over 799 nodes are added to the registry, require
   the user to remove an entry before a new one can be added
2. Disallow very large addresses (more than 256 characters).
   This limit provides for at least 4 levels of subdomains as
   specified under RFC1035.

See https://datatracker.ietf.org/doc/html/rfc1035#section-2.3.1
2022-06-20 01:54:31 +02:00
Old Dip Tracker
5eb3a70cdc
Merge pull request #2988 from alamshafil/liststucktx
Add an RPC method showing wallet transactions that are not in the mempool
2022-06-19 19:00:29 -04:00
chromatic
8c20b002a6 Force verifychain RPC args to be positive
Verification levels must be between 0 and 4 inclusive, and block heights should
always be positive. While code in the scan process handles the latter case with
a default value, it's better to verify and reject invalid input where it first
enters the system.
2022-06-19 07:01:45 -07:00
Patrick Lodder
0bca077efb
improve some user-facing strings
- improves conciseness of tips displayed in Qt
- makes the function of the reset button on the importkeydialog
  describe reality
- describe alertnotify to match the new reality after 565280f4
- make sure that "koinu" is not expressed as "koinus"
- fix type in advanced send screen
2022-06-19 00:56:30 +02:00
chromatic
5f5d6a381c Extract wallet RPC utility file 2022-06-18 12:14:34 -07:00
chromatic
c0e27fc825 Make dumpwallet/backupwallet use backupdir path
This adds more defensiveness around dumping or backing up wallets, so
that the directory and filepaths are always available (even if they were
on transient storage that was removed), and that they never overwrite
other files.
2022-06-18 12:14:34 -07:00
chromatic
5735276cc5 Add -backupdir CLI option
This allows users to set the directory in which to store backups and
datadumps.  If not provided, defaults to a subdirectory of `datadir`
called `backups/`, and if that cannot be created, defaults to `datadir`.
2022-06-18 12:14:20 -07:00
chromatic
132ebe6858
Merge pull request #2994 from patricklodder/1.14.6-fix-premade-chain-qa
qa: remove test-local dependencies on enable_mocktime
2022-06-18 12:02:44 -07:00
Patrick Lodder
f1635db252
doc: maintain the biplist
It was noted that there is no clear documentation of which protocol
features are available for Dogecoin. This document fulfills that
function, but hasn't been maintained thus far.

This PR changes the document to list all the BIPs implemented and
activated by Dogecoin Core until v1.14.6, and adds protocol
features from other code bases we have adopted.
2022-06-17 19:15:20 +02:00
Old Dip Tracker
e22b54607c
Merge pull request #2991 from chromatic/remove-alert-system
Remove alert system
2022-06-17 12:29:21 -04:00
Patrick Lodder
022bb18a78
qa: add test for liststucktransactions
Creates a wallet with stuck transactions and then tests the
liststucktransactions rpc method on that wallet
2022-06-17 11:20:38 -04:00
alamshafil
6fc61972b8 Add RPC method showing wallet TX not in mempool 2022-06-17 11:20:22 -04:00
Old Dip Tracker
b3beca6cc4
Merge pull request #2758 from patricklodder/1.14.6-maxlocsz
net: Introduce a maximum size for locators
2022-06-17 08:05:37 -04:00
Old Dip Tracker
7c5901ec12
Merge pull request #2936 from alamshafil/update-zlib
Depends: Update zlib to 1.2.12
2022-06-16 15:08:25 -04:00
Patrick Lodder
edf67d5109
qa: remove test-local dependencies on enable_mocktime()
Tests that depend on enable_mocktime() because they use the cached
chain are testing things that need actual time. Because we're
mocking time more often when we are processing messages, these
tests fail (because to the node, no time expires)

This rewrites these tests to no longer use the cached chain.

Tests affected:

- listtransactions.py
- receivedby.py
2022-06-16 16:41:24 +02:00
Old Dip Tracker
71507dde41
Merge pull request #2934 from chromatic/retain-traffic-graph-values
Retain traffic graph values
2022-06-15 11:09:05 -04:00
chromatic
565280f457 Remove alert system
While looking at the network code, we realized this code is unused and
largely unmaintained. Given issue #2231, and its removal in 1.21, it's
time to remove it now.

This has the nice benefit of removing a single point of failure/control
(because it depends on a keypair to send alerts).

This code restores the pre-alert behavior before the merge of PR #1470.
2022-06-14 17:09:57 -07:00
chromatic
530e7c1008 Retain network traffic data on slider change
See #2523, a request not to drop data when changing the time scale of
the graph.

This change includes several components performed by @michilumin:

 * allows resampling and data retention
 * separates data from visual sample stores on the graph
 * uses averages instead of maximums for samples
 * improves timing accuracy

Co-authored-by: Michi Lumin <michi@luskwood.org>
2022-06-13 13:20:34 -07:00
chromatic
c6cd7efb56
Merge pull request #2986 from patricklodder/1.14.6-mockable-microtime
net: implement a mockable micro time
2022-06-13 12:50:06 -07:00
Patrick Lodder
a31fa4ff01
net: implement a mockable micro time
Throughout the code, we use mockable time in places where we want
to test things that are subject to timing constraints, but don't
want to wait for great amounts of time when we use the regtest
network to ensure nothing gets broken. Mockable time is a system
time override that is only enabled on chains that have the
fMineBlocksOnDemand parameter set (currently: regtest).

Currently, only time expressed in seconds is able to be mocked, but
we have a couple of places where time is evaluated in microseconds,
one of them being the time between sending out addr messages.

This introduces a mockable time in microseconds and refactors the
time evaluation for addr messages to be mocked, so that we can
more reliably (and faster) test that.

Other protocol features may want to use this too, but currently the
sending of addr messages is the only place we test. Bitcoin Core
nowadays has a much better time system that we inherit in future
versions, but for the current scope I found this not worth the
effort of backporting, as these would impact a much larger part of
the code base.

Inspired by: 1a8f0d5a from Amiti Uttarwar
2022-06-12 21:09:22 +02:00
Patrick Lodder
3845240ff7
gitian: minor fixups
- explain apt-cacher post-installation tasks
- change doc example to 1.14.5 because 1.14.4 expects trusty
- remove pressure on bitcoincore.org by downloading files from
  dogecoincore.org
2022-06-12 02:47:51 +02:00
chromatic
ed487e80c7
Merge pull request #2976 from patricklodder/1.14.6-addr-qa
qa: add tests for `addr` messages
2022-06-09 19:53:05 -07:00
Patrick Lodder
231066d78d
qa: add tests for p2p addr messages
This creates a baseline for future work on addr messages
2022-06-06 11:59:07 +02:00
Patrick Lodder
fe90690fb2
qa: support addr message time field in mininode.py
Adds the time field to addr messages from protocol version 31402,
but serialize/deserialize without it for version messages. This
allows us to test p2p addr messages.

See src/version.h and c891967b
2022-06-06 11:59:06 +02:00
chromatic
99c19a1a34
Merge pull request #2978 from patricklodder/1.14.6-fix-w64-ci
ci: force remove mono from windows builds
2022-06-05 17:28:47 -07:00
Old Dip Tracker
3c2a095361
Merge pull request #2970 from H-MAli/development
Added Persian translation of README.md file
2022-06-05 13:23:17 -04:00
Patrick Lodder
d5121c584b
ci: force remove mono from windows builds
After a bionic update on 2022/06/03, Github Actions images have a
mono-runtime installation that takes precedence over wine, which
we need for running the tests.

This removes mono-runtime from both win CI jobs if it exists, so
that it doesn't bother us anymore in any way thinkable. We do not
need mono there, as we do not .net

Although the issue only manifested on x86_64-w64-mingw32 builds,
this also removes it from the i686-w64-mingw32 build as a
precaution.
2022-06-05 14:30:54 +02:00
Old Dip Tracker
1fcd30fa23
Merge pull request #2798 from MVShishkov/patch-1
Update README_zh_CN.md
2022-06-02 11:59:33 -04:00