aboutsummaryrefslogtreecommitdiff
path: root/src/wallet/wallet2.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #584Riccardo Spagni2015-12-311-1/+3
|\ | | | | | | 5c67c48 wallet: don't forget to close the file after storing cache (moneromooo-monero)
| * wallet: don't forget to close the file after storing cachemoneromooo-monero2015-12-311-1/+3
| | | | | | | | | | Also add some flags to open, as epee's save_string_to_file does, to truncate file, etc.
* | updated copyright yearRiccardo Spagni2015-12-311-1/+1
| |
* | wallet: add a rescan_bc command and rescan_blockchain RPCmoneromooo-monero2015-12-301-0/+15
| | | | | | | | | | | | | | | | | | 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.
* | wallet: protect against exceptions in the block pull threadmoneromooo-monero2015-12-301-13/+29
|/ | | | | This can happen when the daemon exits, which would also cause the wallet to crash via unhandled exception
* no longer need to pass the size to rapidjsonRiccardo Spagni2015-12-301-2/+2
|
* wallet: store cache to file without unnecessary memory buffermoneromooo-monero2015-12-291-6/+8
|
* fixed missing parenthesisRiccardo Spagni2015-12-241-1/+1
|
* fix for 'failed to generate new wallet: failed to save file' error during ↵Lex Kalinkin2015-12-241-3/+5
| | | | wallet generation
* Allow the wallet to access hard fork informationmoneromooo-monero2015-12-191-1/+36
| | | | And make it change behavior slightly when close/after first hard fork
* Merge pull request #544Riccardo Spagni2015-12-181-2/+2
|\ | | | | | | 01e92eb replace std::auto_ptr with std::unique_ptr (moneromooo-monero)
| * replace std::auto_ptr with std::unique_ptrmoneromooo-monero2015-12-171-2/+2
| | | | | | | | The former is obsolete
* | wallet: save to a temporary file, then renamemoneromooo-monero2015-12-171-1/+14
|/ | | | This should avoid most of wallet cache corruption cases
* wallet: make the wallet refresh type a wallet settingmoneromooo-monero2015-12-051-0/+13
| | | | | instead of a command line setting. It makes sense that is is a long lived setting.
* wallet: default auto-refresh to true for old walletsmoneromooo-monero2015-12-051-0/+1
|
* wallet2: default auto-refresh to true for preexisting walletsmoneromooo-monero2015-11-301-1/+1
|
* wallet: cancellable refreshmoneromooo-monero2015-11-291-0/+1
| | | | | | | | ^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.
* Merge pull request #509Riccardo Spagni2015-11-301-0/+8
|\ | | | | | | 3030e3e wallet2: remove confirmed transactions from detached blocks (moneromooo-monero)
| * wallet2: remove confirmed transactions from detached blocksmoneromooo-monero2015-11-291-0/+8
| |
* | Merge pull request #507Riccardo Spagni2015-11-301-0/+4
|\ \ | | | | | | | | | 62e49a5 wallet: optional automatic refresh from the daemon (moneromooo-monero)
| * | wallet: optional automatic refresh from the daemonmoneromooo-monero2015-11-281-0/+4
| |/ | | | | | | | | | | 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.
* | wallet2: speed up wallet refresh for large minersmoneromooo-monero2015-11-281-14/+47
| |
* | wallet2: parallelize pulling blocks and processing them on refreshmoneromooo-monero2015-11-271-13/+44
| | | | | | | | | | This needed locking the use of m_http_client, to avoid collisions in I/O.
* | wallet2: maintain the short chain manually when refreshingmoneromooo-monero2015-11-271-3/+16
| |
* | wallet2: split pull blocks between pulling and processingmoneromooo-monero2015-11-271-9/+18
|/
* wallet: make the refresh optimizations selectable via command linemoneromooo-monero2015-11-221-1/+5
| | | | | Take the opportunity to add a no-coinbase case too, for even faster sync when an address is known to never have mined to.
* wallet: speedup refresh from daemonmoneromooo-monero2015-11-221-37/+58
| | | | | | Assume the whole of a coinbase goes to the same address (so that if the first output isn't for us, none of it is), and only look for payment id when we received something in the transaction.
* wallet2: minor cleanupmoneromooo-monero2015-11-221-7/+4
| | | | | - use std::vector::std::deque to not leak when exceptions happen - use std::unique_ptr instead of the deprecated std::auto_ptr
* wallet2: speedup refresh a bitmoneromooo-monero2015-11-221-2/+148
| | | | | | Use the NoodleDoodle threading technique to speedup a couple code blocks on the main path when refreshing blocks without any transactions for us.
* wallet: rename store-tx-keys to store-tx-infomoneromooo-monero2015-11-221-6/+7
| | | | With backward compatibility
* wallet: improve show_transfersmoneromooo-monero2015-11-221-2/+37
| | | | More information is now saved and displayed
* wallet: use incoming blocks to keep track of payments toomoneromooo-monero2015-11-211-0/+19
|
* wallet: track outgoing payments and add a show_transfers commandmoneromooo-monero2015-11-151-7/+35
| | | | | It's a user friendly display of incoming and outgoing transfers, listed by height, within an optional height range.
* simplewallet: add a set default-mixin commandmoneromooo-monero2015-10-301-0/+5
| | | | The default default mixin is 4. It can now be changed per wallet.
* wallet2: fix CLANG compile errormoneromooo-monero2015-10-301-1/+1
|
* Fix a possibly-unused warning, and rationalize typesmoneromooo-monero2015-10-271-5/+5
|
* Fix leak on real output when using a very recent outputmoneromooo-monero2015-10-251-1/+1
| | | | | | | | The wallet and the daemon applied different height considerations when selecting outputs to use. This can leak information on which input in a ring signature is the real one. Found and originally fixed by smooth on Aeon.
* wallet2: really include non canonical outputs in dust sweepmoneromooo-monero2015-10-141-1/+1
|
* from hard fork 2, all outputs must be decomposedmoneromooo-monero2015-10-111-15/+19
| | | | The wallet decomposes fully as of now too.
* wallet: only return tx keys via RPC if requestedmoneromooo-monero2015-08-241-3/+8
| | | | | To get the tx keys returned via RPC, set the "get_tx_key" or "get_tx_keys" request field to true (defaults to false).
* Merge pull request #381Riccardo Spagni2015-08-241-2/+64
|\ | | | | | | | | f197599 wallet: encrypt the cache file (moneromooo-monero) 98c76a3 chacha8: add a key generation variant that take a pointer and size (moneromooo-monero)
| * wallet: encrypt the cache filemoneromooo-monero2015-08-221-2/+64
| | | | | | | | | | | | | | | | It contains private data, such as a record of transactions. The key is derived from the view and spend secret keys. The encryption currently is one shot, so may require a lot of memory for large wallet caches.
* | make tx keys available to the usermoneromooo-monero2015-08-191-5/+21
|/ | | | | They are also stored in the cache file, to be retrieved using a new get_tx_key command.
* wallet: new rescan_spent command to update outputs' spent statusmoneromooo-monero2015-08-111-0/+41
| | | | | | | 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.
* encrypted payment ids are now 64 bit, instead of 256 bitmoneromooo-monero2015-08-091-7/+42
| | | | | | | | | | | | | | 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.
* Encrypted payment IDsmoneromooo-monero2015-08-091-2/+20
| | | | | | | | | | | | | | 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.
* wallet: set watch-only flag to false when creating a new walletmoneromooo-monero2015-08-041-0/+1
|
* wallet: new transaction construction algorithmmoneromooo-monero2015-07-221-2/+407
| | | | | | | | | | | | | | | 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.
* wallet: add boolean to always confirm transactions with the usermoneromooo-monero2015-07-181-0/+5
| | | | | 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.
* Merge pull request #324Riccardo Spagni2015-06-201-2/+36
|\ | | | | | | | | | | | | dc4dbc1 simplewallet: allow creating a wallet from a public address and view secret key (moneromooo-monero) 6a0f61d account: allow creating an account from a public address and view secret key (moneromooo-monero) e05a58a wallet2: fix write_watch_only_wallet comment description (moneromooo-monero) 4bf6f0d simplewallet: forbid seed commands for watch only wallets (moneromooo-monero)