Commit Graph

1095 Commits

Author SHA1 Message Date
moneromooo-monero 9768e96d74
simplewallet: remove remaining payment id dead code
pointed out by coverity
2019-10-25 16:53:15 +00:00
moneromooo-monero ffa46026b5
simplewallet: add public_nodes command
Lists nodes exposing their RPC port for public use
2019-10-25 09:34:41 +00:00
moneromooo-monero 2899379791
daemon, wallet: new pay for RPC use system
Daemons intended for public use can be set up to require payment
in the form of hashes in exchange for RPC service. This enables
public daemons to receive payment for their work over a large
number of calls. This system behaves similarly to a pool, so
payment takes the form of valid blocks every so often, yielding
a large one off payment, rather than constant micropayments.

This system can also be used by third parties as a "paywall"
layer, where users of a service can pay for use by mining Monero
to the service provider's address. An example of this for web
site access is Primo, a Monero mining based website "paywall":
https://github.com/selene-kovri/primo

This has some advantages:
 - incentive to run a node providing RPC services, thereby promoting the availability of third party nodes for those who can't run their own
 - incentive to run your own node instead of using a third party's, thereby promoting decentralization
 - decentralized: payment is done between a client and server, with no third party needed
 - private: since the system is "pay as you go", you don't need to identify yourself to claim a long lived balance
 - no payment occurs on the blockchain, so there is no extra transactional load
 - one may mine with a beefy server, and use those credits from a phone, by reusing the client ID (at the cost of some privacy)
 - no barrier to entry: anyone may run a RPC node, and your expected revenue depends on how much work you do
 - Sybil resistant: if you run 1000 idle RPC nodes, you don't magically get more revenue
 - no large credit balance maintained on servers, so they have no incentive to exit scam
 - you can use any/many node(s), since there's little cost in switching servers
 - market based prices: competition between servers to lower costs
 - incentive for a distributed third party node system: if some public nodes are overused/slow, traffic can move to others
 - increases network security
 - helps counteract mining pools' share of the network hash rate
 - zero incentive for a payer to "double spend" since a reorg does not give any money back to the miner

And some disadvantages:
 - low power clients will have difficulty mining (but one can optionally mine in advance and/or with a faster machine)
 - payment is "random", so a server might go a long time without a block before getting one
 - a public node's overall expected payment may be small

Public nodes are expected to compete to find a suitable level for
cost of service.

The daemon can be set up this way to require payment for RPC services:

  monerod --rpc-payment-address 4xxxxxx \
    --rpc-payment-credits 250 --rpc-payment-difficulty 1000

These values are an example only.

The --rpc-payment-difficulty switch selects how hard each "share" should
be, similar to a mining pool. The higher the difficulty, the fewer
shares a client will find.
The --rpc-payment-credits switch selects how many credits are awarded
for each share a client finds.
Considering both options, clients will be awarded credits/difficulty
credits for every hash they calculate. For example, in the command line
above, 0.25 credits per hash. A client mining at 100 H/s will therefore
get an average of 25 credits per second.
For reference, in the current implementation, a credit is enough to
sync 20 blocks, so a 100 H/s client that's just starting to use Monero
and uses this daemon will be able to sync 500 blocks per second.

The wallet can be set to automatically mine if connected to a daemon
which requires payment for RPC usage. It will try to keep a balance
of 50000 credits, stopping mining when it's at this level, and starting
again as credits are spent. With the example above, a new client will
mine this much credits in about half an hour, and this target is enough
to sync 500000 blocks (currently about a third of the monero blockchain).

There are three new settings in the wallet:

 - credits-target: this is the amount of credits a wallet will try to
reach before stopping mining. The default of 0 means 50000 credits.

 - auto-mine-for-rpc-payment-threshold: this controls the minimum
credit rate which the wallet considers worth mining for. If the
daemon credits less than this ratio, the wallet will consider mining
to be not worth it. In the example above, the rate is 0.25

 - persistent-rpc-client-id: if set, this allows the wallet to reuse
a client id across runs. This means a public node can tell a wallet
that's connecting is the same as one that connected previously, but
allows a wallet to keep their credit balance from one run to the
other. Since the wallet only mines to keep a small credit balance,
this is not normally worth doing. However, someone may want to mine
on a fast server, and use that credit balance on a low power device
such as a phone. If left unset, a new client ID is generated at
each wallet start, for privacy reasons.

To mine and use a credit balance on two different devices, you can
use the --rpc-client-secret-key switch. A wallet's client secret key
can be found using the new rpc_payments command in the wallet.
Note: anyone knowing your RPC client secret key is able to use your
credit balance.

The wallet has a few new commands too:

 - start_mining_for_rpc: start mining to acquire more credits,
regardless of the auto mining settings
 - stop_mining_for_rpc: stop mining to acquire more credits
 - rpc_payments: display information about current credits with
the currently selected daemon

The node has an extra command:

 - rpc_payments: display information about clients and their
balances

