aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--src/main.cpp58
-rw-r--r--src/qt/bitcoingui.cpp6
-rw-r--r--src/qt/bitcoinstrings.cpp7
-rw-r--r--src/qt/forms/receivecoinsdialog.ui2
-rw-r--r--src/qt/locale/bitcoin_en.ts488
-rw-r--r--src/qt/paymentserver.cpp52
-rw-r--r--src/qt/paymentserver.h2
8 files changed, 369 insertions, 248 deletions
diff --git a/.gitignore b/.gitignore
index f867868185..7615fe3915 100644
--- a/.gitignore
+++ b/.gitignore
@@ -81,4 +81,4 @@ win32-build
qa/pull-tester/run-bitcoind-for-test.sh
qa/pull-tester/build-tests.sh
-!src/leveldb-*/Makefile
+!src/leveldb*/Makefile
diff --git a/src/main.cpp b/src/main.cpp
index 017a0768d5..9c6c1ba0c3 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -56,8 +56,13 @@ int64_t CTransaction::nMinRelayTxFee = 10000;
static CMedianFilter<int> cPeerBlockCounts(8, 0); // Amount of blocks that other nodes claim to have
-map<uint256, CBlock*> mapOrphanBlocks;
-multimap<uint256, CBlock*> mapOrphanBlocksByPrev;
+struct COrphanBlock {
+ uint256 hashBlock;
+ uint256 hashPrev;
+ vector<unsigned char> vchBlock;
+};
+map<uint256, COrphanBlock*> mapOrphanBlocks;
+multimap<uint256, COrphanBlock*> mapOrphanBlocksByPrev;
map<uint256, CTransaction> mapOrphanTransactions;
map<uint256, set<uint256> > mapOrphanTransactionsByPrev;
@@ -985,12 +990,19 @@ bool ReadBlockFromDisk(CBlock& block, const CBlockIndex* pindex)
return true;
}
-uint256 static GetOrphanRoot(const CBlockHeader* pblock)
+uint256 static GetOrphanRoot(const uint256& hash)
{
+ map<uint256, COrphanBlock*>::iterator it = mapOrphanBlocks.find(hash);
+ if (it == mapOrphanBlocks.end())
+ return hash;
+
// Work back to the first block in the orphan chain
- while (mapOrphanBlocks.count(pblock->hashPrevBlock))
- pblock = mapOrphanBlocks[pblock->hashPrevBlock];
- return pblock->GetHash();
+ do {
+ map<uint256, COrphanBlock*>::iterator it2 = mapOrphanBlocks.find(it->second->hashPrev);
+ if (it2 == mapOrphanBlocks.end())
+ return it->first;
+ it = it2;
+ } while(true);
}
int64_t GetBlockValue(int nHeight, int64_t nFees)
@@ -2277,12 +2289,19 @@ bool ProcessBlock(CValidationState &state, CNode* pfrom, CBlock* pblock, CDiskBl
// Accept orphans as long as there is a node to request its parents from
if (pfrom) {
- CBlock* pblock2 = new CBlock(*pblock);
+ COrphanBlock* pblock2 = new COrphanBlock();
+ {
+ CDataStream ss(SER_DISK, CLIENT_VERSION);
+ ss << *pblock;
+ pblock2->vchBlock = std::vector<unsigned char>(ss.begin(), ss.end());
+ }
+ pblock2->hashBlock = hash;
+ pblock2->hashPrev = pblock->hashPrevBlock;
mapOrphanBlocks.insert(make_pair(hash, pblock2));
- mapOrphanBlocksByPrev.insert(make_pair(pblock2->hashPrevBlock, pblock2));
+ mapOrphanBlocksByPrev.insert(make_pair(pblock2->hashPrev, pblock2));
// Ask this guy to fill in what we're missing
- PushGetBlocks(pfrom, chainActive.Tip(), GetOrphanRoot(pblock2));
+ PushGetBlocks(pfrom, chainActive.Tip(), GetOrphanRoot(hash));
}
return true;
}
@@ -2297,17 +2316,22 @@ bool ProcessBlock(CValidationState &state, CNode* pfrom, CBlock* pblock, CDiskBl
for (unsigned int i = 0; i < vWorkQueue.size(); i++)
{
uint256 hashPrev = vWorkQueue[i];
- for (multimap<uint256, CBlock*>::iterator mi = mapOrphanBlocksByPrev.lower_bound(hashPrev);
+ for (multimap<uint256, COrphanBlock*>::iterator mi = mapOrphanBlocksByPrev.lower_bound(hashPrev);
mi != mapOrphanBlocksByPrev.upper_bound(hashPrev);
++mi)
{
- CBlock* pblockOrphan = (*mi).second;
+ CBlock block;
+ {
+ CDataStream ss(mi->second->vchBlock, SER_DISK, CLIENT_VERSION);
+ ss >> block;
+ }
+ block.BuildMerkleTree();
// Use a dummy CValidationState so someone can't setup nodes to counter-DoS based on orphan resolution (that is, feeding people an invalid block based on LegitBlockX in order to get anyone relaying LegitBlockX banned)
CValidationState stateDummy;
- if (AcceptBlock(*pblockOrphan, stateDummy))
- vWorkQueue.push_back(pblockOrphan->GetHash());
- mapOrphanBlocks.erase(pblockOrphan->GetHash());
- delete pblockOrphan;
+ if (AcceptBlock(block, stateDummy))
+ vWorkQueue.push_back(mi->second->hashBlock);
+ mapOrphanBlocks.erase(mi->second->hashBlock);
+ delete mi->second;
}
mapOrphanBlocksByPrev.erase(hashPrev);
}
@@ -3331,7 +3355,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
if (!fImporting && !fReindex)
pfrom->AskFor(inv);
} else if (inv.type == MSG_BLOCK && mapOrphanBlocks.count(inv.hash)) {
- PushGetBlocks(pfrom, chainActive.Tip(), GetOrphanRoot(mapOrphanBlocks[inv.hash]));
+ PushGetBlocks(pfrom, chainActive.Tip(), GetOrphanRoot(inv.hash));
} else if (nInv == nLastBlock) {
// In case we are on a very long side-chain, it is possible that we already have
// the last block in an inv bundle sent in response to getblocks. Try to detect
@@ -4119,7 +4143,7 @@ public:
mapBlockIndex.clear();
// orphan blocks
- std::map<uint256, CBlock*>::iterator it2 = mapOrphanBlocks.begin();
+ std::map<uint256, COrphanBlock*>::iterator it2 = mapOrphanBlocks.begin();
for (; it2 != mapOrphanBlocks.end(); it2++)
delete (*it2).second;
mapOrphanBlocks.clear();
diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index c29595050b..692fb6dc1d 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -300,12 +300,12 @@ void BitcoinGUI::createActions(bool fIsTestnet)
openRPCConsoleAction = new QAction(QIcon(":/icons/debugwindow"), tr("&Debug window"), this);
openRPCConsoleAction->setStatusTip(tr("Open debugging and diagnostic console"));
- usedSendingAddressesAction = new QAction(QIcon(":/icons/address-book"), tr("&Used sending addresses..."), this);
+ usedSendingAddressesAction = new QAction(QIcon(":/icons/address-book"), tr("&Sending addresses..."), this);
usedSendingAddressesAction->setStatusTip(tr("Show the list of used sending addresses and labels"));
- usedReceivingAddressesAction = new QAction(QIcon(":/icons/address-book"), tr("Used &receiving addresses..."), this);
+ usedReceivingAddressesAction = new QAction(QIcon(":/icons/address-book"), tr("&Receiving addresses..."), this);
usedReceivingAddressesAction->setStatusTip(tr("Show the list of used receiving addresses and labels"));
- openAction = new QAction(QApplication::style()->standardIcon(QStyle::SP_FileIcon), tr("Open URI..."), this);
+ openAction = new QAction(QApplication::style()->standardIcon(QStyle::SP_FileIcon), tr("Open &URI..."), this);
openAction->setStatusTip(tr("Open a bitcoin: URI or payment request"));
connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
diff --git a/src/qt/bitcoinstrings.cpp b/src/qt/bitcoinstrings.cpp
index 183a98061d..b88c7ec290 100644
--- a/src/qt/bitcoinstrings.cpp
+++ b/src/qt/bitcoinstrings.cpp
@@ -40,6 +40,9 @@ QT_TRANSLATE_NOOP("bitcoin-core", ""
"be solved instantly. This is intended for regression testing tools and app "
"development."),
QT_TRANSLATE_NOOP("bitcoin-core", ""
+"Enter regression test mode, which uses a special chain in which blocks can "
+"be solved instantly."),
+QT_TRANSLATE_NOOP("bitcoin-core", ""
"Error: The transaction was rejected! This might happen if some of the coins "
"in your wallet were already spent, such as if you used a copy of wallet.dat "
"and coins were spent in the copy but not marked as spent here."),
@@ -119,6 +122,7 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Connect to JSON-RPC on <port> (default: 8332
QT_TRANSLATE_NOOP("bitcoin-core", "Connect to a node to retrieve peer addresses, and disconnect"),
QT_TRANSLATE_NOOP("bitcoin-core", "Corrupted block database detected"),
QT_TRANSLATE_NOOP("bitcoin-core", "Discover own IP address (default: 1 when listening and no -externalip)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Do not load the wallet and disable wallet RPC calls"),
QT_TRANSLATE_NOOP("bitcoin-core", "Do you want to rebuild the block database now?"),
QT_TRANSLATE_NOOP("bitcoin-core", "Done loading"),
QT_TRANSLATE_NOOP("bitcoin-core", "Error initializing block database"),
@@ -185,7 +189,6 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Select SOCKS version for -proxy (4 or 5, defa
QT_TRANSLATE_NOOP("bitcoin-core", "Send command to Bitcoin server"),
QT_TRANSLATE_NOOP("bitcoin-core", "Send commands to node running on <ip> (default: 127.0.0.1)"),
QT_TRANSLATE_NOOP("bitcoin-core", "Send trace/debug info to console instead of debug.log file"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Send trace/debug info to debugger"),
QT_TRANSLATE_NOOP("bitcoin-core", "Server certificate file (default: server.cert)"),
QT_TRANSLATE_NOOP("bitcoin-core", "Server private key (default: server.pem)"),
QT_TRANSLATE_NOOP("bitcoin-core", "Set database cache size in megabytes (default: 25)"),
@@ -204,6 +207,7 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Specify your own public address"),
QT_TRANSLATE_NOOP("bitcoin-core", "Start Bitcoin server"),
QT_TRANSLATE_NOOP("bitcoin-core", "System error: "),
QT_TRANSLATE_NOOP("bitcoin-core", "This help message"),
+QT_TRANSLATE_NOOP("bitcoin-core", "This is intended for regression testing tools and app development."),
QT_TRANSLATE_NOOP("bitcoin-core", "Threshold for disconnecting misbehaving peers (default: 100)"),
QT_TRANSLATE_NOOP("bitcoin-core", "To use the %s option"),
QT_TRANSLATE_NOOP("bitcoin-core", "Transaction amount too small"),
@@ -225,6 +229,7 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Verifying wallet..."),
QT_TRANSLATE_NOOP("bitcoin-core", "Wait for RPC server to start"),
QT_TRANSLATE_NOOP("bitcoin-core", "Wallet %s resides outside data directory %s"),
QT_TRANSLATE_NOOP("bitcoin-core", "Wallet needed to be rewritten: restart Bitcoin to complete"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Wallet options:"),
QT_TRANSLATE_NOOP("bitcoin-core", "Warning"),
QT_TRANSLATE_NOOP("bitcoin-core", "Warning: Deprecated argument -debugnet ignored, use -debug=net"),
QT_TRANSLATE_NOOP("bitcoin-core", "Warning: This version is obsolete, upgrade required!"),
diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui
index e7138f5371..8242763e77 100644
--- a/src/qt/forms/receivecoinsdialog.ui
+++ b/src/qt/forms/receivecoinsdialog.ui
@@ -202,7 +202,7 @@
</font>
</property>
<property name="text">
- <string>Previously requested payments</string>
+ <string>Requested payments</string>
</property>
</widget>
</item>
diff --git a/src/qt/locale/bitcoin_en.ts b/src/qt/locale/bitcoin_en.ts
index 368a4d6003..f52544687b 100644
--- a/src/qt/locale/bitcoin_en.ts
+++ b/src/qt/locale/bitcoin_en.ts
@@ -322,24 +322,43 @@ This product includes software developed by the OpenSSL Project for use in the O
</message>
</context>
<context>
+ <name>BitcoinApplication</name>
+ <message>
+ <location filename="../bitcoin.cpp" line="+362"/>
+ <source>Bitcoin Core is shutting down...
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Do not shut down the computer until this window disappears.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="+260"/>
+ <location filename="../bitcoingui.cpp" line="+297"/>
<source>Sign &amp;message...</source>
<translation>Sign &amp;message...</translation>
</message>
<message>
- <location line="+290"/>
+ <location line="+323"/>
<source>Synchronizing with network...</source>
<translation>Synchronizing with network...</translation>
</message>
<message>
- <location line="-360"/>
+ <location line="-395"/>
<source>&amp;Overview</source>
<translation>&amp;Overview</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="-139"/>
+ <source>Node</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+140"/>
<source>Show general overview of wallet</source>
<translation>Show general overview of wallet</translation>
</message>
@@ -354,7 +373,7 @@ This product includes software developed by the OpenSSL Project for use in the O
<translation>Browse transaction history</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+17"/>
<source>E&amp;xit</source>
<translation>E&amp;xit</translation>
</message>
@@ -400,7 +419,22 @@ This product includes software developed by the OpenSSL Project for use in the O
<translation>&amp;Change Passphrase...</translation>
</message>
<message>
- <location line="+295"/>
+ <location line="+10"/>
+ <source>&amp;Sending addresses...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>&amp;Receiving addresses...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Open &amp;URI...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+313"/>
<source>Importing blocks from disk...</source>
<translation>Importing blocks from disk...</translation>
</message>
@@ -410,12 +444,12 @@ This product includes software developed by the OpenSSL Project for use in the O
<translation>Reindexing blocks on disk...</translation>
</message>
<message>
- <location line="-358"/>
+ <location line="-393"/>
<source>Send coins to a Bitcoin address</source>
<translation>Send coins to a Bitcoin address</translation>
</message>
<message>
- <location line="+47"/>
+ <location line="+49"/>
<source>Modify configuration options for Bitcoin</source>
<translation>Modify configuration options for Bitcoin</translation>
</message>
@@ -445,18 +479,17 @@ This product includes software developed by the OpenSSL Project for use in the O
<translation>&amp;Verify message...</translation>
</message>
<message>
- <location line="+375"/>
+ <location line="+414"/>
<source>Bitcoin</source>
<translation>Bitcoin</translation>
</message>
<message>
- <location line="-563"/>
- <location line="+10"/>
+ <location line="-629"/>
<source>Wallet</source>
<translation>Wallet</translation>
</message>
<message>
- <location line="+113"/>
+ <location line="+148"/>
<source>&amp;Send</source>
<translation>&amp;Send</translation>
</message>
@@ -466,7 +499,7 @@ This product includes software developed by the OpenSSL Project for use in the O
<translation>&amp;Receive</translation>
</message>
<message>
- <location line="+44"/>
+ <location line="+46"/>
<location line="+2"/>
<source>&amp;Show / Hide</source>
<translation>&amp;Show / Hide</translation>
@@ -492,86 +525,70 @@ This product includes software developed by the OpenSSL Project for use in the O
<translation>Verify messages to ensure they were signed with specified Bitcoin addresses</translation>
</message>
<message>
- <location line="+39"/>
+ <location line="+44"/>
<source>&amp;File</source>
<translation>&amp;File</translation>
</message>
<message>
- <location line="+11"/>
+ <location line="+14"/>
<source>&amp;Settings</source>
<translation>&amp;Settings</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>&amp;Help</source>
<translation>&amp;Help</translation>
</message>
<message>
- <location line="+9"/>
+ <location line="+14"/>
<source>Tabs toolbar</source>
<translation>Tabs toolbar</translation>
</message>
<message>
- <location line="-244"/>
- <location line="+321"/>
+ <location line="-281"/>
+ <location line="+373"/>
<source>[testnet]</source>
<translation>[testnet]</translation>
</message>
<message>
- <location line="-331"/>
- <location line="+10"/>
+ <location line="-398"/>
<source>Bitcoin Core</source>
<translation type="unfinished">Bitcoin Core</translation>
</message>
<message>
- <location line="+121"/>
+ <location line="+165"/>
<source>Request payments (generates QR codes and bitcoin: URIs)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+27"/>
+ <location line="+29"/>
<location line="+2"/>
<source>&amp;About Bitcoin Core</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+34"/>
- <source>&amp;Used sending addresses...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+1"/>
+ <location line="+35"/>
<source>Show the list of used sending addresses and labels</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
- <source>Used &amp;receiving addresses...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+1"/>
- <source>Show the list of used receiving addresses and labels</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location line="+2"/>
- <source>Open URI...</source>
+ <source>Show the list of used receiving addresses and labels</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+3"/>
<source>Open a bitcoin: URI or payment request</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+126"/>
+ <location line="+157"/>
<location line="+5"/>
<source>Bitcoin client</source>
<translation>Bitcoin client</translation>
</message>
<message numerus="yes">
- <location line="+133"/>
+ <location line="+135"/>
<source>%n active connection(s) to Bitcoin network</source>
<translation>
<numerusform>%n active connection to Bitcoin network</numerusform>
@@ -594,7 +611,7 @@ This product includes software developed by the OpenSSL Project for use in the O
<translation>Processed %1 blocks of transaction history.</translation>
</message>
<message numerus="yes">
- <location line="+20"/>
+ <location line="+23"/>
<source>%n hour(s)</source>
<translation>
<numerusform>%n hour</numerusform>
@@ -623,7 +640,7 @@ This product includes software developed by the OpenSSL Project for use in the O
<translation>%1 behind</translation>
</message>
<message>
- <location line="+14"/>
+ <location line="+17"/>
<source>Last received block was generated %1 ago.</source>
<translation>Last received block was generated %1 ago.</translation>
</message>
@@ -648,27 +665,17 @@ This product includes software developed by the OpenSSL Project for use in the O
<translation>Information</translation>
</message>
<message>
- <location line="+77"/>
- <source>This transaction is over the size limit. You can still send it for a fee of %1, which goes to the nodes that process your transaction and helps to support the network. Do you want to pay the fee?</source>
- <translation>This transaction is over the size limit. You can still send it for a fee of %1, which goes to the nodes that process your transaction and helps to support the network. Do you want to pay the fee?</translation>
- </message>
- <message>
- <location line="-152"/>
+ <location line="-81"/>
<source>Up to date</source>
<translation>Up to date</translation>
</message>
<message>
- <location line="+31"/>
+ <location line="+34"/>
<source>Catching up...</source>
<translation>Catching up...</translation>
</message>
<message>
- <location line="+124"/>
- <source>Confirm transaction fee</source>
- <translation>Confirm transaction fee</translation>
- </message>
- <message>
- <location line="+8"/>
+ <location line="+126"/>
<source>Sent transaction</source>
<translation>Sent transaction</translation>
</message>
@@ -691,7 +698,7 @@ Address: %4
</translation>
</message>
<message>
- <location line="+67"/>
+ <location line="+69"/>
<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>
@@ -701,7 +708,7 @@ Address: %4
<translation>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="+116"/>
+ <location filename="../bitcoin.cpp" line="+78"/>
<source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
<translation>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</translation>
</message>
@@ -923,7 +930,12 @@ Address: %4
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+171"/>
+ <location line="+31"/>
+ <source>none</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+140"/>
<source>Dust</source>
<translation type="unfinished"></translation>
</message>
@@ -960,7 +972,7 @@ Address: %4
</message>
<message>
<location line="+1"/>
- <source>This label turns red, if the priority is smaller than &quot;medium&quot;</source>
+ <source>This label turns red, if the priority is smaller than &quot;medium&quot;.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -1029,7 +1041,7 @@ Address: %4
<translation>&amp;Address</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="+25"/>
+ <location filename="../editaddressdialog.cpp" line="+28"/>
<source>New receiving address</source>
<translation>New receiving address</translation>
</message>
@@ -1240,7 +1252,7 @@ Address: %4
<translation>Options</translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+13"/>
<source>&amp;Main</source>
<translation>&amp;Main</translation>
</message>
@@ -1265,7 +1277,47 @@ Address: %4
<translation>&amp;Start Bitcoin on system login</translation>
</message>
<message>
- <location line="+35"/>
+ <location line="+9"/>
+ <source>Size of &amp;database cache</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
+ <translation type="unfinished">Set database cache size in megabytes (default: 25)</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>MB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <source>Number of script &amp;verification threads</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Set the number of script verification threads (up to 16, 0 = auto, &lt;0 = leave that many cores free, default: 0)</source>
+ <translation type="unfinished">Set the number of script verification threads (up to 16, 0 = auto, &lt;0 = leave that many cores free, default: 0)</translation>
+ </message>
+ <message>
+ <location line="+58"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy (default proxy):</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+34"/>
+ <source>IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+267"/>
<source>Reset all client options to default.</source>
<translation>Reset all client options to default.</translation>
</message>
@@ -1275,7 +1327,7 @@ Address: %4
<translation>&amp;Reset Options</translation>
</message>
<message>
- <location line="+13"/>
+ <location line="-323"/>
<source>&amp;Network</source>
<translation>&amp;Network</translation>
</message>
@@ -1290,32 +1342,17 @@ Address: %4
<translation>Map port using &amp;UPnP</translation>
</message>
<message>
- <location line="+7"/>
- <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
- <translation>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>&amp;Connect through SOCKS proxy:</source>
- <translation>&amp;Connect through SOCKS proxy:</translation>
- </message>
- <message>
- <location line="+9"/>
+ <location line="+19"/>
<source>Proxy &amp;IP:</source>
<translation>Proxy &amp;IP:</translation>
</message>
<message>
- <location line="+19"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
- <translation>IP address of the proxy (e.g. 127.0.0.1)</translation>
- </message>
- <message>
- <location line="+7"/>
+ <location line="+32"/>
<source>&amp;Port:</source>
<translation>&amp;Port:</translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+25"/>
<source>Port of the proxy (e.g. 9050)</source>
<translation>Port of the proxy (e.g. 9050)</translation>
</message>
@@ -1400,7 +1437,12 @@ Address: %4
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+71"/>
+ <location line="+29"/>
+ <source>Active command-line options that override above options: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+107"/>
<source>&amp;OK</source>
<translation>&amp;OK</translation>
</message>
@@ -1410,44 +1452,38 @@ Address: %4
<translation>&amp;Cancel</translation>
</message>
<message>
- <location line="+10"/>
- <source>&amp;Apply</source>
- <translation>&amp;Apply</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="+63"/>
+ <location filename="../optionsdialog.cpp" line="+68"/>
<source>default</source>
<translation>default</translation>
</message>
<message>
- <location line="+131"/>
+ <location line="+57"/>
+ <source>none</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+75"/>
<source>Confirm options reset</source>
<translation>Confirm options reset</translation>
</message>
<message>
<location line="+1"/>
- <source>Some settings may require a client restart to take effect.</source>
- <translation>Some settings may require a client restart to take effect.</translation>
- </message>
- <message>
- <location line="+0"/>
- <source>Do you want to proceed?</source>
- <translation>Do you want to proceed?</translation>
+ <location line="+29"/>
+ <source>Client restart required to activate changes.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+42"/>
- <location line="+9"/>
- <source>Warning</source>
- <translation>Warning</translation>
+ <location line="-29"/>
+ <source>Client will be shutdown, do you want to proceed?</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-9"/>
- <location line="+9"/>
- <source>This setting will take effect after restarting Bitcoin.</source>
- <translation>This setting will take effect after restarting Bitcoin.</translation>
+ <location line="+33"/>
+ <source>This change would require a client restart.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+29"/>
+ <location line="+34"/>
<source>The supplied proxy address is invalid.</source>
<translation>The supplied proxy address is invalid.</translation>
</message>
@@ -1461,22 +1497,22 @@ Address: %4
</message>
<message>
<location line="+50"/>
- <location line="+214"/>
+ <location line="+231"/>
<source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
<translation>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</translation>
</message>
<message>
- <location line="-140"/>
+ <location line="-155"/>
<source>Unconfirmed:</source>
<translation>Unconfirmed:</translation>
</message>
<message>
- <location line="-81"/>
+ <location line="-83"/>
<source>Wallet</source>
<translation>Wallet</translation>
</message>
<message>
- <location line="+49"/>
+ <location line="+51"/>
<source>Confirmed:</source>
<translation>Confirmed:</translation>
</message>
@@ -1511,7 +1547,7 @@ Address: %4
<translation>Your current total balance</translation>
</message>
<message>
- <location line="+56"/>
+ <location line="+71"/>
<source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
<translation>&lt;b&gt;Recent transactions&lt;/b&gt;</translation>
</message>
@@ -1525,7 +1561,8 @@ Address: %4
<context>
<name>PaymentServer</name>
<message>
- <location filename="../paymentserver.cpp" line="+397"/>
+ <location filename="../paymentserver.cpp" line="+400"/>
+ <location line="+13"/>
<source>URI handling</source>
<translation type="unfinished">URI handling</translation>
</message>
@@ -1535,24 +1572,42 @@ Address: %4
<translation type="unfinished">URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</translation>
</message>
<message>
- <location line="+91"/>
+ <location line="+96"/>
<source>Requested payment amount of %1 is too small (considered dust).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-204"/>
- <location line="+195"/>
+ <location line="-216"/>
+ <location line="+207"/>
<location line="+13"/>
+ <location line="+95"/>
+ <location line="+18"/>
+ <location line="+16"/>
<source>Payment request error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-207"/>
+ <location line="-348"/>
<source>Cannot start bitcoin: click-to-pay handler</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+195"/>
+ <location line="+106"/>
+ <source>Payment request fetch URL is invalid: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <source>Payment request file handling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Payment request file can not be read or processed! This can be caused by an invalid payment request file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+73"/>
<source>Unverified payment requests to custom payment scripts are unsupported.</source>
<translation type="unfinished"></translation>
</message>
@@ -1562,24 +1617,27 @@ Address: %4
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+42"/>
+ <location line="+43"/>
<source>Error communicating with %1: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
+ <location line="+24"/>
+ <source>Payment request can not be parsed or processed!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
<source>Bad response from server %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+32"/>
+ <location line="+33"/>
<source>Payment acknowledged</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-55"/>
- <location line="+27"/>
- <location line="+17"/>
+ <location line="-11"/>
<source>Network request error</source>
<translation type="unfinished"></translation>
</message>
@@ -1587,18 +1645,18 @@ Address: %4
<context>
<name>QObject</name>
<message>
- <location filename="../bitcoin.cpp" line="+119"/>
- <location line="+5"/>
+ <location filename="../bitcoin.cpp" line="+71"/>
+ <location line="+11"/>
<source>Bitcoin</source>
<translation>Bitcoin</translation>
</message>
<message>
- <location line="-4"/>
+ <location line="+1"/>
<source>Error: Specified data directory &quot;%1&quot; does not exist.</source>
<translation>Error: Specified data directory &quot;%1&quot; does not exist.</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="-12"/>
<source>Error: Invalid combination of -regtest and -testnet.</source>
<translation type="unfinished"></translation>
</message>
@@ -1640,7 +1698,8 @@ Address: %4
<location line="+23"/>
<location line="+23"/>
<location line="+36"/>
- <location line="+53"/>
+ <location line="+23"/>
+ <location line="+36"/>
<location line="+23"/>
<location line="+23"/>
<location filename="../rpcconsole.cpp" line="+360"/>
@@ -1648,7 +1707,7 @@ Address: %4
<translation>N/A</translation>
</message>
<message>
- <location line="-217"/>
+ <location line="-223"/>
<source>Client version</source>
<translation>Client version</translation>
</message>
@@ -1663,7 +1722,12 @@ Address: %4
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+78"/>
+ <location line="+25"/>
+ <source>General</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+53"/>
<source>Using OpenSSL version</source>
<translation>Using OpenSSL version</translation>
</message>
@@ -1679,16 +1743,16 @@ Address: %4
</message>
<message>
<location line="+7"/>
- <source>Number of connections</source>
- <translation>Number of connections</translation>
+ <source>Name</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+23"/>
- <source>On testnet</source>
- <translation>On testnet</translation>
+ <source>Number of connections</source>
+ <translation>Number of connections</translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+29"/>
<source>Block chain</source>
<translation>Block chain</translation>
</message>
@@ -1753,17 +1817,12 @@ Address: %4
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-541"/>
+ <location line="-547"/>
<source>Build date</source>
<translation>Build date</translation>
</message>
<message>
- <location line="-79"/>
- <source>Bitcoin Core</source>
- <translation>Bitcoin Core</translation>
- </message>
- <message>
- <location line="+279"/>
+ <location line="+206"/>
<source>Debug log file</source>
<translation>Debug log file</translation>
</message>
@@ -1897,7 +1956,7 @@ Address: %4
</message>
<message>
<location line="+47"/>
- <source>Previously requested payments</source>
+ <source>Requested payments</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -1992,7 +2051,7 @@ Address: %4
<context>
<name>RecentRequestsTableModel</name>
<message>
- <location filename="../recentrequeststablemodel.cpp" line="+14"/>
+ <location filename="../recentrequeststablemodel.cpp" line="+17"/>
<source>Date</source>
<translation type="unfinished">Date</translation>
</message>
@@ -2012,7 +2071,7 @@ Address: %4
<translation type="unfinished">Amount</translation>
</message>
<message>
- <location line="+36"/>
+ <location line="+38"/>
<source>(no label)</source>
<translation type="unfinished">(no label)</translation>
</message>
@@ -2027,7 +2086,7 @@ Address: %4
<message>
<location filename="../forms/sendcoinsdialog.ui" line="+14"/>
<location filename="../sendcoinsdialog.cpp" line="+381"/>
- <location line="+81"/>
+ <location line="+80"/>
<source>Send Coins</source>
<translation>Send Coins</translation>
</message>
@@ -2137,7 +2196,7 @@ Address: %4
<translation>S&amp;end</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="-229"/>
+ <location filename="../sendcoinsdialog.cpp" line="-228"/>
<source>Confirm send coins</source>
<translation>Confirm send coins</translation>
</message>
@@ -2240,22 +2299,22 @@ Address: %4
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+113"/>
+ <location line="+112"/>
<source>Warning: Invalid Bitcoin address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location line="+21"/>
<source>(no label)</source>
<translation type="unfinished">(no label)</translation>
</message>
<message>
- <location line="+8"/>
+ <location line="-11"/>
<source>Warning: Unknown change address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-378"/>
+ <location line="-366"/>
<source>Are you sure you want to send?</source>
<translation type="unfinished"></translation>
</message>
@@ -2565,7 +2624,7 @@ Address: %4
<context>
<name>SplashScreen</name>
<message>
- <location filename="../splashscreen.cpp" line="+26"/>
+ <location filename="../splashscreen.cpp" line="+28"/>
<source>Bitcoin Core</source>
<translation type="unfinished">Bitcoin Core</translation>
</message>
@@ -2811,8 +2870,13 @@ Address: %4
<source>Amount</source>
<translation>Amount</translation>
</message>
+ <message>
+ <location line="+59"/>
+ <source>Immature (%1 confirmations, will be available after %2)</source>
+ <translation type="unfinished"></translation>
+ </message>
<message numerus="yes">
- <location line="+57"/>
+ <location line="+16"/>
<source>Open for %n more block(s)</source>
<translation>
<numerusform>Open for %n more block</numerusform>
@@ -2835,20 +2899,13 @@ Address: %4
<translation>Unconfirmed (%1 of %2 confirmations)</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="-22"/>
+ <location line="+25"/>
<source>Confirmed (%1 confirmations)</source>
<translation>Confirmed (%1 confirmations)</translation>
</message>
- <message numerus="yes">
- <location line="+8"/>
- <source>Mined balance will be available when it matures in %n more block(s)</source>
- <translation>
- <numerusform>Mined balance will be available when it matures in %n more block</numerusform>
- <numerusform>Mined balance will be available when it matures in %n more blocks</numerusform>
- </translation>
- </message>
<message>
- <location line="+5"/>
+ <location line="-22"/>
<source>This block was not received by any other nodes and will probably not be accepted!</source>
<translation>This block was not received by any other nodes and will probably not be accepted!</translation>
</message>
@@ -2858,7 +2915,7 @@ Address: %4
<translation>Generated but not accepted</translation>
</message>
<message>
- <location line="+43"/>
+ <location line="+62"/>
<source>Received with</source>
<translation>Received with</translation>
</message>
@@ -3154,7 +3211,7 @@ Address: %4
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="+217"/>
+ <location filename="../bitcoinstrings.cpp" line="+221"/>
<source>Usage:</source>
<translation>Usage:</translation>
</message>
@@ -3174,7 +3231,7 @@ Address: %4
<translation>Options:</translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+22"/>
<source>Specify configuration file (default: bitcoin.conf)</source>
<translation>Specify configuration file (default: bitcoin.conf)</translation>
</message>
@@ -3194,7 +3251,7 @@ Address: %4
<translation>Set database cache size in megabytes (default: 25)</translation>
</message>
<message>
- <location line="-27"/>
+ <location line="-26"/>
<source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
<translation>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</translation>
</message>
@@ -3204,7 +3261,7 @@ Address: %4
<translation>Maintain at most &lt;n&gt; connections to peers (default: 125)</translation>
</message>
<message>
- <location line="-50"/>
+ <location line="-51"/>
<source>Connect to a node to retrieve peer addresses, and disconnect</source>
<translation>Connect to a node to retrieve peer addresses, and disconnect</translation>
</message>
@@ -3214,22 +3271,22 @@ Address: %4
<translation>Specify your own public address</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Threshold for disconnecting misbehaving peers (default: 100)</source>
<translation>Threshold for disconnecting misbehaving peers (default: 100)</translation>
</message>
<message>
- <location line="-147"/>
+ <location line="-148"/>
<source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
<translation>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</translation>
</message>
<message>
- <location line="-33"/>
+ <location line="-36"/>
<source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
<translation>An error occurred while setting up the RPC port %u for listening on IPv4: %s</translation>
</message>
<message>
- <location line="+31"/>
+ <location line="+34"/>
<source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
<translation>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</translation>
</message>
@@ -3239,7 +3296,7 @@ Address: %4
<translation>Accept command line and JSON-RPC commands</translation>
</message>
<message>
- <location line="+79"/>
+ <location line="+80"/>
<source>Run in the background as a daemon and accept commands</source>
<translation>Run in the background as a daemon and accept commands</translation>
</message>
@@ -3249,12 +3306,12 @@ Address: %4
<translation>Use the test network</translation>
</message>
<message>
- <location line="-117"/>
+ <location line="-118"/>
<source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
<translation>Accept connections from outside (default: 1 if no -proxy or -connect)</translation>
</message>
<message>
- <location line="-92"/>
+ <location line="-95"/>
<source>%s, you must set a rpcpassword in the configuration file:
%s
It is recommended you use the following random password:
@@ -3305,6 +3362,11 @@ for example: alertnotify=echo %%s | mail -s &quot;Bitcoin Alert&quot; admin@foo.
</message>
<message>
<location line="+4"/>
+ <source>Enter regression test mode, which uses a special chain in which blocks can be solved instantly.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here.</source>
<translation>Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here.</translation>
</message>
@@ -3410,6 +3472,11 @@ for example: alertnotify=echo %%s | mail -s &quot;Bitcoin Alert&quot; admin@foo.
</message>
<message>
<location line="+1"/>
+ <source>Do not load the wallet and disable wallet RPC calls</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Do you want to rebuild the block database now?</source>
<translation>Do you want to rebuild the block database now?</translation>
</message>
@@ -3574,7 +3641,7 @@ for example: alertnotify=echo %%s | mail -s &quot;Bitcoin Alert&quot; admin@foo.
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
+ <location line="+7"/>
<source>Set maximum block size in bytes (default: %d)</source>
<translation type="unfinished"></translation>
</message>
@@ -3594,7 +3661,12 @@ for example: alertnotify=echo %%s | mail -s &quot;Bitcoin Alert&quot; admin@foo.
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+3"/>
+ <source>This is intended for regression testing tools and app development.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
<source>Usage (deprecated, use bitcoin-cli):</source>
<translation type="unfinished"></translation>
</message>
@@ -3619,7 +3691,12 @@ for example: alertnotify=echo %%s | mail -s &quot;Bitcoin Alert&quot; admin@foo.
<translation>Wallet %s resides outside data directory %s</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
+ <source>Wallet options:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Warning: Deprecated argument -debugnet ignored, use -debug=net</source>
<translation type="unfinished"></translation>
</message>
@@ -3629,12 +3706,12 @@ for example: alertnotify=echo %%s | mail -s &quot;Bitcoin Alert&quot; admin@foo.
<translation>You need to rebuild the database using -reindex to change -txindex</translation>
</message>
<message>
- <location line="-78"/>
+ <location line="-79"/>
<source>Imports blocks from external blk000??.dat file</source>
<translation>Imports blocks from external blk000??.dat file</translation>
</message>
<message>
- <location line="-104"/>
+ <location line="-105"/>
<source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source>
<translation>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</translation>
</message>
@@ -3654,7 +3731,7 @@ for example: alertnotify=echo %%s | mail -s &quot;Bitcoin Alert&quot; admin@foo.
<translation>Set the number of script verification threads (up to 16, 0 = auto, &lt;0 = leave that many cores free, default: 0)</translation>
</message>
<message>
- <location line="+88"/>
+ <location line="+89"/>
<source>Information</source>
<translation>Information</translation>
</message>
@@ -3704,11 +3781,6 @@ for example: alertnotify=echo %%s | mail -s &quot;Bitcoin Alert&quot; admin@foo.
<translation>Send trace/debug info to console instead of debug.log file</translation>
</message>
<message>
- <location line="+1"/>
- <source>Send trace/debug info to debugger</source>
- <translation>Send trace/debug info to debugger</translation>
- </message>
- <message>
<location line="+6"/>
<source>Set minimum block size in bytes (default: 0)</source>
<translation>Set minimum block size in bytes (default: 0)</translation>
@@ -3734,7 +3806,7 @@ for example: alertnotify=echo %%s | mail -s &quot;Bitcoin Alert&quot; admin@foo.
<translation>System error: </translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Transaction amount too small</source>
<translation>Transaction amount too small</translation>
</message>
@@ -3764,7 +3836,7 @@ for example: alertnotify=echo %%s | mail -s &quot;Bitcoin Alert&quot; admin@foo.
<translation>Username for JSON-RPC connections</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Warning</source>
<translation>Warning</translation>
</message>
@@ -3784,37 +3856,37 @@ for example: alertnotify=echo %%s | mail -s &quot;Bitcoin Alert&quot; admin@foo.
<translation>wallet.dat corrupt, salvage failed</translation>
</message>
<message>
- <location line="-57"/>
+ <location line="-58"/>
<source>Password for JSON-RPC connections</source>
<translation>Password for JSON-RPC connections</translation>
</message>
<message>
- <location line="-69"/>
+ <location line="-70"/>
<source>Allow JSON-RPC connections from specified IP address</source>
<translation>Allow JSON-RPC connections from specified IP address</translation>
</message>
<message>
- <location line="+79"/>
+ <location line="+80"/>
<source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
<translation>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</translation>
</message>
<message>
- <location line="-131"/>
+ <location line="-132"/>
<source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
<translation>Execute command when the best block changes (%s in cmd is replaced by block hash)</translation>
</message>
<message>
- <location line="+160"/>
+ <location line="+161"/>
<source>Upgrade wallet to latest format</source>
<translation>Upgrade wallet to latest format</translation>
</message>
<message>
- <location line="-23"/>
+ <location line="-24"/>
<source>Set key pool size to &lt;n&gt; (default: 100)</source>
<translation>Set key pool size to &lt;n&gt; (default: 100)</translation>
</message>
<message>
- <location line="-12"/>
+ <location line="-11"/>
<source>Rescan the block chain for missing wallet transactions</source>
<translation>Rescan the block chain for missing wallet transactions</translation>
</message>
@@ -3824,7 +3896,7 @@ for example: alertnotify=echo %%s | mail -s &quot;Bitcoin Alert&quot; admin@foo.
<translation>Use OpenSSL (https) for JSON-RPC connections</translation>
</message>
<message>
- <location line="-29"/>
+ <location line="-30"/>
<source>Server certificate file (default: server.cert)</source>
<translation>Server certificate file (default: server.cert)</translation>
</message>
@@ -3839,17 +3911,17 @@ for example: alertnotify=echo %%s | mail -s &quot;Bitcoin Alert&quot; admin@foo.
<translation>This help message</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
<translation>Unable to bind to %s on this computer (bind returned error %d, %s)</translation>
</message>
<message>
- <location line="-106"/>
+ <location line="-107"/>
<source>Allow DNS lookups for -addnode, -seednode and -connect</source>
<translation>Allow DNS lookups for -addnode, -seednode and -connect</translation>
</message>
<message>
- <location line="+59"/>
+ <location line="+60"/>
<source>Loading addresses...</source>
<translation>Loading addresses...</translation>
</message>
@@ -3889,7 +3961,7 @@ for example: alertnotify=echo %%s | mail -s &quot;Bitcoin Alert&quot; admin@foo.
<translation>Unknown -socks proxy version requested: %i</translation>
</message>
<message>
- <location line="-100"/>
+ <location line="-101"/>
<source>Cannot resolve -bind address: &apos;%s&apos;</source>
<translation>Cannot resolve -bind address: &apos;%s&apos;</translation>
</message>
@@ -3899,7 +3971,7 @@ for example: alertnotify=echo %%s | mail -s &quot;Bitcoin Alert&quot; admin@foo.
<translation>Cannot resolve -externalip address: &apos;%s&apos;</translation>
</message>
<message>
- <location line="+47"/>
+ <location line="+48"/>
<source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
<translation>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</translation>
</message>
@@ -3919,7 +3991,7 @@ for example: alertnotify=echo %%s | mail -s &quot;Bitcoin Alert&quot; admin@foo.
<translation>Loading block index...</translation>
</message>
<message>
- <location line="-61"/>
+ <location line="-62"/>
<source>Add a node to connect to and attempt to keep the connection open</source>
<translation>Add a node to connect to and attempt to keep the connection open</translation>
</message>
@@ -3929,12 +4001,12 @@ for example: alertnotify=echo %%s | mail -s &quot;Bitcoin Alert&quot; admin@foo.
<translation>Unable to bind to %s on this computer. Bitcoin is probably already running.</translation>
</message>
<message>
- <location line="+94"/>
+ <location line="+95"/>
<source>Loading wallet...</source>
<translation>Loading wallet...</translation>
</message>
<message>
- <location line="-55"/>
+ <location line="-56"/>
<source>Cannot downgrade wallet</source>
<translation>Cannot downgrade wallet</translation>
</message>
@@ -3944,7 +4016,7 @@ for example: alertnotify=echo %%s | mail -s &quot;Bitcoin Alert&quot; admin@foo.
<translation>Cannot write default address</translation>
</message>
<message>
- <location line="+66"/>
+ <location line="+67"/>
<source>Rescanning...</source>
<translation>Rescanning...</translation>
</message>
@@ -3964,7 +4036,7 @@ for example: alertnotify=echo %%s | mail -s &quot;Bitcoin Alert&quot; admin@foo.
<translation>Error</translation>
</message>
<message>
- <location line="-34"/>
+ <location line="-35"/>
<source>You must set rpcpassword=&lt;password&gt; in the configuration file:
%s
If the file does not exist, create it with owner-readable-only file permissions.</source>
diff --git a/src/qt/paymentserver.cpp b/src/qt/paymentserver.cpp
index 17d80940b7..e22ac43fb2 100644
--- a/src/qt/paymentserver.cpp
+++ b/src/qt/paymentserver.cpp
@@ -382,40 +382,52 @@ void PaymentServer::handleURIOrFile(const QString& s)
#else
QUrlQuery uri((QUrl(s)));
#endif
- if (uri.hasQueryItem("r"))
+ if (uri.hasQueryItem("r")) // payment request URI
{
QByteArray temp;
temp.append(uri.queryItemValue("r"));
QString decoded = QUrl::fromPercentEncoding(temp);
QUrl fetchUrl(decoded, QUrl::StrictMode);
- qDebug() << "PaymentServer::handleURIOrFile : fetchRequest(" << fetchUrl << ")";
-
if (fetchUrl.isValid())
+ {
+ qDebug() << "PaymentServer::handleURIOrFile : fetchRequest(" << fetchUrl << ")";
fetchRequest(fetchUrl);
+ }
else
+ {
qDebug() << "PaymentServer::handleURIOrFile : Invalid URL: " << fetchUrl;
+ emit message(tr("URI handling"),
+ tr("Payment request fetch URL is invalid: %1").arg(fetchUrl.toString()),
+ CClientUIInterface::ICON_WARNING);
+ }
return;
}
+ else // normal URI
+ {
+ SendCoinsRecipient recipient;
+ if (GUIUtil::parseBitcoinURI(s, &recipient))
+ emit receivedPaymentRequest(recipient);
+ else
+ emit message(tr("URI handling"),
+ tr("URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters."),
+ CClientUIInterface::ICON_WARNING);
- SendCoinsRecipient recipient;
- if (GUIUtil::parseBitcoinURI(s, &recipient))
- emit receivedPaymentRequest(recipient);
- else
- emit message(tr("URI handling"),
- tr("URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters."),
- CClientUIInterface::ICON_WARNING);
-
- return;
+ return;
+ }
}
- if (QFile::exists(s))
+ if (QFile::exists(s)) // payment request file
{
PaymentRequestPlus request;
SendCoinsRecipient recipient;
if (readPaymentRequest(s, request) && processPaymentRequest(request, recipient))
emit receivedPaymentRequest(recipient);
+ else
+ emit message(tr("Payment request file handling"),
+ tr("Payment request file can not be read or processed! This can be caused by an invalid payment request file."),
+ CClientUIInterface::ICON_WARNING);
return;
}
@@ -594,7 +606,7 @@ void PaymentServer::netRequestFinished(QNetworkReply* reply)
.arg(reply->errorString());
qDebug() << "PaymentServer::netRequestFinished : " << msg;
- emit message(tr("Network request error"), msg, CClientUIInterface::MSG_ERROR);
+ emit message(tr("Payment request error"), msg, CClientUIInterface::MSG_ERROR);
return;
}
@@ -606,9 +618,16 @@ void PaymentServer::netRequestFinished(QNetworkReply* reply)
PaymentRequestPlus request;
SendCoinsRecipient recipient;
if (request.parse(data) && processPaymentRequest(request, recipient))
+ {
emit receivedPaymentRequest(recipient);
+ }
else
+ {
qDebug() << "PaymentServer::netRequestFinished : Error processing payment request";
+ emit message(tr("Payment request error"),
+ tr("Payment request can not be parsed or processed!"),
+ CClientUIInterface::MSG_ERROR);
+ }
return;
}
@@ -621,9 +640,10 @@ void PaymentServer::netRequestFinished(QNetworkReply* reply)
.arg(reply->request().url().toString());
qDebug() << "PaymentServer::netRequestFinished : " << msg;
- emit message(tr("Network request error"), msg, CClientUIInterface::MSG_ERROR);
+ emit message(tr("Payment request error"), msg, CClientUIInterface::MSG_ERROR);
}
- else {
+ else
+ {
emit receivedPaymentACK(GUIUtil::HtmlEscape(paymentACK.memo()));
}
}
diff --git a/src/qt/paymentserver.h b/src/qt/paymentserver.h
index 5ee85f7db4..af19661bdd 100644
--- a/src/qt/paymentserver.h
+++ b/src/qt/paymentserver.h
@@ -102,7 +102,7 @@ public slots:
// Submit Payment message to a merchant, get back PaymentACK:
void fetchPaymentACK(CWallet* wallet, SendCoinsRecipient recipient, QByteArray transaction);
- // Handle an incoming URI or file
+ // Handle an incoming URI, URI with local file scheme or file
void handleURIOrFile(const QString& s);
private slots: