Commit graph

452 commits

Author SHA1 Message Date
Thomas Winget
006afe2172 Minor bug fixes and debug prints
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-04 19:31:19 -08:00
Thomas Winget
90f402e258 minor fixes to Blockchain.cpp 2015-01-04 19:31:19 -08:00
Thomas Winget
74a1a89e27
Integrate BlockchainDB into cryptonote_core
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-04 19:29:51 -08:00
Thomas Winget
d8c570b588 All LMDB BlockchainDB implemented, not tested
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-04 19:01:11 -08:00
Thomas Winget
e47e343a1c LMDB blockchain: remove outputs and spent keys 2015-01-04 19:01:10 -08:00
Thomas Winget
a0af217d9a Adding block data to LMDB BlockchainDB coded
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-04 19:01:10 -08:00
Thomas Winget
db00ce0173 Parts of LMDB impl of BlockchainDB done and working
The rest should just be tedious copypasta and modification.
2015-01-04 19:01:10 -08:00
Thomas Winget
b98b96489f Initial commit of lmdb BlockchainDB impl 2015-01-04 18:41:44 -08:00
Thomas Winget
bc44bc19f4 Initial commit of BlockchainDB tests, other misc
miscellaneous changes to BlockchainDB/blockchain as well, namely
replacing instances of std::list with std::vector
2015-01-04 18:41:44 -08:00
Thomas Winget
07733f98c0 update new blockchain to build with new changes
Still need to add in the new checkpointing functionality, as well as
touch up a few things, but is okay for now.
2015-01-04 18:41:44 -08:00
Thomas Winget
1ffbeb2d2e stupid past me, fixing typos and shit... 2015-01-04 18:41:44 -08:00
Thomas Winget
67515b8b19 missing typedef 2015-01-04 18:41:43 -08:00
Thomas Winget
aba548cbf7 import of BlockchainDB files
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-04 18:41:43 -08:00
Riccardo Spagni
f4b69d553a
year updated in license 2015-01-02 18:52:46 +02:00
Riccardo Spagni
f4675dc05d
Merge pull request #203
583cf0a Document existing function (warptangent)
95eb944 Repeat prompt for wallet path if invalid (warptangent)
2014-12-13 13:52:30 +02:00
Riccardo Spagni
c3ec723882
Merge pull request #202
d7aafd5 wallet2::rewrite update to not require bin file (warptangent)
2014-12-13 13:52:03 +02:00
Riccardo Spagni
c1bf8fb94b
Merge pull request #201
9b7e0a0 wallet2::load correctly initialize m_blockchain for wallet loaded without bin file (warptangent)
2014-12-13 13:51:42 +02:00
Riccardo Spagni
f5c2a5ec9c
Merge pull request #200
cfc8c55 Add simple_wallet::seed_set_language method (warptangent)
26b87df Add wallet2::verify_password method (warptangent)
2014-12-13 13:51:14 +02:00
Riccardo Spagni
d5620851f9 onwards to 0.8.8.7
Signed-off-by: Riccardo Spagni <ric@spagni.net>
2014-12-13 13:45:57 +02:00
warptangent
583cf0ad8a Document existing function 2014-12-11 02:55:44 -08:00
warptangent
95eb944ead
Repeat prompt for wallet path if invalid
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-11 02:52:48 -08:00
warptangent
d7aafd555a
wallet2::rewrite update to not require bin file
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-10 02:56:54 -08:00
warptangent
9b7e0a06b5
wallet2::load correctly initialize m_blockchain for wallet loaded without 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-10 02:42:15 -08:00
warptangent
cfc8c55036
Add simple_wallet::seed_set_language method
Add simple_wallet::set_variable method to provide top-level "set"
command and support "set seed language" command.
2014-12-08 21:57:54 -08:00
warptangent
26b87dfdc2
Add wallet2::verify_password method
Allows wallet password to be verified without changing wallet state.
2014-12-08 21:57:03 -08:00
Riccardo Spagni
efad735145
version bump to 0.8.8.6 2014-12-08 22:55:28 +02:00
Riccardo Spagni
ebb117c7b6
Merge pull request #196
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-08 21:29:28 +02:00
Riccardo Spagni
1925eeffa8
Merge pull request #183
250254c Exception handling while refreshing in rpc wallet (credits to QCN) (Sammy Libre)
2014-12-08 20:03:39 +02:00
warptangent
f9822c483e wallet JSON update for non-deterministic wallet data
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-06 03:15:18 -08:00
warptangent
4c6230d6cf Checking and handling for deterministic vs non-deterministic wallet
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-06 02:24:11 -08:00
warptangent
1beedb9dd4 Extract check for deterministic keys to wallet2::is_deterministic()
It's cleaner for wallet2.cpp and it also allows deterministic check by
simplewallet.cpp.
2014-12-06 02:05:50 -08:00
warptangent
359ede3958 indentation 2014-12-06 01:47:59 -08:00
warptangent
2290eff6d6 replace lines with call to recently added print_seed() 2014-12-06 01:47:05 -08:00
Riccardo Spagni
9f74cc8e19
increased version number for tagged release 2014-12-02 11:42:40 +02:00
Riccardo Spagni
a144997c48
fixed CMake version matching 2014-12-02 08:36:01 +02:00
Riccardo Spagni
ef2a2b42c9
Merge pull request #186
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-02 07:34:56 +02:00
warptangent
3dd19c4cd4 prompt for seed language and error handling
- "seed" simplewallet command was only displaying seed if wallet was newly generated
2014-12-01 14:36:24 -08:00
warptangent
3300ae5f4e remove unused display variable 2014-12-01 14:08:26 -08:00
warptangent
0e0e55714d return true on success 2014-12-01 13:35:09 -08:00
warptangent
2e11eb1504 deterministic wallet use of twelve words fixed 2014-12-01 13:35:09 -08:00
warptangent
21a3c46a1b ensure that keccak is called on view spend key, not a possibly pre-sc_reduce32 version of it
- for deriving view secret key
2014-12-01 13:35:09 -08:00
Riccardo Spagni
affde29754
moved rapidjson to external folder, fixed CMake 2014-12-01 21:15:50 +02:00
Riccardo Spagni
4cd15cdde5
Merge pull request #1
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-01 20:15:06 +02:00
Riccardo Spagni
40971b4ee6
Merge pull request #188
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-26 22:45:44 +02:00
Riccardo Spagni
ab7c6c07e7
Merge pull request #180
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-25 21:49:00 +02:00
Ben Boeckel
ec54e2f82b cmake: place binaries together in the build tree
This allows Windows to copy binaries to one place rather than to each
executable directory.
2014-11-18 17:02:28 -05:00
iamsmooth
dde7897fd4 Disable legacy fees for now 2014-11-11 02:03:00 +00:00
iamsmooth
cc74b43651 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 2014-11-09 10:53:29 +00:00
Thomas Winget
d2287d3108 per kb fees not passing correct fee to transfer() 2014-11-06 22:09:23 -07:00
Thomas Winget
dc67b12ea9 Should now properly do per-kb fee
I'm an idiot.
2014-11-06 22:09:14 -07:00
Thomas Winget
557e27fd21 per kb fees 2014-11-06 22:09:07 -07:00
Sammy Libre
250254c338 Exception handling while refreshing in rpc wallet (credits to QCN) 2014-11-01 11:30:53 +05:00
Ben Boeckel
e3776876af cmake: Windows and static builds need this 2014-10-24 15:52:01 -04:00
Ben Boeckel
01895dd067 cmake: fix up link lines 2014-10-24 15:30:57 -04:00
Ben Boeckel
7d708e4223 cmake: support 2.8.7
Older versions of CMake support LINK_{PUBLIC,PRIVATE} while newer
versions prefer PUBLIC and PRIVATE instead, but still support the LINK_
prefix.
2014-10-24 15:29:51 -04:00
Ben Boeckel
464c2805e5 cmake: fix up miniupnpc's define
It's only necessary on Windows builds and new versions renamed the
define without any compatibility bridge.
2014-10-23 16:43:00 -04:00
Ben Boeckel
c24d22b44e cmake: clean up if auto-dereferencing
CMake will auto-dereference variable names in if statements, so there's
no need to dereference them manually.
2014-10-23 16:42:35 -04:00
Ben Boeckel
f53f04724c cmake: handle private vs. public headers 2014-10-23 16:42:34 -04:00
Ben Boeckel
55ca7d3b34 cmake: refactor common code with libraries 2014-10-23 16:42:34 -04:00
Ben Boeckel
c773f465ca cmake: refactor common code with executables 2014-10-23 16:42:34 -04:00
Ben Boeckel
89cff7bddc cmake: put each library into its own directory
This cleans up the CMake code and shows patterns more easily (to be
refactored in the next commit).
2014-10-23 16:42:34 -04:00
Riccardo Spagni
699d932461
Merge pull request #182
1795c38 fixed unit tests (Riccardo Spagni)
bc537ac miniupnpc static define change (Riccardo Spagni)
2014-10-23 16:43:39 +02:00
Oran Juice
f1eaf88ba6
Prints seed after wallet upgrade. Removed iostream include. 2014-10-19 14:39:45 +05:30
Oran Juice
70971be96b
Doxygen comments 2014-10-19 01:08:21 +05:30
Oran Juice
031ca23ce9
Rewrites to old wallet file correctly 2014-10-19 01:00:18 +05:30
Oran Juice
1f833dcf77
Doxygen comments in 2014-10-18 23:11:05 +05:30
Oran Juice
0bd88ff256
Writes seed language while generating wallet. Wallet open fix. 2014-10-18 23:01:43 +05:30
Oran Juice
09a659edb5
Stores seed language in wallet file. added rapidjson. Yet to test backward compatibility 2014-10-18 02:21:37 +05:30
Riccardo Spagni
acb29cdb0f
fixed errant > 2014-10-15 12:21:09 +02:00
Riccardo Spagni
2de2c52c02
Merge pull request #178
b032619 Commented most of src/serialization/ going to read up more on variant's and finish off the job/add last touchs next (jebes)
2014-10-15 12:15:37 +02:00
Riccardo Spagni
db5ca73fdd
Merge pull request #176
b94b8cd Added unit test. Fails for Japanese for some reason. (Oran Juice)
4c8a628 Remove iostream header put in during testing (Oran Juice)
9875f5b Variable unique prefix lengths for seed (Oran Juice)
2014-10-15 12:14:49 +02:00
Riccardo Spagni
0790aea6c8
Merge pull request #174
28dfb4b capitalize Keccak everywhere (David G. Andersen)
ce2ad65 typo fix - cryptonight, not cryptonote (David G. Andersen)
2014-10-15 11:32:16 +02:00
Riccardo Spagni
98a592bc44
fixed conflict in tests CMakeLists 2014-10-15 11:10:04 +02:00
jebes
b032619a9c Commented most of src/serialization/ going to read up more on variant's and finish off the job/add last touchs next 2014-10-13 16:00:09 -04:00
Oran Juice
b94b8cd798
Added unit test. Fails for Japanese for some reason. 2014-10-08 00:44:26 +05:30
Oran Juice
4c8a628de2
Remove iostream header put in during testing 2014-10-07 16:14:03 +05:30
Oran Juice
9875f5b875
Variable unique prefix lengths for seed 2014-10-07 12:49:36 +05:30
Riccardo Spagni
bc537ac095
miniupnpc static define change 2014-10-07 00:44:44 +02:00
Riccardo Spagni
6f65ab1904
Merge pull request #175
b419075 added hardcoded checkpoint at block 249380 (Riccardo Spagni)
7c1d3b5 fixed miniupnpc dynamic target (Riccardo Spagni)
26728d9 mingw library tweaks (Riccardo Spagni)
2cf94c1 fix for mingw not playing nicely with libunbound configure, fix for correctly finding static libs on various operating systems (Riccardo Spagni)
b05e27f need to link with -ldl on Linux when building statically (Riccardo Spagni)
e55982a set the winsock variable differently on Windows (Riccardo Spagni)
0586a27 fixed configure_command for libunbound under mingw (Riccardo Spagni)
f8fd036 turns out mingw does actually produce .a libs and not .dll.a (Riccardo Spagni)
6be3d1d added bison/yacc static build dependency (Riccardo Spagni)
1afba73 quieten CMake when it can't find packages (Riccardo Spagni)
735a017 removed required flags from miniupnp and unbound (Riccardo Spagni)
6b7ac4b enforce static libraries when building statically (Riccardo Spagni)
1d5991e include openssl in linbunbound static linking, added errors for openssl and expat (Riccardo Spagni)
6ef8ae8 reference the correct unbound static lib (Riccardo Spagni)
23cc93c added libtool's install command (Riccardo Spagni)
409e9ba use the correct CMake variable for static builds (Riccardo Spagni)
3a0b00a build libunbound correctly (Riccardo Spagni)
75a616f fix missing parentheses (Riccardo Spagni)
59172ee build libunbound from external if no local libunbound or for static builds (Riccardo Spagni)
1dee71a added static build dependency instructions to README (Riccardo Spagni)
ff3a766 added static build dependency instructions to README (Riccardo Spagni)
5829b35 include openssl in linbunbound static linking, added errors for openssl and expat (Riccardo Spagni)
c70fa86 reference the correct unbound static lib (Riccardo Spagni)
954a244 added libtool's install command (Riccardo Spagni)
fd52015 use the correct CMake variable for static builds (Riccardo Spagni)
cc0f6a6 build libunbound correctly (Riccardo Spagni)
8c00098 fix missing parentheses (Riccardo Spagni)
cee8747 build libunbound from external if no local libunbound or for static builds (Riccardo Spagni)
add1a60 added static build dependency instructions to README (Riccardo Spagni)
2014-10-07 00:21:53 +02:00
Riccardo Spagni
b41907574a
added hardcoded checkpoint at block 249380 2014-10-07 00:08:47 +02:00
David G. Andersen
28dfb4b178 capitalize Keccak everywhere 2014-10-06 17:44:23 -04:00
David G. Andersen
ce2ad65599 typo fix - cryptonight, not cryptonote 2014-10-06 17:42:58 -04:00
Riccardo Spagni
2cf94c1321
fix for mingw not playing nicely with libunbound configure, fix for correctly finding static libs on various operating systems 2014-10-06 22:29:07 +02:00
Riccardo Spagni
fd52015a2d use the correct CMake variable for static builds 2014-10-06 18:08:33 +02:00
Riccardo Spagni
cee87473ad build libunbound from external if no local libunbound or for static builds 2014-10-06 18:08:32 +02:00
David G. Andersen
e4fb913b2d Fix comment start for two functions 2014-10-06 10:15:21 -04:00
moneromooo-monero
beecd139a2
core_rpc_server: use do while(0) idiom in macros using if 2014-10-06 14:58:35 +01:00
moneromooo-monero
add803be89
core_rpc_server: fix overreads in slow_memmem
It would read data outside the allocated space in a couple cases.
2014-10-06 14:57:49 +01:00
Riccardo Spagni
2c739371ac
Merge pull request #170
46f26ff another typo fix (David G. Andersen)
ac6bc48 fix typo (David G. Andersen)
d744dd1 More documentation (David G. Andersen)
4d493f6 initial doxygen commenting of the CryptoNight proof-of-work code (David G. Andersen)
2014-10-06 10:30:48 +02:00
Riccardo Spagni
664ae0085d
Merge pull request #167
aeaa44f fixed signed-unsigned issue from 166 (Thomas Winget)
2014-10-06 10:27:17 +02:00
Riccardo Spagni
010bfcfd18
minor English wordlist tweaks 2014-10-06 08:47:04 +02:00
David G. Andersen
46f26ffe88 another typo fix 2014-10-05 20:32:49 -04:00
Riccardo Spagni
732493c5cb
split mnemonic printout over 3 lines 2014-10-05 21:19:29 +02:00
David G. Andersen
ac6bc4859f fix typo 2014-10-05 14:14:59 -04:00
David G. Andersen
d744dd1be5 More documentation 2014-10-05 13:47:13 -04:00
David G. Andersen
4d493f6d4f initial doxygen commenting of the CryptoNight proof-of-work code 2014-10-05 12:33:39 -04:00
Riccardo Spagni
e5ac88819a
added other skipped commit 2014-10-05 12:55:59 +02:00
Riccardo Spagni
aa6e8a92f6
added skipped commit 2014-10-05 12:52:40 +02:00
Riccardo Spagni
a41f23921c
added trim_length to language_base class, added license to langeuage_base 2014-10-05 12:42:40 +02:00
Riccardo Spagni
7e5331e612
new English word list, trim length of 3, average word size of 6 letters, designed to be a bit unusual and thus easier to memorise 2014-10-05 11:44:06 +02:00