Age | Commit message (Collapse) | Author | Files | Lines |
|
Keep the immediate direct deps at the library that depends on them,
declare deps as PUBLIC so that targets that link against that library
get the library's deps as transitive deps.
Break dep cycle between blockchain_db <-> crytonote_core.
No code refactoring, just hide cycle from cmake so that
it doesn't complain (cycles are allowed only between
static libs, not shared libs).
This is in preparation for supproting BUILD_SHARED_LIBS cmake
built-in option for building internal libs as shared.
|
|
We keep 1, 2, 3 multipliers till the fee decrase from 0.01/kB
to 0.002/kB, where we start using 1, 20, 166 multipliers.
This ensures the higher multiplier will compensate for the
block reward penalty when pushing past 100% of the past median.
The fee-multiplier wallet setting is now rename to priority,
since it keeps its [0..3] range, but maps to different multiplier
values.
|
|
This adds [snap](https://snapcraft.io) packaging to the project. See the
link for more information on snaps. Snap packages install on all Linux
distributions. On Ubuntu, snap confinement with apparmor and seccomp
provide an additional layer of security.
This snap sets up monerod as a systemd service, which should start
immediately on install. To access the wallet CLI, simply run `monero`
(/snap/bin/monero). I think it's a really quick & easy way to get
started with monero.
I've made some opinionated decisions in the packaging just to kick this
off, but I'm happy to iterate on this stuff.
|
|
|
|
|
|
This ensures it's hard to mix files up
|
|
Saves on space, and on some pointless hex conversions
|
|
The compiler can't always work out the _found booleans are
set iff the value is initialized.
|
|
This allows the key to be not the same for two outputs sent to
the same address (eg, if you pay yourself, and also get change
back). Also remove the key amounts lists and return parameters
since we don't actually generate random ones, so we don't need
to save them as we can recalculate them when needed if we have
the correct keys.
|
|
Saves some substantial space.
Also avoid calculating tx hashes we don't need.
|
|
Print number of confirmations if the tx is in the blockchain,
or a warning if it's in the pool.
|
|
Scheme design from luigi1114.
|
|
|
|
The "transfer" simplewallet command is renamed to "transfer_original".
"transfer_new" is renamed "transfer", "transfer_rct" is removed,
and the new "transfer" now selects rct or non rct transactions
based on the current block height.
|
|
It is not yet constrained to a fork, so don't use on the real network
or you'll be orphaned or rejected.
|
|
65238d2 fix #691 removed help about leaving wallet name empty on --generate-new-wallet (guzzi_jones)
|
|
c2f4e16 simplewallet: default to max-concurrency 1 on MacOS X (moneromooo-monero)
|
|
|
|
A suspected bug in pthread/kernel, though might be that
I messed something up too...
This might rope in more platforms though.
|
|
|
|
11dc091 Fake outs set is now decided by the wallet (moneromooo-monero)
1593553 new unlocked parameter to output_histogram (moneromooo-monero)
|
|
This plugs a privacy leak from the wallet to the daemon,
as the daemon could previously see what input is included
as a transaction input, which the daemon hadn't previously
supplied. Now, the wallet requests a particular set of
outputs, including the real one.
This can result in transactions that can't be accepted if
the wallet happens to select too many outputs with non standard
unlock times. The daemon could know this and select another
output, but the wallet is blind to it. It's currently very
unlikely since I don't think anything uses non default
unlock times. The wallet requests more outputs than necessary
so it can use spares if any of the returns outputs are still
locked. If there are not enough spares to reach the desired
mixin, the transaction will fail.
|
|
709c724 Better fix (#4) (hyc)
d2644c1 fix restore-deterministic height (luigi1111)
|
|
da1007f simplewallet: make the refresh thread into more generic idle thread (moneromooo-monero)
|
|
|
|
Simplewallet improperly skipped the restore from height code if
restoring a deterministic wallet AND not specifying a wallet file in the
command line. The other generate options require a wallet file as an
argument, which prevents "ask_wallet_create_if_needed()" from being
called, which in turn causes "m_generate_new" to remain unset.
Specifying a wallet file at launch with --restore-deterministic emulated
this behavior.
|
|
|
|
Squashed commit of the following:
commit 9af9e4223b58bbb65a3519af2c2bfc273cbd23d6
fixed some formatting
commit c7920e1cf88ff46eb9294101344d9a567f22e2da
Merge: 97eb28b 1da1c68
fix#864 fix using boolean
commit 97eb28ba5dd49ddde8c8785f39b24d955e5de31c
Fix #864 boolean value used to verify on new wallet
commit 1da1c68bd3a9a373c70482b6e6e95251096149f1
fix #864 changed to boolean to prompt for verify
commit 5bee96652434762d2c91ce31a1b1c9f169446ddc
fix 864; made variable names easier for understanding branching.
commit 45715960d30293f781b2ff9e5e647c2ec893f4a3
fix #864; allow password to be entered twice for new wallets for verification.
fix #864 password entry verification; ammended boolean
fix #864 ; default constructor for password_container should set verify=true
|
|
They are used to export a signed set of key images from a wallet
with a private spend key, so an auditor with the matching view key
may see which of those are spent, and which are not.
|
|
8312887 simplewallet: suggest removing cache when loading fails (moneromooo-monero)
|
|
b89b963 wallet: add unconfirmed incoming txes from the txpool (moneromooo-monero)
|
|
|
|
Shown in show_transfers simplewallet command, and get_transfers
RPC command, if req.pool is true.
|
|
Background refresh is confusing to users at startup.
|
|
014f3a0 Add a daemon RPC version, and make simplewallet check it (moneromooo-monero)
|
|
Signing is done using the spend key, since the view key may
be shared. This could be extended later, to let the user choose
which key (even a per tx key).
simplewallet's sign/verify API uses a file. The RPC uses a
string (simplewallet can't easily do strings since commands
receive a tokenized set of arguments).
|
|
If the version is different, simplewallet will refuse to use that
daemon, unless --allow-mismatched-daemon-version is used.
|
|
6b08001 simplewallet: mention the background refresh thread when starting (moneromooo-monero)
|
|
945c272 wallet: add a fee multiplier (moneromooo-monero)
|
|
|
|
It should be less confusing for people who're used to the foreground
refresh from earlier versions.
|
|
Fee can now be multiplied by 2 or 3, if users want to give
priority to their transactions. There are only three levels
to avoid too much fingerprinting. Default is 1 (minimum fee).
The default multiplier can be set by "set fee-multiplier X".
|
|
57dce80 gmtime for Windows (luigi1111)
|
|
gmtime_r is not available in Windows, use gmtime_s instead. Also change shorthand codes (also not working in Windows).
|
|
It matches the daemon, and should allow people who're suspicious
of the background refresh to know they're synced.
|
|
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)
|
|
Do it before the generate() call so the value actually gets stored.
|
|
76c6bf1 simplewallet: display all settings on set with no arguments (moneromooo-monero)
|
|
Don't prompt for restore-height on generate-new-wallet
|
|
|
|
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.
|
|
a687e6e simplewallet: fix pending transfers fee display in show_transfers (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)
|
|
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.cpp
modified: src/wallet/wallet2.h
Update to fix unconfirmed balance and give a slightly more verbose and informative confirmation message for transfers
|
|
For specifying the block height from which to start a restore
|
|
Use the current blockchain height as the refresh_from_block_height.
|
|
c33ffc8 simplewallet: save fixes in RPC mode (moneromooo-monero)
|
|
1a58d20 simplewallet: optional address in --generate-from-json (moneromooo-monero)
|
|
48d0747 wallet: better output selection for transfer/transfer_new (moneromooo-monero)
|
|
ed61a2c simplewallet: set strict umask at start (moneromooo-monero)
7385c03 util: add a function to set umask to 077 (moneromooo-monero)
|
|
^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.
|
|
|
|
|
|
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.
|
|
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)
|
|
24b3e90 Convey tx verification failure reasons to the RPC client (moneromooo-monero)
|
|
77d1c6b simplewallet: default to trusted daemon for loopback address (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.
|
|
|
|
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.
|
|
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.
|
|
Ain't nobody got time for link/cmake skullduggery.
This reverts commit fff238ec94ac6d45fc18c315d7bc590ddfaad63d.
|
|
b525457 simplewallet: make --password-file work in RPC mode (moneromooo-monero)
|
|
|
|
Useful for debugging users' logs
|
|
41ea91a simplewallet: fix hang when setting auto-refresh to 0 (moneromooo-monero)
|
|
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.
|
|
Because obviously it doesn't work as other POSIX platforms.
Reported and tested by luigi1111.
|
|
and all other associated IPC
|
|
c2a1fee simplewallet: prompt for private keys when generating wallets (moneromooo-monero)
4513b4c simplewallet: add a new --restore-from-keys option (moneromooo-monero)
|
|
instead of supplying them on the command line. It's more
unwieldy, but better protects against information leaks.
|
|
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.
|
|
This avoids the need to define that variable in every program
which uses epee.
|
|
|
|
|
|
|
|
When a transaction is not found in the pool anymore, it is marked
as failed, and displayed as such in show_transfers.
|
|
Some of it uses hardcoded height, which will need some thinking
for next (voted upon) fork.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Blockchain hashes and key images are flushed, and blocks are
pulled anew from the daemon.
The console command is shortened to match bc_height.
This should make it a lot easier on users who are currently
told to remove this particular cache file but keep the keys
one, etc, etc.
|
|
|
|
Displaying in-program commands with --help doesn't match daemon
behaviour (or make sense)
|
|
Typos, grammar, consistency. I don't claim to have gotten everything.
|
|
instead of a command line setting. It makes sense that is is
a long lived setting.
|
|
36a298c simplewallet: add tr markers in a few missing user visible strings (moneromooo-monero)
|
|
^C while in manual refresh will cancel the refresh, since that's
often an annoying thing to have to wait for. Also, a manual refresh
command will interrupt any running background refresh and take
over, rather than wait for the background refresh to be done, and
look to be hanging.
|
|
66849ac simplewallet: swap colors in show_transfers (moneromooo-monero)
|
|
|
|
Green is now used for incoming transfers, and magenta for outgoing
transfers. This is consistent to the scheme used by other logging.
|
|
The daemon will be polled every 90 seconds for new blocks.
It is enabled by default, and can be turned on/off with
set auto-refresh 1 and set auto-refresh 0 in the wallet.
|
|
Take the opportunity to add a no-coinbase case too, for even faster
sync when an address is known to never have mined to.
|
|
db1fb66 wallet: storing outgoing tx info now defaults to enabled (moneromooo-monero)
9156ba3 wallet: rename store-tx-keys to store-tx-info (moneromooo-monero)
b3d4d41 wallet: improve show_transfers (moneromooo-monero)
725ae4e wallet: use incoming blocks to keep track of payments too (moneromooo-monero)
00790a8 simplewallet: lessen display flicker confusion (moneromooo-monero)
|
|
With backward compatibility
|
|
More information is now saved and displayed
|
|
|
|
Height seemed to be flying all over the place on a rescan here.
Logging to a file shows the heights are actually correct, and
this is some kind of screen refresh artifact. Flush after \r
and update less often to reduce this effect a lot.
|
|
There are various locale related bugs in various versions of boost,
where exceptions are thrown in boost::filesystem APIs when the
current locale is not to boost's liking. It's not clear what "not
to boost's liking" means in detail, though "en" and "en_US.UTF-8"
are not to its liking.
Fix it by running a test function that's known to throw in such
a case, and resetting LANG and LC_ALL to C if an exception is
thrown. In simplewallet, the locale is queried before that so the
correct translations will still be used.
|
|
It's a user friendly display of incoming and outgoing transfers,
listed by height, within an optional height range.
|
|
The default default mixin is 4. It can now be changed per wallet.
|
|
|
|
It allows one to check the amount of monero sent to a particular
address in a particular transaction, given that transaction's tx key
|
|
because it leaks your standard address
|
|
df8a110 simplewallet: add a --trusted-daemon flag (moneromooo-monero)
|
|
It allows enabling the rescan_spent command only for trusted
daemon
|
|
As recommended in MRL-0004
|
|
5dc53c2 wallet: use mutex protected random generation api (moneromooo-monero)
|
|
|
|
To enable storing tx keys in the (now encrypted) wallet cache.
|
|
They are also stored in the cache file, to be retrieved using
a new get_tx_key command.
|
|
Default to "simplewallet.log" in current directory when file path isn't
obtained from epee.
In this situation previously, it defaulted to the file name of ".log"
("" + ".log") in the current directory.
(Thanks to @sammy007 for reporting bug.)
An earlier version yet used "" + "/" + ".log" = "/.log", which resulted
in silently not logging in most cases, due to lack of permission.
Test:
PATH=$PATH:</path/to/simplewallet/folder> && simplewallet --wallet-file /dev/null
This results in epee not finding the executable's file path, so
simplewallet will now use a default log filename.
|
|
This obsoletes the need for a lengthy blockchain rescan when
a transaction doesn't end up in the chain after being accepted
by the daemon, or any other reason why the wallet's idea of
spent and unspent outputs gets out of sync from the blockchain's.
|
|
Pros:
- smaller on the blockchain
- shorter integrated addresses
Cons:
- less sparseness
- less ability to embed actual information
The boolean argument to encrypt payment ids is now gone from the
RPC calls, since the decision is made based on the length of the
payment id passed.
|
|
A payment ID may be encrypted using the tx secret key and the
receiver's public view key. The receiver can decrypt it with
the tx public key and the receiver's secret view key.
Using integrated addresses now cause the payment IDs to be
encrypted. Payment IDs used manually are not encrypted by default,
but can be encrypted using the new 'encrypt_payment_id' field
in the transfer and transfer_split RPC calls. It is not possible
to use an encrypted payment ID by specifying a manual simplewallet
transfer/transfer_new command, though this is just a limitation
due to input parsing.
|
|
It should avoid a lot of the issues sending more than half the
wallet's contents due to change.
Actual output selection is still random. Changing this would
improve the matching of transaction amounts to output sizes,
but may have non obvious effects on blockchain analysis.
Mapped to the new transfer_new command in simplewallet, and
transfer uses the existing algorithm.
To use in RPC, add "new_algorithm: true" in the transfer_split
JSON command. It is not used in the transfer command.
|
|
|
|
boost doesn't support %zu for size_t, and the previous change
to %u could technically lose bits (though it would require splitting
a transfer into 4 billion transactions, which seems unlikely).
|
|
This can be useful if you want to be given a veto over the tx fee,
or if you want to see what a tx fee would be without actually sending.
|
|
|
|
The system is mostly the Qt system, but we don't use Qt to avoid
the dependencies.
See README.i18n for details.
|
|
The needed information is supplied via a triple:
--generate-from-view-key address:viewkey:filename
|
|
They do not make sense
|
|
fb20071 simplewallet: allow a different password for the watch-only wallet (moneromooo-monero)
|
|
|
|
|
|
|
|
The new save_watch_only saves a copy of the keys file without the
spend key. It can then be given away to be used as a normal keys
file, but with no spend ability.
|
|
Sends all the dust to your own wallet. May fail (if the fee required
is more than the dust total). May end up paying most of the dust in fees.
Unlocked dust total is now also displayed in "balance".
|
|
Replace --set_log with --log-level for consistency.
Show default log level in usage.
Add --log-file for specifying log file path.
Document log file path.
Display log file path at startup.
|
|
As with display of seed, don't log view key and spend key.
Includes:
- display of viewkey at wallet creation
- "viewkey" command output
- "spendkey" command output
|
|
|
|
|
|
|
|
|
|
new update of the pr with network limits
more debug options:
discarding downloaded blocks all or after given height.
trying to trigger the locking errors.
debug levels polished/tuned to sane values.
debug/logging improved.
warning: this pr should be correct code, but it could make
an existing (in master version) locking error appear more often.
it's a race on the list (map) of peers, e.g. between closing/deleting
them versus working on them in net-limit sleep in sending chunk.
the bug is not in this code/this pr, but in the master version.
the locking problem of master will be fixed in other pr.
problem is ub, and in practice is seems to usually cause program abort
(tested on debian stable with updated gcc). see --help for option
to add sleep to trigger the error faster.
|
|
commands and options for network limiting
works very well e.g. for 50 KiB/sec up and down
ToS (QoS) flag
peer number limit
TODO some spikes in ingress/download
TODO problems when other up and down limit
added "otshell utils" - simple logging (with colors, text files channels)
|
|
It restricts RPC to a subset of "view only" commands. Kind of like
a poor man's view key replacement.
|
|
|
|
583cf0a Document existing function (warptangent)
95eb944 Repeat prompt for wallet path if invalid (warptangent)
|
|
simplewallet run without a wallet path argument should prompt again if
an invalid path was entered.
Validity here currently means the string isn't empty.
|
|
Add simple_wallet::set_variable method to provide top-level "set"
command and support "set seed language" command.
|
|
simple_wallet::seed()
- Check that wallet is deterministic.
simple_wallet::new_wallet()
- Prompt for seed language only if it's a non-deterministic wallet,
along with previous conditions.
simple_wallet::open_wallet()
- Fixed check for deterministic wallet (flag based on command line
non-deterministic argument was used before, but it's inapplicable to
opening an existing wallet).
- As with deterministic wallet, non-deterministic also included to be
rewritten to new JSON format file. That's what's done for newly
generated non-deterministic wallets, so old versions should be
updated to same format.
|
|
|
|
|
|
3300ae5 remove unused display variable (warptangent)
0e0e557 return true on success (warptangent)
2e11eb1 deterministic wallet use of twelve words fixed (warptangent)
21a3c46 ensure that keccak is called on view spend key, not a possibly pre-sc_reduce32 version of it - for deriving view secret key (warptangent)
|
|
- "seed" simplewallet command was only displaying seed if wallet was newly generated
|
|
|
|
f1eaf88 Prints seed after wallet upgrade. Removed iostream include. (Oran Juice)
70971be Doxygen comments (Oran Juice)
031ca23 Rewrites to old wallet file correctly (Oran Juice)
1f833dc Doxygen comments in (Oran Juice)
0bd88ff Writes seed language while generating wallet. Wallet open fix. (Oran Juice)
09a659e Stores seed language in wallet file. added rapidjson. Yet to test backward compatibility (Oran Juice)
|
|
dde7897 Disable legacy fees for now (iamsmooth)
cc74b43 Remove DEFAULT_FEE, add temporary acceptance of too-small per-kb fee >= 0.1, denominations based on DEFAULT_DUST_THRESHOLD, document fee arg to create_transactions as unused, se DEFAULT_DUST_THRESHOLD for wallet dust collection instead of calcualted tx fee (iamsmooth)
|
|
denominations based on DEFAULT_DUST_THRESHOLD, document fee arg to create_transactions as unused, se DEFAULT_DUST_THRESHOLD for wallet dust collection instead of calcualted tx fee
|
|
|
|
Older versions of CMake support LINK_{PUBLIC,PRIVATE} while newer
versions prefer PUBLIC and PRIVATE instead, but still support the LINK_
prefix.
|
|
|
|
|
|
This cleans up the CMake code and shows patterns more easily (to be
refactored in the next commit).
|
|
|
|
|
|
|
|
compatibility
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
without checksum is passed. Doxygen comment fix.
|
|
|
|
CMakeLists.txt update.
|
|
|
|
|