Commit Graph

328 Commits

Author SHA1 Message Date
moneromooo-monero
b5d6faada3
wallet: fix bad amounts/fees again
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.
2016-11-02 23:11:30 +00:00
Riccardo Spagni
d53bc2eddf
Merge pull request #1281
bb560dd wallet: new import_outputs/export_outputs commands (moneromooo-monero)
2016-11-01 15:12:03 +02:00
Riccardo Spagni
95e0010fbb
Merge pull request #1277
7e6d3cf wallet: set incoming outputs' key image to 0 on view wallets (moneromooo-monero)
1f9e6a4 wallet: print tx overview on submit_transfer too (moneromooo-monero)
2016-11-01 15:06:51 +02:00
moneromooo-monero
bb560dd814
wallet: new import_outputs/export_outputs commands
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.
2016-10-30 19:37:09 +00:00
moneromooo-monero
1f9e6a46d8
wallet: print tx overview on submit_transfer too
This is on the potentially compromised wallet, but still guards
against stupid mistakes.
2016-10-30 10:49:22 +00:00
moneromooo-monero
4bfb81a7f5
simplewallet: remove destinations with zero amount in sign_transfer
This will happen when sending to another address, after removing
the fee.
2016-10-30 09:15:04 +00:00
moneromooo-monero
069d688cf7
simplewallet: log transactions to submit in submit_transfer
Not as trustworthy as this is in the view wallet, the one
that's considered compromised.
2016-10-26 13:17:29 +01:00
moneromooo-monero
31abac4daf
wallet: fix pre-rct cold wallet signing not splitting change
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.
2016-10-25 21:44:31 +01:00
moneromooo-monero
ff8825210d
simplewallet: factor locked_transfer, and fix a few rough edges
Factor locked_transfer into transfer_main, which brings various
improvements for free (multiple addresses, proper detection of
multiple payment ids, obeying the prompt settings).

Also fix a few things, such as using uint64_t instead of int
for block heights, actually checking whether getting blockchain
height succeeded, etc.
2016-10-23 18:21:30 +01:00
Riccardo Spagni
f800390ccc
Merge pull request #1224
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)
2016-10-22 22:15:50 +02:00
Riccardo Spagni
9feb358e46
Merge pull request #1220
e76dcdd wallet: improve error messages when not enough money for transfer (moneromooo-monero)
2016-10-22 22:12:17 +02:00
Riccardo Spagni
e48ef1684c
Merge pull request #1219
2d7083c wallet_api: fix wrong amount in tx history (moneromooo-monero)
b5f2001 simplewallet: fix wrong amount in show_transfers (moneromooo-monero)
2016-10-22 22:11:12 +02:00
Riccardo Spagni
b53c9e5549
Merge pull request #1200
a3748f4 Rewrote add_wallet_create_if_needed for clearer flow and behaviour (NanoAkron)
2016-10-22 22:07:38 +02:00
NanoAkron
a3748f40ea
Rewrote add_wallet_create_if_needed for clearer flow and behaviour 2016-10-15 22:29:28 +01:00
moneromooo-monero
8231997b66
simplewallet: fix sweep_all misreporting sweeped amount for rct outputs
RingCT outputs will be 0 in the vin, so we need to get the actual
amount from elsewhere.
2016-10-15 19:18:52 +01:00
moneromooo-monero
e76dcdd810
wallet: improve error messages when not enough money for transfer 2016-10-15 14:31:40 +01:00
moneromooo-monero
b5f20012d3
simplewallet: fix wrong amount in show_transfers 2016-10-15 13:56:09 +01:00
moneromooo-monero
2a0ad8b2fe
simplewallet: add mixin and payment id to sweep_all help 2016-10-04 17:44:30 +01:00
Riccardo Spagni
ae987907c6
Merge pull request #1179
714ee99 Fix description for locked_transfer (Oyvind Kvanes)
71538f3 Rename to lockblocks and add max value (Oyvind Kvanes)
68ac060 Fix locked_transfer (Oyvind Kvanes)
7d020bd Add locked_transfer (Oyvind Kvanes)
d5f918a Revert transfer_main in simplewallet (Oyvind Kvanes)
3451963 Add motifications to test out locked_transfer (Oyvind Kvanes)
e5e6d88 Add more information to transaction in wallet (Oyvind Kvanes)
9b8a062 Make a small test change (Oyvind Kvanes)
2016-10-04 12:18:55 +02:00
Riccardo Spagni
bfdac4b5ff
Merge pull request #1160
80b4da3 wallet: wallet option to confirm transfers with no payment id (moneromooo-monero)
2016-10-04 12:11:32 +02:00
Oyvind Kvanes
714ee99678 Fix description for locked_transfer 2016-10-04 11:46:44 +02:00
Riccardo Spagni
36d80b4475
Merge pull request #1162
e5f8642 Update minimum mixin in transfer_original help text (TedTheFicus)
ea45d61 Update minimum mixin in transfer_original help text (TedTheFicus)
2016-10-04 11:38:35 +02:00
Riccardo Spagni
2ef81914b5
Merge pull request #1140
bba6af9 wallet: cold wallet transaction signing (moneromooo-monero)
9872dcb wallet: fix log confusion between bytes and kilobytes (moneromooo-monero)
d9b0bf9 cryptonote_core: make extra field removal more generic (moneromooo-monero)
98f19d4 serialization: add support for serializing std::pair and std::list (moneromooo-monero)
2016-10-04 11:27:38 +02:00
Oyvind Kvanes
71538f3240 Rename to lockblocks and add max value 2016-10-04 11:13:26 +02:00
TedTheFicus
ea45d61f5d Update minimum mixin in transfer_original help text
Changed the wording from "from 0 to maximum available" to "from 2 to maximum available".

