9417 Commits

Author SHA1 Message Date
ANISH M
d2081257db
set character display limit label in Send coin dialog
An attempt to fix  bug tx confirmation window is getting out of the screen and can't click on "send" by setting a maximum of 45 characters to not wrap lines in the label and be able to add ... if the size exceeds that.
2023-02-18 22:06:31 +05:30
chromatic
3a29ba6d49
Merge pull request #3048 from patricklodder/1.14.6-fixate
fixate v1.14.6
2022-07-18 15:54:00 -07:00
chromatic
6517a495fa
Merge pull request #3036 from RnoHach/patch-1
Update bitcoin_bg.ts - Български
2022-07-18 15:52:53 -07:00
RnoHach
87583f0542
Update bitcoin_bg.ts
Co-authored-by: ch0k1 <4okito@gmail.com>
2022-07-18 23:05:56 +02:00
Old Dip Tracker
7d764249ef
Merge pull request #3029 from qlpqlp/Minor-updates-to-portuguese-from-portugal-translation-(1.14.6-dev)
Minor updates to portuguese from portugal translation (1.14.6-dev)
2022-07-18 15:39:44 -04:00
chromatic
ad8625a031
Merge pull request #3026 from patricklodder/1.14.6-dutch2
Minor updates to Dutch translation
2022-07-18 10:09:29 -07:00
chromatic
4cf5285ab0
Merge pull request #3045 from patricklodder/1.14.6-copyright
Update copyright years
2022-07-17 12:24:39 -07:00
chromatic
d14cf7cf09
Merge pull request #3031 from patricklodder/1.14.6-checkpoints
update checkpoints, chainwork, assumevalid for mainnet and testnet
2022-07-17 12:05:07 -07:00
inevitable360
5dd2cf6d5f
Minor updates to portuguese from portugal translation UI
Minor updates to portuguese from portugal translation, and finished translated 100% of the rest of the file.