The node will forget about any balance for clients which have
been inactive for 6 months. Balances carry over on node restart.
2019-10-25 09:34:38 +00:00
Jake Hemmerle d60c1b6312 changed 'batttery' to 'battery' 2019-10-24 19:55:28 -04:00
luigi1111 35da1ce307
Merge pull request #5983
32d6376 simplewallet: add --restore-from-seed alias (moneromooo-monero)
2019-10-22 10:20:46 -05:00
luigi1111 8a88d9186a
Merge pull request #5982
bba5bae implewallet: don't trigger idle lock right after a foreground refresh (moneromooo-monero)
2019-10-22 10:19:35 -05:00
luigi1111 99e4c403cb
Merge pull request #5977
e85c838 simplewallet: do not print warning for locked coinbase txes (moneromooo-monero)
2019-10-22 10:14:33 -05:00
luigi1111 40e71742a0
Merge pull request #5952
93d5cf2 wallet2: add ignore-outputs-{above/below} option (stoffu)
2019-10-16 13:40:44 -05:00
luigi1111 75f7959fa9
Merge pull request #5946
16498dc simplewallet.cpp - clean up welcome message (SomaticFanatic)
2019-10-16 13:38:18 -05:00
moneromooo-monero 19c0506e14
wallet: remove long payment ID sending support 2019-10-14 11:43:47 +00:00
moneromooo-monero b295e3cff6
simplewallet: reinstate short payment id nag, only if non default 2019-10-14 11:43:42 +00:00
moneromooo-monero 32d6376673
simplewallet: add --restore-from-seed alias
It may be more intuitive for some people
2019-10-11 14:39:38 +00:00
moneromooo-monero bba5baec37
simplewallet: don't trigger idle lock right after a foreground refresh 2019-10-11 14:30:20 +00:00
moneromooo-monero e85c838154
simplewallet: do not print warning for locked coinbase txes
since they're all locked for a fixed amount
2019-10-10 18:29:30 +00:00
stoffu 93d5cf2441
wallet2: add ignore-outputs-{above/below} option
https://github.com/aeonix/aeon/pull/131
2019-10-02 13:04:24 +09:00
SomaticFanatic 16498dc8ef
simplewallet.cpp - clean up welcome message
Fixed a typo ("and -are- not visible to the world by default"), removed a few redundant commas, and capitalized words inside the URL.
2019-10-01 02:32:32 +00:00
luigi1111 3f732841f5
Merge pull request #5906
bd9c12e simplewallet: remove erroneously added line under subaddress-lookahead (stoffu)
2019-09-30 18:53:10 -05:00
luigi1111 76805b62ce
Merge pull request #5874
f380f69 simplewallet: warn if invalid default ring size is set and actually ignore the setting (stoffu)
2019-09-14 13:19:01 -05:00
luigi1111 4a39e1a4a5
Merge pull request #5865
11f13da blockchain: fix logging bad number of blocks if first one fails (moneromooo-monero)
19bfe7e simplewallet: fix warnings about useless std::move (moneromooo-monero)
2019-09-14 13:07:35 -05:00
stoffu bd9c12e18a
simplewallet: remove erroneously added line under subaddress-lookahead 2019-09-11 10:50:20 +09:00
luigi1111 9325501762
Merge pull request #5855
2ec455d wallet: fix mismatch between two concepts of 'balance' (moneromooo-monero)
2019-09-08 20:04:00 -05:00
luigi1111 db87e92b34
Merge pull request #5842
87d2f06 simplewallet: moan harder about untrusted nodes (moneromooo-monero)
2019-09-08 19:53:27 -05:00
moneromooo-monero 2ec455df1f
wallet: fix mismatch between two concepts of "balance"
One considers the blockchain, while the other considers the
blockchain and some recent actions, such as a recently created
transaction which spend some outputs, but isn't yet mined.

Typically, the "balance" command wants the latter, to reflect
the recent action, but things like proving ownership wants
the former.

This fixes a crash in get_reserve_proof, where a preliminary
check and the main code used two concepts of "balance".
2019-09-05 11:19:34 +00:00
stoffu f380f69c69
simplewallet: warn if invalid default ring size is set and actually ignore the setting 2019-08-29 15:55:53 +09:00
moneromooo-monero 1a367d6a22
simplewallet: lock console on inactivity 2019-08-28 19:01:48 +00:00
moneromooo-monero 19bfe7e5ab
simplewallet: fix warnings about useless std::move 2019-08-28 15:13:50 +00:00
moneromooo-monero 87d2f063af
simplewallet: moan harder about untrusted nodes 2019-08-24 12:36:10 +00:00
Tadeas Moravec 63186a01ce
Wallet: Option to export data to ASCII
New CLI wallet variable: export-format with options "binary" (the default),
or "ascii". "Binary" behaves as before, "ascii" forces the wallet to convert
data to ASCII using base64.

Reading files from the disk tries to auto detect what format has been
used (using a magic string added when exporting the data).

Implements https://github.com/monero-project/monero/issues/2859
2019-08-22 16:03:22 +02:00
luigi1111 d8244eb39c
Merge pull request #5808
5a91b83 simplewallet: add a few missing settings help text (stoffu)
ae7bf37 simplewallet: fix arg indexing bug in set_device_name (stoffu)
2019-08-21 15:41:42 -05:00
luigi1111 1bd3f1a1fb
Merge pull request #5750
884df82 wallet: provide original address for outgoing transfers (xiphon)
2019-08-21 15:20:51 -05:00
luigi1111 de30131abd
Merge pull request #5743
65f29a8 simplewallet: add restore_height command (tobtoht)
2019-08-21 15:17:26 -05:00
luigi1111 b488ee8188
Merge pull request #5742
0d916a6 Fix incorrectly named binding for MMS send_signer_config command (tobtoht)
2019-08-21 15:13:16 -05:00
luigi1111 9e8179ca84
Merge pull request #5740
256d286 Minor formatting fix in help set command (tobtoht)
2019-08-21 15:11:32 -05:00
luigi1111 65e937168e
Merge pull request #5722
8be5fea simplewallet: optional all flag to export_outputs/export_key_images (moneromooo-monero)
2019-08-21 15:08:10 -05:00
luigi1111 459beb50d4
Merge pull request #5685
a604241 simplewallet: don't ask about mining when running a command line (moneromooo-monero)
2019-08-17 15:27:21 -05:00
luigi1111 c5e926676a
Merge pull request #5656
8ccc30b Fix --restore-date usage (hyc)
2019-08-15 17:14:58 -05:00
stoffu ae7bf37ed6
simplewallet: fix arg indexing bug in set_device_name 2019-08-13 18:10:32 +09:00
stoffu 5a91b83cb4
simplewallet: add a few missing settings help text 2019-08-13 17:55:41 +09:00
luigi1111 5030b8e8aa
Merge pull request #5608
c820e18 simplewallet: print errors on exceptions creating wallets (moneromooo-monero)
2019-07-24 14:33:36 -05:00
luigi1111 8ae2681e08
Merge pull request #5594
f074b6b device: show address on device display (ph4r05)
2019-07-24 14:24:40 -05:00
luigi1111 d433abfe01
Merge pull request #5460
a23dbe6 simplewallet: prompt when spending more than one old out in one tx (moneromooo-monero)
2019-07-24 13:52:29 -05:00
xiphon 884df82db3 wallet: provide original address for outgoing transfers 2019-07-10 13:39:18 +00:00
thotbot 65f29a83c8 simplewallet: add restore_height command 2019-07-08 13:51:50 +00:00
tobtoht 0d916a667c
Fix incorrectly named binding for MMS send_signer_config command
send_message_config isn't used anywhere else in the code, and it is clear from the help command that it should be named send_signer_config.
2019-07-08 09:53:07 +00:00
tobtoht 256d286215
Minor formatting fix in help set command 2019-07-06 10:12:32 +00:00
moneromooo-monero 8be5fea1de
simplewallet: optional all flag to export_outputs/export_key_images 2019-07-02 19:42:28 +00:00
moneromooo-monero a604241ef6
simplewallet: don't ask about mining when running a command line
This is likely to be done via a script
2019-06-22 10:50:20 +00:00
Dusan Klinec f074b6b571
device: show address on device display
- Trezor: support for device address display (subaddress, integrated address)
- Wallet::API support added
- Simplewallet:
  - address device [<index>]
  - address new <label>  // shows address on device also
  - integrated_address [device] <payment_id|address>  // new optional "device" arg to display also on the device
