Merge pull request #5308 from PastaPastaPasta/v19.x-bp-final

[v19.x] backport: final version release backports
This commit is contained in:
PastaPastaPasta 2023-04-11 13:06:23 -05:00 committed by GitHub
commit 3688ac9627
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
39 changed files with 2992 additions and 3094 deletions

View File

@ -176,7 +176,7 @@ before_script:
- python3 -c 'import os,sys,fcntl; flags = fcntl.fcntl(sys.stdout, fcntl.F_GETFL); fcntl.fcntl(sys.stdout, fcntl.F_SETFL, flags&~os.O_NONBLOCK);'
# Build docker image only for develop branch of the main repo
- if [ "$TRAVIS_REPO_SLUG" != "dashpay/dash" -o "$TRAVIS_BRANCH" != "develop" -o "$TRAVIS_PULL_REQUEST" != "false" ]; then export DOCKER_BUILD="false"; echo DOCKER_BUILD=$DOCKER_BUILD; fi
# TODO: Check keys and signed commits
# TODO(ignore if don't use travis): Check keys and signed commits
#- if [ "$TRAVIS_REPO_SLUG" = "dashpay/dash" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then while read LINE; do travis_retry gpg --keyserver hkp://subset.pool.sks-keyservers.net --recv-keys $LINE; done < contrib/verify-commits/trusted-keys; fi
#- if [ "$TRAVIS_REPO_SLUG" = "dashpay/dash" -a "$TRAVIS_EVENT_TYPE" = "cron" ]; then travis_wait 30 contrib/verify-commits/verify-commits.py; fi
after_script:

View File

@ -16,8 +16,7 @@ if [ "$RUN_UNIT_TESTS" != "true" ]; then
exit 0
fi
# TODO this is not Travis agnostic
export BOOST_TEST_RANDOM=1$TRAVIS_BUILD_ID
export BOOST_TEST_RANDOM=${BOOST_TEST_RANDOM:-1}
export LD_LIBRARY_PATH=$BASE_BUILD_DIR/depends/$HOST/lib
export WINEDEBUG=fixme-all

View File

@ -2,8 +2,8 @@ AC_PREREQ([2.69])
define(_CLIENT_VERSION_MAJOR, 19)
define(_CLIENT_VERSION_MINOR, 0)
define(_CLIENT_VERSION_BUILD, 0)
define(_CLIENT_VERSION_RC, 10)
define(_CLIENT_VERSION_IS_RELEASE, false)
define(_CLIENT_VERSION_RC, 0)
define(_CLIENT_VERSION_IS_RELEASE, true)
define(_COPYRIGHT_YEAR, 2023)
define(_COPYRIGHT_HOLDERS,[The %s developers])
define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Dash Core]])

View File

@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
.TH DASH-CLI "1" "December 2022" "dash-cli v18.2.0" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2.
.TH DASH-CLI "1" "April 2023" "dash-cli v19.0.0" "User Commands"
.SH NAME
dash-cli \- manual page for dash-cli v18.2.0
dash-cli \- manual page for dash-cli v19.0.0
.SH SYNOPSIS
.B dash-cli
[\fI\,options\/\fR] \fI\,<command> \/\fR[\fI\,params\/\fR] \fI\,Send command to Dash Core\/\fR
@ -15,7 +15,7 @@ dash-cli \- manual page for dash-cli v18.2.0
.B dash-cli
[\fI\,options\/\fR] \fI\,help <command> Get help for a command\/\fR
.SH DESCRIPTION
Dash Core RPC client version v18.2.0
Dash Core RPC client version v19.0.0
.SH OPTIONS
.HP
\-?
@ -142,6 +142,11 @@ devnet\-only)
Override the default LLMQ type used for InstantSendDIP0024. (default:
llmq_60_75, devnet\-only)
.HP
\fB\-llmqplatform=\fR<quorum name>
.IP
Override the default LLMQ type used for Platform. (default: llmq_100_67,
devnet\-only)
.HP
\fB\-minimumdifficultyblocks=\fR<n>
.IP
The number of blocks that can be mined with the minimum difficulty at
@ -156,8 +161,8 @@ minutes, devnet\-only)
.IP
Use the test chain
.SH COPYRIGHT
Copyright (C) 2014-2022 The Dash Core developers
Copyright (C) 2009-2022 The Bitcoin Core developers
Copyright (C) 2014-2023 The Dash Core developers
Copyright (C) 2009-2023 The Bitcoin Core developers
Please contribute if you find Dash Core useful. Visit <https://dash.org> for
further information about the software.

View File

@ -1,12 +1,12 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
.TH DASH-QT "1" "December 2022" "dash-qt v18.2.0" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2.
.TH DASH-QT "1" "April 2023" "dash-qt v19.0.0" "User Commands"
.SH NAME
dash-qt \- manual page for dash-qt v18.2.0
dash-qt \- manual page for dash-qt v19.0.0
.SH SYNOPSIS
.B dash-qt
[\fI\,command-line options\/\fR]
.SH DESCRIPTION
Dash Core version v18.2.0
Dash Core version v19.0.0
.SH OPTIONS
.HP
\-?
@ -23,9 +23,9 @@ message)
If this block is in the chain assume that it and its ancestors are valid
and potentially skip their script verification (0 to verify all,
default:
000000000000001d531f36005159f19351bd49ca676398a561e55dcccb84eacd,
00000000000000261bdbe99c01fcba992e577efa6cc41aae564b8ca9f112b2a3,
testnet:
00000104cb60a2b5e00a8a4259582756e5bf0dca201c0993c63f0e54971ea91a)
0000005c35514190ef3c38d322f69412553dc7e1107ed5f92adc2935b90acc51)
.HP
\fB\-blockfilterindex=\fR<type>
.IP
@ -52,9 +52,8 @@ Specify directory to hold blocks subdirectory for *.dat files (default:
.IP
Whether to reject transactions from network peers. Automatic broadcast
and rebroadcast of any transactions from inbound peers is
disabled, unless '\-whitelistforcerelay' is '1', in which case
whitelisted peers' transactions will be relayed. RPC transactions
are not affected. (default: 0)
disabled, unless the peer has the 'forcerelay' permission. RPC
transactions are not affected. (default: 0)
.HP
\fB\-conf=\fR<file>
.IP
@ -109,7 +108,7 @@ Do not keep transactions in the mempool longer than <n> hours (default:
.HP
\fB\-par=\fR<n>
.IP
Set the number of script verification threads (\fB\-4\fR to 15, 0 = auto, <0 =
Set the number of script verification threads (\fB\-24\fR to 15, 0 = auto, <0 =
leave that many cores free, default: 0)
.HP
\fB\-persistmempool\fR
@ -468,18 +467,15 @@ start from wallet creation time, 2 = start from genesis block)
.IP
Spend unconfirmed change when sending transactions (default: 1)
.HP
\fB\-upgradewallet\fR
.IP
Upgrade wallet to latest format on startup
.HP
\fB\-wallet=\fR<path>
.IP
Specify wallet database path. Can be specified multiple times to load
multiple wallets. Path is interpreted relative to <walletdir> if
it is not absolute, and will be created if it does not exist (as
a directory containing a wallet.dat file and log files). For
backwards compatibility this will also accept names of existing
data files in <walletdir>.)
Specify wallet path to load at startup. Can be used multiple times to
load multiple wallets. Path is to a directory containing wallet
data and log files. If the path is not absolute, it is
interpreted relative to <walletdir>. This only loads existing
wallets and does not create new ones. For backwards compatibility
this also accepts names of existing top\-level data files in
<walletdir>.
.HP
\fB\-walletbackupsdir=\fR<dir>
.IP
@ -868,6 +864,11 @@ devnet\-only)
Override the default LLMQ type used for InstantSendDIP0024. (default:
llmq_60_75, devnet\-only)
.HP
\fB\-llmqplatform=\fR<quorum name>
.IP
Override the default LLMQ type used for Platform. (default: llmq_100_67,
devnet\-only)
.HP
\fB\-minimumdifficultyblocks=\fR<n>
.IP
The number of blocks that can be mined with the minimum difficulty at
@ -1028,7 +1029,7 @@ Set the font weight for bold texts. Possible range 0 to 8 (default: 4)
.HP
\fB\-font\-weight\-normal\fR
.IP
Set the font weight for normal texts. Possible range 0 to 8 (default: 1)
Set the font weight for normal texts. Possible range 0 to 8 (default: 2)
.HP
\fB\-lang=\fR<lang>
.IP
@ -1050,8 +1051,8 @@ Show splash screen on startup (default: 1)
.IP
Sets a window title which is appended to "Dash Core \- "
.SH COPYRIGHT
Copyright (C) 2014-2022 The Dash Core developers
Copyright (C) 2009-2022 The Bitcoin Core developers
Copyright (C) 2014-2023 The Dash Core developers
Copyright (C) 2009-2023 The Bitcoin Core developers
Please contribute if you find Dash Core useful. Visit <https://dash.org> for
further information about the software.

View File

@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
.TH DASH-TX "1" "December 2022" "dash-tx v18.2.0" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2.
.TH DASH-TX "1" "April 2023" "dash-tx v19.0.0" "User Commands"
.SH NAME
dash-tx \- manual page for dash-tx v18.2.0
dash-tx \- manual page for dash-tx v19.0.0
.SH SYNOPSIS
.B dash-tx
[\fI\,options\/\fR] \fI\,<hex-tx> \/\fR[\fI\,commands\/\fR] \fI\,Update hex-encoded dash transaction\/\fR
@ -9,7 +9,7 @@ dash-tx \- manual page for dash-tx v18.2.0
.B dash-tx
[\fI\,options\/\fR] \fI\,-create \/\fR[\fI\,commands\/\fR] \fI\,Create hex-encoded dash transaction\/\fR
.SH DESCRIPTION
Dash Core dash\-tx utility version v18.2.0
Dash Core dash\-tx utility version v19.0.0
.SH OPTIONS
.HP
\-?
@ -65,6 +65,11 @@ devnet\-only)
Override the default LLMQ type used for InstantSendDIP0024. (default:
llmq_60_75, devnet\-only)
.HP
\fB\-llmqplatform=\fR<quorum name>
.IP
Override the default LLMQ type used for Platform. (default: llmq_100_67,
devnet\-only)
.HP
\fB\-minimumdifficultyblocks=\fR<n>
.IP
The number of blocks that can be mined with the minimum difficulty at
@ -142,8 +147,8 @@ set=NAME:JSON\-STRING
.IP
Set register NAME to given JSON\-STRING
.SH COPYRIGHT
Copyright (C) 2014-2022 The Dash Core developers
Copyright (C) 2009-2022 The Bitcoin Core developers
Copyright (C) 2014-2023 The Dash Core developers
Copyright (C) 2009-2023 The Bitcoin Core developers
Please contribute if you find Dash Core useful. Visit <https://dash.org> for
further information about the software.

View File

@ -1,9 +1,9 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
.TH DASH-WALLET "1" "December 2022" "dash-wallet v18.2.0" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2.
.TH DASH-WALLET "1" "April 2023" "dash-wallet v19.0.0" "User Commands"
.SH NAME
dash-wallet \- manual page for dash-wallet v18.2.0
dash-wallet \- manual page for dash-wallet v19.0.0
.SH DESCRIPTION
Dash Core dash\-wallet version v18.2.0
Dash Core dash\-wallet version v19.0.0
.PP
dash\-wallet is an offline tool for creating and interacting with Dash Core wallet files.
By default dash\-wallet will act on wallets in the default mainnet wallet directory in the datadir.
@ -73,6 +73,11 @@ devnet\-only)
Override the default LLMQ type used for InstantSendDIP0024. (default:
llmq_60_75, devnet\-only)
.HP
\fB\-llmqplatform=\fR<quorum name>
.IP
Override the default LLMQ type used for Platform. (default: llmq_100_67,
devnet\-only)
.HP
\fB\-minimumdifficultyblocks=\fR<n>
.IP
The number of blocks that can be mined with the minimum difficulty at
@ -101,8 +106,8 @@ salvage
.IP
Attempt to recover private keys from a corrupt wallet
.SH COPYRIGHT
Copyright (C) 2014-2022 The Dash Core developers
Copyright (C) 2009-2022 The Bitcoin Core developers
Copyright (C) 2014-2023 The Dash Core developers
Copyright (C) 2009-2023 The Bitcoin Core developers
Please contribute if you find Dash Core useful. Visit <https://dash.org> for
further information about the software.

View File

@ -1,12 +1,12 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
.TH DASHD "1" "December 2022" "dashd v18.2.0" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2.
.TH DASHD "1" "April 2023" "dashd v19.0.0" "User Commands"
.SH NAME
dashd \- manual page for dashd v18.2.0
dashd \- manual page for dashd v19.0.0
.SH SYNOPSIS
.B dashd
[\fI\,options\/\fR] \fI\,Start Dash Core Daemon\/\fR
.SH DESCRIPTION
Dash Core Daemon version v18.2.0
Dash Core Daemon version v19.0.0
.SH OPTIONS
.HP
\-?
@ -23,9 +23,9 @@ message)
If this block is in the chain assume that it and its ancestors are valid
and potentially skip their script verification (0 to verify all,
default:
000000000000001d531f36005159f19351bd49ca676398a561e55dcccb84eacd,
00000000000000261bdbe99c01fcba992e577efa6cc41aae564b8ca9f112b2a3,
testnet:
00000104cb60a2b5e00a8a4259582756e5bf0dca201c0993c63f0e54971ea91a)
0000005c35514190ef3c38d322f69412553dc7e1107ed5f92adc2935b90acc51)
.HP
\fB\-blockfilterindex=\fR<type>
.IP
@ -52,9 +52,8 @@ Specify directory to hold blocks subdirectory for *.dat files (default:
.IP
Whether to reject transactions from network peers. Automatic broadcast
and rebroadcast of any transactions from inbound peers is
disabled, unless '\-whitelistforcerelay' is '1', in which case
whitelisted peers' transactions will be relayed. RPC transactions
are not affected. (default: 0)
disabled, unless the peer has the 'forcerelay' permission. RPC
transactions are not affected. (default: 0)
.HP
\fB\-conf=\fR<file>
.IP
@ -109,7 +108,7 @@ Do not keep transactions in the mempool longer than <n> hours (default:
.HP
\fB\-par=\fR<n>
.IP
Set the number of script verification threads (\fB\-4\fR to 15, 0 = auto, <0 =
Set the number of script verification threads (\fB\-24\fR to 15, 0 = auto, <0 =
leave that many cores free, default: 0)
.HP
\fB\-persistmempool\fR
@ -468,18 +467,15 @@ start from wallet creation time, 2 = start from genesis block)
.IP
Spend unconfirmed change when sending transactions (default: 1)
.HP
\fB\-upgradewallet\fR
.IP
Upgrade wallet to latest format on startup
.HP
\fB\-wallet=\fR<path>
.IP
Specify wallet database path. Can be specified multiple times to load
multiple wallets. Path is interpreted relative to <walletdir> if
it is not absolute, and will be created if it does not exist (as
a directory containing a wallet.dat file and log files). For
backwards compatibility this will also accept names of existing
data files in <walletdir>.)
Specify wallet path to load at startup. Can be used multiple times to
load multiple wallets. Path is to a directory containing wallet
data and log files. If the path is not absolute, it is
interpreted relative to <walletdir>. This only loads existing
wallets and does not create new ones. For backwards compatibility
this also accepts names of existing top\-level data files in
<walletdir>.
.HP
\fB\-walletbackupsdir=\fR<dir>
.IP
@ -868,6 +864,11 @@ devnet\-only)
Override the default LLMQ type used for InstantSendDIP0024. (default:
llmq_60_75, devnet\-only)
.HP
\fB\-llmqplatform=\fR<quorum name>
.IP
Override the default LLMQ type used for Platform. (default: llmq_100_67,
devnet\-only)
.HP
\fB\-minimumdifficultyblocks=\fR<n>
.IP
The number of blocks that can be mined with the minimum difficulty at
@ -1001,8 +1002,8 @@ subject to empty whitelists.
.IP
Accept command line and JSON\-RPC commands
.SH COPYRIGHT
Copyright (C) 2014-2022 The Dash Core developers
Copyright (C) 2009-2022 The Bitcoin Core developers
Copyright (C) 2014-2023 The Dash Core developers
Copyright (C) 2009-2023 The Bitcoin Core developers
Please contribute if you find Dash Core useful. Visit <https://dash.org> for
further information about the software.

View File

@ -1,8 +0,0 @@
Updated RPCs
------------
The `utxoupdatepsbt` RPC method has been updated to take a `descriptors`
argument. When provided, input and output scripts and keys will be filled in
when known.
See the RPC help text for full details.

View File

@ -1,6 +0,0 @@
Wallet
------
Dash Core will no longer create an unnamed `""` wallet by default when no wallet is specified on the command line or in the configuration files.
For backwards compatibility, if an unnamed `""` wallet already exists and would have been loaded previously, then it will still be loaded.
Users without an unnamed `""` wallet and without any other wallets to be loaded on startup will be prompted to either choose a wallet to load, or to create a new wallet.

View File

@ -1,34 +0,0 @@
P2P and network changes
-----------------------
#### Removal of reject network messages from Dash Core (BIP61)
The command line option to enable BIP61 (`-enablebip61`) has been removed.
This feature has been disabled by default since Dash Core version 0.19.0.
Nodes on the network can not generally be trusted to send valid ("reject")
messages, so this should only ever be used when connected to a trusted node.
Please use the recommended alternatives if you rely on this deprecated feature:
* Testing or debugging of implementations of the Dash P2P network protocol
should be done by inspecting the log messages that are produced by a recent
version of Dash Core. Dash Core logs debug messages
(`-debug=<category>`) to a stream (`-printtoconsole`) or to a file
(`-debuglogfile=<debug.log>`).
* Testing the validity of a block can be achieved by specific RPCs:
- `submitblock`
- `getblocktemplate` with `'mode'` set to `'proposal'` for blocks with
potentially invalid POW
* Testing the validity of a transaction can be achieved by specific RPCs:
- `sendrawtransaction`
- `testmempoolaccept`
* Wallets should not use the absence of "reject" messages to indicate a
transaction has propagated the network, nor should wallets use "reject"
messages to set transaction fees. Wallets should rather use fee estimation
to determine transaction fees and set replace-by-fee if desired. Thus, they
could wait until the transaction has confirmed (taking into account the fee
target they set (compare the RPC `estimatesmartfee`)) or listen for the
transaction announcement by other network peers to check for propagation.

View File

@ -1,71 +0,0 @@
Added RPCs
--------
- Once the v19 hard fork is activated, `protx register`, `protx register_fund`, and `protx register_prepare` RPCs will decode BLS operator public keys using the new basic BLS scheme. In order to support BLS public keys encoded in the legacy BLS scheme, `protx register_legacy`, `protx register_fund_legacy`, and `protx register_prepare_legacy` were added.
Other changes
--------
`qfcommit`
--------
Once the v19 hard fork is activated, `quorumPublicKey` will be serialised using the basic BLS scheme.
To support syncing of older blocks containing the transactions using the legacy BLS scheme, the `version` field indicates which scheme to use for serialisation of `quorumPublicKey`.
| Version | Version Description | Includes `quorumIndex` field |
|---------|--------------------------------------------------------|------------------------------|
| 1 | Non-rotated qfcommit serialised using legacy BLS scheme | No |
| 2 | Rotated qfcommit serialised using legacy BLS scheme | Yes |
| 3 | Non-rotated qfcommit serialised using basic BLS scheme | No |
| 4 | Rotated qfcommit serialised using basic BLS scheme | Yes |
`MNLISTDIFF` P2P message
--------
Starting with protocol version 70225, the following field is added to the `MNLISTDIFF` message between `cbTx` and `deletedQuorumsCount`.
| Field | Type | Size | Description |
|---------------------| ---- | ---- |-----------------------------------|
| version | uint16_t | 2 | Version of the `MNLISTDIFF` reply |
The `version` field indicates which BLS scheme is used to serialise the `pubKeyOperator` field for all SML entries of `mnList`.
| Version | Version Description |
|---------|-----------------------------------------------------------|
| 1 | Serialisation of `pubKeyOperator` using legacy BLS scheme |
| 2 | Serialisation of `pubKeyOperator` using basic BLS scheme |
`ProTx` txs family
--------
`proregtx` and `proupregtx` will support a new `version` value:
| Version | Version Description |
|---------|-----------------------------------------------------------|
| 1 | Serialisation of `pubKeyOperator` using legacy BLS scheme |
| 2 | Serialisation of `pubKeyOperator` using basic BLS scheme |
`proupservtx` and `prouprevtx` will support a new `version` value:
| Version | Version Description |
|---------|------------------------------------------------|
| 1 | Serialisation of `sig` using legacy BLS scheme |
| 2 | Serialisation of `sig` using basic BLS scheme |
`MNHFTx`
--------
`MNHFTx` will support a new `version` value:
| Version | Version Description |
|---------|------------------------------------------------|
| 1 | Serialisation of `sig` using legacy BLS scheme |
| 2 | Serialisation of `sig` using basic BLS scheme |
BLS enforced scheme
--------
Once the v19 hard fork is activated, all remaining messages containing BLS public keys or signatures will serialise them using the new basic BLS scheme.
The motivation behind this change is the need to be aligned with IETF standards.
List of affected messages:
`dsq`, `dstx`, `mnauth`, `govobj`, `govobjvote`, `qrinfo`, `qsigshare`, `qsigrec`, `isdlock`, `clsig`, and all DKG messages (`qfcommit`, `qcontrib`, `qcomplaint`, `qjustify`, `qpcommit`).

View File

