Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
Transaction API continued
TODOs for Transaction/Transfer interface
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57dce80 gmtime for Windows (luigi1111)
|
|
03e545d More fixing for Windows (iDunk)
e8baa57 CMakeLists.txt: fix build for mingw (iDunk)
|
|
f0b85c1 simplewallet: add a status command (moneromooo-monero)
|
|
15c2b69 common: fix build without libunwind (moneromooo-monero)
f72388c CMakeLists: fix build without libunwind (moneromooo-monero)
|
|
gmtime_r is not available in Windows, use gmtime_s instead. Also change shorthand codes (also not working in Windows).
|
|
|
|
Fix from iDunk from IRC.
|
|
|
|
|
|
It matches the daemon, and should allow people who're suspicious
of the background refresh to know they're synced.
|
|
3c3537e cmake: add missing FindLibunwind.cmake (moneromooo-monero)
|
|
|
|
0c6e9e4 rpc: fix getblock RPC sending blob as binary, not hex dump (moneromooo-monero)
|
|
5dc09f2 wallet_rpc_server: fix some string values being returned between <> (moneromooo-monero)
f8213c0 Require 64/16 characters for payment ids (moneromooo-monero)
|
|
d6f5d54 Fix Issue #855 (Howard Chu)
|
|
c5f00bc cn_deserialize: add minergate data (moneromooo-monero)
2470b20 cn_deserialize: print extra nonce as hex data (moneromooo-monero)
77d8fc3 tx_extra: parse new chunk added by minergate (blashyrkh)
|
|
de030d9 fix: error: -Werror=misleading-indentation (moneroexample)
c2d7300 contrib: epee: add exception spec to throwing destructors (redfish)
6898741 src: p2p: add exception spec to throwing destructors (redfish)
21dbc95 crypto: slow-hash: fix misleading indent (redfish)
70f3634 crypto: slow-hash: remove unused hash list for ARM (redfish)
1a7772f crypto: oaes_lib: remove unused _NR array (redfish)
6462a3a crypto: fix compile error: use named type in sizeof (redfish)
|
|
e409e59 Print stack trace on exceptions (moneromooo-monero)
ef4ff42 connection_basic: avoid gratuitous exception (moneromooo-monero)
|
|
|
|
The default behavior for hex string parsing would allow the
last digit to be made from a single hexadecimal character,
which is correct, but we typically do not want that as it
gets confusing and easy to not spot wrong input size.
|
|
|
|
Use the same size dirty list for both 64 and 32 bit.
|
|
|
|
|
|
Patch from blashyrkh on forum.getmonero.org:
https://forum.getmonero.org/5/support/2530/simplewallet-returns-invalid-paymentid
|
|
14d10e7 readme: notes on config file and fg/bg run mode (redfish)
|
|
95be58e crypto: slow-hash: disable mul implemented in asm for ARM (redfish)
|
|
|
|
The implementation of mul in asm breaks 'slow-hash' test when built with
GCC 6.1.1. Disable this implementation in favor of plain C until it is
fixed.
|
|
Compilation of bitmonero on Arch with gcc 6.1 results in the following
error:
/home/mwo/bitmonero/tests/unit_tests/hardfork.cpp: In member function ‘virtual void TestDB::set_hard_fork_version(uint64_t, uint8_t)’:
/home/mwo/bitmonero/tests/unit_tests/hardfork.cpp:132:5: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
if (versions.size() <= height) versions.resize(height+1); versions[height] = version;
This can be fixed by simply unfolding this line into three lines.
|
|
The destructors get a noexcept(true) spec by default, but these
destructors in fact throw exceptions. An alternative fix might be to not
throw (most if not all of these throws are non-essential
error-reporting/logging).
|
|
The destructors get a noexcept(true) spec by default, but these
destructors in fact throw exceptions. An alternative fix might be to not
throw (most if not all of these throws are non-essential
error-reporting/logging).
|
|
GCC warned about this one.
|
|
This list is already defined within the function. The
removed definition was shadowed.
|
|
|
|
Btw, the warning 4200 remains disabled, but it did not get triggered
(GCC 6.1.1, ARM). But, perhaps a better way than disabling
the warning would be to do what is suggested here:
http://stackoverflow.com/questions/3350852/how-to-correctly-fix-zero-sized-array-in-struct-union-warning-c4200-without%3E
|
|
d539be3 crypto: make clear generate_random_bytes is not thread safe (moneromooo-monero)
|
|
1c0bffb Restrict also 'get_connections' and 'getbans' APIs. (osensei)
9f8bc49 Don't allow 'flush_txpool' and 'setbans' JSON_RPC methods when running in restricted mode. (osensei)
|
|
bc99b5d Update README with TAILS instructions (dEBRUYNE-1)
|
|
9ef8c7b tests: fix tests broken by the removal of the block reward accumulation loop (moneromooo-monero)
a6e717e cn_deserialize: deserialize tx_extra too (moneromooo-monero)
3eff37f unit_tests: add a write_varint/read_varint test (moneromooo-monero)
7a66387 unit_tests: fix UNBOUND_LIBRARIES/UNBOUND_LIBRARY typo (moneromooo-monero)
d6bce4b core: move tx_extra parsing errors to log level 1 (moneromooo-monero)
|
|
f1e70d1 Only log 1/N skipped blocks (Howard Chu)
cebb97c Move refresh height to keys file from cache file (Howard Chu)
590c439 Make fast_refresh interruptible (Howard Chu)
687855d Set refresh height earlier (Howard Chu)
2fb00c0 Fix 19fe8ae3ef1aa46ae8fdd4e4d6862510390ddab7 (Howard Chu)
|
|
|
|
And add a thread safe version to encourage proper use
|
|
restricted mode.
|
|
|
|
The tests for rejection of unmixable outputs in v2 are commented out,
as there are no unmixable outputs created anymore. This should be
restored at some point.
|
|
|
|
|
|
|
|
They're not fatal, though indicate something wrong
|
|
|
|
|
|
|
|
|
|
Do it before the generate() call so the value actually gets stored.
|
|
76c6bf1 simplewallet: display all settings on set with no arguments (moneromooo-monero)
|
|
513a658 add a --max-concurrency flag (moneromooo-monero)
|
|
09dddf2 wallet: add a filter_by_height field to get_transfers (moneromooo-monero)
|
|
Don't prompt for restore-height on generate-new-wallet
|
|
if libunwind is found.
Useful for debugging logs.
|
|
|
|
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.
|
|
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.
|
|
a687e6e simplewallet: fix pending transfers fee display in show_transfers (moneromooo-monero)
|
|
48ab3f9 wallet: add get_transfers rpc call (moneromooo-monero)
|
|
d7bb175 simplewallet: more threading fixes (moneromooo-monero)
|
|
|
|
|
|
Allows getting in, out, pending, and failed transfers, similarly
to the show_transfers command.
|
|
7baed9b wallet: allow attaching notes to txids (moneromooo-monero)
ce6f8a6 wallet: add GMT timestamps to transfers/payments (moneromooo-monero)
|
|
|
|
|
|
31587bd random: call abort(3) instead of assert in must_succeed macro (moneromooo-monero)
|
|
4b1c0d6 simplewallet: some background refresh threading fixes (moneromooo-monero)
|
|
b0850a9 wallet: add a new sweep_all command and RPC command (moneromooo-monero)
|
|
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)
|
|
70c8656 blockchain: add missing overflow check for already generated coins (moneromooo-monero)
d6fd6be blockchain: update cumulative block limit when popping a block (moneromooo-monero)
|
|
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)
|
|
672162d tests: fix compile failure on wallet2::transfer (moneromooo-monero)
b0c18ef wallet2: move output selection api public (moneromooo-monero)
|
|
19fe8ae Add --restore-height option (Howard Chu)
b6e42c3 Speed up new wallet refresh (Howard Chu)
b7140da Add GET_HASHES_FAST rpc, use it in wallet (Howard Chu)
|
|
Delete old indices and recreate them, rather than updating them
Maybe not quite as slow as before.
|
|
Avoids silent use of bad RNG in release builds, in case those
calls might actually fail.
Reported by smooth.
|
|
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.
|
|
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.
|
|
modified: src/wallet/wallet2.h
Removed working comments
|
|
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
|
|
Catch up with Monero master
|
|
For specifying the block height from which to start a restore
|
|
Use the current blockchain height as the refresh_from_block_height.
|
|
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.
|
|
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.
|
|
Avoids possible issues with accepting a tx too large to fit
in an actual block.
Reported by smooth.
|
|
When the send queue limit is reached, it is likely to not drain
any time soon. If we call close on the connection, it will stay
alive, waiting for the queue to drain before actually closing,
and will hit that check again and again. Since the queue size
limit is the reason we're closing in the first place, we call
shutdown directly.
|
|
If we reach the send queue size limit, we need to release the lock,
or we will deadlock and it will never drain.
If we reach that limit, it's likely there's another problem in the
first place though, so it will probably not drain in practice either,
unless some kind of transient network timeout.
|
|
If there is no comms error, but the response is not as expected,
close would not be called.
|
|
|
|
|
|
c33ffc8 simplewallet: save fixes in RPC mode (moneromooo-monero)
|
|
5092e45 tests: unbound API is only accessible in static builds (moneromooo-monero)
|
|
1a58d20 simplewallet: optional address in --generate-from-json (moneromooo-monero)
|
|
087373e Fix potential race with parallel processing of txes/signatures/blocks (moneromooo-monero)
|
|
48d0747 wallet: better output selection for transfer/transfer_new (moneromooo-monero)
|
|
113cdc1 core: keep the acc loop for the genesis block (moneromooo-monero)
|
|
ed61a2c simplewallet: set strict umask at start (moneromooo-monero)
7385c03 util: add a function to set umask to 077 (moneromooo-monero)
|
|
4cfb4df blockchain: remove the tx validation result cache (moneromooo-monero)
|
|
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)
|
|
d817aec tx_pool: ensure no txes that fail check_inputs get in the block template (moneromooo-monero)
|
|
f17b2f4 rpc: add pool/blockchain and block height results to gettransactions (moneromooo-monero)
|
|
17cac41 tests: fix build with older GCC (Javier Smooth)
|
|
^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.
|
|
If we know there are no sub-DBs and no overflow pages, skip leaf scan.
|
|
|
|
Migrate from DB version 0 to version 1 on startup
|
|
|
|
Useful to ensure files are written without group/other read rights.
|
|
As pointed out by smooth, a transaction's validity may change
over time as the blockchain changes.
|
|
aaaf9e2 Fix get_tick_count() on Windows (Howard Chu)
|
|
GetTickCount used in 52056dcfc480a126e06afaf209b1772b6aa77fb3
only has ~10-16ms resolution. Use higher rez timer to get 1ms rez.
|
|
b1aaf20 epee: flush output after a message (moneromooo-monero)
|
|
1aad759 tx_pool: fix (hopefully) save/load of kept_by_block (moneromooo-monero)
|
|
|
|
|
|
drop obsolete remove_output()
fix get_output_key(global), fix crash in blockchain_dump
|
|
Try to rationalize the variable names, document usage.
|
|
Helps when they're called repeatedly in one txn
|
|
Saves another ~150MB or so on the full blockchain
|
|
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.
|
|
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.
|
|
Small space savings, no measurable speedup
|
|
Only a small savings...
|
|
|
|
m_tx_outputs doesn't need to be changed, as it's no longer dup list.
|
|
This is possible on those using a tx index as a key.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 d045dfa7ce0bf131681193c97560da26f9f37900
|
|
|
|
Add support for short/integrated/encrypted IDs to get_payments RPC
|
|
|
|
Just to make it easier
|
|
|
|
|
|
This is equivalent to line buffering, as C++ seems to lack
a setvbuf equivalent which alows line buffering.
|
|
|
|
When present, it can be used to validate the keys, as well
as deduce the spend key, if it is absent (watch wallet).
|
|
|
|
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.
|
|
For unknown reasons, it was generated with a block reward
consisting of a single large dusty output.
|
|
a42e19e bumped version number (Riccardo Spagni)
|
|
|
|
daac1cc core: remove the block reward accumulation loop (moneromooo-monero)
|
|
efbdde2 Detect map resize failures (Howard Chu)
|
|
8757e46 add blockhashing blob to getblocktemplate (Howard Chu)
|
|
34957fc tests: add test for needed OpenSSL algorithms in unbound (moneromooo-monero)
|
|
587e2e9 README: mention TORSOCKS_ALLOW_INBOUND for wallet connections (moneromooo-monero)
|
|
ead6956 simplewallet: always gracefully exit on EOF (moneromooo-monero)
|
|
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)
|
|
43962f4 abstract_tcp_server2: possible fix for exception in handle_accept (moneromooo-monero)
|
|
24b3e90 Convey tx verification failure reasons to the RPC client (moneromooo-monero)
|
|
77d1c6b simplewallet: default to trusted daemon for loopback address (moneromooo-monero)
|
|
f746c9d minor corrections/clarifications (Thomas Winget)
c6bb201 Transaction pool documentation (and some cleanup) (Thomas Winget)
|
|
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.
|
|
|
|
|
|
|
|
These can be compiled out of libunbound, leading to failure
to check DNSSEC validity.
|
|
|
|
|
|
878ab5d wallet: fix --generate-from-keys saving as watch only (moneromooo-monero)
|
|
The remote endpoint is usually invalid, so use a version of the
call that returns an error code instead.
|
|
|
|
|
|
|
|
With code to help factor out reading typed fields from JSON
|
|
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)
|
|
|
|
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.
|
|
|
|
|
|
Because we can.
|
|
This will be slower, though more private.
New trusted_daemon parameter to the matching RPC call, false by default.
|
|
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.
|
|
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.
|