2019-06-17 16:49:04 +02:00
Howard Chu 8ccc30b163
Fix --restore-date usage
The wallet was ignoring --restore-height and --restore-date params and
prompting for them again.
2019-06-16 21:11:33 +01:00
moneromooo-monero c820e1839f
simplewallet: print errors on exceptions creating wallets
Exceptions would otherwise terminate the process silently
2019-06-06 09:49:47 +00:00
moneromooo-monero 915f59e3c0
wallet: add unlock_time details to show_transfers
also add a note when receiving the tx, because the user
might not notice the "XXX blocks to unlock" in the balance.
2019-05-16 21:37:05 +00:00
Riccardo Spagni 950f79dc03
Merge pull request #5389
588e6700 simplewallet: fix output representation offset (moneromooo-monero)
35e0a968 wallet2: "output lineup" fake out selection (moneromooo-monero)
2019-04-18 22:01:51 +02:00
moneromooo-monero 588e670089
simplewallet: fix output representation offset 2019-04-18 15:14:41 +00:00
moneromooo-monero a23dbe69f6
simplewallet: prompt when spending more than one old out in one tx 2019-04-18 12:46:03 +00:00
moneromooo-monero 58eade689c
simplewallet: add the change amount to the prompt when locking 2019-04-17 11:05:18 +00:00
Riccardo Spagni 810dd0a5f6
Merge pull request #5450
926e0472 simplewallet: add another warning about long payment ids (moneromooo-monero)
2019-04-16 22:48:18 +02:00
Riccardo Spagni 8deee24cbb
Merge pull request #5431
34f8c237 simplewallet: fix warning about long payment id using the old option (moneromooo-monero)
2019-04-16 22:40:34 +02:00
moneromooo-monero 926e047288
simplewallet: add another warning about long payment ids 2019-04-16 10:11:02 +00:00
Riccardo Spagni 3f46c5b4e1
Merge pull request #5365
383c38fd fix init warning on whatever compiler version (italocoin)
2019-04-15 09:12:50 +02:00
moneromooo-monero 34f8c237c2
simplewallet: fix warning about long payment id using the old option 2019-04-12 14:09:26 +00:00
moneromooo-monero 8f1fe45fe1
simplewallet: fix merge error with new welcome command 2019-04-11 18:46:23 +00:00
moneromooo-monero d843f20044
simplewallet: add a welcome/disclaimer message command
I saw one when landing on www.tribler.org, and it seemed
like a good idea to have something similar, alongside some
more general "what is monero" text.
2019-04-11 11:11:45 +00:00
Riccardo Spagni 5db72d12b4
Merge pull request #5388
0be5b2ee simplewallet: new unset_ring command (moneromooo-monero)
2019-04-11 13:05:43 +02:00
Riccardo Spagni 5c02316598
Merge pull request #5382
c12b43cb wallet: add number of blocks required for the balance to fully unlock (moneromooo-monero)
3f1e9e84 wallet2: set confirmations to 0 for pool txes in proofs (moneromooo-monero)
36c037ec wallet_rpc_server: error out on getting the spend key from a hot wallet (moneromooo-monero)
cd1eaff2 wallet_rpc_server: always fill out subaddr_indices in get_transfers (moneromooo-monero)
2019-04-11 13:03:55 +02:00
Riccardo Spagni 3a4008f0fc
Merge pull request #5374
a2561653 wallet: new option to start background mining (moneromooo-monero)
2019-04-11 13:01:30 +02:00
moneromooo-monero 9f8dc4ce51
simplewallet: new net_stats command
displays total sent and received bytes
2019-04-11 10:46:41 +00:00
Riccardo Spagni e1f0e6da5c
Merge pull request #5340
16eda54b wallet: use original user address if we have a short payment id (moneromooo-monero)
2019-04-06 15:56:52 +02:00
moneromooo-monero a2561653cb
wallet: new option to start background mining
The setup-background-mining option can be used to select
background mining when a wallet loads. The user will be asked
the first time the wallet is created.
2019-04-04 18:10:45 +00:00
moneromooo-monero 0be5b2ee78
simplewallet: new unset_ring command
Useful when debugging, though not much for users
2019-04-02 14:18:07 +00:00
moneromooo-monero c12b43cb5a
wallet: add number of blocks required for the balance to fully unlock 2019-04-01 19:31:19 +00:00
Riccardo Spagni 286dec012d
Merge pull request #5333
18faa6da wallet: add freeze/thaw/frozen commands (moneromooo-monero)
2019-04-01 17:36:16 +02:00
Riccardo Spagni b8ab510f23
Merge pull request #5332
7c440915 Add get_tx_proof support, needed for new sanity check (cslashm)
98fdcb2a Add support for V11 protocol with BulletProofV2 and short amount. New scheme key destination contrfol Fix dummy decryption in debug mode (cslashm)
3a981a33 Add application version compatibility check. (cslashm)
2019-04-01 17:35:12 +02:00
Riccardo Spagni 5a71fb74f0
Merge pull request #5307
e99b2b12 simplewallet: make the long payment ids warnigns more warney (moneromooo-monero)
2019-04-01 17:27:25 +02:00
italocoin 383c38fdb1 fix init warning on whatever compiler version 2019-03-29 11:25:36 -04:00
cslashm 7c44091541 Add get_tx_proof support, needed for new sanity check
Enhance debug info
2019-03-28 18:26:15 +01:00
Riccardo Spagni e4b049da05
Merge pull request #5286
cce948a5 simplewallet: add some missing spacing before uses data (moneromooo-monero)
2019-03-24 19:38:50 +02:00
moneromooo-monero 16eda54b38
wallet: use original user address if we have a short payment id 2019-03-24 08:58:59 +00:00
moneromooo-monero 18faa6da0c
wallet: add freeze/thaw/frozen commands
These commands let one freeze outputs by key image, so they
do not appear in balance, nor are considered when creating
a transaction, etc