@ -1,18 +0,0 @@
Added RPCs
--------
The following RPCs were added: `protx register_hpmn`, `protx register_fund_hpmn`, `protx register_prepare_hpmn` and `protx update_service_hpmn`.
These HPMN RPCs correspond to the standard masternode RPCs but have the following additional mandatory arguments: `platformNodeID`, `platformP2PPort` and `platformHTTPPort`.
- `platformNodeID`: Platform P2P node ID, derived from P2P public key.
- `platformP2PPort`: TCP port of Dash Platform peer-to-peer communication between nodes (network byte order).
- `platformHTTPPort`: TCP port of Platform HTTP/API interface (network byte order).
Notes:
- `platformNodeID` must be unique across the network.
- `platformP2PPort`, `platformHTTPPort` and the Core port must be distinct.
Updated RPCs
--------
The RPC's `gobject getcurrentvotes` reply is enriched by adding the vote weight at the end of each line. Possible values are 1 or 4. Example:
`"7cb20c883c6093b8489f795b3ec0aad0d9c2c2821610ae9ed938baaf42fec66d": "277e6345359071410ab691c21a3a16f8f46c9229c2f8ec8f028c9a95c0f1c0e7-1:1670019339:yes:funding:4"`

View File

@ -1,4 +0,0 @@
Updated settings
----------------
- Passing an invalid `-rpcauth` argument now cause dashd to fail to start.

View File

@ -1,4 +0,0 @@
Updated RPCs
--------
- `masternodelist` New mode `recent` was added in order to hide banned masternodes for more than one `SuperblockCycle`. If the mode `recent` is used, then the reply mode is JSON (can be additionally filtered)

View File

@ -1,4 +0,0 @@
Updated RPCs
--------
- `quorum info`: The new `previousConsecutiveDKGFailures` field will be returned for rotated LLMQs. This field will hold the number of previous consecutive DKG failures for the corresponding quorumIndex before the currently active one. Note: If no previous commitments were found then 0 will be returned for `previousConsecutiveDKGFailures`.

View File

@ -1,5 +0,0 @@
Updated RPCs
--------
- `bls generate` and `bls fromsecret`: The new `scheme` field will be returned indicating which scheme was used to serialise the public key. Valid returned values are `legacy` and`basic`.
- `bls generate` and `bls fromsecret`: Both RPCs accept an incoming optional boolean argument `legacy` that enforces the use of legacy BLS scheme for the serialisation of the reply even if v19 is active.

View File

@ -1,5 +0,0 @@
Updated RPCs
--------
- `masternode` mode `status` now returns the type of the masternode.
- `masternode` mode `count` now returns a detailed summary of total and enabled masternodes per type.

View File

