Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
drop obsolete remove_output()
fix get_output_key(global), fix crash in blockchain_dump
|
|
Try to rationalize the variable names, document usage.
|
|
Helps when they're called repeatedly in one txn
|
|
Saves another ~150MB or so on the full blockchain
|
|
Also bumped DB VERSION to 1
Another significant speedup and space savings:
Get rid of global_output_indices, remove indirection from output to keys
This is the change warptangent described on irc but never got to finish.
|
|
Saves another 90MB on 200000 block import.
Had to bring back compare_uint64 for this, but it's safe since
this table is always 64-bit aligned.
|
|
Small space savings, no measurable speedup
|
|
Only a small savings...
|
|
|
|
m_tx_outputs doesn't need to be changed, as it's no longer dup list.
|
|
This is possible on those using a tx index as a key.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This speeds up wallet refresh by directly retrieving a tx's amount output indices.
It removes the indirection and walking the amount output duplicate list
for every amount in each requested tx.
"tx_outputs" is used by:
Amount output indices are needed for wallet refresh.
Global output indices are needed for removing a tx.
Both amount output indices and global output indices are now stored in
an array of 64-bit unsigned ints:
tx_outputs[<tx_hash>] -> [ <a1_oi, a1_gi, a2_oi, a2_gi, ...> ]
Previously it was:
tx_outputs[<tx_hash>] -> duplicate list of <a1_gi, a2_gi, a3_gi, ...>
The amount output list had to be walked for every amount in order to
find each amount's output index, by comparing the amount's global output
index with each one in the duplicate list until a match was found.
See also d045dfa7ce0bf131681193c97560da26f9f37900
|
|
|
|
Add support for short/integrated/encrypted IDs to get_payments RPC
|
|
a42e19e bumped version number (Riccardo Spagni)
|
|
|
|
daac1cc core: remove the block reward accumulation loop (moneromooo-monero)
|
|
efbdde2 Detect map resize failures (Howard Chu)
|
|
8757e46 add blockhashing blob to getblocktemplate (Howard Chu)
|
|
34957fc tests: add test for needed OpenSSL algorithms in unbound (moneromooo-monero)
|
|
587e2e9 README: mention TORSOCKS_ALLOW_INBOUND for wallet connections (moneromooo-monero)
|
|
ead6956 simplewallet: always gracefully exit on EOF (moneromooo-monero)
|
|
b4eada9 wallet: make load_keys check types when loading JSON (moneromooo-monero)
3e55725 wallet: make the JSON reading type safe (moneromooo-monero)
f8d05f3 common: new json_util.h (moneromooo-monero)
|
|
43962f4 abstract_tcp_server2: possible fix for exception in handle_accept (moneromooo-monero)
|
|
24b3e90 Convey tx verification failure reasons to the RPC client (moneromooo-monero)
|
|
77d1c6b simplewallet: default to trusted daemon for loopback address (moneromooo-monero)
|
|
f746c9d minor corrections/clarifications (Thomas Winget)
c6bb201 Transaction pool documentation (and some cleanup) (Thomas Winget)
|
|
This can generate non decomposed outputs for very large block
rewards (or not so large ones if a miner decides to not quantize
the block rewards). Out of an abundance of caution, we refuse
to generate those. They are still accepted by the consensus code,
however.
|
|
|
|
|
|
|
|
These can be compiled out of libunbound, leading to failure
to check DNSSEC validity.
|
|
|
|
|
|
878ab5d wallet: fix --generate-from-keys saving as watch only (moneromooo-monero)
|
|
|
|
|
|
|
|
With code to help factor out reading typed fields from JSON
|
|
d5d46e6 tests: obligatory hardfork unit build fix after interface change (moneromooo-monero)
25672d3 wallet: pass std::function by const ref, not value (moneromooo-monero)
0be6e08 wallet: do not leak owned amounts to the daemon unless --trusted-daemon (moneromooo-monero)
12146da wallet: change sweep_dust to sweep_unmixable (moneromooo-monero)
600a3cf New RPC and daemon command to get output histogram (moneromooo-monero)
f9a2fd2 wallet: handle rare case where fee adjustment can bump to the next kB (moneromooo-monero)
f26651a wallet: factor fee calculation (moneromooo-monero)
|
|
|
|
This allows appropriate action to be taken, like displaying
the reason to the user.
Do just that in simplewallet, which should help a lot in
determining why users fail to send.
Also make it so a tx which is accepted but not relayed is
seen as a success rather than a failure.
|
|
|
|
|
|
Because we can.
|
|
This will be slower, though more private.
New trusted_daemon parameter to the matching RPC call, false by default.
|
|
With the change in mixin rules for v2, the "annoying" outputs are
slightly changed. There is high correlation between dust and
unmixable, but no equivalence.
|
|
This is a list of existing output amounts along with the number
of outputs of that amount in the blockchain.
The daemon command takes:
- no parameters: all outputs with at least 3 instances
- one parameter: all outputs with at least that many instances
- two parameters: all outputs within that many instances
The default starts at 3 to avoid massive spamming of all dust
outputs in the blockchain, and is the current minimum mixin
requirement.
An optional vector of amounts may be passed, to request
histogram only for those outputs.
|
|
It resulted in a tx being sent with too low a fee, and thus rejected.
|
|
|
|
b852766 blockchain: for v3, require miner tx to have well behaved outs (moneromooo-monero)
97638b1 core: fix miner tx block reward with fees (moneromooo-monero)
|
|
This was meant to go in v2, but the miner tx slipped through
the cracks as it doesn't go through the main tx verification
since it doesn't get added to the pool.
|
|
|
|
287e882 remove connectivity tool, comment it out from munin plugins too (Riccardo Spagni)
51a56e7 remove unecessary and bad std::move from portable_storage_template_helper.h (Riccardo Spagni)
|
|
|
|
|
|
bfd4a28 Update BlockchainDB documentation (Thomas Winget)
797357e Change Doxyfile, Blockchain not blockchain_storage (Thomas Winget)
c835215 remove defunct code from cryptonote::core (Thomas Winget)
50dba6d cryptonote::core doxygen documentation (Thomas Winget)
8ac329d doxygen documentation for difficulty functions (Thomas Winget)
540a76c Move checkpoint functions into checkpoints class (Thomas Winget)
1b0c98e doxygen documentation for checkpoints.{h,cpp} (Thomas Winget)
89c24ac Remove unnecessary or defunct code (Thomas Winget)
ab0ed14 doxygen include private and static members (Thomas Winget)
3a48449 Updated documentation for blockchain.* (Thomas Winget)
|
|
01e0a69 Revert "Merge pull request #749" (Riccardo Spagni)
|
|
This reverts commit 7fa63a82a1c3a0243f6757c1689855ed3ca61695, reversing
changes made to cb6be986c36b78eddb4b7f16e9ad440af8567dc4.
|
|
a2e378b wallet: add a --generate-from-json flag (moneromooo-monero)
|
|
bfd4a28 Update BlockchainDB documentation (Thomas Winget)
797357e Change Doxyfile, Blockchain not blockchain_storage (Thomas Winget)
c835215 remove defunct code from cryptonote::core (Thomas Winget)
50dba6d cryptonote::core doxygen documentation (Thomas Winget)
8ac329d doxygen documentation for difficulty functions (Thomas Winget)
540a76c Move checkpoint functions into checkpoints class (Thomas Winget)
1b0c98e doxygen documentation for checkpoints.{h,cpp} (Thomas Winget)
89c24ac Remove unnecessary or defunct code (Thomas Winget)
ab0ed14 doxygen include private and static members (Thomas Winget)
3a48449 Updated documentation for blockchain.* (Thomas Winget)
|
|
cc4b19c blockchain: fix partial block reward detection (moneromooo-monero)
|
|
It takes a filename containing JSON data to generate a wallet.
The following fields are valid:
version: integer, should be 1
filename: string, path/filename for the newly created wallet
scan_from_height: 64 bit unsigned integer, optional
password: string, optional
viewkey: string, hex representation
spendkey: string, hex representation
seed: string, optional, list of words separated by spaces
Either seed or private keys should be given. If using private
keys, the spend key may be omitted (the wallet will not be
able to spend, but will see incoming transactions).
If scan_from_height is given, blocks below this height will not
be checked for transactions as an optimization.
|
|
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.
|
|
BlockchainDB is now Doxygen-compliant and its documentation is
up-to-date with recent changes.
|
|
Changes the Doxyfile to expand preprocessor macros, but only the ones
defined in the Doxyfile. This way we can specify that
BLOCKCHAIN_DB == DB_LMDB for the sake of documentation.
|
|
|
|
|
|
|
|
The functions in src/cryptonote_core/checkpoints_create.{h,cpp} should
be member functions of the checkpoints class, if nothing else for the
sake of keeping their documentation together.
This commit covers moving those functions to be member functions of the
checkpoints class as well as documenting those functions.
|
|
All functions in src/cryptonote_core/checkpoints.h are now documented in
doxygen style.
checkpoints.cpp has been reviewed, one function has been marked for
discussion on correctness.
|
|
|
|
This can be easily reverted or removed before this branch is merged, so
I'm going ahead and committing these couple changes.
|
|
All functions are now documented in doxygen format. Comments have been
updated to reflect the current state of the code. Many areas for
improvement in clarity and design have been noted, as well as cruft to
be removed. These changes are not reflected in this commit both to
allow time for comment and to keep commits organized by purpose.
|
|
|
|
8438aeb update version number (Riccardo Spagni)
|
|
|
|
4b425a3 core_tests: fix compile failure with GCC 4.8.4 (moneromooo-monero)
|
|
Reported and tested by smooth
|
|
40974b1 fix building on FreeBSD (Riccardo Spagni)
1800d61 bump miniupnpc API version number (Riccardo Spagni)
a4242c4 update miniupnpc (Riccardo Spagni)
|
|
|
|
|
|
|
|
a1c3829 also maybe do the block height this time, you know, just so that it actually works. (Riccardo Spagni)
|
|
works.
|
|
23d1538 also update the timestamp for the hard fork (Riccardo Spagni)
|
|
|
|
eda51a0 set fork date for September, add hyc's GPG key, remove aabramov's (Riccardo Spagni)
|
|
f7301c3 Revert "Print stack trace upon exceptions" (moneromooo-monero)
|
|
|
|
Ain't nobody got time for link/cmake skullduggery.
This reverts commit fff238ec94ac6d45fc18c315d7bc590ddfaad63d.
|
|
79117d4 db_lmdb: include the error codes from lmdb api in error logs (moneromooo-monero)
|
|
1c3ed4c cryptonote_protocol: clarify height wording (moneromooo-monero)
|
|
2b4cab3 epee: fix potential hang on exit (moneromooo-monero)
|
|
d2aa427 rpc: fix print_tx in command line mode (moneromooo-monero)
|
|
b525457 simplewallet: make --password-file work in RPC mode (moneromooo-monero)
|
|
fff238e Print stack trace upon exceptions (moneromooo-monero)
|
|
|
|
It's logging the blockchain height, not the top block height
|
|
Also close sockets on failure, just in case
|
|
It was only filling the input in non rpc mode
|
|
|
|
Useful for debugging users' logs
|
|
db1b2db Reduce log noise (Howard Chu)
9b3e43c Fix issue #706 (Howard Chu)
|
|
498ad73 tests: enable core tests again (moneromooo-monero)
|
|
|
|
|
|
They should not have been disabled in the first place
|
|
435b6e4 bump the version (Riccardo Spagni)
e4c2e9e baked-in block headers now go all the way up to 1 million. 1 MILLION (Riccardo Spagni)
|
|
|
|
|
|
7df2baf fixed "undefined reference" for boost::system library (Ilya Kitaev)
62606f1 Wallet::store_to(path, password) implemented; (Ilya Kitaev)
19fcc74 Wallet::address implemented (Ilya Kitaev)
180ac6e WalletManager::recoveryWallet implemented (Ilya Kitaev)
5a4f099 Wallet::setPassword() method for wallet2_api (Ilya Kitaev)
57d7ffc changes in wallet2_api + implemented WalletManager::openWallet (Ilya Kitaev)
f1f9279 get_seed() included to interface (Ilya Kitaev)
930bed7 tests for wallet2_api (Ilya Kitaev)
318660d wallet2 public api. initial commit (Ilya Kitaev)
|
|
a74348e Add destructor for readtxns (Howard Chu)
|
|
|
|
Only if we created the readtxn. Was missing cleanups from exceptions before.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6b0a903 Small cleanups (Howard Chu)
01c1512 More for 92dd4ec6d6251b15954002e72a7c7faa5059a3ab (Howard Chu)
|
|
5dd91f6 fix formatting error on bitmonero print_block return (Mike C)
ee71946 Fix typo on bitmonerod rpc method error. (Mike C)
|
|
Only one return and TXN_POSTFIX_RDONLY() per function
Only log rtxn_start if the rtxn wasn't already active
|
|
Make sure we stop the right txn too
|
|
Example of current return for `print_block 912345`:
timestamp: 1452793716
previous hash:
b61c58b2e0be53fad5ef9d9731a55e8a81d972b8d90ed07c04fd37ca6403ff78
nonce: 1646
is orphan: 0
height: 912345
depth: 85434
hash:
e22cf75f39ae720e8b71b3d120a5ac03f0db50bba6379e2850975b4859190bc6difficul
ty: 815625611
reward: 7388968946286
{
"major_version": 1,
"minor_version": 2,
…
Without `std::endl`, the difficulty gets smashed on the end of the hash.
|
|
|
|
2abdb2c avoid some val copies (Howard Chu)
|
|
92dd4ec Hack for read/write txn mixup (Howard Chu)
b28258a change to LMDB as default, even on 32-bit and ARM (Riccardo Spagni)
|
|
save the thread ID of the writer thread so we don't try to use
the writetxn from reader threads
|
|
|
|
|
|
11de192 change to LMDB as default, even on 32-bit and ARM (Riccardo Spagni)
|
|
e98b26a epee: fix bug deleting more than one connection at once (moneromooo-monero)
|
|
|
|
8689014 switch default utilities DB to lmdb, update checkpoints.dat (Riccardo Spagni)
|
|
|
|
|
|
41ea91a simplewallet: fix hang when setting auto-refresh to 0 (moneromooo-monero)
|
|
28bfc90 simplewallet: special ^C handling for windows (moneromooo-monero)
|
|
It would try to join the auto refresh thread, which would
only happen after it was done, which would take a long time
when doing so on a newly created wallet.
|
|
789e275 rpc: do not return bans if they're effectively spent (moneromooo-monero)
474e4c0 p2p: lock access to the blocked ips map (moneromooo-monero)
|
|
8bc1bd6 wallet: use minimum mixin when RPC asks for too low mixin (moneromooo-monero)
31d2e0f wallet_rpc_server: make use_fork_rules public (moneromooo-monero)
|
|
Because obviously it doesn't work as other POSIX platforms.
Reported and tested by luigi1111.
|
|
The blocked ip list will still hold them till next time
a connection attempt is made with that IP, so the effective
length of the ban may be negative.
|
|
|
|
After the fork, normal transfer functions called via RPC
use the minimum mixin 2 if 0 or 1 is requested. While the
incoming transaction may be valid (eg, it has an unmixable
and at most a mixable input), it is a simple way to make
sure RPC users can't get a seemingly random accept/reject
behavior if they don't update their requested mixin.
|
|
We will need it in the wallet RPC server
|
|
4917af2 update donation addresses (Riccardo Spagni)
|
|
|
|
5b568b0 minor tweaks, add readme for crypto_ops_builder (Riccardo Spagni)
0a4dd68 minor tweaks, add readme for crypto_ops_builder (Riccardo Spagni)
|
|
|
|
|
|
|
|
66c2fc7 Need to link boost::chrono in more places now (Howard Chu)
b937a2c Use boost::thread instead of std::thread (Howard Chu)
|
|
52056dc WIN32 thread_id is OS-dependent not compiler-dependent (Howard Chu)
87d39f3 WIN32: Need getpid() declaration (Howard Chu)
|
|
8941ce0 More for bdec7cb (Howard Chu)
|
|
|
|
|
|
and all other associated IPC
|
|
|
|
More uses of db error helper
|
|
f7ed167 blockchain_utilities: Update documentation (warptangent)
|
|
e2b7e55 get_payments short ID (luigi1111)
|
|
dfca2ae unit_tests: fix hard fork unit test compilation (warptangent)
|
|
0485d17 blockchain_export: Support BerkeleyDB (warptangent)
41487e3 blockchain_export: Move DB implementation includes (warptangent)
|
|
|
|
bdec7cb BlockchainLMDB: Use DB error helper consistently (warptangent)
c5932eb BlockchainLMDB: Add DB error to exception (warptangent)
a49c355 Blockchain: Omit verbose time stats messages by default (warptangent)
|
|
ee7a8b8 Get rid of lmdb_cur (Howard Chu)
|
|
d57ec75 Fix language (Howard Chu)
|
|
f5affbe More for df239428c0f43e2664f2be273996a734ca12c686 (Howard Chu)
|
|
Add support for short/integrated/encrypted IDs to get_payments RPC
|
|
Match changed BlockchainDB function declaration.
|
|
TEST:
blockchain_export -h
This should show "berkeley" as an available option to --database.
With an existing BerkeleyDB database, run:
blockchain_export --database berkeley
|
|
|
|
|
|
|
|
This is already the default for the daemon, but by checking a command
line argument and calling a Blockchain member function setter.
Initialize the variable to false so it's not dependent on an external
command-line argument check. This allows utilities like
blockchain_import to have a reasonable default without code changes.
|
|
We don't need it now with per-txn cursors.
|
|
|
|
Let ARMv7 work again
|
|
2c823c1 Make partial revert consistent (warptangent)
|
|
If user-defined comparator is used, subdb shouldn't be opened with
MDB_INTEGERKEY.
TODO: Again, this will be added back with future schema updates.
|
|
df23942 Revert part of 7db89ed2eee2ce31f039783323d665fe7c24d441 (warptangent)
c9c4060 BlockchainLMDB: Add height and db error to exception (warptangent)
|
|
For now, so existing databases work.
TODO: add these back with future schema updates.
|
|
|
|
5ab33ca unit_tests: update test openalias address (moneromooo-monero)
|
|
c2a1fee simplewallet: prompt for private keys when generating wallets (moneromooo-monero)
4513b4c simplewallet: add a new --restore-from-keys option (moneromooo-monero)
|
|
5e3557d move g_test_dbg_lock_sleep from a global to a function level static (moneromooo-monero)
|
|
7db89ed ARMv7: fix unaligned accesses (Howard Chu)
5a07cef Wrap some more actions in a larger read txn (Howard Chu)
8cc7a36 read txn/cursor stuff (Howard Chu)
86a7f2b core: check whether an update is needed straight away (moneromooo-monero)
ea5fa5e core: print "update needed" hard fork notifications in red (moneromooo-monero)
|
|
283894d dns_utils: const compatibility with older libunbound (moneromooo-monero)
|