May I also suggest putting in a number rather than "maximum available" and also clarifying that mixin = 0 is still allowed if the user has unmixable outputs (dust), which he wants to "undust" using sweep_unmixable (comment from dEBRUYNE-1 ).
2016-10-01 12:55:54 -06:00
moneromooo-monero
80b4da3330
wallet: wallet option to confirm transfers with no payment id
set confirm-missing-payment-id 0|1

Defaults to true.
2016-10-01 17:03:53 +01:00
Oyvind Kvanes
68ac0607da Fix locked_transfer 2016-09-28 16:44:43 +02:00
Oyvind Kvanes
7d020bde5e Add locked_transfer 2016-09-28 16:27:45 +02:00
Oyvind Kvanes
d5f918a0b1 Revert transfer_main in simplewallet 2016-09-28 15:20:37 +02:00
Oyvind Kvanes
3451963855 Add motifications to test out locked_transfer 2016-09-28 14:58:14 +02:00
Oyvind Kvanes
e5e6d88655 Add more information to transaction in wallet 2016-09-28 13:04:26 +02:00
Oyvind Kvanes
9b8a06203b Make a small test change 2016-09-28 11:01:20 +02:00
moneromooo-monero
bba6af9064
wallet: cold wallet transaction signing
This change adds the ability to create a new unsigned transaction
from a watch only wallet, and save it to a file. This file can
then be moved to another computer/VM where a cold wallet may load
it, sign it, and save it. That cold wallet does not need to have
a blockchain nor daemon. The signed transaction file can then be
moved back to the watch only wallet, which can load it and send
it to the daemon.

Two new simplewallet commands to use it:
sign_transfer (on the cold wallet)
submit_transfer (on the watch only wallet)