@ -1,10 +0,0 @@
Testnet Breaking Changes
------------------------
A new testnet only LLMQ has been added. This LLMQ is of the type LLMQ_25_67; this LLMQ is only active on testnet.
This LLMQ will not remove the LLMQ_100_67 from testnet; however that quorum (likely) will not form and will perform no role.
See the [diff](https://github.com/dashpay/dash/pull/5225/files#diff-e70a38a3e8c2a63ca0494627301a5c7042141ad301193f78338d97cb1b300ff9R451-R469) for specific parameters of the LLMQ.
This LLMQ will become active at the height of 847000. **This will be a breaking change and a hard fork for testnet**
This LLMQ is not activated with the v19 hardfork; as such testnet will experience two hardforks. One at height 847000,
and the other to be determined by the BIP9 hard fork process.

View File

@ -1,5 +0,0 @@
Added RPCs
--------
- `cleardiscouraged` clears all the already discouraged peers.

View File

@ -1,26 +1,22 @@
Dash Core version v18.2.2
=========================
# Dash Core version v19.0.0
Release is now available from:
<https://www.dash.org/downloads/#wallets>
This is a new hotfix version release.
This is a new major version release, bringing new features, various bugfixes
and other improvements.
This release is optional for all nodes; however, v18.2.2 or higher is required
to be able to use testnet right until v19 hard fork activation. Earlier
versions will not be able to sync past block 847000 on testnet.
This release is mandatory for all nodes.
Please report bugs using the issue tracker at GitHub:
<https://github.com/dashpay/dash/issues>
Upgrading and downgrading
=========================
# Upgrading and downgrading
How to Upgrade
--------------
## How to Upgrade
If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes for older versions), then run the
@ -36,82 +32,203 @@ from a few minutes to thirty minutes to finish. After the migration, a
downgrade to an older version is only possible with a reindex
(or reindex-chainstate).
Downgrade warning
-----------------
## Downgrade warning
### Downgrade to a version < v18.2.2
### Downgrade to a version < v19.0.0
Downgrading to a version older than v19.0.0 is not supported due to changes in the evodb database. If you need to use an older version, you must either reindex or re-sync the whole chain.
Downgrading to a version older than v18.2.2 is supported.
# Notable changes
### Downgrade to a version < v18.0.1
## High-Performance Masternodes
Downgrading to a version older than v18.0.1 is not supported due to changes in
the indexes database folder. If you need to use an older version, you must
either reindex or re-sync the whole chain.
In preparation for the release of Dash Platform to mainnet, a new masternode type has been added. High-performance masternodes will be responsible for hosting Dash Platform services (once they are on mainnet) in addition to the existing responsibilities like ChainLocks and InstantSend.
Notable changes
===============
Activation of the DashCore v19.0 hard fork will enable registration of the new 4000 DASH collateral masternodes. Until Dash Platform is released to mainnet, high-performance masternodes will provide the same services as regular masternodes with one small exception. Regular masternodes will no longer participate in the Platform-specific LLMQ after the hard fork since they will not be responsible for hosting Dash Platform.
Testnet Breaking Changes
------------------------
Note: In DashCore v19.0 the relative rewards and voting power are equivalent between regular and high-performance masternodes. Masternodes effectively receive one payout and one governance vote per 1000 DASH collateral. So, there is no difference in reward amount for running four regular masternodes or one high-performance masternode. In v19.0, high-performance masternodes simply receive payments in four consecutive blocks when they are selected for payout. Some frequently asked questions may be found at https://www.dash.org/hpmn-faq/.
A new testnet only LLMQ has been added. This LLMQ is of the type LLMQ_25_67; this LLMQ is only active on testnet.
This LLMQ will not remove the LLMQ_100_67 from testnet; however that quorum (likely) will not form and will perform no role.
See the [diff](https://github.com/dashpay/dash/pull/5225/files#diff-e70a38a3e8c2a63ca0494627301a5c7042141ad301193f78338d97cb1b300ff9R451-R469) for specific parameters of the LLMQ.
## BLS Scheme Upgrade
This LLMQ will become active at the height of 847000. **This will be a breaking change and a hard fork for testnet**
This LLMQ is not activated with the v19 hardfork; as such testnet will experience two hardforks. One at height 847000,
and the other to be determined by the BIP9 hard fork process.
Once the v19 hard fork is activated, all remaining messages containing BLS public keys or signatures will serialise them using the new basic BLS scheme.
The motivation behind this change is the need to be aligned with IETF standards.
Remote Procedure Call (RPC) Changes
-----------------------------------
List of affected messages:
`dsq`, `dstx`, `mnauth`, `govobj`, `govobjvote`, `qrinfo`, `qsigshare`, `qsigrec`, `isdlock`, `clsig`, and all DKG messages (`qfcommit`, `qcontrib`, `qcomplaint`, `qjustify`, `qpcommit`).
### `qfcommit`
Once the v19 hard fork is activated, `quorumPublicKey` will be serialised using the basic BLS scheme.
To support syncing of older blocks containing the transactions using the legacy BLS scheme, the `version` field indicates which scheme to use for serialisation of `quorumPublicKey`.
| Version | Version Description | Includes `quorumIndex` field |
|---------|--------------------------------------------------------|------------------------------|
| 1 | Non-rotated qfcommit serialised using legacy BLS scheme | No |
| 2 | Rotated qfcommit serialised using legacy BLS scheme | Yes |
| 3 | Non-rotated qfcommit serialised using basic BLS scheme | No |
| 4 | Rotated qfcommit serialised using basic BLS scheme | Yes |
### `MNLISTDIFF` P2P message
Starting with protocol version 70225, the following field is added to the `MNLISTDIFF` message between `cbTx` and `deletedQuorumsCount`.
| Field | Type | Size | Description |
|---------------------| ---- | ---- |-----------------------------------|
| version | uint16_t | 2 | Version of the `MNLISTDIFF` reply |
The `version` field indicates which BLS scheme is used to serialise the `pubKeyOperator` field for all SML entries of `mnList`.
| Version | Version Description |
|---------|-----------------------------------------------------------|
| 1 | Serialisation of `pubKeyOperator` using legacy BLS scheme |
| 2 | Serialisation of `pubKeyOperator` using basic BLS scheme |
### `ProTx` txs family
`proregtx` and `proupregtx` will support a new `version` value:
| Version | Version Description |
|---------|-----------------------------------------------------------|
| 1 | Serialisation of `pubKeyOperator` using legacy BLS scheme |
| 2 | Serialisation of `pubKeyOperator` using basic BLS scheme |
`proupservtx` and `prouprevtx` will support a new `version` value:
| Version | Version Description |
|---------|------------------------------------------------|
| 1 | Serialisation of `sig` using legacy BLS scheme |
| 2 | Serialisation of `sig` using basic BLS scheme |
### `MNHFTx`
`MNHFTx` will support a new `version` value:
| Version | Version Description |
|---------|------------------------------------------------|
| 1 | Serialisation of `sig` using legacy BLS scheme |
| 2 | Serialisation of `sig` using basic BLS scheme |
## Wallet
## Automatic wallet creation removed
Dash Core will no longer automatically create new wallets on startup. It will
load existing wallets specified by -wallet options on the command line or in
dash.conf or settings.json files. And by default it will also load a
top-level unnamed ("") wallet. However, if specified wallets don't exist,
Dash Core will now just log warnings instead of creating new wallets with
new keys and addresses like previous releases did.
New wallets can be created through the GUI (which has a more prominent create
wallet option), through the dash-wallet create command or the createwallet RPC.
## P2P and Network Changes
## Removal of reject network messages from Dash Core (BIP61)
The command line option to enable BIP61 (-enablebip61) has been removed.
Nodes on the network can not generally be trusted to send valid ("reject")
messages, so this should only ever be used when connected to a trusted node.
Please use the recommended alternatives if you rely on this deprecated feature:
- Testing or debugging of implementations of the Dash P2P network protocol
should be done by inspecting the log messages that are produced by a recent
version of Dash Core. Dash Core logs debug messages
(-debug=<category>) to a stream (-printtoconsole) or to a file
(-debuglogfile=<debug.log>).
- Testing the validity of a block can be achieved by specific RPCs:
- submitblock
- getblocktemplate with 'mode' set to 'proposal' for blocks with
- potentially invalid POW
- Testing the validity of a transaction can be achieved by specific RPCs:
- sendrawtransaction
- testmempoolaccept
## CoinJoin update
A minor update in several CoinJoin-related network messages improves support
for mixing from SPV clients. These changes make it easier for SPV clients to
participate in the CoinJoin process by using masternode information they can
readily obtain and verify via [DIP-0004](https://github.com/dashpay/dips/blob/master/dip-0004.md).
## Remote Procedure Call (RPC) Changes
### The new RPCs are:
None
- In order to support BLS public keys encoded in the legacy BLS scheme, `protx register_legacy`, `protx register_fund_legacy`, and `protx register_prepare_legacy` were added.
- `cleardiscouraged` clears all the already discouraged peers.
- The following RPCs were added: `protx register_hpmn`, `protx register_fund_hpmn`, `protx register_prepare_hpmn` and `protx update_service_hpmn`.
These HPMN RPCs correspond to the standard masternode RPCs but have the following additional mandatory arguments: `platformNodeID`, `platformP2PPort` and `platformHTTPPort`.
- `upgradewallet`
### The removed RPCs are:
None
### Changes in existing RPCs introduced through bitcoin backports:
None
- The `utxoupdatepsbt` RPC method has been updated to take a descriptors
argument. When provided, input and output scripts and keys will be filled in
when known. See the RPC help text for full details.
### Dash-specific changes in existing RPCs:
None
- `masternodelist`: New mode `recent` was added in order to hide banned masternodes for more than one `SuperblockCycle`. If the mode `recent` is used, then the reply mode is JSON (can be additionally filtered)
- `quorum info`: The new `previousConsecutiveDKGFailures` field will be returned for rotated LLMQs. This field will hold the number of previous consecutive DKG failures for the corresponding quorumIndex before the currently active one. Note: If no previous commitments were found then 0 will be returned for `previousConsecutiveDKGFailures`.
- `bls generate` and `bls fromsecret`: The new `scheme` field will be returned indicating which scheme was used to serialise the public key. Valid returned values are `legacy` and`basic`.
- `bls generate` and `bls fromsecret`: Both RPCs accept an incoming optional boolean argument `legacy` that enforces the use of legacy BLS scheme for the serialisation of the reply even if v19 is active.
- `masternode status`: now returns the type of the masternode.
- `masternode count`: now returns a detailed summary of total and enabled masternodes per type.
- `gobject getcurrentvotes`: reply is enriched by adding the vote weight at the end of each line. Possible values are 1 or 4. Example: "7cb20c883c6093b8489f795b3ec0aad0d9c2c2821610ae9ed938baaf42fec66d": "277e6345359071410ab691c21a3a16f8f46c9229c2f8ec8f028c9a95c0f1c0e7-1:1670019339:yes:funding:4"
- Once the v19 hard fork is activated, `protx register`, `protx register_fund`, and `protx register_prepare` RPCs will decode BLS operator public keys using the new basic BLS scheme.
Please check `help <command>` for more detailed information on specific RPCs.
Command-line options
--------------------
None
## Command-line options
A number of command-line option changes were made related to testing and
removal of BIP61 support.
New cmd-line options:
- `llmqplatform` (devnet only)
- `unsafesqlitesync`
Removed cmd-line options:
- `enablebip61`
- `upgradewallet`
Changes in existing cmd-line options:
- `llmqinstantsend` and `llmqinstantsenddip0024` can be used in regtest now
- Passing an invalid `-rpcauth` argument now cause dashd to fail to start.
Please check `Help -> Command-line options` in Qt wallet or `dashd --help` for
more information.
Backports from Bitcoin Core
---------------------------
None
## Backports from Bitcoin Core
Other changes
-------------
#5247 is backported to improve debugging experience.
This release introduces many updates from Bitcoin v0.18-v0.21 as well as numerous updates from Bitcoin v22 and more recent versions. Bitcoin changes that do not align with Dashs product needs, such as SegWit and RBF, are excluded from our backporting. For additional detail on whats included in Bitcoin, please refer to their release notes.
v18.2.2 Change log
==================
# v19.0.0 Change log
See detailed [set of changes](https://github.com/dashpay/dash/compare/v18.2.1...dashpay:v18.2.2).
See detailed [set of changes](https://github.com/dashpay/dash/compare/v18.2.2...dashpay:v19.0.0).
Credits
=======
# Credits
Thanks to everyone who directly contributed to this release:
- Odysseas Gabrielides
- Kittywhiskers Van Gogh (kittywhiskers)
- Konstantin Akimov (knst)
- Odysseas Gabrielides (ogabrielides)
- Oleg Girko (OlegGirko)
- PastaPastaPasta
- thephez
- UdjinM6
- Vijay Das Manikpuri (vijaydasmp)
As well as everyone that submitted issues, reviewed pull requests, helped debug the release candidates, and write DIPs that were implemented in this release.
Older releases
==============
# Older releases
Dash was previously known as Darkcoin.
@ -133,7 +250,8 @@ Dash Core tree 0.12.1.x was a fork of Bitcoin Core tree 0.12.
These release are considered obsolete. Old release notes can be found here:
- [v18.2.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.2.2.md) released Jan/17/2023
- [v18.2.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.2.2.md) released Mar/21/2023
- [v18.2.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.2.1.md) released Jan/17/2023
- [v18.2.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.2.0.md) released Jan/01/2023
- [v18.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.1.1.md) released January/08/2023
- [v18.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.1.0.md) released October/09/2022

View File

@ -0,0 +1,171 @@
Dash Core version v18.2.2
=========================
Release is now available from:
<https://www.dash.org/downloads/#wallets>
This is a new hotfix version release.
This release is optional for all nodes; however, v18.2.2 or higher is required
to be able to use testnet right until v19 hard fork activation. Earlier
versions will not be able to sync past block 847000 on testnet.
Please report bugs using the issue tracker at GitHub:
<https://github.com/dashpay/dash/issues>
Upgrading and downgrading
=========================
How to Upgrade
--------------
If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes for older versions), then run the
installer (on Windows) or just copy over /Applications/Dash-Qt (on Mac) or
dashd/dash-qt (on Linux). If you upgrade after DIP0003 activation and you were
using version < 0.13 you will have to reindex (start with -reindex-chainstate
or -reindex) to make sure your wallet has all the new data synced. Upgrading
from version 0.13 should not require any additional actions.
When upgrading from a version prior to 18.0.1, the
first startup of Dash Core will run a migration process which can take anywhere
from a few minutes to thirty minutes to finish. After the migration, a
downgrade to an older version is only possible with a reindex
(or reindex-chainstate).
Downgrade warning
-----------------
### Downgrade to a version < v18.2.2
Downgrading to a version older than v18.2.2 is supported.
### Downgrade to a version < v18.0.1
Downgrading to a version older than v18.0.1 is not supported due to changes in
the indexes database folder. If you need to use an older version, you must
either reindex or re-sync the whole chain.
Notable changes
===============
Testnet Breaking Changes
------------------------
A new testnet only LLMQ has been added. This LLMQ is of the type LLMQ_25_67; this LLMQ is only active on testnet.
This LLMQ will not remove the LLMQ_100_67 from testnet; however that quorum (likely) will not form and will perform no role.
See the [diff](https://github.com/dashpay/dash/pull/5225/files#diff-e70a38a3e8c2a63ca0494627301a5c7042141ad301193f78338d97cb1b300ff9R451-R469) for specific parameters of the LLMQ.
This LLMQ will become active at the height of 847000. **This will be a breaking change and a hard fork for testnet**
This LLMQ is not activated with the v19 hardfork; as such testnet will experience two hardforks. One at height 847000,
and the other to be determined by the BIP9 hard fork process.
Remote Procedure Call (RPC) Changes
-----------------------------------
### The new RPCs are:
None
### The removed RPCs are:
None
### Changes in existing RPCs introduced through bitcoin backports:
None
### Dash-specific changes in existing RPCs:
None
Please check `help <command>` for more detailed information on specific RPCs.
Command-line options
--------------------
None
Please check `Help -> Command-line options` in Qt wallet or `dashd --help` for
more information.
Backports from Bitcoin Core
---------------------------
None
Other changes
-------------
#5247 is backported to improve debugging experience.
v18.2.2 Change log
==================
See detailed [set of changes](https://github.com/dashpay/dash/compare/v18.2.1...dashpay:v18.2.2).
Credits
=======
Thanks to everyone who directly contributed to this release:
- Odysseas Gabrielides
- UdjinM6
As well as everyone that submitted issues, reviewed pull requests, helped debug the release candidates, and write DIPs that were implemented in this release.
Older releases
==============
Dash was previously known as Darkcoin.
Darkcoin tree 0.8.x was a fork of Litecoin tree 0.8, original name was XCoin
which was first released on Jan/18/2014.
Darkcoin tree 0.9.x was the open source implementation of masternodes based on
the 0.8.x tree and was first released on Mar/13/2014.
Darkcoin tree 0.10.x used to be the closed source implementation of Darksend
which was released open source on Sep/25/2014.
Dash Core tree 0.11.x was a fork of Bitcoin Core tree 0.9,
Darkcoin was rebranded to Dash.
Dash Core tree 0.12.0.x was a fork of Bitcoin Core tree 0.10.
Dash Core tree 0.12.1.x was a fork of Bitcoin Core tree 0.12.
These release are considered obsolete. Old release notes can be found here:
- [v18.2.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.2.2.md) released Jan/17/2023
- [v18.2.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.2.0.md) released Jan/01/2023
- [v18.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.1.1.md) released January/08/2023
- [v18.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.1.0.md) released October/09/2022
- [v18.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.0.2.md) released October/09/2022
- [v18.0.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.0.1.md) released August/17/2022
- [v0.17.0.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.17.0.3.md) released June/07/2021
- [v0.17.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.17.0.2.md) released May/19/2021
- [v0.16.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.16.1.1.md) released November/17/2020
- [v0.16.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.16.1.0.md) released November/14/2020
- [v0.16.0.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.16.0.1.md) released September/30/2020
- [v0.15.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.15.0.0.md) released Febrary/18/2020
- [v0.14.0.5](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.5.md) released December/08/2019
- [v0.14.0.4](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.4.md) released November/22/2019
- [v0.14.0.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.3.md) released August/15/2019
- [v0.14.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.2.md) released July/4/2019
- [v0.14.0.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.1.md) released May/31/2019
- [v0.14.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.md) released May/22/2019
- [v0.13.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.3.md) released Apr/04/2019
- [v0.13.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.2.md) released Mar/15/2019
- [v0.13.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.1.md) released Feb/9/2019
- [v0.13.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.0.md) released Jan/14/2019
- [v0.12.3.4](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.3.4.md) released Dec/14/2018
- [v0.12.3.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.3.3.md) released Sep/19/2018
- [v0.12.3.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.3.2.md) released Jul/09/2018
- [v0.12.3.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.3.1.md) released Jul/03/2018
- [v0.12.2.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.2.3.md) released Jan/12/2018
- [v0.12.2.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.2.2.md) released Dec/17/2017
- [v0.12.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.2.md) released Nov/08/2017
- [v0.12.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.1.md) released Feb/06/2017
- [v0.12.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.0.md) released Aug/15/2015
- [v0.11.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.11.2.md) released Mar/04/2015
- [v0.11.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.11.1.md) released Feb/10/2015
- [v0.11.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.11.0.md) released Jan/15/2015
- [v0.10.x](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.10.0.md) released Sep/25/2014
- [v0.9.x](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.9.0.md) released Mar/13/2014

View File

@ -1,16 +0,0 @@
Wallet
------
### Automatic wallet creation removed
Dash Core will no longer automatically create new wallets on startup. It will
load existing wallets specified by `-wallet` options on the command line or in
`dash.conf` or `settings.json` files. And by default it will also load a
top-level unnamed ("") wallet. However, if specified wallets don't exist,
Dash Core will now just log warnings instead of creating new wallets with
new keys and addresses like previous releases did.
New wallets can be created through the GUI (which has a more prominent create
wallet option), through the `dash-cli createwallet` or `dash-wallet
create` commands, or the `createwallet` RPC.

View File

@ -246,10 +246,10 @@ public:
consensus.vDeployments[Consensus::DEPLOYMENT_V19].nFalloffCoeff = 5; // this corresponds to 10 periods
// The best chain should have at least this much work.
consensus.nMinimumChainWork = uint256S("0x000000000000000000000000000000000000000000007d31aeabf4a72ce1fbaa"); // 1796500
consensus.nMinimumChainWork = uint256S("0x0000000000000000000000000000000000000000000082094584a23266cbb5f8"); // 1850400
// By default assume that the signatures in ancestors of this block are valid.
consensus.defaultAssumeValid = uint256S("0x000000000000001d531f36005159f19351bd49ca676398a561e55dcccb84eacd"); // 1796500
consensus.defaultAssumeValid = uint256S("0x00000000000000261bdbe99c01fcba992e577efa6cc41aae564b8ca9f112b2a3"); // 1850400
/**
* The message start string is designed to be unlikely to occur in normal data.
@ -354,15 +354,16 @@ public:
{1364585, uint256S("0x00000000000000022f355c52417fca9b73306958f7c0832b3a7bce006ca369ef")},
{1450000, uint256S("0x00000000000000105cfae44a995332d8ec256850ea33a1f7b700474e3dad82bc")},
{1796500, uint256S("0x000000000000001d531f36005159f19351bd49ca676398a561e55dcccb84eacd")},
{1850400, uint256S("0x00000000000000261bdbe99c01fcba992e577efa6cc41aae564b8ca9f112b2a3")},
}
};
// getchaintxstats 17280 000000000000001d531f36005159f19351bd49ca676398a561e55dcccb84eacd
// getchaintxstats 17280 00000000000000261bdbe99c01fcba992e577efa6cc41aae564b8ca9f112b2a3
chainTxData = ChainTxData{
1672362622, // * UNIX timestamp of last known number of transactions (Block 1718597)
45744554, // * total number of transactions between genesis and that timestamp
1680866408, // * UNIX timestamp of last known number of transactions (Block 1718597)
47139357, // * total number of transactions between genesis and that timestamp
// (the tx=... number in the ChainStateFlushed debug.log lines)
0.1522379324797504 // * estimated number of transactions per second after that timestamp
0.168014362704521, // * estimated number of transactions per second after that timestamp
};
}
};
@ -484,10 +485,10 @@ public:
consensus.vDeployments[Consensus::DEPLOYMENT_V19].nFalloffCoeff = 5; // this corresponds to 10 periods
// The best chain should have at least this much work.
consensus.nMinimumChainWork = uint256S("0x00000000000000000000000000000000000000000000000002d68c04d48c0c9c"); // 808000
consensus.nMinimumChainWork = uint256S("0x00000000000000000000000000000000000000000000000002d68cb6c090031f"); // 864000
// By default assume that the signatures in ancestors of this block are valid.
consensus.defaultAssumeValid = uint256S("0x00000104cb60a2b5e00a8a4259582756e5bf0dca201c0993c63f0e54971ea91a"); // 808000
consensus.defaultAssumeValid = uint256S("0x0000005c35514190ef3c38d322f69412553dc7e1107ed5f92adc2935b90acc51"); // 864000
pchMessageStart[0] = 0xce;
pchMessageStart[1] = 0xe2;
@ -567,15 +568,16 @@ public:
{470000, uint256S("0x0000009303aeadf8cf3812f5c869691dbd4cb118ad20e9bf553be434bafe6a52")},
{794950, uint256S("0x000001860e4c7248a9c5cc3bc7106041750560dc5cd9b3a2641b49494bcff5f2")},
{808000, uint256S("0x00000104cb60a2b5e00a8a4259582756e5bf0dca201c0993c63f0e54971ea91a")},
{864000, uint256S("0x0000005c35514190ef3c38d322f69412553dc7e1107ed5f92adc2935b90acc51")},
}
};
// getchaintxstats 17280 00000104cb60a2b5e00a8a4259582756e5bf0dca201c0993c63f0e54971ea91a
// getchaintxstats 17280 0000005c35514190ef3c38d322f69412553dc7e1107ed5f92adc2935b90acc51
chainTxData = ChainTxData{
1672374042, // * UNIX timestamp of last known number of transactions (Block 771537)
5722721, // * total number of transactions between genesis and that timestamp
1680868209, // * UNIX timestamp of last known number of transactions (Block 771537)
5847013, // * total number of transactions between genesis and that timestamp
// (the tx=... number in the ChainStateFlushed debug.log lines)
0.003149555626489206 // * estimated number of transactions per second after that timestamp
0.01994632331955769, // * estimated number of transactions per second after that timestamp
};
}
};

View File

@ -73,6 +73,9 @@ public:
obj.keyIDVoting,
obj.isValid
);
if ((s.GetType() & SER_NETWORK) && s.GetVersion() < DMN_TYPE_PROTO_VERSION) {
return;
}
if (obj.nVersion == BASIC_BLS_VERSION) {
READWRITE(obj.nType);
if (obj.nType == MnType::HighPerformance) {

View File

@ -73,8 +73,8 @@ QT_TRANSLATE_NOOP("dash-core", ""
"Prune: last wallet synchronisation goes beyond pruned data. You need to -"
"reindex (download the whole blockchain again in case of pruned node)"),
QT_TRANSLATE_NOOP("dash-core", ""
"Rescans are not possible in pruned mode. You will need to use -reindex which "
"will download the whole blockchain again."),
"SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is "
"supported"),
QT_TRANSLATE_NOOP("dash-core", ""
"The block database contains a block which appears to be from the future. "
"This may be due to your computer's date and time being set incorrectly. Only "
@ -165,12 +165,10 @@ QT_TRANSLATE_NOOP("dash-core", "Error loading %s: Wallet corrupted"),
QT_TRANSLATE_NOOP("dash-core", "Error loading %s: Wallet requires newer version of %s"),
QT_TRANSLATE_NOOP("dash-core", "Error loading %s: You can't disable HD on an already existing HD wallet"),
QT_TRANSLATE_NOOP("dash-core", "Error loading block database"),
QT_TRANSLATE_NOOP("dash-core", "Error loading wallet %s. Duplicate -wallet filename specified."),
QT_TRANSLATE_NOOP("dash-core", "Error opening block database"),
QT_TRANSLATE_NOOP("dash-core", "Error reading from database, shutting down."),
QT_TRANSLATE_NOOP("dash-core", "Error upgrading chainstate database"),
QT_TRANSLATE_NOOP("dash-core", "Error upgrading evo database"),
QT_TRANSLATE_NOOP("dash-core", "Error: A fatal internal error occurred, see debug.log for details"),
QT_TRANSLATE_NOOP("dash-core", "Error: Disk space is low for %s"),
QT_TRANSLATE_NOOP("dash-core", "Error: failed to add socket to epollfd (epoll_ctl returned error %s)"),
QT_TRANSLATE_NOOP("dash-core", "Error: failed to add socket to kqueuefd (kevent returned error %s)"),
@ -190,8 +188,10 @@ QT_TRANSLATE_NOOP("dash-core", "Failed to load masternode cache from %s"),
QT_TRANSLATE_NOOP("dash-core", "Failed to load sporks cache from %s"),
QT_TRANSLATE_NOOP("dash-core", "Failed to rescan the wallet during initialization"),
QT_TRANSLATE_NOOP("dash-core", "Failed to start a new mixing queue"),
QT_TRANSLATE_NOOP("dash-core", "Failed to verify database"),
QT_TRANSLATE_NOOP("dash-core", "Found enough users, signing ( waiting %s )"),
QT_TRANSLATE_NOOP("dash-core", "Found enough users, signing ..."),
QT_TRANSLATE_NOOP("dash-core", "Ignoring duplicate -wallet %s."),
QT_TRANSLATE_NOOP("dash-core", "Importing..."),
QT_TRANSLATE_NOOP("dash-core", "Incompatible mode."),
QT_TRANSLATE_NOOP("dash-core", "Incompatible version."),
@ -247,6 +247,10 @@ QT_TRANSLATE_NOOP("dash-core", "Pruning blockstore..."),
QT_TRANSLATE_NOOP("dash-core", "Reducing -maxconnections from %d to %d, because of system limitations."),
QT_TRANSLATE_NOOP("dash-core", "Replaying blocks..."),
QT_TRANSLATE_NOOP("dash-core", "Rescanning..."),
QT_TRANSLATE_NOOP("dash-core", "SQLiteDatabase: Failed to execute statement to verify database: %s"),
QT_TRANSLATE_NOOP("dash-core", "SQLiteDatabase: Failed to prepare statement to verify database: %s"),
QT_TRANSLATE_NOOP("dash-core", "SQLiteDatabase: Failed to read database verification error: %s"),
QT_TRANSLATE_NOOP("dash-core", "SQLiteDatabase: Unexpected application id. Expected %u, got %u"),
QT_TRANSLATE_NOOP("dash-core", "Section [%s] is not recognized."),
QT_TRANSLATE_NOOP("dash-core", "Session not complete!"),
QT_TRANSLATE_NOOP("dash-core", "Session timed out."),

View File

@ -148,7 +148,7 @@
<source>There was an error trying to save the address list to %1. Please try again.</source>
<comment>An error message.</comment>
<extracomment>%1 is a name of the file (e.g., &quot;addrbook.csv&quot;) that the bitcoin addresses were exported to.</extracomment>
<translation type="unfinished">There was an error trying to save the address list to %1. Please try again.</translation>
<translation>There was an error trying to save the address list to %1. Please try again.</translation>
</message>
</context>
<context>
@ -418,7 +418,7 @@
<context>
<name>BitcoinGUI</name>
<message>
<location filename="../bitcoin.cpp" line="+395"/>
<location filename="../bitcoin.cpp" line="+396"/>
<source>A fatal error occurred. Dash Core can no longer continue safely and will quit.</source>
<translation>A fatal error occurred. Dash Core can no longer continue safely and will quit.</translation>
</message>
@ -658,12 +658,7 @@
<translation>&amp;Debug console</translation>
</message>
<message>
<location line="+1"/>
<source>Open debugging console</source>
<translation>Open debugging console</translation>
</message>
<message>
<location line="+1"/>
<location line="+2"/>
<source>&amp;Network Monitor</source>
<translation>&amp;Network Monitor</translation>
</message>
@ -743,24 +738,24 @@
<translation>default wallet</translation>
</message>
<message>
<location line="+471"/>
<location line="+480"/>
<source>%1 client</source>
<translation>%1 client</translation>
</message>
<message>
<location line="+742"/>
<location line="+744"/>
<source>Wallet: %1
</source>
<translation>Wallet: %1
</translation>
</message>
<message>
<location line="+74"/>
<location line="+75"/>
<source>Wallet is &lt;b&gt;unencrypted&lt;/b&gt;</source>
<translation>Wallet is &lt;b&gt;unencrypted&lt;/b&gt;</translation>
</message>
<message>
<location line="-1238"/>
<location line="-1250"/>
<source>&amp;File</source>
<translation>&amp;File</translation>
</message>
@ -770,9 +765,14 @@
<translation>Show information about %1</translation>
</message>
<message>
<location line="+57"/>
<location line="+30"/>
<source>Open debugging and diagnostic console</source>
<translation>Open debugging and diagnostic console</translation>
</message>
<message>
<location line="+27"/>
<source>Open a dash: URI</source>
<translation type="unfinished"></translation>
<translation>Open a dash: URI</translation>
</message>
<message>
<location line="+10"/>
@ -820,7 +820,7 @@
<translation>View Governance Proposals</translation>
</message>
<message numerus="yes">
<location line="+538"/>
<location line="+547"/>
<source>%n active connection(s) to Dash network</source>
<translation>
<numerusform>%n active connection to Dash network</numerusform>
@ -838,7 +838,7 @@
<translation>Syncing Headers (%1%)...</translation>
</message>
<message>
<location line="+119"/>
<location line="+121"/>
<source>Synchronizing with network...</source>
<translation>Synchronizing with network...</translation>
</message>
@ -1005,7 +1005,7 @@
<translation>HD key generation is &lt;b&gt;enabled&lt;/b&gt;</translation>
</message>
<message>
<location line="+21"/>
<location line="+22"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
<translation>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</translation>
</message>
@ -1204,7 +1204,7 @@
<translation>(%1 locked)</translation>
</message>
<message>
<location line="+160"/>
<location line="+158"/>
<source>yes</source>
<translation>yes</translation>
</message>
@ -1283,7 +1283,7 @@
<translation>Creating Wallet &lt;b&gt;%1&lt;/b&gt;...</translation>
</message>
<message>
<location line="+26"/>
<location line="+25"/>
<source>Create wallet failed</source>
<translation>Create wallet failed</translation>
</message>
@ -1452,7 +1452,7 @@
<message>
<location line="+7"/>
<source>Filter proposal list</source>
<translation type="unfinished"></translation>
<translation>Filter proposal list</translation>
</message>
<message>
<location line="+23"/>
@ -1465,7 +1465,7 @@
<translation>Filter by Title</translation>
</message>
<message>
<location filename="../governancelist.cpp" line="+403"/>
<location filename="../governancelist.cpp" line="+408"/>
<source>Proposal Info: %1</source>
<translation>Proposal Info: %1</translation>
</message>
@ -1589,12 +1589,12 @@
<translation>Form</translation>
</message>
<message>
<location line="+123"/>
<location line="+128"/>
<source>Status</source>
<translation>Status</translation>
</message>
<message>
<location line="-80"/>
<location line="-85"/>
<source>Filter List:</source>
<translation>Filter List:</translation>
</message>
@ -1623,6 +1623,11 @@
<source>Service</source>
<translation>Service</translation>
</message>
<message>
<location line="+5"/>
<source>Type</source>
<translation>Type</translation>
</message>
<message>
<location line="+10"/>
<source>PoSe Score</source>
@ -1669,7 +1674,7 @@
<translation>Voting Address</translation>
</message>
<message>
<location filename="../masternodelist.cpp" line="+89"/>
<location filename="../masternodelist.cpp" line="+95"/>
<source>Copy ProTx Hash</source>
<translation>Copy ProTx Hash</translation>
</message>
@ -1684,7 +1689,7 @@
<translation>Updating...</translation>
</message>
<message>
<location line="+37"/>
<location line="+38"/>
<source>ENABLED</source>
<translation>ENABLED</translation>
</message>
@ -1721,13 +1726,13 @@
<translation>NONE</translation>
</message>
<message>
<location filename="../forms/masternodelist.ui" line="-115"/>
<location filename="../forms/masternodelist.ui" line="-120"/>
<source>Filter by any property (e.g. address or protx hash)</source>
<translation>Filter by any property (e.g. address or protx hash)</translation>
</message>
<message>
<location filename="../masternodelist.cpp" line="-98"/>
<location line="+170"/>
<location filename="../masternodelist.cpp" line="-99"/>
<location line="+173"/>
<source>Please wait...</source>
<translation>Please wait...</translation>
</message>
@ -1762,7 +1767,7 @@
<message>
<location line="+7"/>
<location line="+20"/>
<location filename="../modaloverlay.cpp" line="+154"/>
<location filename="../modaloverlay.cpp" line="+158"/>
<source>Unknown...</source>
<translation>Unknown...</translation>
</message>
@ -1798,7 +1803,12 @@
<translation>Hide</translation>
</message>
<message>
<location filename="../modaloverlay.cpp" line="+6"/>
<location filename="../modaloverlay.cpp" line="-110"/>
<source>Dash Core is currently syncing. It will download headers and blocks from peers and validate them until reaching the tip of the block chain.</source>
<translation>Dash Core is currently syncing. It will download headers and blocks from peers and validate them until reaching the tip of the block chain.</translation>
</message>
<message>
<location line="+116"/>
<source>Unknown. Syncing Headers (%1, %2%)...</source>
<translation>Unknown. Syncing Headers (%1, %2%)...</translation>
</message>
@ -1899,12 +1909,12 @@
<message>
<location line="+91"/>
<source>Whether to keep the specified custom change address or not.</source>
<translation type="unfinished"></translation>
<translation>Whether to keep the specified custom change address or not.</translation>
</message>
<message>
<location line="+3"/>
<source>Keep custom change &amp;address</source>
<translation type="unfinished"></translation>
<translation>Keep custom change &amp;address</translation>
</message>
<message>
<location line="+7"/>
@ -2112,7 +2122,7 @@
<message>
<location line="+7"/>
<source>Automatically open the Dash Core client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random.</source>
<translation type="unfinished"></translation>
<translation>Automatically open the Dash Core client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random.</translation>
</message>
<message>
<location line="+32"/>
@ -2412,7 +2422,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>The denominations you submitted to the Masternode.&lt;br&gt;To mix, other users must submit the exact same denominations.</translation>
</message>
<message>
<location filename="../overviewpage.cpp" line="+151"/>
<location filename="../overviewpage.cpp" line="+153"/>
<location line="+1"/>
<location line="+1"/>
<source>out of sync</source>
@ -2598,13 +2608,13 @@ https://www.transifex.com/projects/p/dash/</translation>
<location line="+14"/>
<location line="+23"/>
<source>Cannot process payment request as BIP70 is no longer supported.</source>
<translation type="unfinished"></translation>
<translation>Cannot process payment request as BIP70 is no longer supported.</translation>
</message>
<message>
<location line="-22"/>
<location line="+23"/>
<source>Due to discontinued support, you should request the merchant to provide you with a BIP21 compatible URI or use a wallet that does continue to support BIP70.</source>
<translation type="unfinished"></translation>
<translation>Due to discontinued support, you should request the merchant to provide you with a BIP21 compatible URI or use a wallet that does continue to support BIP70.</translation>
</message>
<message>
<location line="-20"/>
@ -2625,7 +2635,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<context>
<name>PeerTableModel</name>
<message>
<location filename="../peertablemodel.cpp" line="+110"/>
<location filename="../peertablemodel.cpp" line="+108"/>
<source>NodeId</source>
<translation>NodeId</translation>
</message>
@ -2658,7 +2668,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<context>
<name>Proposal</name>
<message>
<location filename="../governancelist.cpp" line="-322"/>
<location filename="../governancelist.cpp" line="-323"/>
<source>Passing +%1</source>
<translation>Passing +%1</translation>
</message>
@ -2779,7 +2789,12 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Error: %1</translation>
</message>
<message>
<location line="+46"/>
<location line="+9"/>
<source>Error initializing settings: %1</source>
<translation>Error initializing settings: %1</translation>
</message>
<message>
<location line="+43"/>
<source>Error: Failed to load application fonts.</source>
<translation>Error: Failed to load application fonts.</translation>
</message>
@ -2824,7 +2839,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Amount</translation>
</message>
<message>
<location filename="../guiutil.cpp" line="+272"/>
<location filename="../guiutil.cpp" line="+280"/>
<source>Enter a Dash address (e.g. %1)</source>
<translation>Enter a Dash address (e.g. %1)</translation>
</message>
@ -2844,7 +2859,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>This can also be adjusted later in the &quot;Appearance&quot; tab of the preferences.</translation>
</message>
<message>
<location line="+1452"/>
<location line="+1451"/>
<source>%1 d</source>
<translation>%1 d</translation>
</message>
@ -2976,34 +2991,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>&amp;Save Image...</source>
<translation>&amp;Save Image...</translation>
</message>
<message>
<location filename="../qrdialog.cpp" line="+142"/>
<source>Error creating QR Code.</source>
<translation>Error creating QR Code.</translation>
</message>
</context>
<context>
<name>QRGeneralImageWidget</name>
<message>
<location line="-106"/>
<source>&amp;Save Image...</source>
<translation>&amp;Save Image...</translation>
</message>
<message>
<location line="+3"/>
<source>&amp;Copy Image</source>
<translation>&amp;Copy Image</translation>
</message>
<message>
<location line="+32"/>
<source>Save QR Code</source>
<translation>Save QR Code</translation>
</message>
<message>
<location line="+0"/>
<source>PNG Image (*.png)</source>
<translation>PNG Image (*.png)</translation>
</message>
</context>
<context>
<name>QRImageWidget</name>
@ -3102,7 +3089,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<location line="+26"/>
<location line="+23"/>
<location line="+23"/>
<location filename="../rpcconsole.cpp" line="+1226"/>
<location filename="../rpcconsole.cpp" line="+1247"/>
<source>N/A</source>
<translation>N/A</translation>
</message>
@ -3208,8 +3195,8 @@ https://www.transifex.com/projects/p/dash/</translation>
</message>
<message>
<location line="+63"/>
<location filename="../rpcconsole.cpp" line="-711"/>
<location line="+878"/>
<location filename="../rpcconsole.cpp" line="-734"/>
<location line="+901"/>
<source>Select a peer to view detailed information.</source>
<translation>Select a peer to view detailed information.</translation>
</message>
@ -3244,7 +3231,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Synced Blocks</translation>
</message>
<message>
<location line="+317"/>
<location line="+314"/>
<source>Rescan blockchain files 1</source>
<translation>Rescan blockchain files 1</translation>
</message>
@ -3254,12 +3241,12 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Rescan blockchain files 2</translation>
</message>
<message>
<location line="-46"/>
<location line="-43"/>
<source>The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions.</source>
<translation>The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions.</translation>
</message>
<message>
<location line="+30"/>
<location line="+27"/>
<source>-rescan=1: Rescan the block chain for missing wallet transactions starting from wallet creation time.</source>
<translation>-rescan=1: Rescan the block chain for missing wallet transactions starting from wallet creation time.</translation>
</message>
@ -3269,12 +3256,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>-rescan=2: Rescan the block chain for missing wallet transactions starting from genesis block.</translation>
</message>
<message>
<location line="-43"/>
<source>Wallet Path</source>
<translation>Wallet Path</translation>
</message>
<message>
<location line="-1294"/>
<location line="-1334"/>
<location line="+895"/>
<source>User Agent</source>
<translation>User Agent</translation>
@ -3415,7 +3397,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>&amp;Wallet Repair</translation>
</message>
<message>
<location line="+1411"/>
<location line="+1408"/>
<source>Upgrade wallet format</source>
<translation>Upgrade wallet format</translation>
</message>
@ -3425,12 +3407,12 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>-upgradewallet: Upgrade wallet to latest format on startup. (Note: this is NOT an update of the wallet itself!)</translation>
</message>
<message>
<location line="-86"/>
<location line="-83"/>
<source>Wallet repair options.</source>
<translation>Wallet repair options.</translation>
</message>
<message>
<location line="+96"/>
<location line="+93"/>
<source>Rebuild index</source>
<translation>Rebuild index</translation>
</message>
@ -3440,7 +3422,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>-reindex: Rebuild block chain index from current blk000??.dat files.</translation>
</message>
<message>
<location filename="../rpcconsole.cpp" line="-770"/>
<location filename="../rpcconsole.cpp" line="-793"/>
<source>&amp;Disconnect</source>
<translation>&amp;Disconnect</translation>
</message>
@ -3478,7 +3460,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>&amp;Unban</translation>
</message>
<message>
<location line="+213"/>
<location line="+232"/>
<source>Welcome to the %1 RPC console.</source>
<translation>Welcome to the %1 RPC console.</translation>
</message>
@ -3549,15 +3531,20 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>never</translation>
</message>
<message>
<location line="+10"/>
<location line="+11"/>
<source>Inbound</source>
<translation>Inbound</translation>
</message>
<message>
<location line="+0"/>
<location line="+2"/>
<source>Outbound</source>
<translation>Outbound</translation>
</message>
<message>
<location line="+1"/>
<source>Outbound block-relay</source>
<translation>Outbound block-relay</translation>
</message>
<message>
<location line="+2"/>
<source>Yes</source>
@ -3603,8 +3590,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>&amp;Message:</translation>
</message>
<message>
<location line="+13"/>
<location line="+27"/>
<location line="+40"/>
<source>An optional label to associate with the new receiving address.</source>
<translation>An optional label to associate with the new receiving address.</translation>
</message>
@ -3614,7 +3600,12 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>An optional message to attach to the payment request, which will be displayed when the request is opened.&lt;br&gt;Note: The message will not be sent with the payment over the Dash network.</translation>
</message>
<message>
<location line="+10"/>
<location line="-10"/>
<source>An optional label to associate with the new receiving address (used by you to identify an invoice). It is also attached to the payment request.</source>
<translation>An optional label to associate with the new receiving address (used by you to identify an invoice). It is also attached to the payment request.</translation>
</message>
<message>
<location line="+20"/>
<source>Use this form to request payments. All fields are &lt;b&gt;optional&lt;/b&gt;.</source>
<translation>Use this form to request payments. All fields are &lt;b&gt;optional&lt;/b&gt;.</translation>
</message>
@ -3776,7 +3767,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<context>
<name>RecentRequestsTableModel</name>
<message>
<location filename="../recentrequeststablemodel.cpp" line="+27"/>
<location filename="../recentrequeststablemodel.cpp" line="+26"/>
<source>Date</source>
<translation>Date</translation>
</message>
@ -3815,7 +3806,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<name>SendCoinsDialog</name>
<message>
<location filename="../forms/sendcoinsdialog.ui" line="+14"/>
<location filename="../sendcoinsdialog.cpp" line="+672"/>
<location filename="../sendcoinsdialog.cpp" line="+706"/>
<source>Send Coins</source>
<translation>Send Coins</translation>
</message>
@ -3897,12 +3888,12 @@ https://www.transifex.com/projects/p/dash/</translation>
<message>
<location line="+150"/>
<source>When there is less transaction volume than space in the blocks, miners as well as relaying nodes may enforce a minimum fee. Paying only this minimum fee is just fine, but be aware that this can result in a never confirming transaction once there is more demand for dash transactions than the network can process.</source>
<translation type="unfinished"></translation>
<translation>When there is less transaction volume than space in the blocks, miners as well as relaying nodes may enforce a minimum fee. Paying only this minimum fee is just fine, but be aware that this can result in a never confirming transaction once there is more demand for dash transactions than the network can process.</translation>
</message>
<message>
<location line="+3"/>
<source>A too low fee might result in a never confirming transaction (read the tooltip)</source>
<translation type="unfinished"></translation>
<translation>A too low fee might result in a never confirming transaction (read the tooltip)</translation>
</message>
<message>
<location line="+143"/>
@ -3956,7 +3947,7 @@ https://www.transifex.com/projects/p/dash/</translation>
</message>
<message>
<location line="+113"/>
<location filename="../sendcoinsdialog.cpp" line="-523"/>
<location filename="../sendcoinsdialog.cpp" line="-556"/>
<source>Confirm the send action</source>
<translation>Confirm the send action</translation>
</message>
@ -4032,34 +4023,28 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>%1 (%2 blocks)</translation>
</message>
<message>
<location line="+122"/>
<source>from wallet %1</source>
<translation>from wallet %1</translation>
</message>
<message>
<location line="+45"/>
<location line="+173"/>
<location line="+2"/>
<source>using</source>
<translation>using</translation>
</message>
<message>
<location line="-34"/>
<location line="+5"/>
<location line="-32"/>
<source>%1 to %2</source>
<translation>%1 to %2</translation>
</message>
<message>
<location line="+19"/>
<location line="+16"/>
<source>Are you sure you want to send?</source>
<translation>Are you sure you want to send?</translation>
</message>
<message>
<location line="+16"/>
<location line="+25"/>
<source>&lt;b&gt;(%1 of %2 entries displayed)&lt;/b&gt;</source>
<translation>&lt;b&gt;(%1 of %2 entries displayed)&lt;/b&gt;</translation>
</message>
<message>
<location line="-233"/>
<location line="-242"/>
<source>S&amp;end mixed funds</source>
<translation>S&amp;end mixed funds</translation>
</message>
@ -4069,7 +4054,37 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Confirm the %1 send action</translation>
</message>
<message>
<location line="+224"/>
<location line="+73"/>
<source>Cr&amp;eate Unsigned</source>
<translation>Cr&amp;eate Unsigned</translation>
</message>
<message>
<location line="+1"/>
<source>Creates a Partially Signed Bitcoin Transaction (PSBT) for use with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
<translation>Creates a Partially Signed Bitcoin Transaction (PSBT) for use with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</translation>
</message>
<message>
<location line="+110"/>
<source> from wallet &apos;%1&apos;</source>
<translation> from wallet &apos;%1&apos;</translation>
</message>
<message>
<location line="+11"/>
<source>%1 to &apos;%2&apos;</source>
<translation>%1 to &apos;%2&apos;</translation>
</message>
<message>
<location line="+19"/>
<source>Do you want to draft this transaction?</source>
<translation>Do you want to draft this transaction?</translation>
</message>
<message>
<location line="+6"/>
<source>This will produce a Partially Signed Transaction (PSBT) which you can copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
<translation>This will produce a Partially Signed Transaction (PSBT) which you can copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</translation>
</message>
<message>
<location line="+10"/>
<source>%1 funds only</source>
<translation>%1 funds only</translation>
</message>
@ -4079,7 +4094,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>any available funds</translation>
</message>
<message>
<location line="+16"/>
<location line="+19"/>
<source>Transaction fee</source>
<translation>Transaction fee</translation>
</message>
@ -4126,13 +4141,38 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>or</source>
<translation>or</translation>
</message>
<message>
<location line="+5"/>
<source>To review recipient list click &quot;Show Details...&quot;</source>
<translation>To review recipient list click &quot;Show Details...&quot;</translation>
</message>
<message>
<location line="+3"/>
<source>Confirm send coins</source>
<translation>Confirm send coins</translation>
</message>
<message>
<location line="+200"/>
<location line="+0"/>
<source>Confirm transaction proposal</source>
<translation>Confirm transaction proposal</translation>
</message>
<message>
<location line="+1"/>
<source>Copy PSBT to clipboard</source>
<translation>Copy PSBT to clipboard</translation>
</message>
<message>
<location line="+0"/>
<source>Send</source>
<translation>Send</translation>
</message>
<message>
<location line="+23"/>
<source>PSBT copied</source>
<translation>PSBT copied</translation>
</message>
<message>
<location line="+195"/>
<source>The recipient address is not valid. Please recheck.</source>
<translation>The recipient address is not valid. Please recheck.</translation>
</message>
@ -4172,7 +4212,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Payment request expired.</translation>
</message>
<message numerus="yes">
<location line="+108"/>
<location line="+113"/>
<source>Estimated to begin confirmation within %n block(s).</source>
<translation>
<numerusform>Estimated to begin confirmation within %n block.</numerusform>
@ -4315,15 +4355,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Memo:</translation>
</message>
</context>
<context>
<name>SendConfirmationDialog</name>
<message>
<location filename="../sendcoinsdialog.cpp" line="+90"/>
<location line="+5"/>
<source>Send</source>
<translation>Send</translation>
</message>
</context>
<context>
<name>ShutdownWindow</name>
<message>
@ -4479,26 +4510,26 @@ https://www.transifex.com/projects/p/dash/</translation>
</message>
<message>
<location filename="../signverifymessagedialog.cpp" line="+145"/>
<location line="+78"/>
<location line="+92"/>
<source>The entered address is invalid.</source>
<translation>The entered address is invalid.</translation>
</message>
<message>
<location line="-78"/>
<location line="-92"/>
<location line="+7"/>
<location line="+86"/>
<location line="+7"/>
<location line="+71"/>
<location line="+6"/>
<source>Please check the address and try again.</source>
<translation>Please check the address and try again.</translation>
</message>
<message>
<location line="-77"/>
<location line="+77"/>
<location line="-93"/>
<location line="+92"/>
<source>The entered address does not refer to a key.</source>
<translation>The entered address does not refer to a key.</translation>
</message>
<message>
<location line="-69"/>
<location line="-84"/>
<source>Wallet unlock was cancelled.</source>
<translation>Wallet unlock was cancelled.</translation>
</message>
@ -4508,7 +4539,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Private key for the entered address is not available.</translation>
</message>
<message>
<location line="+12"/>
<location line="+9"/>
<source>Message signing failed.</source>
<translation>Message signing failed.</translation>
</message>
@ -4518,18 +4549,18 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Message signed.</translation>
</message>
<message>
<location line="+55"/>
<location line="+69"/>
<source>The signature could not be decoded.</source>
<translation>The signature could not be decoded.</translation>
</message>
<message>
<location line="+0"/>
<location line="+13"/>
<location line="+1"/>
<location line="+7"/>
<source>Please check the signature and try again.</source>
<translation>Please check the signature and try again.</translation>
</message>
<message>
<location line="+0"/>
<location line="-1"/>
<source>The signature did not match the message digest.</source>
<translation>The signature did not match the message digest.</translation>
</message>
@ -4539,7 +4570,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Message verification failed.</translation>
</message>
<message>
<location line="+5"/>
<location line="-32"/>
<source>Message verified.</source>
<translation>Message verified.</translation>
</message>
@ -4952,7 +4983,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>watch-only</translation>
</message>
<message>
<location line="+17"/>
<location line="+18"/>
<source>(n/a)</source>
<translation>(n/a)</translation>
</message>
@ -5103,7 +5134,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<message>
<location line="+1"/>
<source>Resend transaction</source>
<translation type="unfinished"></translation>
<translation>Resend transaction</translation>
</message>
<message>
<location line="+1"/>
@ -5242,7 +5273,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<context>
<name>WalletController</name>
<message>
<location filename="../walletcontroller.cpp" line="-219"/>
<location filename="../walletcontroller.cpp" line="-218"/>
<source>Close wallet</source>
<translation>Close wallet</translation>
</message>
@ -5260,9 +5291,18 @@ https://www.transifex.com/projects/p/dash/</translation>
<context>
<name>WalletFrame</name>
<message>
<location filename="../walletframe.cpp" line="+29"/>
<source>No wallet has been loaded.</source>
<translation>No wallet has been loaded.</translation>
<location filename="../walletframe.cpp" line="+38"/>
<source>No wallet has been loaded.
Go to File &gt; Open Wallet to load a wallet.
- OR -</source>
<translation>No wallet has been loaded.
Go to File &gt; Open Wallet to load a wallet.
- OR -</translation>
</message>
<message>
<location line="+5"/>
<source>Create a new wallet</source>
<translation>Create a new wallet</translation>
</message>
</context>
<context>
@ -5296,7 +5336,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Selected amount:</translation>
</message>
<message>
<location line="+289"/>
<location line="+265"/>
<source>Backup Wallet</source>
<translation>Backup Wallet</translation>
</message>
@ -5414,7 +5454,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Error loading block database</translation>
</message>
<message>
<location line="+2"/>
<location line="+1"/>
<source>Error opening block database</source>
<translation>Error opening block database</translation>
</message>
@ -5424,12 +5464,12 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Error reading from database, shutting down.</translation>
</message>
<message>
<location line="+16"/>
<location line="+15"/>
<source>Failed to listen on any port. Use -listen=0 if you want this.</source>
<translation>Failed to listen on any port. Use -listen=0 if you want this.</translation>
</message>
<message>
<location line="-164"/>
<location line="-162"/>
<source>-maxtxfee is set very high! Fees this large could be paid on a single transaction.</source>
<translation>-maxtxfee is set very high! Fees this large could be paid on a single transaction.</translation>
</message>
@ -5454,7 +5494,12 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Invalid amount for -maxtxfee=&lt;amount&gt;: &apos;%s&apos; (must be at least the minrelay fee of %s to prevent stuck transactions)</translation>
</message>
<message>
<location line="+42"/>
<location line="+17"/>
<source>SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is supported</source>
<translation>SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is supported</translation>
</message>
<message>
<location line="+25"/>
<source>Transaction index can&apos;t be disabled with governance validation enabled. Either start with -disablegovernance command line switch or enable transaction index.</source>
<translation>Transaction index can&apos;t be disabled with governance validation enabled. Either start with -disablegovernance command line switch or enable transaction index.</translation>
</message>
@ -5469,7 +5514,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Entry exceeds maximum size.</translation>
</message>
<message>
<location line="+34"/>
<location line="+33"/>
<source>Found enough users, signing ( waiting %s )</source>
<translation>Found enough users, signing ( waiting %s )</translation>
</message>
@ -5479,7 +5524,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Found enough users, signing ...</translation>
</message>
<message>
<location line="+1"/>
<location line="+2"/>
<source>Importing...</source>
<translation>Importing...</translation>
</message>
@ -5579,7 +5624,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Not in the Masternode list.</translation>
</message>
<message>
<location line="+18"/>
<location line="+22"/>
<source>Submitted to masternode, waiting in queue %s</source>
<translation>Submitted to masternode, waiting in queue %s</translation>
</message>
@ -5614,7 +5659,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Will retry...</translation>
</message>
<message>
<location line="-165"/>
<location line="-169"/>
<source>Can&apos;t find random Masternode.</source>
<translation>Can&apos;t find random Masternode.</translation>
</message>
@ -5669,12 +5714,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</translation>
</message>
<message>
<location line="+3"/>
<source>Rescans are not possible in pruned mode. You will need to use -reindex which will download the whole blockchain again.</source>
<translation>Rescans are not possible in pruned mode. You will need to use -reindex which will download the whole blockchain again.</translation>
</message>
<message>
<location line="+3"/>
<location line="+6"/>
<source>The block database contains a block which appears to be from the future. This may be due to your computer&apos;s date and time being set incorrectly. Only rebuild the block database if you are sure that your computer&apos;s date and time are correct</source>
<translation>The block database contains a block which appears to be from the future. This may be due to your computer&apos;s date and time being set incorrectly. Only rebuild the block database if you are sure that your computer&apos;s date and time are correct</translation>
</message>
@ -5754,15 +5794,10 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Error loading %s: Private keys can only be disabled during creation</translation>
</message>
<message>
<location line="+9"/>
<location line="+8"/>
<source>Error upgrading evo database</source>
<translation>Error upgrading evo database</translation>
</message>
<message>
<location line="+1"/>
<source>Error: A fatal internal error occurred, see debug.log for details</source>
<translation>Error: A fatal internal error occurred, see debug.log for details</translation>
</message>
<message>
<location line="+1"/>
<source>Error: Disk space is low for %s</source>
@ -5804,7 +5839,17 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Failed to rescan the wallet during initialization</translation>
</message>
<message>
<location line="+15"/>
<location line="+2"/>
<source>Failed to verify database</source>
<translation>Failed to verify database</translation>
</message>
<message>
<location line="+3"/>
<source>Ignoring duplicate -wallet %s.</source>
<translation>Ignoring duplicate -wallet %s.</translation>
</message>
<message>
<location line="+12"/>
<source>Invalid P2P permission: &apos;%s&apos;</source>
<translation>Invalid P2P permission: &apos;%s&apos;</translation>
</message>
@ -5905,6 +5950,26 @@ https://www.transifex.com/projects/p/dash/</translation>
</message>
<message>
<location line="+4"/>
<source>SQLiteDatabase: Failed to execute statement to verify database: %s</source>
<translation>SQLiteDatabase: Failed to execute statement to verify database: %s</translation>
</message>
<message>
<location line="+1"/>
<source>SQLiteDatabase: Failed to prepare statement to verify database: %s</source>
<translation>SQLiteDatabase: Failed to prepare statement to verify database: %s</translation>
</message>
<message>
<location line="+1"/>
<source>SQLiteDatabase: Failed to read database verification error: %s</source>
<translation>SQLiteDatabase: Failed to read database verification error: %s</translation>
</message>
<message>
<location line="+1"/>
<source>SQLiteDatabase: Unexpected application id. Expected %u, got %u</source>
<translation>SQLiteDatabase: Unexpected application id. Expected %u, got %u</translation>
</message>
<message>
<location line="+1"/>
<source>Section [%s] is not recognized.</source>
<translation>Section [%s] is not recognized.</translation>
</message>
@ -6046,7 +6111,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>see debug.log for details.</translation>
</message>
<message>
<location line="-301"/>
<location line="-305"/>
<source>The %s developers</source>
<translation>The %s developers</translation>
</message>
@ -6201,17 +6266,12 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Error loading %s: You can&apos;t disable HD on an already existing HD wallet</translation>
</message>
<message>
<location line="+2"/>
<source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
<translation>Error loading wallet %s. Duplicate -wallet filename specified.</translation>
</message>
<message>
<location line="+3"/>
<location line="+4"/>
<source>Error upgrading chainstate database</source>
<translation>Error upgrading chainstate database</translation>
</message>
<message>
<location line="+5"/>
<location line="+4"/>
<source>Error: failed to add socket to kqueuefd (kevent returned error %s)</source>
<translation>Error: failed to add socket to kqueuefd (kevent returned error %s)</translation>
</message>
@ -6261,7 +6321,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Failed to start a new mixing queue</translation>
</message>
<message>
<location line="+6"/>
<location line="+8"/>
<source>Incorrect -rescan mode, falling back to default value</source>
<translation>Incorrect -rescan mode, falling back to default value</translation>
</message>
@ -6316,7 +6376,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Rescanning...</translation>
</message>
<message>
<location line="+2"/>
<location line="+6"/>
<source>Session not complete!</source>
<translation>Session not complete!</translation>
</message>
@ -6336,7 +6396,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Specified blocks directory &quot;%s&quot; does not exist.</translation>
</message>
<message>
<location line="-40"/>
<location line="-44"/>
<source>Last queue was created too recently.</source>
<translation>Last queue was created too recently.</translation>
</message>
@ -6356,7 +6416,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>Last successful action was too recent.</translation>
</message>
<message>
<location line="+40"/>
<location line="+44"/>
<source>Starting network threads...</source>
<translation>Starting network threads...</translation>
</message>

File diff suppressed because it is too large Load Diff

View File

@ -115,7 +115,9 @@
</message>
<message>
<source>There was an error trying to save the address list to %1. Please try again.</source>
<translation>C'é stato un errore mentre si salvava la lista degli indirizzi a %1. Per favore riprovare nuovamente.</translation>
<comment>An error message.</comment>
<extracomment>%1 is a name of the file (e.g., "addrbook.csv") that the bitcoin addresses were exported to.</extracomment>
<translation>C'é stato un errore durante il tentativo di salvare la lista degli indirizzi a %1. Per favore riprovare nuovamente.</translation>
</message>
</context>
<context>
@ -515,10 +517,6 @@
<source>&amp;Debug console</source>
<translation>&amp;Console di Debug</translation>
</message>
<message>
<source>Open debugging console</source>
<translation>Apri la console di Debug</translation>
</message>
<message>
<source>&amp;Network Monitor</source>
<translation>&amp;Monitor di rete</translation>
@ -571,10 +569,6 @@
<source>Open &amp;URI...</source>
<translation>Apri &amp;URI...</translation>
</message>
<message>
<source>Open a dash: URI or payment request</source>
<translation>Apri un dash: URI o una richiesta di pagamento</translation>
</message>
<message>
<source>&amp;Command-line options</source>
<translation>Opzioni riga di &amp;comando</translation>
@ -609,6 +603,14 @@
<source>Show information about %1</source>
<translation>Mostra informazioni %1</translation>
</message>
<message>
<source>Open debugging and diagnostic console</source>
<translation>Aprire la console di debug e diagnostica</translation>
</message>
<message>
<source>Open a dash: URI</source>
<translation>Apri un dash: URI</translation>
</message>
<message>
<source>Create Wallet...</source>
<translation>Crea portafoglio...</translation>
@ -647,7 +649,7 @@
</message>
<message numerus="yes">
<source>%n active connection(s) to Dash network</source>
<translation><numerusform>%n connessione attiva alla rete Dash</numerusform><numerusform>%n connessioni attive alla rete Dash</numerusform></translation>
<translation><numerusform>%n connessione attiva alla rete Dash</numerusform><numerusform>%n connessioni attive alla rete Dash</numerusform><numerusform>%n connessioni attive alla rete Dash</numerusform></translation>
</message>
<message>
<source>Network activity disabled</source>
@ -679,7 +681,7 @@
</message>
<message numerus="yes">
<source>Processed %n block(s) of transaction history.</source>
<translation><numerusform>Elaborati %n blocchi della cronologia delle transazioni.</numerusform><numerusform>Elaborati %n blocchi della cronologia delle transazioni.</numerusform></translation>
<translation><numerusform>Elaborati %n blocchi della cronologia delle transazioni.</numerusform><numerusform>Elaborati %n blocchi della cronologia delle transazioni.</numerusform><numerusform>Elaborati %n blocchi della cronologia delle transazioni.</numerusform></translation>
</message>
<message>
<source>%1 behind</source>
@ -1150,8 +1152,8 @@
<translation>Elenco filtri:</translation>
</message>
<message>
<source>Filter propsal list</source>
<translation>Filtra l'elenco delle proposte</translation>
<source>Filter proposal list</source>
<translation>Filtra l'elenco delle proposal</translation>
</message>
<message>
<source>Proposal Count:</source>
@ -1290,6 +1292,10 @@
<source>Service</source>
<translation>Assistenza</translation>
</message>
<message>
<source>Type</source>
<translation>Scrivi</translation>
</message>
<message>
<source>PoSe Score</source>
<translation>Punteggio PoSe</translation>
@ -1425,6 +1431,10 @@
<source>Hide</source>
<translation>Nascondi</translation>
</message>
<message>
<source>Dash Core is currently syncing. It will download headers and blocks from peers and validate them until reaching the tip of the block chain.</source>
<translation>Dash Core è attualmente in fase di sincronizzazione. Scaricherà le intestazioni e i blocchi dai peers e li convaliderà fino a raggiungere la punta della blockchain.</translation>
</message>
<message>
<source>Unknown. Syncing Headers (%1, %2%)...</source>
<translation>Sconosciuto. Sincronizzazione intestazioni (%1, %2%)...</translation>
@ -1436,22 +1446,10 @@
<source>Open URI</source>
<translation>Apri URI</translation>
</message>
<message>
<source>Open payment request from URI or file</source>
<translation>Apri richiesta di pagamento da URI o file</translation>
</message>
<message>
<source>URI:</source>
<translation>URI:</translation>
</message>
<message>
<source>Select payment request file</source>
<translation>Seleziona il file di richiesta di pagamento</translation>
</message>
<message>
<source>Select payment request file to open</source>
<translation>Seleziona il file di richiesta di pagamento da aprire</translation>
</message>
</context>
<context>
<name>OpenWalletActivity</name>
@ -1518,6 +1516,14 @@
<source>MiB</source>
<translation>MiB</translation>
</message>
<message>
<source>Whether to keep the specified custom change address or not.</source>
<translation>Indica se mantenere o meno l'indirizzo di modifica personalizzato specificato.</translation>
</message>
<message>
<source>Keep custom change &amp;address</source>
<translation>Mantieni la modifica personalizzata &amp;address</translation>
</message>
<message>
<source>Show additional tab listing all your masternodes in first sub-tab&lt;br/&gt;and all masternodes on the network in second sub-tab.</source>
<translation>Mostra la tabella aggiuntiva che elenca tutti i Masternode nella prima sotto-tabella &lt;br/&gt;e tutti i Masternode sulla rete nella seconda sotto-tabella.</translation>
@ -1590,10 +1596,6 @@
<source>Automatically open the Dash Core client port on the router. This only works when your router supports UPnP and it is enabled.</source>
<translation>Apri automaticamente la porta utilizzata dal client Dash Core nel router. Funziona solo se il router supporta UPnP ed è attivato.</translation>
</message>
<message>
<source>Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random.</source>
<translation>Apri automaticamente la porta del client Bitcoin sul router. Funziona solo quando il router supporta NAT-PMP ed è abilitato. La porta esterna potrebbe essere casuale.</translation>
</message>
<message>
<source>Map port using NA&amp;T-PMP</source>
<translation>Mappa Porta utilizzando NA&amp;T-PMP</translation>
@ -1682,6 +1684,10 @@
<source>Map port using &amp;UPnP</source>
<translation>Mappa le porte tramite &amp;UPnP</translation>
</message>
<message>
<source>Automatically open the Dash Core client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random.</source>
<translation>Apri automaticamente la porta del client Dash Core sul router. Funziona solo quando il tuo router supporta NAT-PMP ed è abilitato. La porta esterna potrebbe essere casuale.</translation>
</message>
<message>
<source>Proxy &amp;IP:</source>
<translation>&amp;IP del proxy:</translation>
@ -1933,7 +1939,7 @@ https://www.transifex.com/projects/p/dash/</translation>
</message>
<message numerus="yes">
<source>%n Rounds</source>
<translation><numerusform>%n Round</numerusform><numerusform>%n Rounds</numerusform></translation>
<translation><numerusform>%n Round</numerusform><numerusform>%n Rounds</numerusform><numerusform>%n Rounds</numerusform></translation>
</message>
<message>
<source>Found enough compatible inputs to mix %1</source>
@ -1961,7 +1967,7 @@ https://www.transifex.com/projects/p/dash/</translation>
</message>
<message numerus="yes">
<source>Denominated inputs have %5 of %n rounds on average</source>
<translation><numerusform>Gli input denominati hanno in media %5 di %n round </numerusform><numerusform>Gli input denominati hanno in media %5 di %n round </numerusform></translation>
<translation><numerusform>Gli input denominati hanno in media %5 di %n round </numerusform><numerusform>Gli input denominati hanno in media %5 di %n round </numerusform><numerusform>Gli input denominati hanno in media %5 di %n round </numerusform></translation>
</message>
<message>
<source>keys left: %1</source>
@ -2047,12 +2053,12 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>"dash: //" non è un URI valido. Utilizza "dash:".</translation>
</message>
<message>
<source>Payment request fetch URL is invalid: %1</source>
<translation>URL di recupero della Richiesta di pagamento non valido: %1</translation>
<source>Cannot process payment request as BIP70 is no longer supported.</source>
<translation>Impossibile elaborare la richiesta di pagamento in quanto BIP70 non è più supportato.</translation>
</message>
<message>
<source>Cannot process payment request because BIP70 support was not compiled in.</source>
<translation>Impossibile elaborare la richiesta di pagamento perché il supporto BIP70 non è stato compilato.</translation>
<source>Due to discontinued support, you should request the merchant to provide you with a BIP21 compatible URI or use a wallet that does continue to support BIP70.</source>
<translation>A causa dell'interruzione del supporto, dovresti richiedere al commerciante di fornirti un URI compatibile con BIP21 o utilizzare un portafoglio che continui a supportare BIP70.</translation>
</message>
<message>
<source>Invalid payment address %1</source>
@ -2066,66 +2072,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Payment request file handling</source>
<translation>Gestione del file di richiesta del pagamento</translation>
</message>
<message>
<source>Payment request file cannot be read! This can be caused by an invalid payment request file.</source>
<translation>Il file di richiesta del pagamento non può essere letto! Il file in questione potrebbe essere non valido.</translation>
</message>
<message>
<source>Payment request rejected</source>
<translation>Richiesta di pagamento rifiutata</translation>
</message>
<message>
<source>Payment request network doesn't match client network.</source>
<translation>La rete della richiesta di pagamento non coincide con la rete del cliente.</translation>
</message>
<message>
<source>Payment request expired.</source>
<translation>Richiesta di pagamento scaduta.</translation>
</message>
<message>
<source>Payment request is not initialized.</source>
<translation>La richiesta di pagamento non è stata inizializzata</translation>
</message>
<message>
<source>Unverified payment requests to custom payment scripts are unsupported.</source>
<translation>Le richieste di pagamento non verificate verso script di pagamento personalizzati non sono supportate.</translation>
</message>
<message>
<source>Invalid payment request.</source>
<translation>Richiesta di pagamento invalida</translation>
</message>
<message>
<source>Requested payment amount of %1 is too small (considered dust).</source>
<translation>L'importo di pagamento richiesto di %1 è troppo basso (considerato come infinitesimale).</translation>
</message>
<message>
<source>Refund from %1</source>
<translation>Rimborso da %1</translation>
</message>
<message>
<source>Payment request %1 is too large (%2 bytes, allowed %3 bytes).</source>
<translation>Il pagamento richiesto %1 é troppo grande (%2 bytes, permesso %3 bytes).</translation>
</message>
<message>
<source>Error communicating with %1: %2</source>
<translation>Errore di comunicazione con %1: %2</translation>
</message>
<message>
<source>Payment request cannot be parsed!</source>
<translation>La richiesta di pagamento non può essere analizzata o processata!</translation>
</message>
<message>
<source>Bad response from server %1</source>
<translation>Risposta errata da parte del server %1</translation>
</message>
<message>
<source>Network request error</source>
<translation>Errore di richiesta di rete</translation>
</message>
<message>
<source>Payment acknowledged</source>
<translation>Pagamento riconosciuto</translation>
</message>
</context>
<context>
<name>PeerTableModel</name>
@ -2238,10 +2184,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Reset all settings changed in the GUI</source>
<translation>Reimposta tutti i campi dell'interfaccia grafica</translation>
</message>
<message>
<source>Set SSL root certificates for payment request (default: -system-)</source>
<translation>Imposta i certificati root SSL per le richieste di pagamento (default: -system-)</translation>
</message>
<message>
<source>Show splash screen on startup (default: %u)</source>
<translation>Mostra schermata iniziale all'avvio (default: %u)</translation>
@ -2258,6 +2200,10 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Error: %1</source>
<translation>Errore: %1</translation>
</message>
<message>
<source>Error initializing settings: %1</source>
<translation>Errore durante l'inizializzazione delle impostazioni: %1</translation>
</message>
<message>
<source>Error: Failed to load application fonts.</source>
<translation>Errore:Impossibile caricare i caratteri dell'applicazione</translation>
@ -2340,27 +2286,27 @@ https://www.transifex.com/projects/p/dash/</translation>
</message>
<message numerus="yes">
<source>%n second(s)</source>
<translation><numerusform>%n secondo</numerusform><numerusform>%n secondi</numerusform></translation>
<translation><numerusform>%n secondo</numerusform><numerusform>%n secondi</numerusform><numerusform>%n secondi</numerusform></translation>
</message>
<message numerus="yes">
<source>%n minute(s)</source>
<translation><numerusform>%n minuto</numerusform><numerusform>%n minuti</numerusform></translation>
<translation><numerusform>%n minuto</numerusform><numerusform>%n minuti</numerusform><numerusform>%n minuti</numerusform></translation>
</message>
<message numerus="yes">
<source>%n hour(s)</source>
<translation><numerusform>%n ora</numerusform><numerusform>%n ore</numerusform></translation>
<translation><numerusform>%n ora</numerusform><numerusform>%n ore</numerusform><numerusform>%n ore</numerusform></translation>
</message>
<message numerus="yes">
<source>%n day(s)</source>
<translation><numerusform>%n giorno</numerusform><numerusform>%n giorni</numerusform></translation>
<translation><numerusform>%n giorno</numerusform><numerusform>%n giorni</numerusform><numerusform>%n giorni</numerusform></translation>
</message>
<message numerus="yes">
<source>%n week(s)</source>
<translation><numerusform>%n settimana</numerusform><numerusform>%n settimane</numerusform></translation>
<translation><numerusform>%n settimana</numerusform><numerusform>%n settimane</numerusform><numerusform>%n settimane</numerusform></translation>
</message>
<message numerus="yes">
<source>%n year(s)</source>
<translation><numerusform>%n anno</numerusform><numerusform>%n anni</numerusform></translation>
<translation><numerusform>%n anno</numerusform><numerusform>%n anni</numerusform><numerusform>%n anni</numerusform></translation>
</message>
<message>
<source>%1 and %2</source>
@ -2401,29 +2347,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>&amp;Save Image...</source>
<translation>&amp;Salva Immagine</translation>
</message>
<message>
<source>Error creating QR Code.</source>
<translation>Errore di generazione del QR Code</translation>
</message>
</context>
<context>
<name>QRGeneralImageWidget</name>
<message>
<source>&amp;Save Image...</source>
<translation>&amp;Salva Immagine</translation>
</message>
<message>
<source>&amp;Copy Image</source>
<translation>&amp;Copia Immagine</translation>
</message>
<message>
<source>Save QR Code</source>
<translation>Salva codice QR</translation>
</message>
<message>
<source>PNG Image (*.png)</source>
<translation>Immagine PNG (*.png)</translation>
</message>
</context>
<context>
<name>QRImageWidget</name>
@ -2606,10 +2529,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>-rescan=2: Rescan the block chain for missing wallet transactions starting from genesis block.</source>
<translation>-rescan=2: Riesamina la catena di blocchi per le transazioni del portafoglio mancanti a partire dal blocco genesis.</translation>
</message>
<message>
<source>Wallet Path</source>
<translation>Percorso del Portafoglio</translation>
</message>
<message>
<source>User Agent</source>
<translation>User Agent</translation>
@ -2722,26 +2641,10 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>&amp;Wallet Repair</source>
<translation>&amp;Riparare Portafoglio</translation>
</message>
<message>
<source>Recover transactions 1</source>
<translation>Ristabilire le transazioni 1</translation>
</message>
<message>
<source>Recover transactions 2</source>
<translation>Ristabilire le transazioni 2</translation>
</message>
<message>
<source>Upgrade wallet format</source>
<translation>Aggiorna il formato del portafoglio </translation>
</message>
<message>
<source>-zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner).</source>
<translation>-zapwallettxes=1: Recupera transazioni dalla blockchain (mantiene i meta-data, es. il propietario del conto)</translation>
</message>
<message>
<source>-zapwallettxes=2: Recover transactions from blockchain (drop meta-data).</source>
<translation>-zapwallettxes=2: Recupera transazioni dalla blockchain (non conserva i meta-data)</translation>
</message>
<message>
<source>-upgradewallet: Upgrade wallet to latest format on startup. (Note: this is NOT an update of the wallet itself!)</source>
<translation>-aggiornaportafoglio: Aggiorna il portafoglio all'ultima versione in startup. (Nota: questo NON é un aggiornamento del portafoglio stesso!)</translation>
@ -2850,6 +2753,10 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Outbound</source>
<translation>In uscita</translation>
</message>
<message>
<source>Outbound block-relay</source>
<translation>Block-relay in uscita</translation>
</message>
<message>
<source>Yes</source>
<translation>Si</translation>
@ -2893,6 +2800,10 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>An optional message to attach to the payment request, which will be displayed when the request is opened.&lt;br&gt;Note: The message will not be sent with the payment over the Dash network.</source>
<translation>Messaggio facoltativo da allegare alla richiesta di pagamento, che verrà visualizzato all'apertura della richiesta.&lt;br&gt; Nota: il messaggio non verrà inviato con il pagamento sulla rete di Dash.</translation>
</message>
<message>
<source>An optional label to associate with the new receiving address (used by you to identify an invoice). It is also attached to the payment request.</source>
<translation>Un'etichetta facoltativa da associare al nuovo indirizzo di ricezione (da te utilizzata per identificare una fattura). È inoltre allegato alla richiesta di pagamento.</translation>
</message>
<message>
<source>Use this form to request payments. All fields are &lt;b&gt;optional&lt;/b&gt;.</source>
<translation>Usa questo modulo per richiedere pagamenti. Tutti i campi sono &lt;b&gt;opzionali&lt;/b&gt;.</translation>
@ -3118,6 +3029,14 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Choose...</source>
<translation>Scegli...</translation>
</message>
<message>
<source>When there is less transaction volume than space in the blocks, miners as well as relaying nodes may enforce a minimum fee. Paying only this minimum fee is just fine, but be aware that this can result in a never confirming transaction once there is more demand for dash transactions than the network can process.</source>
<translation>Quando il volume delle transazioni è inferiore allo spazio nei blocchi, i miner e i nodi di inoltro possono applicare una commissione minima. Pagare solo questa tariffa minima va bene, ma tieni presente che ciò può comportare una transazione mai confermata una volta che c'è più richiesta di transazioni precipitose di quanto la rete possa elaborare.</translation>
</message>
<message>
<source>A too low fee might result in a never confirming transaction (read the tooltip)</source>
<translation>Una commissione troppo bassa potrebbe comportare una transazione mai confermata (leggi il tooltip)</translation>
</message>
<message>
<source>Confirmation time target:</source>
<translation>Obiettivo del tempo di conferma:</translation>
@ -3126,10 +3045,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then "per kilobyte" only pays 250 duffs in fee,&lt;br /&gt;while "at least" pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</source>
<translation>Se la tariffa personalizzata è impostata su 1000 duff e la transazione è di soli 250 byte, paga solo 250 duff "per kilobyte" di Fee, &lt;br /&gt;mentre paga "almeno" 1000 duff. Per le transazioni più grandi di un kilobyte pagate entrambi per kilobyte.</translation>
</message>
<message>
<source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for dash transactions than the network can process.</source>
<translation>Pagare solo la commissione minima va bene finché il volume di transazioni è minore rispetto allo spazio nei blocchi. &lt;br /&gt;Ma sii consapevole che questo potrebbe risultare in una transazione non confermata, una volta che ci fosse più richiesta di transazioni di Dash di quanto la rete possa elaborare.</translation>
</message>
<message>
<source>per kilobyte</source>
<translation>per kilobyte</translation>
@ -3150,10 +3065,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Hide</source>
<translation>Nascondi</translation>
</message>
<message>
<source>(read the tooltip)</source>
<translation>(leggi il suggerimento)</translation>
</message>
<message>
<source>Recommended:</source>
<translation>Raccomandato</translation>
@ -3226,10 +3137,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>%1 (%2 blocks)</source>
<translation>%1 (%2 bloccare)</translation>
</message>
<message>
<source>from wallet %1</source>
<translation>dal wallet %1</translation>
</message>
<message>
<source>using</source>
<translation>utilizzando</translation>
@ -3254,6 +3161,30 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Confirm the %1 send action</source>
<translation>Conferma l'azione di invio %1</translation>
</message>
<message>
<source>Cr&amp;eate Unsigned</source>
<translation>Cr&amp;eate Non firmato</translation>
</message>
<message>
<source>Creates a Partially Signed Bitcoin Transaction (PSBT) for use with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
<translation>Crea una Transazione Bitcoin con Firma Parziale (PSBT) da utilizzare ad es. con un portafoglio %1 offline o con un portafoglio hardware compatibile con PSBT.</translation>
</message>
<message>
<source> from wallet '%1'</source>
<translation>Dal wallet '%1'</translation>
</message>
<message>
<source>%1 to '%2'</source>
<translation>%1 a '%2'</translation>
</message>
<message>
<source>Do you want to draft this transaction?</source>
<translation>Vuoi la bozza di questa transazione?</translation>
</message>
<message>
<source>This will produce a Partially Signed Transaction (PSBT) which you can copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
<translation>Questo produrrà una transazione con Firma Parziale (PSBT) che puoi copiare e quindi firmare con, ad es., un portafoglio %1 offline o con un portafoglio hardware compatibile con PSBT.</translation>
</message>
<message>
<source>%1 funds only</source>
<translation>Solo fondi %1</translation>
@ -3280,7 +3211,7 @@ https://www.transifex.com/projects/p/dash/</translation>
</message>
<message numerus="yes">
<source>This transaction will consume %n input(s)</source>
<translation><numerusform>Questa transazione consumerà %n input</numerusform><numerusform>Questa transazione consumerà %n input</numerusform></translation>
<translation><numerusform>Questa transazione consumerà %n input</numerusform><numerusform>Questa transazione consumerà %n input</numerusform><numerusform>Questa transazione consumerà %n input</numerusform></translation>
</message>
<message>
<source>Warning: Using %1 with %2 or more inputs can harm your privacy and is not recommended</source>
@ -3298,10 +3229,30 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>or</source>
<translation>oppure</translation>
</message>
<message>
<source>To review recipient list click "Show Details..."</source>
<translation>Per rivedere l'elenco dei destinatari facendo clic su "Mostra dettagli..."</translation>
</message>
<message>
<source>Confirm send coins</source>
<translation>Conferma l'invio di dash</translation>
</message>
<message>
<source>Confirm transaction proposal</source>
<translation>Conferma la proposta di transazione</translation>
</message>
<message>
<source>Copy PSBT to clipboard</source>
<translation>Copia PSBT negli appunti</translation>
</message>
<message>
<source>Send</source>
<translation>Invia</translation>
</message>
<message>
<source>PSBT copied</source>
<translation>PSBT copiata</translation>
</message>
<message>
<source>The recipient address is not valid. Please recheck.</source>
<translation> L'indirizzo del destinatario non è valido. Si prega di ricontrollare.</translation>
@ -3334,13 +3285,9 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Payment request expired.</source>
<translation>Richiesta di pagamento scaduta.</translation>
</message>
<message>
<source>Pay only the required fee of %1</source>
<translation> Paga solo la commissione richiesta di %1</translation>
</message>
<message numerus="yes">
<source>Estimated to begin confirmation within %n block(s).</source>
<translation><numerusform>Inizio della confirmazione stimato in %n blocco</numerusform><numerusform>Inizio del processo di conferma stimato in %n blocchi</numerusform></translation>
<translation><numerusform>Inizio della confirmazione stimato in %n blocco</numerusform><numerusform>Inizio del processo di conferma stimato in %n blocchi</numerusform><numerusform>Inizio del processo di conferma stimato in %n blocchi</numerusform></translation>
</message>
<message>
<source>Warning: Invalid Dash address</source>
@ -3445,17 +3392,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Memo:</source>
<translation>Memo:</translation>
</message>
<message>
<source>Enter a label for this address to add it to your address book</source>
<translation>Inserisci un'etichetta per questo indirizzo, per aggiungerlo nella rubrica</translation>
</message>
</context>
<context>
<name>SendConfirmationDialog</name>
<message>
<source>Send</source>
<translation>Manda</translation>
</message>
</context>
<context>
<name>ShutdownWindow</name>
@ -3657,7 +3593,7 @@ https://www.transifex.com/projects/p/dash/</translation>
<name>TransactionDesc</name>
<message numerus="yes">
<source>Open for %n more block(s)</source>
<translation><numerusform>Aperto per %n blocco in piú</numerusform><numerusform>Aperto per %n blocchi in piú</numerusform></translation>
<translation><numerusform>Aperto per %n blocco in piú</numerusform><numerusform>Aperto per %n blocchi in piú</numerusform><numerusform>Aperto per %n blocchi in piú</numerusform></translation>
</message>
<message>
<source>Open until %1</source>
@ -3745,7 +3681,7 @@ https://www.transifex.com/projects/p/dash/</translation>
</message>
<message numerus="yes">
<source>matures in %n more block(s)</source>
<translation><numerusform>Matura in %n blocco in piú</numerusform><numerusform>Matura in %n blocchi in piú</numerusform></translation>
<translation><numerusform>Matura in %n blocco in piú</numerusform><numerusform>Matura in %n blocchi in piú</numerusform><numerusform>Matura in %n blocchi in piú</numerusform></translation>
</message>
<message>
<source>not accepted</source>
@ -3791,14 +3727,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Transaction total size</source>
<translation>Dimensione totale della transazione</translation>
</message>
<message>
<source> (Certificate was not verified)</source>
<translation>(Il Certificato non è stato verificato)</translation>
</message>
<message>
<source>Merchant</source>
<translation>Negoziante</translation>
</message>
<message>
<source>Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
<translation>È necessario attendere %1 blocchi prima che le monete generate possano essere spese. Quando è stato generato questo blocco, è stato trasmesso alla rete in modo da poter essere aggiunto alla blockchain. Se l'inserimento avrà esito negativo il suo stato sarà modificato in "non accettato" e risulterà non spendibile. Questo può occasionalmente accadere se un altro nodo genera un blocco entro pochi secondi dal tuo.</translation>
@ -3855,7 +3783,7 @@ https://www.transifex.com/projects/p/dash/</translation>
</message>
<message numerus="yes">
<source>Open for %n more block(s)</source>
<translation><numerusform>Aperto per %n blocco in piú</numerusform><numerusform>Aperto per %n blocchi in piú</numerusform></translation>
<translation><numerusform>Aperto per %n blocco in piú</numerusform><numerusform>Aperto per %n blocchi in piú</numerusform><numerusform>Aperto per %n blocchi in piú</numerusform></translation>
</message>
<message>
<source>Open until %1</source>
@ -4064,6 +3992,10 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Abandon transaction</source>
<translation>Abbandona transazione </translation>
</message>
<message>
<source>Resend transaction</source>
<translation>Invia nuovamente la transazione</translation>
</message>
<message>
<source>Copy address</source>
<translation>Copia l'indirizzo</translation>
@ -4190,8 +4122,16 @@ https://www.transifex.com/projects/p/dash/</translation>
<context>
<name>WalletFrame</name>
<message>
<source>No wallet has been loaded.</source>
<translation>Non è stato caricato alcun portafoglio.</translation>
<source>No wallet has been loaded.
Go to File &gt; Open Wallet to load a wallet.
- OR -</source>
<translation>Nessun portafoglio è stato caricato.
Vai su File &gt; Apri Wallet per caricare un Wallet.
- Oppure -</translation>
</message>
<message>
<source>Create a new wallet</source>
<translation>Crea un nuovo Wallet</translation>
</message>
</context>
<context>
@ -4346,6 +4286,10 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Invalid amount for -maxtxfee=&lt;amount&gt;: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)</source>
<translation>Importo non valido per -maxtxfee=&lt;amount&gt;: '%s' (deve essere almeno pari alla commissione 'minrelay fee' di %s per prevenire transazioni bloccate)</translation>
</message>
<message>
<source>SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is supported</source>
<translation>SQLiteDatabase: schema del wallet sqlite alla versione sconosciuta %d. È supportata solo la versione %d</translation>
</message>
<message>
<source>Transaction index can't be disabled with governance validation enabled. Either start with -disablegovernance command line switch or enable transaction index.</source>
<translation>L'indice di transazione non può essere disabilitato con la convalida della governance abilitata. Inizia con l'opzione della riga di comando -disablegovernance o abilita l'indice delle transazioni.</translation>
@ -4518,10 +4462,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</source>
<translation>Prune: l'ultima sincronizzazione del portafoglio risulta essere oltre la riduzione dei dati. È necessario eseguire un -reindex (scaricare nuovamente la blockchain in caso di nodo pruned)</translation>
</message>
<message>
<source>Rescans are not possible in pruned mode. You will need to use -reindex which will download the whole blockchain again.</source>
<translation>Non è possibile un Rescan in modalità pruned. Sarà necessario utilizzare -reindex che farà scaricare nuovamente tutta la blockchain.</translation>
</message>
<message>
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
<translation>Il database dei blocchi contiene un blocco che sembra provenire dal futuro. Questo può essere dovuto alla data e ora del tuo computer impostate in modo scorretto. Ricostruisci il database dei blocchi se sei certo che la data e l'ora sul tuo computer siano corrette</translation>
@ -4590,10 +4530,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Error upgrading evo database</source>
<translation>Errore durante l'aggiornamento del database evo</translation>
</message>
<message>
<source>Error: A fatal internal error occurred, see debug.log for details</source>
<translation>Errore: si è presentato un errore interno fatale, consulta il file debug.log per maggiori dettagli</translation>
</message>
<message>
<source>Error: Disk space is low for %s</source>
<translation>Errore: lo spazio su disco è insufficiente per %s</translation>
@ -4626,6 +4562,14 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Failed to rescan the wallet during initialization</source>
<translation>Impossibile eseguire nuovamente la scansione del portafoglio durante l'inizializzazione</translation>
</message>
<message>
<source>Failed to verify database</source>
<translation>Impossibile verificare il database</translation>
</message>
<message>
<source>Ignoring duplicate -wallet %s.</source>
<translation>Duplicato -wallet %s ignorato.</translation>
</message>
<message>
<source>Invalid P2P permission: '%s'</source>
<translation>Autorizzazione P2P non valida: '%s'</translation>
@ -4706,6 +4650,22 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Pruning blockstore...</source>
<translation>Pruning del blockstore...</translation>
</message>
<message>
<source>SQLiteDatabase: Failed to execute statement to verify database: %s</source>
<translation>SQLiteDatabase: Impossibile eseguire l'istruzione per verificare il database: %s</translation>
</message>
<message>
<source>SQLiteDatabase: Failed to prepare statement to verify database: %s</source>
<translation>SQLiteDatabase: Impossibile preparare l'istruzione per verificare il database: %s</translation>
</message>
<message>
<source>SQLiteDatabase: Failed to read database verification error: %s</source>
<translation>SQLiteDatabase: Impossibile leggere l'errore di verifica del database: %s</translation>
</message>
<message>
<source>SQLiteDatabase: Unexpected application id. Expected %u, got %u</source>
<translation>SQLiteDatabase: ID applicazione imprevisto. Previsto %u, ottenuto %u</translation>
</message>
<message>
<source>Section [%s] is not recognized.</source>
<translation>La sezione [%s] non è riconosciuta.</translation>
@ -4864,10 +4824,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>This is the transaction fee you may pay when fee estimates are not available.</source>
<translation>Questo è il costo di transazione che potresti pagare quando le stime della fee non sono disponibili.</translation>
</message>
<message>
<source>This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit %s and cryptographic software written by Eric Young and UPnP software written by Thomas Bernard.</source>
<translation>Questo prodotto include software sviluppato dal progetto OpenSSL per l'uso del Toolkit OpenSSL %s, software crittografico scritto da Eric Young e software UPnP scritto da Thomas Bernard.</translation>
</message>
<message>
<source>Unable to replay blocks. You will need to rebuild the database using -reindex-chainstate.</source>
<translation>Impossibile riprodurre i blocchi. Dovrai ricostruire il database usando -reindex-chainstate.</translation>
@ -4948,10 +4904,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Error loading %s: You can't disable HD on an already existing HD wallet</source>
<translation>Errore durante il caricamento di %s: non è possibile disabilitare l'HD su un portafoglio HD già esistente</translation>
</message>
<message>
<source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
<translation>Errore durante il caricamento del portafoglio%s. Il Nome -wallet filename specificato è duplicato </translation>
</message>
<message>
<source>Error upgrading chainstate database</source>
<translation>Errore durante l'aggiornamento del database chainstate</translation>
@ -5172,9 +5124,5 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Your entries added successfully.</source>
<translation>Le tue voci sono state aggiunte con successo.</translation>
</message>
<message>
<source>Zapping all transactions from wallet...</source>
<translation>Cancella e ricompila tutte le transazioni dal wallet...</translation>
</message>
</context>
</TS>

View File

@ -115,6 +115,8 @@
</message>
<message>
<source>There was an error trying to save the address list to %1. Please try again.</source>
<comment>An error message.</comment>
<extracomment>%1 is a name of the file (e.g., "addrbook.csv") that the bitcoin addresses were exported to.</extracomment>
<translation>Wystąpił błąd podczas próby zapisu listy adresów do %1. Spróbuj ponownie.</translation>
</message>
</context>
@ -515,10 +517,6 @@
<source>&amp;Debug console</source>
<translation>Konsola &amp;debugowania</translation>
</message>
<message>
<source>Open debugging console</source>
<translation>Otwórz konsolę debugowania</translation>
</message>
<message>
<source>&amp;Network Monitor</source>
<translation>Mo&amp;nitor Sieci</translation>
@ -571,10 +569,6 @@
<source>Open &amp;URI...</source>
<translation>Otwórz &amp;URI...</translation>
</message>
<message>
<source>Open a dash: URI or payment request</source>
<translation>Otwórz dash: Link lub żądanie zapłaty</translation>
</message>
<message>
<source>&amp;Command-line options</source>
<translation>&amp;Opcje konsoli</translation>
@ -609,6 +603,14 @@
<source>Show information about %1</source>
<translation>Pokaż informacje o %1</translation>
</message>
<message>
<source>Open debugging and diagnostic console</source>
<translation>Otwórz debugowanie i konsolę diagnostyczną</translation>
</message>
<message>
<source>Open a dash: URI</source>
<translation>Otwórz dash: URI</translation>
</message>
<message>
<source>Create Wallet...</source>
<translation>Stwórz Portfel...</translation>
@ -1150,7 +1152,7 @@
<translation>Filtruj listę:</translation>
</message>
<message>
<source>Filter propsal list</source>
<source>Filter proposal list</source>
<translation>Filtruj listę wniosków</translation>
</message>
<message>
@ -1290,6 +1292,10 @@
<source>Service</source>
<translation>Usługa</translation>
</message>
<message>
<source>Type</source>
<translation>Typ</translation>
</message>
<message>
<source>PoSe Score</source>
<translation>Wynik PoSe</translation>
@ -1436,22 +1442,10 @@
<source>Open URI</source>
<translation>Otwórz URI:</translation>
</message>
<message>
<source>Open payment request from URI or file</source>
<translation>Otwórz żądanie zapłaty z URI lub pliku</translation>
</message>
<message>
<source>URI:</source>
<translation>URI:</translation>
</message>
<message>
<source>Select payment request file</source>
<translation>Otwórz żądanie zapłaty z pliku</translation>
</message>
<message>
<source>Select payment request file to open</source>
<translation>Wybierz plik żądania zapłaty do otwarcia</translation>
</message>
</context>
<context>
<name>OpenWalletActivity</name>
@ -1590,10 +1584,6 @@
<source>Automatically open the Dash Core client port on the router. This only works when your router supports UPnP and it is enabled.</source>
<translation>Automatycznie otwórz port klienta Dash Core na ruterze. Opcja działa jedynie, jeżeli router obsługuje UPnP i funkcja UPnP jest włączona.</translation>
</message>
<message>
<source>Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random.</source>
<translation>Automatycznie otwórz port klienta Bitcoina na routerze. Działa to tylko wtedy, gdy router obsługuje NAT-PMP i jest włączony. Port zewnętrzny może być losowy.</translation>
</message>
<message>
<source>Map port using NA&amp;T-PMP</source>
<translation>Mapuj port za pomocą NA&amp;T-PMP</translation>
@ -2046,14 +2036,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>'dash://' is not a valid URI. Use 'dash:' instead.</source>
<translation>'Dash: //' nie jest prawidłowym identyfikatorem URI. Zamiast tego użyj 'Dash:'.</translation>
</message>
<message>
<source>Payment request fetch URL is invalid: %1</source>
<translation>Żądanie płatności podowduje że URL jest niewłaściwy: %1</translation>
</message>
<message>
<source>Cannot process payment request because BIP70 support was not compiled in.</source>
<translation>Nie można przetworzyć żądania płatności, ponieważ obsługa BIP70 nie została wkompilowana.</translation>
</message>
<message>
<source>Invalid payment address %1</source>
<translation>Nieprawidłowy adres płatności %1</translation>
@ -2066,66 +2048,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Payment request file handling</source>
<translation>Obsługa pliku z żądaniem płatności</translation>
</message>
<message>
<source>Payment request file cannot be read! This can be caused by an invalid payment request file.</source>
<translation>Nie można odczytać pliku z żądaniem płatności! Może to być spowodowane przez niewłaściwy plik z żądaniem płatności.</translation>
</message>
<message>
<source>Payment request rejected</source>
<translation>Żądanie płatności zostało odrzucone</translation>
</message>
<message>
<source>Payment request network doesn't match client network.</source>
<translation>Sieć żądania płatnośc nie pasuje do sieci klienta.</translation>
</message>
<message>
<source>Payment request expired.</source>
<translation>Żądanie płatności wygasło.</translation>
</message>
<message>
<source>Payment request is not initialized.</source>
<translation>Żądanie płatności nie zostało zainicjonowane.</translation>
</message>
<message>
<source>Unverified payment requests to custom payment scripts are unsupported.</source>
<translation>Niezweryfikowane żądania płatności dla specjalnych skryptów z płatnościami nie obsługiwane.</translation>
</message>
<message>
<source>Invalid payment request.</source>
<translation>Nieważne żądanie płatności.</translation>
</message>
<message>
<source>Requested payment amount of %1 is too small (considered dust).</source>
<translation>Żądana kwota %1 jest za niska (uznana za pył).</translation>
</message>
<message>
<source>Refund from %1</source>
<translation>Zwrot z %1</translation>
</message>
<message>
<source>Payment request %1 is too large (%2 bytes, allowed %3 bytes).</source>
<translation>Żądanie płatności %1 jest zbyt duże (%2 bitów, maksymalny rozmiar to %3 bitów).</translation>
</message>
<message>
<source>Error communicating with %1: %2</source>
<translation>Błąd komunikacji z %1 : %2</translation>
</message>
<message>
<source>Payment request cannot be parsed!</source>
<translation>Żądanie płatności nie może zostać przeanalizowane!</translation>
</message>
<message>
<source>Bad response from server %1</source>
<translation>Błędna odpowiedź z serwera %1</translation>
</message>
<message>
<source>Network request error</source>
<translation>Błąd żądania sieci</translation>
</message>
<message>
<source>Payment acknowledged</source>
<translation>Płatność potwierdzona</translation>
</message>
</context>
<context>
<name>PeerTableModel</name>
@ -2238,10 +2160,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Reset all settings changed in the GUI</source>
<translation>Resetuj wszystkie ustawienia zmienione w graficznym interfejsie użytkownika</translation>
</message>
<message>
<source>Set SSL root certificates for payment request (default: -system-)</source>
<translation>Ustaw główne cerytfikaty SSL dla żądań płatności (domyślnie: -system-)</translation>
</message>
<message>
<source>Show splash screen on startup (default: %u)</source>
<translation>Przy uruchamianiu pokaż ekran powitalny (domyślnie: %u)</translation>
@ -2401,29 +2319,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>&amp;Save Image...</source>
<translation>&amp;Zapisz obraz...</translation>
</message>
<message>
<source>Error creating QR Code.</source>
<translation>Błąd kreowania kodu QR.</translation>
</message>
</context>
<context>
<name>QRGeneralImageWidget</name>
<message>
<source>&amp;Save Image...</source>
<translation>&amp;Zapisz obraz...</translation>
</message>
<message>
<source>&amp;Copy Image</source>
<translation>&amp;Kopiuj obraz</translation>
</message>
<message>
<source>Save QR Code</source>
<translation>Zapisz Kod QR</translation>
</message>
<message>
<source>PNG Image (*.png)</source>
<translation>Obraz PNG (*.png)</translation>
</message>
</context>
<context>
<name>QRImageWidget</name>
@ -2606,10 +2501,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>-rescan=2: Rescan the block chain for missing wallet transactions starting from genesis block.</source>
<translation>-rescan = 2: Skanuj ponownie łańcuch bloków w poszukiwaniu brakujących transakcji portfela, zaczynając od bloku Genesis.</translation>
</message>
<message>
<source>Wallet Path</source>
<translation>Ścieżka portfela</translation>
</message>
<message>
<source>User Agent</source>
<translation>Agent użytkownika</translation>
@ -2722,26 +2613,10 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>&amp;Wallet Repair</source>
<translation>&amp;Naprawa portfela</translation>
</message>
<message>
<source>Recover transactions 1</source>
<translation>Odzyskaj transakcję 1</translation>
</message>
<message>
<source>Recover transactions 2</source>
<translation>Odzyskaj transakcję 2</translation>
</message>
<message>
<source>Upgrade wallet format</source>
<translation>Uaktualnij format portfela</translation>
</message>
<message>
<source>-zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner).</source>
<translation>-zapwallettxes=1: Odzyskaj transakcje z łańcucha bloków (nie zmieniaj meta-danych, np. właściciela konta).</translation>
</message>
<message>
<source>-zapwallettxes=2: Recover transactions from blockchain (drop meta-data).</source>
<translation>-zapwallettxes=2: Odzyskaj transakcje z blockchainu (pozbądź się meta-danych)</translation>
</message>
<message>
<source>-upgradewallet: Upgrade wallet to latest format on startup. (Note: this is NOT an update of the wallet itself!)</source>
<translation>-upgradewallet: przeprowadź upgrade portfela do najnowszego formatu podczas uruchomienia. (Nie oznacza to zaktualizowania samego portfela!)</translation>
@ -3126,10 +3001,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then "per kilobyte" only pays 250 duffs in fee,&lt;br /&gt;while "at least" pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</source>
<translation>Jeśli ręcznie ustalona opłata wynosi 1000 Duffów, a sama transakcja ma tylko 250 bajtów, to opłata "za kilobajt" wynosi tylko 250 duffów. &lt;br/&gt;Dzieje się tak dla każdej transakcji poniżej 1000 duffów. W przypadku transakcji większych niż jeden kilobajt opłata jest naliczana od kilobajta. </translation>
</message>
<message>
<source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for dash transactions than the network can process.</source>
<translation>Uiszczanie minimalnej opłaty za transakcję jest ok, dopóki ilość transakcji nie przekracza dostępnego miejsca w bloku. &lt;br /&gt;Jeśli zostanie wysłanych więcej transakcji niż sieć może przetworzyć, to może się zdarzyć, że Twoja transakcja nigdy nie zostanie potwierdzona.</translation>
</message>
<message>
<source>per kilobyte</source>
<translation>na kilobajt</translation>
@ -3150,10 +3021,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Hide</source>
<translation>Ukryj</translation>
</message>
<message>
<source>(read the tooltip)</source>
<translation>(przeczytaj podpowiedź w chmurce)</translation>
</message>
<message>
<source>Recommended:</source>
<translation>Polecany:</translation>
@ -3226,10 +3093,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>%1 (%2 blocks)</source>
<translation>%1 (%2 bloki)</translation>
</message>
<message>
<source>from wallet %1</source>
<translation>z portfela %1</translation>
</message>
<message>
<source>using</source>
<translation>używając</translation>
@ -3334,10 +3197,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Payment request expired.</source>
<translation>Żądanie płatności wygasło.</translation>
</message>
<message>
<source>Pay only the required fee of %1</source>
<translation>Uiść jedynie minimalną opłatę %1</translation>
</message>
<message numerus="yes">
<source>Estimated to begin confirmation within %n block(s).</source>
<translation><numerusform>Potwierdzenia zaczną się za około %n blok</numerusform><numerusform>Potwierdzenia zaczną się za około %n bloki</numerusform><numerusform>Potwierdzenia zaczną się za około %n bloków</numerusform><numerusform>Potwierdzenia zaczną się za około %n bloków</numerusform></translation>
@ -3445,17 +3304,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Memo:</source>
<translation>Notatka:</translation>
</message>
<message>
<source>Enter a label for this address to add it to your address book</source>
<translation>Wprowadź etykietę dla tego adresu by dodać go do książki adresowej</translation>
</message>
</context>
<context>
<name>SendConfirmationDialog</name>
<message>
<source>Send</source>
<translation>Wyślij</translation>
</message>
</context>
<context>
<name>ShutdownWindow</name>
@ -3791,14 +3639,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Transaction total size</source>
<translation>Całkowity rozmiar transakcji</translation>
</message>
<message>
<source> (Certificate was not verified)</source>
<translation>(Certyfikat nie został zweryfikowany)</translation>
</message>
<message>
<source>Merchant</source>
<translation>Kupiec</translation>
</message>
<message>
<source>Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
<translation>Wygenerowane monety muszą dojrzeć przez %1 bloków zanim będzie można je wysłać. Gdy wygenerowałeś ten blok, został on ogłoszony w sieci i dodany do łańcucha bloków. Jeżeli nie uda mu się wejść do łańcucha, jego status zostanie zmieniony na "nie zaakceptowano" i nie będzie można go wydać. To czasem zdarza się, gdy inny węzeł wygeneruje blok kilka sekund przed tobą.</translation>
@ -4189,11 +4029,7 @@ https://www.transifex.com/projects/p/dash/</translation>
</context>
<context>
<name>WalletFrame</name>
<message>
<source>No wallet has been loaded.</source>
<translation>Nie załadowano żadnego portfela.</translation>
</message>
</context>
</context>
<context>
<name>WalletModel</name>
<message>
@ -4518,10 +4354,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</source>
<translation>Oczyszczanie: ostatnia synchronizacja portfela sięga poza skasowane dane. Użyj -reindex (w razie oczyszczenia węzła, ponownie pobierz cały łańcuch bloków).</translation>
</message>
<message>
<source>Rescans are not possible in pruned mode. You will need to use -reindex which will download the whole blockchain again.</source>
<translation>Ponownie skanowanie jest niemożliwe w trybie oczyszczania. Użyj -reindex, co spowoduje ponowne pobranie całego łańcucha bloków.</translation>
</message>
<message>
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
<translation>Baza danych bloków zawiera blok, który zdaje się pochodzić z przyszłości. Taka sytuacja może się zdarzyć, jeżeli zegar Twojego komputera pokazuje niepoprawną datę i godzinę. Przebuduj bazę danych bloków wyłącznie, jeżeli masz pewność, że zegar Twojego komputera pokazuje poprawną datę i godzinę. </translation>
@ -4590,10 +4422,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Error upgrading evo database</source>
<translation>Wystąpił błąd podczas ulepszania bazy danych evo. </translation>
</message>
<message>
<source>Error: A fatal internal error occurred, see debug.log for details</source>
<translation>Błąd: Wystąpił wewnętrzny błąd krytyczny, szczegóły znajdziesz w pliku debug.log</translation>
</message>
<message>
<source>Error: Disk space is low for %s</source>
<translation>Błąd: Nie ma wystarczająco miejsca na dysku dla %s</translation>
@ -4864,10 +4692,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>This is the transaction fee you may pay when fee estimates are not available.</source>
<translation>To jest prawdopodobny koszt transakcj jeśli szacunki opłat niedostępne. </translation>
</message>
<message>
<source>This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit %s and cryptographic software written by Eric Young and UPnP software written by Thomas Bernard.</source>
<translation>Produkt zawiera oprogramowanie stworzone przez OpenSSL Project do użycia w OpensSSL Toolkit %s, oprogramowanie kryptograficzne napisane przez Eric Young oraz oprogramowanie UPnP napisane przez Thomas Bernard.</translation>
</message>
<message>
<source>Unable to replay blocks. You will need to rebuild the database using -reindex-chainstate.</source>
<translation>Nie można odtworzyć bloków. Będziesz musiał odbudować bazę danych przy użyciu -reindex-chainstate.</translation>
@ -4948,10 +4772,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Error loading %s: You can't disable HD on an already existing HD wallet</source>
<translation>Błąd podczas wczytywania %s: Niemożliwe jest zmienienie porfela HD w standarodowy porfel.</translation>
</message>
<message>
<source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
<translation>Błąd ładowania portfela %s. Podano zduplikowaną nazwę pliku -wallet.</translation>
</message>
<message>
<source>Error upgrading chainstate database</source>
<translation>Błąd ładowania bazy bloków</translation>
@ -5172,9 +4992,5 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Your entries added successfully.</source>
<translation>Twoje wejścia zostały dodane z powodzeniem.</translation>
</message>
<message>
<source>Zapping all transactions from wallet...</source>
<translation>Zappowanie wszystkich transakcji z portfela</translation>
</message>
</context>
</TS>

View File

@ -115,6 +115,8 @@
</message>
<message>
<source>There was an error trying to save the address list to %1. Please try again.</source>
<comment>An error message.</comment>
<extracomment>%1 is a name of the file (e.g., "addrbook.csv") that the bitcoin addresses were exported to.</extracomment>
<translation>Произошла ошибка при сохранении адресной книги в %1. Пожалуйста, попробуйте еще раз.</translation>
</message>
</context>
@ -515,10 +517,6 @@
<source>&amp;Debug console</source>
<translation>&amp;Консоль отладки</translation>
</message>
<message>
<source>Open debugging console</source>
<translation>Открыть консоль отладки</translation>
</message>
<message>
<source>&amp;Network Monitor</source>
<translation>&amp;Монитор сети</translation>
@ -571,10 +569,6 @@
<source>Open &amp;URI...</source>
<translation>Открыть &amp;URI...</translation>
</message>
<message>
<source>Open a dash: URI or payment request</source>
<translation>Открыть dash: URI или запрос платежа</translation>
</message>
<message>
<source>&amp;Command-line options</source>
<translation>&amp;Параметры командной строки</translation>
@ -609,6 +603,14 @@
<source>Show information about %1</source>
<translation>Показать информацию о %1</translation>
</message>
<message>
<source>Open debugging and diagnostic console</source>
<translation>Открыть консоль отладки и диагностики</translation>
</message>
<message>
<source>Open a dash: URI</source>
<translation>Открыть dash: URI</translation>
</message>
<message>
<source>Create Wallet...</source>
<translation>Создать кошелёк...</translation>
@ -1150,7 +1152,7 @@
<translation>Фильтровать список:</translation>
</message>
<message>
<source>Filter propsal list</source>
<source>Filter proposal list</source>
<translation>Фильтровать список предложений</translation>
</message>
<message>
@ -1290,6 +1292,10 @@
<source>Service</source>
<translation>Сервис</translation>
</message>
<message>
<source>Type</source>
<translation>Тип</translation>
</message>
<message>
<source>PoSe Score</source>
<translation>PoSe штраф</translation>
@ -1425,6 +1431,10 @@
<source>Hide</source>
<translation>Скрыть</translation>
</message>
<message>
<source>Dash Core is currently syncing. It will download headers and blocks from peers and validate them until reaching the tip of the block chain.</source>
<translation>Dash Core синхронизируется. Он будет скачивать заголовки и блоки и проверять их, пока не достигнет вершины цепочки блоков.</translation>
</message>
<message>
<source>Unknown. Syncing Headers (%1, %2%)...</source>
<translation>Неизвестно. Синхронизация заголовков (%1, %2%)...</translation>
@ -1436,22 +1446,10 @@
<source>Open URI</source>
<translation>Открыть URI</translation>
</message>
<message>
<source>Open payment request from URI or file</source>
<translation>Открыть запрос платежа из URI или файла</translation>
</message>
<message>
<source>URI:</source>
<translation>URI:</translation>
</message>
<message>
<source>Select payment request file</source>
<translation>Выбрать файл запроса платежа</translation>
</message>
<message>
<source>Select payment request file to open</source>
<translation>Выберите файл запроса платежа</translation>
</message>
</context>
<context>
<name>OpenWalletActivity</name>
@ -1518,6 +1516,14 @@
<source>MiB</source>
<translation>MiB</translation>
</message>
<message>
<source>Whether to keep the specified custom change address or not.</source>
<translation>Сохранять указанный свой адрес для сдачи или нет.</translation>
</message>
<message>
<source>Keep custom change &amp;address</source>
<translation>Сохранить свой &amp;адрес для сдачи</translation>
</message>
<message>
<source>Show additional tab listing all your masternodes in first sub-tab&lt;br/&gt;and all masternodes on the network in second sub-tab.</source>
<translation>Показывать дополнительную вкладку со списком своих мастернод&lt;br/&gt;в одной таблице и списком всех мастернод в другой.</translation>
@ -1590,10 +1596,6 @@
<source>Automatically open the Dash Core client port on the router. This only works when your router supports UPnP and it is enabled.</source>
<translation>Автоматически открыть порт для Dash Core на роутере. Работает только в том случае, если Ваш роутер поддерживает UPnP и данная функция включена.</translation>
</message>
<message>
<source>Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random.</source>
<translation>Автоматически открыть порт для Dash Core на роутере. Работает только в том случае, если Ваш роутер поддерживает NAT-PMP и данная функция включена. Внешний порт может быть любым.</translation>
</message>
<message>
<source>Map port using NA&amp;T-PMP</source>
<translation>Пробросить порт через NA&amp;T-PMP</translation>
@ -1682,6 +1684,10 @@
<source>Map port using &amp;UPnP</source>
<translation>Пробросить порт через &amp;UPnP</translation>
</message>
<message>
<source>Automatically open the Dash Core client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random.</source>
<translation>Автоматически открыть порт для Dash Core на роутере. Работает только в том случае, если Ваш роутер поддерживает NAT-PMP и данная функция включена. Внешний порт может быть любым.</translation>
</message>
<message>
<source>Proxy &amp;IP:</source>
<translation>&amp;IP Прокси: </translation>
@ -2047,12 +2053,8 @@ https://www.transifex.com/projects/p/dash/</translation>
<translation>'dash://' не является валидным URI. Используйте 'dash:'.</translation>
</message>
<message>
<source>Payment request fetch URL is invalid: %1</source>
<translation>Неверный URL запроса платежа: %1</translation>
</message>
<message>
<source>Cannot process payment request because BIP70 support was not compiled in.</source>
<translation>Невозможно обработать запрос платежа так как поддержка BIP70 была отключена.</translation>
<source>Cannot process payment request as BIP70 is no longer supported.</source>
<translation>Невозможно обработать запрос платежа так как BIP70 больше не поддерживается.</translation>
</message>
<message>
<source>Invalid payment address %1</source>
@ -2066,66 +2068,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Payment request file handling</source>
<translation>Обработка файла запроса платежа</translation>
</message>
<message>
<source>Payment request file cannot be read! This can be caused by an invalid payment request file.</source>
<translation>Не удается прочесть либо разобрать файл запроса платежа! Возможно это некоректный файл.</translation>
</message>
<message>
<source>Payment request rejected</source>
<translation>Запрос платежа отклонен</translation>
</message>
<message>
<source>Payment request network doesn't match client network.</source>
<translation>Сеть запроса платежа не соответствует сети клиента.</translation>
</message>
<message>
<source>Payment request expired.</source>
<translation>Время этого запроса платежа истекло.</translation>
</message>
<message>
<source>Payment request is not initialized.</source>
<translation>Запрос платежа не инициализирован.</translation>
</message>
<message>
<source>Unverified payment requests to custom payment scripts are unsupported.</source>
<translation>Непроверенные запросы платежей с нестандартными платёжными сценариями не поддерживаются.</translation>
</message>
<message>
<source>Invalid payment request.</source>
<translation>Неправильный запрос платежа.</translation>
</message>
<message>
<source>Requested payment amount of %1 is too small (considered dust).</source>
<translation>Запрошенная сумма платежа %1 слишком мала (считается "пылью").</translation>
</message>
<message>
<source>Refund from %1</source>
<translation>Возврат от %1</translation>
</message>
<message>
<source>Payment request %1 is too large (%2 bytes, allowed %3 bytes).</source>
<translation>Запрос платежа %1 слишком большой (%2 байт, разрешено %3 байт).</translation>
</message>
<message>
<source>Error communicating with %1: %2</source>
<translation>Ошибка связи с %1: %2</translation>
</message>
<message>
<source>Payment request cannot be parsed!</source>
<translation>Не могу разобрать запрос платежа!</translation>
</message>
<message>
<source>Bad response from server %1</source>
<translation>Плохой ответ от сервера %1</translation>
</message>
<message>
<source>Network request error</source>
<translation>Ошибка сетевого запроса</translation>
</message>
<message>
<source>Payment acknowledged</source>
<translation>Платёж принят</translation>
</message>
</context>
<context>
<name>PeerTableModel</name>
@ -2238,10 +2180,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Reset all settings changed in the GUI</source>
<translation>Сбросить все настройки, измененные через графический интерфейс</translation>
</message>
<message>
<source>Set SSL root certificates for payment request (default: -system-)</source>
<translation>Указать корневые SSL-сертификаты для запроса платежа (по умолчанию: -system-)</translation>
</message>
<message>
<source>Show splash screen on startup (default: %u)</source>
<translation>Показывать заставку при запуске (по умолчанию: %u)</translation>
@ -2258,6 +2196,10 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Error: %1</source>
<translation>Ошибка: %1</translation>
</message>
<message>
<source>Error initializing settings: %1</source>
<translation>Ошибка инициализации настроек: %1</translation>
</message>
<message>
<source>Error: Failed to load application fonts.</source>
<translation>Ошибка: не удалось загрузить шрифты приложения.</translation>
@ -2401,29 +2343,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>&amp;Save Image...</source>
<translation>&amp;Сохранить изображение...</translation>
</message>
<message>
<source>Error creating QR Code.</source>
<translation>Ошибка создания QR-кода</translation>
</message>
</context>
<context>
<name>QRGeneralImageWidget</name>
<message>
<source>&amp;Save Image...</source>
<translation>&amp;Сохранить изображение...</translation>
</message>
<message>
<source>&amp;Copy Image</source>
<translation>&amp;Копировать изображение</translation>
</message>
<message>
<source>Save QR Code</source>
<translation>Сохранить QR-код</translation>
</message>
<message>
<source>PNG Image (*.png)</source>
<translation>Изображение PNG (*.png)</translation>
</message>
</context>
<context>
<name>QRImageWidget</name>
@ -2606,10 +2525,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>-rescan=2: Rescan the block chain for missing wallet transactions starting from genesis block.</source>
<translation>-rescan=2: Перепроверить цепочку блоков на предмет отсутствующих в кошельке транзакций, начиная с самого первого блока.</translation>
</message>
<message>
<source>Wallet Path</source>
<translation>Путь к кошельку</translation>
</message>
<message>
<source>User Agent</source>
<translation>User Agent</translation>
@ -2722,26 +2637,10 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>&amp;Wallet Repair</source>
<translation>Ремонт &amp;кошелька</translation>
</message>
<message>
<source>Recover transactions 1</source>
<translation>Восстановление транзакций 1</translation>
</message>
<message>
<source>Recover transactions 2</source>
<translation>Восстановление транзакций 2</translation>
</message>
<message>
<source>Upgrade wallet format</source>
<translation>Обновить формат кошелька</translation>
</message>
<message>
<source>-zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner).</source>
<translation>-zapwallettxes=1: Восстановить транзакции из цепочки блоков (сохранить мета-данные, например, о владельцах аккаунтов).</translation>
</message>
<message>
<source>-zapwallettxes=2: Recover transactions from blockchain (drop meta-data).</source>
<translation>-zapwallettxes=2: Восстановить транзакции из цепочки блоков (удалить мета-данные).</translation>
</message>
<message>
<source>-upgradewallet: Upgrade wallet to latest format on startup. (Note: this is NOT an update of the wallet itself!)</source>
<translation>-upgradewallet: Обновить формат кошелька при следующем запуске. (Примечание: обновление непосредственно клиент кошелька НЕ выполняется!)</translation>
@ -3124,11 +3023,7 @@ https://www.transifex.com/projects/p/dash/</translation>
</message>
<message>
<source>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then "per kilobyte" only pays 250 duffs in fee,&lt;br /&gt;while "at least" pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</source>
<translation>Если ручная комиссия установлена в 1000 duff, а транзакция по размеру только 250 байт, то плата "за килобайт" составит лишь 250 duff,&lt;br&gt;в то время как "минимум" будет равна 1000 duff. Для транзакций больше килобайта в любом случае идет расчет "за килобайт".</translation>
</message>
<message>
<source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.&lt;br /&gt;But be aware that this can end up in a never confirming transaction once there is more demand for dash transactions than the network can process.</source>
<translation>Оплаты только минимальной комиссии должно быть достаточно во всех случаях, пока в блоках достаточно места.&lt;br&gt;Однако, будьте готовы к тому, что транзакция может вовсе не получить подтверждения,&lt;br&gt;если количество транзакций будет стабильно больше, чем сеть способна обработать.</translation>
<translation>Если ручная комиссия установлена в 1000 duff, а транзакция по размеру только 250 байт, то плата "за килобайт" составит лишь 250 duff,&lt;br&gt;в то время как "минимум" будет равна 1000 duff. Для транзакций больше килобайта в любом случае идет расчет "за килобайт".</translation>
</message>
<message>
<source>per kilobyte</source>
@ -3150,10 +3045,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Hide</source>
<translation>Скрыть</translation>
</message>
<message>
<source>(read the tooltip)</source>
<translation>(прочтите всплывающую подсказку)</translation>
</message>
<message>
<source>Recommended:</source>
<translation>Рекомендовано:</translation>
@ -3226,10 +3117,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>%1 (%2 blocks)</source>
<translation>%1 (блоков: %2)</translation>
</message>
<message>
<source>from wallet %1</source>
<translation>из кошелька %1</translation>
</message>
<message>
<source>using</source>
<translation>используя</translation>
@ -3254,6 +3141,14 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Confirm the %1 send action</source>
<translation>Подтвердить отправку с помощью %1</translation>
</message>
<message>
<source> from wallet '%1'</source>
<translation>из кошелька '%1'</translation>
</message>
<message>
<source>%1 to '%2'</source>
<translation>%1 на '%2'</translation>
</message>
<message>
<source>%1 funds only</source>
<translation>только средства %1</translation>
@ -3302,6 +3197,10 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Confirm send coins</source>
<translation>Подтвердите отправку монет</translation>
</message>
<message>
<source>Send</source>
<translation>Отправить</translation>
</message>
<message>
<source>The recipient address is not valid. Please recheck.</source>
<translation>Адрес получателя неверный. Пожалуйста, перепроверьте.</translation>
@ -3334,10 +3233,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Payment request expired.</source>
<translation>Время этого запроса платежа истекло.</translation>
</message>
<message>
<source>Pay only the required fee of %1</source>
<translation>Заплатить только требуемую комиссию %1</translation>
</message>
<message numerus="yes">
<source>Estimated to begin confirmation within %n block(s).</source>
<translation><numerusform>Будет подтверждено приблизительно в течение %n блока.</numerusform><numerusform>Будет подтверждено приблизительно в течение %n блоков.</numerusform><numerusform>Будет подтверждено приблизительно в течение %n блоков.</numerusform><numerusform>Будет подтверждено приблизительно в течение %n блоков.</numerusform></translation>
@ -3352,7 +3247,7 @@ https://www.transifex.com/projects/p/dash/</translation>
</message>
<message>
<source>Confirm custom change address</source>
<translation>Подтвердите адрес для сдачи</translation>
<translation>Подтвердите свой адрес для сдачи</translation>
</message>
<message>
<source>The address you selected for change is not part of this wallet. Any or all funds in your wallet may be sent to this address. Are you sure?</source>
@ -3445,17 +3340,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Memo:</source>
<translation>Примечание:</translation>
</message>
<message>
<source>Enter a label for this address to add it to your address book</source>
<translation>Введите метку для данного адреса для добавления его в адресную книгу</translation>
</message>
</context>
<context>
<name>SendConfirmationDialog</name>
<message>
<source>Send</source>
<translation>Отправить</translation>
</message>
</context>
<context>
<name>ShutdownWindow</name>
@ -3791,14 +3675,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Transaction total size</source>
<translation>Полный размер транзакции</translation>
</message>
<message>
<source> (Certificate was not verified)</source>
<translation> (Сертификат не был проверен)</translation>
</message>
<message>
<source>Merchant</source>
<translation>Продавец</translation>
</message>
<message>
<source>Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
<translation>Сгенерированные монеты должны подождать %1 блоков, прежде чем они могут быть потрачены. Когда Вы сгенерировали этот блок, он был отправлен в сеть для добавления в цепочку блоков. Если он не попадёт в цепочку, его статус изменится на "не принят", и монеты будут недействительны. Это иногда происходит в случае, если другой узел сгенерирует блок на несколько секунд раньше вас.</translation>
@ -4064,6 +3940,10 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Abandon transaction</source>
<translation>Сбросить транзакцию</translation>
</message>
<message>
<source>Resend transaction</source>
<translation>Отправить транзакцию еще раз</translation>
</message>
<message>
<source>Copy address</source>
<translation>Копировать адрес</translation>
@ -4190,8 +4070,8 @@ https://www.transifex.com/projects/p/dash/</translation>
<context>
<name>WalletFrame</name>
<message>
<source>No wallet has been loaded.</source>
<translation>Не был загружен ни один кошелёк.</translation>
<source>Create a new wallet</source>
<translation>Создать новый кошелёк</translation>
</message>
</context>
<context>
@ -4518,10 +4398,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</source>
<translation>Удаление блоков: последняя синхронизация кошелька выходит за рамки удаленных данных. Вам нужно запустить клиента с ключом -reindex (в случае узла с удаленными блоками это означает повторное скачивание всей цепи блоков)</translation>
</message>
<message>
<source>Rescans are not possible in pruned mode. You will need to use -reindex which will download the whole blockchain again.</source>
<translation>Повторное сканирование невозможно в режиме удаления блоков. Вам надо будет использовать -reindex, что приведет к повторной загрузке всей цепи блоков.</translation>
</message>
<message>
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
<translation>База данных блоков содержит блок, созданный в будущем. Такое может случиться из-за некорректно установленных даты и времени на Вашем компьютере. Перестройте базу блоков, только если вы уверены, что дата и время корректны.</translation>
@ -4590,10 +4466,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Error upgrading evo database</source>
<translation>Ошибка обновления базы данных evo</translation>
</message>
<message>
<source>Error: A fatal internal error occurred, see debug.log for details</source>
<translation>Ошибка: Произошла критическая ошибка, подробности смотрите в файле debug.log</translation>
</message>
<message>
<source>Error: Disk space is low for %s</source>
<translation>Ошибка: мало места на диске для %s</translation>
@ -4626,6 +4498,10 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Failed to rescan the wallet during initialization</source>
<translation>Ошибка сканирования кошелька во время инициализации</translation>
</message>
<message>
<source>Failed to verify database</source>
<translation>Ошибка проверки базы данных</translation>
</message>
<message>
<source>Invalid P2P permission: '%s'</source>
<translation>Некорректные разрешения P2P : '%s'</translation>
@ -4864,10 +4740,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>This is the transaction fee you may pay when fee estimates are not available.</source>
<translation>Это комиссия, которую Вы заплатите при отправке транзакции, если расчет комиссии не доступен.</translation>
</message>
<message>
<source>This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit %s and cryptographic software written by Eric Young and UPnP software written by Thomas Bernard.</source>
<translation>Этот продукт включает ПО, разработанное проектом OpenSSL Project для использования в OpenSSL Toolkit %s, криптографическое ПО, написанное Eric Young и ПО для работы с UPnP, написанное Thomas Bernard.</translation>
</message>
<message>
<source>Unable to replay blocks. You will need to rebuild the database using -reindex-chainstate.</source>
<translation>Невозможно повторить блоки. Необходимо перестроить базы даных с помощью -reindex-chainstate.</translation>
@ -4948,10 +4820,6 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Error loading %s: You can't disable HD on an already existing HD wallet</source>
<translation>Ошибка загрузки %s: Вы не можете отключить HD режим для существующего HD кошелька</translation>
</message>
<message>
<source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
<translation>Ошибка загрузки кошелька %s. Имя файла -wallet указано повторно.</translation>
</message>
<message>
<source>Error upgrading chainstate database</source>
<translation>Ошибка обновления базы данных состояний цепочки</translation>
@ -5172,9 +5040,5 @@ https://www.transifex.com/projects/p/dash/</translation>
<source>Your entries added successfully.</source>
<translation>Ваши записи успешно добавлены.</translation>
</message>
<message>
<source>Zapping all transactions from wallet...</source>
<translation>Удаление всех транзакций из кошелька...</translation>
</message>
</context>
</TS>

View File

@ -82,7 +82,6 @@ static UniValue masternode_connect(const JSONRPCRequest& request)
if (!Lookup(strAddress, addr, 0, false))
throw JSONRPCError(RPC_INTERNAL_ERROR, strprintf("Incorrect masternode address %s", strAddress));
// TODO: Pass CConnman instance somehow and don't use global variable.
NodeContext& node = EnsureNodeContext(request.context);
node.connman->OpenMasternodeConnection(CAddress(addr, NODE_NETWORK));
if (!node.connman->IsConnected(CAddress(addr, NODE_NETWORK), CConnman::AllNodes))

View File

@ -79,8 +79,21 @@ static UniValue mnsync(const JSONRPCRequest& request)
{
{"mode", RPCArg::Type::STR, RPCArg::Optional::NO, "[status|next|reset]"},
},
RPCResults{},/*TODO*/
RPCExamples{""}
{
RPCResult{"for mode = status",
RPCResult::Type::OBJ, "", "",
{
{RPCResult::Type::NUM, "AssetID", "The asset ID"},
{RPCResult::Type::STR, "AssetName", "The asset name"},
{RPCResult::Type::NUM, "AssetStartTime", "The asset start time"},
{RPCResult::Type::NUM, "Attempt", "The attempt"},
{RPCResult::Type::BOOL, "IsBlockchainSynced", "true if the blockchain synced"},
{RPCResult::Type::BOOL, "IsSynced", "true if synced"},
}},
RPCResult{"for mode = next|reset",
RPCResult::Type::STR, "", ""},
},
RPCExamples{""},
}.Check(request);
std::string strMode = request.params[0].get_str();

View File

@ -232,6 +232,8 @@ class ChainstateWriteCrashTest(BitcoinTestFramework):
# Syncing the blocks could cause nodes to crash, so the test begins here.
self.sync_node3blocks(block_hashes_to_sync)
starting_tip_height = self.nodes[3].getblockcount()
# Main test loop:
# each time through the loop, generate a bunch of transactions,
# and then either mine a single new block on the tip, or some-sized reorg.
@ -242,14 +244,15 @@ class ChainstateWriteCrashTest(BitcoinTestFramework):
# Pick a random block between current tip, and starting tip
current_height = self.nodes[3].getblockcount()
# TODO: re-enable this when ReplayBlocks is fixed to support evodb and additional indexes
# random_height = random.randint(starting_tip_height, current_height)
# self.log.debug("At height %d, considering height %d", current_height, random_height)
# if random_height > starting_tip_height:
# # Randomly reorg from this point with some probability (1/4 for
# # tip, 1/5 for tip-1, ...)
# if random.random() < 1.0 / (current_height + 4 - random_height):
# self.log.debug("Invalidating block at height %d", random_height)
# self.nodes[3].invalidateblock(self.nodes[3].getblockhash(random_height))
skip_this_test_ReplayBlocks = True
random_height = random.randint(starting_tip_height, current_height)
self.log.debug("At height %d, considering height %d", current_height, random_height)
if not skip_this_test_ReplayBlocks and random_height > starting_tip_height:
# Randomly reorg from this point with some probability (1/4 for
# tip, 1/5 for tip-1, ...)
if random.random() < 1.0 / (current_height + 4 - random_height):
self.log.debug("Invalidating block at height %d", random_height)
self.nodes[3].invalidateblock(self.nodes[3].getblockhash(random_height))
# Now generate new blocks until we pass the old tip height
self.log.debug("Mining longer tip")

View File

@ -106,12 +106,16 @@ class DIP3V19Test(DashTestFramework):
def test_revoke_protx(self, revoke_protx, revoke_keyoperator):
funds_address = self.nodes[0].getnewaddress()
self.nodes[0].sendtoaddress(funds_address, 1)
self.nodes[0].generate(1)
fund_txid = self.nodes[0].sendtoaddress(funds_address, 1)
self.wait_for_instantlock(fund_txid, self.nodes[0])
tip = self.nodes[0].generate(1)[0]
assert_equal(self.nodes[0].getrawtransaction(fund_txid, 1, tip)['confirmations'], 1)
self.sync_all(self.nodes)
self.nodes[0].protx('revoke', revoke_protx, revoke_keyoperator, 1, funds_address)
self.nodes[0].generate(1)
protx_result = self.nodes[0].protx('revoke', revoke_protx, revoke_keyoperator, 1, funds_address)
self.wait_for_instantlock(protx_result, self.nodes[0])
tip = self.nodes[0].generate(1)[0]
assert_equal(self.nodes[0].getrawtransaction(protx_result, 1, tip)['confirmations'], 1)
self.sync_all(self.nodes)
self.log.info(f"Succesfully revoked={revoke_protx}")
for mn in self.mninfo:

View File

@ -112,46 +112,48 @@ class LLMQHPMNTest(DashTestFramework):
self.test_hpmn_protx_are_in_mnlist(hpmn_protxhash_list)
self.log.info("Test that HPMNs are paid 4x blocks in a row")
self.test_hpmmn_payements(window_analysis=256)
self.test_hpmn_payments(window_analysis=256)
self.log.info(self.nodes[0].masternodelist())
return
def test_hpmmn_payements(self, window_analysis):
def test_hpmn_payments(self, window_analysis):
current_hpmn = None
consecutive_paymments = 0
consecutive_payments = 0
for i in range(0, window_analysis):
payee = self.get_mn_payee_for_block(self.nodes[0].getbestblockhash())
if payee is not None and payee.hpmn:
if current_hpmn is not None and payee.proTxHash == current_hpmn.proTxHash:
# same HPMN
assert consecutive_paymments > 0
consecutive_paymments += 1
consecutive_paymments_rpc = self.nodes[0].protx('info', current_hpmn.proTxHash)['state']['consecutivePayments']
assert_equal(consecutive_paymments, consecutive_paymments_rpc)
assert consecutive_payments > 0
consecutive_payments += 1
consecutive_payments_rpc = self.nodes[0].protx('info', current_hpmn.proTxHash)['state']['consecutivePayments']
assert_equal(consecutive_payments, consecutive_payments_rpc)
else:
# new HPMN
if current_hpmn is not None:
# make sure the old one was paid 4 times in a row
assert_equal(consecutive_paymments, 4)
consecutive_paymments_rpc = self.nodes[0].protx('info', current_hpmn.proTxHash)['state']['consecutivePayments']
assert_equal(consecutive_payments, 4)
consecutive_payments_rpc = self.nodes[0].protx('info', current_hpmn.proTxHash)['state']['consecutivePayments']
# old HPMN should have its nConsecutivePayments reset to 0
assert_equal(consecutive_paymments_rpc, 0)
assert_equal(consecutive_payments_rpc, 0)
consecutive_payments_rpc = self.nodes[0].protx('info', payee.proTxHash)['state']['consecutivePayments']
# if hpmn is the one we start "for" loop with,
# we have no idea how many times it was paid before - rely on rpc results here
consecutive_payments = consecutive_payments_rpc if i == 0 and current_hpmn is None else 1
current_hpmn = payee
consecutive_paymments = 1
consecutive_paymments_rpc = self.nodes[0].protx('info', current_hpmn.proTxHash)['state']['consecutivePayments']
assert_equal(consecutive_paymments, consecutive_paymments_rpc)
assert_equal(consecutive_payments, consecutive_payments_rpc)
else:
# not a HPMN
if current_hpmn is not None:
# make sure the old one was paid 4 times in a row
assert_equal(consecutive_paymments, 4)
consecutive_paymments_rpc = self.nodes[0].protx('info', current_hpmn.proTxHash)['state']['consecutivePayments']
assert_equal(consecutive_payments, 4)
consecutive_payments_rpc = self.nodes[0].protx('info', current_hpmn.proTxHash)['state']['consecutivePayments']
# old HPMN should have its nConsecutivePayments reset to 0
assert_equal(consecutive_paymments_rpc, 0)
assert_equal(consecutive_payments_rpc, 0)
current_hpmn = None
consecutive_paymments = 0
consecutive_payments = 0
self.nodes[0].generate(1)
if i % 8 == 0:
@ -199,14 +201,15 @@ class LLMQHPMNTest(DashTestFramework):
reward_address = self.nodes[0].getnewaddress()
collateral_amount = 4000
collateral_txid = self.nodes[0].sendtoaddress(collateral_address, collateral_amount)
# send to same address to reserve some funds for fees
self.nodes[0].sendtoaddress(funds_address, 1)
collateral_vout = 0
self.nodes[0].generate(1)
outputs = {collateral_address: collateral_amount, funds_address: 1}
collateral_txid = self.nodes[0].sendmany("", outputs)
self.wait_for_instantlock(collateral_txid, self.nodes[0])
tip = self.nodes[0].generate(1)[0]
self.sync_all(self.nodes)
rawtx = self.nodes[0].getrawtransaction(collateral_txid, 1)
rawtx = self.nodes[0].getrawtransaction(collateral_txid, 1, tip)
assert_equal(rawtx['confirmations'], 1)
collateral_vout = 0
for txout in rawtx['vout']:
if txout['value'] == Decimal(collateral_amount):
collateral_vout = txout['n']
@ -216,15 +219,12 @@ class LLMQHPMNTest(DashTestFramework):
ipAndPort = '127.0.0.1:%d' % p2p_port(len(self.nodes))
operatorReward = len(self.nodes)
self.nodes[0].generate(1)
protx_success = False
try:
self.nodes[0].protx('register_hpmn', collateral_txid, collateral_vout, ipAndPort, owner_address, bls['public'], voting_address, operatorReward, reward_address, funds_address, True)
protx_success = True
# this should never succeed
assert False
except:
self.log.info("protx_hpmn rejected")
assert_equal(protx_success, False)
def test_masternode_count(self, expected_mns_count, expected_hpmns_count):
mn_count = self.nodes[0].masternode('count')

View File

@ -32,7 +32,7 @@ from test_framework.util import hex_str_to_bytes, assert_equal
import dash_hash
MIN_VERSION_SUPPORTED = 60001
MY_VERSION = 70225 # BLS_SCHEME_PROTO_VERSION
MY_VERSION = 70227 # DMN_TYPE_PROTO_VERSION
MY_SUBVERSION = b"/python-mininode-tester:0.0.3%s/"
MY_RELAY = 1 # from version 70001 onwards, fRelay should be appended to version messages (BIP37)

View File

@ -1068,8 +1068,11 @@ class DashTestFramework(BitcoinTestFramework):
protx_success = True
except:
self.log.info("protx_hpmn rejected")
assert_equal(protx_success, not should_be_rejected)
if should_be_rejected:
assert_equal(protx_success, False)
# nothing to do
return
self.dynamically_initialize_datadir(self.nodes[0].chain,node_p2p_port, node_rpc_port)
@ -1105,14 +1108,15 @@ class DashTestFramework(BitcoinTestFramework):
platform_http_port = '%d' % (node_p2p_port + 102) if hpmn else ''
collateral_amount = 4000 if hpmn else 1000
collateral_txid = self.nodes[0].sendtoaddress(collateral_address, collateral_amount)
# send to same address to reserve some funds for fees
self.nodes[0].sendtoaddress(funds_address, 1)
collateral_vout = 0
self.nodes[0].generate(1)
outputs = {collateral_address: collateral_amount, funds_address: 1}
collateral_txid = self.nodes[0].sendmany("", outputs)
self.wait_for_instantlock(collateral_txid, self.nodes[0])
tip = self.nodes[0].generate(1)[0]
self.sync_all(self.nodes)
rawtx = self.nodes[0].getrawtransaction(collateral_txid, 1)
rawtx = self.nodes[0].getrawtransaction(collateral_txid, 1, tip)
assert_equal(rawtx['confirmations'], 1)
collateral_vout = 0
for txout in rawtx['vout']:
if txout['value'] == Decimal(collateral_amount):
collateral_vout = txout['n']
@ -1122,11 +1126,13 @@ class DashTestFramework(BitcoinTestFramework):
ipAndPort = '127.0.0.1:%d' % node_p2p_port
operatorReward = idx
self.nodes[0].generate(1)
register_rpc = 'register_hpmn' if hpmn else 'register'
protx_result = self.nodes[0].protx(register_rpc, collateral_txid, collateral_vout, ipAndPort, owner_address, bls['public'], voting_address, operatorReward, reward_address, platform_node_id, platform_p2p_port, platform_http_port, funds_address, True)
self.nodes[0].generate(1)
self.wait_for_instantlock(protx_result, self.nodes[0])
tip = self.nodes[0].generate(1)[0]
self.sync_all(self.nodes)
assert_equal(self.nodes[0].getrawtransaction(protx_result, 1, tip)['confirmations'], 1)
mn_info = MasternodeInfo(protx_result, owner_address, voting_address, bls['public'], bls['secret'], collateral_address, collateral_txid, collateral_vout, ipAndPort, hpmn)
self.mninfo.append(mn_info)
@ -1139,26 +1145,30 @@ class DashTestFramework(BitcoinTestFramework):
operator_reward_address = self.nodes[0].getnewaddress()
# For the sake of the test, generate random nodeid, p2p and http platform values
r = rnd if rnd is not None else random.randint(1000, 65000)
r = rnd if rnd is not None else random.randint(21000, 65000)
platform_node_id = hash160(b'%d' % r).hex()
platform_p2p_port = '%d' % (r + 1)
platform_http_port = '%d' % (r + 2)
self.nodes[0].sendtoaddress(funds_address, 1)
self.nodes[0].generate(1)
fund_txid = self.nodes[0].sendtoaddress(funds_address, 1)
self.wait_for_instantlock(fund_txid, self.nodes[0])
tip = self.nodes[0].generate(1)[0]
assert_equal(self.nodes[0].getrawtransaction(fund_txid, 1, tip)['confirmations'], 1)
self.sync_all(self.nodes)
protx_success = False
try:
self.nodes[0].protx('update_service_hpmn', hpmn_info.proTxHash, hpmn_info.addr, hpmn_info.keyOperator, platform_node_id, platform_p2p_port, platform_http_port, operator_reward_address, funds_address)
self.nodes[0].generate(1)
protx_result = self.nodes[0].protx('update_service_hpmn', hpmn_info.proTxHash, hpmn_info.addr, hpmn_info.keyOperator, platform_node_id, platform_p2p_port, platform_http_port, operator_reward_address, funds_address)
self.wait_for_instantlock(protx_result, self.nodes[0])
tip = self.nodes[0].generate(1)[0]
assert_equal(self.nodes[0].getrawtransaction(protx_result, 1, tip)['confirmations'], 1)
self.sync_all(self.nodes)
self.log.info("Updated HPMN %s: platformNodeID=%s, platformP2PPort=%s, platformHTTPPort=%s" % (hpmn_info.proTxHash, platform_node_id, platform_p2p_port, platform_http_port))
protx_success = True
except:
self.log.info("protx_hpmn rejected")
if should_be_rejected:
assert_equal(protx_success, False)
assert_equal(protx_success, not should_be_rejected)
def prepare_masternodes(self):
self.log.info("Preparing %d masternodes" % self.mn_count)
@ -1305,7 +1315,7 @@ class DashTestFramework(BitcoinTestFramework):
self.start_node(0)
self.import_deterministic_coinbase_privkeys()
required_balance = HIGHPERFORMANCE_MASTERNODE_COLLATERAL * self.hpmn_count
required_balance += MASTERNODE_COLLATERAL * (self.mn_count - self.hpmn_count) + 1
required_balance += MASTERNODE_COLLATERAL * (self.mn_count - self.hpmn_count) + 100
self.log.info("Generating %d coins" % required_balance)
while self.nodes[0].getbalance() < required_balance:
self.bump_mocktime(1)
@ -1397,13 +1407,14 @@ class DashTestFramework(BitcoinTestFramework):
ret = {**decoded, **ret}
return ret
def wait_for_tx(self, txid, node, expected=True, timeout=15):
def wait_for_tx(self, txid, node, expected=True, timeout=60):
def check_tx():
try:
self.bump_mocktime(1)
return node.getrawtransaction(txid)
except:
return False
if wait_until(check_tx, timeout=timeout, sleep=0.5, do_assert=expected) and not expected:
if wait_until(check_tx, timeout=timeout, sleep=1, do_assert=expected) and not expected:
raise AssertionError("waiting unexpectedly succeeded")
def create_islock(self, hextx, deterministic=False):
@ -1436,13 +1447,14 @@ class DashTestFramework(BitcoinTestFramework):
return islock
def wait_for_instantlock(self, txid, node, expected=True, timeout=15):
def wait_for_instantlock(self, txid, node, expected=True, timeout=60):
def check_instantlock():
self.bump_mocktime(1)
try:
return node.getrawtransaction(txid, True)["instantlock"]
except:
return False
if wait_until(check_instantlock, timeout=timeout, sleep=0.5, do_assert=expected) and not expected:
if wait_until(check_instantlock, timeout=timeout, sleep=1, do_assert=expected) and not expected:
raise AssertionError("waiting unexpectedly succeeded")
def wait_for_chainlocked_block(self, node, block_hash, expected=True, timeout=15):

View File

@ -123,12 +123,11 @@ class CreateWalletTest(BitcoinTestFramework):
w7 = node.get_wallet_rpc('w7')
assert_raises_rpc_error(-15, 'Error: running with an unencrypted wallet, but walletpassphrase was called.', w7.walletpassphrase, '', 10)
# TODO: renable this when avoid reuse flag is added
# self.log.info('Test making a wallet with avoid reuse flag')
# self.nodes[0].createwallet('w8', False, False, '', True) # Use positional arguments to check for bug where avoid_reuse could not be set for wallets without needing them to be encrypted
# w8 = node.get_wallet_rpc('w8')
# assert_raises_rpc_error(-15, 'Error: running with an unencrypted wallet, but walletpassphrase was called.', w7.walletpassphrase, '', 10)
# assert_equal(w8.getwalletinfo()["avoid_reuse"], True)
self.log.info('Test making a wallet with avoid reuse flag')
self.nodes[0].createwallet('w8', False, False, '', True) # Use positional arguments to check for bug where avoid_reuse could not be set for wallets without needing them to be encrypted
w8 = node.get_wallet_rpc('w8')
assert_raises_rpc_error(-15, 'Error: running with an unencrypted wallet, but walletpassphrase was called.', w7.walletpassphrase, '', 10)
assert_equal(w8.getwalletinfo()["avoid_reuse"], True)
self.log.info('Using a passphrase with private keys disabled returns error')
assert_raises_rpc_error(-4, 'Passphrase provided but private keys are disabled. A passphrase is only used to encrypt private keys, so cannot be used for wallets with private keys disabled.', self.nodes[0].createwallet, wallet_name='w9', disable_private_keys=True, passphrase='thisisapassphrase')