Commit Graph

890 Commits

Author SHA1 Message Date
moneromooo-monero
bfc97401ae db_bdb: record numbers for recno databases start at 1 2015-10-25 12:37:18 +00:00
moneromooo-monero
03b15c45bd db_bdb: DB_KEYEMPTY is also not found for non-top recon fields 2015-10-25 12:37:11 +00:00
moneromooo-monero
45d73a4469 blockchain_db: use the DNE exceptions where appropriate 2015-10-25 12:37:05 +00:00
moneromooo-monero
e62e51aefc blockchain_export can now export to a blocks.dat format
Also make the number of blocks endian independant, and add
support for testnet
2015-10-17 00:19:00 +01:00
moneromooo-monero
41c9c1e17b bootstrap_file: do not try to create a directory with an empty name
This will happen if the chosen output file does not have a
path specified
2015-10-17 00:13:05 +01:00
moneromooo-monero
a2c5398583 hardfork: use DB transactions when reorganizing
It speeds up a lot, which can be significant when reorganizing
from the genesis block to create the hard fork data.
2015-10-17 00:12:58 +01:00
moneromooo-monero
fba870c361 hardfork: simplify work done on reload
There is no need to fully recalculate and rewrite state, just
refill state from the DB.
2015-10-17 00:12:52 +01:00
Riccardo Spagni
e92ea7976e Merge pull request #434
4adba9b Change Doxyfile, Blockchain not blockchain_storage (Thomas Winget)
3189671 remove defunct code from cryptonote::core (Thomas Winget)
9366319 cryptonote::core doxygen documentation (Thomas Winget)
f2cc3a9 doxygen documentation for difficulty functions (Thomas Winget)
37fa7b4 Move checkpoint functions into checkpoints class (Thomas Winget)
04055a0 doxygen documentation for checkpoints.{h,cpp} (Thomas Winget)
910bcc0 documentation updates to Blockchain (Thomas Winget)
6fe7aed minor bugfixes and refactoring (Thomas Winget)
94f7615 Remove unnecessary or defunct code (Thomas Winget)
3ba43b3 doxygen include private and static members (Thomas Winget)
a3834f9 Updated documentation for blockchain.* (Thomas Winget)
2015-10-15 19:26:49 +02:00
Riccardo Spagni
d25631f3ad Merge pull request #422
60a6919 Update to compile with latest miniupnpc (warptangent)
2015-10-15 19:26:10 +02:00
Riccardo Spagni
86b1371f56 Merge pull request #433
bb25d8e wallet2: really include non canonical outputs in dust sweep (moneromooo-monero)
2015-10-15 19:25:20 +02:00
Thomas Winget
d23d46356a Merge recent changes from upstream into branch 2015-10-14 15:56:14 -04:00
moneromooo-monero
8a5b7421de simplewallet: add a check_tx_key command
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-14 17:32:38 +01:00
moneromooo-monero
bb25d8e55b wallet2: really include non canonical outputs in dust sweep 2015-10-14 01:10:33 +01:00
Riccardo Spagni
ee27c31c59 Merge pull request #428
594fe47 simplewallet: add a --trusted-daemon flag (moneromooo-monero)
2015-10-11 21:55:23 +02:00
moneromooo-monero
594fe471a2 simplewallet: add a --trusted-daemon flag
It allows enabling the rescan_spent command only for trusted
daemon
2015-10-11 19:48:25 +01:00
moneromooo-monero
9da825e7fd simplewallet: bump default mixin from 3 to 4
As recommended in MRL-0004
2015-10-11 13:46:45 +01:00
moneromooo-monero
492f45b395 from hard fork 2, all outputs must be decomposed
The wallet decomposes fully as of now too.
2015-10-11 13:09:09 +01:00
moneromooo-monero
4794fb9d44 from hard fork 2, claim a quantized reward in coinbase
The small leftover is carried forward
2015-10-11 13:09:02 +01:00
moneromooo-monero
708c0ed2eb cryptonote_format_utils: add a function to tell if an amount is canonical 2015-10-11 13:08:55 +01:00
Thomas Winget
31896712c0 remove defunct code from cryptonote::core 2015-10-07 22:28:54 -04:00
Thomas Winget
9366319367 cryptonote::core doxygen documentation 2015-10-07 22:28:51 -04:00
Thomas Winget
f2cc3a9eaf doxygen documentation for difficulty functions 2015-10-07 22:28:43 -04:00
Thomas Winget
37fa7b44d6 Move checkpoint functions into checkpoints class
The functions in src/cryptonote_core/checkpoints_create.{h,cpp} should
be member functions of the checkpoints class, if nothing else for the
sake of keeping their documentation together.

This commit covers moving those functions to be member functions of the
checkpoints class as well as documenting those functions.
2015-10-07 22:28:37 -04:00
Thomas Winget
04055a0634 doxygen documentation for checkpoints.{h,cpp}
All functions in src/cryptonote_core/checkpoints.h are now documented in
doxygen style.

checkpoints.cpp has been reviewed, one function has been marked for
discussion on correctness.
2015-10-07 22:28:31 -04:00
Thomas Winget
910bcc077d documentation updates to Blockchain
Reviewed and updated or removed FIXME and TODO comments
2015-10-07 22:28:26 -04:00
Thomas Winget
6fe7aedae9 minor bugfixes and refactoring
- Blockchain should store if it's running on testnet or not

