Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
The original code did not compile with GCC 8.2.1 in C++17 mode, since
comparison functions for std::set's must be invocable as const.
|
|
09dbd9cb tx_pool: fix comment about transaction_prefix (moneromooo-monero)
|
|
This happens for every historical tx when syncing, and the
unnecessary parsing is actually showing up on profile.
Since these are kept cached for just one block, this does
not increase memory usage after syncing.
|
|
|
|
It was leftover from a change that was undone before commit,
but the comment change was let through
|
|
|
|
|
|
This avoids constant rechecking of the same things each time
a miner asks for the block template. The tx pool maintains
a cookie to allow users to detect when the pool state changed,
which means the block template needs rebuilding.
|
|
41b4bf9 tx_pool: cache check_tx_inputs results (moneromooo-monero)
|
|
also use reserve where appropriate
|
|
This is called a lot when creating a block template, and
does not change until the blockchain changes.
This also avoids tx parsing when cached.
|
|
|
|
|
|
|
|
10013e94 Protect node privacy by proper filtering in restricted-mode RPC answers (binaryFate)
|
|
This patch allows to filter out sensitive information for queries that rely on the pool state, when running in restricted mode.
This filtering is only applied to data sent back to RPC queries. Results of inline commands typed locally in the daemon are not affected.
In practice, when running with `--restricted-rpc`:
* get_transaction_pool will list relayed transactions with the fields "last relayed time" and "received time" set to zero.
* get_transaction_pool will not list transaction that have do_not_relay set to true, and will not list key images that are used only for such transactions
* get_transaction_pool_hashes.bin will not list such transaction
* get_transaction_pool_stats will not count such transactions in any of the aggregated values that are computed
The implementation does not make filtering the default, so developers should be mindful of this if they add new RPC functionality.
Fixes #2590.
|
|
Transactions in the txpool are marked when another transaction
is seen double spending one or more of its inputs.
This is then exposed wherever appropriate.
Note that being marked with this "double spend seen" flag does
NOT mean this transaction IS a double spend and will never be
mined: it just means that the network has seen at least another
transaction spending at least one of the same inputs, so care
should be taken to wait for a few confirmations before acting
upon that transaction (ie, mostly of use for merchants wanting
to accept unconfirmed transactions).
|
|
Structured {de-,}serialization methods for (many new) types
which are used for requests or responses in the RPC.
New types include RPC requests and responses, and structs which compose
types within those.
# Conflicts:
# src/cryptonote_core/blockchain.cpp
|
|
|
|
|
|
Since we're just counting txs, there's no reason to deserialize all the blobs.
|
|
b52abd13 Move txpool to the database (moneromooo-monero)
|
|
Integration could go further (ie, return_tx_to_pool calls should
not be needed anymore, possibly other things).
poolstate.bin is now obsolete.
|
|
Only works from V5 fork onward - returns 0 before that block.
|
|
Includes a new RPC to get tx pool hashes fast.
|
|
|
|
|
|
81c384e4 fix do_not_relay not preventing relaying on a timer (moneromooo-monero)
|
|
Also print its value when printing pool
|
|
The transactions are first prioritized by fee and in case the fees are
equal by receive_time.
|
|
Continue filling until we reach the block size limit, or the
resulting coinbase decreases.
Also remove old sanity check on block size, which is now not
wanted anymore.
|
|
|
|
|
|
|
|
|
|
tx_pool.h doxygen documentation completed.
Many notes made on areas for improvement, be that functionality or
code clarity.
Commented code and unused code removed.
|
|
bcac101 daemon: fix a few issues reported by valgrind (moneromooo-monero)
a7e8174 tx_pool: fix serialization of new relayed data (moneromooo-monero)
601ad76 hardfork: fix mixup in indexing variable in get_voting_info (moneromooo-monero)
444e22f blockchain: remove unused timer (moneromooo-monero)
7edfdd8 blockchain: fix m_sync_counter uninitialized variable use (moneromooo-monero)
d97582c epee: use generate_random_bytes for new random uuids (moneromooo-monero)
17c7c9c epee: remove dodgy random code that nobody uses (moneromooo-monero)
|
|
|
|
|
|
This is intended to avoid cases where a timed out tx will be
re-relayed by another peer for which it has not timed out yet,
which would cause the tx to stay in the network's pool for a
long time (until all peers time it out before another one
tries to relay it again).
|
|
Some of it uses hardcoded height, which will need some thinking
for next (voted upon) fork.
|
|
|
|
Remove trailing whitespace in same files.
|
|
The last relayed time of a transaction is maintained, and
transactions will be relayed again if they are still in the
pool after a certain amount of time, which increases with
the transaction's age. All such transactions are resent,
whether or not they originated on the local node.
|
|
|
|
|
|
|
|
This is for the "print_pool" command and "get_transaction_pool" RPC
method.
Add mempool's spent key images to the results.
|
|
Usage:
default is lmdb for blockchain branch:
$ make release
same as:
$ DATABASE=lmdb make release
for original in-memory implementation:
$ DATABASE=memory make release
|
|
Probably needs more looking at -- lot of things were done...in a rushed
sort of way. That said, it all builds and *should* be at least
testable.
update for rebase (warptangent 2015-01-04)
fix conflicts with upstream CMakeLists.txt files
src/CMakeLists.txt (remove edits from original commit)
tests/CMakeLists.txt (remove edits from original commit)
src/cryptonote_core/CMakeLists.txt (edit)
- use blockchain db .cpp and .h files
- add LMDB_LIBRARIES
|
|
|
|
This reverts commit 4e2b2b942daa4206ec44c66e59863670dfe3fde4.
|
|
|
|
tx pool fixes, courtesy of Bytecoin
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|