Age | Commit message (Collapse) | Author |
|
b649e03 Create new BlockPolicyEstimator for fee estimates (Alex Morcos)
|
|
This class groups transactions that have been confirmed in blocks into buckets, based on either their fee or their priority. Then for each bucket, the class calculates what percentage of the transactions were confirmed within various numbers of blocks. It does this by keeping an exponentially decaying moving history for each bucket and confirm block count of the percentage of transactions in that bucket that were confirmed within that number of blocks.
-Eliminate txs which didn't have all inputs available at entry from fee/pri calcs
-Add dynamic breakpoints and tracking of confirmation delays in mempool transactions
-Remove old CMinerPolicyEstimator and CBlockAverage code
-New smartfees.py
-Pass a flag to the estimation code, using IsInitialBlockDownload as a proxy for when we are still catching up and we shouldn't be counting how many blocks it takes for transactions to be included.
-Add a policyestimator unit test
|
|
the bip32 unit test was not included in the make process
|
|
This fixes a subtle bug involving block re-orgs and non-standard transactions.
Start with a block containing a non-standard transaction, and
one or more transactions spending it in the memory pool.
Then re-org away from that block to another chain that does
not contain the non-standard transaction.
Result before this fix: the dependent transactions get stuck
in the mempool without their parent, putting the mempool
in an inconsistent state.
Tested with a new unit test.
|
|
could once be renamed from /src/wallet to /src/legacywallet.
|
|
51598b2 Reinitialize state in between individual unit tests. (Pieter Wuille)
|
|
This changes the TestingSetup fixture to be per-unit-test rather than global.
Most tests don't need it, so it's only invoked in a few.
|
|
Split GetNextWorkRequired() into two functions to allow the difficulty calculations to
be tested without requiring a full blockchain.
Add unit tests to cover basic difficulty calculation, plus each of the min/max actual
time, and maximum difficulty target conditions.
|
|
|
|
If these are going to fail in bitcoind, they should fail in the tests as well.
|
|
|
|
Introduce new opaque implementation of `uint256`, move old
"arithmetic" implementation to `arith_uint256.
|
|
branch 'bitcoin-tx-copy-paste' of git://github.com/ers35/bitcoin into merge-5528
|
|
|
|
Rather than treating the .py as a regular built test, run it from check-local
so that we can better control the paths used.
|
|
Some users may have libtool libs (.la) installed in their linker search paths.
In this case, using -static-libtool-libs would try to link in .a's instead of
shared libs. That would be harmless unless the .a was built in a way that
would break linking, like non-fpic.
What we really want is "-static" here. Despite its name, it's actually less
aggressive than -static-libtool-libs. It causes only internal libs to be linked
statically (libbitcoinconsensus is the one were'a after).
|
|
|
|
Credit BlueMatt for libbitcoinsonsensus.h/cpp
|
|
For windows builds, exe's are always static, but libs should still conform to
--enabled-shared and --enable-static.
|
|
|
|
|
|
- no code changes
|
|
Similar to the INCLUDES changes in 6b099402b40, split out LIBS into individual
entries for more fine-grained control.
Also add MINIUPNPC_LIBS which was missing before, and hook it up to
executables.
|
|
* Delete canonical_tests.cpp, and move the tests to script_tests.cpp.
* Split off SCRIPT_VERIFY_DERSIG from SCRIPT_VERIFY_STRICTENC (the BIP62 part of it).
* Change signature STRICTENC/DERSIG semantics to fail the script entirely rather than the CHECKSIG result (softfork safety, and BIP62 requirement).
* Add many autogenerated tests for several odd cases.
* Mention specific BIP62 rules in the script verification flags.
|
|
|
|
|
|
Now that we no longer use the median filter to keep track of
the number of blocks of peers, that's the only place it is used.
|
|
|
|
|
|
Testing: delin, delout, locktime, and basic createrawtransaction-like
functionality.
|
|
|
|
This was committed previously as 4975ae172 and reverted, because the flags were
applied even if the checks didn't pass. This is the same commit, fixed up to
actually disable the functionality when necessary.
Enabled automatically if boost >= 1.49.
See: https://svn.boost.org/trac/boost/ticket/2309
Also, check for a default visibility attribute, so that we can mark future
api functions correctly.
|
|
Revert #4663 for now. It still breaks the pulltester.
This reverts commit 4975ae1722cd8af63eda2f02ef64a98091b6fb58.
Conflicts:
configure.ac
|
|
Enabled automatically if boost >= 1.49.
See: https://svn.boost.org/trac/boost/ticket/2309
Also, check for a default visibility attribute, so that we can mark future
api functions correctly.
|
|
While we're at it, reduce the use of LIBS as well. This makes dependencies
explicit.
Fixes building with (the not-yet-merged) libsecp256k1 as well.
Github-Pull: #4689
Rebased-By: Wladimir J. van der laan <laanwj@gmail.com>
Rebased-From: 909b347 c0e5dda
|
|
This is a simple utility that provides command line manipulation of
a hex-encoded TX. The utility takes a hex string on the command line
as input, performs zero or more mutations, and outputs a hex string
to standard output.
This utility is also an intentional exercise of the "bitcoin library"
concept. It is designed to require minimal libraries, and works
entirely without need for any RPC or P2P communication.
See "bitcoin-tx --help" for command and options summary.
|
|
Note: This is added to our existing automake targets rather than as a
libtool-style lib. The switch to libtool-style targets can come later if it
proves to not add any complications.
|
|
|
|
This commit removes all the unnecessary dependencies (key, core,
netbase, sync, ...) from bitcoin-cli.
To do this it shards the chain parameters into BaseParams, which
contains just the RPC port and data directory (as used by utils and
bitcoin-cli) and Params, with the rest.
|
|
This lib has no dependencies on other bitcoin functionality. Attempting to
use bitcoin headers will result in a failure to compile.
|
|
|
|
|
|
This also moves the HMAC-SHA512 implementation to sha2.cpp.
|
|
Now that the build is non-recursive, adding to AM_CPPFLAGS means adding to
_all_ cppflags.
Logical groups of includes have been added instead, and are used individually
by various targets.
|
|
Using them has the side effect of confusing the dependency-tracking logic.
|
|
Rules and targets no longer need to be shared between subdirectories, so
this is no longer needed.
|
|
Build logic moves from individual Makefile.am's to include files, which
the main src/Makefile.am includes. This avoids having to manage a gigantic
single Makefile.
TODO: Move the rules from the old Makefile.include to where they actually
belong and nuke the old file.
|