Alex Morcos
3810e976d6
Rewrite estimateSmartFee
...
Change the logic of estimateSmartFee to check a 60% threshold at half the target, a 85% threshold at the target and a 95% threshold at double the target. Always check the shortest time horizon possible and ensure that estimates are monotonically decreasing. Add a conservative mode, which makes sure that the 95% threshold is also met at longer time horizons as well.
7 years ago
Alex Morcos
c7447ec303
Track failures in fee estimation.
...
Start tracking transactions which fail to confirm within the target and are then evicted or otherwise leave mempool.
Fix slight error in unit test.
7 years ago
Alex Morcos
4186d3fdfd
Expose estimaterawfee
...
Track information the ranges of fee rates that were used to calculate the fee estimates (the last range of fee rates in which the data points met the threshold and the first to fail) and provide an RPC call to return this information.
7 years ago
Alex Morcos
14e10aa842
Call estimate(Smart)Fee directly from CBlockPolicyEstimator
7 years ago
Matt Corallo
1c95e2f9c9
Use std::shared_ptr instead of boost::shared_ptr in ScriptForMining
7 years ago
Matt Corallo
acad82f375
Add override to functions using CValidationInterface methods
7 years ago
Gregory Maxwell
30f30c0f99
Add braces to submitblock per current style.
7 years ago
Gregory Maxwell
4f15ea102d
Check transaction count early in submitblock.
...
There is no point in even hashing a submitted block which doesn't have
a coinbase transaction.
This also results in more useful error reporting on corrupted input.
Thanks to rawodb for the bug report.
7 years ago
Wladimir J. van der Laan
e6dcfeec05
refactor: Move GetDifficulty out of `rpc/server.h`
...
It has no business in `rpcserver.h`. Define it in the interface header
of the implementation unit `rpcblockchain` where it is defined.
Also modernize the signature to:
double GetDifficulty(const CBlockIndex* blockindex = nullptr);
(remove `extern`, replace `NULL` with `nullptr`)
7 years ago
Suhas Daftuar
abe7b3d3ab
Don't require segwit in getblocktemplate for segwit signalling or mining
...
Segwit's version bit will be signalled for all invocations of CreateNewBlock,
and not specifying segwit only will cause CreateNewBlock to skip transactions
with witness from being selected.
7 years ago
Karl-Johan Alm
f3c264e9a6
Refactor: Remove using namespace <xxx> from rpc/
7 years ago
Alex Morcos
f9b9371c60
[rpc] Remove priorityDelta from prioritisetransaction
...
This a breaking API change to the prioritisetransaction RPC call which previously required exactly three arguments and now requires exactly two (hash and feeDelta). The function prioritiseTransaction is also updated.
7 years ago
Alex Morcos
12839cdd56
[rpc] Remove estimatepriority and estimatesmartpriority.
...
The RPC calls were already deprecated.
7 years ago
gubatron
eaea2bbb41
Removed redundant parameter from mempool.PrioritiseTransaction
...
(Also made the `const uint256 hash` parameter a `const uint256& hash` as suggested by @sdaftuar )
7 years ago
Luke Dashjr
9fc7f0bce9
Bugfix: RPC/Mining: GBT should return 1 MB sizelimit before segwit activates
8 years ago
practicalswift
8fc698935f
Remove redundant semicolons
8 years ago
John Newbery
4e7e2e16e4
Update RPC argument names
8 years ago
Wladimir J. van der Laan
78b684f2ac
rpc: Named arguments for mining calls
8 years ago
isle2983
27765b6403
Increment MIT Licence copyright header year on files modified in 2016
...
Edited via:
$ contrib/devtools/copyright_header.py update .
8 years ago
Anditto Heristyo
afe5b3f553
Added missing colons in when running help command
8 years ago
jonnynewbs
d29505db22
Fix transaction size comments. Size now refers to virtual size as defined in BIP141.
8 years ago
Matt Corallo
a13fa4c80f
Remove unused CDiskBlockPos* argument from ProcessNewBlock
8 years ago
Matt Corallo
2d6e5619af
Switch pblock in ProcessNewBlock to a shared_ptr
...
This (finally) fixes a performance regression in
b3b3c2a562
8 years ago
Matt Corallo
76faa3cdfe
Rename the remaining main.{h,cpp} to validation.{h,cpp}
8 years ago
Alex Morcos
d824ad030e
Disable fee estimates for a confirm target of 1 block
8 years ago
Pieter Wuille
ad04d1cb35
Always add default_witness_commitment with GBT client support
8 years ago
Pieter Wuille
1662b437b3
Make CBlock::vtx a vector of shared_ptr<CTransaction>
8 years ago
Matt Corallo
ae22357607
Replace CValidationState param in ProcessNewBlock with BlockChecked
8 years ago
Matt Corallo
7c98ce584e
Remove pfrom parameter from ProcessNewBlock
...
This further decouples ProcessNewBlock from networking/peer logic.
8 years ago
Matt Corallo
e2e069dabc
Revert "RPC: Give more details when "generate" fails"
...
This only returned information in the case of CheckBlock failure,
but breaks future changes.
8 years ago
Jorge Timón
1adf82ac39
RPC: Give more details when "generate" fails
8 years ago
Alex Morcos
b2322e0fc6
Remove priority estimation
8 years ago
Suhas Daftuar
88c35491ab
Fix compact block handling to not ban if block is invalid
8 years ago
S. Matthew English
1c3ecc70c8
instance of 'mem pool' to 'mempool'
...
there was only one instance of 'mem pool' and not 'mempool', so I changed it to conform to the others
8 years ago
Jonas Schnelli
69d1c25768
[RPC] Give RPC commands more information about the RPC request
8 years ago
Luke Dashjr
59daa58d6a
RPC/Mining: getblocktemplate: Update and fix formatting of help
8 years ago
Jorge Timón
b26a7b5377
RPC: Chainparams: Remove Chainparams::fTestnetToBeDeprecatedFieldRPC
8 years ago
Matt Corallo
f5efa28393
Remove CConnman parameter from ProcessNewBlock/ActivateBestChain
8 years ago
Pavel Janík
4731cab8fb
Do not shadow variables
8 years ago
Cory Fields
c0569c7fa1
net: Add most functions needed for vNodes to CConnman
8 years ago
Cory Fields
8d58c4d81f
net: Pass CConnman around as needed
8 years ago
Pavel Janík
de1bbe3b78
Do not shadow global RPC table variable (tableRPC)
8 years ago
leijurv
1aacfc2da5
various typos
8 years ago
Luke Dashjr
160f895a80
Bugfix: Use pre-BIP141 sigops until segwit activates
8 years ago
Jameson Lopp
65f4532f13
document return value of networkhashps for getmininginfo RPC endpoint
8 years ago
Suhas Daftuar
2c06bae39e
Rename "block cost" to "block weight"
8 years ago
Pieter Wuille
2b1f6f9ccf
BIP141: Other consensus critical limits, and BIP145
...
Includes changes by Suhas Daftuar, Luke-jr, and mruddy.
8 years ago
Pieter Wuille
8b49040854
BIP141: Commitment structure and deployment
...
Includes a fix by Suhas Daftuar and LongShao007
8 years ago
Daniel Kraft
9fce0629b4
[c++11] Use std::unique_ptr for block creation.
...
CreateNewBlock returns a pointer for which the caller takes ownership.
Use std::unique_ptr to make this explicit and simplify handling of these
objects in getblocktemplate.
8 years ago
Luke Dashjr
12c708a4b3
getblocktemplate: Use version/force mutation to support pre-BIP9 clients
8 years ago