Age | Commit message (Collapse) | Author | Files | Lines |
|
Mostly getinfo and get_hard_fork_info, which are called
pretty often. This speeds up transfers as a bonus.
|
|
This avoids indirectly leaking the real output to the daemon,
and is faster.
This will still happen for more complex cases, especially
when cancelling a tx and "re-rolling" it.
|
|
16b8b66a specify restore height by YYYY-MM-DD format (kenshi84)
|
|
|
|
This replaces the epee and data_loggers logging systems with
a single one, and also adds filename:line and explicit severity
levels. Categories may be defined, and logging severity set
by category (or set of categories). epee style 0-4 log level
maps to a sensible severity configuration. Log files now also
rotate when reaching 100 MB.
To select which logs to output, use the MONERO_LOGS environment
variable, with a comma separated list of categories (globs are
supported), with their requested severity level after a colon.
If a log matches more than one such setting, the last one in
the configuration string applies. A few examples:
This one is (mostly) silent, only outputting fatal errors:
MONERO_LOGS=*:FATAL
This one is very verbose:
MONERO_LOGS=*:TRACE
This one is totally silent (logwise):
MONERO_LOGS=""
This one outputs all errors and warnings, except for the
"verify" category, which prints just fatal errors (the verify
category is used for logs about incoming transactions and
blocks, and it is expected that some/many will fail to verify,
hence we don't want the spam):
MONERO_LOGS=*:WARNING,verify:FATAL
Log levels are, in decreasing order of priority:
FATAL, ERROR, WARNING, INFO, DEBUG, TRACE
Subcategories may be added using prefixes and globs. This
example will output net.p2p logs at the TRACE level, but all
other net* logs only at INFO:
MONERO_LOGS=*:ERROR,net*:INFO,net.p2p:TRACE
Logs which are intended for the user (which Monero was using
a lot through epee, but really isn't a nice way to go things)
should use the "global" category. There are a few helper macros
for using this category, eg: MGINFO("this shows up by default")
or MGINFO_RED("this is red"), to try to keep a similar look
and feel for now.
Existing epee log macros still exist, and map to the new log
levels, but since they're used as a "user facing" UI element
as much as a logging system, they often don't map well to log
severities (ie, a log level 0 log may be an error, or may be
something we want the user to see, such as an important info).
In those cases, I tried to use the new macros. In other cases,
I left the existing macros in. When modifying logs, it is
probably best to switch to the new macros with explicit levels.
The --log-level options and set_log commands now also accept
category settings, in addition to the epee style log levels.
|
|
d561f4ad enable clang checks that were disabled (Chris Vickio)
0aefb2f6 remove std::move from return statements (pessimizing-move warning) (Chris Vickio)
629d5b76 change counter from bool to int (deprecated-increment-bool warning) (Chris Vickio)
fb76d439 add extra braces around subobjects (missing-braces warning) (Chris Vickio)
3b6d5f25 make struct/class declarations consistent (mismatched-tags warning) (Chris Vickio)
fcf66925 remove unused fields from network_throttle (unused-private-field warning) (Chris Vickio)
296f8c16 inline unused function (for unused-function warning) (Chris Vickio)
|
|
d276a165 wallet2: use at least two rct inputs if possible (moneromooo-monero)
|
|
dea53962 fix timeout in check_connection (Jaquee)
|
|
c9f13c5e wallet2: fix tx reroll not updating fee is going up a kB step (moneromooo-monero)
|
|
1d317981 Wallet API: add key image import/export functions (Jaquee)
|
|
46550c0b Wallet API: add rescanSpent() (Jaquee)
|
|
|
|
|
|
If we'd make a rct tx with just one input, we try to add
a second one to match the 2/2 ideal. This means more txes
use that template (and are thus using a larger anonymity
set), and it coalesces outputs "for free". We use the
smallest amount outputs in priority for this, so we can
"clean" the wallet at the same time.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a081b39c Move key image export/import functions to wallet2 (Jaquee)
|
|
db56a03f Wallet2 + API: Callbacks for unconfirmed transfers (Jaquee)
|
|
0d3918e1 Wallet api: Update trustedDaemon when daemon is changed (Jaquee)
dbb838f4 GUI cold signing (Jaquee)
afb85a02 Wallet API: functions for supporting/creating view only wallets (Jaquee)
|
|
79b4e1f9 Cold signing: make sure short payment id isnt encrypted twice (Jaquee)
|
|
5eed5b05 Wallet API: functions for supporting/creating view only wallets (Jaquee)
|
|
d81cb087 Added (not yet enabled) HTTP client authentication (Lee Clagett)
|
|
a813ab50 wallet2_api: add solo mining API (moneromooo-monero)
|
|
|
|
|
|
|
|
|
|
fix conflict
|
|
|
|
|
|
|
|
|
|
60fe1b61 Add parse_uri to wallet2_api (MoroccanMalinois)
|
|
c2135082 simplewallet: add a show_transfer <txid> command (moneromooo-monero)
19c4041d wallet_rpc_server: new RPC call to get a transfer by txid (moneromooo-monero)
|
|
21c5af5a wallet2_api: add an address book payment id lookup API (moneromooo-monero)
|
|
ada7c7da portable serializer: tests added (kenshi84)
f390a0e2 portable serializer: make signerd/unsigned tx portable, ignore archive version checking (kenshi84)
|
|
29333c41 wallet api: prevent setting refresh height too high (Jaquee)
|
|
4585ada4 Wallet2: faster exit while refreshing (Jaquee)
|
|
5f4ac6b9 wallet2 bugfix: store watch_only flag properly with rewrite() (kenshi84)
|
|
cebae0c5 wallet2: check the node returned the real output when requested (moneromooo-monero)
|
|
c0a0fcaf wallet2_api: some new APIs to access daemon state (moneromooo-monero)
|
|
50511677 wallet2: fix large reorgs failing (moneromooo-monero)
|
|
|
|
|
|
|
|
|
|
version checking
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If a reorg was large enough that a full 1000 block chunk
from the daemon was all known blocks, refresh would stop,
and no reorg would happen.
|
|
tools::dns_utils; support integrated address with dns lookup
|
|
fc40b3e7 Lower connection timeout in check_connection() (Jaquee)
|
|
e3639f5c Removed unused functions (Lee Clagett)
|
|
2bddb8eb Refactored password prompting for wallets (Lee Clagett)
|
|
9a2cd722 wallet2_api: add an API to the OpenAlias resolver (moneromooo-monero)
|
|
07b9138c support importing unportable outputs (kenshi84)
2ac80075 also use portable serializer for boost_serialization_helper.h and net_node.inl, completely adandon boost/archive/binary_oarchive.hpp (kenshi84)
d1d6e27a moved boost cpp into hpp since they're supposed to be header only (kenshi84)
66e6af89 added experimental boost::archive::portable_binary_{i|o}archive (kenshi84)
|
|
net_node.inl, completely adandon boost/archive/binary_oarchive.hpp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4bb0bff2 AddressBook: use unsigned type for row ID's (anonimal)
|
|
944b6079 Wallet API: Do not refresh while daemon is syncing + fixed fast refresh when creating wallet offline + improved close wallet logic (make sure refresh thread is stopped) (Jaquee)
|
|
bdc3d749 Adding HTTP Digest Auth (but not yet enabled) (Lee Clagett)
|
|
+ fixed fast refresh when creating wallet offline
+ improved close wallet logic (make sure refresh thread is stopped)
|
|
Fixes build warnings and may also prevent future headaches.
|
|
b2adfa8c Bitmonero namespace renamed Monero. Bitmonero namespace alias added so that third party uses of the wallet api can transition. (Randi Joseph)
|
|
third party uses of the wallet api can transition.
|
|
|
|
Possibly other pedantry. Pedants are people too.
|
|
|
|
5df92877 GUI address book (Jaquee)
|
|
|
|
It was 14 days after v4, it is now one day after it.
luigi1111's suggestion
|
|
9b00d80f wallet2: pass by const ref where possible (moneromooo-monero)
|
|
f4a3ce15 Fix sending outputs from a tx with more than one pubkey (moneromooo-monero)
|
|
Reported by kenshi84
|
|
A bug in cold signing caused a spurious pubkey to be included
in transactions, so we need to ensure we use the correct one
when sending outputs from one of those.
|
|
6c44f5c6 wallet: send 0 change to a random address where necessary with rct (moneromooo-monero)
|
|
d1a75754 Remove infinite loop in refresh code (Jaquee)
|
|
If a rct transaction would cause no change to be generated, a zero
change output is added, and sent to a randomly generated address.
This ensures that no transaction will be sent with just one output,
which could cause the receiver to be able to determine which of the
inputs in the sent rings is the real one.
This is very rare, since it requires the sum of outputs to be equal
to the sum of outputs plus the fee, which is now a function of the
last few blocks.
|
|
|
|
This reverts commit fd181b03bb58a8b0628d2af8637cf6bb968fc437.
|
|
73ac3b8e wallet2: avoid possible undefined behavior on empty string (moneromooo-monero)
|
|
f4772bae Fix a few minor typos (Pierre Boyer)
|
|
5783dd8c tests: add unit tests for uri parsing (moneromooo-monero)
82ba2108 wallet: add API and RPC to create/parse monero: URIs (moneromooo-monero)
d9001b43 epee: add functions to convert from URL format (ie, %XX values) (moneromooo-monero)
|
|
fcd178ef wallet_api: add a few daemon related getters (moneromooo-monero)
|
|
657a70e0 wallet: add a getter for the filename path (moneromooo-monero)
|
|
|
|
|
|
Blockchain height, version, Mining hash rate...
|
|
|
|
|
|
Daemon RPC version is now composed of a major and minor number,
so that incompatible changes bump the major version, while
compatible changes can still bump the minor version without
causing clients to unnecessarily complain.
|
|
17b6bd6 Fix DNS failures in offline mode preventing daemon startup (moneromooo-monero)
|
|
6d76072 simplewallet: remove double confirmation when submitting signed tx (moneromooo-monero)
92dea04 wallet2: fix wrong change being recorded for cold signed txes (moneromooo-monero)
|
|
1d9e223 rpc: do not include output indices for pool txes (moneromooo-monero)
e227d6e rpc: bump version after RPC changes (moneromooo-monero)
2c0173c Add a get_outs (fully text based) version of get_outs.bin (moneromooo-monero)
e05907b rpc: add output indices to gettransactions (moneromooo-monero)
|
|
7abfc54 wallet: fix exporting outputs and key images with txes with two pubkeys (moneromooo-monero)
|
|
5fc36f9 wallet2_api: fix history leak on destruction (moneromooo-monero)
|
|
69b188c wallet2_api: fix payment ids from integrated addresses being ignored (moneromooo-monero)
|
|
d01f5c7 wallet2: fix illegal memory access removing newlines from password (moneromooo-monero)
|
|
e6264a2 wallet2: fix decrypting a bit too much in authenticated mode (moneromooo-monero)
|
|
|
|
|
|
|
|
This also needs to make sure to pick the correct one, in the case
where cold signing caused to tx keys to be included.
|
|
|
|
|
|
|
|
|
|
|
|
4eb7347 wallet: return fee in transfer RPC (moneromooo-monero)
|
|
4fca34d Wallet2: calculate approximate blockchain height on offline creation (Jacob Brydolf)
|
|
|
|
When passing around unsigned and signed transactions, outputs
and key images are passed along (outputs are passed along unsigned
transactions from the hot wallet to the cold wallet, key images
are passed along with signed transations from the cold wallet
to the hot wallet), to allow more user friendly syncing between
hot and cold wallets.
|
|
|
|
|
|
The vast majority of transactions will have just one tx pubkey,
but a bug with cold wallet signing caused two such keys to be
there, with the second one being the real one.
|
|
|
|
|
|
Wallet API: add approximateBlockChainHeight()
|
|
|
|
|
|
358e068 Created monero-wallet-rpc, moving functionality from monero-wallet-cli (Lee Clagett)
|
|
9150a16 Wallet API: use stored refresh height when rebuilding cache (Jacob Brydolf)
|
|
63772e4 wallet: fix corner case of no recent outputs available (moneromooo-monero)
|
|
|
|
|
|
|
|
Also clarify related logs
|
|
40a68e2 wallet2_api: add API for create_unmixable_sweep_transactions (moneromooo-monero)
|
|
c441a61 wallet2_api: API to sign and verify a message (moneromooo-monero)
|
|
4dcb74f wallet_api: PendingTransaction::txCount - number of split transactions (Ilya Kitaev)
|
|
c80f4d4 wallet: fix output collision detection for view wallets (moneromooo-monero)
|
|
|
|
|
|
0c530de Wallet API: Pause refresh while creating transaction (Jacob Brydolf)
|
|
8aba0d4 wallet: encrypt outputs and key images files with the view key (moneromooo-monero)
|
|
63fe6fd wallet2_api: allow connection to return "yes, but wrong version" (moneromooo-monero)
|
|
35da3cb Wallet API: added getTxKey() (Jacob Brydolf)
|
|
|
|
eb19492 wallet2_api: do not copy the whole pending tx when iterating (moneromooo-monero)
|
|
97288a5 wallet2_api: add API for tx notes (moneromooo-monero)
|
|
af8a260 wallet_api: txkey checking functions for the GUI (moneromooo.monero)
|
|
a970a4e refresh speedup (luigi1111)
|
|
18f66f4 wallet: use the dynamic per kB fee (moneromooo-monero)
e6deb8a rpc: add a dynamic fee estimation RPC call (moneromooo-monero)
82dbba1 core: dynamic fee algorithm from ArticMine (moneromooo-monero)
|
|
|
|
|
|
This key is available to both cold and hot wallet.
Authenticated encryption will guard against interception and/or
modification of the file.
|
|
View wallets do not have the spend secret key, and are thus
unable to derive key images for incoming outputs. Moreover,
a previous patch set key images to zero as a means to mark
an output as having an unknown key image, so they could be
filled in when importing key images at a later time. That
later patch caused spurious collisions. We now use public
keys to detect duplicate outputs. Public keys obtained from
the blockchain are checked to be identical to the ones
derived locally, so can't be spoofed.
|
|
|
|
|
|
|
|
|
|
m_amount_out was sometimes getting initialized with the sum of
an transaction's outputs, and sometimes with the sum of outputs
that were not change. This caused confusion and bugs. We now
always set it to the sum of outputs. This reverts an earlier
fix for bad amounts as this used the other semantics. The wallet
data should be converted automatically in a percentage of cases
that I'm hesitant to estimate. In any case, restoring from seed
or keys or rebuilding the cache will get it right.
|
|
Compute derivation only once per tx, instead of once per output. Approx 33% faster while using 75% as much CPU on my machine. Note old functions in cryptonote_core (lookup_acc_outs and is_out_to_acc) are still used by tests.
|
|
43ec2d0 Wallet API: added walletExists logic (Jacob Brydolf)
|
|
4869db7 adding static_assert to pod functions in string tools (Lee Clagett)
|
|
bb560dd wallet: new import_outputs/export_outputs commands (moneromooo-monero)
|
|
|
|
|
|
The intended use is to export outputs from a hot wallet, which
can scan incoming transfers from the network, and import them
in the cold wallet, which can't. The cold wallet can then compute
key images for those outputs, which can then be exported with
export_key_images, etc.
|
|
|
|
This allows rescan_spent to know the daemon response to those
is not valid.
|
|
This is on the potentially compromised wallet, but still guards
against stupid mistakes.
|
|
fdef09f Wallet API: make sure path exists before searching for wallets (Jacob Brydolf)
|
|
|
|
Not as trustworthy as this is in the view wallet, the one
that's considered compromised.
|
|
Re-creating the transaction on the cold wallet was not splitting
the change, causing the transaction to be rejected by the network.
This worked on testnet since amounts do not have to be split.
Also add selected_transfers, which can now be saved since they're
size_t rather than iterators. This allows the view wallet to
properly set the sent outputs as spent and update balance.
Bump transfer file version numbers to match.
|
|
372f338 wallet: sanity check on selected transfer indices in signed ptx (moneromooo-monero)
|
|
06b642d wallet_api: add address validation functions (moneromooo-monero)
|
|
b6b86ab wallet2_api: recognize full size payment ids as valid (moneromooo-monero)
|
|
2bf65df wallet_api: do not override invalid payment id (moneromooo-monero)
|
|
04da979 Always confirm transfers defaults to ON/YES (NanoAkron)
|
|
8231997 simplewallet: fix sweep_all misreporting sweeped amount for rct outputs (moneromooo-monero)
985f61a wallet: force 0 mixin transactions to use pre-rct txes (moneromooo-monero)
|
|
0950be9 wallet: speed up output selection, and fix bug with relatedness calculation (moneromooo-monero)
0eba133 wallet: fix mixup between mixin 2 and 4 before/after v5 (moneromooo-monero)
|
|
e76dcdd wallet: improve error messages when not enough money for transfer (moneromooo-monero)
|
|
2d7083c wallet_api: fix wrong amount in tx history (moneromooo-monero)
b5f2001 simplewallet: fix wrong amount in show_transfers (moneromooo-monero)
|
|
a3748f4 Rewrote add_wallet_create_if_needed for clearer flow and behaviour (NanoAkron)
|
|
|
|
The payment id from integrated addresses is also parsed
|
|
|
|
Instead, return an empty string to mark the error
|
|
|
|
|
|
RingCT outputs will be 0 in the vin, so we need to get the actual
amount from elsewhere.
|
|
rct transactions does not support 0 mixin, and those are
now typically dust sweep transactions, for which a lower
fee is a must.
|
|
25% of the outputs are selected from the last 5 days (if possible),
in order to avoid the common case of sending recently received
outputs again. 25% and 5 days are subject to review later, since
it's just a wallet level change.
|
|
|