This is helpful when receiving an output from a suspected spy,
who might try to track your other outputs by seeing with what
other outputs it gets spent.

The frozen command may be used without parameters to list all
currently frozen outputs.
2019-03-22 09:19:24 +00:00
Riccardo Spagni dcfd5a8892
Merge pull request #5266
576116d4 wallet: fix load failure if the mms isn't usable (moneromooo-monero)
2019-03-21 14:51:30 +02:00
Riccardo Spagni 5e03bd06c1
Merge pull request #5235
c6a70af8 wallet2: key image import fixes (moneromooo-monero)
2019-03-21 14:45:58 +02:00
Riccardo Spagni 48e3a341f8
Merge pull request #5211
c9b13fbb tests/trezor: HF9 and HF10 tests (Dusan Klinec)
a1fd1d49 device/trezor: HF10 support added, wallet::API (Dusan Klinec)
d74d26f2 crypto: hmac_keccak added (Dusan Klinec)
2019-03-21 14:44:04 +02:00
Dusan Klinec a1fd1d499c
device/trezor: HF10 support added, wallet::API
- import only key images generated by cold signing process
- wallet_api: trezor methods added
- wallet: button request code added
- const added to methods
- wallet2::get_tx_key_device() tries to decrypt stored tx private keys using the device.
- simplewallet supports get_tx_key and get_tx_proof on hw device using the get_tx_key feature
- live refresh enables refresh with trezor i.e. computing key images on the fly. More convenient and efficient for users.
- device: has_ki_live_refresh added
- a thread is watching whether live refresh is being computed, if not for 30 seconds, it terminates the live refresh process - switches Trezor state
2019-03-20 21:11:02 +01:00
Riccardo Spagni 38dcd975f2
Merge pull request #4889
f42263eb wallet: adds rescan_bc option with preserving key images (Dusan Klinec)
2019-03-19 10:55:45 +02:00
moneromooo-monero e99b2b12fd
simplewallet: make the long payment ids warnigns more warney
We want people to really realize it's bad for *their* privacy.
2019-03-17 18:42:52 +00:00
Dusan Klinec f42263ebb6
wallet: adds rescan_bc option with preserving key images
- enables to perform rescan_spent / ki sync with untrusted daemon. Spent check status involves RPC calls which require trusted daemon status as it leaks information. The new call performs soft reset while preserving key images thus a sequence: refresh, ki sync / import, rescan_bc keep_ki will correctly perform spent checking without need for trusted daemon.

- useful to detect spent outputs with untrusted daemon on watch_only / multisig / hw-cold wallets after expensive key image sync.

- cli: rescan_bc keep_ki
2019-03-15 12:55:29 +01:00
moneromooo-monero cce948a5ae
simplewallet: add some missing spacing before uses data 2019-03-14 10:07:49 +00:00
moneromooo-monero 576116d415
wallet: fix load failure if the mms isn't usable 2019-03-11 16:11:48 +00:00
moneromooo-monero c6a70af86a
wallet2: key image import fixes
- return the right output data when offset is not zero
- do not consider import failed if result height is zero
  (it can be 0 if unknown)
- select the right tx pubkey when using subaddresses (it's faster,
  and we might select the wrong one if we got an output using one
  of the additional tx keys)
- account for skipped outputs for spent/unspent balance info

"spent" is arguably wrong, since it will count spent change
multiple times as it goes through receive/spend cycles.
2019-03-05 22:41:44 +00:00
binaryFate 1f2930ce0b Update 2019 copyright 2019-03-05 22:05:34 +01:00
Riccardo Spagni 8e3bd389ea
Merge pull request #5143
1f5680c8 simplewallet: add help for ask-password options (moneromooo-monero)
c7c74caf simplewallet: mark confirm-missing-payment-id as obsolete (moneromooo-monero)
2019-03-04 21:31:33 +02:00
Riccardo Spagni 46fd181cca
Merge pull request #4054
24569454 epee: add SSL support (moneromooo-monero)
2019-03-04 21:17:21 +02:00
moneromooo-monero 1f5680c8db
simplewallet: add help for ask-password options 2019-02-14 09:21:22 +00:00
moneromooo-monero c7c74cafec
simplewallet: mark confirm-missing-payment-id as obsolete 2019-02-14 09:21:22 +00:00
moneromooo-monero 49b2a48a46
simplewallet: tell the user to complain to the recipient
for long payment ids
2019-02-03 10:34:07 +00:00
moneromooo-monero 2456945408
epee: add SSL support
RPC connections now have optional tranparent SSL.

An optional private key and certificate file can be passed,
using the --{rpc,daemon}-ssl-private-key and
--{rpc,daemon}-ssl-certificate options. Those have as
argument a path to a PEM format private private key and
certificate, respectively.
If not given, a temporary self signed certificate will be used.

SSL can be enabled or disabled using --{rpc}-ssl, which
accepts autodetect (default), disabled or enabled.

Access can be restricted to particular certificates using the
--rpc-ssl-allowed-certificates, which takes a list of
paths to PEM encoded certificates. This can allow a wallet to
connect to only the daemon they think they're connected to,
by forcing SSL and listing the paths to the known good
certificates.

To generate long term certificates:

openssl genrsa -out /tmp/KEY 4096
openssl req -new -key /tmp/KEY -out /tmp/REQ
openssl x509 -req -days 999999 -sha256 -in /tmp/REQ -signkey /tmp/KEY -out /tmp/CERT

/tmp/KEY is the private key, and /tmp/CERT is the certificate,
both in PEM format. /tmp/REQ can be removed. Adjust the last
command to set expiration date, etc, as needed. It doesn't
make a whole lot of sense for monero anyway, since most servers
will run with one time temporary self signed certificates anyway.

