Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
Minor bugfixes in block removal
Storing outputs outside their transactions is largely unnecessary, and
thus has been removed.
|
|
|
|
* - 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.
|
|
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.
|
|
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.
|
|
|
|
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
|
|
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.
|
|
|
|
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.
|
|
The rest should just be tedious copypasta and modification.
|
|
|
|
miscellaneous changes to BlockchainDB/blockchain as well, namely
replacing instances of std::list with std::vector
|
|
Still need to add in the new checkpointing functionality, as well as
touch up a few things, but is okay for now.
|
|
|
|
|
|
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.
|
|
|
|
583cf0a Document existing function (warptangent)
95eb944 Repeat prompt for wallet path if invalid (warptangent)
|
|
d7aafd5 wallet2::rewrite update to not require bin file (warptangent)
|
|
9b7e0a0 wallet2::load correctly initialize m_blockchain for wallet loaded without bin file (warptangent)
|
|
cfc8c55 Add simple_wallet::seed_set_language method (warptangent)
26b87df Add wallet2::verify_password method (warptangent)
|
|
Signed-off-by: Riccardo Spagni <ric@spagni.net>
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
Add simple_wallet::set_variable method to provide top-level "set"
command and support "set seed language" command.
|
|
Allows wallet password to be verified without changing wallet state.
|
|
|
|
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)
|
|
250254c Exception handling while refreshing in rpc wallet (credits to QCN) (Sammy Libre)
|
|
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
|
|
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.
|
|
It's cleaner for wallet2.cpp and it also allows deterministic check by
simplewallet.cpp.
|
|
|
|
|
|
|
|
|
|
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)
|
|
- "seed" simplewallet command was only displaying seed if wallet was newly generated
|
|
|
|
|
|
|
|
pre-sc_reduce32 version of it
- for deriving view secret key
|
|
|
|
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)
|
|
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)
|
|
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)
|
|
This allows Windows to copy binaries to one place rather than to each
executable directory.
|
|
|
|
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
|
|
|
|
I'm an idiot.
|
|
|
|
|
|
|
|
|
|
Older versions of CMake support LINK_{PUBLIC,PRIVATE} while newer
versions prefer PUBLIC and PRIVATE instead, but still support the LINK_
prefix.
|
|
It's only necessary on Windows builds and new versions renamed the
define without any compatibility bridge.
|
|
CMake will auto-dereference variable names in if statements, so there's
no need to dereference them manually.
|
|
|
|
|
|
|
|
This cleans up the CMake code and shows patterns more easily (to be
refactored in the next commit).
|
|
1795c38 fixed unit tests (Riccardo Spagni)
bc537ac miniupnpc static define change (Riccardo Spagni)
|
|
|
|
|
|
|
|
|
|
|
|
compatibility
|
|
|
|
b032619 Commented most of src/serialization/ going to read up more on variant's and finish off the job/add last touchs next (jebes)
|
|
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)
|
|
28dfb4b capitalize Keccak everywhere (David G. Andersen)
ce2ad65 typo fix - cryptonight, not cryptonote (David G. Andersen)
|
|
|
|
finish off the job/add last touchs next
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
|
|
|
correctly finding static libs on various operating systems
|
|
|
|
|
|
|
|
|
|
It would read data outside the allocated space in a couple cases.
|
|
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)
|
|
aeaa44f fixed signed-unsigned issue from 166 (Thomas Winget)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
designed to be a bit unusual and thus easier to memorise
|
|
|
|
tabs to spaces.
|
|
|
|
|
|
|
|
|
|
|
|
Loss of entropy can be discussed at a later time, but is
not deemed a significant issue for now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fixes
|
|
|
|
|
|
c0bdd51 Daemon should now exit on conflicting checkpoints (Thomas Winget)
f0b4138 various changes to runtime checkpoint updating (Thomas Winget)
7568f89 Fixed segfault with checkpoints loading (Thomas Winget)
b261d92 DNS checkpoint updating added, and daemon flag to enforce them (Thomas Winget)
30caebf reload checkpoints file every ~hr and print if any fail (Thomas Winget)
0e14491 updated DNSResolver/things that use it for DNSSEC (Thomas Winget)
6f2c2e1 Adding an identical existing checkpoint should not error (Thomas Winget)
|
|
|
|
If the "enforce DNS checkpoints" flag is not enabled, it should not exit
if DNS checkpoints conflict with the others, but should still print a
warning to the user.
|
|
json checkpoints will be checked every 10 minutes, dns every 60.
json checkpoints always enforced, dns still with flag.
conflicting checkpoints is hard fail, but soft if dns enforce flag not
set and dns checkpoints are wonky.
|
|
Bounds checking on blockchain_storage' m_blocks.size() when validating
against checkpoints. Also moved initial json & DNS checkpoints load to
after blockchain init.
|
|
The daemon should now check for updated checkpoints from
checkpoints.moneropulse.org as well as from the configured json file
every ~1hr (and on launch).
The daemon now has a flag to enable enforcing these checkpoints (rather
than just printing a warning when they fail).
TODO: an easily configurable list of DNS servers to check for
checkpoints as opposed to the hard-coded "checkpoints.moneropulse.org"
|
|
also some other minor bug squashing and code formatting
|
|
Note: DNSResolver does not yet *use* DNSSEC, but rather this commit is
preparation for including DNSSEC validation. The function in
src/wallet/wallet2.cpp that uses DNSResolver still needs its parameters
updated accordingly.
|
|
For checkpoints being read at runtime to work correctly, the checkpoint
add code needs to not return false if a checkpoint is added that already
exists. In this case, instead return false if the checkpoint is for a
height that already has a checkpoint and the hashes are different.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
without checksum is passed. Doxygen comment fix.
|
|
|
|
CMakeLists.txt update.
|
|
|
|
|
|
|
|
This reverts commit 4e2b2b942daa4206ec44c66e59863670dfe3fde4.
|
|
|
|
ldns dependency was only still around for constants defined in ldns/rr.h,
but those constants are RFC specified DNS constants, and to reduce deps
have been replicated in dns_utils.h instead of including ldns/rr.h.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
For now, simply checks for '.' character, but that will be easy to
change in the future if necessary/desired.
|
|
|
|
|
|
Simplewallet should now do a DNS query on an address if it fails to
convert the given string to a binary representation of an address
(base58->binary). It will prompt the user, telling of what the "url"
passed was, what monero address it translated to, and whether or not
DNSSEC validation was a success, and ask for a confirmation that these
are all acceptable.
|
|
Still need to deal with DNSSEC and optional fields in the TXT record.
|
|
Also implemented rudimentary IPv6 support, but commented it out because
it's not widely supported by ISPs for now, and thus is not currently
supported by Monero.
|
|
|
|
IPv4 and IPv6 name resolution working.
Unit tests written (and passing).
net_node.{h,inl} code modified to use DNS seeds.
|
|
CMake config file written, but was unable to test/get it working
properly because of a bug in CMake with functions related to
find_package. Simple "-lunbound" flag used in its stead for now. May
not build on non-Linux systems, not sure yet.
|
|
|
|
|
|
multiple new languages
|
|
|
|
|
|
|
|
|
|
|
|
On 32-bit MinGW-w64, time_t is int32_t. The existing code was serializing
time_t directly and implicitly assuming that time_t is int64_t. This commit
formalizes that assumption by serializing int64_t directly and casting to
time_t where appropriate.
Thanks go to greatwolf for reporting this issue.
monero-project/bitmonero#88
|
|
|
|
|
|
|
|
This needs testing
|
|
mingw is case sensitive
|
|
|
|
|
|
|
|
|
|
Also removed useless bool return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|