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
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
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
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
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
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
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
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
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
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
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