SSL support is transparent, so all communication is done on the
existing ports, with SSL autodetection. This means you can start
using an SSL daemon now, but you should not enforce SSL yet or
nothing will talk to you.
2019-02-02 20:05:33 +00:00
Riccardo Spagni 756ed760f7
Merge pull request #5056
8258a9e7 wallet: do not check txpool in background mode (moneromooo-monero)
2019-01-28 21:27:34 +02:00
moneromooo-monero c6d387184e
core: include a dummy encrypted payment id when no payment is used
For better transaction uniformity, even though this wastes space.
2019-01-18 16:58:50 +00:00
moneromooo-monero b7441c4a32
core, wallet: remember original text version of destination address 2019-01-18 16:58:47 +00:00
Riccardo Spagni 13b12973d1
Merge pull request #5037
51b0625e simplewallet: improve punctuation in user visible string (selsta)
2019-01-18 09:25:59 +02:00
Riccardo Spagni f3368acef5
Merge pull request #5020
1ef79b43 simplewallet: disable long payment ids by default (moneromooo-monero)
2019-01-18 09:25:18 +02:00
Riccardo Spagni 4fb9cfa017
Merge pull request #4971
15904610 simplewallet: remove extra colon in a few calls to input_secure_line (stoffu)
247dab73 simplewallet: avoid conversion to string in input_secure_line (stoffu)
bf9ef7ad simplewallet: factor yesno hint into input_line (stoffu)
2019-01-18 09:23:03 +02:00
stoffu 1717e63551
simplewallet: fix help text of rescan_bc to mention the "hard" option 2019-01-18 09:51:44 +09:00
stoffu 1590461005
simplewallet: remove extra colon in a few calls to input_secure_line 2019-01-18 09:48:54 +09:00
stoffu 247dab7304
simplewallet: avoid conversion to string in input_secure_line 2019-01-18 09:48:52 +09:00
stoffu bf9ef7adb6
simplewallet: factor yesno hint into input_line 2019-01-18 09:48:48 +09:00
moneromooo-monero 1ef79b430f
simplewallet: disable long payment ids by default
unless --long-payment-id-support is used
2019-01-16 20:06:04 +00:00
selsta 51b0625e00 simplewallet: improve punctuation in user visible string 2019-01-16 20:45:39 +01:00
Riccardo Spagni 6285c43ffc
Merge pull request #5042
c1081091 simplewallet: Show new address after going multisig (rbrunner7)
2019-01-16 21:42:17 +02:00
Riccardo Spagni 8e4c0de46a
Merge pull request #5035
53fcd159 simplewallet: don't subtract 1 to estimate blockchain height (moneromooo-monero)
2019-01-16 21:40:56 +02:00
Riccardo Spagni 3eb96fa512
Merge pull request #5027
9092fc4b wallet: do not display daemon controlled text if untrusted (moneromooo-monero)
2019-01-16 21:38:15 +02:00
Riccardo Spagni 46fcae717a
Merge pull request #5018
8bd71677 simplewallet: remove ability to transfer with detached short payment ids (moneromooo-monero)
2019-01-16 21:35:48 +02:00
Riccardo Spagni f8a10bcc07
Merge pull request #5009
5e10dee3 simplewallet: fix show_transfers colouring, and add red for failed (moneromooo-monero)
2019-01-16 21:30:52 +02:00
Riccardo Spagni cb996d15c5
Merge pull request #4981
60b35c91 Add --restore-date param (Howard Chu)
2019-01-16 19:05:31 +02:00
moneromooo-monero 8258a9e7a9
wallet: do not check txpool in background mode
This avoids the constant message about needed to run refresh
to enter a password.
Also mention the txpool when asking for the password if the
reason is a pool tx.
2019-01-09 11:21:39 +00:00
rbrunner7 c108109102 simplewallet: Show new address after going multisig 2019-01-04 16:33:02 +01:00
moneromooo-monero 53fcd15953
simplewallet: don't subtract 1 to estimate blockchain height
in case it returns 0, and other uses don't, plus it's a estimation anyway.
2019-01-02 00:55:19 +00:00
moneromooo-monero db3f2a91fa
wallet: optionally keep track of owned outputs uses 2018-12-31 23:57:51 +00:00
luigi1111 a872a2a41a
Merge pull request #4948
1d892ec simplewallet: donate command validate amount (selsta)
2018-12-31 16:10:30 -06:00
moneromooo-monero 9092fc4bfd
wallet: do not display daemon controlled text if untrusted 2018-12-30 01:32:57 +00:00
moneromooo-monero 8bd716777e
simplewallet: remove ability to transfer with detached short payment ids
It seemed like a good idea at the time
2018-12-27 00:45:04 +00:00
Tadeas Moravec e6f026e530
Simplewallet: Unify usage messages.
Help messages describe the commands usage. When users run the command
with wrong arguments, it usually helpfully offers the usage, too.
Unfortunately, these two usage messages were duplicated in the code and
started to get out of sync.

Fixing with constant strings.
2018-12-23 20:12:50 +00:00
moneromooo-monero 5e10dee3ea
simplewallet: fix show_transfers colouring, and add red for failed
Also add the type back, as it was somehow weirdly split into
two different fields, one being a union...
2018-12-23 15:15:55 +00:00
Howard Chu 60b35c91b9
Add --restore-date param
Estimate restore height from given date
Check date format early, error out early if invalid
2018-12-14 19:11:35 +00:00
rbrunner7 1ebcd7b9b0 MMS (Multisig Messaging System): Initial version 2018-12-12 21:49:20 +01:00
Riccardo Spagni c73ac91af8
Merge pull request #4897
9b5efad2 simplewallet: enable donation on testnet/stagenet for easier testing (stoffu)
2018-12-12 11:55:13 +02:00
Riccardo Spagni 0b31baf6e4
Merge pull request #4839
d71f89e2 device/trezor: device/trezor: correct device initialization, status check (Dusan Klinec)
65b9bca7 device/trezor: python2 compatibility - bundle dependencies (Dusan Klinec)
9cf636af device/trezor: ask for KI sync on first refresh (Dusan Klinec)
d21dad70 device: enable to use multiple independent device wallets (Dusan Klinec)
318cc784 device/trezor: passphrase entry on host (Dusan Klinec)
2018-12-12 11:53:42 +02:00
selsta 1d892ec881
simplewallet: donate command validate amount 2018-12-07 13:43:21 +01:00
Dusan Klinec 9cf636af69
device/trezor: ask for KI sync on first refresh
When doing a first refresh on HW-token based wallet KI sync is required if money were received. Received money may indicate wallet was already used before the restore I.e., some transaction could have been already sent from the wallet. The spent UTXO would not be detected as spent which could lead to double spending errors on submitting a new transaction.

