Bugfix: Grammar fixes
This commit is contained in:
parent
18d2832678
commit
7e6d23b171
30 changed files with 79 additions and 80 deletions
|
@ -1,6 +1,6 @@
|
|||
Deterministic OSX Dmg Notes.
|
||||
|
||||
Working OSX DMG's are created in Linux by combining a recent clang,
|
||||
Working OSX DMGs are created in Linux by combining a recent clang,
|
||||
the Apple's binutils (ld, ar, etc), and DMG authoring tools.
|
||||
|
||||
Apple uses clang extensively for development and has upstreamed the necessary
|
||||
|
@ -58,7 +58,7 @@ libdmg-hfsplus project is used to compress it. There are several bugs in this
|
|||
tool and its maintainer has seemingly abandoned the project. It has been forked
|
||||
and is available (with fixes) here: https://github.com/theuni/libdmg-hfsplus .
|
||||
|
||||
The 'dmg' tool has the ability to create DMG's from scratch as well, but this
|
||||
The 'dmg' tool has the ability to create DMGs from scratch as well, but this
|
||||
functionality is broken. Only the compression feature is currently used.
|
||||
Ideally, the creation could be fixed and genisoimage would no longer be necessary.
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ BIPs that are implemented by Bitcoin Core (up-to-date up to **v0.10.0**):
|
|||
* [`BIP 31`](https://github.com/bitcoin/bips/blob/master/bip-0031.mediawiki): The 'pong' protocol message (and the protocol version bump to 60001) has been implemented since **v0.6.1** ([PR #1081](https://github.com/bitcoin/bitcoin/pull/1081)).
|
||||
* [`BIP 34`](https://github.com/bitcoin/bips/blob/master/bip-0034.mediawiki): The rule that requires blocks to contain their height (number) in the coinbase input, and the introduction of version 2 blocks has been implemented since **v0.7.0**. The rule took effect for version 2 blocks as of *block 224413* (March 5th 2013), and version 1 blocks are no longer allowed since *block 227931* (March 25th 2013) ([PR #1526](https://github.com/bitcoin/bitcoin/pull/1526)).
|
||||
* [`BIP 35`](https://github.com/bitcoin/bips/blob/master/bip-0035.mediawiki): The 'mempool' protocol message (and the protocol version bump to 60002) has been implemented since **v0.7.0** ([PR #1641](https://github.com/bitcoin/bitcoin/pull/1641)).
|
||||
* [`BIP 37`](https://github.com/bitcoin/bips/blob/master/bip-0037.mediawiki): The bloom filtering for transaction relaying, partial merkle trees for blocks , and the protocol version bump to 70001 (enabling low-bandwidth SPV clients) has been implemented since **v0.8.0** ([PR #1795](https://github.com/bitcoin/bitcoin/pull/1795)).
|
||||
* [`BIP 37`](https://github.com/bitcoin/bips/blob/master/bip-0037.mediawiki): The bloom filtering for transaction relaying, partial merkle trees for blocks, and the protocol version bump to 70001 (enabling low-bandwidth SPV clients) has been implemented since **v0.8.0** ([PR #1795](https://github.com/bitcoin/bitcoin/pull/1795)).
|
||||
* [`BIP 42`](https://github.com/bitcoin/bips/blob/master/bip-0042.mediawiki): The bug that would have caused the subsidy schedule to resume after block 13440000 was fixed in **v0.9.2** ([PR #3842](https://github.com/bitcoin/bitcoin/pull/3842)).
|
||||
* [`BIP 61`](https://github.com/bitcoin/bips/blob/master/bip-0061.mediawiki): The 'reject' protocol message (and the protocol version bump to 70002) was added in **v0.9.0** ([PR #3185](https://github.com/bitcoin/bitcoin/pull/3185)).
|
||||
* [`BIP 66`](https://github.com/bitcoin/bips/blob/master/bip-0066.mediawiki): The strict DER rules and associated version 3 blocks have been implemented since **v0.10.0** ([PR #5713](https://github.com/bitcoin/bitcoin/pull/5713)).
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Mac OS X Build Instructions and Notes
|
||||
====================================
|
||||
This guide will show you how to build bitcoind(headless client) for OSX.
|
||||
This guide will show you how to build bitcoind (headless client) for OSX.
|
||||
|
||||
Notes
|
||||
-----
|
||||
|
|
|
@ -195,12 +195,12 @@ Hardening enables the following features:
|
|||
|
||||
* Position Independent Executable
|
||||
Build position independent code to take advantage of Address Space Layout Randomization
|
||||
offered by some kernels. An attacker who is able to cause execution of code at an arbitrary
|
||||
memory location is thwarted if he or she doesn't know where anything useful is located.
|
||||
offered by some kernels. Attackers who can cause execution of code at an arbitrary memory
|
||||
location are thwarted if they don't know where anything useful is located.
|
||||
The stack and heap are randomly located by default but this allows the code section to be
|
||||
randomly located as well.
|
||||
|
||||
On an Amd64 processor where a library was not compiled with -fPIC, this will cause an error
|
||||
On an AMD64 processor where a library was not compiled with -fPIC, this will cause an error
|
||||
such as: "relocation R_X86_64_32 against `......' can not be used when making a shared object;"
|
||||
|
||||
To test that you have built PIE executable, install scanelf, part of paxutils, and use:
|
||||
|
|
|
@ -53,7 +53,7 @@ bool function(int arg1, const char *arg2)
|
|||
```
|
||||
A complete list of `@xxx` commands can be found at http://www.stack.nl/~dimitri/doxygen/manual/commands.html.
|
||||
As Doxygen recognizes the comments by the delimiters (`/**` and `*/` in this case), you don't
|
||||
*need* to provide any commands for a comment to be valid, just a description text is fine.
|
||||
*need* to provide any commands for a comment to be valid; just a description text is fine.
|
||||
|
||||
To describe a class use the same construct above the class definition:
|
||||
```c++
|
||||
|
@ -175,7 +175,7 @@ Threads
|
|||
Pull Request Terminology
|
||||
------------------------
|
||||
|
||||
Concept ACK - Agree with the idea and overall direction, but haven't reviewed the code changes or tested them.
|
||||
Concept ACK - Agree with the idea and overall direction, but have neither reviewed nor tested the code changes.
|
||||
|
||||
utACK (untested ACK) - Reviewed and agree with the code changes but haven't actually tested them.
|
||||
|
||||
|
|
|
@ -10,15 +10,14 @@ Other implementations of Bitcoin software may also use the same
|
|||
seeds and may be more exposed. In light of this exposure, this
|
||||
document establishes some basic expectations for operating dnsseeds.
|
||||
|
||||
0. A DNS seed operating organization or person is expected
|
||||
to follow good host security practices and maintain control of
|
||||
their serving infrastructure and not sell or transfer control of their
|
||||
DNS seed. Any hosting services contracted by the operator are
|
||||
equally expected to uphold these expectations.
|
||||
0. A DNS seed operating organization or person is expected to follow good
|
||||
host security practices, maintain control of applicable infrastructure,
|
||||
and not sell or transfer control of the DNS seed. Any hosting services
|
||||
contracted by the operator are equally expected to uphold these expectations.
|
||||
|
||||
1. The DNS seed results must consist exclusively of fairly selected and
|
||||
functioning Bitcoin nodes from the public network to the best of the
|
||||
operators understanding and capability.
|
||||
operator's understanding and capability.
|
||||
|
||||
2. For the avoidance of doubt, the results may be randomized but must not
|
||||
single-out any group of hosts to receive different results unless due to an
|
||||
|
@ -28,7 +27,7 @@ urgent technical necessity and disclosed.
|
|||
|
||||
4. Any logging of DNS queries should be only that which is necessary
|
||||
for the operation of the service or urgent health of the Bitcoin
|
||||
network and must not be retained longer than necessary or disclosed
|
||||
network and must not be retained longer than necessary nor disclosed
|
||||
to any third party.
|
||||
|
||||
5. Information gathered as a result of the operators node-spidering
|
||||
|
|
|
@ -87,7 +87,7 @@ After creating the VM, we need to configure it.
|
|||
|
||||
![](gitian-building/network_settings.png)
|
||||
|
||||
- Click `Advanced`, then `Port Forwarding`. We want to set up a port through where we can reach the VM to get files in and out.
|
||||
- Click `Advanced`, then `Port Forwarding`. We want to set up a port through which we can reach the VM to get files in and out.
|
||||
- Create a new rule by clicking the plus icon.
|
||||
|
||||
![](gitian-building/port_forwarding_rules.png)
|
||||
|
@ -111,7 +111,7 @@ Installing Debian
|
|||
|
||||
This section will explain how to install Debian on the newly created VM.
|
||||
|
||||
- Choose the non-graphical installer. We do not need the graphical environment, it will only increase installation time and disk usage.
|
||||
- Choose the non-graphical installer. We do not need the graphical environment; it will only increase installation time and disk usage.
|
||||
|
||||
![](gitian-building/debian_install_1_boot_menu.png)
|
||||
|
||||
|
@ -144,7 +144,7 @@ and proceed, just press `Enter`. To select a different button, press `Tab`.
|
|||
|
||||
![](gitian-building/debian_install_9_user_password.png)
|
||||
|
||||
- The installer will set up the clock using a time server, this process should be automatic
|
||||
- The installer will set up the clock using a time server; this process should be automatic
|
||||
- Set up the clock: choose a time zone (depends on the locale settings that you picked earlier; specifics don't matter)
|
||||
|
||||
![](gitian-building/debian_install_10_configure_clock.png)
|
||||
|
@ -371,7 +371,7 @@ COMMIT=2014_03_windows_unicode_path
|
|||
Signing externally
|
||||
-------------------
|
||||
|
||||
If you want to do the PGP signing on another device that's also possible; just define `SIGNER` as mentioned
|
||||
If you want to do the PGP signing on another device, that's also possible; just define `SIGNER` as mentioned
|
||||
and follow the steps in the build process as normal.
|
||||
|
||||
gpg: skipped "laanwj": secret key not available
|
||||
|
|
|
@ -63,7 +63,7 @@ can then be controlled by group membership.
|
|||
|
||||
4a) systemd
|
||||
|
||||
Installing this .service file consists on just copying it to
|
||||
Installing this .service file consists of just copying it to
|
||||
/usr/lib/systemd/system directory, followed by the command
|
||||
"systemctl daemon-reload" in order to update running systemd configuration.
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ Notes
|
|||
A 200-block -regtest blockchain and wallets for four nodes
|
||||
is created the first time a regression test is run and
|
||||
is stored in the cache/ directory. Each node has 25 mature
|
||||
blocks (25*50=1250 BTC) in their wallet.
|
||||
blocks (25*50=1250 BTC) in its wallet.
|
||||
|
||||
After the first run, the cache/ blockchain and wallets are
|
||||
copied into a temporary directory and used as the initial
|
||||
|
|
|
@ -272,7 +272,7 @@ def send_zeropri_transaction(from_node, to_node, amount, fee):
|
|||
Create&broadcast a zero-priority transaction.
|
||||
Returns (txid, hex-encoded-txdata)
|
||||
Ensures transaction is zero-priority by first creating a send-to-self,
|
||||
then using it's output
|
||||
then using its output
|
||||
"""
|
||||
|
||||
# Create a send-to-self with confirmed inputs:
|
||||
|
|
|
@ -62,7 +62,7 @@ class WalletTest (BitcoinTestFramework):
|
|||
walletinfo = self.nodes[0].getwalletinfo()
|
||||
assert_equal(walletinfo['immature_balance'], 0)
|
||||
|
||||
# Have node0 mine a block, thus they will collect their own fee.
|
||||
# Have node0 mine a block, thus it will collect its own fee.
|
||||
self.nodes[0].generate(1)
|
||||
self.sync_all()
|
||||
|
||||
|
|
|
@ -112,7 +112,7 @@ public:
|
|||
* * Addresses are organized into buckets.
|
||||
* * Address that have not yet been tried go into 1024 "new" buckets.
|
||||
* * Based on the address range (/16 for IPv4) of source of the information, 64 buckets are selected at random
|
||||
* * The actual bucket is chosen from one of these, based on the range the address itself is located.
|
||||
* * The actual bucket is chosen from one of these, based on the range in which the address itself is located.
|
||||
* * One single address can occur in up to 8 different buckets, to increase selection chances for addresses that
|
||||
* are seen frequently. The chance for increasing this multiplicity decreases exponentially.
|
||||
* * When adding a new address to a full bucket, a randomly chosen entry (with a bias favoring less recently seen
|
||||
|
|
|
@ -32,14 +32,14 @@ enum bloomflags
|
|||
|
||||
/**
|
||||
* BloomFilter is a probabilistic filter which SPV clients provide
|
||||
* so that we can filter the transactions we sends them.
|
||||
* so that we can filter the transactions we send them.
|
||||
*
|
||||
* This allows for significantly more efficient transaction and block downloads.
|
||||
*
|
||||
* Because bloom filters are probabilistic, an SPV node can increase the false-
|
||||
* positive rate, making us send them transactions which aren't actually theirs,
|
||||
* Because bloom filters are probabilistic, a SPV node can increase the false-
|
||||
* positive rate, making us send it transactions which aren't actually its,
|
||||
* allowing clients to trade more bandwidth for more privacy by obfuscating which
|
||||
* keys are owned by them.
|
||||
* keys are controlled by them.
|
||||
*/
|
||||
class CBloomFilter
|
||||
{
|
||||
|
|
|
@ -93,8 +93,8 @@ protected:
|
|||
};
|
||||
|
||||
/**
|
||||
* Return the currently selected parameters. This won't change after app startup
|
||||
* outside of the unit tests.
|
||||
* Return the currently selected parameters. This won't change after app
|
||||
* startup, except for unit tests.
|
||||
*/
|
||||
const CChainParams &Params();
|
||||
|
||||
|
|
|
@ -34,8 +34,8 @@ protected:
|
|||
};
|
||||
|
||||
/**
|
||||
* Return the currently selected parameters. This won't change after app startup
|
||||
* outside of the unit tests.
|
||||
* Return the currently selected parameters. This won't change after app
|
||||
* startup, except for unit tests.
|
||||
*/
|
||||
const CBaseChainParams& BaseParams();
|
||||
|
||||
|
|
|
@ -54,7 +54,7 @@ private:
|
|||
|
||||
/**
|
||||
* Number of verifications that haven't completed yet.
|
||||
* This includes elements that are not anymore in queue, but still in
|
||||
* This includes elements that are no longer queued, but still in the
|
||||
* worker's own batches.
|
||||
*/
|
||||
unsigned int nTodo;
|
||||
|
@ -81,7 +81,7 @@ private:
|
|||
fAllOk &= fOk;
|
||||
nTodo -= nNow;
|
||||
if (nTodo == 0 && !fMaster)
|
||||
// We processed the last element; inform the master he or she can exit and return the result
|
||||
// We processed the last element; inform the master it can exit and return the result
|
||||
condMaster.notify_one();
|
||||
} else {
|
||||
// first iteration
|
||||
|
@ -136,7 +136,7 @@ public:
|
|||
Loop();
|
||||
}
|
||||
|
||||
//! Wait until execution finishes, and return whether all evaluations where successful.
|
||||
//! Wait until execution finishes, and return whether all evaluations were successful.
|
||||
bool Wait()
|
||||
{
|
||||
return Loop(true);
|
||||
|
|
|
@ -52,7 +52,7 @@ bool fFeeEstimatesInitialized = false;
|
|||
|
||||
#ifdef WIN32
|
||||
// Win32 LevelDB doesn't use filedescriptors, and the ones used for
|
||||
// accessing block files, don't count towards to fd_set size limit
|
||||
// accessing block files don't count towards the fd_set size limit
|
||||
// anyway.
|
||||
#define MIN_CORE_FILEDESCRIPTORS 0
|
||||
#else
|
||||
|
@ -334,7 +334,7 @@ strUsage += HelpMessageOpt("-reindex", _("Rebuild block chain index from current
|
|||
strUsage += HelpMessageOpt("-sendfreetransactions", strprintf(_("Send transactions as zero-fee transactions if possible (default: %u)"), 0));
|
||||
strUsage += HelpMessageOpt("-spendzeroconfchange", strprintf(_("Spend unconfirmed change when sending transactions (default: %u)"), 1));
|
||||
strUsage += HelpMessageOpt("-txconfirmtarget=<n>", strprintf(_("If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)"), 1));
|
||||
strUsage += HelpMessageOpt("-maxtxfee=<amt>", strprintf(_("Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s)"),
|
||||
strUsage += HelpMessageOpt("-maxtxfee=<amt>", strprintf(_("Maximum total fees to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)"),
|
||||
FormatMoney(maxTxFee)));
|
||||
strUsage += HelpMessageOpt("-upgradewallet", _("Upgrade wallet to latest format") + " " + _("on startup"));
|
||||
strUsage += HelpMessageOpt("-wallet=<file>", _("Specify wallet file (within data directory)") + " " + strprintf(_("(default: %s)"), "wallet.dat"));
|
||||
|
|
20
src/main.cpp
20
src/main.cpp
|
@ -941,7 +941,7 @@ bool AcceptToMemoryPool(CTxMemPool& pool, CValidationState &state, const CTransa
|
|||
|
||||
// do all inputs exist?
|
||||
// Note that this does not check for the presence of actual outputs (see the next check for that),
|
||||
// only helps filling in pfMissingInputs (to determine missing vs spent).
|
||||
// and only helps with filling in pfMissingInputs (to determine missing vs spent).
|
||||
BOOST_FOREACH(const CTxIn txin, tx.vin) {
|
||||
if (!view.HaveCoins(txin.prevout.hash)) {
|
||||
if (pfMissingInputs)
|
||||
|
@ -1277,8 +1277,8 @@ void CheckForkWarningConditionsOnNewFork(CBlockIndex* pindexNewForkTip)
|
|||
pfork = pfork->pprev;
|
||||
}
|
||||
|
||||
// We define a condition which we should warn the user about as a fork of at least 7 blocks
|
||||
// who's tip is within 72 blocks (+/- 12 hours if no one mines it) of ours
|
||||
// We define a condition where we should warn the user about as a fork of at least 7 blocks
|
||||
// with a tip within 72 blocks (+/- 12 hours if no one mines it) of ours
|
||||
// We use 7 blocks rather arbitrarily as it represents just under 10% of sustained network
|
||||
// hash rate operating on the fork.
|
||||
// or a chain that is entirely longer than ours and invalid (note that this should be detected by both)
|
||||
|
@ -1719,7 +1719,7 @@ bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockIndex* pin
|
|||
// See BIP30 and http://r6.ca/blog/20120206T005236Z.html for more information.
|
||||
// This logic is not necessary for memory pool transactions, as AcceptToMemoryPool
|
||||
// already refuses previously-known transaction ids entirely.
|
||||
// This rule was originally applied all blocks whose timestamp was after March 15, 2012, 0:00 UTC.
|
||||
// This rule was originally applied to all blocks with a timestamp after March 15, 2012, 0:00 UTC.
|
||||
// Now that the whole chain is irreversibly beyond that time it is applied to all blocks except the
|
||||
// two in the chain that violate it. This prevents exploiting the issue against nodes in their
|
||||
// initial block download.
|
||||
|
@ -1984,7 +1984,7 @@ void static UpdateTip(CBlockIndex *pindexNew) {
|
|||
if (nUpgraded > 100/2)
|
||||
{
|
||||
// strMiscWarning is read by GetWarnings(), called by Qt and the JSON-RPC code to warn the user:
|
||||
strMiscWarning = _("Warning: This version is obsolete, upgrade required!");
|
||||
strMiscWarning = _("Warning: This version is obsolete; upgrade required!");
|
||||
CAlert::Notify(strMiscWarning, true);
|
||||
fWarned = true;
|
||||
}
|
||||
|
@ -3732,7 +3732,7 @@ void static ProcessGetData(CNode* pfrom)
|
|||
pfrom->PushMessage("merkleblock", merkleBlock);
|
||||
// CMerkleBlock just contains hashes, so also push any transactions in the block the client did not see
|
||||
// This avoids hurting performance by pointlessly requiring a round-trip
|
||||
// Note that there is currently no way for a node to request any single transactions we didnt send here -
|
||||
// Note that there is currently no way for a node to request any single transactions we didn't send here -
|
||||
// they must either disconnect and retry or request the full block.
|
||||
// Thus, the protocol spec specified allows for us to provide duplicate txn here,
|
||||
// however we MUST always provide at least what the remote peer needs
|
||||
|
@ -4059,7 +4059,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
|
|||
if (inv.type == MSG_BLOCK) {
|
||||
UpdateBlockAvailability(pfrom->GetId(), inv.hash);
|
||||
if (!fAlreadyHave && !fImporting && !fReindex && !mapBlocksInFlight.count(inv.hash)) {
|
||||
// First request the headers preceeding the announced block. In the normal fully-synced
|
||||
// First request the headers preceding the announced block. In the normal fully-synced
|
||||
// case where a new block is announced that succeeds the current tip (no reorganization),
|
||||
// there are no such headers.
|
||||
// Secondly, and only when we are close to being synced, we request the announced block directly,
|
||||
|
@ -4466,7 +4466,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
|
|||
// Nonce mismatches are normal when pings are overlapping
|
||||
sProblem = "Nonce mismatch";
|
||||
if (nonce == 0) {
|
||||
// This is most likely a bug in another implementation somewhere, cancel this ping
|
||||
// This is most likely a bug in another implementation somewhere; cancel this ping
|
||||
bPingFinished = true;
|
||||
sProblem = "Nonce zero";
|
||||
}
|
||||
|
@ -4475,7 +4475,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
|
|||
sProblem = "Unsolicited pong without ping";
|
||||
}
|
||||
} else {
|
||||
// This is most likely a bug in another implementation somewhere, cancel this ping
|
||||
// This is most likely a bug in another implementation somewhere; cancel this ping
|
||||
bPingFinished = true;
|
||||
sProblem = "Short payload";
|
||||
}
|
||||
|
@ -4918,7 +4918,7 @@ bool SendMessages(CNode* pto, bool fSendTrickle)
|
|||
// In case there is a block that has been in flight from this peer for (2 + 0.5 * N) times the block interval
|
||||
// (with N the number of validated blocks that were in flight at the time it was requested), disconnect due to
|
||||
// timeout. We compensate for in-flight blocks to prevent killing off peers due to our own downstream link
|
||||
// being saturated. We only count validated in-flight blocks so peers can't advertize nonexisting block hashes
|
||||
// being saturated. We only count validated in-flight blocks so peers can't advertise non-existing block hashes
|
||||
// to unreasonably increase our timeout.
|
||||
if (!pto->fDisconnect && state.vBlocksInFlight.size() > 0 && state.vBlocksInFlight.front().nTime < nNow - 500000 * consensusParams.nPowTargetSpacing * (4 + state.vBlocksInFlight.front().nValidatedQueuedBefore)) {
|
||||
LogPrintf("Timeout downloading block %s from peer=%d, disconnecting\n", state.vBlocksInFlight.front().hash.ToString(), pto->id);
|
||||
|
|
|
@ -75,7 +75,7 @@ static const int MAX_BLOCKS_IN_TRANSIT_PER_PEER = 16;
|
|||
/** Timeout in seconds during which a peer must stall block download progress before being disconnected. */
|
||||
static const unsigned int BLOCK_STALLING_TIMEOUT = 2;
|
||||
/** Number of headers sent in one getheaders result. We rely on the assumption that if a peer sends
|
||||
* less than this number, we reached their tip. Changing this value is a protocol upgrade. */
|
||||
* less than this number, we reached its tip. Changing this value is a protocol upgrade. */
|
||||
static const unsigned int MAX_HEADERS_RESULTS = 2000;
|
||||
/** Size of the "block download window": how far ahead of our current height do we fetch?
|
||||
* Larger windows tolerate larger download speed differences between peer, but increase the potential
|
||||
|
|
|
@ -119,8 +119,8 @@ uint256 CPartialMerkleTree::TraverseAndExtract(int height, unsigned int pos, uns
|
|||
if (pos*2+1 < CalcTreeWidth(height-1)) {
|
||||
right = TraverseAndExtract(height-1, pos*2+1, nBitsUsed, nHashUsed, vMatch);
|
||||
if (right == left) {
|
||||
// If the left and right branch should never be identical as the transaction
|
||||
// hashes covered by them must be unique.
|
||||
// The left and right branches should never be identical, as the transaction
|
||||
// hashes covered by them must each be unique.
|
||||
fBad = true;
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -104,7 +104,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
/** Construct a partial merkle tree from a list of transaction id's, and a mask that selects a subset of them */
|
||||
/** Construct a partial merkle tree from a list of transaction ids, and a mask that selects a subset of them */
|
||||
CPartialMerkleTree(const std::vector<uint256> &vTxid, const std::vector<bool> &vMatch);
|
||||
|
||||
CPartialMerkleTree();
|
||||
|
|
|
@ -271,8 +271,8 @@ public:
|
|||
bool fDisconnect;
|
||||
// We use fRelayTxes for two purposes -
|
||||
// a) it allows us to not relay tx invs before receiving the peer's version message
|
||||
// b) the peer may tell us in their version message that we should not relay tx invs
|
||||
// until they have initialized their bloom filter.
|
||||
// b) the peer may tell us in its version message that we should not relay tx invs
|
||||
// until it has initialized its bloom filter.
|
||||
bool fRelayTxes;
|
||||
CSemaphoreGrant grantOutbound;
|
||||
CCriticalSection cs_filter;
|
||||
|
|
|
@ -62,7 +62,7 @@ AskPassphraseDialog::AskPassphraseDialog(Mode mode, QWidget *parent) :
|
|||
break;
|
||||
case ChangePass: // Ask old passphrase + new passphrase x2
|
||||
setWindowTitle(tr("Change passphrase"));
|
||||
ui->warningLabel->setText(tr("Enter the old and new passphrase to the wallet."));
|
||||
ui->warningLabel->setText(tr("Enter the old passphrase and new passphrase to the wallet."));
|
||||
break;
|
||||
}
|
||||
textChanged();
|
||||
|
|
|
@ -129,11 +129,11 @@ CoinControlDialog::CoinControlDialog(QWidget *parent) :
|
|||
ui->treeWidget->setColumnWidth(COLUMN_DATE, 110);
|
||||
ui->treeWidget->setColumnWidth(COLUMN_CONFIRMATIONS, 100);
|
||||
ui->treeWidget->setColumnWidth(COLUMN_PRIORITY, 100);
|
||||
ui->treeWidget->setColumnHidden(COLUMN_TXHASH, true); // store transacton hash in this column, but dont show it
|
||||
ui->treeWidget->setColumnHidden(COLUMN_VOUT_INDEX, true); // store vout index in this column, but dont show it
|
||||
ui->treeWidget->setColumnHidden(COLUMN_AMOUNT_INT64, true); // store amount int64 in this column, but dont show it
|
||||
ui->treeWidget->setColumnHidden(COLUMN_PRIORITY_INT64, true); // store priority int64 in this column, but dont show it
|
||||
ui->treeWidget->setColumnHidden(COLUMN_DATE_INT64, true); // store date int64 in this column, but dont show it
|
||||
ui->treeWidget->setColumnHidden(COLUMN_TXHASH, true); // store transacton hash in this column, but don't show it
|
||||
ui->treeWidget->setColumnHidden(COLUMN_VOUT_INDEX, true); // store vout index in this column, but don't show it
|
||||
ui->treeWidget->setColumnHidden(COLUMN_AMOUNT_INT64, true); // store amount int64 in this column, but don't show it
|
||||
ui->treeWidget->setColumnHidden(COLUMN_PRIORITY_INT64, true); // store priority int64 in this column, but don't show it
|
||||
ui->treeWidget->setColumnHidden(COLUMN_DATE_INT64, true); // store date int64 in this column, but don't show it
|
||||
|
||||
// default view is sorted by amount desc
|
||||
sortView(COLUMN_AMOUNT_INT64, Qt::DescendingOrder);
|
||||
|
@ -408,8 +408,8 @@ void CoinControlDialog::viewItemChanged(QTreeWidgetItem* item, int column)
|
|||
}
|
||||
|
||||
// todo: this is a temporary qt5 fix: when clicking a parent node in tree mode, the parent node
|
||||
// including all childs are partially selected. But the parent node should be fully selected
|
||||
// as well as the childs. Childs should never be partially selected in the first place.
|
||||
// including all children are partially selected. But the parent node should be fully selected
|
||||
// as well as the children. Children should never be partially selected in the first place.
|
||||
// Please remove this ugly fix, once the bug is solved upstream.
|
||||
#if QT_VERSION >= 0x050000
|
||||
else if (column == COLUMN_CHECKBOX && item->childCount() > 0)
|
||||
|
@ -635,15 +635,15 @@ void CoinControlDialog::updateLabels(WalletModel *model, QDialog* dialog)
|
|||
l7->setStyleSheet((fDust) ? "color:red;" : ""); // Dust = "yes"
|
||||
|
||||
// tool tips
|
||||
QString toolTip1 = tr("This label turns red, if the transaction size is greater than 1000 bytes.") + "<br /><br />";
|
||||
QString toolTip1 = tr("This label turns red if the transaction size is greater than 1000 bytes.") + "<br /><br />";
|
||||
toolTip1 += tr("This means a fee of at least %1 per kB is required.").arg(BitcoinUnits::formatWithUnit(nDisplayUnit, CWallet::minTxFee.GetFeePerK())) + "<br /><br />";
|
||||
toolTip1 += tr("Can vary +/- 1 byte per input.");
|
||||
|
||||
QString toolTip2 = tr("Transactions with higher priority are more likely to get included into a block.") + "<br /><br />";
|
||||
toolTip2 += tr("This label turns red, if the priority is smaller than \"medium\".") + "<br /><br />";
|
||||
toolTip2 += tr("This label turns red if the priority is smaller than \"medium\".") + "<br /><br />";
|
||||
toolTip2 += tr("This means a fee of at least %1 per kB is required.").arg(BitcoinUnits::formatWithUnit(nDisplayUnit, CWallet::minTxFee.GetFeePerK()));
|
||||
|
||||
QString toolTip3 = tr("This label turns red, if any recipient receives an amount smaller than %1.").arg(BitcoinUnits::formatWithUnit(nDisplayUnit, ::minRelayTxFee.GetFee(546)));
|
||||
QString toolTip3 = tr("This label turns red if any recipient receives an amount smaller than %1.").arg(BitcoinUnits::formatWithUnit(nDisplayUnit, ::minRelayTxFee.GetFee(546)));
|
||||
|
||||
// how many satoshis the estimated fee can vary per byte we guess wrong
|
||||
double dFeeVary;
|
||||
|
|
|
@ -208,7 +208,7 @@ void OptionsDialog::on_resetButton_clicked()
|
|||
{
|
||||
// confirmation dialog
|
||||
QMessageBox::StandardButton btnRetVal = QMessageBox::question(this, tr("Confirm options reset"),
|
||||
tr("Client restart required to activate changes.") + "<br><br>" + tr("Client will be shutdown, do you want to proceed?"),
|
||||
tr("Client restart required to activate changes.") + "<br><br>" + tr("Client will be shut down. Do you want to proceed?"),
|
||||
QMessageBox::Yes | QMessageBox::Cancel, QMessageBox::Cancel);
|
||||
|
||||
if(btnRetVal == QMessageBox::Cancel)
|
||||
|
|
|
@ -505,7 +505,7 @@ void SendCoinsDialog::processSendCoinsReturn(const WalletModel::SendCoinsReturn
|
|||
switch(sendCoinsReturn.status)
|
||||
{
|
||||
case WalletModel::InvalidAddress:
|
||||
msgParams.first = tr("The recipient address is not valid, please recheck.");
|
||||
msgParams.first = tr("The recipient address is not valid. Please recheck.");
|
||||
break;
|
||||
case WalletModel::InvalidAmount:
|
||||
msgParams.first = tr("The amount to pay must be larger than 0.");
|
||||
|
@ -517,7 +517,7 @@ void SendCoinsDialog::processSendCoinsReturn(const WalletModel::SendCoinsReturn
|
|||
msgParams.first = tr("The total exceeds your balance when the %1 transaction fee is included.").arg(msgArg);
|
||||
break;
|
||||
case WalletModel::DuplicateAddress:
|
||||
msgParams.first = tr("Duplicate address found, can only send to each address once per send operation.");
|
||||
msgParams.first = tr("Duplicate address found: can only send to each address once per send operation.");
|
||||
break;
|
||||
case WalletModel::TransactionCreationFailed:
|
||||
msgParams.first = tr("Transaction creation failed!");
|
||||
|
|
|
@ -216,7 +216,7 @@ void SendCoinsEntry::setValue(const SendCoinsRecipient &value)
|
|||
|
||||
ui->addAsLabel->clear();
|
||||
ui->payTo->setText(recipient.address); // this may set a label from addressbook
|
||||
if (!recipient.label.isEmpty()) // if a label had been set from the addressbook, dont overwrite with an empty label
|
||||
if (!recipient.label.isEmpty()) // if a label had been set from the addressbook, don't overwrite with an empty label
|
||||
ui->addAsLabel->setText(recipient.label);
|
||||
ui->payAmount->setValue(recipient.amount);
|
||||
}
|
||||
|
|
|
@ -529,7 +529,7 @@ bool CWallet::EncryptWallet(const SecureString& strWalletPassphrase)
|
|||
delete pwalletdbEncryption;
|
||||
}
|
||||
// We now probably have half of our keys encrypted in memory, and half not...
|
||||
// die and let the user reload their unencrypted wallet.
|
||||
// die and let the user reload the unencrypted wallet.
|
||||
assert(false);
|
||||
}
|
||||
|
||||
|
@ -541,7 +541,7 @@ bool CWallet::EncryptWallet(const SecureString& strWalletPassphrase)
|
|||
if (!pwalletdbEncryption->TxnCommit()) {
|
||||
delete pwalletdbEncryption;
|
||||
// We now have keys encrypted in memory, but not on disk...
|
||||
// die to avoid confusion and let the user reload their unencrypted wallet.
|
||||
// die to avoid confusion and let the user reload the unencrypted wallet.
|
||||
assert(false);
|
||||
}
|
||||
|
||||
|
@ -1097,7 +1097,7 @@ int CWallet::ScanForWalletTransactions(CBlockIndex* pindexStart, bool fUpdate)
|
|||
|
||||
void CWallet::ReacceptWalletTransactions()
|
||||
{
|
||||
// If transcations aren't broadcasted, don't let them into local mempool either
|
||||
// If transactions aren't being broadcasted, don't let them into local mempool either
|
||||
if (!fBroadcastTransactions)
|
||||
return;
|
||||
LOCK2(cs_main, cs_wallet);
|
||||
|
|
Loading…
Reference in a new issue