Merge bitcoin/bitcoin#32644: doc: miscellaneous changes
e50312eab0doc: fix typos (fanquake)c797e50ddaci: update codespell to 2.4.1 (fanquake)21ee656337doc: Remove obselete link in notificator.cpp (strmfos)ee4406c04adoc: update URLs (fanquake) Pull request description: A round up of #32629 + some other changes that had previously been PR'd. ACKs for top commit: maflcko: review ACKe50312eab0🥗 Tree-SHA512: 8fa3e14fdfa0cf65a42debc9cbb1f8b379aba44aa185e2e27337431e884d169bf1e811655c3a884d918e65ea28c5767ddaabaf25c862ebd9b4b38a0229ec5a93
This commit is contained in:
31 files changed
+42
-45
No files matched your search
+4
-4
@@ -80,7 +80,7 @@ facilitates social contribution, easy testing and peer review.
|
||||
|
||||
To contribute a patch, the workflow is as follows:
|
||||
|
||||
1. Fork repository ([only for the first time](https://docs.github.com/en/get-started/quickstart/fork-a-repo))
|
||||
1. Fork repository ([only for the first time](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo))
|
||||
1. Create topic branch
|
||||
1. Commit patches
|
||||
|
||||
@@ -121,7 +121,7 @@ Commit messages should be verbose by default consisting of a short subject line
|
||||
paragraph(s), unless the title alone is self-explanatory (like "Correct typo
|
||||
in init.cpp") in which case a single title line is sufficient. Commit messages should be
|
||||
helpful to people reading your code in the future, so explain the reasoning for
|
||||
your decisions. Further explanation [here](https://chris.beams.io/posts/git-commit/).
|
||||
your decisions. Further explanation [here](https://cbea.ms/git-commit/).
|
||||
|
||||
If a particular commit references another issue, please add the reference. For
|
||||
example: `refs #1234` or `fixes #4321`. Using the `fixes` or `closes` keywords
|
||||
@@ -182,7 +182,7 @@ for more information on helping with translations.
|
||||
### Work in Progress Changes and Requests for Comments
|
||||
|
||||
If a pull request is not to be considered for merging (yet), please
|
||||
prefix the title with [WIP] or use [Tasks Lists](https://docs.github.com/en/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#task-lists)
|
||||
prefix the title with [WIP] or use [Tasks Lists](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#task-lists)
|
||||
in the body of the pull request to indicate tasks are pending.
|
||||
|
||||
### Address Feedback
|
||||
@@ -401,7 +401,7 @@ about:
|
||||
- It may be because your code is too complex for all but a few people, and those people
|
||||
may not have realized your pull request even exists. A great way to find people who
|
||||
are qualified and care about the code you are touching is the
|
||||
[Git Blame feature](https://docs.github.com/en/github/managing-files-in-a-repository/managing-files-on-github/tracking-changes-in-a-file). Simply
|
||||
[Git Blame feature](https://docs.github.com/en/repositories/working-with-files/using-files/viewing-and-understanding-files). Simply
|
||||
look up who last modified the code you are changing and see if you can find
|
||||
them and give them a nudge. Don't be incessant about the nudging, though.
|
||||
- Finally, if all else fails, ask on IRC or elsewhere for someone to give your pull request
|
||||
|
||||
@@ -37,7 +37,7 @@ command -v python3
|
||||
python3 --version
|
||||
|
||||
${CI_RETRY_EXE} pip3 install \
|
||||
codespell==2.2.6 \
|
||||
codespell==2.4.1 \
|
||||
lief==0.13.2 \
|
||||
mypy==1.4.1 \
|
||||
pyzmq==25.1.0 \
|
||||
|
||||
@@ -54,7 +54,7 @@ def run():
|
||||
out_sdktgz_path = pathlib.Path("./{}.tar.gz".format(out_name))
|
||||
|
||||
def tarfp_add_with_base_change(tarfp, dir_to_add, alt_base_dir):
|
||||
"""Add all files in dir_to_add to tarfp, but prepent alt_base_dir to the files'
|
||||
"""Add all files in dir_to_add to tarfp, but prepend alt_base_dir to the files'
|
||||
names
|
||||
|
||||
e.g. if the only file under /root/bazdir is /root/bazdir/qux, invoking:
|
||||
|
||||
@@ -152,7 +152,7 @@ if res:
|
||||
elif res.status_code == 404:
|
||||
print('The specified faucet URL does not exist. Please check for any server issues/typo.')
|
||||
elif res.status_code == 429:
|
||||
print('The script does not allow for repeated transactions as the global faucet is rate-limitied to 1 request/IP/day. You can access the faucet website to get more coins manually')
|
||||
print('The script does not allow for repeated transactions as the global faucet is rate-limited to 1 request/IP/day. You can access the faucet website to get more coins manually')
|
||||
else:
|
||||
print(f'Returned Error Code {res.status_code}\n{res.text}\n')
|
||||
print('Please check the provided arguments for their validity and/or any possible typo.')
|
||||
@@ -19,7 +19,7 @@ The former is assumed hereinafter.
|
||||
|
||||
### 2. Git
|
||||
|
||||
Download and install [Git for Windows](https://git-scm.com/download/win). Once installed, Git is available from PowerShell or the Command Prompt.
|
||||
Download and install [Git for Windows](https://git-scm.com/downloads/win). Once installed, Git is available from PowerShell or the Command Prompt.
|
||||
|
||||
### 3. Clone Bitcoin Repository
|
||||
|
||||
|
||||
+1
-1
@@ -98,7 +98,7 @@ Subdirectory | File | Description
|
||||
|
||||
## GUI settings
|
||||
|
||||
`bitcoin-qt` uses [`QSettings`](https://doc.qt.io/qt-5/qsettings.html) class; this implies platform-specific [locations where application settings are stored](https://doc.qt.io/qt-5/qsettings.html#locations-where-application-settings-are-stored).
|
||||
`bitcoin-qt` uses [`QSettings`](https://doc.qt.io/qt-6/qsettings.html) class; this implies platform-specific [locations where application settings are stored](https://doc.qt.io/qt-6/qsettings.html#locations-where-application-settings-are-stored).
|
||||
|
||||
## Legacy subdirectories and files
|
||||
|
||||
|
||||
+1
-1
@@ -194,7 +194,7 @@ You can do:
|
||||
git range-diff master previously-reviewed-head new-head
|
||||
```
|
||||
|
||||
Note that `git range-diff` also work for rebases:
|
||||
Note that `git range-diff` also works for rebases:
|
||||
|
||||
```
|
||||
P1--P2--P3--P4--P5 <-- previously-reviewed-head
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
- Logs now include which peer sent us a header. Additionaly there are fewer
|
||||
- Logs now include which peer sent us a header. Additionally there are fewer
|
||||
redundant header log messages. A side-effect of this change is that for
|
||||
some untypical cases new headers aren't logged anymore, e.g. a direct
|
||||
`BLOCK` message with a previously unknown header and `submitheader` RPC. (#27826)
|
||||
+1
-1
@@ -45,7 +45,7 @@ The two main eBPF front-ends with support for USDT are [bpftrace] and
|
||||
`bpftrace` is preferred for one-liners and shorter scripts. Examples for both can
|
||||
be found in [contrib/tracing].
|
||||
|
||||
[bpftrace]: https://github.com/iovisor/bpftrace
|
||||
[bpftrace]: https://github.com/bpftrace/bpftrace
|
||||
[BPF Compiler Collection (BCC)]: https://github.com/iovisor/bcc
|
||||
[contrib/tracing]: ../contrib/tracing/
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ Transifex is setup to monitor the GitHub repo for updates, and when code contain
|
||||
|
||||
Multiple language support is critical in assisting Bitcoin’s global adoption, and growth. One of Bitcoin’s greatest strengths is cross-border money transfers, any help making that easier is greatly appreciated.
|
||||
|
||||
See the [Transifex Bitcoin project](https://www.transifex.com/bitcoin/bitcoin/) to assist in translations. You should also join the translation mailing list for announcements - see details below.
|
||||
See the [Transifex Bitcoin project](https://explore.transifex.com/bitcoin/bitcoin/) to assist in translations. You should also join the translation mailing list for announcements - see details below.
|
||||
|
||||
### Writing code with translations
|
||||
We use automated scripts to help extract translations in both Qt, and non-Qt source files. It is rarely necessary to manually edit the files in `src/qt/locale/`. The translation source files must adhere to the following format:
|
||||
@@ -39,9 +39,9 @@ git commit
|
||||
```
|
||||
|
||||
### Creating a Transifex account
|
||||
Visit the [Transifex Signup](https://www.transifex.com/signup/) page to create an account. Take note of your username and password, as they will be required to configure the command-line tool.
|
||||
Visit the [Transifex Signup](https://app.transifex.com/signup/open-source/) page to create an account. Take note of your username and password, as they will be required to configure the command-line tool.
|
||||
|
||||
You can find the Bitcoin translation project at [https://www.transifex.com/bitcoin/bitcoin/](https://www.transifex.com/bitcoin/bitcoin/).
|
||||
You can find the Bitcoin translation project at [https://www.transifex.com/bitcoin/bitcoin/](https://explore.transifex.com/bitcoin/bitcoin/).
|
||||
|
||||
### Installing the Transifex client command-line tool
|
||||
The client is used to fetch updated translations. Please check installation instructions and any other details at https://developers.transifex.com/docs/cli.
|
||||
|
||||
+2
-2
@@ -127,7 +127,7 @@ serialized transaction.
|
||||
|
||||
Notifies about all transactions, both when they are added to mempool or when a new block
|
||||
arrives. This means a transaction could be published multiple times: first when it enters
|
||||
mempool and then again in each block that includes it. The body part of the mesage is the
|
||||
mempool and then again in each block that includes it. The body part of the message is the
|
||||
32-byte transaction hash in reversed byte order.
|
||||
|
||||
#### rawblock
|
||||
@@ -154,7 +154,7 @@ The 8-byte LE uints correspond to _mempool sequence number_ and the types of bod
|
||||
### Implementing ZMQ client
|
||||
|
||||
ZeroMQ endpoint specifiers for TCP (and others) are documented in the
|
||||
[ZeroMQ API](http://api.zeromq.org/4-0:_start).
|
||||
[ZeroMQ API](https://libzmq.readthedocs.io/en/zeromq4-x/).
|
||||
|
||||
Client side, then, the ZeroMQ subscriber socket must have the
|
||||
ZMQ_SUBSCRIBE option set to one or either of these prefixes (for
|
||||
|
||||
@@ -309,7 +309,7 @@ std::vector<CNetAddr> GetLocalAddresses()
|
||||
if (status != NO_ERROR) {
|
||||
// This includes ERROR_NO_DATA if there are no addresses and thus there's not even one PIP_ADAPTER_ADDRESSES
|
||||
// record in the returned structure.
|
||||
LogPrintLevel(BCLog::NET, BCLog::Level::Error, "Could not get local adapter addreses: %s\n", NetworkErrorString(status));
|
||||
LogPrintLevel(BCLog::NET, BCLog::Level::Error, "Could not get local adapter addresses: %s\n", NetworkErrorString(status));
|
||||
return addresses;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -182,7 +182,7 @@ bool CNetAddr::SetInternal(const std::string &name)
|
||||
}
|
||||
|
||||
namespace torv3 {
|
||||
// https://gitweb.torproject.org/torspec.git/tree/rend-spec-v3.txt?id=7116c9cdaba248aae07a3f1d0e15d9dd102f62c5#n2175
|
||||
// https://gitlab.torproject.org/tpo/core/torspec/-/tree/main/spec/rend-spec
|
||||
static constexpr size_t CHECKSUM_LEN = 2;
|
||||
static const unsigned char VERSION[] = {3};
|
||||
static constexpr size_t TOTAL_LEN = ADDR_TORV3_SIZE + CHECKSUM_LEN + sizeof(VERSION);
|
||||
|
||||
@@ -141,7 +141,6 @@ QVariant FreedesktopImage::toVariant(const QImage &img)
|
||||
|
||||
void Notificator::notifyDBus(Class cls, const QString &title, const QString &text, const QIcon &icon, int millisTimeout)
|
||||
{
|
||||
// https://developer.gnome.org/notification-spec/
|
||||
// Arguments for DBus "Notify" call:
|
||||
QList<QVariant> args;
|
||||
|
||||
|
||||
+3
-3
@@ -23,8 +23,8 @@
|
||||
* but uses JSON-RPC 1.1/2.0 standards for parts of the 1.0 standard that were
|
||||
* unspecified (HTTP errors and contents of 'error').
|
||||
*
|
||||
* 1.0 spec: http://json-rpc.org/wiki/specification
|
||||
* 1.2 spec: http://jsonrpc.org/historical/json-rpc-over-http.html
|
||||
* 1.0 spec: https://www.jsonrpc.org/specification_v1
|
||||
* 1.2 spec: https://jsonrpc.org/historical/json-rpc-over-http.html
|
||||
*
|
||||
* If the server receives a request with the JSON-RPC 2.0 marker `{"jsonrpc": "2.0"}`
|
||||
* then Bitcoin will respond with a strictly specified response.
|
||||
@@ -35,7 +35,7 @@
|
||||
*
|
||||
* 2.0 spec: https://www.jsonrpc.org/specification
|
||||
*
|
||||
* Also see http://www.simple-is-better.org/rpc/#differences-between-1-0-and-2-0
|
||||
* Also see https://www.simple-is-better.org/rpc/#differences-between-1-0-and-2-0
|
||||
*/
|
||||
|
||||
UniValue JSONRPCRequestObj(const std::string& strMethod, const UniValue& params, const UniValue& id)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
["The following is 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63"],
|
||||
["It is of particular interest because it contains an invalidly-encoded signature which OpenSSL accepts"],
|
||||
["See http://r6.ca/blog/20111119T211504Z.html"],
|
||||
["See https://r6.ca/blog/20111119T211504Z.html"],
|
||||
["It is also the first OP_CHECKMULTISIG transaction in standard form"],
|
||||
[[["60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1", 0, "1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG"]],
|
||||
"0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba26000000000490047304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2b01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000", "DERSIG,LOW_S,STRICTENC"],
|
||||
|
||||
@@ -198,7 +198,7 @@ FUZZ_TARGET(muhash)
|
||||
muhash3.Finalize(out2);
|
||||
},
|
||||
[&] {
|
||||
// Test that dividing a MuHash by itself brings it back to it's initial state
|
||||
// Test that dividing a MuHash by itself brings it back to its initial state
|
||||
|
||||
// See note about clang + self-assignment in test/uint256_tests.cpp
|
||||
#if defined(__clang__)
|
||||
@@ -216,7 +216,7 @@ FUZZ_TARGET(muhash)
|
||||
out2 = initial_state_hash;
|
||||
},
|
||||
[&] {
|
||||
// Test that removing all added elements brings the object back to it's initial state
|
||||
// Test that removing all added elements brings the object back to its initial state
|
||||
muhash.Remove(data);
|
||||
muhash.Remove(data2);
|
||||
muhash.Finalize(out);
|
||||
|
||||
@@ -32,9 +32,9 @@ public:
|
||||
PeerManager::Options peerman_opts;
|
||||
node::ApplyArgsManOptions(*m_node.args, peerman_opts);
|
||||
peerman_opts.max_headers_result = FUZZ_MAX_HEADERS_RESULTS;
|
||||
// The peerman's rng is a global that is re-used, so it will be re-used
|
||||
// The peerman's rng is a global that is reused, so it will be reused
|
||||
// and may cause non-determinism between runs. This may even influence
|
||||
// the global RNG, because seeding may be done from the gloabl one. For
|
||||
// the global RNG, because seeding may be done from the global one. For
|
||||
// now, avoid it influencing the global RNG, and initialize it with a
|
||||
// constant instead.
|
||||
peerman_opts.deterministic_rng = true;
|
||||
|
||||
@@ -27,7 +27,7 @@ FUZZ_TARGET(policy_estimator_io, .init = initialize_policy_estimator_io)
|
||||
FuzzedDataProvider fuzzed_data_provider(buffer.data(), buffer.size());
|
||||
FuzzedFileProvider fuzzed_file_provider{fuzzed_data_provider};
|
||||
AutoFile fuzzed_auto_file{fuzzed_file_provider.open()};
|
||||
// Re-using block_policy_estimator across runs to avoid costly creation of CBlockPolicyEstimator object.
|
||||
// Reusing block_policy_estimator across runs to avoid costly creation of CBlockPolicyEstimator object.
|
||||
static CBlockPolicyEstimator block_policy_estimator{FeeestPath(*g_setup->m_node.args), DEFAULT_ACCEPT_STALE_FEE_ESTIMATES};
|
||||
if (block_policy_estimator.Read(fuzzed_auto_file)) {
|
||||
block_policy_estimator.Write(fuzzed_auto_file);
|
||||
|
||||
@@ -104,7 +104,7 @@ void utxo_snapshot_fuzz(FuzzBufferType buffer)
|
||||
FuzzedDataProvider fuzzed_data_provider(buffer.data(), buffer.size());
|
||||
SetMockTime(ConsumeTime(fuzzed_data_provider, /*min=*/1296688602)); // regtest genesis block timestamp
|
||||
auto& setup{*g_setup};
|
||||
bool dirty_chainman{false}; // Re-use the global chainman, but reset it when it is dirty
|
||||
bool dirty_chainman{false}; // Reuse the global chainman, but reset it when it is dirty
|
||||
auto& chainman{*setup.m_node.chainman};
|
||||
|
||||
const auto snapshot_path = gArgs.GetDataDirNet() / "fuzzed_snapshot.dat";
|
||||
|
||||
@@ -53,7 +53,7 @@ static std::string TempPath(std::string_view pattern)
|
||||
//! on the object through FooInterface (defined in ipc_test.capnp).
|
||||
void IpcPipeTest()
|
||||
{
|
||||
// Setup: create FooImplemention object and listen for FooInterface requests
|
||||
// Setup: create FooImplementation object and listen for FooInterface requests
|
||||
std::promise<std::unique_ptr<mp::ProxyClient<gen::FooInterface>>> foo_promise;
|
||||
std::function<void()> disconnect_client;
|
||||
std::thread thread([&]() {
|
||||
|
||||
@@ -563,7 +563,7 @@ BOOST_FIXTURE_TEST_CASE(calc_feerate_diagram_rbf, TestChain100Setup)
|
||||
BOOST_CHECK(replace_two_chunks_single_cluster->second == expected_new_chunks);
|
||||
}
|
||||
|
||||
// You can have more than two direct conflicts if the there are multiple affected clusters, all of size 2 or less
|
||||
// You can have more than two direct conflicts if there are multiple affected clusters, all of size 2 or less
|
||||
const auto conflict_1 = make_tx(/*inputs=*/ {m_coinbase_txns[2]}, /*output_values=*/ {10 * COIN});
|
||||
AddToMempool(pool, entry.Fee(low_fee).FromTx(conflict_1));
|
||||
const auto conflict_1_entry = pool.GetIter(conflict_1->GetHash()).value();
|
||||
|
||||
@@ -51,7 +51,7 @@ BOOST_AUTO_TEST_CASE(ForgetPeerTest)
|
||||
TxReconciliationTracker tracker(TXRECONCILIATION_VERSION);
|
||||
NodeId peer_id0 = 0;
|
||||
|
||||
// Removing peer after pre-registring works and does not let to register the peer.
|
||||
// Removing peer after pre-registering works and does not let to register the peer.
|
||||
tracker.PreRegisterPeer(peer_id0);
|
||||
tracker.ForgetPeer(peer_id0);
|
||||
BOOST_CHECK_EQUAL(tracker.RegisterPeer(peer_id0, true, 1, 1), ReconciliationRegisterResult::NOT_FOUND);
|
||||
|
||||
+1
-1
@@ -324,7 +324,7 @@ private:
|
||||
ChunkIndex m_main_chunkindex;
|
||||
/** Number of index-observing objects in existence (BlockBuilderImpls). */
|
||||
size_t m_main_chunkindex_observers{0};
|
||||
/** Cache of discarded ChunkIndex node handles to re-use, avoiding additional allocation. */
|
||||
/** Cache of discarded ChunkIndex node handles to reuse, avoiding additional allocation. */
|
||||
std::vector<ChunkIndex::node_type> m_main_chunkindex_discarded;
|
||||
|
||||
/** A Locator that describes whether, where, and in which Cluster an Entry appears.
|
||||
|
||||
+1
-1
@@ -2506,7 +2506,7 @@ bool Chainstate::ConnectBlock(const CBlock& block, BlockValidationState& state,
|
||||
// If such overwrites are allowed, coinbases and transactions depending upon those
|
||||
// can be duplicated to remove the ability to spend the first instance -- even after
|
||||
// being sent to another address.
|
||||
// See BIP30, CVE-2012-1909, and http://r6.ca/blog/20120206T005236Z.html for more information.
|
||||
// See BIP30, CVE-2012-1909, and https://r6.ca/blog/20120206T005236Z.html for more information.
|
||||
// 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 during their
|
||||
|
||||
+1
-1
@@ -61,7 +61,7 @@ bool DumpWallet(const ArgsManager& args, WalletDatabase& db, bilingual_str& erro
|
||||
|
||||
// Write out the file format
|
||||
std::string format = db.Format();
|
||||
// BDB files that are opened using BerkeleyRODatabase have it's format as "bdb_ro"
|
||||
// BDB files that are opened using BerkeleyRODatabase have its format as "bdb_ro"
|
||||
// We want to override that format back to "bdb"
|
||||
if (format == "bdb_ro") {
|
||||
format = "bdb";
|
||||
|
||||
@@ -1042,7 +1042,7 @@ bool DescriptorScriptPubKeyMan::TopUpWithDB(WalletBatch& batch, unsigned int siz
|
||||
const CPubKey& pubkey = pk_pair.second;
|
||||
if (m_map_pubkeys.count(pubkey) != 0) {
|
||||
// We don't need to give an error here.
|
||||
// It doesn't matter which of many valid indexes the pubkey has, we just need an index where we can derive it and it's private key
|
||||
// It doesn't matter which of many valid indexes the pubkey has, we just need an index where we can derive it and its private key
|
||||
continue;
|
||||
}
|
||||
m_map_pubkeys[pubkey] = i;
|
||||
@@ -1447,7 +1447,7 @@ void DescriptorScriptPubKeyMan::SetCache(const DescriptorCache& cache)
|
||||
const CPubKey& pubkey = pk_pair.second;
|
||||
if (m_map_pubkeys.count(pubkey) != 0) {
|
||||
// We don't need to give an error here.
|
||||
// It doesn't matter which of many valid indexes the pubkey has, we just need an index where we can derive it and it's private key
|
||||
// It doesn't matter which of many valid indexes the pubkey has, we just need an index where we can derive it and its private key
|
||||
continue;
|
||||
}
|
||||
m_map_pubkeys[pubkey] = i;
|
||||
|
||||
@@ -1090,7 +1090,7 @@ static util::Result<CreatedTransactionResult> CreateTransactionInternal(
|
||||
// Get size of spending the change output
|
||||
int change_spend_size = CalculateMaximumSignedInputSize(change_prototype_txout, &wallet, /*coin_control=*/nullptr);
|
||||
// If the wallet doesn't know how to sign change output, assume p2sh-p2wpkh
|
||||
// as lower-bound to allow BnB to do it's thing
|
||||
// as lower-bound to allow BnB to do its thing
|
||||
if (change_spend_size == -1) {
|
||||
coin_selection_params.change_spend_size = DUMMY_NESTED_P2WPKH_INPUT_SIZE;
|
||||
} else {
|
||||
|
||||
@@ -211,7 +211,7 @@ class MempoolUpdateFromBlockTest(BitcoinTestFramework):
|
||||
# Last tx fits now
|
||||
self.nodes[0].sendrawtransaction(chain[-1]["hex"])
|
||||
|
||||
# Finally, reorg to empty chain kick everything back into mempool
|
||||
# Finally, reorg to empty chain to kick everything back into mempool
|
||||
# at normal chain limits
|
||||
for block in fork_blocks:
|
||||
self.nodes[0].submitblock(block.serialize().hex())
|
||||
|
||||
@@ -105,7 +105,7 @@ class MiningTest(BitcoinTestFramework):
|
||||
wallet_sigops = MiniWallet(node, mode=MiniWalletMode.RAW_P2PK)
|
||||
self.generate(wallet_sigops, 1, sync_fun=self.no_op)
|
||||
|
||||
# Mature with regular coinbases to prevent inteference with other tests
|
||||
# Mature with regular coinbases to prevent interference with other tests
|
||||
self.generate(self.wallet, 100, sync_fun=self.no_op)
|
||||
|
||||
# Generate three transactions that must be mined in sequence
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
afile
|
||||
amountIn
|
||||
asend
|
||||
anc
|
||||
blockin
|
||||
bu
|
||||
cachable
|
||||
clen
|
||||
crypted
|
||||
debbugs
|
||||
deques
|
||||
fo
|
||||
fpr
|
||||
hashIn
|
||||
hights
|
||||
incomin
|
||||
@@ -18,8 +16,8 @@ lief
|
||||
mor
|
||||
nd
|
||||
nin
|
||||
ot
|
||||
outIn
|
||||
re-use
|
||||
requestor
|
||||
ser
|
||||
siz
|
||||
|
||||
Reference in new issue
Block a user