Thus if the wallet is HW-token based with the cold signing protocol and the first refresh detected received money the user is asked to perform the key image sync.
2018-12-04 18:38:17 +01:00
Dusan Klinec d21dad70dd
device: enable to use multiple independent device wallets
- adds a new option `--hw-device-deriv-path` to the simple wallet. Enables to specify wallet derivation path / wallet code (path avoided so it can be misinterpreted as a file path).
- devices can use different derivation mechanisms. Trezor uses standard SLIP-10 mechanism with fixed SLIP-44 prefix for Monero
- Trezor: when empty, the default derivation mechanism is used with 44'/128'/0'. When entered the derivation path is 44'/128'/PATH.
- Trezor: the path is always taken as elements are hardened (1<<31 bit turned on)
2018-12-04 18:38:16 +01:00
Riccardo Spagni 81418cb281
Merge pull request #4894
aee7a4e3 wallet_rpc_server: do not use RPC data if the call failed (moneromooo-monero)
1a0733e5 windows_service: fix memory leak (moneromooo-monero)
0dac3c64 unit_tests: do not rethrow a copy of an exception (moneromooo-monero)
5d9915ab cryptonote: fix get_unit for non default settings (moneromooo-monero)
d4f50cb1 remove some unused code (moneromooo-monero)
61163971 a few minor (but easy) performance tweaks (moneromooo-monero)
30023074 tests: slow_memmem now returns size_t (moneromooo-monero)
2018-12-04 17:33:19 +02:00
Riccardo Spagni d4a0fb2b89
Merge pull request #4880
96e6b439 blockchain_stats: don't use gmtime_r on Windows (moneromooo-monero)
2018-12-04 17:29:46 +02:00
Riccardo Spagni eba668c6ad
Merge pull request #4862
3998a937 Enhance help text for print_ring. (Tadeas Moravec)
3900fb77 Enhance help text for incoming_transfers. (Tadeas Moravec)
2018-12-04 17:09:40 +02:00
Dusan Klinec 318cc78457
device/trezor: passphrase entry on host
- simple device callback object added. Device can request passphrase/PIN entry via the callback or notify user some action is required
- callback is routed to wallet2, which routes the callback to i_wallet_callback so CLI or GUI wallets can support passphrase entry for HW tokens
- wallet: device open needs wallet callback first - passphrase protected device needs wallet callback so user can enter passphrase
2018-11-29 04:33:41 +01:00
stoffu 0e2a5d75de
simplewallet: use is_transfer_unlocked instead of is_tx_spendtime_unlocked for show_transfers
Followup on #4728
2018-11-27 07:50:16 +09:00
stoffu 9b5efad294
simplewallet: enable donation on testnet/stagenet for easier testing 2018-11-24 08:25:38 +09:00
moneromooo-monero d4f50cb109
remove some unused code
Found by codacy.com
2018-11-23 15:37:36 +00:00
moneromooo-monero 96e6b43970
blockchain_stats: don't use gmtime_r on Windows
In some cases, it doesn't like it (I don't know the details).

