aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-03-06Moved BlockchainDB into its own src/ subfolderThomas Winget12-13/+72
Ostensibly janitorial work, but should be more relevant later down the line. Things that depend on core cryptonote things (i.e. cryptonote_core) don't necessarily depend on BlockchainDB and thus have no need to have BlockchainDB baked in with them.
2015-02-23Changed log level of debug message -- too spammyThomas Winget1-1/+1
2015-02-23Merge #32Thomas Winget7-95/+442
Add support to BlockchainDB and BlockchainLMDB for batch transactions. Add profiling to block and tx processing and DB operations. Improve block and tx processing efficiency by less repeat hashing. Move LMDB storage to "lmdb" subfolder. - Upon startup, if old LMDB files are detected, abort with a message for the user to move them to subfolder or delete them. Update and fix log statements and formatting.
2015-02-23BlockchainLMDB: Add profiling to tx_exists()warptangent3-1/+8
2015-02-23BlockchainLMDB: Add batch transaction support to tx_exists()warptangent1-6/+9
2015-02-23BlockchainDB, BlockchainLMDB: Add profiling for DB commitswarptangent3-0/+18
2015-02-23BlockchainDB: Add virtual function declarations for batch transactionswarptangent1-0/+3
2015-02-23BlockchainLMDB: Add check for open database to two functionswarptangent1-0/+3
2015-02-23BlockchainLMDB: Add support for batch transactionswarptangent2-55/+289
2015-02-23Improve block and tx processing efficiency by less repeat hashingwarptangent4-11/+28
BlockchainLMDB::add_block() BlockchainLMDB::add_transaction_data() BlockchainDB::add_transaction()
2015-02-23Add profiling to block and tx processingwarptangent2-0/+48
2015-02-23Move LMDB storage to subfolderwarptangent2-1/+12
2015-02-23Fix formattingwarptangent1-6/+5
2015-02-23Fix log statementwarptangent1-1/+1
2015-02-23Remove unused variablewarptangent1-1/+0
2015-02-23Add log statementwarptangent1-0/+1
2015-02-23Add and extend log statementswarptangent1-6/+10
2015-02-23Blockchain: match original function declaration from blockchain_storagewarptangent2-2/+2
2015-02-23Update year and formatting in licensewarptangent1-7/+7
2015-02-22Merge pull request #31 from warptangent/fix/fix_get_tail_idThomas Winget2-2/+2
Fix Blockchain::get_tail_id() to set parameter to last block number instead of height
2015-02-22Fix Blockchain::get_tail_id() to set parameter to last block number instead ↵warptangent1-1/+1
of height This reflects the behavior of blockchain_storage::get_tail_id(). Fixes #27 so that RPC method getlastblockheader works.
2015-02-22Revert "Bounds error, should fix #27"warptangent1-1/+1
This reverts commit 6f1c4b4c2c78c930fe30ed648e855a6ce55f7dcd.
2015-02-20Bounds error, should fix #27Thomas Winget1-1/+1
2015-02-05Merge remote-tracking branch 'monero-project/master' into blockchainThomas Winget3-4/+62
2015-02-03Merge pull request #221Riccardo Spagni2-4/+46
3ece158 make fallback compatible with newer slow-hash (Riccardo Spagni) 709bbc5 replaced 64-bit multiplication in difficulty.cpp with a portable version (Riccardo Spagni) 497a514 replaced 64-bit multiplication in difficulty.cpp with a portable version (Riccardo Spagni)
2015-02-03changed MM logoRiccardo Spagni1-1/+1
2015-02-03added donation and sponsor info to readmeRiccardo Spagni1-0/+16
2015-02-03Merge PR #26Thomas Winget9-4/+77
Usage: default is lmdb for blockchain branch: $ make release same as: $ DATABASE=lmdb make release for original in-memory implementation: $ DATABASE=memory make release COMMITS: - Add compile-time support for both db implementations: in-memory and LMDB NOTE: The default should be changed to lmdb when this is merged upstream unless we're 100% sure the LMDB implementation is ready.
2015-02-02Add compile-time support for both db implementations: in-memory and LMDBwarptangent9-4/+77
Usage: default is lmdb for blockchain branch: $ make release same as: $ DATABASE=lmdb make release for original in-memory implementation: $ DATABASE=memory make release
2015-02-02Merge PR 25 into blockchainThomas Winget1-50/+57
2015-02-01Blockchain: reflect log updates from blockchain_storagewarptangent1-7/+7
See commit 4ba680f2946966df2030e5765e40ee0a36b112c4
2015-02-01Blockchain: reflect log and assert updates from blockchain_storagewarptangent1-37/+38
See commit cf5a8b1d6c3df615641e81328bb3d8cf80cd70e3
2015-02-01Blockchain: reflect log level of blockchain_storagewarptangent1-8/+8
Update to match LOG_PRINT_RED_Lx statements. See commit cf5a8b1d6c3df615641e81328bb3d8cf80cd70e3
2015-02-01Blockchain: reflect assert behavior of blockchain_storage for ↵warptangent1-0/+2
get_tx_outputs_gindexs()
2015-02-01Update recently added log statement to fix possible null dereferencewarptangent1-1/+5
This would have been triggered if function was called without fourth parameter and ring signature check failed.
2015-02-01Merge remote-tracking branch 'origin/pr/24' into blockchainThomas Winget4-16/+179
2015-01-30Merge upstreamwarptangent4-16/+179
Merge branch 'monero-project/master' into blockchain
2015-01-28make fallback compatible with newer slow-hashRiccardo Spagni1-0/+12
2015-01-27Merge branch 'master' of https://github.com/fluffypony/bitmoneroRiccardo Spagni0-0/+0
2015-01-27replaced 64-bit multiplication in difficulty.cpp with a portable versionRiccardo Spagni1-4/+34
2015-01-27replaced 64-bit multiplication in difficulty.cpp with a portable versionRiccardo Spagni1-4/+34
2015-01-27Merge pull request #220Riccardo Spagni3-16/+166
9b3673a added portable slow-hash, updated makefile targets, fixed readme (Riccardo Spagni)
2015-01-27added portable slow-hash, updated makefile targets, fixed readmeRiccardo Spagni3-16/+166
2015-01-27Merge pull request #219Riccardo Spagni1-2/+2
e70bc3d fixed sse2 ifdef (Riccardo Spagni)
2015-01-27fixed sse2 ifdefRiccardo Spagni1-2/+2
2015-01-27Merge pull request #218Riccardo Spagni2-2/+4
2b3b70a remove aes flag, detect no sse2 (Riccardo Spagni)
2015-01-27remove aes flag, detect no sse2Riccardo Spagni2-2/+4
2015-01-27fixed AES support flagRiccardo Spagni1-4/+4
2015-01-26allow for explicitly disabling AES-NIRiccardo Spagni1-2/+13
2015-01-21Merge to keep up with upstreamThomas Winget10-25/+208
Merge 'monero-project/master' with blockchain
2015-01-19Should fix std::min issues related to size_tThomas Winget1-2/+2
2015-01-18Add in-source lmdb to build processThomas Winget4-5/+92
Working on Linux, needs verified for other platforms but should be fine.
2015-01-18Initial import of lmdb sourceThomas Winget27-0/+16131
2015-01-15Merge pull request #215Riccardo Spagni4-2/+36
24d500c Add a --restricted-rpc flag to simplewallet (moneromooo-monero)
2015-01-15Merge pull request #214Riccardo Spagni3-12/+45
87839cd Allow get_bulk_payments to return all payments regardless of payment ID (moneromooo-monero)
2015-01-14Merge #216Thomas Winget1-28/+41
Fix seed node threaded DNS lookup
2015-01-14Merge #22Thomas Winget2-26/+0
Remove code previously made unused and marked unused
2015-01-14Fix seed node threaded DNS lookupwarptangent1-28/+41
Use copied value of seed node index during thread creation, not reference. - fixes segfault Use boost::thread::try_join_until() instead of an atomic flag result variable for each thread. Add and handle interrupt for thread timeout. - fixes segfault where a thread exceeds requested timeout and tries to assign results to a referenced, but now out-of-scope, variable in the main thread.
2015-01-14Remove code previously made unused and marked unusedwarptangent2-26/+0
2015-01-12Merge pull request #21 from warptangent/fix_block_reorgThomas Winget5-35/+137
Fixes and additions for block reorganization
2015-01-11Fix height assertion in Blockchain::handle_alternative_block()warptangent1-1/+1
It expects the total number of blocks of main chain, not last block id (off-by-one error). This again behaves like the same height assertion done in original implementation in blockchain_storage::handle_alternative_block(). This allows a reorganization to proceed after an alternative block has been added.
2015-01-11Fix comparison between main and alternate chain's cumulativewarptangent1-2/+10
difficulty. This fixes the continual reorganization between a main and alternate chain, using the same two latest blocks from each. The check that cumulative difficulty of the alternate chain is bigger than main's was not using main's last block, but incorrectly using the passed-in block's previous block. main_chain_cumulative_difficulty was being used in two different ways. This has been split up to keep use of main_chain_cumulative_difficulty consistent.
2015-01-11Remove a have_block() check so alternate block can be processedwarptangent1-7/+27
Remove have_block() check from Blockchain::handle_block_to_main_chain(). Add logging to have_block(). This allows blockchain reorganization to proceed further. have_block() check here causes an error after a blockchain reorganize begins with error: "Attempting to add block to main chain, but it's already either there or in an alternate chain." While reorganizing to become the main chain, a block in the alternative chain would be refused due to have_block() rightfully finding it in the alternative chain. The reorganization would end in rollback, restoring to previous blockchain. Original implementation didn't call it here, and it doesn't appear necessary to be called from here in this implementation either. When needed, it appears it's called prior to handle_block_to_main_chain().
2015-01-11Complete implementation of transaction removalwarptangent4-23/+97
Complete method BlockchainLMDB::remove_output() - use output index as the key for: m_output_indices, m_output_txs, m_output_keys - call new method BlockchainLMDB::remove_amount_output_index() Add method to remove amount output index. - BlockchainLMDB::remove_amount_output_index() - for m_output_amounts This also fixes the segfault when blockchain reorganization is attempted.
2015-01-11Use block index when obtaining block's difficulty for log statementwarptangent1-2/+2
Use last block id, not number of blocks (off-by-one error). Fixes error at start of blockchain reorganization: "Attempt to get cumulative difficulty from height <XXXXXX> failed -- difficulty not in db"
2015-01-11added monoermooo's gpg keyRiccardo Spagni1-0/+52
2015-01-11Add a --restricted-rpc flag to simplewalletmoneromooo-monero4-2/+36
It restricts RPC to a subset of "view only" commands. Kind of like a poor man's view key replacement.
2015-01-11Allow get_bulk_payments to return all payments regardless of payment IDmoneromooo-monero3-12/+45
by giving an empty list of payment IDs.
2015-01-09Merge pull request #20 from warptangent/fix_transfersThomas Winget4-4/+127
Fix transfers Output indexing was being handled improperly. These changes fix that. Wallets (re-)created using this branch will need to be (re-)re-created in order to get correct output indices.
2015-01-09Fix transfers to support mixinswarptangent2-3/+42
Implement BlockchainLMDB::get_output_global_index() - returns global output index for a given amount and amount output index. Add information to debug statement for failed ring signature check within Blockchain::check_tx_inputs() Fixes bitmonerod RPC call "/getrandom_outs.bin" to return correct output keys, used in creating a transaction with mixins. TODO: get_output_global_index() could be refactored with part of get_output_tx_and_index() as the latter uses the former's functionality. Keep track of LMDB read transaction.
2015-01-09Fix transfers (without mixins)warptangent4-1/+85
Fix Blockchain::get_tx_outputs_gindexs() to return amount output indices. Implement BlockchainLMDB::get_tx_amount_output_indices() and call it from the function instead of BlockchainLMDB::get_tx_output_indices() Previously, Blockchain::get_tx_outputs_gindexs() was instead returning global output indices, which are internal to LMDB databases. Allows bitmonerod RPC /get_o_indexes.bin to return the amount output indices as expected. Allows simplewallet refresh to set correct amount output indices for incoming transfers. simplewallet can now construct and send valid transactions (currently only without mixins). This is a fix that doesn't require altering the structure of the current LMDB databases. TODO: This can be done more efficiently by adding another LMDB database (key-value table). It's not used during regular transaction validation by bitmonerod. I think it's currently used only or mainly by simplewallet for just its own incoming transactions. So the current behavior is not a primary bottleneck. Currently, it's using the "output_amounts" database, walking through a given amount's list of values, comparing each one to a given global output index. The iteration number of the match is the desired result: the amount output index. This is done for each global output index of the transaction. A tx's amount output indices can be stored in various other ways allowing for faster lookup. Since a tx is only written once, there are no special future write requirements for its list of indices.
2015-01-09throw inline functions need to keep exception typeThomas Winget1-3/+5
As it is useful for functions calling BlockchainDB functions to know whether an exception is expected (attempting to get a block that doesn't exist and counting it missing if not, to save time checking if it does, for example), the inline functions throw{0,1} need to keep the exception type information. Slight comment update due to copy/paste failure.
2015-01-09Fixes segfault in Blockchain::handle_alternative_blockThomas Winget2-6/+12
This commit should fix the segfault in Blockchain::handle_alternative_block, and also updates a few comments that were either incorrect or incomplete.
2015-01-08Merge pull request #206Riccardo Spagni2-11/+59
1b46226 std::atomic_flag has no copy/move constructor, can't have a vector (Thomas Winget) df53c0a small typo in previous commit (Thomas Winget) 4a53898 DNS seed timeout and fallback (Thomas Winget)
2015-01-07add BlockchainDB tests to new cmakeThomas Winget1-0/+1
2015-01-06Merge pull request #211Riccardo Spagni2-0/+3
7de1a2d previous hash added to GBT (Riccardo Spagni)
2015-01-06previous hash added to GBTRiccardo Spagni2-0/+3
2015-01-04Merge pull request #19 from warptangent/fix_tx_outputThomas Winget1-1/+1
Obtain tx hash and tx output index from amount and output offset
2015-01-04Merge pull request #18 from moneromooo-monero/blockchainThomas Winget2-12/+11
Blockchain
2015-01-04Obtain tx hash and tx output index from amount and output offsetwarptangent1-1/+1
Fixes problem of obtaining incorrect outputs used for tx input. Reverts to earlier intended behavior that was fixed in previous commit's split of get_output_tx_and_index into two functions.
2015-01-04Fixes a bug with getting output metadata from BlockchainDBThomas Winget4-17/+37
Thanks to moneromooo-monero for spotting the bug.
2015-01-04db_lmdb: fix global index calculation off by 1moneromooo-monero1-1/+1
This finally fixes raw tx being accepted by the daemon.
2015-01-04update comments to reflect changed codeThomas Winget1-4/+1
2015-01-04db_lmdb: remove redundant checksmoneromooo-monero1-10/+4
2015-01-04Merge pull request #17 from moneromooo-monero/blockchainThomas Winget1-1/+4
db_lmdb: catch attempt to remove block from an empty blockchain db_lmdb: do not give the group database write permissions
2015-01-04blockchain_converter: add --testnet for converting testnet blockchainmoneromooo-monero1-1/+6
2015-01-04db_lmdb: do not give the group database write permissionsmoneromooo-monero1-1/+1
2015-01-04db_lmdb: catch attempt to remove block from an empty blockchainmoneromooo-monero1-0/+3
It would probably have thrown when not finding a block at height 2^64-1, but better make things clear.
2015-01-04Merge pull request #16 from moneromooo-monero/blockchainThomas Winget1-485/+138
db_lmdb: factor all the log+throw code paths
2015-01-04Merge pull request #15 from moneromooo-monero/blockchainThomas Winget3-223/+106
many const-correctness changes and code quality enhancements. minor bugfix on block removal.
2015-01-04db_lmdb: factor all the log+throw code pathsmoneromooo-monero1-485/+138
2015-01-04Merge pull request #14 from moneromooo-monero/blockchainThomas Winget10-487/+384
Blockchain lots of const-correctness and more proper code, bug fix with syncing.
2015-01-04db_lmdb: factor the MDB_val setup codemoneromooo-monero1-197/+74
It makes the code simpler, avoids possible copy/paste errors (wrong sizeof, etc), and generally unclutters the calling code.
2015-01-04blockchain: fix wallet syncing from scratchmoneromooo-monero1-1/+2
When the wallet syncs from the first block, it is fine to start at the genesis block.
2015-01-04blockchain_converter: a bit more user friendly outputmoneromooo-monero1-2/+9
2015-01-04blockchain_converter: only call data path function oncemoneromooo-monero1-5/+4
2015-01-04blockchain: do not append "testnet" to the data directorymoneromooo-monero1-6/+0
It is already there (unless overridden via command line).
2015-01-04db_lmdb: remove block timestamp too when removing a blockmoneromooo-monero1-0/+6
2015-01-04db_lmdb: do not cast const awaymoneromooo-monero1-13/+13
2015-01-04Merge pull request #13 from moneromooo-monero/blockchainThomas Winget4-6/+69
Add lmdb to the cmake gunk, and use actual user directory for the blockchain location
2015-01-04db_lmdb: do not keep a dangling pointer to stack objectsmoneromooo-monero1-0/+4
2015-01-04db_lmdb: make cursor internal members privatemoneromooo-monero1-0/+1
2015-01-04blockchain_storage: refactor genesis block creationmoneromooo-monero2-16/+6
The existing assert is kept as it is stricter than the function's internal assert.
2015-01-04blockchain_storage: add consts where appropriatemoneromooo-monero2-110/+110
2015-01-04blockchain_converter: delete blockchain on succesful exitmoneromooo-monero1-0/+1
While the dtor implementation does not actually do anything, other paths do delete it, and the dtor might do someting later.
2015-01-04checkpoints: add consts where appropriatemoneromooo-monero2-7/+7
2015-01-04blockchain: add consts where appropriatemoneromooo-monero2-84/+84
2015-01-04blockchain_db: add consts where appropriatemoneromooo-monero3-121/+121
2015-01-04blockchain_db: factor some exception codemoneromooo-monero1-148/+48
Ideally, the log would go in the exception's ctor, but two log levels are used, so I'd need to specify the level in the ctor, which isn't great as it's not really related to the exception.
2015-01-04extraneous semicolon in Blockchain::complete_timestamps_vectorThomas Winget1-1/+1
credit here: https://bitcointalk.org/index.php?topic=583449.msg9562845#msg9562845
2015-01-04blockchain_converter: use the actual blockchain locationmoneromooo-monero1-3/+5
2015-01-04raised maximum mapsize for lmdb to ~16GBThomas Winget1-1/+1
2015-01-04build: add liblmdb to the cmake autodetection systemmoneromooo-monero3-3/+64
update for rebase (warptangent 2015-01-04) src/cryptonote_core/CMakeLists.txt (edit) - replace LMDB_LIBRARIES with LMDB_LIBRARY set from autodetection
2015-01-04more blockchain height-related fixes, syncing other nodes code this timeThomas Winget1-4/+4
2015-01-04~ didn't work, need hard path. debug print.Thomas Winget1-3/+5
2015-01-04very, VERY primitive blockchain converterThomas Winget5-14/+171
hard-coded config folder, hard-coded BlockchainDB subclass. Needs finessing, but should be testable this way. update for rebase (warptangent 2015-01-04) fix conflicts with upstream CMakeLists.txt files src/CMakeLists.txt (edit original commit) src/blockchain_converter/CMakeLists.txt (add)
2015-01-04add new checkpointing behavior to Blockchain classThomas Winget2-3/+78
2015-01-04Remove unused dependencyThomas Winget26-11043/+0
2015-01-04Store output pubkeys separately, bug fixesThomas Winget2-9/+54
2015-01-04Minor bugfixes, redundancy removalThomas Winget3-10/+104
Minor bugfixes in block removal Storing outputs outside their transactions is largely unnecessary, and thus has been removed.
2015-01-04moar bug fixes, removed debug printsThomas Winget2-8/+4
2015-01-04BlockchainLMDB seems to be working*!Thomas Winget3-141/+155
* - Well, mostly. Haven't let it sync too far just yet. Currently trying to figure out the best way to deal with LMDB/mmap virtual memory pages.
2015-01-04some bug fixes, but still needs workThomas Winget3-35/+73
There are quite a few debug prints in this commit that will need removed later, but for posterity (in case someone wants to debug this while I'm away), I left them in. Currently errors when syncing on the first block that has a "real" transaction. Seems to not be able to validate the ring signature, but I can't for the life of me figure out what's going wrong.
2015-01-04Minor bug fixes and debug printsThomas Winget2-6/+122
Blockchain and BlockchainLMDB classes now have a debug print at the beginning of each function at log level 2. These can be removed at any time, but for now are quite useful. Blockchain runs, and adds the genesis block just fine, but for some reason isn't getting new blocks.
2015-01-04minor fixes to Blockchain.cppThomas Winget2-3/+7
2015-01-04Integrate BlockchainDB into cryptonote_coreThomas Winget8-24/+58
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
2015-01-04All LMDB BlockchainDB implemented, not testedThomas Winget2-135/+900
All of the functionality for the LMDB implementation of BlockchainDB is implemented, but only what is in tests/unit_tests/BlockchainDB.cpp has been tested. This is basically add a block, see if you can get the block and a tx from the block. More tests should be added at some point.
2015-01-04LMDB blockchain: remove outputs and spent keysThomas Winget1-0/+63
2015-01-04Adding block data to LMDB BlockchainDB codedThomas Winget3-8/+258
Still needs testing (and need to write a few more unit tests), but everything should be there. Lots of unfortunate duplication, but...well, I can't see a way around it using LMDB. A couple of other minor changes in this commit, only slightly relevant.
2015-01-04Parts of LMDB impl of BlockchainDB done and workingThomas Winget4-69/+431
The rest should just be tedious copypasta and modification.
2015-01-04BlockchainDB unit tests, lmdb linker flagThomas Winget2-6/+25
Some BlockchainDB unit testing fleshed out (and working), rudimentary linker flag for lmdb in CMakeLists, but should probably be done "correctly" at some point (find it on whatever system you're building on and all that jazz). update for rebase (warptangent 2015-01-04) fix conflicts with upstream CMakeLists.txt files tests/CMakeLists.txt (remove edits from original commit)
2015-01-04Initial commit of lmdb BlockchainDB implThomas Winget2-0/+472
2015-01-04Initial commit of BlockchainDB tests, other miscThomas Winget3-6/+315
miscellaneous changes to BlockchainDB/blockchain as well, namely replacing instances of std::list with std::vector
2015-01-04Adding libglim as an external libraryThomas Winget26-0/+11043
libglim is an Apache-licensed C++ wrapper for lmdb, and rather than rolling our own it seems prudent to use it. Note: lmdb is not included in it, and unless something happens as did with libunbound, should be installed via each OS' package manager or equivalent.
2015-01-04update new blockchain to build with new changesThomas Winget2-13/+34
Still need to add in the new checkpointing functionality, as well as touch up a few things, but is okay for now.
2015-01-04stupid past me, fixing typos and shit...Thomas Winget1-21/+21
2015-01-04missing typedefThomas Winget1-0/+3
2015-01-04import of BlockchainDB filesThomas Winget4-0/+3003
tried rebasing, tree-filter, and many other things. at this point, the history of these files previous to this can live on in my bc2 branch, as I'm importing them as-is to here.
2015-01-02Merge pull request #208Riccardo Spagni313-349/+302
f4b69d5 year updated in license (Riccardo Spagni)
2015-01-02year updated in licenseRiccardo Spagni313-349/+302
2014-12-15std::atomic_flag has no copy/move constructor, can't have a vectorThomas Winget1-9/+7
2014-12-15small typo in previous commitThomas Winget1-1/+1
2014-12-15DNS seed timeout and fallbackThomas Winget2-11/+61
2014-12-13Merge pull request #203Riccardo Spagni3-4/+41
583cf0a Document existing function (warptangent) 95eb944 Repeat prompt for wallet path if invalid (warptangent)
2014-12-13Merge pull request #202Riccardo Spagni1-2/+0
d7aafd5 wallet2::rewrite update to not require bin file (warptangent)
2014-12-13Merge pull request #201Riccardo Spagni1-7/+9
9b7e0a0 wallet2::load correctly initialize m_blockchain for wallet loaded without bin file (warptangent)
2014-12-13Merge pull request #200Riccardo Spagni4-0/+125
cfc8c55 Add simple_wallet::seed_set_language method (warptangent) 26b87df Add wallet2::verify_password method (warptangent)
2014-12-13Merge pull request #205Riccardo Spagni2-1/+53
b261448 revert the removal of the 'arch' flag from the release-static target (Riccardo Spagni) a956f07 added gpg key for warptangent (Riccardo Spagni) ac19084 revert the removal of the 'arch' flag from the release-static target (Riccardo Spagni)
2014-12-13Merge branch 'master' of https://github.com/fluffypony/bitmoneroRiccardo Spagni0-0/+0
2014-12-13added gpg key for warptangentRiccardo Spagni1-0/+52
Signed-off-by: Riccardo Spagni <ric@spagni.net>
2014-12-13revert the removal of the 'arch' flag from the release-static targetRiccardo Spagni1-1/+1
2014-12-13onwards to 0.8.8.7Riccardo Spagni1-1/+1
Signed-off-by: Riccardo Spagni <ric@spagni.net>
2014-12-11Document existing functionwarptangent1-0/+6
2014-12-11Repeat prompt for wallet path if invalidwarptangent3-4/+35
simplewallet run without a wallet path argument should prompt again if an invalid path was entered. Validity here currently means the string isn't empty.
2014-12-10revert the removal of the 'arch' flag from the release-static targetRiccardo Spagni1-1/+1
2014-12-10wallet2::rewrite update to not require bin filewarptangent1-2/+0
Allow pre-JSON wallet format to load without depending on existing bin file. Don't write bin file while inside keys rewrite, so bin file write behavior here matches that of regular wallet load.
2014-12-10wallet2::load correctly initialize m_blockchain for wallet loaded without ↵warptangent1-7/+9
bin file Fix for simplewallet loading a wallet with a keys file but no bin file. - this situation previously required a user to restart simplewallet before it would refresh its blockchain from the server.
2014-12-08Add simple_wallet::seed_set_language methodwarptangent2-0/+72
Add simple_wallet::set_variable method to provide top-level "set" command and support "set seed language" command.
2014-12-08Add wallet2::verify_password methodwarptangent2-0/+53
Allows wallet password to be verified without changing wallet state.
2014-12-08version bump to 0.8.8.6v0.8.8.6Riccardo Spagni1-1/+1
2014-12-08Merge pull request #196Riccardo Spagni3-34/+67
f9822c4 wallet JSON update for non-deterministic wallet data (warptangent) 4c6230d Checking and handling for deterministic vs non-deterministic wallet (warptangent) 1beedb9 Extract check for deterministic keys to wallet2::is_deterministic() (warptangent) 359ede3 indentation (warptangent) 2290eff replace lines with call to recently added print_seed() (warptangent)
2014-12-08Merge pull request #183Riccardo Spagni1-1/+5
250254c Exception handling while refreshing in rpc wallet (credits to QCN) (Sammy Libre)
2014-12-06wallet JSON update for non-deterministic wallet datawarptangent1-4/+10
wallet2::store_keys() and wallet2::load_keys() should only use the JSON attribute "seed_language" when applicable. That is only for deterministic wallets. - store_keys() don't add JSON attribute "seed_language" if seed_language is empty - load_keys() don't call set_seed_language if JSON attribute "seed_language" not present
2014-12-06Checking and handling for deterministic vs non-deterministic walletwarptangent1-19/+35
simple_wallet::seed() - Check that wallet is deterministic. simple_wallet::new_wallet() - Prompt for seed language only if it's a non-deterministic wallet, along with previous conditions. simple_wallet::open_wallet() - Fixed check for deterministic wallet (flag based on command line non-deterministic argument was used before, but it's inapplicable to opening an existing wallet). - As with deterministic wallet, non-deterministic also included to be rewritten to new JSON format file. That's what's done for newly generated non-deterministic wallets, so old versions should be updated to same format.
2014-12-06Extract check for deterministic keys to wallet2::is_deterministic()warptangent2-6/+20
It's cleaner for wallet2.cpp and it also allows deterministic check by simplewallet.cpp.
2014-12-06indentationwarptangent1-1/+1
2014-12-06replace lines with call to recently added print_seed()warptangent1-4/+1
2014-12-04update unbound from upstreamRiccardo Spagni72-2655/+1261
2014-12-02increased version number for tagged releasev0.8.8.5Riccardo Spagni1-1/+1
2014-12-02fixed CMake version matchingRiccardo Spagni1-1/+1
2014-12-02Merge pull request #186Riccardo Spagni3-6/+3
3300ae5 remove unused display variable (warptangent) 0e0e557 return true on success (warptangent) 2e11eb1 deterministic wallet use of twelve words fixed (warptangent) 21a3c46 ensure that keccak is called on view spend key, not a possibly pre-sc_reduce32 version of it - for deriving view secret key (warptangent)
2014-12-02Merge pull request #187Riccardo Spagni3-0/+24
3dd19c4 prompt for seed language and error handling - "seed" simplewallet command was only displaying seed if wallet was newly generated (warptangent)
2014-12-01prompt for seed language and error handlingwarptangent3-0/+24
- "seed" simplewallet command was only displaying seed if wallet was newly generated
2014-12-01remove unused display variablewarptangent1-3/+0
2014-12-01return true on successwarptangent1-1/+1
2014-12-01deterministic wallet use of twelve words fixedwarptangent1-1/+1
2014-12-01ensure that keccak is called on view spend key, not a possibly ↵warptangent1-1/+1
pre-sc_reduce32 version of it - for deriving view secret key
2014-12-01Merge pull request #192Riccardo Spagni29-30/+8198
affde29 moved rapidjson to external folder, fixed CMake (Riccardo Spagni) f1eaf88 Prints seed after wallet upgrade. Removed iostream include. (Oran Juice) 70971be Doxygen comments (Oran Juice) 031ca23 Rewrites to old wallet file correctly (Oran Juice) 1f833dc Doxygen comments in (Oran Juice) 0bd88ff Writes seed language while generating wallet. Wallet open fix. (Oran Juice) 09a659e Stores seed language in wallet file. added rapidjson. Yet to test backward compatibility (Oran Juice)
2014-12-01moved rapidjson to external folder, fixed CMakeRiccardo Spagni25-1/+3
2014-12-01Merge pull request #1Riccardo Spagni29-30/+8196
f1eaf88 Prints seed after wallet upgrade. Removed iostream include. (Oran Juice) 70971be Doxygen comments (Oran Juice) 031ca23 Rewrites to old wallet file correctly (Oran Juice) 1f833dc Doxygen comments in (Oran Juice) 0bd88ff Writes seed language while generating wallet. Wallet open fix. (Oran Juice) 09a659e Stores seed language in wallet file. added rapidjson. Yet to test backward compatibility (Oran Juice)
2014-12-01Merge pull request #191Riccardo Spagni2-6/+15
685dd4a don't build tests unless we're building all-* or *-test builds (Riccardo Spagni)
2014-12-01don't build tests unless we're building all-* or *-test buildsRiccardo Spagni2-6/+15
2014-11-27updated readme to include libevent / libgtest depsRiccardo Spagni1-1/+1
2014-11-26Merge pull request #188Riccardo Spagni5-9/+10
dde7897 Disable legacy fees for now (iamsmooth) cc74b43 Remove DEFAULT_FEE, add temporary acceptance of too-small per-kb fee >= 0.1, denominations based on DEFAULT_DUST_THRESHOLD, document fee arg to create_transactions as unused, se DEFAULT_DUST_THRESHOLD for wallet dust collection instead of calcualted tx fee (iamsmooth)
2014-11-25Merge pull request #180Riccardo Spagni32-340/+2905
ce71c01 cmake: work around a bug with implicit link directories (Ben Boeckel) de4fc40 mingw: copy required libraries to the build tree (Ben Boeckel) ec54e2f cmake: place binaries together in the build tree (Ben Boeckel) 18c56ab msys: don't use LTO (Ben Boeckel) 5680c9c msys: factor out -Werror on msys (Ben Boeckel) 4751542 msys: look in msys' directory for files (Ben Boeckel) d855fe4 miniupnpc: bump the _POSIX_C_SOURCE feature macro (Ben Boeckel) c696492 unbound: fix getaddrinfo detection for 32-bit windows (Ben Boeckel) e377687 cmake: Windows and static builds need this (Ben Boeckel) 01895dd cmake: fix up link lines (Ben Boeckel) 4b6515c unbound: fix type checking (Ben Boeckel) d43a20f unbound: plumb the libdir up (Ben Boeckel) 7d708e4 cmake: support 2.8.7 (Ben Boeckel) 464c280 cmake: fix up miniupnpc's define (Ben Boeckel) 9689df9 cmake: clean up EXTRA_LIBRARIES (Ben Boeckel) 3b7bdcb cmake: set the project name (Ben Boeckel) 0f0efc4 cmake: prepend to CMAKE_MODULE_PATH (Ben Boeckel) 031e3da cmake: remove scream-make (all-caps functions) (Ben Boeckel) abbd5c0 unbound: import cmake build system (Ben Boeckel) e59b5b7 miniupnpc: clean up build system (Ben Boeckel) 475fe20 cmake: minor cleanups (indentation and typos) (Ben Boeckel) 799e8b2 cmake: use option() for STATIC (Ben Boeckel) c24d22b cmake: clean up if auto-dereferencing (Ben Boeckel) 9ed415a build: inform the build of what generates version.h (Ben Boeckel) eba180a cmake: support git info in released tarballs (Ben Boeckel) eeffac6 cmake: fix up BOOST_IGNORE_SYSTEM_PATHS (Ben Boeckel) a43f1a8 cmake: remove configuration variables (Ben Boeckel) a87ce09 cmake: factor out error messages (Ben Boeckel) 9aa48b6 miniupnpc: clear out else/endfoo command arguments (Ben Boeckel) 8a86ac8 daemon_tests: update cmake code (Ben Boeckel) fa3ff75 gtest: support an external gtest (Ben Boeckel) 7bfcffa cmake: put each test executable in its own directory (Ben Boeckel) f53f047 cmake: handle private vs. public headers (Ben Boeckel) 55ca7d3 cmake: refactor common code with libraries (Ben Boeckel) c773f46 cmake: refactor common code with executables (Ben Boeckel) 89cff7b cmake: put each library into its own directory (Ben Boeckel)
2014-11-18cmake: work around a bug with implicit link directoriesBen Boeckel1-0/+8
Unfortunately, this is necessary because CMake doesn't detect whether mingw libraries are static or shared and doesn't put a -static flag around the -lfoo argument which then makes the shared library be linked to.
2014-11-18mingw: copy required libraries to the build treeBen Boeckel1-0/+16
These are found as shared libraries and need to be copied so that PATH manipulation isn't necessary outside of an msys shell.
2014-11-18cmake: place binaries together in the build treeBen Boeckel1-0/+3
This allows Windows to copy binaries to one place rather than to each executable directory.
2014-11-17msys: don't use LTOBen Boeckel1-0/+2
This causes duplicate symbol errors on msys' mingw install.
2014-11-17msys: factor out -Werror on msysBen Boeckel1-1/+4
There are Windows-related warnings turned into errors here.
2014-11-17msys: look in msys' directory for filesBen Boeckel1-0/+5
This tells find_path and find_library to look under this directory first which is what we want on msys2.
2014-11-11Disable legacy fees for nowiamsmooth2-2/+2
2014-11-10miniupnpc: bump the _POSIX_C_SOURCE feature macroBen Boeckel1-1/+1
FreeBSD doesn't expose IPv6 structures without this.
2014-11-09Remove DEFAULT_FEE, add temporary acceptance of too-small per-kb fee >= 0.1, ↵iamsmooth5-9/+10
denominations based on DEFAULT_DUST_THRESHOLD, document fee arg to create_transactions as unused, se DEFAULT_DUST_THRESHOLD for wallet dust collection instead of calcualted tx fee
2014-11-06Merge pull request #184Riccardo Spagni3-3/+22
d2287d3 per kb fees not passing correct fee to transfer() (Thomas Winget) dc67b12 Should now properly do per-kb fee (Thomas Winget) 557e27f per kb fees (Thomas Winget)
2014-11-06per kb fees not passing correct fee to transfer()Thomas Winget1-2/+1
2014-11-06Should now properly do per-kb feeThomas Winget1-1/+2
I'm an idiot.
2014-11-06per kb feesThomas Winget3-3/+22
2014-11-01Exception handling while refreshing in rpc wallet (credits to QCN)Sammy Libre1-1/+5
2014-10-24unbound: fix getaddrinfo detection for 32-bit windowsBen Boeckel1-1/+11
On Windows, getaddrinfo is part of the Windows API and as such is __stdcall, not __cdecl, so check_function_exists fails because the declaration doesn't match the mangling __stdcall has. Instead, use a header to include the symbol as declared on the system and use check_symbol_exists instead. Tested-By: greatwolf on IRC