The transfer command used on a watch only wallet now writes an
unsigned transaction set in a file called 'unsigned_monero_tx'
instead of submitting the tx to the daemon as a normal wallet does.
The signed tx file is called 'signed_monero_tx'.
2016-09-27 07:46:39 +01:00
Riccardo Spagni
e01a9ea507
Merge pull request #1117
fc855c1 Made error message consistent with other, more helpful, message (Will Skinner)
2016-09-26 17:34:26 +02:00
Will Skinner
fc855c1a21 Made error message consistent with other, more helpful, message 2016-09-22 21:06:39 -07:00
J Ryan Littlefield
7f009bb7e2 Remove redundant "default" in set mixin help desc 2016-09-19 16:09:31 -06:00
Riccardo Spagni
35cdbe2eb2
Merge pull request #1089
368485d simplewallet: do not expose the details of tx splitting to the user (moneromooo-monero)
2016-09-18 11:36:30 +02:00
moneromooo-monero
368485d518
simplewallet: do not expose the details of tx splitting to the user
They're confusing, as people think it reports their balance.
2016-09-17 22:23:03 +01:00
moneromooo-monero
925086346a
simplewallet: fix wrong amount in show_transfers for pending transactions
Change was not taken into consideration
2016-09-17 17:18:24 +01:00
moneromooo-monero
9c7b0cb28e
wallet: change priority/fee to ArticMine's recommendation
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.
2016-09-16 11:50:52 +01:00
Riccardo Spagni
df63e0704a
fix remaining bitmonero and simplewallet bits 2016-09-03 22:03:44 +02:00
moneromooo-monero
f1d87c8064
simplewallet: add magic and public keys to key image export file
This ensures it's hard to mix files up
2016-09-01 11:32:44 +01:00
moneromooo-monero
f4e894a526
simplewallet: make the key image export format binary
Saves on space, and on some pointless hex conversions
2016-09-01 11:04:53 +01:00
moneromooo-monero
fbd7c359ee
wallet: fix some "may be used uninitialized" warnings
The compiler can't always work out the _found booleans are
set iff the value is initialized.
2016-08-28 21:30:44 +01:00
moneromooo-monero
d4b62a1e29
rct amount key modified as per luigi1111's recommendations
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.
2016-08-28 21:30:19 +01:00
moneromooo-monero
a47ceee83b
wallet: do not store signatures in the wallet cache
Saves some substantial space.
Also avoid calculating tx hashes we don't need.
2016-08-28 21:30:10 +01:00
moneromooo-monero
cc85cc6a3f
simplewallet: better check_tx_key feedback
Print number of confirmations if the tx is in the blockchain,
or a warning if it's in the pool.
2016-08-28 21:29:48 +01:00
moneromooo-monero
9b70856ccb
rct: make the amount key derivable by a third party with the tx key
Scheme design from luigi1114.
2016-08-28 21:29:46 +01:00
moneromooo-monero
e81a2b2cfa
port get_tx_key/check_tx_key to rct 2016-08-28 21:29:24 +01:00
moneromooo-monero
1017a75460
wallet: factor transfer_rct code with transfer code
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.
2016-08-28 21:29:05 +01:00
moneromooo-monero
dc4aad7eb5
add rct to the protocol
It is not yet constrained to a fork, so don't use on the real network
or you'll be orphaned or rejected.
2016-08-28 21:28:37 +01:00
Riccardo Spagni
7000ed45ec
Merge pull request #982
65238d2 fix #691 removed help about leaving wallet name empty on --generate-new-wallet (guzzi_jones)
2016-08-26 10:32:30 +02:00
Riccardo Spagni
391c567f37
Merge pull request #976
c2f4e16 simplewallet: default to max-concurrency 1 on MacOS X (moneromooo-monero)
2016-08-26 10:31:24 +02:00
guzzi_jones
65238d281c fix #691 removed help about leaving wallet name empty on --generate-new-wallet 2016-08-24 00:03:36 +00:00
moneromooo-monero
c2f4e16c59
simplewallet: default to max-concurrency 1 on MacOS X
A suspected bug in pthread/kernel, though might be that
I messed something up too...