Factor into a new epee function
2018-11-21 00:50:53 +00:00
Tadeas Moravec 3998a937e5
Enhance help text for print_ring. 2018-11-16 15:15:35 +00:00
Tadeas Moravec 3900fb779f
Enhance help text for incoming_transfers. 2018-11-16 14:53:31 +00:00
Riccardo Spagni 3a40d94998
Merge pull request #4800
79b4dae6 simplewallet: slightly adjust wording when printing multisig seed (stoffu)
2018-11-16 11:12:43 +02:00
Riccardo Spagni 40bb7a304a
Merge pull request #4792
5d4f3df8 simplewallet: reorganize SCOPED_WALLET_UNLOCK a bit more (stoffu)
2018-11-16 11:09:41 +02:00
Riccardo Spagni 86395e5bd6
Merge pull request #4791
5878fe95 simplewallet: don't skip asking for password when watch-only (stoffu)
2018-11-16 11:08:34 +02:00
Riccardo Spagni 279a0a4d8a
Merge pull request #4786
c22e85fe simplewallet: remove redundant messages on daemon connection failure (stoffu)
2018-11-16 11:06:32 +02:00
Riccardo Spagni 1910aab5f4
Merge pull request #4236
a9357141 Add new command "export_transfers" to save transfers to csv (sachaaaaa)
2018-11-16 10:57:43 +02:00
stoffu 79b4dae66f
simplewallet: slightly adjust wording when printing multisig seed 2018-11-15 23:51:19 +09:00
stoffu f0459abbb9
cmake: move Boost_LOCALE_LIBRARY out of ICU_LIBRARIES 2018-11-15 00:18:31 +09:00
sachaaaaa a93571410e Add new command "export_transfers" to save transfers to csv 2018-11-12 12:03:11 +11:00
Riccardo Spagni 164ba3ef1c
Merge pull request #4731
f26ce08c wallet: add a non destructive blockchain rescan (moneromooo-monero)
2018-11-06 21:30:12 +02:00
Riccardo Spagni 1667d41064
Merge pull request #4728
1f35de23 simplewallet: display locked/unlocked state in show_transfers (moneromooo-monero)
2018-11-06 14:54:17 +02:00
moneromooo-monero 5f614ba968
simplewallet: print the number of show/all transfers 2018-11-04 22:27:05 +00:00
moneromooo-monero 8d71b2b1b3
wallet2: only export necessary outputs and key images
and disable annoying test that requires ridiculous amounts
of skullduggery every time some format changes
2018-11-04 22:27:01 +00:00
stoffu 5d4f3df887
simplewallet: reorganize SCOPED_WALLET_UNLOCK a bit more
Followup on #4555
2018-11-04 10:51:14 +09:00
stoffu 5878fe95ce
simplewallet: don't skip asking for password when watch-only 2018-11-04 10:50:03 +09:00
moneromooo-monero f26ce08c8a
wallet: add a non destructive blockchain rescan 2018-11-03 15:04:37 +00:00
Dusan Klinec 29ffb6bba8
device/trezor: trezor support added 2018-11-02 21:36:39 +01:00
stoffu c22e85fe1a
simplewallet: remove redundant messages on daemon connection failure
try_connect_to_daemon with silent=false already prints failure message
2018-11-02 23:25:27 +09:00
Riccardo Spagni e7a475e4e6
Merge pull request #4645
6f88c03d Simplewallet: update help text for show_transfers. (Ted Moravec)
2018-11-01 22:32:41 +02:00
Riccardo Spagni d6fb329653
Merge pull request #4555
68e9744d simplewallet: perform trivial error checks before password prompt (xiphon)
2018-10-26 22:33:09 +02:00
Riccardo Spagni b8a4e5b7a6
Merge pull request #4547
f2c2c47a simplewallet: fixed deadlock if a user hits CTRL+C twice (xiphon)
2018-10-26 22:31:37 +02:00
moneromooo-monero 1f35de2300
simplewallet: display locked/unlocked state in show_transfers
it doesn't display the details, which are already displayed
in show_transfer
2018-10-25 23:02:42 +00:00
moneromooo-monero 99cd6f961a
Rename "blackball" for clarity
Apparently some people seem to think it's a censorship list...
2018-10-18 18:45:45 +00:00
Ted Moravec 6f88c03dfc
Simplewallet: update help text for show_transfers.
Describe the output format.
2018-10-18 09:14:15 +00:00
Riccardo Spagni f6cfca9a40
Merge pull request #4551
c0822fdd simplewallet: mark default-ring-size setting as obsolete (moneromooo-monero)
2018-10-15 13:30:01 +02:00
moneromooo-monero 14ed029b24
simplewallet: fix view key parsing in --generate-from-view-key 2018-10-12 12:54:42 +00:00
xiphon 68e9744d44 simplewallet: perform trivial error checks before password prompt 2018-10-10 20:01:04 +00:00
xiphon f2c2c47a4b simplewallet: fixed deadlock if a user hits CTRL+C twice
Co-authored-by: moneromooo-monero <moneromooo-monero@users.noreply.github.com>
2018-10-10 19:39:51 +00:00
moneromooo-monero c0822fdd30
simplewallet: mark default-ring-size setting as obsolete 2018-10-10 15:04:11 +00:00
Riccardo Spagni e19652df51
Merge pull request #4036
9acf42d3 Multisig M/N functionality core tests added (naughtyfox)
9f3963e8 Arbitrary M/N multisig schemes: * support in wallet2 * support in monero-wallet-cli * support in monero-wallet-rpc * support in wallet api * support in monero-gen-trusted-multisig * unit tests for multisig wallets creation (naughtyfox)
2018-10-07 19:57:26 +02:00
Guillaume LE VAILLANT 977df6315f Fix some calls to the translation function
Some strings were not detected by lupdate because "tr() cannot be called without
context".
2018-10-06 10:26:06 +02:00
Riccardo Spagni 445d9c86f2
Merge pull request #4390
a0613532 secure_pwd_reader: Add proper Unicode handling [Ryo contribution] (fireice-uk)
579383c2 simplewallet: Add Unicode input_line [Ryo backport] (fireice-uk)
2018-10-05 23:12:42 +02:00
naughtyfox 9f3963e823 Arbitrary M/N multisig schemes:
* support in wallet2
* support in monero-wallet-cli
* support in monero-wallet-rpc
* support in wallet api
* support in monero-gen-trusted-multisig
* unit tests for multisig wallets creation
2018-10-01 19:16:56 +03:00
moneromooo-monero 25e5890d37
wallet: fix --generate-from-json using wrong password 2018-10-01 12:32:26 +00:00
Riccardo Spagni effcbf2060
Merge pull request #4459
bcf3f6af fuzz_tests: catch unhandled exceptions (moneromooo-monero)
3ebd05d4 miner: restore stream flags after changing them (moneromooo-monero)
a093092e levin_protocol_handler_async: do not propagate exception through dtor (moneromooo-monero)
1eebb82b net_helper: do not propagate exceptions through dtor (moneromooo-monero)
fb6a3630 miner: do not propagate exceptions through dtor (moneromooo-monero)
2e2139ff epee: do not propagate exception through dtor (moneromooo-monero)
0749a8bd db_lmdb: do not propagate exceptions in dtor (moneromooo-monero)
1b0afeeb wallet_rpc_server: exit cleanly on unhandled exceptions (moneromooo-monero)
418a9936 unit_tests: catch unhandled exceptions (moneromooo-monero)
ea7f9543 threadpool: do not propagate exceptions through the dtor (moneromooo-monero)
6e855422 gen_multisig: nice exit on unhandled exception (moneromooo-monero)
53df2deb db_lmdb: catch error in mdb_stat calls during migration (moneromooo-monero)
e67016dd blockchain_blackball: catch failure to commit db transaction (moneromooo-monero)
661439f4 mlog: don't remove old logs if we failed to rename the current file (moneromooo-monero)
5fdcda50 easylogging++: test for NULL before dereference (moneromooo-monero)
7ece1550 performance_test: fix bad last argument calling add_arg (moneromooo-monero)
a085da32 unit_tests: add check for page size > 0 before dividing (moneromooo-monero)
d8b1ec8b unit_tests: use std::shared_ptr to shut coverity up about leaks (moneromooo-monero)
02563bf4 simplewallet: top level exception catcher to print nicer messages (moneromooo-monero)
c57a65b2 blockchain_blackball: fix shift range for 32 bit archs (moneromooo-monero)
2018-09-29 22:20:38 +02:00
Riccardo Spagni b710d78026
Merge pull request #4439
174f31bf simplewallet: don't complain about payment id on pool mined blocks (moneromooo-monero)
2018-09-29 22:20:05 +02:00
Riccardo Spagni b65e236fda
Merge pull request #4405
8db2d8d4 simplewallet: fix --generate-from-json setting wrong wallet filename (moneromooo-monero)
2018-09-21 20:46:54 +02:00
Riccardo Spagni 85110b42ab
Merge pull request #4401
66901901 README: harmonize command formatting inside README.md (Andrea)
8cd98408 disable AES on s390x architecture (Tuan M. Hoang)
4ed30bab wallet: implement coin splitting for sweep_* 'outputs' option (whythat)
24f52396 wallet: add 'outputs' option for sweep_* commands (whythat)
52e19d69 README: Compile boost with cxxflags=-fPIC cflags=-fPIC (Italocoin Project)
0c77523d README: fill in libsodium package name for Arch (phloatingman)
2018-09-21 20:46:22 +02:00
Riccardo Spagni 37a306370d
Merge pull request #4388
05edc969 simplewallet: remove obsolete transfer_original command (moneromooo-monero)
2018-09-21 20:44:19 +02:00
Riccardo Spagni dc9a69d980
Merge pull request #4376
2ace509a simplewallet: print reason why refresh+password is needed (moneromooo-monero)
2018-09-21 20:40:46 +02:00
moneromooo-monero 8db2d8d416
simplewallet: fix --generate-from-json setting wrong wallet filename 2018-09-19 20:22:46 +00:00
fireice-uk 579383c26b simplewallet: Add Unicode input_line [Ryo backport] 2018-09-19 13:39:01 +01:00
Riccardo Spagni 580497d5f9
Merge pull request #4306
56b50faa wallet: use wipeable_string in more places where a secret is used (moneromooo-monero)
07ec748c wipeable_string: add hex_to_pod function (moneromooo-monero)
2018-09-18 17:32:11 +02:00
Riccardo Spagni b174527f1d
Merge pull request #4302
ba8dd347 api/wallet: properly disable key encryption (stoffu)
2018-09-18 17:31:35 +02:00
whythat 24f5239693
wallet: add 'outputs' option for sweep_* commands
'outputs' option allows to specify the number of
separate outputs of smaller denomination that will
be created by sweep operation.

