moneromooo-monero
ecbb732faa
Fix leak on real output when using a very recent output
...
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-25 16:34:57 +00:00
moneromooo-monero
43bca0d2f7
blockchain_utilities: new blockchain_dump diagnostic tool
...
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-25 12:36:16 +00:00
moneromooo-monero
5f397e4412
Add functions to iterate through blocks, txes, outputs, key images
2015-10-25 12:36:11 +00:00
moneromooo-monero
0a5a5e8597
db_bdb: record numbers for recno databases start at 1
2015-10-25 12:36:06 +00:00
moneromooo-monero
50dfdc057a
db_bdb: DB_KEYEMPTY is also not found for non-top recon fields
2015-10-25 12:35:59 +00:00
moneromooo-monero
572780e335
blockchain_db: use the DNE exceptions where appropriate
2015-10-25 12:35:52 +00:00
moneromooo-monero
6376627530
hardfork: switch voting to block minor version
...
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-21 19:21:14 +01:00
moneromooo-monero
b13e7f284b
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:11:26 +01:00
moneromooo-monero
11db442a6c
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:11:20 +01:00
moneromooo-monero
03bc6100de
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:11:13 +01:00
moneromooo-monero
439c4555e9
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:11:06 +01:00
Riccardo Spagni
e6d2460263
Merge pull request #432
...
5ea2f93
wallet2: really include non canonical outputs in dust sweep (moneromooo-monero)
2015-10-15 19:36:02 +02:00
Riccardo Spagni
eef5fa446e
Merge pull request #431
...
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-15 19:34:55 +02:00
moneromooo-monero
1ce2621a73
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:26:22 +01:00
moneromooo-monero
5ea2f936ae
wallet2: really include non canonical outputs in dust sweep
2015-10-14 00:58:08 +01:00
moneromooo-monero
253ed76ef4
core_rpc_server: add optional json decoded tx to COMMAND_RPC_GET_TRANSACTIONS
2015-10-13 22:11:52 +01:00
moneromooo-monero
ca23c0e5c8
core_rpc_server: add a getblock RPC command, and fix print_block
2015-10-13 21:37:35 +01:00
moneromooo-monero
0f6d3aa9c7
simplewallet: hide start_mining behind --trusted-daemon
...
because it leaks your standard address
2015-10-12 00:04:57 +01:00
Riccardo Spagni
0fdc75b054
Merge pull request #427
...
df8a110
simplewallet: add a --trusted-daemon flag (moneromooo-monero)
2015-10-11 21:29:25 +02:00
moneromooo-monero
df8a1105e6
simplewallet: add a --trusted-daemon flag
...
It allows enabling the rescan_spent command only for trusted
daemon
2015-10-11 19:45:59 +01:00
moneromooo-monero
79c95c1748
simplewallet: bump default mixin from 3 to 4
...
As recommended in MRL-0004
2015-10-11 13:48:18 +01:00
moneromooo-monero
ac90d488e7
from hard fork 2, all outputs must be decomposed
...
The wallet decomposes fully as of now too.
2015-10-11 13:02:55 +01:00
moneromooo-monero
90ccad1236
from hard fork 2, claim a quantized reward in coinbase
...
The small leftover is carried forward
2015-10-10 12:28:44 +01:00
moneromooo-monero
22b15704b6
cryptonote_format_utils: add a function to tell if an amount is canonical
2015-10-10 12:28:37 +01:00
Riccardo Spagni
5b47019cf4
Merge pull request #420
...
ee27559
Update to compile with latest miniupnpc (warptangent)
2015-10-06 10:51:34 +02:00
Riccardo Spagni
2ce54a0d3e
Merge pull request #415
...
180bcde
build: default to Berkeley DB for 32 bit and ARM (moneromooo-monero)
791d8cb
db_bdb: fix hard fork keys (moneromooo-monero)
2015-10-06 10:50:26 +02:00
warptangent
ee27559724
Update to compile with latest miniupnpc
...
upnpDiscover() takes a new argument for TTL.
Use the suggested default of 2.
2015-10-05 17:07:52 -07:00
moneromooo-monero
180bcde866
build: default to Berkeley DB for 32 bit and ARM
2015-10-04 19:01:56 +01:00
moneromooo-monero
791d8cb038
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:00:37 +01:00
moneromooo-monero
cec92c4fd3
hardfork: move an assert so it actually works
...
An unsigned quantity is always >= 0
2015-10-04 12:55:49 +01:00
Riccardo Spagni
1e7fc9c093
Merge pull request #410
...
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-28 10:09:28 +02:00
Riccardo Spagni
419d70eb1f
Merge pull request #409
...
151c32d
dns_utils: fix wrong asserts (moneromooo-monero)
2015-09-28 10:09:01 +02:00
moneromooo-monero
33affd2d17
blockchain: on hardfork 2, require mixin 2 at least if possible
2015-09-27 22:46:53 +01:00
moneromooo-monero
434e0f42e7
hardfork: make the voting window a week
2015-09-27 22:46:47 +01:00
moneromooo-monero
0a7421b607
hardfork: rescan speedup
...
Add a block height before which version 1 is assumed
Use DB transactions
2015-09-27 22:46:41 +01:00
moneromooo-monero
fec98b8952
hardfork: remove use of GNU extension for initializing object
2015-09-27 22:46:36 +01:00
moneromooo-monero
4bbf944df0
blockchain: on hardfork 2, allow miners to claim less money than allowed
...
So they can avoid dust if they so wish
2015-09-27 22:46:30 +01:00
moneromooo-monero
088bc56d79
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-27 22:46:25 +01:00
moneromooo-monero
198f557d38
blockchain: use different hard fork settings for testnet and mainnet
2015-09-27 22:46:13 +01:00
moneromooo-monero
151c32d5c4
dns_utils: fix wrong asserts
...
Braino.
2015-09-27 17:42:32 +01: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
moneromooo-monero
f85498422d
blockchain: use the new hardfork class
2015-09-12 11:15:53 +01:00
moneromooo-monero
62b1f74116
New hardfork class
...
This keeps track of voting via block version, in order to decide
when to enable a particular fork's code.
2015-09-12 11:14:44 +01:00
moneromooo-monero
bed9a44e56
blockchain: add a couple missing includes
2015-09-12 11:14:34 +01:00
Riccardo Spagni
cf88e4dd24
Merge pull request #394
...
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-30 16:30:35 +02:00
moneromooo-monero
4e138a02df
dns_utils: remove unnecessary string conversion
2015-08-30 15:04:18 +01:00
moneromooo-monero
f928468b9b
dns_utils: factor the fetching code for different DNS record types
2015-08-30 15:04:09 +01:00
moneromooo-monero
4ef0da184d
dns_utils: simplify string handling and fix leak
2015-08-30 15:03:59 +01:00
moneromooo-monero
ae5f28cb51
dns_utils: add a const where possible
2015-08-27 21:08:55 +01:00
moneromooo-monero
f43d465da2
dns_utils: lock access to the singleton
...
This avoids races which could result in two objects being created
2015-08-27 21:08:03 +01:00
moneromooo-monero
5990344cb0
dns: make ctor private
...
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-27 21:06:09 +01:00
Javier Smooth
b19456dc6d
Re-enable optimized slow-hash if someone is trying to compile w/MSVC (disabling it was unintentional)
2015-08-26 10:30:22 -07:00
Riccardo Spagni
a1af0feb06
Merge pull request #390
...
5dc53c2
wallet: use mutex protected random generation api (moneromooo-monero)
2015-08-26 19:24:09 +02:00
Riccardo Spagni
41e2323ddc
Merge pull request #388
...
813e758
blockchain: remove obsolete call to libc srand (moneromooo-monero)
2015-08-26 19:23:42 +02:00
moneromooo-monero
5dc53c2cb0
wallet: use mutex protected random generation api
2015-08-26 08:28:58 +01:00
moneromooo-monero
813e758b62
blockchain: remove obsolete call to libc srand
...
crypto::rand is now used for output selection
2015-08-24 21:58:19 +01:00
moneromooo-monero
e20a3ae011
simplewallet: add a store-tx-keys option to set
...
To enable storing tx keys in the (now encrypted) wallet cache.
2015-08-24 21:52:34 +01:00
moneromooo-monero
d91eb8c7b4
wallet: only return tx keys via RPC if requested
...
To get the tx keys returned via RPC, set the "get_tx_key" or
"get_tx_keys" request field to true (defaults to false).
2015-08-24 17:36:44 +01:00
Riccardo Spagni
32077d3810
Merge pull request #385
...
0a4bc84
Added ref10 shen_ed25519_ref code, which includes code that can replace crypto-ops with a version straight from Bernstein's ref 10 (ShenNoether)
0d70fdc
revert to 776b4fc91a
(ShenNoether)
b01f286
Added shen_ed25519_ref to crypto ops subfolder, the point is to directly have bitmonero's crypto code come from bernstein et al's ref 10 code (ShenNoether)
2015-08-24 19:21:31 +02:00
Riccardo Spagni
6b7be9f89b
Merge pull request #383
...
3b5330e
use correct unsigned type (roman)
59cc92b
removed some gcc warnings. mainly unused variables. (roman)
2015-08-24 19:21:04 +02:00
Riccardo Spagni
c24a7e8fc0
Merge pull request #381
...
f197599
wallet: encrypt the cache file (moneromooo-monero)
98c76a3
chacha8: add a key generation variant that take a pointer and size (moneromooo-monero)
2015-08-24 19:20:36 +02:00
ShenNoether
0a4bc84b2f
Added ref10 shen_ed25519_ref code, which includes code that can replace crypto-ops with a version straight from Bernstein's ref 10
2015-08-23 14:48:50 -06:00
ShenNoether
0d70fdca8c
revert to 776b4fc91a
2015-08-23 14:46:44 -06:00
ShenNoether
b01f286473
Added shen_ed25519_ref to crypto ops subfolder, the point is to directly have bitmonero's crypto code come from bernstein et al's ref 10 code
2015-08-23 14:18:59 -06:00
roman
3b5330e895
use correct unsigned type
2015-08-23 21:10:24 +02:00
roman
59cc92b388
removed some gcc warnings. mainly unused variables.
2015-08-23 17:59:24 +02:00
moneromooo-monero
f19759992c
wallet: encrypt the cache file
...
It contains private data, such as a record of transactions.
The key is derived from the view and spend secret keys.
The encryption currently is one shot, so may require a lot of
memory for large wallet caches.
2015-08-22 21:04:50 +01:00
moneromooo-monero
98c76a388c
chacha8: add a key generation variant that take a pointer and size
2015-08-22 17:41:03 +01:00
moneromooo-monero
6c995710d8
make tx keys available to the user
...
They are also stored in the cache file, to be retrieved using
a new get_tx_key command.
2015-08-19 21:11:48 +01:00
Riccardo Spagni
49df0e6f50
Merge pull request #378
...
7c4d6f1
simplewallet: Use default log file name when executable's file path is unknown (warptangent)
b5b0f08
epee: Don't set log file name when process path name isn't found (warptangent)
2015-08-17 10:21:34 +02:00
warptangent
7c4d6f1dc6
simplewallet: Use default log file name when executable's file path is unknown
...
Default to "simplewallet.log" in current directory when file path isn't
obtained from epee.
In this situation previously, it defaulted to the file name of ".log"
("" + ".log") in the current directory.
(Thanks to @sammy007 for reporting bug.)
An earlier version yet used "" + "/" + ".log" = "/.log", which resulted
in silently not logging in most cases, due to lack of permission.
Test:
PATH=$PATH:</path/to/simplewallet/folder> && simplewallet --wallet-file /dev/null
This results in epee not finding the executable's file path, so
simplewallet will now use a default log filename.
2015-08-16 18:52:54 -07:00
moneromooo-monero
378d004b37
blockchain: mark two places where the new code differs from the old
...
And I'd like a comment from tewinget or someone else
2015-08-15 18:46:19 +01:00
moneromooo-monero
73d42a75d4
blockchain: update cumulative size after block addition
...
Block addition can fail, and the old code would not update the
cumulative size in that case.
2015-08-15 18:44:56 +01:00
moneromooo-monero
4a443775e8
blockchain: remove dead code
2015-08-15 18:44:31 +01:00
moneromooo-monero
3f9089a767
blockchain: do not try to add a tx the pool when it was nor taken out
...
This is an unintended difference from the old code. Though I don't
think it can actually happen in practice with the current take_tx
implementation.
2015-08-15 18:42:29 +01:00
moneromooo-monero
769d5ef0e6
blockchain: fix off by 1 in timestamp median calculations
...
The height function apparently used to return the index of
the last block, rather than the height of the chain. This now
seems to be incorrect, judging the the code, so we remove the
now wrong comment, as well as a couple +/- 1 adjustments
which now cause the median calculation to differ from the
original blockchain_storage version.
2015-08-15 12:37:23 +01:00
Riccardo Spagni
f7c27f81af
Merge pull request #376
...
7424cfc
net_node: Use DNS resolver singleton (warptangent)
2015-08-15 10:59:00 +02:00
warptangent
7424cfc7b8
net_node: Use DNS resolver singleton
...
Each thread can use the same resolver.
2015-08-14 21:05:43 -07:00
warptangent
471e8a3195
blockchain_import: Add --input-file option
...
This option specifies the input file path for importing.
The default remains <data-dir>/export/blockchain.raw
2015-08-14 15:00:34 -07:00
warptangent
3ffda6eefb
blockchain_import: Updates for naming consistency
2015-08-14 15:00:18 -07:00
Riccardo Spagni
b064bad315
Merge pull request #374
...
97c5faa
blockchain_export: Add --output-file argument (warptangent)
2015-08-14 21:59:35 +02:00
warptangent
97c5faa0b6
blockchain_export: Add --output-file argument
...
This option will export to the specified file path.
The default file path remains <data-dir>/export/blockchain.raw
2015-08-14 12:46:08 -07:00
moneromooo-monero
dde4dbb977
doc: hammer the fact that the raw file isn't blockchain.bin
2015-08-14 09:53:57 +01:00
Riccardo Spagni
7792255968
Merge pull request #369
...
d87a2d2
core_rpc_server: replace vector<bool> with vector<int> in RPC (moneromooo-monero)
2015-08-13 20:04:31 +02:00
Riccardo Spagni
90fc005946
Merge pull request #368
...
7764cd7
net_node: skimplify rate limit code, and log as appropriate (moneromooo-monero)
2015-08-13 20:04:06 +02:00
Riccardo Spagni
9564dcab48
Merge pull request #367
...
e7b00ab
core_rpc_server: find transactions in the pool as well as the blockchain (moneromooo-monero)
2015-08-13 20:03:34 +02:00
moneromooo-monero
d87a2d2bb2
core_rpc_server: replace vector<bool> with vector<int> in RPC
...
vector<bool> causes issues in serialization with Boost 1.56
2015-08-13 16:33:28 +01:00
moneromooo-monero
7764cd7006
net_node: skimplify rate limit code, and log as appropriate
2015-08-11 20:32:48 +01:00
moneromooo-monero
aa5bc351d4
wallet: new rescan_spent command to update outputs' spent status
...
This obsoletes the need for a lengthy blockchain rescan when
a transaction doesn't end up in the chain after being accepted
by the daemon, or any other reason why the wallet's idea of
spent and unspent outputs gets out of sync from the blockchain's.
2015-08-11 15:55:08 +01:00
moneromooo-monero
e7b00abfaa
core_rpc_server: find transactions in the pool as well as the blockchain
2015-08-11 15:54:19 +01:00
moneromooo-monero
e63b854967
blockchain_db: match tx addition semantics to original code
...
The original code removed key images from a tx from the blockchain
when an non to-key nor gen input was found in that tx. Additionally,
the remainder of the tx data was added to the blockchain only after
the double spend check passed.
2015-08-11 11:11:17 +01:00
moneromooo-monero
83bbea4c7f
Add a is_key_image_spent daemon command and RPC call
2015-08-11 10:52:41 +01:00
moneromooo-monero
35abef1b92
blockchain: remove dead code
2015-08-11 10:48:51 +01:00
Riccardo Spagni
b210b304a3
Merge pull request #364
...
533acc3
blockchain_db: store key images for tx without outputs too (moneromooo-monero)
2015-08-10 20:05:12 +02:00
Riccardo Spagni
09cada45c4
Merge pull request #363
...
4f19e68
blockchain: factor get_num_outpouts(amount) calls (moneromooo-monero)
275894c
blockchain: always select random outs using triangular distribution (moneromooo-monero)
2015-08-10 20:04:32 +02:00