aboutsummaryrefslogtreecommitdiff
path: root/src/wallet (follow)
AgeCommit message (Collapse)AuthorFilesLines
2016-11-02wallet: fix bad amounts/fees againmoneromooo-monero3-3/+37
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-01Merge pull request #1278Riccardo Spagni1-1/+7
43ec2d0 Wallet API: added walletExists logic (Jacob Brydolf)
2016-11-01Merge pull request #1283Riccardo Spagni1-2/+2
4869db7 adding static_assert to pod functions in string tools (Lee Clagett)
2016-11-01Merge pull request #1281Riccardo Spagni2-1/+52
bb560dd wallet: new import_outputs/export_outputs commands (moneromooo-monero)
2016-10-31adding static_assert to pod functions in string toolsLee Clagett1-2/+2
2016-10-30wallet: new import_outputs/export_outputs commandsmoneromooo-monero2-1/+52
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-30Wallet API: added walletExists logicJacob Brydolf1-1/+7
2016-10-30wallet: set incoming outputs' key image to 0 on view walletsmoneromooo-monero2-4/+19
This allows rescan_spent to know the daemon response to those is not valid.
2016-10-30wallet: print tx overview on submit_transfer toomoneromooo-monero2-2/+8
This is on the potentially compromised wallet, but still guards against stupid mistakes.
2016-10-29Merge pull request #1270Riccardo Spagni1-2/+5
fdef09f Wallet API: make sure path exists before searching for wallets (Jacob Brydolf)
2016-10-28Wallet API: make sure path exists before searching for walletsJacob Brydolf1-2/+5
2016-10-26simplewallet: log transactions to submit in submit_transfermoneromooo-monero1-1/+2
Not as trustworthy as this is in the view wallet, the one that's considered compromised.
2016-10-25wallet: fix pre-rct cold wallet signing not splitting changemoneromooo-monero2-17/+19
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-23Merge pull request #1246Riccardo Spagni1-0/+7
372f338 wallet: sanity check on selected transfer indices in signed ptx (moneromooo-monero)
2016-10-23Merge pull request #1230Riccardo Spagni2-0/+22
06b642d wallet_api: add address validation functions (moneromooo-monero)
2016-10-22Merge pull request #1229Riccardo Spagni1-2/+7
b6b86ab wallet2_api: recognize full size payment ids as valid (moneromooo-monero)
2016-10-22Merge pull request #1228Riccardo Spagni1-1/+1
2bf65df wallet_api: do not override invalid payment id (moneromooo-monero)
2016-10-22Merge pull request #1225Riccardo Spagni2-8/+7
04da979 Always confirm transfers defaults to ON/YES (NanoAkron)
2016-10-22Merge pull request #1224Riccardo Spagni2-1/+8
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-22Merge pull request #1223Riccardo Spagni1-5/+7
0950be9 wallet: speed up output selection, and fix bug with relatedness calculation (moneromooo-monero) 0eba133 wallet: fix mixup between mixin 2 and 4 before/after v5 (moneromooo-monero)
2016-10-22Merge pull request #1220Riccardo Spagni3-2/+44
e76dcdd wallet: improve error messages when not enough money for transfer (moneromooo-monero)
2016-10-22Merge pull request #1219Riccardo Spagni1-1/+1
2d7083c wallet_api: fix wrong amount in tx history (moneromooo-monero) b5f2001 simplewallet: fix wrong amount in show_transfers (moneromooo-monero)
2016-10-22Merge pull request #1200Riccardo Spagni1-1/+0
a3748f4 Rewrote add_wallet_create_if_needed for clearer flow and behaviour (NanoAkron)
2016-10-22wallet: sanity check on selected transfer indices in signed ptxmoneromooo-monero1-0/+7
2016-10-16wallet_api: add address validation functionsmoneromooo-monero2-0/+22
The payment id from integrated addresses is also parsed
2016-10-16wallet2_api: recognize full size payment ids as validmoneromooo-monero1-2/+7
2016-10-16wallet_api: do not override invalid payment idmoneromooo-monero1-1/+1
Instead, return an empty string to mark the error
2016-10-15Rewrote add_wallet_create_if_needed for clearer flow and behaviourNanoAkron1-1/+0
2016-10-15Always confirm transfers defaults to ON/YESNanoAkron2-8/+7
2016-10-15simplewallet: fix sweep_all misreporting sweeped amount for rct outputsmoneromooo-monero2-0/+7
RingCT outputs will be 0 in the vin, so we need to get the actual amount from elsewhere.
2016-10-15wallet: force 0 mixin transactions to use pre-rct txesmoneromooo-monero1-1/+1
rct transactions does not support 0 mixin, and those are now typically dust sweep transactions, for which a lower fee is a must.
2016-10-15wallet: select part of the fake outs from recent outputsmoneromooo-monero1-8/+40
25% of the outputs are selected from the last 5 days (if possible), in order to avoid the common case of sending recently received outputs again. 25% and 5 days are subject to review later, since it's just a wallet level change.
2016-10-15wallet: speed up output selection, and fix bug with relatedness calculationmoneromooo-monero1-3/+5
2016-10-15wallet: fix mixup between mixin 2 and 4 before/after v5moneromooo-monero1-2/+2
2016-10-15wallet: improve error messages when not enough money for transfermoneromooo-monero3-2/+44
2016-10-15wallet_api: fix wrong amount in tx historymoneromooo-monero1-1/+1
2016-10-10Wallet API: added setRecoveringFromSeed();Jacob Brydolf3-0/+12
2016-10-09Merge pull request #1195Riccardo Spagni5-19/+68
697ce1d libwallet_api: reverted deleted curly brace (Ilya Kitaev) bb9094f libwallet_api: fixes for transaction history (Ilya Kitaev) 62b3708 libwallet_api: do not signal on sent/received tx until wallet completely synchronized (Ilya Kitaev) 11fab41 libwallet_api: TransactionHistory: read/write syncchronization (Ilya Kitaev) 559f379 libwallet_api: test: adjusted mixin_count=4 as it's minumum allowed (Ilya Kitaev) 8b0cb8c libwallet_api: some renamings (Ilya Kitaev) db3282c Initialize transaction history if empty (Ilya Kitaev) 85f5e73 libwallet_api: fixes for transaction history (Ilya Kitaev)
2016-10-09Merge pull request #1192Riccardo Spagni5-3/+20
36a89ab libwallet_api: Added option to restore from specific height (Jacob Brydolf)
2016-10-09Merge pull request #1191Riccardo Spagni1-4/+7
9f31e2d wallet: do not announce pool txes as money spent/received (yet) (moneromooo-monero)
2016-10-08libwallet_api: Added option to restore from specific heightJacob Brydolf5-3/+20
2016-10-07wallet: do not announce pool txes as money spent/received (yet)moneromooo-monero1-4/+7
2016-10-07libwallet_api: reverted deleted curly braceIlya Kitaev1-0/+1
2016-10-07resolved conflict with 'develop' of https://github.com/mbg033/moneroIlya Kitaev1-3/+0
2016-10-07libwallet_api: do not signal on sent/received tx until wallet completelyIlya Kitaev3-6/+31
synchronized
2016-10-06libwallet_api: TransactionHistory: read/write syncchronizationIlya Kitaev2-14/+21
2016-10-06libwallet_api: some renamingsIlya Kitaev3-3/+3
2016-10-06Initialize transaction history if emptyIlya Kitaev3-2/+11
2016-10-06libwallet_api: fixes for transaction historyIlya Kitaev1-3/+13
2016-10-04libwallet_api: fixes for transaction historyIlya Kitaev1-3/+13
2016-10-04wallet: better implementation of sweep_unmixablemoneromooo-monero2-222/+31
This was still using the old transaction creation algorithm, coupled with a deterministic output selection scheme, which made it ill suited to the job, since it'd loop indefinitely in case the fee increased between the test tx and adding the fee.
2016-10-04Merge pull request #1173Riccardo Spagni5-0/+57
65ea836 wallet2_api: added Wallet::daemonBlockChainTargetHeight() libwallet_api: Wallet::blockChainTargetHeight (Jacob Brydolf)
2016-10-04Merge pull request #1160Riccardo Spagni2-2/+11
80b4da3 wallet: wallet option to confirm transfers with no payment id (moneromooo-monero)
2016-10-04Merge pull request #1139Riccardo Spagni1-2/+2
01ec195 Update CMakeLists.txt (codehalo) 446ebbc Update CMakeLists.txt (codehalo) bd773e7 Update CMakeLists.txt (codehalo) 3627cea Cleanup. Dropped "bit" from bitmonero. (Randi Joseph) 2a51396 Dropped "bit" from bitmonero. (Randi Joseph) 78b13d6 Cleanup. Dropped "bit" from bitmonero. (Randi Joseph) 1e6aedb Cleanup. Dropped "bit" from bitmonero. (Randi Joseph) 9e54616 Dropped "bit" from bitmonero. (Randi Joseph)
2016-10-04Merge pull request #1125Riccardo Spagni1-2/+4
7b09e9f wallet: update min mixin for sweep_unmixable on v4 (moneromooo-monero)
2016-10-04Merge pull request #1152Riccardo Spagni3-24/+53
8b20cbf libwallet_api: do not use fast-refresh on recovery (Ilya Kitaev) 10fe626 libwallet_api: fast-refresh in case of opening non-synced wallet (Ilya Kitaev) 0019e31 libwallet_api: fix unhandled exception on address check (Ilya Kitaev) 1f73f80 libwallet_api: fast-refresh for new wallet (Ilya Kitaev) 4789347 libwallet_api: test for create/init wallet on mainnet (Ilya Kitaev)
2016-10-04Merge pull request #1140Riccardo Spagni2-93/+326
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-03wallet2_api: added Wallet::daemonBlockChainTargetHeight()Jacob Brydolf5-0/+57
libwallet_api: Wallet::blockChainTargetHeight Signed-off-by: Jacob Brydolf <jacob@brydolf.net>
2016-10-01libwallet_api: do not use fast-refresh on recoveryIlya Kitaev2-3/+10
2016-10-01wallet: wallet option to confirm transfers with no payment idmoneromooo-monero2-2/+11
set confirm-missing-payment-id 0|1 Defaults to true.
2016-09-30libwallet_api: fast-refresh in case of opening non-synced walletIlya Kitaev2-6/+5
2016-09-30libwallet_api: fix unhandled exception on address checkIlya Kitaev1-12/+16
2016-09-30libwallet_api: fast-refresh for new walletIlya Kitaev2-9/+28
2016-09-28wallet2: wallet2::get_daemon_blockchain_height() clean error message onIlya Kitaev1-0/+4
success
2016-09-28libwallet_api: Wallet::setAutoRefreshInterval sanity checkIlya Kitaev1-1/+9
2016-09-28libwallet_api: explicitly return 0 in Wallet::daemonBlockChainHeight()Ilya Kitaev1-0/+2
on error
2016-09-27wallet: cold wallet transaction signingmoneromooo-monero2-91/+324
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-26wallet: fix log confusion between bytes and kilobytesmoneromooo-monero1-2/+2
2016-09-26Dropped "bit" from bitmonero.Randi Joseph1-2/+2
2016-09-26formatting: 2-spaces indentationIlya Kitaev1-20/+20
2016-09-26formatting: 2-spaces indentationIlya Kitaev1-1/+1
2016-09-26wallet2_api: milliseconds resolution for auto-refresh intervalIlya Kitaev3-13/+13
2016-09-26wallet2_api: added Wallet::daemonBlockChainHeight()Ilya Kitaev5-4/+57
2016-09-26libwallet_api: Wallet::blockChainHeight, WalletListener::newBlockIlya Kitaev3-3/+42
2016-09-24wallet: update min mixin for sweep_unmixable on v4moneromooo-monero1-2/+4
2016-09-20wallet2_api: getter and setter for "refresh interval"Ilya Kitaev3-1/+39
2016-09-20wallet2_api: fixed deadlock while closing walletIlya Kitaev1-3/+7
2016-09-18epee: optionally restrict HTTP service to a configurable user agentmoneromooo-monero2-1/+6
This is intended to catch traffic coming from a web browser, so we avoid issues with a web page sending a transfer RPC to the wallet. Requiring a particular user agent can act as a simple password scheme, while we wait for 0MQ and proper authentication to be merged.
2016-09-18Merge pull request #1099Riccardo Spagni2-11/+11
c2faab5 fix v5 height (Riccardo Spagni) 70bd7d8 remove dead backup seed nodes, add new ones (Riccardo Spagni) cebbcf0 fix v5 fork date description (Riccardo Spagni) eb60fa2 update version (Riccardo Spagni) c41098a updated fork heights for v4 and v5 (Riccardo Spagni) c69b8a1 update block headers (Riccardo Spagni) f148af2 add checkpoints (Riccardo Spagni) c15da0e switch wallet API from std thread/mutex to boost (Riccardo Spagni) 8a274ea switch wallet API from std thread/mutex to boost (Riccardo Spagni)
2016-09-18Merge pull request #1098Riccardo Spagni1-2/+4
1dd5b0b wallet: keep change dest separate from other dests (moneromooo-monero)
2016-09-18Merge pull request #1097Riccardo Spagni1-0/+6
5f5d727 wallet: fix empty tx in corner case sending nothing (moneromooo-monero)
2016-09-18switch wallet API from std thread/mutex to boostRiccardo Spagni2-11/+11
2016-09-18wallet: keep change dest separate from other destsmoneromooo-monero1-2/+4
This fixes misreporting of amount/fee in rct txes, as the rct tx construction code was lumping all dests (whether change or not) in the same dests vector, while the pre-rct code was keeping it separate.
2016-09-18wallet: fix empty tx in corner case sending nothingmoneromooo-monero1-0/+6
2016-09-18cmake: transitive deps and remove deprecated LINK_*redfish1-3/+5
Keep the immediate direct deps at the library that depends on them, declare deps as PUBLIC so that targets that link against that library get the library's deps as transitive deps. Break dep cycle between blockchain_db <-> crytonote_core. No code refactoring, just hide cycle from cmake so that it doesn't complain (cycles are allowed only between static libs, not shared libs). This is in preparation for supproting BUILD_SHARED_LIBS cmake built-in option for building internal libs as shared.
2016-09-16wallet: change priority/fee to ArticMine's recommendationmoneromooo-monero6-48/+68
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-15Merge pull request #1074Riccardo Spagni2-14/+19
cd01bae Decrease minimum fee from 0.01/kB to 0.002/kB (moneromooo-monero)
2016-09-15Decrease minimum fee from 0.01/kB to 0.002/kBmoneromooo-monero2-14/+19
The wallet will start using that fee about two weeks after hard fork 3, when most people will likely have updated their daemons.
2016-09-14wallet: fix misdetection of duplicatesmoneromooo-monero1-11/+3
2016-09-03Merge pull request #1038Riccardo Spagni1-9/+13
43677f9 gui/libwallet_merged: libunbound is one more dependency (Ilya Kitaev)
2016-09-03gui/libwallet_merged: libunbound is one more dependencyIlya Kitaev1-9/+13
2016-09-01Merge pull request #1033Riccardo Spagni1-1/+1
4d17949 wallet_merged: ringct added to dependencies (Ilya Kitaev)
2016-09-01wallet_merged: ringct added to dependenciesIlya Kitaev1-1/+1
2016-09-01Re-add s to rangesigsluigi11111-2/+2
Whoops.
2016-09-01Fix some rct tx size calculationsluigi11111-9/+6
Some variance is still expected
2016-09-01Merge pull request #1027Riccardo Spagni1-0/+2
85dc0ce wallet: sanity check on histogram response (moneromooo-monero)
2016-09-01Merge pull request #1016Riccardo Spagni1-1/+3
3112e24 wallet: interpret 0 fee multiplier as default for sweep_all too (moneromooo-monero)
2016-09-01Merge pull request #1007Riccardo Spagni1-2/+5
1de812a cmake: merge libs via virtual object libraries (redfish) a7498ad cmake: comply with the new policy CMP0026 (redfish)
2016-09-01wallet: sanity check on histogram responsemoneromooo-monero1-0/+2
2016-08-30cmake: merge libs via virtual object librariesredfish1-2/+5
CMake issued a warming about policy CMP0026: access of LOCATION target property at config time was disallowed. Offending code was the code that merged static libraries to generate libwallet_merged.a. This patch does that same merge task in a much simpler way. And, since it doesn't violate the policy, the warning went away.
2016-08-30wallet: interpret 0 fee multiplier as default for sweep_all toomoneromooo-monero1-1/+3
2016-08-29wallet: fix not finding enough rct fake outputsmoneromooo-monero1-3/+8
If picking coinbase outputs, those are locked for a longer time than other outputs, so we ask for more of those
2016-08-29wallet_rpc_server: return payment id in make_integrated_address RPCmoneromooo-monero2-0/+3
It is useful, especially when requesting a random one
2016-08-28wallet: fix some "may be used uninitialized" warningsmoneromooo-monero1-16/+15
The compiler can't always work out the _found booleans are set iff the value is initialized.
2016-08-28wallet: do not generate 0 changemoneromooo-monero1-3/+6
2016-08-28wallet: do not ask for duplicate histogramsmoneromooo-monero1-0/+3
2016-08-28wallet: transfer_selected_rct now also selects fake outsmoneromooo-monero2-171/+90
2016-08-28New "Halfway RingCT" outputs for coinbase transactionsmoneromooo-monero2-2/+34
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-monero4-61/+20
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-28rct: change the simple flag to a typemoneromooo-monero1-2/+8
for future expansion
2016-08-28wallet: do not store signatures in the wallet cachemoneromooo-monero4-28/+71
Saves some substantial space. Also avoid calculating tx hashes we don't need.
2016-08-28wallet2: factor m_spent changesmoneromooo-monero2-26/+31
Makes it easier to track what is going on.
2016-08-28wallet: always use new algorithm for RPC transfersmoneromooo-monero2-7/+2
This ensures we get rct transactions when appropriate
2016-08-28wallet: use the prefered rct case only when enough rct outs existmoneromooo-monero2-1/+27
2016-08-28wallet: do not try to use rct txes a few blocks before the forkmoneromooo-monero3-22/+31
2016-08-28change fork settings to allow pre-rct txes for one more fork cyclemoneromooo-monero1-2/+2
2016-08-28rct: make the amount key derivable by a third party with the tx keymoneromooo-monero2-17/+34
Scheme design from luigi1114.
2016-08-28rct: do not serialize public keys in outPkmoneromooo-monero1-3/+3
They can be reconstructed from vout
2016-08-28wallet2_api: zero amounts are now allowed with rctmoneromooo-monero1-6/+0
2016-08-28wallet2_api: update on_money_{received,spent} prototypes for rct changesmoneromooo-monero1-4/+2
2016-08-28rpc: send global indices along with blocks/transacions on refreshmoneromooo-monero2-35/+42
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-monero2-29/+77
We try to avoid related inputs, when possible
2016-08-28wallet: handle 0 change properlymoneromooo-monero1-7/+8
With RCT, we allow 0 size outputs, to try and encourage txes with two inputs and two outputs. Consolidation would then have two non zero inputs, one zero output, and one larger output.
2016-08-28port get_tx_key/check_tx_key to rctmoneromooo-monero4-7/+101
2016-08-28integrate simple rct apimoneromooo-monero1-6/+24
2016-08-28wallet: rct specific output selectionmoneromooo-monero2-3/+125
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: make sweep_all work with rct txes toomoneromooo-monero1-7/+21
2016-08-28wallet: factor transfer_rct code with transfer codemoneromooo-monero2-254/+40
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-28ringct: do not serialize what can be reconstructedmoneromooo-monero1-5/+8
The mixRing (output keys and commitments) and II fields (key images) can be reconstructed from vin data. This saves some modest amount of space in the tx.
2016-08-28wallet: update spent status when an accepted tx disappearsmoneromooo-monero1-0/+19
2016-08-28wallet: reset output spent status on blockchain reorgmoneromooo-monero2-11/+61
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-monero3-54/+659
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-26Merge pull request #978Riccardo Spagni2-4/+12
99dd572 libwallet_api: tests: checking for result while opening wallet (Ilya Kitaev) bcf7b67 libwallet_api: Wallet::amountFromString fixed (Ilya Kitaev) 32bc7b4 libwallet_api: helper method to return maximumAllowedAmount (Ilya Kitaev) cbe534d libwallet_api: tests: removed logged passwords (Ilya Kitaev) b1a5a93 libwallet_api: do not store wallet on close if status is not ok (Ilya Kitaev)
2016-08-23libwallet_api: Wallet::amountFromString fixedIlya Kitaev1-1/+1
2016-08-23libwallet_api: helper method to return maximumAllowedAmountIlya Kitaev2-0/+6
2016-08-22Merge pull request #970Riccardo Spagni1-0/+3
25f529a wallet: store key images after importing them (moneromooo-monero)
2016-08-22libwallet_api: do not store wallet on close if status is not okIlya Kitaev1-3/+5
2016-08-17wallet: store key images after importing themmoneromooo-monero1-0/+3
It avoids rescan_spent resetting spent status, for example.
2016-08-17wallet: fix build on Mac and Windows (missing include)moneromooo-monero1-0/+1
Reported by RaskaRuby, tested by iDunk5400.
2016-08-11Merge pull request #948Riccardo Spagni4-57/+183
11dc091 Fake outs set is now decided by the wallet (moneromooo-monero) 1593553 new unlocked parameter to output_histogram (moneromooo-monero)
2016-08-11Fake outs set is now decided by the walletmoneromooo-monero4-52/+177
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-04wallet2: if importing key images fails, print failure indexmoneromooo-monero1-1/+2
2016-08-01new unlocked parameter to output_histogrammoneromooo-monero2-5/+6
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-26Merge pull request #928Riccardo Spagni6-1/+255
ebf97d7 wallet: new {ex,im}port_key_images commands and RPC calls (moneromooo-monero)
2016-07-24wallet: new {ex,im}port_key_images commands and RPC callsmoneromooo-monero6-1/+255
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-23cmake: wallet: libunbound is not always staticredfish1-22/+4
It is not clear why libunbound was added to this in the first place, since it wasn't here before and #915 doesn't seem to introduce any new dependency on it. Tested build with STATIC=OFF (with and without libunbound-dev libunbound8 installed) and STATIC=ON, on Ubuntu Trusty, Debian Jessie, and Arch Linux. For static builds, beware of #926 and #907. If this hack was introduced to make it build on some other system (Windows? OS X?), then it will have to be dealt with, but not this way.
2016-07-23Merge pull request #916Riccardo Spagni4-52/+215
b89b963 wallet: add unconfirmed incoming txes from the txpool (moneromooo-monero)
2016-07-23Merge pull request #915Riccardo Spagni5-30/+251
d7597c5 refreshing wallet even if error happened (Ilya Kitaev) 6d32a3d wallet_api: async init, Wallet::connected status, log level (Ilya Kitaev) 193d251 libwallet_api cmake: conditionally creating libwallet_merged2 only for STATIC build (Ilya Kitaev) 10c06dd wallet_api: segfault on refresh fixed (Ilya Kitaev) 9d2cb4f WalletListener functionality (Ilya Kitaev) d27b883 hack to successfull linking for MSYS2 (Ilya Kitaev) 083380c Transaction fee multiplier aka priority integraged (Ilya Kitaev) 00ed12b Wallet::paymentIdValid (Ilya Kitaev)
2016-07-20wallet: add unconfirmed incoming txes from the txpoolmoneromooo-monero4-52/+215
Shown in show_transfers simplewallet command, and get_transfers RPC command, if req.pool is true.
2016-07-20Merge pull request #914Riccardo Spagni1-2/+2
87b1153 wallet2_api: use uint64_t for amounts (moneromooo-monero)
2016-07-20Merge pull request #902Riccardo Spagni2-9/+26
014f3a0 Add a daemon RPC version, and make simplewallet check it (moneromooo-monero)
2016-07-20Merge pull request #899Riccardo Spagni1-1/+8
a95a2cb wallet_rpc_server: add payment id from integrated addresses to extra (moneromooo-monero)
2016-07-19wallet: add command and RPC to sign/verify datamoneromooo-monero6-1/+125
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-18refreshing wallet even if error happenedIlya Kitaev2-6/+18
2016-07-18wallet_api: async init, Wallet::connected status, log levelIlya Kitaev4-18/+91
2016-07-18libwallet_api cmake: conditionally creating libwallet_merged2 only forIlya Kitaev2-9/+17
STATIC build
2016-07-18wallet_api: segfault on refresh fixedIlya Kitaev2-5/+9
2016-07-18WalletListener functionalityIlya Kitaev3-13/+105
2016-07-18hack to successfull linking for MSYS2Ilya Kitaev1-2/+6
2016-07-18Transaction fee multiplier aka priority integragedIlya Kitaev3-4/+25
2016-07-18Wallet::paymentIdValidIlya Kitaev2-0/+7
2016-07-17wallet2_api: use uint64_t for amountsmoneromooo-monero1-2/+2
2016-07-10Add a daemon RPC version, and make simplewallet check itmoneromooo-monero2-9/+26
If the version is different, simplewallet will refuse to use that daemon, unless --allow-mismatched-daemon-version is used.
2016-07-10wallet_rpc_server: add payment id from integrated addresses to extramoneromooo-monero1-1/+8
2016-07-07wallet2_api: make this build (smatch needs .str() for /=)moneromooo-monero1-1/+1
2016-07-06Merge pull request #878Riccardo Spagni5-27/+66
945c272 wallet: add a fee multiplier (moneromooo-monero)
2016-06-24CMake: GPL 'libutils' script removedIlya Kitaev1-2/+4
2016-06-23Merge branch 'master' of https://github.com/mbg033/bitmoneroIlya Kitaev4-12/+13
2016-06-23WalletManager::findWallets: searching by "keys" files instead ofIlya Kitaev1-5/+3
"address.txt" files
2016-06-23Wallet: payment id and integrated addressIlya Kitaev3-11/+68
2016-06-23PendingTransactionImpl: pointer->referenceIlya Kitaev2-4/+4
2016-06-23commented regexIlya Kitaev1-1/+1
2016-06-23Typo fixedIlya Kitaev1-1/+1
2016-06-23Wallet::createTransaction: added mixin_count paramIlya Kitaev3-10/+23
2016-06-23double/string to monero integer convertion methodsIlya Kitaev2-0/+19
2016-06-23wallet::default_mixin exposed to public interface asIlya Kitaev3-1/+22
Wallet::setDefaultMixin, Wallet::defaultMixin; wallet::create_transaction_2 used in Wallet::createTransaction
2016-06-23Wallet::filename, Wallet::keysFilename, tests for move walletIlya Kitaev3-0/+29
2016-06-23removed unused "using"Ilya Kitaev1-1/+0
2016-06-23Wallet API : WalletManager::findWallets() addedIlya Kitaev4-4/+57
2016-06-23installing wallet_api headerIlya Kitaev1-2/+2
2016-06-23all wallet dependencies merged to single static libIlya Kitaev1-2/+15
2016-06-23WalletListener::moneySpent testIlya Kitaev2-2/+10
2016-06-23WalletListener::moneySpent(), WalletListener::moneyReceived()Ilya Kitaev2-2/+22
2016-06-23i_wallet_callback: virtual dtorIlya Kitaev1-0/+1
2016-06-23started WalletListenerIlya Kitaev3-1/+65
2016-06-23TransactionHistory continuedIlya Kitaev4-12/+103
2016-06-23merged with upstreamIlya Kitaev5-3/+106
2016-06-23Wallet API : transaction history in progressIlya Kitaev7-32/+87
2016-06-23transaction history api in progressIlya Kitaev7-16/+110
2016-06-23api implementation splitted over separate filesIlya Kitaev13-315/+710
2016-06-23TransactionInfo / TransactionHistory APIs designIlya Kitaev2-130/+188
2016-06-23Wallet::createTransaction API introducedIlya Kitaev2-132/+214
Transaction API continued TODOs for Transaction/Transfer interface
2016-06-23Wallet::transfer in progressIlya Kitaev2-2/+198
2016-06-23Wallet::refresh + testsIlya Kitaev2-0/+16
2016-06-23"testnet" is default parameterIlya Kitaev2-3/+11
2016-06-23testnet option, Wallet::balance(), Wallet::unlockedBalance()Ilya Kitaev2-6/+15
2016-06-23- testnet option added to api;Ilya Kitaev4-13/+54
2016-06-23wallet2::store() implemented within wallet2::store_toIlya Kitaev3-69/+62
2016-06-22wallet: add a fee multipliermoneromooo-monero5-27/+66
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-22PendingTransactionImpl: pointer->referenceIlya Kitaev2-4/+4