rebased by moneromooo
2018-09-18 11:01:59 +00:00
stoffu ba8dd3479d
api/wallet: properly disable key encryption 2018-09-17 22:15:29 +09:00
moneromooo-monero 05edc969c0
simplewallet: remove obsolete transfer_original command 2018-09-16 14:29:41 +00:00
Dusan Klinec f9b22a7b01
hw_device: support for multiple devices added [for review]
- device name is a new wallet property
- full device name is now a bit more structured so we can address particular device vendor + device path. Example: 'Ledger', 'Trezor:udp', 'Trezor:udp:127.0.0.1:21324', 'Trezor:bridge:usb01'. The part before ':' identifies HW device implementation, the optional part after ':' is device path to look for.
- new --hw-device parameter added to the wallet, can name the hardware device
- device reconnect added
2018-09-14 16:02:00 +02:00
Riccardo Spagni d743994086
Merge pull request #4324
44259e56 wallet: ask-password can now ask without encrypting the secret spend key (moneromooo-monero)
2018-09-14 13:15:41 +02:00
moneromooo-monero 44259e560e
wallet: ask-password can now ask without encrypting the secret spend key 2018-09-14 11:14:21 +00:00
Riccardo Spagni dd2fc3afe3
Merge pull request #4332
20171746 wallet2: factor the creation of a new wallet keys file (moneromooo-monero)
be6acfd5 wallet2: factor new blockchain setup (moneromooo-monero)
2018-09-14 13:05:43 +02:00
Riccardo Spagni 239a7e10ff
Merge pull request #4253
be001326 remove obsolete daemon selection of fake outs and old tx construction (moneromooo-monero)
2018-09-14 12:54:25 +02:00
moneromooo-monero be001326d1
remove obsolete daemon selection of fake outs and old tx construction 2018-09-14 10:51:45 +00:00
Riccardo Spagni c74d9057f8
Merge pull request #4260
a54dbaee blockchain_blackball: add --force-chain-reaction-pass flag (moneromooo-monero)
44439c32 record blackballs as amount/offset, and add export ability (moneromooo-monero)
4bce935b blockchain_blackball: more optimizations (moneromooo-monero)
b66ba783 blockchain_blackball: do not process duplicate blockchains parts (moneromooo-monero)
639a3c01 blockchain_blackball: make it clear secondary passes are not incremental (moneromooo-monero)
eb8a51be blockchain_blackball: detect spent outputs by partial ring reuse (moneromooo-monero)
d6d276c6 blockchain_blackball: fix chain reaction phase in incremental mode (moneromooo-monero)
2b2a681b blockchain_blackball: avoid false positives for different amounts (moneromooo-monero)
80e4fef3 blockchain_blackball: set transaction looping txn to read only (moneromooo-monero)
4801d6b5 blockchain_blackball: add stats (moneromooo-monero)
846190fd blockchain_blackball: support pre-v2 databases (moneromooo-monero)
daa6cc7d blockchain_blackball: use LMDB for the cache (moneromooo-monero)
50cb370d ringdb: allow blackballing many outputs at once (moneromooo-monero)
2018-09-14 12:45:18 +02:00
Riccardo Spagni d794abb8c5
Merge pull request #4208
2c636e45 simplewallet: handle transfers using a monero: URI (moneromooo-monero)
2018-09-14 12:36:27 +02:00
moneromooo-monero 2ace509a78
simplewallet: print reason why refresh+password is needed 2018-09-14 08:26:36 +00:00
moneromooo-monero 56b50faab2
wallet: use wipeable_string in more places where a secret is used 2018-09-12 09:26:11 +00:00
moneromooo-monero 5ffb2ff9b7
v8: per byte fee, pad bulletproofs, fixed 11 ring size 2018-09-11 13:38:07 +00:00
moneromooo-monero 44439c3208
record blackballs as amount/offset, and add export ability 2018-09-10 09:04:18 +00:00
luigi1111 8bbae77134
Merge pull request #4262
c3c14f3 simplewallet: allow named priority levels for default-priority (moneromooo-monero)
2018-09-04 13:11:18 -05:00
moneromooo-monero 20171746de
wallet2: factor the creation of a new wallet keys file 2018-09-03 11:27:46 +00:00
moneromooo-monero 2c636e45f2
simplewallet: handle transfers using a monero: URI 2018-08-28 19:55:49 +00:00