this new was made to be able to run sucessful all tests do to my error on (https://github.com/dogecoin/dogecoin/pull/3028)

Applied some suggestions and corrections from @justAndrea1111
2022-07-17 15:22:44 +02:00
Patrick Lodder
43fbdfa9b8
fixate v1.14.6 2022-07-16 23:32:52 +02:00
Patrick Lodder
87bd548807
Update copyright headers in files
Detected changes since fork from Bitcoin Core 0.14 and either
updated the Dogecoin Core developer copyright, or added a line
for it.

Script can be found at:

https://gist.github.com/patricklodder/210a449896ece9ca4a8f872328198e3f
2022-07-16 20:18:50 +02:00
chromatic
0cb4729a0c
Merge pull request #3038 from patricklodder/1.14.6-mainnet-seeds
net: update mainnet seeds
2022-07-16 11:05:26 -07:00
Patrick Lodder
43c0008fb7
update checkpoints, chainwork, assumevalid for mainnet and testnet
ed7d266dcbd8bb8af80f9ccb8deb3e18f9cc3f6972912680feeb37b090f8cee0 is
the new mainnet checkpoint at height 4303965, with a total tx count
of 86433645.

Calculated the tx volume between block 3793538 and 4288126 which is
exactly 1 year of volume.

Cumulative chainwork is 0x07dc8ab65fc32f953c4a

---

af23c3e750bb4f2ce091235f006e7e4e2af453d4c866282e7870471dcfeb4382 is
the new testnet checkpoint at height 3976284, with a total tx count
of 5353803.

The tx volume did not significantly change (0.024 to 0.026) so that
remains unchanged.

Cumulative chainwork is 0x3e3c33bc605e5d
2022-07-16 17:26:23 +02:00
Old Dip Tracker
96f9d2446d
Merge pull request #3037 from chromatic/make-ipc-server-names-unique
Make IPC server names unique per server
2022-07-15 22:57:13 -04:00
chromatic
22884709d7
Merge pull request #3008 from patricklodder/1.14.6-rate-limit-addr
net: rate limit the processing of incoming addr messages
2022-07-15 11:29:28 -07:00
Patrick Lodder
78b9f6017c
net: update mainnet seeds
- removes defunct mainnet seeds
- adds newly discovered seeds, top 80% of observed uptime
- filters out all nodes with version 1.14.0-1.14.2 because these
  cause sync issues for connecting peers
2022-07-15 00:23:38 +02:00
chromatic
f0f50cf9ce Improve Qt payment server IPC
Add a unique suffix to the IPC server name before hashing, to avoid
things like network collisions or attempts to reuse old sockets on
restart.

Remove now-superfluous code that removed the old socket after a crash.
2022-07-13 23:09:22 -07:00
Patrick Lodder
f9a0334a67
locale: minor corrections to dutch translation 2022-07-13 00:49:46 +02:00
Patrick Lodder
054bd7f087
net: tune the timeouts around tx download
- Lower the timeout until we will request a transaction from an
  additional peer on top of the one we received an inv from, from
  1 minute to 30 seconds. Waiting a full minute will often mean
  that the transaction will skip 2 blocks (one that is currently
  templated, and the one that we'd make a minute after that.
  This allows the transaction to at least have a chance to be
  included in the next block template.

- (Inferred) lower the timeout between requesting and receiving a
  transaction from 10 minutes to 5 minutes. We keep the multiplier
  from Bitcoin Core of 10x the re-request timeout, to allow faster
  cleanup of stale requests when 2 peers have a slow connection.

- Change the frequency of checking timeouts from once every 10
  minutes, to once every 90 seconds, on average. We randomize this
  check to be performed every 60-120 seconds. This allows the node
  to be triggered into cleanup more frequently and with that also
  helps towards the goal of faster cleanup of stale requests.
2022-07-12 02:51:22 +02:00
Patrick Lodder
0664e73401
net: make inv timing mockable
Changes all timing around when we send inv messages to our peers to
be mockable with setmocktime (on regtest.)

This is needed for testing transaction scheduling in time that is
faster-than-real.
2022-07-12 02:51:21 +02:00
Suhas Daftuar
1e596ed731
net: improve upon transaction scheduling rework
- Add an explicit memory bound to m_tx_process_time
  Previously there was an implicit bound based on the handling
  of m_tx_announced, but that approach is error-prone
  (particularly if we start automatically removing things from
  that set).

- Remove NOTFOUND transactions from in-flight data structures
  This prevents a bug where the in-flight queue for our peers
  will not be drained, resulting in not downloading any new
  transactions from our peers.

- Expire old entries from the in-flight tx map
  If a peer hasn't responded to a getdata request, eventually
  time out the request and remove it from the in-flight data
  structures. This is to prevent any bugs in our handling of
  those in-flight data structures from filling up the
  in-flight map and preventing us from requesting more
  transactions (such as the NOTFOUND bug mentioned above).

- Fix bug around transaction requests
  If a transaction is already in-flight when a peer announces
  a new tx to us, we schedule a time in the future to
  reconsider whether to download. At that future time, there
  was a bug that would prevent transactions from being
  rescheduled for potential download again (ie if the
  transaction was still in-flight at the time of
  reconsideration, such as from some other peer). This fixes
  that bug.

- Improve NOTFOUND comment

Cherry-picked from: 218697b6, 23163b75, e32e0840, f635a3ba
                    and 308b7673
Co-authored-by: Anthony Towns <aj@erisian.com.au>
2022-07-12 02:51:03 +02:00
alamshafil
596041ccb7
net: rework transaction scheduling
This prevents invblock related attacks.

Backported-from: 1cff3d6c
Original author: Gleb Naumenko <naumenko.gs@gmail.com>
2022-07-12 02:12:07 +02:00
Patrick Lodder
56891146a5
locale: update dutch translation after 1.14.6 string freeze 2022-07-11 18:46:37 +02:00
Old Dip Tracker
82d1997235
Merge pull request #3014 from MishaBoar/misha_italian_1.14.6_latest
Updated italian phrases for 1.14.6 release.
2022-07-10 17:43:59 -04:00
MishaBoar
46743f646d Updated italian phrases for 1.14.6 release. 2022-07-09 20:51:51 +02:00
dogespacewizard
1b353d33a7
Update bitcoin_ko_KR.ts 2022-07-06 12:02:43 +09:00
chromatic
4674dc1b82
Merge pull request #2910 from patricklodder/1.14.6-fix-autogen
build: Fix warnings when running autogen.sh
2022-07-02 10:01:56 -07:00
Old Dip Tracker
c5ab255fbb
Merge pull request #3015 from chromatic/fix-network-types-and-sizes
Improve data types for network data
2022-06-29 09:55:53 -04:00
chromatic
14196d56b3 Improve data types for network data
While working with other networking code, Patrick and I noticed that we
use signed types and wrongly-sized types for several networking related
values, including data lengths, timeout durations, and port numbers.

This commit corrects several of these types and improves error handling
slightly to account for potentially invalid values.
2022-06-25 11:57:08 -07:00
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
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
Patrick Lodder
84a82b2603
net: Rate limit the processing of incoming addr messages
While limitations on the influence of attackers on addrman already
exist (affected buckets are restricted to a subset based on incoming
IP / network group), there is no reason to permit them to let them
feed us addresses at more than a multiple of the normal network
rate.

This commit introduces a "token bucket" rate limiter for the
processing of addresses in incoming ADDR messages. Every connection
gets an associated token bucket. Processing an address in an ADDR
message from non-whitelisted peers consumes a token from the bucket.
If the bucket is empty, the address is ignored (it is not processed,
stored or forwarded). The token counter increases at a rate of 0.1
tokens per second, and will accrue up to a maximum of 1000 tokens
(the maximum we accept in a single ADDR message).

When a GETADDR is sent to a peer, it immediately gets 1000 additional
tokens, as we actively desire many addresses from such peers (this
may temporarily cause the token count to exceed 1000). This is
similar to allowing bursts.

The rate limit of 0.1 addr/s was copied from Bitcoin Core.

Backported from: 0d64b8f7, 5648138f, f424d601 and d930c7f5
Original authors: Pieter Wuille <pieter@wuille.net>, and
                  Jon Atack <jon@atack.com>
2022-06-22 15:54:34 +02: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
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
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
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