This might rope in more platforms though.
2016-08-21 12:26:29 +01:00
moneromooo-monero
e596e25367
simplewallet: do not suggest removing cache if the password was wrong 2016-08-16 23:15:35 +01:00
Riccardo Spagni
0faf572db8
Merge pull request #948
11dc091 Fake outs set is now decided by the wallet (moneromooo-monero)
1593553 new unlocked parameter to output_histogram (moneromooo-monero)
2016-08-11 22:43:14 +02:00
moneromooo-monero
11dc091464
Fake outs set is now decided by the wallet
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.
2016-08-11 14:35:27 +01:00
Riccardo Spagni
b026650be9
Merge pull request #952
709c724 Better fix (#4) (hyc)
d2644c1 fix restore-deterministic height (luigi1111)
2016-08-11 14:57:33 +02:00
Riccardo Spagni
9273899ee7
Merge pull request #949
da1007f simplewallet: make the refresh thread into more generic idle thread (moneromooo-monero)
2016-08-11 14:56:40 +02:00
hyc
709c7247cd Better fix (#4) 2016-08-09 18:54:20 -05:00
luigi1111
d2644c15c3
fix restore-deterministic height
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.
2016-08-09 17:46:49 -05:00
moneromooo-monero
da1007f7cd
simplewallet: make the refresh thread into more generic idle thread 2016-08-07 16:08:50 +01:00
guzzi_jones
f0c0a3fb65 Fix #864
Squashed commit of the following:
commit 9af9e4223b
    fixed some formatting
commit c7920e1cf8
Merge: 97eb28b 1da1c68
    fix#864 fix using boolean
commit 97eb28ba5d
    Fix #864 boolean value used to verify on new wallet
commit 1da1c68bd3
    fix #864 changed to boolean to prompt for verify
commit 5bee966524
    fix 864; made variable names easier for understanding branching.
commit 45715960d3
    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
2016-08-01 02:32:14 +00:00
moneromooo-monero
ebf97d76f0
wallet: new {ex,im}port_key_images commands and RPC calls
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.
2016-07-24 09:23:30 +01:00
Riccardo Spagni
47618c2710
Merge pull request #923
8312887 simplewallet: suggest removing cache when loading fails (moneromooo-monero)
2016-07-23 09:20:18 +02:00
Riccardo Spagni
07f974a499
Merge pull request #916
b89b963 wallet: add unconfirmed incoming txes from the txpool (moneromooo-monero)
2016-07-23 09:19:39 +02:00
moneromooo-monero
83128877e0
simplewallet: suggest removing cache when loading fails 2016-07-22 17:31:52 +01:00
moneromooo-monero
b89b96394a
wallet: add unconfirmed incoming txes from the txpool
Shown in show_transfers simplewallet command, and get_transfers
RPC command, if req.pool is true.
2016-07-20 19:14:44 +01:00
moneromooo-monero
080a60610f
simplewallet: revert to foreground refresh at startup
Background refresh is confusing to users at startup.
2016-07-20 19:09:32 +01:00
Riccardo Spagni
fc3e135b83
Merge pull request #902
014f3a0 Add a daemon RPC version, and make simplewallet check it (moneromooo-monero)
2016-07-20 13:55:59 +02:00
moneromooo-monero
89d9f382a0
wallet: add command and RPC to sign/verify data
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).
2016-07-19 20:39:03 +01:00
moneromooo-monero
014f3a0d39
Add a daemon RPC version, and make simplewallet check it
If the version is different, simplewallet will refuse to use that
daemon, unless --allow-mismatched-daemon-version is used.
2016-07-10 16:49:40 +01:00
Riccardo Spagni
00fd89a36d
Merge pull request #879
6b08001 simplewallet: mention the background refresh thread when starting (moneromooo-monero)
2016-07-06 18:15:36 +02:00
Riccardo Spagni
3923cbddaf
Merge pull request #878
945c272 wallet: add a fee multiplier (moneromooo-monero)
2016-07-06 18:14:34 +02:00
Ilya Kitaev
e6fdd5dd10 TransactionHistory continued 2016-06-23 16:01:26 +03:00
moneromooo-monero
6b08001f9e
simplewallet: mention the background refresh thread when starting
It should be less confusing for people who're used to the foreground
refresh from earlier versions.
2016-06-22 23:05:50 +01:00
moneromooo-monero
945c272f6c
wallet: add a fee multiplier
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".
2016-06-22 22:21:30 +01:00
Riccardo Spagni
de91bb75a1
Merge pull request #870
57dce80 gmtime for Windows (luigi1111)
2016-06-21 09:32:32 +02:00
luigi1111
57dce8083a
gmtime for Windows
gmtime_r is not available in Windows, use gmtime_s instead. Also change shorthand codes (also not working in Windows).
2016-06-20 18:14:12 -05:00
moneromooo-monero
f0b85c1631
simplewallet: add a status command
It matches the daemon, and should allow people who're suspicious
of the background refresh to know they're synced.
2016-06-20 19:11:10 +01:00
Riccardo Spagni
ae205020f6
Merge pull request #827
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 19fe8ae3ef (Howard Chu)
2016-05-17 19:04:41 +02:00
Howard Chu
687855d658 Set refresh height earlier
Do it before the generate() call so the value actually gets stored.
2016-04-29 15:33:28 +01:00
Riccardo Spagni
8b0d22a2aa
Merge pull request #826
76c6bf1 simplewallet: display all settings on set with no arguments (moneromooo-monero)
2016-04-29 10:44:59 +02:00
Howard Chu
2fb00c0666 Fix 19fe8ae3ef
Don't prompt for restore-height on generate-new-wallet
2016-04-29 04:51:02 +01:00
moneromooo-monero
76c6bf1875
simplewallet: display all settings on set with no arguments 2016-04-28 22:09:49 +01:00
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
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
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
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
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
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
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