aboutsummaryrefslogtreecommitdiff
path: root/src (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2016-05-18src: p2p: add exception spec to throwing destructorsredfish4-4/+4
The destructors get a noexcept(true) spec by default, but these destructors in fact throw exceptions. An alternative fix might be to not throw (most if not all of these throws are non-essential error-reporting/logging).
2016-05-18crypto: slow-hash: fix misleading indentredfish1-1/+1
GCC warned about this one.
2016-05-18crypto: slow-hash: remove unused hash list for ARMredfish1-4/+0
This list is already defined within the function. The removed definition was shadowed.
2016-05-18crypto: oaes_lib: remove unused _NR arrayredfish1-4/+0
2016-05-18crypto: fix compile error: use named type in sizeofredfish1-4/+5
Btw, the warning 4200 remains disabled, but it did not get triggered (GCC 6.1.1, ARM). But, perhaps a better way than disabling the warning would be to do what is suggested here: http://stackoverflow.com/questions/3350852/how-to-correctly-fix-zero-sized-array-in-struct-union-warning-c4200-without%3E
2016-05-16Restrict also 'get_connections' and 'getbans' APIs.osensei1-2/+2
2016-05-15crypto: make clear generate_random_bytes is not thread safemoneromooo-monero4-4/+11
And add a thread safe version to encourage proper use
2016-05-14Don't allow 'flush_txpool' and 'setbans' JSON_RPC methods when running in ↵osensei1-2/+2
restricted mode.
2016-05-01tests: fix tests broken by the removal of the block reward accumulation loopmoneromooo-monero1-1/+1
The tests for rejection of unmixable outputs in v2 are commented out, as there are no unmixable outputs created anymore. This should be restored at some point.
2016-05-01cn_deserialize: deserialize tx_extra toomoneromooo-monero1-0/+21
2016-05-01core: move tx_extra parsing errors to log level 1moneromooo-monero1-4/+4
They're not fatal, though indicate something wrong
2016-04-29Only log 1/N skipped blocksHoward Chu1-2/+4
2016-04-29Move refresh height to keys file from cache fileHoward Chu2-1/+8
2016-04-29Make fast_refresh interruptibleHoward Chu1-2/+3
2016-04-29Set refresh height earlierHoward Chu1-13/+15
Do it before the generate() call so the value actually gets stored.
2016-04-29Fix 19fe8ae3ef1aa46ae8fdd4e4d6862510390ddab7Howard Chu1-2/+2
Don't prompt for restore-height on generate-new-wallet
2016-04-28simplewallet: display all settings on set with no argumentsmoneromooo-monero1-27/+44
2016-04-28add a --max-concurrency flagmoneromooo-monero8-7/+47
It sets the max number of threads to use for a parallel job. This is different that the number of total threads, since monero binaries typically start a lot of them.
2016-04-27wallet: add a filter_by_height field to get_transfersmoneromooo-monero2-2/+12
It allows a simple get_transfers (with default 0 min_height and max_height) to return all transactions, instead of the unexpected set of txes in block 0, which is probably none at all.
2016-04-26simplewallet: fix pending transfers fee display in show_transfersmoneromooo-monero1-1/+1
2016-04-26simplewallet: more threading fixesmoneromooo-monero1-1/+5
2016-04-26wallet: add get_transfers rpc callmoneromooo-monero3-0/+151
Allows getting in, out, pending, and failed transfers, similarly to the show_transfers command.
2016-04-26wallet: allow attaching notes to txidsmoneromooo-monero8-4/+193
2016-04-26wallet: add GMT timestamps to transfers/paymentsmoneromooo-monero3-14/+46
2016-04-24Another take on migrationHoward Chu2-582/+106
Delete old indices and recreate them, rather than updating them Maybe not quite as slow as before.
2016-04-24random: call abort(3) instead of assert in must_succeed macromoneromooo-monero1-1/+1
Avoids silent use of bad RNG in release builds, in case those calls might actually fail. Reported by smooth.
2016-04-21simplewallet: some background refresh threading fixesmoneromooo-monero2-11/+45
We want to lock operations which access the blockchain in wallet2. We also want the background refresh to happen again when we cancel a foreground refresh. Wrap the locking setup in a macro so it doesn't get copy/pasted/mangled, and use a scope exit trick to ensure it's always properly restored.
2016-04-19wallet: add a new sweep_all command and RPC commandmoneromooo-monero7-63/+531
This sends all outputs in a wallet to a given address, alleviating the difficulty people have had trying to send all monero but being left with some small amount left.
2016-04-18 modified: src/wallet/wallet2.cppawfulcrawler2-5/+6
modified: src/wallet/wallet2.h Removed working comments
2016-04-18 modified: src/simplewallet/simplewallet.cppawfulcrawler3-13/+39
modified: src/wallet/wallet2.cpp modified: src/wallet/wallet2.h Update to fix unconfirmed balance and give a slightly more verbose and informative confirmation message for transfers
2016-04-17Add --restore-height optionHoward Chu2-0/+25
For specifying the block height from which to start a restore
2016-04-17Speed up new wallet refreshHoward Chu1-0/+6
Use the current blockchain height as the refresh_from_block_height.
2016-04-17Add GET_HASHES_FAST rpc, use it in walletHoward Chu6-0/+145
When m_refresh_from_block_height has been set, only hashes will be retrieved up to that height, instead of full blocks. The same will be done for "refresh <height>" when the specified height is beyond the current local blockchain.
2016-04-17blockchain: add missing overflow check for already generated coinsmoneromooo-monero1-1/+5
When reaching the tail emission phase, the amount of coins will eventually go over MONEY_SUPPLY, overflowing 64 bits. There was a check added to blockchain_storage, but this was not ported to the blockchain DB version. Reported by smooth.
2016-04-17blockchain: update cumulative block limit when popping a blockmoneromooo-monero1-0/+1
Avoids possible issues with accepting a tx too large to fit in an actual block. Reported by smooth.
2016-04-17net_node: fix connection leak when ping fails with bad responsemoneromooo-monero1-0/+1
If there is no comms error, but the response is not as expected, close would not be called.
2016-04-17wallet2: move output selection api publicmoneromooo-monero1-4/+6
2016-04-10simplewallet: save fixes in RPC modemoneromooo-monero1-2/+13
^C when in RPC mode would not save the wallet while it was still refreshing after starting up. Also, save the wallet out of the signal handler. We don't want to call complex stuff in a signal handler.
2016-04-09rpc: add pool/blockchain and block height results to gettransactionsmoneromooo-monero4-12/+74
2016-04-08MigrationHoward Chu2-5/+1049
Migrate from DB version 0 to version 1 on startup
2016-04-06simplewallet: set strict umask at startmoneromooo-monero1-0/+1
2016-04-06util: add a function to set umask to 077moneromooo-monero2-0/+11
Useful to ensure files are written without group/other read rights.
2016-04-06blockchain: remove the tx validation result cachemoneromooo-monero2-19/+0
As pointed out by smooth, a transaction's validity may change over time as the blockchain changes.
2016-04-06tx_pool: fix (hopefully) save/load of kept_by_blockmoneromooo-monero1-0/+2
2016-04-05CleanupHoward Chu3-24/+65
drop obsolete remove_output() fix get_output_key(global), fix crash in blockchain_dump
2016-04-05Cleanup and clarifyHoward Chu4-146/+129
Try to rationalize the variable names, document usage.
2016-04-05Use cursors in some remove functionsHoward Chu1-7/+33
Helps when they're called repeatedly in one txn
2016-04-05Use DUPFIXED for block_info and output_txsHoward Chu2-56/+46
Saves another ~150MB or so on the full blockchain
2016-04-05More outputs consolidationHoward Chu2-491/+263
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.
2016-04-05Use DUPFIXED for output_keysHoward Chu1-23/+37
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.
2016-04-05Use DUPFIXED for tx_indicesHoward Chu1-50/+60
Small space savings, no measurable speedup
2016-04-05Use DUPFIXED for block_heightsHoward Chu1-22/+29
Only a small savings...
2016-04-05Use DUPFIXED for spent_keysHoward Chu1-23/+18
2016-04-05Add back changes from revert.warptangent1-19/+2
m_tx_outputs doesn't need to be changed, as it's no longer dup list.
2016-04-05Use MDB_APPEND mode with two tx subdbswarptangent1-2/+2
This is possible on those using a tx index as a key.
2016-04-05Schema update: tx_indices - consolidate the tx subdbs from 5 to 3warptangent3-75/+56
2016-04-05Schema update: tx_indices - yet less indirectionwarptangent4-20/+15
2016-04-05Schema update: tx_indices - improve further with less indirectionwarptangent4-21/+56
2016-04-05Add batch warning for further reviewwarptangent1-0/+4
2016-04-05Schema update: tx_indiceswarptangent2-32/+109
2016-04-05Consolidated block infoHoward Chu2-95/+63
2016-04-05Update schema for "tx_outputs" to use array containing amount output indiceswarptangent4-119/+131
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
2016-04-05blockchain_utilities: Update documentationwarptangent1-4/+54
2016-04-05get_payments short IDluigi11111-8/+17
Add support for short/integrated/encrypted IDs to get_payments RPC
2016-04-05rpc: print human readable time since received when printing poolmoneromooo-monero1-11/+33
2016-04-05rpc: add a do_not_relay boolean to tx submissionmoneromooo-monero3-1/+4
Just to make it easier
2016-04-05tx_pool: ensure no txes that fail check_inputs get in the block templatemoneromooo-monero1-1/+1
2016-04-02simplewallet: optional address in --generate-from-jsonmoneromooo-monero1-5/+66
When present, it can be used to validate the keys, as well as deduce the spend key, if it is absent (watch wallet).
2016-04-02Fix potential race with parallel processing of txes/signatures/blocksmoneromooo-monero2-0/+2
2016-04-02wallet: better output selection for transfer/transfer_newmoneromooo-monero5-73/+60
This now requests the set of outputs that can be mixed first, to avoid trying non dust but unmixable outputs, which we know will fail.
2016-04-02core: keep the acc loop for the genesis blockmoneromooo-monero1-1/+13
For unknown reasons, it was generated with a block reward consisting of a single large dusty output.
2016-04-02bumped version numberRiccardo Spagni1-1/+1
2016-04-01core: remove the block reward accumulation loopmoneromooo-monero1-5/+1
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.
2016-03-30Detect map resize failuresHoward Chu1-1/+3
2016-03-30minor corrections/clarificationsThomas Winget2-4/+6
2016-03-30add blockhashing blob to getblocktemplateHoward Chu2-0/+4
2016-03-29simplewallet: always gracefully exit on EOFmoneromooo-monero1-0/+34
2016-03-28wallet: fix --generate-from-keys saving as watch onlymoneromooo-monero1-1/+1
2016-03-27wallet: make load_keys check types when loading JSONmoneromooo-monero2-23/+38
2016-03-27wallet: make the JSON reading type safemoneromooo-monero1-41/+31
2016-03-27common: new json_util.hmoneromooo-monero1-0/+53
With code to help factor out reading typed fields from JSON
2016-03-27Convey tx verification failure reasons to the RPC clientmoneromooo-monero10-26/+101
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.
2016-03-27simplewallet: default to trusted daemon for loopback addressmoneromooo-monero1-0/+42
2016-03-26wallet: pass std::function by const ref, not valuemoneromooo-monero2-2/+2
Because we can.
2016-03-26wallet: do not leak owned amounts to the daemon unless --trusted-daemonmoneromooo-monero5-8/+11
This will be slower, though more private. New trusted_daemon parameter to the matching RPC call, false by default.
2016-03-26wallet: change sweep_dust to sweep_unmixablemoneromooo-monero6-30/+129
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.
2016-03-26New RPC and daemon command to get output histogrammoneromooo-monero15-0/+243
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.
2016-03-26wallet: handle rare case where fee adjustment can bump to the next kBmoneromooo-monero1-2/+3
It resulted in a tx being sent with too low a fee, and thus rejected.
2016-03-26wallet: factor fee calculationmoneromooo-monero1-22/+11
2016-03-25blockchain: for v3, require miner tx to have well behaved outsmoneromooo-monero2-3/+13
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.
2016-03-25core: fix miner tx block reward with feesmoneromooo-monero1-8/+7
2016-03-25remove connectivity tool, comment it out from munin plugins tooRiccardo Spagni3-424/+0
2016-03-25Merge pull request #749Riccardo Spagni14-587/+2902
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)
2016-03-25Revert "Merge pull request #749"Riccardo Spagni14-2902/+587
This reverts commit 7fa63a82a1c3a0243f6757c1689855ed3ca61695, reversing changes made to cb6be986c36b78eddb4b7f16e9ad440af8567dc4.
2016-03-25wallet: add a --generate-from-json flagmoneromooo-monero4-10/+192
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.
2016-03-24Transaction pool documentation (and some cleanup)Thomas Winget2-74/+372
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.
2016-03-24Update BlockchainDB documentationThomas Winget1-155/+937
BlockchainDB is now Doxygen-compliant and its documentation is up-to-date with recent changes.
2016-03-24remove defunct code from cryptonote::coreThomas Winget2-22/+0
2016-03-24cryptonote::core doxygen documentationThomas Winget2-26/+617
2016-03-24doxygen documentation for difficulty functionsThomas Winget2-2/+16
2016-03-24Move checkpoint functions into checkpoints classThomas Winget9-359/+327
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.
2016-03-22doxygen documentation for checkpoints.{h,cpp}Thomas Winget2-6/+99
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.
2016-03-22Remove unnecessary or defunct codeThomas Winget2-22/+0
2016-03-22Updated documentation for blockchain.*Thomas Winget2-14/+925
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.
2016-03-22blockchain: fix partial block reward detectionmoneromooo-monero1-1/+1
2016-03-21update version numberRiccardo Spagni1-1/+1
2016-03-21also maybe do the block height this time, you know, just so that it actually ↵Riccardo Spagni1-1/+1
works.
2016-03-21also update the timestamp for the hard forkRiccardo Spagni1-1/+1
2016-03-21set fork date for September, add hyc's GPG key, remove aabramov'sRiccardo Spagni1-0/+3
2016-03-21Revert "Print stack trace upon exceptions"moneromooo-monero28-201/+46
Ain't nobody got time for link/cmake skullduggery. This reverts commit fff238ec94ac6d45fc18c315d7bc590ddfaad63d.
2016-03-20db_lmdb: include the error codes from lmdb api in error logsmoneromooo-monero1-40/+47
2016-03-20cryptonote_protocol: clarify height wordingmoneromooo-monero1-1/+1
It's logging the blockchain height, not the top block height
2016-03-19rpc: fix print_tx in command line modemoneromooo-monero1-1/+1
It was only filling the input in non rpc mode
2016-03-19simplewallet: make --password-file work in RPC modemoneromooo-monero1-42/+54
2016-03-19Print stack trace upon exceptionsmoneromooo-monero28-46/+201
Useful for debugging users' logs
2016-03-19Reduce log noiseHoward Chu1-2/+3
2016-03-19Fix issue #706Howard Chu1-0/+1
2016-03-16bump the versionRiccardo Spagni1-1/+1
2016-03-16baked-in block headers now go all the way up to 1 million. 1 MILLIONRiccardo Spagni1-0/+0
2016-03-16Add destructor for readtxnsHoward Chu2-10/+21
Only if we created the readtxn. Was missing cleanups from exceptions before.
2016-03-16Wallet::store_to(path, password) implemented;Ilya Kitaev5-17/+113
2016-03-16Wallet::address implementedIlya Kitaev2-0/+7
2016-03-16WalletManager::recoveryWallet implementedIlya Kitaev2-5/+42
2016-03-16Wallet::setPassword() method for wallet2_apiIlya Kitaev4-9/+58
2016-03-16changes in wallet2_api + implemented WalletManager::openWalletIlya Kitaev2-28/+130
2016-03-16get_seed() included to interfaceIlya Kitaev2-14/+31
2016-03-16tests for wallet2_apiIlya Kitaev3-6/+40
2016-03-16wallet2 public api. initial commitIlya Kitaev3-2/+227
2016-03-15Small cleanupsHoward Chu1-24/+28
Only one return and TXN_POSTFIX_RDONLY() per function Only log rtxn_start if the rtxn wasn't already active
2016-03-15More for 92dd4ec6d6251b15954002e72a7c7faa5059a3abHoward Chu1-22/+22
Make sure we stop the right txn too
2016-03-14fix formatting error on bitmonero print_block returnMike C1-1/+1
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.
2016-03-14Fix typo on bitmonerod rpc method error.Mike C1-3/+3
2016-03-14Hack for read/write txn mixupHoward Chu2-42/+31
save the thread ID of the writer thread so we don't try to use the writetxn from reader threads
2016-03-14avoid some val copiesHoward Chu2-21/+21
2016-03-12switch default utilities DB to lmdb, update checkpoints.datRiccardo Spagni2-3/+6
2016-03-12simplewallet: fix hang when setting auto-refresh to 0moneromooo-monero1-0/+1
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.
2016-03-12simplewallet: special ^C handling for windowsmoneromooo-monero1-0/+4
Because obviously it doesn't work as other POSIX platforms. Reported and tested by luigi1111.
2016-03-12rpc: do not return bans if they're effectively spentmoneromooo-monero1-4/+7
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.
2016-03-12p2p: lock access to the blocked ips mapmoneromooo-monero2-3/+3
2016-03-11wallet: use minimum mixin when RPC asks for too low mixinmoneromooo-monero1-3/+13
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.
2016-03-11wallet_rpc_server: make use_fork_rules publicmoneromooo-monero1-1/+2
We will need it in the wallet RPC server
2016-03-11minor tweaks, add readme for crypto_ops_builderRiccardo Spagni3-4/+25
2016-03-11minor tweaks, add readme for crypto_ops_builderRiccardo Spagni3-4/+25
2016-03-11Need to link boost::chrono in more places nowHoward Chu3-0/+3
2016-03-11Use boost::thread instead of std::threadHoward Chu20-70/+72
and all other associated IPC
2016-03-09More for bdec7cbHoward Chu1-14/+14
More uses of db error helper
2016-03-05blockchain_utilities: Update documentationwarptangent1-4/+54
2016-03-05get_payments short IDluigi11111-8/+17
Add support for short/integrated/encrypted IDs to get_payments RPC
2016-03-05blockchain_export: Support BerkeleyDBwarptangent1-4/+65
TEST: blockchain_export -h This should show "berkeley" as an available option to --database. With an existing BerkeleyDB database, run: blockchain_export --database berkeley
2016-03-05blockchain_export: Move DB implementation includeswarptangent2-2/+2
2016-03-03BlockchainLMDB: Use DB error helper consistentlywarptangent1-28/+27
2016-03-03BlockchainLMDB: Add DB error to exceptionwarptangent1-5/+7
2016-03-03Blockchain: Omit verbose time stats messages by defaultwarptangent1-1/+1
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.
2016-03-03Get rid of lmdb_curHoward Chu1-57/+14
We don't need it now with per-txn cursors.
2016-03-03Fix languageHoward Chu1-1/+1
2016-03-03More for df239428c0f43e2664f2be273996a734ca12c686Howard Chu1-0/+6
Let ARMv7 work again
2016-03-01Make partial revert consistentwarptangent1-1/+1
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.
2016-02-29Revert part of 7db89ed2eee2ce31f039783323d665fe7c24d441warptangent1-2/+14
For now, so existing databases work. TODO: add these back with future schema updates.
2016-02-29BlockchainLMDB: Add height and db error to exceptionwarptangent1-1/+1
2016-02-27simplewallet: prompt for private keys when generating walletsmoneromooo-monero1-32/+33
instead of supplying them on the command line. It's more unwieldy, but better protects against information leaks.
2016-02-25ARMv7: fix unaligned accessesHoward Chu1-20/+15
And cleanup some key comparators
2016-02-23Wrap some more actions in a larger read txnHoward Chu1-11/+25
2016-02-23read txn/cursor stuffHoward Chu8-166/+339
Could wrap more later.
2016-02-23core: check whether an update is needed straight awaymoneromooo-monero1-1/+1
2016-02-23core: print "update needed" hard fork notifications in redmoneromooo-monero1-2/+2
2016-02-23dns_utils: const compatibility with older libunboundmoneromooo-monero1-22/+16
https://www.nlnetlabs.nl/bugs-script/show_bug.cgi?id=515
2016-02-22simplewallet: add a new --restore-from-keys optionmoneromooo-monero6-6/+157
It is similar in use to --restore-from-view-key, but also expects a spend private key. Requested by luigi1112, and useful to restore MyMonero wallets.
2016-02-22move g_test_dbg_lock_sleep from a global to a function level staticmoneromooo-monero10-18/+1
This avoids the need to define that variable in every program which uses epee.
2016-02-20db_bdb: add missing include for std::condition_variablemoneromooo-monero1-0/+1
2016-02-20simplewallet: wording change for single tx confirmationmoneromooo-monero1-3/+12
2016-02-18std::condvar is broken on Win32 with gcc/g++ 4.8 tooHoward Chu1-2/+2
Use boost...
2016-02-18Use boost::thread instead of std::threadHoward Chu3-3/+4
std::thread crashes on (at least) ARMv6 g++ 4.8/4.9
2016-02-18BlockchainBDB: Check if hard fork subdbs need resetwarptangent1-1/+50
See f7e337e6254c1c4115a8430964a6f6b54305b3ae for LMDB equivalent.
2016-02-18BlockchainBDB: Support blockchain_import --drop-hard-fork commandwarptangent1-3/+35
See c657e772c4efbfee8ff698883f1532a38117a70a for LMDB equivalent.
2016-02-18blockchain_import: Pass ARCH_WIDTH macro if 32-bit or not.warptangent1-4/+4
This also avoids warnings.
2016-02-17core: check whether an update is needed straight awaymoneromooo-monero1-1/+1
2016-02-17core: print "update needed" hard fork notifications in redmoneromooo-monero1-2/+2
2016-02-17Fix cffc411c9025e1d28a8b6e32c53c83ba113d9204Howard Chu1-0/+2
Don't include bdb header unless defined(BERKELEY_DB)
2016-02-17blockchain_import: Check bit width for more than just WIN32warptangent3-4/+14
Pass the CMake bit width setting to compile flags for blockchain_import and blockchain_converter. For LMDB on 32-bit, hyc has found that batch size of 100 appears to be a good default.
2016-02-17Use MDB_PREV_MULTIPLEHoward Chu1-12/+41
in get_global_output_indices
2016-02-17Fixup after lmdb master resyncHoward Chu1-6/+6
2016-02-17Shutup about VERSION 0Howard Chu2-2/+6
2016-02-17Use cursor in get_output_keyHoward Chu1-1/+2
2016-02-17Use MDB_APPEND mode where possibleHoward Chu1-5/+9
When keys are contiguous and monotonically increasing, this gets denser page utilization (doesn't leave padding in page splits). Can't be used for keys that are inserted in random order (e.g. hashes) In total this only saves around 1.5% of space compared to original DB code. The previous patch accounted for 0.8% savings on its own; the blocks tables just aren't that big.
2016-02-17Use cursors in write txnsHoward Chu2-22/+100
Saves a bit of seek overhead. LMDB frees them automatically in txn_(commit|abort) so they need no cleanup.
2016-02-17Keep a running blocksize countHoward Chu2-0/+15
Used in batch size estimation, avoids rereading already processed blocks during import
2016-02-17Win32 import batchsize tweaksHoward Chu1-3/+6
Reduce frequency of resizes: bump minimum increase from 128MB to 512MB Use a bigger safety margin at small batch sizes
2016-02-15wallet: clear missing data on rescan_bcmoneromooo-monero1-0/+4
2016-02-14blockchain_import: Build string for db type listwarptangent1-2/+15
2016-02-14blockchain_import: Add mode argument representing multiple DB flagswarptangent1-31/+82
These modes match those optionally provided as part of the daemon's --db-type argument. Argument after the # is interpreted as a composite mode if there's only one (no comma separated arguments). Sample usage: blockchain_import --database lmdb#fastest blockchain_import --database berkeley#fastest Multiple specific DB flags are still supported, e.g. blockchain_import --database lmdb#nosync,nordahead blockchain_import --database berkeley#txn_nosync
2016-02-15Keep a running blocksize countHoward Chu2-0/+15
Used in batch size estimation, avoids rereading already processed blocks during import
2016-02-14blockchain_import: Support BerkeleyDBwarptangent2-21/+67
2016-02-14blockchain_import: Add database type argumentwarptangent2-4/+4
Default to LMDB.
2016-02-14blockchain_import: Make LMDB-specific names generalwarptangent2-33/+33
Also update terms to better distinguish blockchain management/engine from database type.
2016-02-14Win32 import batchsize tweaksHoward Chu1-3/+6
Reduce frequency of resizes: bump minimum increase from 128MB to 512MB Use a bigger safety margin at small batch sizes
2016-02-13BlockchainLMDB: Deal with DB exceptions at block level with particularitywarptangent2-2/+21
Add another DB error exception type to distinguish failed txn setup from general use of txn. This keeps the error handling flow the same as before the block-level txn setup changes that moved control up a layer to BlockchainDB.
2016-02-13BlockchainLMDB: Add sanity check for inconsistent statewarptangent1-2/+13
This hasn't been known to occur in block-level txn abort, but throw exception if it does.
2016-02-13BlockchainLMDB: Call destructor on allocated txn if setup failswarptangent1-0/+8
2016-02-13BlockchainLMDB: Replace remaining txn pointer NULLs with nullptrwarptangent1-9/+9
For consistency.
2016-02-12cmake: Fix overly broad use of dynamic link settingswarptangent1-9/+0
Remove LINK_SEARCH_START_STATIC and LINK_SEARCH_END_STATIC. This is more appropriate when the compiler flag -static is used. This had been causing CMake to omit the linker flags necesssary to distinguish static and dynamic library linking. CMake had assumed static linking for the target, causing it to omit explicit static link flags. That is problematic without the -static compile flag being set. With a library located in system directories, like libboost_date_time, the full static path (.a), though found correctly by CMake, was treated by the linker as a dynamic library. This is because target_link_libraries() transforms the full path to -l<libname> if it's in a system directory. Without -static or explicit linker flags, the dynamic library (.so) is linked. Removing the above two properties removes the assumption of static. So -Wl;-Bstatic is inserted where needed. This causes -l<libname> to properly refer to the static library instead of dynamic.