aboutsummaryrefslogtreecommitdiff
path: root/src (follow)
AgeCommit message (Collapse)AuthorFilesLines
2015-12-21Strip redundant includeshyc8-24/+4
In particular, <boost/program_options.hpp> blows up daemon.cpp.obj, making it too big to compile in debug mode on Win32. Even on a release build it drops daemon.cpp.o on Linux from 31MB to 20MB. This has no effect on the final linked binary size.
2015-12-15Merge pull request #540Riccardo Spagni1-1/+1
75fd96d Revert connection limit to more customary 8 (Javier Smooth)
2015-12-15Merge pull request #538Riccardo Spagni1-290/+127
d462c62 db_lmdb: always use a batch tx if possible (moneromooo-monero)
2015-12-15Merge pull request #537Riccardo Spagni1-0/+1
a74cc1b hardfork: only accept major versions we know about (moneromooo-monero)
2015-12-15Merge pull request #535Riccardo Spagni3-6/+14
cb4ee1b Tone down L0 logs during daemon sync some more (moneromooo-monero) 2177923 Tone down a bit L0 logs during daemon sync (moneromooo-monero)
2015-12-14Revert connection limit to more customary 8Javier Smooth1-1/+1
2015-12-14db_lmdb: always use a batch tx if possiblemoneromooo-monero1-290/+127
Also wrap that code in two prefix/suffix macros so they are easier to use and not forget. Also add consts to returned data casts where applicable.
2015-12-14Tone down L0 logs during daemon sync some moremoneromooo-monero2-3/+3
2015-12-14hardfork: only accept major versions we know aboutmoneromooo-monero1-0/+1
2015-12-14Tone down a bit L0 logs during daemon syncmoneromooo-monero2-3/+11
2015-12-13daemon: fix crash exiting with ^Cmoneromooo-monero1-1/+1
We need to stop the p2p layer, which causes the rest to shutdown gracefully. Hitting ^C was still going through another path.
2015-12-13Merge pull request #533Riccardo Spagni1-1/+1
7f77b23 posix_daemonizer: only create the main daemon object in the last child (moneromooo-monero)
2015-12-13Merge pull request #532Riccardo Spagni1-68/+74
79ff6a5 Add LMDB error string to database transaction exception message (warptangent)
2015-12-13Merge pull request #531Riccardo Spagni9-15/+95
cbded43 core_tests: fix ring_signature_1 tests (moneromooo-monero) c3d208f core_tests: bump default test fee to 0.02 monero (moneromooo-monero) 10da0a0 add a --fakechain argument for tests (moneromooo-monero) eee44e6 unit_tests: fix block reward test using post hard fork settings (moneromooo-monero) 595893f blockchain: log block (not chain) height in "BLOCK SUCCESFULLY ADDED" (moneromooo-monero) 2369968 blockchain: fix off by one in get_blocks (moneromooo-monero) 8af913a db_lmdb: implement BlockchainLMDB::reset (moneromooo-monero) 4833f4f db_bdb: implement BlockchainBDB::reset (moneromooo-monero) 18bf06e tx_pool: fix "minumim" typo in message (moneromooo-monero) 44f1267 tests: fix a typo in test name (moneromooo-monero) 1494557 db_lmdb: create all needed directories, not just the leaf one (moneromooo-monero) 015b68a db_bdb: create all needed directories, not just the leaf one (moneromooo-monero) f141869 tests: remove data-dir argument registration (moneromooo-monero)
2015-12-13Merge pull request #530Riccardo Spagni1-121/+121
0198306 Stop displaying internal commands for --help (luigi1111) 189d516 simplewallet help & error cleanup (luigi1111)
2015-12-13posix_daemonizer: only create the main daemon object in the last childmoneromooo-monero1-1/+1
This prevents the intermediate thread from exiting properly, as fork creates a child process with only one thread, so any existing data_logger thread will not be in the child. Since this thread sets a flag the data_logger dtor blocks on, all children threads will hang on exit.
2015-12-13Add LMDB error string to database transaction exception messagewarptangent1-68/+74
When throwing an exception from being unable to begin an LMDB transaction, include the reason. It's often been due to a write transaction attempted within a write transaction (batch mode), but there can be other reasons such as write transaction attempted while database was opened read only, or environment's map needs to be resized.
2015-12-13add a --fakechain argument for testsmoneromooo-monero6-8/+23
The core tests use the blockchain, and reset it to be able to add test data to it. This does not play nice with the databases, since those will save that data without an explicit save call. We add a fakechain flag that the tests will set, which tells the core and blockchain code to use a separate database, as well as skip a few things like checkpoints and fixup, which only make sense for real data.
2015-12-13blockchain: log block (not chain) height in "BLOCK SUCCESFULLY ADDED"moneromooo-monero1-1/+1
This makes it log the same height as the original code, which is less confusing when comparing behaviors.
2015-12-13blockchain: fix off by one in get_blocksmoneromooo-monero1-1/+1
2015-12-13db_lmdb: implement BlockchainLMDB::resetmoneromooo-monero1-1/+27
It is needed by the core tests
2015-12-13db_bdb: implement BlockchainBDB::resetmoneromooo-monero1-1/+40
It is needed by the core tests
2015-12-13tx_pool: fix "minumim" typo in messagemoneromooo-monero1-1/+1
2015-12-13db_lmdb: create all needed directories, not just the leaf onemoneromooo-monero1-1/+1
2015-12-13db_bdb: create all needed directories, not just the leaf onemoneromooo-monero1-1/+1
2015-12-11Stop displaying internal commands for --helpluigi11111-1/+1
Displaying in-program commands with --help doesn't match daemon behaviour (or make sense)
2015-12-11simplewallet help & error cleanupluigi11111-120/+120
Typos, grammar, consistency. I don't claim to have gotten everything.
2015-12-10Fix data refs in read-only txnsHoward Chu1-16/+42
Data is only guaranteed to be valid within the lifetime of a txn. You cannot use data returned from LMDB after the txn ends. Also, fixed a missing txn.commit BlockchainLMDB::get_tx_unlock_time()
2015-12-09Merge pull request #527Riccardo Spagni7-69/+76
336b375 Register daemon command line arguments to core if they're used in core (moneromooo-monero)
2015-12-08Register daemon command line arguments to core if they're used in coremoneromooo-monero7-69/+76
This fixes coretests, which does not register daemon specific arguments, but uses core, which uses those arguments. Also gets rid of an unwanted dependency on daemon code from core.
2015-12-08Merge pull request #526Riccardo Spagni2-0/+12
2c83055 net_node: add a --offline argument (moneromooo-monero)
2015-12-08Merge pull request #525Riccardo Spagni1-8/+22
f746434 daemon: add mining status to the status command (moneromooo-monero)
2015-12-08Merge pull request #524Riccardo Spagni1-3/+3
1c8262c db_bdb: move log_set_config call before open (moneromooo-monero)
2015-12-08Merge pull request #523Riccardo Spagni1-0/+34
8620b31 db_bdb: support for libdb without DB_FORCESYNC (moneromooo-monero)
2015-12-08Merge pull request #522Riccardo Spagni1-2/+11
34e3889 p2p: failure to load p2pstate.bin is not fatal anymore (moneromooo-monero)
2015-12-08Merge pull request #520Riccardo Spagni7-0/+605
a98e976 blockchain_db: fixup missing key images in early DB version (moneromooo-monero)
2015-12-07net_node: add a --offline argumentmoneromooo-monero2-0/+12
It will not try to connect to the monero network, nor listen
2015-12-07daemon: add mining status to the status commandmoneromooo-monero1-8/+22
2015-12-07db_bdb: move log_set_config call before openmoneromooo-monero1-3/+3
This is a precaution for older Berkeley DB versions. - smooth reports an issue running with 4.7: DB_ENV->log_set_config: DB_LOG_IN_MEMORY: method not permitted after handle's open method - this works just fine with 5.3 - we do not use DB_LOG_IN_MEMORY, but we use DB_LOG_AUTO_REMOVE - libdb docs say some flags must be set before open, and some may be set at any time, but never say some must be set after open - moving the call to log_set_config before open works with 5.3 Therefore, it seems best to move the call before open.
2015-12-07db_bdb: support for libdb without DB_FORCESYNCmoneromooo-monero1-0/+34
2015-12-07p2p: failure to load p2pstate.bin is not fatal anymoremoneromooo-monero1-2/+11
Clear any partially loaded data, and start with a default config
2015-12-06blockchain_db: fixup missing key images in early DB versionmoneromooo-monero7-0/+605
Early DB versions did not store key images for inputs if the transaction spending them had no outputs (ie, all fee). This is not correct, as this would allow these outputs to be double spent. This was fixed in 533acc30eda7792c802ea8b6417917fa99b8bc2b a few months ago, but databases having synced blocks 2021612 and 685498 with a faulty version will be missing those key images in the spent keys database. This code checks for this, and adds those key images if they are missing.
2015-12-05wallet: make the wallet refresh type a wallet settingmoneromooo-monero4-34/+93
instead of a command line setting. It makes sense that is is a long lived setting.
2015-12-05wallet: default auto-refresh to true for old walletsmoneromooo-monero1-0/+1
2015-12-05Merge pull request #518Riccardo Spagni3-0/+40
1965fce wallet: add a stop_wallet RPC call (moneromooo-monero)
2015-12-05blockchain_db: make the indexing base a BlockchainDB virtual functionmoneromooo-monero3-3/+6
2015-12-05wallet: add a stop_wallet RPC callmoneromooo-monero3-0/+40
2015-12-05blockchain_dump: fix output key dump for BDB 1-based indicesmoneromooo-monero1-2/+5
Berkeley DB uses 1 based indices for RECNO databases, and the implementation of BlockchainDB for Berkeley DB assumes 1 based indices are passed to the API, whereas the LMDB one assumes 0 based indices. This is all internally consisteny, but since the BDB code stores 1 based indices in the database, external users have to be aware of this, as the indices will be off by one depending on which DB is used.
2015-12-04db_bdb: read 32 bit heights from keysmoneromooo-monero1-1/+1
Keys in Berkeley DB are 32 bits. We don't want to read random bits in the high part.
2015-11-30Merge pull request #515Riccardo Spagni1-0/+5
0921f5b util: use putenv instead of setenv for mingw (moneromooo-monero)
2015-11-30wallet2: default auto-refresh to true for preexisting walletsmoneromooo-monero1-1/+1
2015-11-30Revert "Merge pull request #506"Riccardo Spagni1-2/+2
This reverts commit c6bf73131aaf804cb17f24c856f826be2761a566, reversing changes made to 8a52cf4055d247dd4b162985c931e99683992e3c.
2015-11-30Merge pull request #512Riccardo Spagni1-8/+8
36a298c simplewallet: add tr markers in a few missing user visible strings (moneromooo-monero)
2015-11-29wallet: cancellable refreshmoneromooo-monero5-14/+58
^C while in manual refresh will cancel the refresh, since that's often an annoying thing to have to wait for. Also, a manual refresh command will interrupt any running background refresh and take over, rather than wait for the background refresh to be done, and look to be hanging.
2015-11-30Merge pull request #511Riccardo Spagni1-1/+1
66849ac simplewallet: swap colors in show_transfers (moneromooo-monero)
2015-11-29simplewallet: add tr markers in a few missing user visible stringsmoneromooo-monero1-8/+8
2015-11-30Merge pull request #509Riccardo Spagni1-0/+8
3030e3e wallet2: remove confirmed transactions from detached blocks (moneromooo-monero)
2015-11-30Merge pull request #507Riccardo Spagni4-11/+122
62e49a5 wallet: optional automatic refresh from the daemon (moneromooo-monero)
2015-11-30Merge pull request #506Riccardo Spagni1-2/+2
e45a8c9 core: serialize block major/minor versions as bytes, not varints (moneromooo-monero)
2015-11-30Merge pull request #505Riccardo Spagni2-12/+22
7574297 core_rpc_server: add a --restricted-rpc option (moneromooo-monero)
2015-11-30Merge pull request #504Riccardo Spagni2-25/+117
9ee48e9 wallet2: speed up wallet refresh for large miners (moneromooo-monero) 4905903 wallet2: parallelize pulling blocks and processing them on refresh (moneromooo-monero) d0eaf1d wallet2: maintain the short chain manually when refreshing (moneromooo-monero) a4e9506 wallet2: split pull blocks between pulling and processing (moneromooo-monero)
2015-11-30Merge pull request #503Riccardo Spagni3-2/+4
55e5a33 rpc: pass current block target in rpc (moneromooo-monero)
2015-11-29simplewallet: swap colors in show_transfersmoneromooo-monero1-1/+1
Green is now used for incoming transfers, and magenta for outgoing transfers. This is consistent to the scheme used by other logging.
2015-11-29wallet2: remove confirmed transactions from detached blocksmoneromooo-monero1-0/+8
2015-11-28wallet2: speed up wallet refresh for large minersmoneromooo-monero1-14/+47
2015-11-28wallet: optional automatic refresh from the daemonmoneromooo-monero4-11/+122
The daemon will be polled every 90 seconds for new blocks. It is enabled by default, and can be turned on/off with set auto-refresh 1 and set auto-refresh 0 in the wallet.
2015-11-27core: serialize block major/minor versions as bytes, not varintsmoneromooo-monero1-2/+2
This allows them to be saved as a fixed (one byte) chunk whatever the value. Using a varint will use two bytes as the high bit gets set. This is backward compatible with current usage (0-2 values).
2015-11-27core_rpc_server: add a --restricted-rpc optionmoneromooo-monero2-12/+22
It does not expose the RPC for commands like start_mining, etc (ie, commands a public node operator might want to be restricted)
2015-11-27wallet2: parallelize pulling blocks and processing them on refreshmoneromooo-monero2-13/+49
This needed locking the use of m_http_client, to avoid collisions in I/O.
2015-11-27wallet2: maintain the short chain manually when refreshingmoneromooo-monero2-4/+17
2015-11-27wallet2: split pull blocks between pulling and processingmoneromooo-monero2-10/+20
2015-11-26rpc: pass current block target in rpcmoneromooo-monero3-2/+4
This fixes the hash rate being wrong on testnet after the switch to 2 minute blocks
2015-11-26add RPC calls and commands to get/set bansmoneromooo-monero11-4/+302
2015-11-25net_node: allow bans for custom amounts of timemoneromooo-monero2-4/+4
m_blocked_ips now stores the unblocking time, rather than the blocking time. Also change > to >=, since banning for 0 seconds should not ban
2015-11-25util: use putenv instead of setenv for mingwmoneromooo-monero1-0/+5
2015-11-24Merge pull request #501Riccardo Spagni9-30/+142
d887c18 hardfork: fix more major/minor issues (moneromooo-monero) 3b47ca2 hardfork: fix rescan on load (moneromooo-monero) 4cea2b1 Add IP blocking for misbehaving nodes (adapted from Boolberry) (Javier Smooth) 9c64b12 quiet down p2p logging a bit (Javier Smooth) 53c75ab blockchain: log versions as numbers, not characters (moneromooo-monero) edade8d hardfork: fix actual/voting confusion (moneromooo-monero)
2015-11-24Merge pull request #500Riccardo Spagni1-1/+1
06c8b94 daemon: fix blockchain height display not updating after sync (moneromooo-monero)
2015-11-24Merge pull request #499Riccardo Spagni2-0/+196
410c6cf cn_deserialize: a new tool to decode blocks and transactions (moneromooo-monero)
2015-11-24Merge pull request #498Riccardo Spagni1-0/+1
3d0b3c5 add recent static checkpoint (Javier Smooth)
2015-11-24Merge pull request #497Riccardo Spagni4-40/+262
9b945f5 wallet: make the refresh optimizations selectable via command line (moneromooo-monero) d2c0313 wallet: speedup refresh from daemon (moneromooo-monero) ea707c7 wallet2: minor cleanup (moneromooo-monero) 55a2da7 wallet2: speedup refresh a bit (moneromooo-monero)
2015-11-24hardfork: fix more major/minor issuesmoneromooo-monero3-24/+26
Also add some more tests, and rename some instances of "version" and "add" for clarity. NOTE: the starting height values are sometimes wrong. I suspect this is due to the hard fork reorg code being buggy, since they're good when syncing after the fact. However, they're not actually used by the consensus code, so I'm ignoring this for now, but this needs debugging.
2015-11-23hardfork: fix rescan on loadmoneromooo-monero1-1/+1
2015-11-23Add IP blocking for misbehaving nodes (adapted from Boolberry)Javier Smooth6-2/+107
With minor cleanup and fixes (spelling, indent) by moneromooo
2015-11-23quiet down p2p logging a bitJavier Smooth1-1/+1
2015-11-23blockchain: log versions as numbers, not charactersmoneromooo-monero1-1/+1
2015-11-23hardfork: fix actual/voting confusionmoneromooo-monero1-3/+8
2015-11-23daemon: fix blockchain height display not updating after syncmoneromooo-monero1-1/+1
2015-11-22cn_deserialize: a new tool to decode blocks and transactionsmoneromooo-monero2-0/+196
2015-11-22add recent static checkpointJavier Smooth1-0/+1
2015-11-22wallet: make the refresh optimizations selectable via command linemoneromooo-monero4-6/+62
Take the opportunity to add a no-coinbase case too, for even faster sync when an address is known to never have mined to.
2015-11-22Merge pull request #495Riccardo Spagni3-5/+8
328636c fixed testnet fork point, added comment data back in (Riccardo Spagni) aed3038 disable time-stats by default, tweak fast-block-sync description (Riccardo Spagni) 8fe1111 update v2 testnet fork height (Riccardo Spagni) 4d74510 checkpoints update (Riccardo Spagni)
2015-11-22wallet: speedup refresh from daemonmoneromooo-monero2-38/+59
Assume the whole of a coinbase goes to the same address (so that if the first output isn't for us, none of it is), and only look for payment id when we received something in the transaction.
2015-11-22wallet2: minor cleanupmoneromooo-monero1-7/+4
- use std::vector::std::deque to not leak when exceptions happen - use std::unique_ptr instead of the deprecated std::auto_ptr
2015-11-22wallet2: speedup refresh a bitmoneromooo-monero2-3/+151
Use the NoodleDoodle threading technique to speedup a couple code blocks on the main path when refreshing blocks without any transactions for us.
2015-11-22fixed testnet fork point, added comment data back inRiccardo Spagni1-3/+3
2015-11-22Merge pull request #496Riccardo Spagni4-32/+130
db1fb66 wallet: storing outgoing tx info now defaults to enabled (moneromooo-monero) 9156ba3 wallet: rename store-tx-keys to store-tx-info (moneromooo-monero) b3d4d41 wallet: improve show_transfers (moneromooo-monero) 725ae4e wallet: use incoming blocks to keep track of payments too (moneromooo-monero) 00790a8 simplewallet: lessen display flicker confusion (moneromooo-monero)
2015-11-22wallet: storing outgoing tx info now defaults to enabledmoneromooo-monero1-2/+2
The info is stored encrypted, and is pretty useful, often after the fact.
2015-11-22wallet: rename store-tx-keys to store-tx-infomoneromooo-monero4-18/+19
With backward compatibility
2015-11-22wallet: improve show_transfersmoneromooo-monero3-14/+89
More information is now saved and displayed
2015-11-21wallet: use incoming blocks to keep track of payments toomoneromooo-monero3-5/+27
2015-11-21disable time-stats by default, tweak fast-block-sync descriptionRiccardo Spagni1-2/+2
2015-11-21update v2 testnet fork heightRiccardo Spagni1-3/+6
2015-11-21checkpoints updateRiccardo Spagni1-0/+0
2015-11-21simplewallet: lessen display flicker confusionmoneromooo-monero1-2/+2
Height seemed to be flying all over the place on a rescan here. Logging to a file shows the heights are actually correct, and this is some kind of screen refresh artifact. Flush after \r and update less often to reduce this effect a lot.
2015-11-21Merge pull request #493Riccardo Spagni9-6/+40
f3724ae Fix startup crash when using a locale boost does not like (moneromooo-monero) 0c1dae3 i18n: allow language to be passed as a parameter (moneromooo-monero)
2015-11-21Fix startup crash when using a locale boost does not likemoneromooo-monero7-1/+33
There are various locale related bugs in various versions of boost, where exceptions are thrown in boost::filesystem APIs when the current locale is not to boost's liking. It's not clear what "not to boost's liking" means in detail, though "en" and "en_US.UTF-8" are not to its liking. Fix it by running a test function that's known to throw in such a case, and resetting LANG and LC_ALL to C if an exception is thrown. In simplewallet, the locale is queried before that so the correct translations will still be used.
2015-11-21i18n: allow language to be passed as a parametermoneromooo-monero2-5/+7
If empty, it will still be fetched from the environment
2015-11-21Relay transactions when they linger too long in the poolmoneromooo-monero9-31/+128
The last relayed time of a transaction is maintained, and transactions will be relayed again if they are still in the pool after a certain amount of time, which increases with the transaction's age. All such transactions are resent, whether or not they originated on the local node.
2015-11-18Merge pull request #490Riccardo Spagni9-30/+43
baf101e More changes for 2-min blocks Use the correct block time for realtime fuzz on locktime Use the correct block time to calculate next_difficulty on alt chains (will not work as-is with voting) Lock unit tests to original block time for now (Javier Smooth) 4fea1a5 Adjust difficulty target (2 min) and full reward zone (60 kbytes) for block version 2 (Javier Smooth)
2015-11-18Merge pull request #487Riccardo Spagni4-11/+166
3f611bc wallet: track outgoing payments and add a show_transfers command (moneromooo-monero)
2015-11-15wallet: track outgoing payments and add a show_transfers commandmoneromooo-monero4-11/+166
It's a user friendly display of incoming and outgoing transfers, listed by height, within an optional height range.
2015-11-13Revert "db_bdb: record numbers for recno databases start at 1"moneromooo-monero1-3/+3
It looks like some of the indices passed to the DB access functions are already bumped by 1. Moreover, the existing code was not throwing DB errors with 0 keys, and this is unlikely if it really was using 0 keys. Last, this patch broke sync from scratch in at least one case. So I'm calling it bad and reverting it. This reverts commit bfc97401ae81bb30278a318de7f048c653bf6582.
2015-11-13More changes for 2-min blocksJavier Smooth6-13/+14
Use the correct block time for realtime fuzz on locktime Use the correct block time to calculate next_difficulty on alt chains (will not work as-is with voting) Lock unit tests to original block time for now
2015-11-13Adjust difficulty target (2 min) and full reward zone (60 kbytes) for block ↵Javier Smooth6-17/+29
version 2
2015-11-10hardfork: add a get_ideal_version(uint64_t) functionmoneromooo-monero2-0/+18
It returns the ideal version for a given height, which is based on the minimum height for a fork, disregarding votes
2015-11-08hardfork: allow per-fork voting thresholdsmoneromooo-monero3-21/+42
And setup the first fork to not vote
2015-11-01Merge pull request #470Riccardo Spagni1-0/+4
b1d0c8a blockchain_dump: fix build without berkeley db (moneromooo-monero)
2015-10-30blockchain_dump: fix build without berkeley dbmoneromooo-monero1-0/+4
2015-10-30simplewallet: add a set default-mixin commandmoneromooo-monero4-5/+87
The default default mixin is 4. It can now be changed per wallet.
2015-10-30wallet2: fix CLANG compile errormoneromooo-monero1-1/+1
2015-10-30Merge pull request #463Riccardo Spagni5-6/+11
051ddbc rpc: fix start_mining and status RPC crashes (moneromooo-monero)
2015-10-30Merge pull request #461Riccardo Spagni2-7/+7
bc110af blockchain_utilities: properly exit on error (moneromooo-monero)
2015-10-30Merge pull request #460Riccardo Spagni7-220/+0
4f873bc Remove some old/obsolete/unused code (moneromooo-monero)
2015-10-30Merge pull request #457Riccardo Spagni2-2/+3
e70d2e5 common: const and init list pedantry (moneromooo-monero)
2015-10-30Merge pull request #455Riccardo Spagni3-12/+12
6df4e67 Fix a possibly-unused warning, and rationalize types (moneromooo-monero)
2015-10-28rpc: fix start_mining and status RPC crashesmoneromooo-monero5-6/+11
They check whether they're running on testnet by accessing the m_rpc_server object, which does not exist when in RPC mode. Also, fix hard_fork_info being called with the wrong API.
2015-10-27blockchain_utilities: properly exit on errormoneromooo-monero2-7/+7
Replace boolean values and exceptions where appropriate
2015-10-27Remove some old/obsolete/unused codemoneromooo-monero7-220/+0
git history's here if needed to get any of this back
2015-10-27common: const and init list pedantrymoneromooo-monero2-2/+3
2015-10-27Fix a possibly-unused warning, and rationalize typesmoneromooo-monero3-12/+12
2015-10-27Merge pull request #453Riccardo Spagni3-8/+13
3e89df4 Build fixes for the old blockchain_storage version (moneromooo-monero)
2015-10-26Build fixes for the old blockchain_storage versionmoneromooo-monero3-8/+13
2015-10-26db_bdb: add versioning, to detect incompatible format changesmoneromooo-monero2-0/+83
2015-10-26db_lmdb: add versioning, to detect incompatible format changesmoneromooo-monero2-8/+85
2015-10-26renamed folderRiccardo Spagni174-4830/+0
2015-10-26Merge pull request #448Riccardo Spagni3-7/+11
06c65cb rpc: fix hard_fork_info RPC (moneromooo-monero) 6f5c129 rpc: fix a few commands not working as command line (moneromooo-monero)
2015-10-26Merge pull request #446Riccardo Spagni5-0/+71
9caf52b daemon: add a status command (moneromooo-monero)
2015-10-26Merge pull request #444Riccardo Spagni5-3/+14
ecbb732 Fix leak on real output when using a very recent output (moneromooo-monero)
2015-10-26Merge pull request #442Riccardo Spagni11-21/+843
43bca0d blockchain_utilities: new blockchain_dump diagnostic tool (moneromooo-monero) 5f397e4 Add functions to iterate through blocks, txes, outputs, key images (moneromooo-monero) 0a5a5e8 db_bdb: record numbers for recno databases start at 1 (moneromooo-monero) 50dfdc0 db_bdb: DB_KEYEMPTY is also not found for non-top recon fields (moneromooo-monero) 572780e blockchain_db: use the DNE exceptions where appropriate (moneromooo-monero)
2015-10-26rpc: fix hard_fork_info RPCmoneromooo-monero3-4/+8
I had never tested it, obviously
2015-10-26rpc: fix a few commands not working as command linemoneromooo-monero1-3/+3
The method name to the "json_rpc" commands are names, not part of URLs.
2015-10-25daemon: add a status commandmoneromooo-monero5-0/+71
Displays current block height and target, net hash, hard fork basic info, and connections. Useful as a basic user friendly "what's going on here" command.
2015-10-25Fix leak on real output when using a very recent outputmoneromooo-monero5-3/+14
The wallet and the daemon applied different height considerations when selecting outputs to use. This can leak information on which input in a ring signature is the real one. Found and originally fixed by smooth on Aeon.
2015-10-25blockchain_utilities: new blockchain_dump diagnostic toolmoneromooo-monero2-0/+458
It dumps data from the blockchain to a JSON format, and is intended to help detect differences between data held in different database formats.
2015-10-25Add functions to iterate through blocks, txes, outputs, key imagesmoneromooo-monero9-0/+362
2015-10-25db_bdb: record numbers for recno databases start at 1moneromooo-monero1-3/+3
2015-10-25db_bdb: DB_KEYEMPTY is also not found for non-top recon fieldsmoneromooo-monero1-2/+2
2015-10-25blockchain_db: use the DNE exceptions where appropriatemoneromooo-monero2-17/+19
2015-10-21hardfork: switch voting to block minor versionmoneromooo-monero3-9/+20
Using major version would cause older daemons to reject those blocks as they fail to deserialize blocks with a major version which is not 1. There is no such restriction on the minor version, so switching allows older daemons to coexist with newer ones till the actual fork date, when most will hopefully have updated already. Also, for the same reason, we consider a vote for 0 to be a vote for 1, since older daemons set minor version to 0.
2015-10-17blockchain_export can now export to a blocks.dat formatmoneromooo-monero11-38/+368
Also make the number of blocks endian independant, and add support for testnet
2015-10-17bootstrap_file: do not try to create a directory with an empty namemoneromooo-monero1-10/+13
This will happen if the chosen output file does not have a path specified
2015-10-17hardfork: use DB transactions when reorganizingmoneromooo-monero1-3/+3
It speeds up a lot, which can be significant when reorganizing from the genesis block to create the hard fork data.
2015-10-17hardfork: simplify work done on reloadmoneromooo-monero2-1/+40
There is no need to fully recalculate and rewrite state, just refill state from the DB.
2015-10-15Merge pull request #432Riccardo Spagni1-1/+1
5ea2f93 wallet2: really include non canonical outputs in dust sweep (moneromooo-monero)
2015-10-15Merge pull request #431Riccardo Spagni4-8/+110
253ed76 core_rpc_server: add optional json decoded tx to COMMAND_RPC_GET_TRANSACTIONS (moneromooo-monero) ca23c0e core_rpc_server: add a getblock RPC command, and fix print_block (moneromooo-monero)
2015-10-14simplewallet: add a check_tx_key commandmoneromooo-monero2-0/+106
It allows one to check the amount of monero sent to a particular address in a particular transaction, given that transaction's tx key
2015-10-14wallet2: really include non canonical outputs in dust sweepmoneromooo-monero1-1/+1
2015-10-13core_rpc_server: add optional json decoded tx to COMMAND_RPC_GET_TRANSACTIONSmoneromooo-monero2-0/+6
2015-10-13core_rpc_server: add a getblock RPC command, and fix print_blockmoneromooo-monero4-8/+104
2015-10-12simplewallet: hide start_mining behind --trusted-daemonmoneromooo-monero1-0/+6
because it leaks your standard address
2015-10-11Merge pull request #427Riccardo Spagni2-0/+10
df8a110 simplewallet: add a --trusted-daemon flag (moneromooo-monero)
2015-10-11simplewallet: add a --trusted-daemon flagmoneromooo-monero2-0/+10
It allows enabling the rescan_spent command only for trusted daemon
2015-10-11simplewallet: bump default mixin from 3 to 4moneromooo-monero1-1/+1
As recommended in MRL-0004
2015-10-11from hard fork 2, all outputs must be decomposedmoneromooo-monero6-48/+67
The wallet decomposes fully as of now too.
2015-10-10from hard fork 2, claim a quantized reward in coinbasemoneromooo-monero4-4/+22
The small leftover is carried forward
2015-10-10cryptonote_format_utils: add a function to tell if an amount is canonicalmoneromooo-monero2-0/+31
2015-10-06Merge pull request #420Riccardo Spagni1-0/+6
ee27559 Update to compile with latest miniupnpc (warptangent)
2015-10-06Merge pull request #415Riccardo Spagni2-5/+5
180bcde build: default to Berkeley DB for 32 bit and ARM (moneromooo-monero) 791d8cb db_bdb: fix hard fork keys (moneromooo-monero)
2015-10-05Update to compile with latest miniupnpcwarptangent1-0/+6
upnpDiscover() takes a new argument for TTL. Use the suggested default of 2.
2015-10-04build: default to Berkeley DB for 32 bit and ARMmoneromooo-monero1-1/+1
2015-10-04db_bdb: fix hard fork keysmoneromooo-monero1-4/+4
Berkeley DB requires RECNO keys to be 32 bits, and forbids a key value of 0.
2015-10-04hardfork: move an assert so it actually worksmoneromooo-monero1-1/+1
An unsigned quantity is always >= 0
2015-09-28Merge pull request #410Riccardo Spagni3-31/+130
33affd2 blockchain: on hardfork 2, require mixin 2 at least if possible (moneromooo-monero) 434e0f4 hardfork: make the voting window a week (moneromooo-monero) 0a7421b hardfork: rescan speedup (moneromooo-monero) fec98b8 hardfork: remove use of GNU extension for initializing object (moneromooo-monero) 4bbf944 blockchain: on hardfork 2, allow miners to claim less money than allowed (moneromooo-monero) 088bc56 hardfork: change window semantics to not count the newly added block (moneromooo-monero) 198f557 blockchain: use different hard fork settings for testnet and mainnet (moneromooo-monero)
2015-09-28Merge pull request #409Riccardo Spagni1-2/+2
151c32d dns_utils: fix wrong asserts (moneromooo-monero)
2015-09-27blockchain: on hardfork 2, require mixin 2 at least if possiblemoneromooo-monero1-0/+37
2015-09-27hardfork: make the voting window a weekmoneromooo-monero1-1/+1
2015-09-27hardfork: rescan speedupmoneromooo-monero3-15/+41
Add a block height before which version 1 is assumed Use DB transactions
2015-09-27hardfork: remove use of GNU extension for initializing objectmoneromooo-monero2-4/+5
2015-09-27blockchain: on hardfork 2, allow miners to claim less money than allowedmoneromooo-monero1-3/+7
So they can avoid dust if they so wish
2015-09-27hardfork: change window semantics to not count the newly added blockmoneromooo-monero1-5/+20
This allows knowing the hard fork a block must obey in order to be added to the blockchain. The previous semantics would use that new block's version vote to determine this hard fork, which made it impossible to use the rules to validate transactions entering the tx pool (and made it impossible to validate a block before adding it to the blockchain).
2015-09-27blockchain: use different hard fork settings for testnet and mainnetmoneromooo-monero1-3/+19
2015-09-27dns_utils: fix wrong assertsmoneromooo-monero1-2/+2
Braino.
2015-09-20hardfork: most state now saved to the DBmoneromooo-monero9-100/+321
There will be a delay on first load of an existing blockchain as it gets reparsed for this state data.
2015-09-20hardfork: remove the "parts are copyright cryptonote" noticesmoneromooo-monero2-4/+0
I coded the whole thing from scratch.
2015-09-19Add an RPC call and daemon command to get info on hard fork votingmoneromooo-monero13-5/+169
2015-09-19blockchain: force a hardfork recalculation at load timemoneromooo-monero1-0/+3
Since the state isn't actually saved anywhere, as the archive code isn't called in the new DB version.
2015-09-19core: add consts where appropriatemoneromooo-monero6-79/+82
2015-09-13core: moan when we think an update is needed to get latest hard fork infomoneromooo-monero4-0/+35
2015-09-12blockchain: use the new hardfork classmoneromooo-monero3-8/+29
2015-09-12New hardfork classmoneromooo-monero3-2/+475
This keeps track of voting via block version, in order to decide when to enable a particular fork's code.
2015-09-12blockchain: add a couple missing includesmoneromooo-monero1-0/+2
2015-08-30Merge pull request #394Riccardo Spagni2-70/+56
3c10239 unbound: use the mini event fallback implementation (moneromooo-monero) 4e138a0 dns_utils: remove unnecessary string conversion (moneromooo-monero) f928468 dns_utils: factor the fetching code for different DNS record types (moneromooo-monero) 4ef0da1 dns_utils: simplify string handling and fix leak (moneromooo-monero) ae5f28c dns_utils: add a const where possible (moneromooo-monero) f43d465 dns_utils: lock access to the singleton (moneromooo-monero) 5990344 dns: make ctor private (moneromooo-monero)
2015-08-30dns_utils: remove unnecessary string conversionmoneromooo-monero1-5/+2
2015-08-30dns_utils: factor the fetching code for different DNS record typesmoneromooo-monero2-59/+34
2015-08-30dns_utils: simplify string handling and fix leakmoneromooo-monero1-5/+1
2015-08-27dns_utils: add a const where possiblemoneromooo-monero2-2/+2
2015-08-27dns_utils: lock access to the singletonmoneromooo-monero1-0/+4
This avoids races which could result in two objects being created
2015-08-27dns: make ctor privatemoneromooo-monero2-1/+15
This ensures one can't instanciate a DNSResolver object by mistake, but uses the singleton. A separate create static function is added for cases where a new object is explicitely needed.
2015-08-26Re-enable optimized slow-hash if someone is trying to compile w/MSVC ↵Javier Smooth1-1/+1
(disabling it was unintentional)
2015-08-26Merge pull request #390Riccardo Spagni2-2/+2
5dc53c2 wallet: use mutex protected random generation api (moneromooo-monero)