aboutsummaryrefslogtreecommitdiff
path: root/src/wallet/wallet2.h (follow)
AgeCommit message (Collapse)AuthorFilesLines
2016-09-26wallet2_api: added Wallet::daemonBlockChainHeight()Ilya Kitaev1-0/+1
2016-09-16wallet: change priority/fee to ArticMine's recommendationmoneromooo-monero1-9/+9
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-15Decrease minimum fee from 0.01/kB to 0.002/kBmoneromooo-monero1-1/+1
The wallet will start using that fee about two weeks after hard fork 3, when most people will likely have updated their daemons.
2016-08-28wallet: transfer_selected_rct now also selects fake outsmoneromooo-monero1-0/+2
2016-08-28New "Halfway RingCT" outputs for coinbase transactionsmoneromooo-monero1-2/+17
When RingCT is enabled, outputs from coinbase transactions are created as a single output, and stored as RingCT output, with a fake mask. Their amount is not hidden on the blockchain itself, but they are then able to be used as fake inputs in a RingCT ring. Since the output amounts are hidden, their "dustiness" is not an obstacle anymore to mixing, and this makes the coinbase transactions a lot smaller, as well as helping the TXO set to grow more slowly. Also add a new "Null" type of rct signature, which decreases the size required when no signatures are to be stored, as in a coinbase tx.
2016-08-28rct amount key modified as per luigi1111's recommendationsmoneromooo-monero1-4/+1
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-28wallet: do not store signatures in the wallet cachemoneromooo-monero1-6/+29
Saves some substantial space. Also avoid calculating tx hashes we don't need.
2016-08-28wallet2: factor m_spent changesmoneromooo-monero1-0/+2
Makes it easier to track what is going on.
2016-08-28wallet: use the prefered rct case only when enough rct outs existmoneromooo-monero1-0/+2
2016-08-28wallet: do not try to use rct txes a few blocks before the forkmoneromooo-monero1-2/+2
2016-08-28rct: make the amount key derivable by a third party with the tx keymoneromooo-monero1-3/+1
Scheme design from luigi1114.
2016-08-28rpc: send global indices along with blocks/transacions on refreshmoneromooo-monero1-5/+5
This plugs a privacy leak, where the wallet tells the daemon which transactions contain outputs for the wallet by asking for additional information for that particular transaction. As a nice bonus, this actually makes refresh slightly faster.
2016-08-28wallet: better tx input selectionmoneromooo-monero1-0/+3
We try to avoid related inputs, when possible
2016-08-28port get_tx_key/check_tx_key to rctmoneromooo-monero1-3/+10
2016-08-28wallet: rct specific output selectionmoneromooo-monero1-0/+2
Before the normal selection, we attempt to find either one or two suitable outputs to use as inputs to the rct tx. The intent is that most rct txes will have one or two inputs, and we want all to look the same if possible. When two outputs are needed, we try to find a pair which are not related (ie, by being from the same or similar block height).
2016-08-28wallet: factor transfer_rct code with transfer codemoneromooo-monero1-1/+0
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-28wallet: reset output spent status on blockchain reorgmoneromooo-monero1-6/+20
If the blockchain gets reorganized, all outputs spent in the part of the blockchain that's blown away need to be reset to unspent (they may end up spent again on the blocks that replace the blocks that are removed, however).
2016-08-28add rct to the protocolmoneromooo-monero1-10/+47
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-11Fake outs set is now decided by the walletmoneromooo-monero1-2/+2
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-01new unlocked parameter to output_histogrammoneromooo-monero1-1/+1
This constrains the number of instances of any amount to the unlocked ones (as defined by the default unlock time setting: outputs with non default unlock time are not considered, so may be counted as unlocked even if they are not actually unlocked).
2016-07-24wallet: new {ex,im}port_key_images commands and RPC callsmoneromooo-monero1-1/+3
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-20wallet: add unconfirmed incoming txes from the txpoolmoneromooo-monero1-3/+10
Shown in show_transfers simplewallet command, and get_transfers RPC command, if req.pool is true.
2016-07-20Merge pull request #902Riccardo Spagni1-1/+1
014f3a0 Add a daemon RPC version, and make simplewallet check it (moneromooo-monero)
2016-07-19wallet: add command and RPC to sign/verify datamoneromooo-monero1-0/+3
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-10Add a daemon RPC version, and make simplewallet check itmoneromooo-monero1-1/+1
If the version is different, simplewallet will refuse to use that daemon, unless --allow-mismatched-daemon-version is used.
2016-07-06Merge pull request #878Riccardo Spagni1-5/+9
945c272 wallet: add a fee multiplier (moneromooo-monero)
2016-06-22wallet: add a fee multipliermoneromooo-monero1-5/+9
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-22Typo fixedIlya Kitaev1-1/+1
2016-06-03Wallet API : WalletManager::findWallets() addedIlya Kitaev1-1/+1
2016-05-27Merge remote-tracking branch 'upstream/master'Ilya Kitaev1-1/+2
2016-05-13i_wallet_callback: virtual dtorIlya Kitaev1-0/+1
2016-05-12Merge remote-tracking branch 'upstream/master'Ilya Kitaev1-13/+44
2016-04-29Move refresh height to keys file from cache fileHoward Chu1-1/+2
2016-04-26wallet: allow attaching notes to txidsmoneromooo-monero1-1/+8
2016-04-26wallet: add GMT timestamps to transfers/paymentsmoneromooo-monero1-6/+18
2016-04-26Merge pull request #815Riccardo Spagni1-0/+1
b0850a9 wallet: add a new sweep_all command and RPC command (moneromooo-monero)
2016-04-26Merge pull request #814Riccardo Spagni1-2/+9
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-26Merge pull request #811Riccardo Spagni1-4/+6
672162d tests: fix compile failure on wallet2::transfer (moneromooo-monero) b0c18ef wallet2: move output selection api public (moneromooo-monero)
2016-04-26Merge remote-tracking branch 'upstream/master' into developIlya Kitaev1-16/+16
2016-04-19wallet: add a new sweep_all command and RPC commandmoneromooo-monero1-0/+1
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-18 modified: src/wallet/wallet2.cppawfulcrawler1-2/+2
modified: src/wallet/wallet2.h Removed working comments
2016-04-18 modified: src/simplewallet/simplewallet.cppawfulcrawler1-2/+9
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-17Add GET_HASHES_FAST rpc, use it in walletHoward Chu1-0/+2
When m_refresh_from_block_height has been set, only hashes will be retrieved up to that height, instead of full blocks. The same will be done for "refresh <height>" when the specified height is beyond the current local blockchain.
2016-04-17wallet2: move output selection api publicmoneromooo-monero1-4/+6
2016-04-02wallet: better output selection for transfer/transfer_newmoneromooo-monero1-15/+15
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.
2016-03-31Merge remote-tracking branch 'upstream/master'Ilya Kitaev1-5/+14
2016-03-27wallet: make load_keys check types when loading JSONmoneromooo-monero1-1/+1
2016-03-26wallet: pass std::function by const ref, not valuemoneromooo-monero1-1/+1
Because we can.
2016-03-26wallet: do not leak owned amounts to the daemon unless --trusted-daemonmoneromooo-monero1-2/+2
This will be slower, though more private. New trusted_daemon parameter to the matching RPC call, false by default.
2016-03-26wallet: change sweep_dust to sweep_unmixablemoneromooo-monero1-2/+5
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.
2016-03-25- testnet option added to api;Ilya Kitaev1-0/+1
2016-03-25wallet: add a --generate-from-json flagmoneromooo-monero1-3/+9
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.
2016-03-21Revert "Print stack trace upon exceptions"moneromooo-monero1-1/+0
Ain't nobody got time for link/cmake skullduggery. This reverts commit fff238ec94ac6d45fc18c315d7bc590ddfaad63d.
2016-03-19Print stack trace upon exceptionsmoneromooo-monero1-0/+1
Useful for debugging users' logs
2016-03-16Wallet::store_to(path, password) implemented;Ilya Kitaev1-0/+6
2016-03-16Wallet::setPassword() method for wallet2_apiIlya Kitaev1-0/+3
2016-03-11wallet_rpc_server: make use_fork_rules publicmoneromooo-monero1-1/+2
We will need it in the wallet RPC server
2016-03-11Use boost::thread instead of std::threadHoward Chu1-1/+1
and all other associated IPC
2016-02-22simplewallet: add a new --restore-from-keys optionmoneromooo-monero1-0/+10
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.
2016-01-31Merge pull request #634Riccardo Spagni1-3/+4
7fc6fa3 wallet: forbid dust altogether in output selection where appropriate (moneromooo-monero) 5e1a739 blockchain: log number of outputs available for a new tx (moneromooo-monero)
2016-01-31wallet: forbid dust altogether in output selection where appropriatemoneromooo-monero1-3/+4
2016-01-29wallet: detect and handle failed outgoing transfersmoneromooo-monero1-1/+6
When a transaction is not found in the pool anymore, it is marked as failed, and displayed as such in show_transfers.
2016-01-29Fix V1/V2 use of hard fork related parametersmoneromooo-monero1-1/+1
Some of it uses hardcoded height, which will need some thinking for next (voted upon) fork.
2016-01-10wallet2: decide at runtime which upper tx size to usemoneromooo-monero1-2/+4
The value will be different depending on whether we've reached the first hard fork, which allows a larger size, or not. This fixes transactions being rejected by the daemon on mainnet where the first hard fork is not yet active.
2015-12-31updated copyright yearRiccardo Spagni1-1/+1
2015-12-30wallet: add a rescan_bc command and rescan_blockchain RPCmoneromooo-monero1-0/+1
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.
2015-12-30wallet: protect against exceptions in the block pull threadmoneromooo-monero1-1/+1
This can happen when the daemon exits, which would also cause the wallet to crash via unhandled exception
2015-12-22Merge pull request #550Riccardo Spagni1-2/+5
8c93608 wallet: fix load/save versioning bug for recently added tx data (moneromooo-monero)
2015-12-20wallet: fix load/save versioning bug for recently added tx datamoneromooo-monero1-2/+5
The version number passed to those data's serialize function was always 0, not the wallet's version as I had expected. A version number now exists for these structures so they're versioned correctly.
2015-12-19Allow the wallet to access hard fork informationmoneromooo-monero1-1/+3
And make it change behavior slightly when close/after first hard fork
2015-12-05wallet: make the wallet refresh type a wallet settingmoneromooo-monero1-1/+2
instead of a command line setting. It makes sense that is is a long lived setting.
2015-11-30Merge pull request #507Riccardo Spagni1-2/+5
62e49a5 wallet: optional automatic refresh from the daemon (moneromooo-monero)
2015-11-28wallet: optional automatic refresh from the daemonmoneromooo-monero1-2/+5
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.
2015-11-27wallet2: parallelize pulling blocks and processing them on refreshmoneromooo-monero1-0/+5
This needed locking the use of m_http_client, to avoid collisions in I/O.
2015-11-27wallet2: maintain the short chain manually when refreshingmoneromooo-monero1-1/+1
2015-11-27wallet2: split pull blocks between pulling and processingmoneromooo-monero1-1/+2
2015-11-22wallet: make the refresh optimizations selectable via command linemoneromooo-monero1-2/+15
Take the opportunity to add a no-coinbase case too, for even faster sync when an address is known to never have mined to.
2015-11-22wallet: speedup refresh from daemonmoneromooo-monero1-1/+1
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.
2015-11-22wallet2: speedup refresh a bitmoneromooo-monero1-1/+3
Use the NoodleDoodle threading technique to speedup a couple code blocks on the main path when refreshing blocks without any transactions for us.
2015-11-22wallet: storing outgoing tx info now defaults to enabledmoneromooo-monero1-2/+2
The info is stored encrypted, and is pretty useful, often after the fact.
2015-11-22wallet: rename store-tx-keys to store-tx-infomoneromooo-monero1-5/+5
With backward compatibility
2015-11-22wallet: improve show_transfersmoneromooo-monero1-4/+27
More information is now saved and displayed
2015-11-21wallet: use incoming blocks to keep track of payments toomoneromooo-monero1-1/+2
2015-11-15wallet: track outgoing payments and add a show_transfers commandmoneromooo-monero1-3/+30
It's a user friendly display of incoming and outgoing transfers, listed by height, within an optional height range.
2015-10-30simplewallet: add a set default-mixin commandmoneromooo-monero1-2/+5
The default default mixin is 4. It can now be changed per wallet.
2015-10-27Fix a possibly-unused warning, and rationalize typesmoneromooo-monero1-4/+4
2015-10-25Fix leak on real output when using a very recent outputmoneromooo-monero1-1/+0
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.
2015-10-11from hard fork 2, all outputs must be decomposedmoneromooo-monero1-32/+23
The wallet decomposes fully as of now too.
2015-08-24wallet: only return tx keys via RPC if requestedmoneromooo-monero1-3/+6
To get the tx keys returned via RPC, set the "get_tx_key" or "get_tx_keys" request field to true (defaults to false).
2015-08-24Merge pull request #381Riccardo Spagni1-0/+12
f197599 wallet: encrypt the cache file (moneromooo-monero) 98c76a3 chacha8: add a key generation variant that take a pointer and size (moneromooo-monero)
2015-08-22wallet: encrypt the cache filemoneromooo-monero1-0/+12
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.
2015-08-19make tx keys available to the usermoneromooo-monero1-3/+11
They are also stored in the cache file, to be retrieved using a new get_tx_key command.
2015-08-11wallet: new rescan_spent command to update outputs' spent statusmoneromooo-monero1-0/+1
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.
2015-08-09encrypted payment ids are now 64 bit, instead of 256 bitmoneromooo-monero1-0/+2
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.
2015-07-22wallet: new transaction construction algorithmmoneromooo-monero1-0/+5
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.
2015-07-18wallet: add boolean to always confirm transactions with the usermoneromooo-monero1-1/+6
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.
2015-06-20simplewallet: allow creating a wallet from a public address and view secret keymoneromooo-monero1-0/+9
The needed information is supplied via a triple: --generate-from-view-key address:viewkey:filename
2015-05-31wallet: add watch only wallet supportmoneromooo-monero1-1/+5
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.
2015-05-30wallet: add a sweep_dust commandmoneromooo-monero1-0/+4
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".
2015-05-27wallet: add consts where appropriatemoneromooo-monero1-9/+10
because const is always appropriate
2015-01-15Merge pull request #215Riccardo Spagni1-1/+3
24d500c Add a --restricted-rpc flag to simplewallet (moneromooo-monero)
2015-01-11Add a --restricted-rpc flag to simplewalletmoneromooo-monero1-1/+3
It restricts RPC to a subset of "view only" commands. Kind of like a poor man's view key replacement.
2015-01-11Allow get_bulk_payments to return all payments regardless of payment IDmoneromooo-monero1-0/+1
by giving an empty list of payment IDs.
2015-01-02year updated in licenseRiccardo Spagni1-1/+1
2014-12-13Merge pull request #203Riccardo Spagni1-0/+12
583cf0a Document existing function (warptangent) 95eb944 Repeat prompt for wallet path if invalid (warptangent)
2014-12-11Document existing functionwarptangent1-0/+6
2014-12-11Repeat prompt for wallet path if invalidwarptangent1-0/+6
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.
2014-12-08Add wallet2::verify_password methodwarptangent1-0/+5
Allows wallet password to be verified without changing wallet state.
2014-12-06Extract check for deterministic keys to wallet2::is_deterministic()warptangent1-0/+4
It's cleaner for wallet2.cpp and it also allows deterministic check by simplewallet.cpp.
2014-12-01prompt for seed language and error handlingwarptangent1-0/+4
- "seed" simplewallet command was only displaying seed if wallet was newly generated
2014-10-19Doxygen commentsOran Juice1-7/+21
2014-10-19Rewrites to old wallet file correctlyOran Juice1-1/+4
2014-10-18Doxygen comments inOran Juice1-2/+13
2014-10-18Writes seed language while generating wallet. Wallet open fix.Oran Juice1-1/+1
2014-10-18Stores seed language in wallet file. added rapidjson. Yet to test backward ↵Oran Juice1-1/+6
compatibility
2014-10-02Restructured language sources to be singletonsOran Juice1-1/+5
2014-09-23change to allow (at least a bit) for multiple TXT recordsThomas Winget1-1/+1
2014-09-23Monero addres from DNS TXT record implemented, tests passThomas Winget1-0/+3
Still need to deal with DNSSEC and optional fields in the TXT record.
2014-09-15Separate testnet address prefixZachary Michaels1-2/+4
2014-09-15Add testnet flagZachary Michaels1-2/+5
Source: cryptonotefoundation
2014-08-03refactoring. get seed code in wallet2Jakob Lind1-0/+2
2014-08-01#36 simplewallet refresh include optional height paramJakob Lind1-3/+3
height param is used optionally in refresh command TODO: This should also be the default behaviour when generating a new wallet.
2014-07-23License updated to BSD 3-clausefluffypony1-3/+29
2014-07-22Add get_bulk_payments rpc callZachary Michaels1-1/+1
2014-06-30wallet RPC converted to use new transaction semanticsThomas Winget1-1/+3
wallet RPC now uses wallet2::create_transactions and wallet2::commit_tx instead of wallet2::transfer. This made it possible to add the RPC call /transfer_split, which will split transactions automatically if they are too large. The old call to /transfer will return an error stating to use /transfer_split if multiple transactions are needed to fulfill the request.
2014-06-30missed removing a debug printThomas Winget1-2/+0
2014-06-30Transaction splitting *seems* to be working!!!tom1-0/+3
2014-06-30final changes to get transaction splitting building. needs testing.Thomas Winget1-22/+22
2014-06-30Added comments to wallet functionsThomas Winget1-0/+6
2014-06-12allow two-random-numbers wallet generation (but not as default)Thomas Winget1-1/+1
2014-06-12builds, but doesn't link. other than that, electrum-style recovery ↵Thomas Winget1-1/+1
implemented (but not tested\!)
2014-06-12defaulted new parameters in modified functionstom1-1/+1
2014-06-12most functions prototyped/modified for wallet recoveryThomas Winget1-1/+2
2014-06-02Added 'payment_id' optional argument to 'transfer' wallet RPC methodNeozaru1-0/+2
2014-05-25temporary fix for block reward dosmydesktop1-1/+6
2014-05-250.8.8updatemydesktop1-3/+3
2014-05-03initial [broken] updatemydesktop1-14/+38
2014-04-07Improvements in JSON RPCAntonio Juarez1-16/+17
2014-04-02json rpc for wallet and bugfixAntonio Juarez1-204/+107
2014-03-20some fixesAntonio Juarez1-40/+146
2014-03-03moved all stuff to githubAntonio Juarez1-0/+408