- moved loading compiled-in block hashes to its own function for clarity

- on handle_get_objects, should now correctly return false if a block's
transactions are missing

- replace instances of BOOST_FOREACH with C++11 for loops in Blockchain.
2015-10-07 22:28:11 -04:00
Thomas Winget
94f7615c57 Remove unnecessary or defunct code 2015-10-07 22:25:06 -04:00
Thomas Winget
3e3408eb45 Merge upstream changes into documentation branch 2015-10-07 22:21:43 -04:00
warptangent
60a6919768 Update to compile with latest miniupnpc
upnpDiscover() takes a new argument for TTL.
Use the suggested default of 2.
2015-10-06 14:38:45 -07:00
Riccardo Spagni
e2fd8e0d2f Merge pull request #416
70e9f18 build: default to Berkeley DB for 32 bit and ARM (moneromooo-monero)
61ea546 db_bdb: fix hard fork keys (moneromooo-monero)
2015-10-06 10:39:04 +02:00
moneromooo-monero
70e9f180c8 build: default to Berkeley DB for 32 bit and ARM 2015-10-04 19:08:15 +01:00
moneromooo-monero
61ea5468e3 db_bdb: fix hard fork keys
Berkeley DB requires RECNO keys to be 32 bits, and forbids a key
value of 0.
2015-10-04 19:08:08 +01:00
moneromooo-monero
c89e88eaa1 hardfork: move an assert so it actually works
An unsigned quantity is always >= 0
2015-10-04 13:09:07 +01:00
Riccardo Spagni
aac8d36422 Merge pull request #408
1c3643e dns_utils: fix wrong asserts (moneromooo-monero)
2015-09-28 10:11:03 +02:00
moneromooo-monero
1c3643ef35 dns_utils: fix wrong asserts
Braino.
2015-09-27 17:34:52 +01:00
moneromooo-monero
d1c3c3ba59 blockchain: on hardfork 2, require mixin 2 at least if possible 2015-09-27 10:06:59 +01:00
moneromooo-monero
82a38d0d3b hardfork: make the voting window a week 2015-09-26 22:50:10 +01:00
moneromooo-monero
4cf3028ba5 hardfork: rescan speedup
Add a block height before which version 1 is assumed
Use DB transactions
2015-09-26 22:49:52 +01:00
moneromooo-monero
d9236396de hardfork: remove use of GNU extension for initializing object 2015-09-26 22:49:28 +01:00
moneromooo-monero
969c2c8867 blockchain: on hardfork 2, allow miners to claim less money than allowed
So they can avoid dust if they so wish
2015-09-26 22:49:14 +01:00
moneromooo-monero
a803befcd3 hardfork: change window semantics to not count the newly added block
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-26 22:48:59 +01:00
moneromooo-monero
9fa0f4aa4c blockchain: use different hard fork settings for testnet and mainnet 2015-09-26 22:48:44 +01:00
Thomas Winget
a3834f937c Updated documentation for blockchain.*
All functions are now documented in doxygen format.  Comments have been
updated to reflect the current state of the code.  Many areas for
improvement in clarity and design have been noted, as well as cruft to
be removed.  These changes are not reflected in this commit both to
allow time for comment and to keep commits organized by purpose.
2015-09-24 11:24:32 -04:00
Riccardo Spagni
8f8e291d97 Merge pull request #406
5b11a89 hardfork: most state now saved to the DB (moneromooo-monero)
0a54c3a hardfork: remove the "parts are copyright cryptonote" notices (moneromooo-monero)
e546f37 Add an RPC call and daemon command to get info on hard fork voting (moneromooo-monero)
d067131 blockchain: force a hardfork recalculation at load time (moneromooo-monero)
a717761 core: add consts where appropriate (moneromooo-monero)
8ffc508 core: moan when we think an update is needed to get latest hard fork info (moneromooo-monero)
f854984 blockchain: use the new hardfork class (moneromooo-monero)
62b1f74 New hardfork class (moneromooo-monero)
bed9a44 blockchain: add a couple missing includes (moneromooo-monero)
2015-09-22 14:47:36 +02:00
moneromooo-monero
5b11a89a76 hardfork: most state now saved to the DB
There will be a delay on first load of an existing blockchain
as it gets reparsed for this state data.
2015-09-20 18:42:52 +01:00
moneromooo-monero
0a54c3a553 hardfork: remove the "parts are copyright cryptonote" notices
I coded the whole thing from scratch.
2015-09-20 10:05:15 +01:00
moneromooo-monero
e546f3724a Add an RPC call and daemon command to get info on hard fork voting 2015-09-19 16:47:48 +01:00
moneromooo-monero
d06713199e blockchain: force a hardfork recalculation at load time
Since the state isn't actually saved anywhere, as the archive
code isn't called in the new DB version.
2015-09-19 16:47:42 +01:00
moneromooo-monero
a7177610b3 core: add consts where appropriate 2015-09-19 16:47:35 +01:00
moneromooo-monero
8ffc508cef core: moan when we think an update is needed to get latest hard fork info 2015-09-13 18:09:57 +01:00