moneromooo-monero
513a658c87
add a --max-concurrency flag
...
It sets the max number of threads to use for a parallel job.
This is different that the number of total threads, since monero
binaries typically start a lot of them.
2016-04-28 20:33:59 +01:00
moneromooo-monero
09dddf281a
wallet: add a filter_by_height field to get_transfers
...
It allows a simple get_transfers (with default 0 min_height and
max_height) to return all transactions, instead of the unexpected
set of txes in block 0, which is probably none at all.
2016-04-27 23:43:39 +01:00
Riccardo Spagni
bdb93cbf3d
Merge pull request #823
...
a687e6e
simplewallet: fix pending transfers fee display in show_transfers (moneromooo-monero)
2016-04-27 09:18:28 +02:00
Riccardo Spagni
29b2cfa3d9
Merge pull request #822
...
48ab3f9
wallet: add get_transfers rpc call (moneromooo-monero)
2016-04-27 09:15:15 +02:00
moneromooo-monero
a687e6e592
simplewallet: fix pending transfers fee display in show_transfers
2016-04-26 22:42:26 +01:00
moneromooo-monero
d7bb1752eb
simplewallet: more threading fixes
2016-04-26 22:40:57 +01:00
moneromooo-monero
48ab3f93ff
wallet: add get_transfers rpc call
...
Allows getting in, out, pending, and failed transfers, similarly
to the show_transfers command.
2016-04-26 22:39:52 +01:00
moneromooo-monero
7baed9bd89
wallet: allow attaching notes to txids
2016-04-26 19:07:33 +01:00
moneromooo-monero
ce6f8a6324
wallet: add GMT timestamps to transfers/payments
2016-04-26 19:07:25 +01:00
Riccardo Spagni
3d984854a6
Merge pull request #819
...
31587bd
random: call abort(3) instead of assert in must_succeed macro (moneromooo-monero)
2016-04-26 18:11:04 +02:00
Riccardo Spagni
cde9dce9c4
Merge pull request #817
...
4b1c0d6
simplewallet: some background refresh threading fixes (moneromooo-monero)
2016-04-26 18:08:59 +02:00
Riccardo Spagni
714dcc2866
Merge pull request #815
...
b0850a9
wallet: add a new sweep_all command and RPC command (moneromooo-monero)
2016-04-26 18:08:09 +02:00
Riccardo Spagni
7098ad6804
Merge pull request #814
...
68cbe15
modified: src/wallet/wallet2.cpp modified: src/wallet/wallet2.h (awfulcrawler)
4b325bd
modified: src/simplewallet/simplewallet.cpp modified: src/wallet/wallet2.cpp modified: src/wallet/wallet2.h (awfulcrawler)
2016-04-26 18:04:00 +02:00
Riccardo Spagni
fbfb8f46a9
Merge pull request #813
...
70c8656
blockchain: add missing overflow check for already generated coins (moneromooo-monero)
d6fd6be
blockchain: update cumulative block limit when popping a block (moneromooo-monero)
2016-04-26 18:03:31 +02:00
Riccardo Spagni
0fb0e7701b
Merge pull request #812
...
3102feb
abstract_tcp_server2: fix send queue limit warning spam (moneromooo-monero)
6bca9a8
abstract_tcp_server2: avoid deadlock waiting for send queue to drain (moneromooo-monero)
7450656
net_node: fix connection leak when ping fails with bad response (moneromooo-monero)
2016-04-26 18:02:57 +02:00
Riccardo Spagni
0922ae2b43
Merge pull request #811
...
672162d
tests: fix compile failure on wallet2::transfer (moneromooo-monero)
b0c18ef
wallet2: move output selection api public (moneromooo-monero)
2016-04-26 18:02:26 +02:00
Ilya Kitaev
566166aafd
merged with upstream
2016-04-26 13:46:20 +03:00
Ilya Kitaev
dce5374660
Merge remote-tracking branch 'upstream/master' into develop
2016-04-26 11:08:40 +03:00
Howard Chu
2b0fa05f0d
Another take on migration
...
Delete old indices and recreate them, rather than updating them
Maybe not quite as slow as before.
2016-04-24 17:46:50 +01:00
moneromooo-monero
31587bdd15
random: call abort(3) instead of assert in must_succeed macro
...
Avoids silent use of bad RNG in release builds, in case those
calls might actually fail.
Reported by smooth.
2016-04-24 12:26:56 +01:00
Ilya Kitaev
53a97bdcd3
Wallet API: transaction history in progress
2016-04-22 13:33:09 +03:00
Ilya Kitaev
02c9df5de2
Wallet API : transaction history in progress
2016-04-22 13:21:08 +03:00
moneromooo-monero
4b1c0d69f4
simplewallet: some background refresh threading fixes
...
We want to lock operations which access the blockchain in
wallet2. We also want the background refresh to happen again
when we cancel a foreground refresh. Wrap the locking setup
in a macro so it doesn't get copy/pasted/mangled, and use
a scope exit trick to ensure it's always properly restored.
2016-04-21 00:11:11 +01:00
Ilya Kitaev
a213887476
transaction history api in progress
2016-04-20 13:33:54 +03:00
Ilya Kitaev
b6aaf53a60
transaction history api in progress
2016-04-20 13:17:27 +03:00
Ilya Kitaev
f83f3cbd96
api implementation splitted over separate files
2016-04-20 13:01:00 +03:00
moneromooo-monero
b0850a9bea
wallet: add a new sweep_all command and RPC command
...
This sends all outputs in a wallet to a given address, alleviating
the difficulty people have had trying to send all monero but
being left with some small amount left.
2016-04-19 21:20:27 +01:00
Ilya Kitaev
4e1c2dc365
TransactionInfo / TransactionHistory APIs design
2016-04-19 12:25:03 +03:00
awfulcrawler
68cbe1579e
modified: src/wallet/wallet2.cpp
...
modified: src/wallet/wallet2.h
Removed working comments
2016-04-18 20:20:31 +12:00
awfulcrawler
4b325bdb66
modified: src/simplewallet/simplewallet.cpp
...
modified: src/wallet/wallet2.cpp
modified: src/wallet/wallet2.h
Update to fix unconfirmed balance and give a slightly more verbose and informative confirmation message for transfers
2016-04-18 14:57:47 +12:00
Howard Chu
19fe8ae3ef
Add --restore-height option
...
For specifying the block height from which to start a restore
2016-04-17 15:25:46 +01:00
Howard Chu
b6e42c3276
Speed up new wallet refresh
...
Use the current blockchain height as the refresh_from_block_height.
2016-04-17 15:25:46 +01:00
Howard Chu
b7140daea2
Add GET_HASHES_FAST rpc, use it in wallet
...
When m_refresh_from_block_height has been set, only hashes will be
retrieved up to that height, instead of full blocks. The same will
be done for "refresh <height>" when the specified height is beyond
the current local blockchain.
2016-04-17 15:25:46 +01:00
moneromooo-monero
70c86561af
blockchain: add missing overflow check for already generated coins
...
When reaching the tail emission phase, the amount of coins will
eventually go over MONEY_SUPPLY, overflowing 64 bits. There was
a check added to blockchain_storage, but this was not ported to
the blockchain DB version.
Reported by smooth.
2016-04-17 14:46:17 +01:00
moneromooo-monero
d6fd6be5de
blockchain: update cumulative block limit when popping a block
...
Avoids possible issues with accepting a tx too large to fit
in an actual block.
Reported by smooth.
2016-04-17 14:46:13 +01:00
moneromooo-monero
7450656bf3
net_node: fix connection leak when ping fails with bad response
...
If there is no comms error, but the response is not as expected,
close would not be called.
2016-04-17 11:24:07 +01:00
moneromooo-monero
b0c18ef9cd
wallet2: move output selection api public
2016-04-17 11:20:44 +01:00
Riccardo Spagni
1c66fe04bc
Merge pull request #803
...
c33ffc8
simplewallet: save fixes in RPC mode (moneromooo-monero)
2016-04-14 16:26:46 +09:00
Riccardo Spagni
0ecb152810
Merge pull request #785
...
1a58d20
simplewallet: optional address in --generate-from-json (moneromooo-monero)
2016-04-14 16:26:11 +09:00
Riccardo Spagni
8f78f1407e
Merge pull request #784
...
087373e
Fix potential race with parallel processing of txes/signatures/blocks (moneromooo-monero)
2016-04-14 16:25:53 +09:00
Riccardo Spagni
6bfb8799c3
Merge pull request #783
...
48d0747
wallet: better output selection for transfer/transfer_new (moneromooo-monero)
2016-04-14 16:25:38 +09:00
Riccardo Spagni
17049fa8e8
Merge pull request #782
...
113cdc1
core: keep the acc loop for the genesis block (moneromooo-monero)
2016-04-14 16:25:18 +09:00
Riccardo Spagni
a299e5269b
Merge pull request #801
...
ed61a2c
simplewallet: set strict umask at start (moneromooo-monero)
7385c03
util: add a function to set umask to 077 (moneromooo-monero)
2016-04-14 16:21:29 +09:00
Riccardo Spagni
784a2108f4
Merge pull request #800
...
4cfb4df
blockchain: remove the tx validation result cache (moneromooo-monero)
2016-04-14 16:21:08 +09:00
Riccardo Spagni
c2e9866fc6
Merge pull request #797
...
d662ab5
rpc: print human readable time since received when printing pool (moneromooo-monero)
5c9dd23
rpc: add a do_not_relay boolean to tx submission (moneromooo-monero)
2016-04-14 16:20:41 +09:00
Riccardo Spagni
da277e17b5
Merge pull request #796
...
d817aec
tx_pool: ensure no txes that fail check_inputs get in the block template (moneromooo-monero)
2016-04-14 16:20:17 +09:00
Ilya Kitaev
1774d9574b
TODOs for Transaction/Transfer interface
2016-04-12 22:30:20 +03:00
moneromooo-monero
c33ffc8e94
simplewallet: save fixes in RPC mode
...
^C when in RPC mode would not save the wallet while it was still
refreshing after starting up.
Also, save the wallet out of the signal handler. We don't want
to call complex stuff in a signal handler.
2016-04-10 16:56:12 +01:00
moneromooo-monero
f17b2f42b2
rpc: add pool/blockchain and block height results to gettransactions
2016-04-09 12:40:32 +01:00
Howard Chu
c14f9efd52
Migration
...
Migrate from DB version 0 to version 1 on startup
2016-04-08 03:11:05 +01:00
moneromooo-monero
ed61a2ccc1
simplewallet: set strict umask at start
2016-04-06 20:00:25 +01:00
moneromooo-monero
7385c036bd
util: add a function to set umask to 077
...
Useful to ensure files are written without group/other read rights.
2016-04-06 19:59:34 +01:00
moneromooo-monero
4cfb4dff3e
blockchain: remove the tx validation result cache
...
As pointed out by smooth, a transaction's validity may change
over time as the blockchain changes.
2016-04-06 19:01:28 +01:00
Ilya Kitaev
d97e9ef8a5
Transaction API continued
2016-04-06 13:56:57 +03:00
moneromooo-monero
1aad759bf1
tx_pool: fix (hopefully) save/load of kept_by_block
2016-04-06 00:11:31 +01:00
Howard Chu
d7ea7d9a23
Merge branch 'performance' into master
2016-04-05 21:13:16 +01:00
Howard Chu
372acee723
Cleanup
...
drop obsolete remove_output()
fix get_output_key(global), fix crash in blockchain_dump
2016-04-05 21:05:24 +01:00
Howard Chu
591e421875
Cleanup and clarify
...
Try to rationalize the variable names, document usage.
2016-04-05 20:57:45 +01:00
Howard Chu
b2f1c58805
Use cursors in some remove functions
...
Helps when they're called repeatedly in one txn
2016-04-05 20:57:31 +01:00
Howard Chu
118dd69dd5
Use DUPFIXED for block_info and output_txs
...
Saves another ~150MB or so on the full blockchain
2016-04-05 20:55:16 +01:00
Howard Chu
6225716f3c
More outputs consolidation
...
Also bumped DB VERSION to 1
Another significant speedup and space savings:
Get rid of global_output_indices, remove indirection from output to keys
This is the change warptangent described on irc but never got to finish.
2016-04-05 20:55:12 +01:00
Howard Chu
7c5abdc3a3
Use DUPFIXED for output_keys
...
Saves another 90MB on 200000 block import.
Had to bring back compare_uint64 for this, but it's safe since
this table is always 64-bit aligned.
2016-04-05 20:54:42 +01:00
Howard Chu
8e9d8e3364
Use DUPFIXED for tx_indices
...
Small space savings, no measurable speedup
2016-04-05 20:54:39 +01:00
Howard Chu
a12f9365f8
Use DUPFIXED for block_heights
...
Only a small savings...
2016-04-05 20:54:07 +01:00
Howard Chu
38c2277d6f
Use DUPFIXED for spent_keys
2016-04-05 20:54:07 +01:00
warptangent
bf769c32ba
Add back changes from revert.
...
m_tx_outputs doesn't need to be changed, as it's no longer dup list.
2016-04-05 20:54:07 +01:00
warptangent
46b991b362
Use MDB_APPEND mode with two tx subdbs
...
This is possible on those using a tx index as a key.
2016-04-05 20:54:07 +01:00
warptangent
9aadedb1d0
Schema update: tx_indices - consolidate the tx subdbs from 5 to 3
2016-04-05 20:54:06 +01:00
warptangent
a2f518aa01
Schema update: tx_indices - yet less indirection
2016-04-05 20:54:06 +01:00
warptangent
8d12a8df2c
Schema update: tx_indices - improve further with less indirection
2016-04-05 20:54:06 +01:00
warptangent
7c013f66e9
Add batch warning for further review
2016-04-05 20:54:06 +01:00
warptangent
ae0854a431
Schema update: tx_indices
2016-04-05 20:54:06 +01:00
Howard Chu
8d252a4214
Consolidated block info
2016-04-05 20:53:59 +01:00
warptangent
132c666f67
Update schema for "tx_outputs" to use array containing amount output indices
...
This speeds up wallet refresh by directly retrieving a tx's amount output indices.
It removes the indirection and walking the amount output duplicate list
for every amount in each requested tx.
"tx_outputs" is used by:
Amount output indices are needed for wallet refresh.
Global output indices are needed for removing a tx.
Both amount output indices and global output indices are now stored in
an array of 64-bit unsigned ints:
tx_outputs[<tx_hash>] -> [ <a1_oi, a1_gi, a2_oi, a2_gi, ...> ]
Previously it was:
tx_outputs[<tx_hash>] -> duplicate list of <a1_gi, a2_gi, a3_gi, ...>
The amount output list had to be walked for every amount in order to
find each amount's output index, by comparing the amount's global output
index with each one in the duplicate list until a match was found.
See also d045dfa7ce
2016-04-05 20:30:50 +01:00
warptangent
309f8f3d44
blockchain_utilities: Update documentation
2016-04-05 20:30:50 +01:00
luigi1111
7ac1db42c2
get_payments short ID
...
Add support for short/integrated/encrypted IDs to get_payments RPC
2016-04-05 20:30:50 +01:00
moneromooo-monero
d662ab5cec
rpc: print human readable time since received when printing pool
2016-04-05 20:16:05 +01:00
moneromooo-monero
5c9dd23b1c
rpc: add a do_not_relay boolean to tx submission
...
Just to make it easier
2016-04-05 20:15:54 +01:00
Ilya Kitaev
079fbd3d42
Wallet::createTransaction API introduced
2016-04-05 15:24:44 +03:00
moneromooo-monero
d817aeca80
tx_pool: ensure no txes that fail check_inputs get in the block template
2016-04-05 13:06:29 +01:00
Ilya Kitaev
ee5bb17f26
Wallet::transfer() continued
2016-04-04 14:56:17 +03:00
Ilya Kitaev
c37c856d6d
Wallet::transfer in progress
2016-04-03 14:34:38 +03:00
moneromooo-monero
1a58d202b2
simplewallet: optional address in --generate-from-json
...
When present, it can be used to validate the keys, as well
as deduce the spend key, if it is absent (watch wallet).
2016-04-02 15:22:59 +01:00
moneromooo-monero
087373eccf
Fix potential race with parallel processing of txes/signatures/blocks
2016-04-02 14:20:51 +01:00
moneromooo-monero
48d0747d00
wallet: better output selection for transfer/transfer_new
...
This now requests the set of outputs that can be mixed first,
to avoid trying non dust but unmixable outputs, which we know
will fail.
2016-04-02 14:17:02 +01:00
moneromooo-monero
113cdc10a2
core: keep the acc loop for the genesis block
...
For unknown reasons, it was generated with a block reward
consisting of a single large dusty output.
2016-04-02 11:17:49 +01:00
Riccardo Spagni
a42e19e1b7
bumped version number
2016-04-02 12:21:59 +09:00
Riccardo Spagni
cc54e2764a
Merge pull request #779
...
daac1cc
core: remove the block reward accumulation loop (moneromooo-monero)
2016-04-02 12:05:57 +09:00
Riccardo Spagni
dea1aa75bc
Merge pull request #778
...
efbdde2
Detect map resize failures (Howard Chu)
2016-04-02 12:05:40 +09:00
Riccardo Spagni
ab43e80331
Merge pull request #777
...
8757e46
add blockhashing blob to getblocktemplate (Howard Chu)
2016-04-02 12:05:07 +09:00
Riccardo Spagni
b22f550c67
Merge pull request #772
...
ead6956
simplewallet: always gracefully exit on EOF (moneromooo-monero)
2016-04-02 12:03:25 +09:00
Riccardo Spagni
4ac6bdbb3f
Merge pull request #769
...
b4eada9
wallet: make load_keys check types when loading JSON (moneromooo-monero)
3e55725
wallet: make the JSON reading type safe (moneromooo-monero)
f8d05f3
common: new json_util.h (moneromooo-monero)
2016-04-02 12:02:49 +09:00
Riccardo Spagni
a38ad63f8f
Merge pull request #767
...
24b3e90
Convey tx verification failure reasons to the RPC client (moneromooo-monero)
2016-04-02 12:02:07 +09:00
Riccardo Spagni
f68670a80e
Merge pull request #766
...
77d1c6b
simplewallet: default to trusted daemon for loopback address (moneromooo-monero)
2016-04-02 12:01:29 +09:00
Riccardo Spagni
44559ca4b0
Merge pull request #764
...
f746c9d
minor corrections/clarifications (Thomas Winget)
c6bb201
Transaction pool documentation (and some cleanup) (Thomas Winget)
2016-04-02 12:01:15 +09:00
moneromooo-monero
daac1cc259
core: remove the block reward accumulation loop
...
This can generate non decomposed outputs for very large block
rewards (or not so large ones if a miner decides to not quantize
the block rewards). Out of an abundance of caution, we refuse
to generate those. They are still accepted by the consensus code,
however.
2016-04-01 21:42:19 +01:00
Ilya Kitaev
830c19c934
Wallet::refresh + tests
2016-03-31 16:38:57 +03:00
Ilya Kitaev
1ae9cdc6bf
"testnet" is default parameter
2016-03-31 15:39:28 +03:00
Ilya Kitaev
2157a9ac48
testnet option, Wallet::balance(), Wallet::unlockedBalance()
2016-03-31 12:48:41 +03:00
Ilya Kitaev
df6026182a
Merge remote-tracking branch 'upstream/master'
2016-03-31 12:01:19 +03:00
Howard Chu
efbdde2c66
Detect map resize failures
2016-03-30 20:37:28 +01:00
Thomas Winget
f746c9d01b
minor corrections/clarifications
2016-03-30 11:55:54 -04:00
Howard Chu
8757e46b78
add blockhashing blob to getblocktemplate
2016-03-30 16:54:36 +01:00
moneromooo-monero
ead6956080
simplewallet: always gracefully exit on EOF
2016-03-29 17:52:45 +01:00
moneromooo-monero
ef4ff4252a
connection_basic: avoid gratuitous exception
...
The remote endpoint is usually invalid, so use a version of the
call that returns an error code instead.
2016-03-28 18:59:09 +01:00
moneromooo-monero
878ab5d896
wallet: fix --generate-from-keys saving as watch only
2016-03-28 16:46:37 +01:00
moneromooo-monero
b4eada907c
wallet: make load_keys check types when loading JSON
2016-03-27 23:39:34 +01:00
moneromooo-monero
3e557254c7
wallet: make the JSON reading type safe
2016-03-27 23:39:17 +01:00
moneromooo-monero
f8d05f3cd9
common: new json_util.h
...
With code to help factor out reading typed fields from JSON
2016-03-27 23:35:32 +01:00
Riccardo Spagni
2b57845766
Merge pull request #765
...
d5d46e6
tests: obligatory hardfork unit build fix after interface change (moneromooo-monero)
25672d3
wallet: pass std::function by const ref, not value (moneromooo-monero)
0be6e08
wallet: do not leak owned amounts to the daemon unless --trusted-daemon (moneromooo-monero)
12146da
wallet: change sweep_dust to sweep_unmixable (moneromooo-monero)
600a3cf
New RPC and daemon command to get output histogram (moneromooo-monero)
f9a2fd2
wallet: handle rare case where fee adjustment can bump to the next kB (moneromooo-monero)
f26651a
wallet: factor fee calculation (moneromooo-monero)
2016-03-27 14:09:53 +02:00
moneromooo-monero
24b3e9007a
Convey tx verification failure reasons to the RPC client
...
This allows appropriate action to be taken, like displaying
the reason to the user.
Do just that in simplewallet, which should help a lot in
determining why users fail to send.
Also make it so a tx which is accepted but not relayed is
seen as a success rather than a failure.
2016-03-27 12:37:18 +01:00
moneromooo-monero
77d1c6b672
simplewallet: default to trusted daemon for loopback address
2016-03-27 11:00:15 +01:00
moneromooo-monero
25672d3f10
wallet: pass std::function by const ref, not value
...
Because we can.
2016-03-26 23:32:45 +00:00
moneromooo-monero
0be6e08dd0
wallet: do not leak owned amounts to the daemon unless --trusted-daemon
...
This will be slower, though more private.
New trusted_daemon parameter to the matching RPC call, false by default.
2016-03-26 23:29:29 +00:00
moneromooo-monero
12146daeed
wallet: change sweep_dust to sweep_unmixable
...
With the change in mixin rules for v2, the "annoying" outputs are
slightly changed. There is high correlation between dust and
unmixable, but no equivalence.
2016-03-26 21:15:47 +00:00
moneromooo-monero
600a3cf0c0
New RPC and daemon command to get output histogram
...
This is a list of existing output amounts along with the number
of outputs of that amount in the blockchain.
The daemon command takes:
- no parameters: all outputs with at least 3 instances
- one parameter: all outputs with at least that many instances
- two parameters: all outputs within that many instances
The default starts at 3 to avoid massive spamming of all dust
outputs in the blockchain, and is the current minimum mixin
requirement.
An optional vector of amounts may be passed, to request
histogram only for those outputs.
2016-03-26 21:10:43 +00:00
moneromooo-monero
f9a2fd2ff5
wallet: handle rare case where fee adjustment can bump to the next kB
...
It resulted in a tx being sent with too low a fee, and thus rejected.
2016-03-26 11:51:58 +00:00
moneromooo-monero
f26651ab8a
wallet: factor fee calculation
2016-03-26 11:44:43 +00:00
moneromooo-monero
b8527668ff
blockchain: for v3, require miner tx to have well behaved outs
...
This was meant to go in v2, but the miner tx slipped through
the cracks as it doesn't go through the main tx verification
since it doesn't get added to the pool.
2016-03-25 15:11:53 +00:00
moneromooo-monero
97638b1fb7
core: fix miner tx block reward with fees
2016-03-25 15:11:45 +00:00
Ilya Kitaev
8790904cf9
- testnet option added to api;
2016-03-25 17:06:30 +03:00
Riccardo Spagni
287e88283c
remove connectivity tool, comment it out from munin plugins too
2016-03-25 14:52:19 +02:00
Riccardo Spagni
0d30b65785
Merge pull request #749
...
bfd4a28
Update BlockchainDB documentation (Thomas Winget)
797357e
Change Doxyfile, Blockchain not blockchain_storage (Thomas Winget)
c835215
remove defunct code from cryptonote::core (Thomas Winget)
50dba6d
cryptonote::core doxygen documentation (Thomas Winget)
8ac329d
doxygen documentation for difficulty functions (Thomas Winget)
540a76c
Move checkpoint functions into checkpoints class (Thomas Winget)
1b0c98e
doxygen documentation for checkpoints.{h,cpp} (Thomas Winget)
89c24ac
Remove unnecessary or defunct code (Thomas Winget)
ab0ed14
doxygen include private and static members (Thomas Winget)
3a48449
Updated documentation for blockchain.* (Thomas Winget)
2016-03-25 09:12:25 +02:00
Riccardo Spagni
01e0a69c17
Revert "Merge pull request #749 "
...
This reverts commit 7fa63a82a1
, reversing
changes made to cb6be986c3
.
2016-03-25 08:42:42 +02:00
Riccardo Spagni
40b8a5f327
Merge pull request #756
...
a2e378b
wallet: add a --generate-from-json flag (moneromooo-monero)
2016-03-25 08:27:42 +02:00
Riccardo Spagni
7fa63a82a1
Merge pull request #749
...
bfd4a28
Update BlockchainDB documentation (Thomas Winget)
797357e
Change Doxyfile, Blockchain not blockchain_storage (Thomas Winget)
c835215
remove defunct code from cryptonote::core (Thomas Winget)
50dba6d
cryptonote::core doxygen documentation (Thomas Winget)
8ac329d
doxygen documentation for difficulty functions (Thomas Winget)
540a76c
Move checkpoint functions into checkpoints class (Thomas Winget)
1b0c98e
doxygen documentation for checkpoints.{h,cpp} (Thomas Winget)
89c24ac
Remove unnecessary or defunct code (Thomas Winget)
ab0ed14
doxygen include private and static members (Thomas Winget)
3a48449
Updated documentation for blockchain.* (Thomas Winget)
2016-03-25 08:22:06 +02:00
Riccardo Spagni
cb6be986c3
Merge pull request #748
...
cc4b19c
blockchain: fix partial block reward detection (moneromooo-monero)
2016-03-25 08:20:56 +02:00
moneromooo-monero
a2e378b91b
wallet: add a --generate-from-json flag
...
It takes a filename containing JSON data to generate a wallet.
The following fields are valid:
version: integer, should be 1
filename: string, path/filename for the newly created wallet
scan_from_height: 64 bit unsigned integer, optional
password: string, optional
viewkey: string, hex representation
spendkey: string, hex representation
seed: string, optional, list of words separated by spaces
Either seed or private keys should be given. If using private
keys, the spend key may be omitted (the wallet will not be
able to spend, but will see incoming transactions).
If scan_from_height is given, blocks below this height will not
be checked for transactions as an optimization.
2016-03-25 00:56:11 +00:00
Thomas Winget
c6bb201a07
Transaction pool documentation (and some cleanup)
...
tx_pool.h doxygen documentation completed.
Many notes made on areas for improvement, be that functionality or
code clarity.
Commented code and unused code removed.
2016-03-24 20:03:02 -04:00
Thomas Winget
bfd4a28c41
Update BlockchainDB documentation
...
BlockchainDB is now Doxygen-compliant and its documentation is
up-to-date with recent changes.
2016-03-24 03:40:04 -04:00
Thomas Winget
c835215ea9
remove defunct code from cryptonote::core
2016-03-24 03:39:58 -04:00
Thomas Winget
50dba6d301
cryptonote::core doxygen documentation
2016-03-24 03:39:55 -04:00
Thomas Winget
8ac329df02
doxygen documentation for difficulty functions
2016-03-24 03:39:52 -04:00
Thomas Winget
540a76c5c2
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.
2016-03-24 03:39:41 -04:00
Thomas Winget
1b0c98e7e9
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.
2016-03-22 20:23:15 -04:00
Thomas Winget
89c24ac2be
Remove unnecessary or defunct code
2016-03-22 20:23:06 -04:00
Thomas Winget
3a484497bc
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.
2016-03-22 17:30:21 -04:00
moneromooo-monero
cc4b19c32e
blockchain: fix partial block reward detection
2016-03-22 15:37:16 +00:00
Riccardo Spagni
8438aeb740
update version number
2016-03-21 23:10:48 +02:00
Ilya Kitaev
2cce32995b
wallet2::store() implemented within wallet2::store_to
2016-03-21 16:17:03 +03:00
Riccardo Spagni
bdc07f029a
Merge pull request #743
...
a1c3829
also maybe do the block height this time, you know, just so that it actually works. (Riccardo Spagni)
2016-03-21 13:22:54 +02:00
Riccardo Spagni
a1c38299b3
also maybe do the block height this time, you know, just so that it actually works.
2016-03-21 13:19:49 +02:00
Riccardo Spagni
93c2c1b4ba
Merge pull request #742
...
23d1538
also update the timestamp for the hard fork (Riccardo Spagni)
2016-03-21 13:14:27 +02:00
Riccardo Spagni
23d1538fe7
also update the timestamp for the hard fork
2016-03-21 13:09:35 +02:00
Riccardo Spagni
def05d6353
Merge pull request #741
...
eda51a0
set fork date for September, add hyc's GPG key, remove aabramov's (Riccardo Spagni)
2016-03-21 12:56:11 +02:00
Riccardo Spagni
eda51a0dc3
set fork date for September, add hyc's GPG key, remove aabramov's
2016-03-21 12:53:49 +02:00
moneromooo-monero
f7301c3563
Revert "Print stack trace upon exceptions"
...
Ain't nobody got time for link/cmake skullduggery.
This reverts commit fff238ec94
.
2016-03-21 10:12:23 +00:00
Riccardo Spagni
37fbb7a8b7
Merge pull request #738
...
79117d4
db_lmdb: include the error codes from lmdb api in error logs (moneromooo-monero)
2016-03-20 21:29:11 +02:00
Riccardo Spagni
ec4186a30c
Merge pull request #737
...
1c3ed4c
cryptonote_protocol: clarify height wording (moneromooo-monero)
2016-03-20 21:28:45 +02:00
Riccardo Spagni
9b10e9cc75
Merge pull request #735
...
d2aa427
rpc: fix print_tx in command line mode (moneromooo-monero)
2016-03-20 21:27:28 +02:00
Riccardo Spagni
f63b945d28
Merge pull request #734
...
b525457
simplewallet: make --password-file work in RPC mode (moneromooo-monero)
2016-03-20 21:27:06 +02:00
moneromooo-monero
79117d4275
db_lmdb: include the error codes from lmdb api in error logs
2016-03-20 18:06:04 +00:00
moneromooo-monero
1c3ed4c9da
cryptonote_protocol: clarify height wording
...
It's logging the blockchain height, not the top block height
2016-03-20 12:35:53 +00:00
moneromooo-monero
d2aa427c78
rpc: fix print_tx in command line mode
...
It was only filling the input in non rpc mode
2016-03-19 23:58:30 +00:00
moneromooo-monero
b525457061
simplewallet: make --password-file work in RPC mode
2016-03-19 22:18:47 +00:00
moneromooo-monero
fff238ec94
Print stack trace upon exceptions
...
Useful for debugging users' logs
2016-03-19 21:48:36 +00:00
Howard Chu
db1b2db4d5
Reduce log noise
2016-03-19 12:59:05 +00:00
Howard Chu
9b3e43c327
Fix issue #706
2016-03-19 12:57:47 +00:00
Riccardo Spagni
435b6e4e32
bump the version
2016-03-16 22:00:50 +02:00
Riccardo Spagni
e4c2e9e5e0
baked-in block headers now go all the way up to 1 million. 1 MILLION
2016-03-16 21:59:21 +02:00
Riccardo Spagni
4d34682883
Merge pull request #728
...
7df2baf
fixed "undefined reference" for boost::system library (Ilya Kitaev)
62606f1
Wallet::store_to(path, password) implemented; (Ilya Kitaev)
19fcc74
Wallet::address implemented (Ilya Kitaev)
180ac6e
WalletManager::recoveryWallet implemented (Ilya Kitaev)
5a4f099
Wallet::setPassword() method for wallet2_api (Ilya Kitaev)
57d7ffc
changes in wallet2_api + implemented WalletManager::openWallet (Ilya Kitaev)
f1f9279
get_seed() included to interface (Ilya Kitaev)
930bed7
tests for wallet2_api (Ilya Kitaev)
318660d
wallet2 public api. initial commit (Ilya Kitaev)
2016-03-16 19:49:48 +02:00
Howard Chu
a74348e115
Add destructor for readtxns
...
Only if we created the readtxn. Was missing cleanups from exceptions before.
2016-03-16 11:34:13 +00:00
Ilya Kitaev
62606f11f5
Wallet::store_to(path, password) implemented;
2016-03-16 14:29:06 +03:00
Ilya Kitaev
19fcc74912
Wallet::address implemented
2016-03-16 14:29:06 +03:00
Ilya Kitaev
180ac6e438
WalletManager::recoveryWallet implemented
2016-03-16 14:29:06 +03:00
Ilya Kitaev
5a4f099540
Wallet::setPassword() method for wallet2_api
2016-03-16 14:29:06 +03:00
Ilya Kitaev
57d7ffc4d6
changes in wallet2_api + implemented WalletManager::openWallet
2016-03-16 14:27:57 +03:00
Ilya Kitaev
f1f9279d90
get_seed() included to interface
2016-03-16 14:27:57 +03:00
Ilya Kitaev
930bed7074
tests for wallet2_api
2016-03-16 14:27:57 +03:00
Ilya Kitaev
318660dd89
wallet2 public api. initial commit
2016-03-16 14:27:57 +03:00
Riccardo Spagni
057a019e41
Merge pull request #727
...
6b0a903
Small cleanups (Howard Chu)
01c1512
More for 92dd4ec6d6
(Howard Chu)
2016-03-15 23:50:58 +02:00
Howard Chu
6b0a903177
Small cleanups
...
Only one return and TXN_POSTFIX_RDONLY() per function
Only log rtxn_start if the rtxn wasn't already active
2016-03-15 13:35:31 +00:00
Howard Chu
01c1512f22
More for 92dd4ec6d6
...
Make sure we stop the right txn too
2016-03-15 13:35:23 +00:00
Mike C
5dd91f6332
fix formatting error on bitmonero print_block return
...
Example of current return for `print_block 912345`:
timestamp: 1452793716
previous hash:
b61c58b2e0be53fad5ef9d9731a55e8a81d972b8d90ed07c04fd37ca6403ff78
nonce: 1646
is orphan: 0
height: 912345
depth: 85434
hash:
e22cf75f39ae720e8b71b3d120a5ac03f0db50bba6379e2850975b4859190bc6difficul
ty: 815625611
reward: 7388968946286
{
"major_version": 1,
"minor_version": 2,
…
Without `std::endl`, the difficulty gets smashed on the end of the hash.
2016-03-14 23:31:09 -06:00
Mike C
ee71946cdc
Fix typo on bitmonerod rpc method error.
2016-03-14 23:09:21 -06:00
Riccardo Spagni
240a50f3fb
Merge pull request #723
...
2abdb2c
avoid some val copies (Howard Chu)
2016-03-14 22:20:42 +02:00
Howard Chu
92dd4ec6d6
Hack for read/write txn mixup
...
save the thread ID of the writer thread so we don't try to use
the writetxn from reader threads
2016-03-14 20:19:46 +00:00
Howard Chu
2abdb2c9fd
avoid some val copies
2016-03-14 09:40:49 +00:00
Riccardo Spagni
8689014eda
switch default utilities DB to lmdb, update checkpoints.dat
2016-03-12 21:09:44 +02:00
Riccardo Spagni
dd3cd9e7b8
Merge pull request #718
...
41ea91a
simplewallet: fix hang when setting auto-refresh to 0 (moneromooo-monero)
2016-03-12 16:25:35 +02:00
Riccardo Spagni
853f80e23a
Merge pull request #717
...
28bfc90
simplewallet: special ^C handling for windows (moneromooo-monero)
2016-03-12 16:21:53 +02:00
moneromooo-monero
41ea91a97a
simplewallet: fix hang when setting auto-refresh to 0
...
It would try to join the auto refresh thread, which would
only happen after it was done, which would take a long time
when doing so on a newly created wallet.
2016-03-12 14:21:34 +00:00
Riccardo Spagni
b66d455536
Merge pull request #716
...
789e275
rpc: do not return bans if they're effectively spent (moneromooo-monero)
474e4c0
p2p: lock access to the blocked ips map (moneromooo-monero)
2016-03-12 16:21:20 +02:00
Riccardo Spagni
bb7b31d5ed
Merge pull request #715
...
8bc1bd6
wallet: use minimum mixin when RPC asks for too low mixin (moneromooo-monero)
31d2e0f
wallet_rpc_server: make use_fork_rules public (moneromooo-monero)
2016-03-12 16:14:07 +02:00
moneromooo-monero
28bfc903b9
simplewallet: special ^C handling for windows
...
Because obviously it doesn't work as other POSIX platforms.
Reported and tested by luigi1111.
2016-03-12 14:05:25 +00:00
moneromooo-monero
789e2755f7
rpc: do not return bans if they're effectively spent
...
The blocked ip list will still hold them till next time
a connection attempt is made with that IP, so the effective
length of the ban may be negative.
2016-03-12 13:49:08 +00:00
moneromooo-monero
474e4c00f0
p2p: lock access to the blocked ips map
2016-03-12 13:48:58 +00:00
moneromooo-monero
8bc1bd6b65
wallet: use minimum mixin when RPC asks for too low mixin
...
After the fork, normal transfer functions called via RPC
use the minimum mixin 2 if 0 or 1 is requested. While the
incoming transaction may be valid (eg, it has an unmixable
and at most a mixable input), it is a simple way to make
sure RPC users can't get a seemingly random accept/reject
behavior if they don't update their requested mixin.
2016-03-11 21:32:16 +00:00
moneromooo-monero
31d2e0f84d
wallet_rpc_server: make use_fork_rules public
...
We will need it in the wallet RPC server
2016-03-11 21:31:50 +00:00
Riccardo Spagni
0a4dd68c17
minor tweaks, add readme for crypto_ops_builder
2016-03-11 22:48:46 +02:00
Riccardo Spagni
dfd0e9c97d
Merge pull request #712
...
66c2fc7
Need to link boost::chrono in more places now (Howard Chu)
b937a2c
Use boost::thread instead of std::thread (Howard Chu)
2016-03-11 20:15:10 +02:00
Howard Chu
66c2fc7b70
Need to link boost::chrono in more places now
2016-03-11 16:17:08 +00:00
Howard Chu
b937a2c915
Use boost::thread instead of std::thread
...
and all other associated IPC
2016-03-11 15:09:50 +00:00
Howard Chu
8941ce0398
More for bdec7cb
...
More uses of db error helper
2016-03-09 18:24:16 +00:00
Riccardo Spagni
b96147030c
Merge pull request #705
...
f7ed167
blockchain_utilities: Update documentation (warptangent)
2016-03-05 23:14:06 +02:00
Riccardo Spagni
d0f011d873
Merge pull request #704
...
e2b7e55
get_payments short ID (luigi1111)
2016-03-05 23:13:23 +02:00
Riccardo Spagni
93605eb05f
Merge pull request #702
...
0485d17
blockchain_export: Support BerkeleyDB (warptangent)
41487e3
blockchain_export: Move DB implementation includes (warptangent)
2016-03-05 23:12:05 +02:00
warptangent
f7ed167fc0
blockchain_utilities: Update documentation
2016-03-05 13:11:44 -08:00
Riccardo Spagni
32dc08d19a
Merge pull request #700
...
bdec7cb
BlockchainLMDB: Use DB error helper consistently (warptangent)
c5932eb
BlockchainLMDB: Add DB error to exception (warptangent)
a49c355
Blockchain: Omit verbose time stats messages by default (warptangent)
2016-03-05 23:10:38 +02:00
Riccardo Spagni
c3af15702f
Merge pull request #698
...
ee7a8b8
Get rid of lmdb_cur (Howard Chu)
2016-03-05 23:06:26 +02:00
Riccardo Spagni
14c1e214ad
Merge pull request #696
...
d57ec75
Fix language (Howard Chu)
2016-03-05 23:06:04 +02:00
luigi1111
e2b7e55be6
get_payments short ID
...
Add support for short/integrated/encrypted IDs to get_payments RPC
2016-03-05 13:30:48 -06:00
warptangent
0485d17274
blockchain_export: Support BerkeleyDB
...
TEST:
blockchain_export -h
This should show "berkeley" as an available option to --database.
With an existing BerkeleyDB database, run:
blockchain_export --database berkeley
2016-03-05 06:46:11 -08:00
warptangent
41487e32be
blockchain_export: Move DB implementation includes
2016-03-05 06:46:09 -08:00
warptangent
bdec7cbfb3
BlockchainLMDB: Use DB error helper consistently
2016-03-03 21:27:13 -08:00
warptangent
c5932eb5ea
BlockchainLMDB: Add DB error to exception
2016-03-03 20:15:37 -08:00
warptangent
a49c355cae
Blockchain: Omit verbose time stats messages by default
...
This is already the default for the daemon, but by checking a command
line argument and calling a Blockchain member function setter.
Initialize the variable to false so it's not dependent on an external
command-line argument check. This allows utilities like
blockchain_import to have a reasonable default without code changes.
2016-03-03 20:14:48 -08:00
Howard Chu
ee7a8b87f9
Get rid of lmdb_cur
...
We don't need it now with per-txn cursors.
2016-03-03 19:06:27 +00:00
Howard Chu
d57ec7595c
Fix language
2016-03-03 00:34:19 +00:00
Howard Chu
f5affbef26
More for df239428c0
...
Let ARMv7 work again
2016-03-03 00:13:13 +00:00
warptangent
2c823c1589
Make partial revert consistent
...
If user-defined comparator is used, subdb shouldn't be opened with
MDB_INTEGERKEY.
TODO: Again, this will be added back with future schema updates.
2016-03-01 02:47:16 -08:00
warptangent
df239428c0
Revert part of 7db89ed2ee
...
For now, so existing databases work.
TODO: add these back with future schema updates.
2016-02-29 18:03:41 -08:00
warptangent
c9c4060dc6
BlockchainLMDB: Add height and db error to exception
2016-02-29 17:52:54 -08:00
Riccardo Spagni
bf09285443
Merge pull request #688
...
c2a1fee
simplewallet: prompt for private keys when generating wallets (moneromooo-monero)
4513b4c
simplewallet: add a new --restore-from-keys option (moneromooo-monero)
2016-02-29 17:30:29 -05:00
Riccardo Spagni
c3c4e28061
Merge pull request #687
...
5e3557d
move g_test_dbg_lock_sleep from a global to a function level static (moneromooo-monero)
2016-02-29 17:30:10 -05:00
Riccardo Spagni
d60bf4ee36
Merge pull request #686
...
7db89ed
ARMv7: fix unaligned accesses (Howard Chu)
5a07cef
Wrap some more actions in a larger read txn (Howard Chu)
8cc7a36
read txn/cursor stuff (Howard Chu)
86a7f2b
core: check whether an update is needed straight away (moneromooo-monero)
ea5fa5e
core: print "update needed" hard fork notifications in red (moneromooo-monero)
2016-02-29 17:29:26 -05:00
moneromooo-monero
c2a1fee428
simplewallet: prompt for private keys when generating wallets
...
instead of supplying them on the command line. It's more
unwieldy, but better protects against information leaks.
2016-02-27 11:53:11 +00:00
Howard Chu
7db89ed2ee
ARMv7: fix unaligned accesses
...
And cleanup some key comparators
2016-02-25 13:57:00 +00:00
Howard Chu
5a07cefe7b
Wrap some more actions in a larger read txn
2016-02-23 20:47:15 +00:00
Howard Chu
8cc7a36f0b
read txn/cursor stuff
...
Could wrap more later.
2016-02-23 20:47:15 +00:00
moneromooo-monero
86a7f2b1e7
core: check whether an update is needed straight away
2016-02-23 20:29:17 +00:00
moneromooo-monero
ea5fa5e9b6
core: print "update needed" hard fork notifications in red
2016-02-23 20:29:17 +00:00
moneromooo-monero
283894d8ff
dns_utils: const compatibility with older libunbound
...
https://www.nlnetlabs.nl/bugs-script/show_bug.cgi?id=515
2016-02-23 19:02:05 +00:00
moneromooo-monero
4513b4cd2b
simplewallet: add a new --restore-from-keys option
...
It is similar in use to --restore-from-view-key, but also expects
a spend private key.
Requested by luigi1112, and useful to restore MyMonero wallets.
2016-02-22 22:10:55 +00:00
moneromooo-monero
5e3557d2c3
move g_test_dbg_lock_sleep from a global to a function level static
...
This avoids the need to define that variable in every program
which uses epee.
2016-02-22 19:34:09 +00:00
moneromooo-monero
0eb4d054f6
db_bdb: add missing include for std::condition_variable
2016-02-20 15:38:43 +00:00
Riccardo Spagni
81a93cd171
Merge pull request #680
...
360f72f
simplewallet: wording change for single tx confirmation (moneromooo-monero)
2016-02-20 17:11:31 +02:00
Riccardo Spagni
c3baa82ac8
Merge pull request #678
...
11d555c
Fix crash in std::map for connections_map (Howard Chu)
014f886
std::condvar is broken on Win32 with gcc/g++ 4.8 too (Howard Chu)
7c86c59
Use boost::thread instead of std::thread (Howard Chu)
2016-02-20 17:10:51 +02:00
Riccardo Spagni
a903d9c3f6
Merge pull request #677
...
57e75fa
BlockchainBDB: Check if hard fork subdbs need reset (warptangent)
47f6cf8
BlockchainBDB: Support blockchain_import --drop-hard-fork command (warptangent)
2016-02-20 17:09:49 +02:00
moneromooo-monero
360f72fa90
simplewallet: wording change for single tx confirmation
2016-02-20 11:17:28 +00:00
Howard Chu
014f8868f2
std::condvar is broken on Win32 with gcc/g++ 4.8 too
...
Use boost...
2016-02-18 21:31:21 +00:00
Howard Chu
7c86c5997d
Use boost::thread instead of std::thread
...
std::thread crashes on (at least) ARMv6 g++ 4.8/4.9
2016-02-18 21:30:10 +00:00
warptangent
57e75fa33f
BlockchainBDB: Check if hard fork subdbs need reset
...
See f7e337e625
for LMDB equivalent.
2016-02-18 06:38:56 -08:00
warptangent
47f6cf8bea
BlockchainBDB: Support blockchain_import --drop-hard-fork command
...
See c657e772c4
for LMDB equivalent.
2016-02-18 06:37:45 -08:00
warptangent
d258f6e63a
blockchain_import: Pass ARCH_WIDTH macro if 32-bit or not.
...
This also avoids warnings.
2016-02-18 06:14:35 -08:00
Riccardo Spagni
1889c0e81c
Merge pull request #675
...
27d4e50
core: check whether an update is needed straight away (moneromooo-monero)
8892173
core: print "update needed" hard fork notifications in red (moneromooo-monero)
2016-02-18 10:01:37 +02:00
Riccardo Spagni
43fe8c4933
Merge pull request #674
...
05e7ac0
blockchain_import: Check bit width for more than just WIN32 (warptangent)
2016-02-18 10:01:01 +02:00
moneromooo-monero
27d4e50dfa
core: check whether an update is needed straight away
2016-02-17 22:57:38 +00:00
moneromooo-monero
889217381f
core: print "update needed" hard fork notifications in red
2016-02-17 22:57:14 +00:00
Howard Chu
9218cad640
Fix cffc411c90
...
Don't include bdb header unless defined(BERKELEY_DB)
2016-02-17 20:41:34 +00:00
warptangent
05e7ac0360
blockchain_import: Check bit width for more than just WIN32
...
Pass the CMake bit width setting to compile flags for blockchain_import
and blockchain_converter.
For LMDB on 32-bit, hyc has found that batch size of 100 appears to be a
good default.
2016-02-17 12:37:15 -08:00
Howard Chu
02abe3590d
Use MDB_PREV_MULTIPLE
...
in get_global_output_indices
2016-02-17 16:14:50 +00:00
Howard Chu
7a4755d3a4
Fixup after lmdb master resync
2016-02-17 16:14:38 +00:00
Riccardo Spagni
c069814773
Merge pull request #672
...
3b13a74
Shutup about VERSION 0 (Howard Chu)
1537477
Use cursor in get_output_key (Howard Chu)
f2faf8c
Use MDB_APPEND mode where possible (Howard Chu)
090b548
Use cursors in write txns (Howard Chu)
ed08d21
Keep a running blocksize count (Howard Chu)
0fc9334
Win32 import batchsize tweaks (Howard Chu)
2016-02-17 17:10:07 +02:00
Riccardo Spagni
6636b0a6da
Merge pull request #671
...
8f09b71
wallet: clear missing data on rescan_bc (moneromooo-monero)
2016-02-17 17:09:48 +02:00
Riccardo Spagni
3225a7d28d
Merge pull request #666
...
27f76e2
blockchain_import: Build string for db type list (warptangent)
1aa8a9d
blockchain_import: Add mode argument representing multiple DB flags (warptangent)
cffc411
blockchain_import: Support BerkeleyDB (warptangent)
19c1aaa
blockchain_import: Add database type argument (warptangent)
0fedce0
blockchain_import: Make LMDB-specific names general (warptangent)
2016-02-17 17:09:21 +02:00
Howard Chu
3b13a7473e
Shutup about VERSION 0
2016-02-17 05:06:19 +00:00
Howard Chu
1537477c9f
Use cursor in get_output_key
2016-02-17 04:05:29 +00:00
Howard Chu
f2faf8cdd9
Use MDB_APPEND mode where possible
...
When keys are contiguous and monotonically increasing, this gets
denser page utilization (doesn't leave padding in page splits).
Can't be used for keys that are inserted in random order (e.g. hashes)
In total this only saves around 1.5% of space compared to original
DB code. The previous patch accounted for 0.8% savings on its own;
the blocks tables just aren't that big.
2016-02-17 04:05:29 +00:00
Howard Chu
090b548c3b
Use cursors in write txns
...
Saves a bit of seek overhead. LMDB frees them automatically
in txn_(commit|abort) so they need no cleanup.
2016-02-17 04:05:29 +00:00
Howard Chu
ed08d2152e
Keep a running blocksize count
...
Used in batch size estimation, avoids rereading already processed
blocks during import
2016-02-17 04:05:28 +00:00
Howard Chu
0fc93345ea
Win32 import batchsize tweaks
...
Reduce frequency of resizes: bump minimum increase from 128MB to 512MB
Use a bigger safety margin at small batch sizes
2016-02-17 04:05:28 +00:00
moneromooo-monero
8f09b71b9b
wallet: clear missing data on rescan_bc
2016-02-15 20:51:30 +00:00
warptangent
27f76e2ee4
blockchain_import: Build string for db type list
2016-02-14 16:25:35 -08:00
warptangent
1aa8a9d26f
blockchain_import: Add mode argument representing multiple DB flags
...
These modes match those optionally provided as part of the daemon's
--db-type argument.
Argument after the # is interpreted as a composite mode if there's only
one (no comma separated arguments).
Sample usage:
blockchain_import --database lmdb#fastest
blockchain_import --database berkeley#fastest
Multiple specific DB flags are still supported, e.g.
blockchain_import --database lmdb#nosync,nordahead
blockchain_import --database berkeley#txn_nosync
2016-02-14 16:25:35 -08:00
Howard Chu
d8f9bb380c
Keep a running blocksize count
...
Used in batch size estimation, avoids rereading already processed
blocks during import
2016-02-15 00:22:09 +00:00
warptangent
cffc411c90
blockchain_import: Support BerkeleyDB
2016-02-14 16:02:38 -08:00
warptangent
19c1aaa9f6
blockchain_import: Add database type argument
...
Default to LMDB.
2016-02-14 16:02:37 -08:00
warptangent
0fedce00d5
blockchain_import: Make LMDB-specific names general
...
Also update terms to better distinguish blockchain management/engine
from database type.
2016-02-14 16:02:37 -08:00
Howard Chu
bf22109d16
Win32 import batchsize tweaks
...
Reduce frequency of resizes: bump minimum increase from 128MB to 512MB
Use a bigger safety margin at small batch sizes
2016-02-14 19:31:52 +00:00
Riccardo Spagni
63e2d4195b
Merge pull request #657
...
1995923
BlockchainLMDB: Deal with DB exceptions at block level with particularity (warptangent)
c16cc20
BlockchainLMDB: Add sanity check for inconsistent state (warptangent)
9118d0a
BlockchainLMDB: Call destructor on allocated txn if setup fails (warptangent)
f5581c3
BlockchainLMDB: Replace remaining txn pointer NULLs with nullptr (warptangent)
2016-02-13 19:54:47 +02:00
Riccardo Spagni
354d478286
Merge pull request #656
...
9832d18
cmake: Include OpenSSL libraries in static linking (warptangent)
c2f2437
cmake: Remove unused variable (warptangent)
7205210
cmake: Fix unbound config compile settings (warptangent)
3e72d97
cmake: Fix overly broad use of dynamic link settings (warptangent)
2016-02-13 19:51:56 +02:00
Riccardo Spagni
999992a64b
Merge pull request #652
...
c7e6b77
crypto: only check MONERO_USE_SOFTWARE_AES once (moneromooo-monero)
74aef21
crypto: use software AES based on the MONERO_USE_SOFTWARE_AES env var (moneromooo-monero)
2016-02-13 19:51:30 +02:00
warptangent
1995923559
BlockchainLMDB: Deal with DB exceptions at block level with particularity
...
Add another DB error exception type to distinguish failed txn setup from
general use of txn.
This keeps the error handling flow the same as before the block-level
txn setup changes that moved control up a layer to BlockchainDB.
2016-02-13 05:12:39 -08:00
warptangent
c16cc204d3
BlockchainLMDB: Add sanity check for inconsistent state
...
This hasn't been known to occur in block-level txn abort, but throw
exception if it does.
2016-02-13 04:17:37 -08:00
warptangent
9118d0a44c
BlockchainLMDB: Call destructor on allocated txn if setup fails
2016-02-13 04:17:37 -08:00
warptangent
f5581c3536
BlockchainLMDB: Replace remaining txn pointer NULLs with nullptr
...
For consistency.
2016-02-13 04:17:36 -08:00
warptangent
3e72d97ca7
cmake: Fix overly broad use of dynamic link settings
...
Remove LINK_SEARCH_START_STATIC and LINK_SEARCH_END_STATIC. This is more
appropriate when the compiler flag -static is used.
This had been causing CMake to omit the linker flags necesssary to
distinguish static and dynamic library linking. CMake had assumed static
linking for the target, causing it to omit explicit static link flags.
That is problematic without the -static compile flag being set.
With a library located in system directories, like libboost_date_time,
the full static path (.a), though found correctly by CMake, was treated
by the linker as a dynamic library. This is because
target_link_libraries() transforms the full path to -l<libname> if it's
in a system directory. Without -static or explicit linker flags, the
dynamic library (.so) is linked.
Removing the above two properties removes the assumption of static. So
-Wl;-Bstatic is inserted where needed. This causes -l<libname> to
properly refer to the static library instead of dynamic.
2016-02-12 14:49:43 -08:00
moneromooo-monero
c7e6b77395
crypto: only check MONERO_USE_SOFTWARE_AES once
2016-02-09 09:38:17 +00:00
moneromooo-monero
74aef213fe
crypto: use software AES based on the MONERO_USE_SOFTWARE_AES env var
...
Setting to no or 0 also works. If set, any other value enables it.
Useful for running with valgrind in cases where it fails at
properly implementing AES-NI.
2016-02-09 09:30:34 +00:00
moneromooo-monero
759383c52d
hardfork: add a default fork entry for v1 if none exist
...
To avoid special cases
2016-02-08 20:58:06 +00:00
moneromooo-monero
c7f82ec769
blockchain: initialize m_hardfork to NULL
...
It can now be set by some other code, and is thus tested
2016-02-08 20:57:20 +00:00
moneromooo-monero
8649b9f1ef
blockchain_db: pass hard fork object as a simple pointer
2016-02-08 20:56:31 +00:00
moneromooo-monero
a333c42cde
core_tests: add tests for hard fork behaviors (MRL-0004)
...
We also replace the --fakechain option with an optional structure
containing details about configuration for the core/blockchain,
for test purposes. This seems more future friendly.
2016-02-08 18:52:00 +00:00
moneromooo-monero
9ef57946a0
blockchain_utilities: remove unused num_blocks variable
2016-02-08 18:26:03 +00:00
moneromooo-monero
6c8e5c3459
blockchain: reset hardfork object when resetting blockchain
...
Not doing so will prevent the new genesis block from being
reset if a switch past v1 had occured already.
2016-02-08 18:22:03 +00:00
warptangent
e298b14a55
Blockchain: Update comments on removing block
2016-02-08 09:28:25 -08:00
warptangent
b368e29f67
blockchain_import: Get hard fork version from HardFork
...
Replace temporary assignment that used hardcoded values.
2016-02-08 09:28:21 -08:00
warptangent
e02577f594
Move HardFork DB update to BlockchainDB::add_block()
...
Ensures the database is consistent.
Also simplifes blockchain_import in that verify mode off has less to
work around.
2016-02-08 09:28:19 -08:00
warptangent
3800875406
Make HardFork object available to BlockchainDB and derived DB implementations
...
This will later allow the HardFork object's DB update functions to be
called when the DB transaction that persists across block add/remove is
open.
2016-02-08 09:28:17 -08:00
warptangent
fd46c96dce
BlockchainDB/LMDB: Refactor block-scope DB txn handling for add block
...
Move block-scope txn start and stop from BlockchainLMDB to BlockchainDB.
2016-02-08 09:28:15 -08:00
warptangent
f3a6000094
BlockchainDB/LMDB/BDB: Extract DB txn functions for block add/remove
2016-02-08 09:28:14 -08:00
warptangent
f47d5b0fe3
BlockchainLMDB: Allow two HardFork functions to update DB during block add
...
Note that this doesn't yet cause them to be called during block add.
2016-02-08 09:28:12 -08:00
warptangent
15ee0bef4b
BlockchainLMDB: extract txn macros used during block add/remove
2016-02-08 09:28:10 -08:00
warptangent
9d62c161a3
blockchain_import: Add hard fork data for each block when verify mode is off
2016-02-08 08:50:59 -08:00
warptangent
7006b2ebe1
blockchain_utilities: Have fake_core create HardFork object
...
The HardFork object is needed for the importer to update the hard fork
data when verify mode is off.
2016-02-08 08:50:53 -08:00
warptangent
8f863e742d
Blockchain: Optionally pass in HardFork object
2016-02-08 08:50:51 -08:00
warptangent
f7e337e625
fake_core: Check if hard fork subdbs need reset at start
2016-02-08 08:50:48 -08:00
warptangent
c657e772c4
blockchain_import: Add --drop-hard-fork command
2016-02-08 08:50:47 -08:00
warptangent
412243901d
blockchain_import: Add exception to log output
2016-02-08 08:50:27 -08:00
Riccardo Spagni
1cfe0bdbef
Merge pull request #648
...
f6abc53
simplewallet: check watch-only view key matches standard address (moneromooo-monero)
2016-02-08 18:34:40 +02:00
Riccardo Spagni
0c4222158f
Merge pull request #646
...
c7b96b9
wallet: check a key image isn't already present when adding one (moneromooo-monero)
2016-02-08 18:34:13 +02:00
Riccardo Spagni
a1a5b810bc
Merge pull request #645
...
d9f4b39
daemon: remove leftover debug log (moneromooo-monero)
2016-02-08 18:33:30 +02:00
Riccardo Spagni
de78962e1c
Merge pull request #643
...
05bfb51
core: move the db lock to the data directory (moneromooo-monero)
2016-02-08 18:32:08 +02:00
Riccardo Spagni
cea6f6fb9c
Merge pull request #641
...
7658ac0
blockchain: revert handle_get_objects adding block id on tx not found (moneromooo-monero)
3a0f4d8
berkeleydb: fix delete/free mismatch (moneromooo-monero)
1642be2
minor bugfixes and refactoring (Thomas Winget)
098dcf2
unit_tests: fix mnemonics unit test testing invalid seeds (moneromooo-monero)
2016-02-08 18:31:42 +02:00
moneromooo-monero
f6abc5324f
simplewallet: check watch-only view key matches standard address
2016-02-05 22:41:45 +00:00
moneromooo-monero
d9f4b395e8
daemon: remove leftover debug log
2016-02-05 16:36:28 +00:00
moneromooo-monero
c7b96b91ed
wallet: check a key image isn't already present when adding one
...
If it is, it points to reuse of a tx key, which isn't meant to happen.
If it does, a key image collision means that only one of those
outputs is spendable, so the wallet selects the larger amount,
unless that output was spent already.
This causes a discrepancy betewen reported received inputs and
payment total.
Since tx keys are 256 bits, this should never happen except if
done on purpose, or if a sender uses a bad PRNG.
2016-02-05 16:24:23 +00:00
moneromooo-monero
05bfb51d3e
core: move the db lock to the data directory
...
Locking just one db turns out to not have been a good idea, since
the pool and p2p state fdles have to be used anyway.
Also ensure the directory exists before tring to lock.
2016-02-04 18:09:45 +00:00
moneromooo-monero
7658ac0f45
blockchain: revert handle_get_objects adding block id on tx not found
...
This differs from the original CN code, and there seems to be
no reason to include the block itself, if it was found
2016-02-03 21:08:03 +00:00