aboutsummaryrefslogtreecommitdiff
path: root/src (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2017-01-16core: don't try to deserialize an empty extra to remove a fieldmoneromooo-monero1-0/+2
2017-01-16specify restore height by YYYY-MM-DD formatkenshi846-17/+207
2017-01-16Change logging to easylogging++moneromooo-monero65-996/+785
This replaces the epee and data_loggers logging systems with a single one, and also adds filename:line and explicit severity levels. Categories may be defined, and logging severity set by category (or set of categories). epee style 0-4 log level maps to a sensible severity configuration. Log files now also rotate when reaching 100 MB. To select which logs to output, use the MONERO_LOGS environment variable, with a comma separated list of categories (globs are supported), with their requested severity level after a colon. If a log matches more than one such setting, the last one in the configuration string applies. A few examples: This one is (mostly) silent, only outputting fatal errors: MONERO_LOGS=*:FATAL This one is very verbose: MONERO_LOGS=*:TRACE This one is totally silent (logwise): MONERO_LOGS="" This one outputs all errors and warnings, except for the "verify" category, which prints just fatal errors (the verify category is used for logs about incoming transactions and blocks, and it is expected that some/many will fail to verify, hence we don't want the spam): MONERO_LOGS=*:WARNING,verify:FATAL Log levels are, in decreasing order of priority: FATAL, ERROR, WARNING, INFO, DEBUG, TRACE Subcategories may be added using prefixes and globs. This example will output net.p2p logs at the TRACE level, but all other net* logs only at INFO: MONERO_LOGS=*:ERROR,net*:INFO,net.p2p:TRACE Logs which are intended for the user (which Monero was using a lot through epee, but really isn't a nice way to go things) should use the "global" category. There are a few helper macros for using this category, eg: MGINFO("this shows up by default") or MGINFO_RED("this is red"), to try to keep a similar look and feel for now. Existing epee log macros still exist, and map to the new log levels, but since they're used as a "user facing" UI element as much as a logging system, they often don't map well to log severities (ie, a log level 0 log may be an error, or may be something we want the user to see, such as an important info). In those cases, I tried to use the new macros. In other cases, I left the existing macros in. When modifying logs, it is probably best to switch to the new macros with explicit levels. The --log-level options and set_log commands now also accept category settings, in addition to the epee style log levels.
2017-01-16macro to define core RPC version for avoiding future mistakekenshi841-1/+2
2017-01-15blockchain_import: fix build after tx_pool::add_tx changesmoneromooo-monero1-1/+1
2017-01-15remove std::move from return statements (pessimizing-move warning)Chris Vickio1-2/+2
2017-01-15change counter from bool to int (deprecated-increment-bool warning)Chris Vickio1-1/+1
2017-01-15Check for correct thread before ending batch transactionHoward Chu1-0/+7
2017-01-15mnemonics: fix language detection with checksum wordmoneromooo-monero1-1/+26
If a checksum word is present, language detection would use just the word prefixes. However, a set of word prefixes may be found in more than one language, and so the wrong language may be found first, which could then fail the checksum, since the check may be done with a different unique prefix length from the one it was created from. We now make a checksum test when we we detect a language from prefixes only, to make sure we have the correct one.
2017-01-14Must wait for previous batch to finish before starting new oneHoward Chu1-1/+6
2017-01-14Don't cache block height, always get from DBHoward Chu2-14/+29
2017-01-14Tweak default db-sync-mode to fast:async:1Howard Chu1-4/+7
fsync the DB asynchronously, to allow block download/verification to proceed while syncing. Sync after every batch. Note that "fastest" still defaults to fastest:async:1000.
2017-01-14Use batch transactions when syncingHoward Chu7-14/+22
Faster throughput while avoiding corruption. I.e., makes running with --db-sync-mode safe more tolerable.
2017-01-14core: check block version for alt chains toomoneromooo-monero3-0/+36
This is incompatible with block version voting
2017-01-14wallet2: use at least two rct inputs if possiblemoneromooo-monero2-9/+36
If we'd make a rct tx with just one input, we try to add a second one to match the 2/2 ideal. This means more txes use that template (and are thus using a larger anonymity set), and it coalesces outputs "for free". We use the smallest amount outputs in priority for this, so we can "clean" the wallet at the same time.
2017-01-14rct: split rct checks between semantics and othermoneromooo-monero4-84/+148
Semantics can be checked early
2017-01-14fix timeout in check_connectionJaquee3-5/+7
2017-01-14fix do_not_relay not preventing relaying on a timermoneromooo-monero9-34/+51
Also print its value when printing pool
2017-01-14add extra braces around subobjects (missing-braces warning)Chris Vickio1-64/+64
2017-01-14make struct/class declarations consistent (mismatched-tags warning)Chris Vickio4-5/+3
2017-01-14remove unused fields from network_throttle (unused-private-field warning)Chris Vickio1-3/+0
2017-01-13rpc: add a command to get info about the current blockchainmoneromooo-monero7-1/+134
About the tip of the main chain, and the last N blocks
2017-01-13wallet2: fix tx reroll not updating fee is going up a kB stepmoneromooo-monero1-7/+13
2017-01-13account: fix build error involving std::max and different typesmoneromooo-monero1-2/+6
2017-01-13Wallet API: add key image import/export functionsJaquee3-6/+67
2017-01-13Wallet API: support integrated addresses in address book.Jaquee1-12/+42
2017-01-13core: ensure block size limit is set from the startmoneromooo-monero1-0/+2
It can now be queried by RPC, so it needs to be set before it is otherwise needed for consensus, even if no blocks had to be added (ie, exit and restart quickly).
2017-01-13Wallet API: add rescanSpent()Jaquee3-1/+24
2017-01-13Prioritize older transactions in the mempoolMiguel Herranz2-21/+26
The transactions are first prioritized by fee and in case the fees are equal by receive_time.
2017-01-13Move key image export/import functions to wallet2Jaquee3-79/+99
2017-01-12Wallet2 + API: Callbacks for unconfirmed transfersJaquee9-6/+73
2017-01-12initialize timestamp to 0 and check for mktime() errorChris Vickio1-4/+4
2017-01-12Add start_time to get_info methods and show uptimeMiguel Herranz5-2/+26
2017-01-11Added (not yet enabled) HTTP client authenticationLee Clagett1-1/+1
2017-01-10Wallet api: Update trustedDaemon when daemon is changedJaquee1-0/+6
2017-01-10GUI cold signingJaquee10-9/+519
fix conflict
2017-01-10Wallet API: functions for supporting/creating view only walletsJaquee4-5/+88
2017-01-10Wallet API: functions for supporting/creating view only walletsJaquee4-5/+88
2017-01-10fix time stats mixinluigi11111-3/+6
also add blobsize
2017-01-10Remove db-auto-remove-logsMiguel Herranz3-9/+0
2017-01-10Remove berkeley from db_type initializationMiguel Herranz1-12/+0
2017-01-10Show available types for db-type commandMiguel Herranz1-1/+4
2017-01-10Remove berkeley from blockchain_db_typesMiguel Herranz1-1/+0
2017-01-09wallet2_api: add solo mining APImoneromooo-monero3-1/+49
2017-01-09wallet cli: print originating block heights of mixin keys when making transferkenshi847-18/+175
2017-01-08add msg for donateluigi11111-0/+1
#1498
2017-01-08Fix monero-wallet-cli compileluigi11111-1/+1
Not 100$ sure this is the right fix, nor whether address book entries from URL should be stored as addresses or URLs (or both with a check for change on payment).
2017-01-08Add parse_uri to wallet2_apiMoroccanMalinois3-0/+8
2017-01-08Cold signing: make sure short payment id isnt encrypted twiceJaquee2-1/+43
2017-01-08simplewallet: add a show_transfer <txid> commandmoneromooo-monero2-0/+124
2017-01-08wallet_rpc_server: new RPC call to get a transfer by txidmoneromooo-monero3-86/+208
2017-01-07blockchain: allow marking "tx not found" without an exceptionmoneromooo-monero4-8/+32
This is a normal occurence in many cases, and there is no need to spam the log with those when it is.
2017-01-07tx_pool: better block template filling algorithmmoneromooo-monero3-17/+33
Continue filling until we reach the block size limit, or the resulting coinbase decreases. Also remove old sanity check on block size, which is now not wanted anymore.
2017-01-06rpc: add block size to GET_BLOCK_HEADER RPCmoneromooo-monero3-2/+6
and print it in print_bc
2017-01-06rpc: add current block size to the getinfo callmoneromooo-monero2-1/+5
2017-01-05Build wallet with Android NDKMoroccanMalinois4-5/+37
2017-01-03portable serializer: tests addedkenshi841-0/+3
2017-01-02portable serializer: make signerd/unsigned tx portable, ignore archive ↵kenshi843-61/+110
version checking
2017-01-01wallet2_api: add an address book payment id lookup APImoneromooo-monero3-0/+25
2016-12-27wallet api: prevent setting refresh height too highJaquee1-4/+2
2016-12-27Wallet2: faster exit while refreshingJaquee1-1/+6
2016-12-27wallet2: check the node returned the real output when requestedmoneromooo-monero1-0/+17
2016-12-26wallet2 bugfix: store watch_only flag properly with rewrite()kenshi841-1/+1
2016-12-26wallet cli: print unspent outputs with histogramkenshi842-0/+120
2016-12-26simplewallet: remove unnecessary local_args.erase(...) in set_variable()kenshi841-24/+8
2016-12-25core: invalidate difficulty cache when resetting blockchainmoneromooo-monero1-0/+1
2016-12-25wallet2_api: some new APIs to access daemon statemoneromooo-monero3-2/+41
2016-12-24tx_pool: fix uninitialized "last failed" fieldsmoneromooo-monero1-0/+2
2016-12-24rpc: fix mixup in tx_info serializationmoneromooo-monero1-1/+1
2016-12-24wallet2: fix large reorgs failingmoneromooo-monero1-1/+1
If a reorg was large enough that a full 1000 block chunk from the daemon was all known blocks, refresh would stop, and no reorg would happen.
2016-12-22cleaner log calc algorithmfireice-uk1-20/+18
2016-12-21add tx hash to time statsluigi11111-2/+5
Also miner tx hash to log level 1 (have you ever tried to find a testnet miner tx hash?)
2016-12-21make openalias also available for solo miner; introduce namespace ↵kenshi848-154/+194
tools::dns_utils; support integrated address with dns lookup
2016-12-21core: fix recalculation of emission/feesmoneromooo-monero1-7/+4
It was counting things many, many times
2016-12-21wallet cli: viewing and editing address bookkenshi842-0/+82
2016-12-20simplewallet: bump output file format versionmoneromooo-monero1-1/+1
The serialization format changed, and while there is code to load the older serialization format, an older monerod will not be able to load a file saved by a new monerod, even though both share the same version. This is not good, and we prefer a version bump.
2016-12-20common: add missing #include <system_error> for std::error_codemoneromooo-monero1-0/+1
2016-12-20support importing unportable outputskenshi841-3/+12
2016-12-20also use portable serializer for boost_serialization_helper.h and ↵kenshi847-19/+50
net_node.inl, completely adandon boost/archive/binary_oarchive.hpp
2016-12-20moved boost cpp into hpp since they're supposed to be header onlykenshi841-1/+0
2016-12-19Refactored password prompting for walletsLee Clagett7-368/+218
2016-12-19Lower connection timeout in check_connection()Jaquee1-1/+1
2016-12-19Removed unused functionsLee Clagett2-18/+0
2016-12-17simplewallet: add pending/pool/failed in the show_transfers helpmoneromooo-monero1-1/+1
reported by nioc
2016-12-17wallet2_api: add an API to the OpenAlias resolvermoneromooo-monero3-0/+12
2016-12-17rpc: new function and RPC to get alternative chain infomoneromooo-monero10-0/+147
2016-12-16Enabled HTTP auth support for monero-wallet-rpcLee Clagett5-17/+205
2016-12-17simplewallet: add return type for donate functionanonimal1-0/+1
Resolves -Wreturn-type References #1447 #1451
2016-12-17simplewallet: hardcode Monero's donation addressanonimal1-1/+2
Closes #1447 References #1451
2016-12-16added experimental boost::archive::portable_binary_{i|o}archivekenshi845-15/+39
2016-12-15Wallet API: Do not refresh while daemon is syncingJaquee3-22/+65
+ fixed fast refresh when creating wallet offline + improved close wallet logic (make sure refresh thread is stopped)
2016-12-15Preliminary support for DragonFly BSDAntonio Huete Jimenez4-4/+6
- It builds but no further testing has been done.
2016-12-15wallet cli: donate commandKenshi Takayama2-0/+41
2016-12-14AddressBook: use unsigned type for row ID'sanonimal5-9/+9
Fixes build warnings and may also prevent future headaches.
2016-12-14fix MGs jsonmoneroexamples1-3/+3
2016-12-13Bitmonero namespace renamed Monero. Bitmonero namespace alias added so that ↵Randi Joseph14-15/+43
third party uses of the wallet api can transition.
2016-12-13rename cn_deserializeRiccardo Spagni1-1/+1
2016-12-13Adding HTTP Digest Auth (but not yet enabled)Lee Clagett2-1/+2
2016-12-13blockchain: fix reorganizations past a hard fork boundarymoneromooo-monero1-0/+3
After popping blocks from the old chain, the hard fork object's notion of the current version was not in line with the new height, causing the first blocks from the new chain to be rejected due to a false expection of a newer version.
2016-12-12monero-wallet-cli wording changes 'n' stuffluigi11113-15/+17
Possibly other pedantry. Pedants are people too.
2016-12-12Improve language of 'node ahead by' messageNanoAkron1-1/+1
2016-12-12Tx verification failing is not an errorluigi11111-5/+5
And rangeProofs are on outputs...
2016-12-13bump versionRiccardo Spagni1-1/+1
2016-12-13update checkpointsRiccardo Spagni1-0/+0
2016-12-13update checkpointsRiccardo Spagni1-0/+3
2016-12-12addressbook updatesJaquee5-26/+41
2016-12-12GUI address bookJaquee9-7/+307
2016-12-11thread_group: fix build on older GCCmoneromooo-monero1-2/+0
vtnerd (original author) confirmed this is the Right Way.
2016-12-10wallet: bring forward use of the dynamic feemoneromooo-monero1-1/+1
It was 14 days after v4, it is now one day after it. luigi1111's suggestion
2016-12-10Update cryptonote_protocol_handler.inlGingeropolous1-2/+2
Per discussion of #1359, the wording has changed to indicate that no assessment of the blocks validity is made.
2016-12-10mnemonics: fix misc STL containers leakmoneromooo-monero1-0/+6
found by coverity
2016-12-10oaes_lib: fix a leak on OOM error pathmoneromooo-monero1-0/+3
found by coverity
2016-12-10wallet2: pass by const ref where possiblemoneromooo-monero1-1/+1
Reported by kenshi84
2016-12-09Fix sending outputs from a tx with more than one pubkeymoneromooo-monero4-13/+34
A bug in cold signing caused a spurious pubkey to be included in transactions, so we need to ensure we use the correct one when sending outputs from one of those.
2016-12-08blockchain: fix setting non trovial alternate chain as invalidmoneromooo-monero1-4/+4
The wrong iterator was being used. Also preincrement iterators to avoid possibly invalidating them, I'm not sure this is necessary, but let's be safe.
2016-12-08simplewallet: restore automatically setting trusted local daemonmoneromooo-monero1-0/+43
2016-12-07ringct: add sc_check calls in MLSAG_Ver for ss and ccmoneromooo-monero1-0/+5
luigi1111's recommendation
2016-12-07ringct: guard against bad data exceptions in worker threadsmoneromooo-monero1-0/+14
If purported pubkeys aren't actually valid pubkeys, exceptions will fly. These will terminate if thrown in a worker thread. Guard against this.
2016-12-07wallet: send 0 change to a random address where necessary with rctmoneromooo-monero1-3/+13
If a rct transaction would cause no change to be generated, a zero change output is added, and sent to a randomly generated address. This ensures that no transaction will be sent with just one output, which could cause the receiver to be able to determine which of the inputs in the sent rings is the real one. This is very rare, since it requires the sum of outputs to be equal to the sum of outputs plus the fee, which is now a function of the last few blocks.
2016-12-06blockchain: bring the v4 fork height one block forwardluigi11111-3/+3
This will ensure the early 0.10 daemons will barf at the fork height, and not a bit later, which could be confusing.
2016-12-05Added confirmation before binding wallet-rpc to external IPLee Clagett2-14/+30
2016-12-05Remove infinite loop in refresh codeJaquee1-69/+43
This reverts commit fd181b03bb58a8b0628d2af8637cf6bb968fc437.
2016-12-04ringct: luigi1111's changes to fix and speedup Borromean sigsluigi11111-16/+15
2016-12-04ringct: switch to Borromean signaturesShen Noether6-118/+92
2016-12-04wallet2: avoid possible undefined behavior on empty stringmoneromooo-monero1-2/+1
2016-12-04Fix a few minor typosPierre Boyer11-27/+27
2016-12-04Fix delayed exit when syncingmoneromooo-monero6-4/+49
2016-12-03net_node: drop connections from banned IPs after looping through connectionsmoneromooo-monero1-4/+6
This keeps the connections lock just for the time of looping and adding connectoins to a list, and the dropping happens after it. This should avoid lengthy delays waiting for the connections lock.
2016-12-02ringct: fix MGs serialization to JSONmoneromooo-monero1-1/+5
2016-12-01p2p: possibly fix crash in relay_blocksmoneromooo-monero4-17/+43
2016-12-01blockchain: use high bound block reward on error where appropriatemoneromooo-monero1-1/+7
If the block reward to use for the fee calculation can't be calculated (should not happen in practice), use a high bound, so we use a fee overestimate that will be accepted by the network.
2016-12-01db_lmdb: add info in an error message when we can't get an outputmoneromooo-monero1-1/+1
Will be useful to debug
2016-12-01db_lmdb: guard against going out of sync on unexpected db resultsmoneromooo-monero1-1/+1
m_num_outputs keeps track of the number of outputs, which should be the same as the size of both the output_txs and output_amounts databases. If one goes out of sync, we need to throw to abort whatever it is we were doing.
2016-12-01db_lmdb: minor pedantic tweaksmoneromooo-monero1-8/+8
Add consts in a few places where it makes sense, avoid unnecessary memory reallocation where we know the full size needed at the outset, simplify and avoid memory copy.
2016-12-01db_lmdb: set same packing format for output_data_t and pre_rct_output_data_tmoneromooo-monero1-0/+3
For safety, though it seems to have been the case already. Also add a comment about the necessary layout identity.
2016-11-29wallet_api: add a few daemon related gettersmoneromooo-monero3-2/+88
Blockchain height, version, Mining hash rate...
2016-11-28blockchain: reject invalid pubkeys from v4moneromooo-monero1-0/+13
2016-11-28wallet: add API and RPC to create/parse monero: URIsmoneromooo-monero6-0/+233
2016-11-27change 'invalid address format' loglevelJaquee1-1/+1
2016-11-26wallet: add a getter for the filename pathmoneromooo-monero5-0/+14
2016-11-26Improve daemon RPC version handlingmoneromooo-monero5-16/+30
Daemon RPC version is now composed of a major and minor number, so that incompatible changes bump the major version, while compatible changes can still bump the minor version without causing clients to unnecessarily complain.
2016-11-25Added command_line::is_yesLee Clagett3-18/+44
2016-11-23Fix DNS failures in offline mode preventing daemon startupmoneromooo-monero2-2/+2
2016-11-23simplewallet: remove double confirmation when submitting signed txmoneromooo-monero1-51/+0
2016-11-23wallet2: fix wrong change being recorded for cold signed txesmoneromooo-monero2-3/+11
2016-11-23Added task_region - a fork/join task implementationLee Clagett6-137/+439
2016-11-23rpc: do not include output indices for pool txesmoneromooo-monero1-5/+8
Those aren't yet in the blockchain, so will not be found (and aren't yet known, since it depends on where exactly the tx will be mined in the next block or blocks)
2016-11-22rpc: bump version after RPC changesmoneromooo-monero1-1/+1
2016-11-22Add a get_outs (fully text based) version of get_outs.binmoneromooo-monero8-20/+94
2016-11-22rpc: add output indices to gettransactionsmoneromooo-monero2-0/+10
Someone apparently needs that to make a wallet but never asked. If you read that and that's not what you wanted, the bugtracker is at https://github.com/monero-project/monero/issues
2016-11-19wallet: fix exporting outputs and key images with txes with two pubkeysmoneromooo-monero2-7/+52
This also needs to make sure to pick the correct one, in the case where cold signing caused to tx keys to be included.
2016-11-18wallet2_api: fix history leak on destructionmoneromooo-monero1-1/+2
2016-11-18wallet2_api: fix payment ids from integrated addresses being ignoredmoneromooo-monero1-0/+11
2016-11-18Clamp refresh from height to blockchain height.Dion Ahmetaj1-43/+69
2016-11-17wallet2: fix illegal memory access removing newlines from passwordmoneromooo-monero1-1/+1
2016-11-17wallet2: fix decrypting a bit too much in authenticated modemoneromooo-monero1-4/+5
2016-11-16wallet: return fee in transfer RPCmoneromooo-monero2-0/+12
2016-11-16wallet: auto sync outputs and key images in cold signing filesmoneromooo-monero4-10/+74
When passing around unsigned and signed transactions, outputs and key images are passed along (outputs are passed along unsigned transactions from the hot wallet to the cold wallet, key images are passed along with signed transations from the cold wallet to the hot wallet), to allow more user friendly syncing between hot and cold wallets.
2016-11-16wallet2: fill key image and pubkey maps when importing outputsmoneromooo-monero1-0/+2
2016-11-16wallet: cast indices to string in logs to be nice to CLANGmoneromooo-monero1-4/+4
2016-11-16wallet2: try all tx keys when scanning a new transactionmoneromooo-monero2-4/+9
The vast majority of transactions will have just one tx pubkey, but a bug with cold wallet signing caused two such keys to be there, with the second one being the real one.
2016-11-15wallet2: fill in key image map when importing key imagesmoneromooo-monero1-0/+1
2016-11-15core: remove any tx pubkey from extra before adding onemoneromooo-monero1-0/+1
This will happen when signing a transaction from a cold wallet, and we don't want the placeholder the hot wallet put in it.
2016-11-13simplewallet: add a verbose flag to incoming_transfersmoneromooo-monero1-6/+18
Prints pubkey and key image as well
2016-11-13simplewallet: spell out change when signing a transfermoneromooo-monero1-2/+16
Also catch change to multiple addresses, this is unexpected
2016-11-13simplewallet: print public keys too on spendkey/viewkey commandsmoneromooo-monero1-2/+4
2016-11-13wallet: fix serialization of new m_key_image_known membermoneromooo-monero1-2/+16
2016-11-13simplewallet: include amount sent in transfer confirmationmoneromooo-monero1-0/+10
2016-11-13wallet: fix serialization of new m_key_image_known membermoneromooo-monero1-2/+16
2016-11-12Fixed generate-from-json bug introduced in 358e068Lee Clagett1-1/+2
2016-11-13Wallet2: calculate approximate blockchain height on offline creationJacob Brydolf5-2/+43
Wallet API: add approximateBlockChainHeight()
2016-11-12Don't build monero-wallet-rpc when building the GUIiDunk54001-29/+31
2016-11-12wallet: add version dependency to the wallet targetmoneromooo-monero1-0/+1
2016-11-10rpc: bump RPC versionmoneromooo-monero1-1/+1
I forgot to bump it previously when changing RPC, most notably for the addition of the unlocked field in the histogram RPC. This causes new wallets to not realize when they're talking to an older daemon, and get confused trying to get outputs to use as fake outs. This otherwise gratuitous bump ensures than old daemons will be detected by wallets using this code.
2016-11-10Created monero-wallet-rpc, moving functionality from monero-wallet-cliLee Clagett12-689/+876
2016-11-09wallet2_api: support for sweeping allmoneromooo-monero3-11/+33
2016-11-09add lightweight block propagation ("fluffy blocks")Dion Ahmetaj11-11/+492
Added a new command to the P2P protocol definitions to allow querying for support flags. Implemented handling of new support flags command in net_node. Changed for_each callback template to include support flags. Updated print_connections command to show peer support flags. Added p2p constant for signaling fluffy block support. Added get_pool_transaction function to cryptnote_core. Added new commands to cryptonote protocol for relaying fluffy blocks. Implemented handling of fluffy block command in cryptonote protocol. Enabled fluffy block support in node initial configuration. Implemented get_testnet function in cryptonote_core. Made it so that fluffy blocks only run on testnet.
2016-11-09Wallet API: use stored refresh height when rebuilding cacheJacob Brydolf2-2/+13
2016-11-09wallet: fix corner case of no recent outputs availablemoneromooo-monero1-6/+9
Also clarify related logs
2016-11-09thread_group: fix build with asserts enabledmoneromooo-monero1-1/+1
See https://github.com/monero-project/monero/pull/1291
2016-11-09cryptonote_protocol: drop connection when find_blockchain_supplement failsmoneromooo-monero1-0/+1
This will be when we can't find common ground between the peer's short chain history and our blockchain. This fixes bad peers claiming a higher blockchain height from never dropped, and keeping the node in synchronizing state forever, since we will never get blocks from that peer.
2016-11-08wallet2_api: API to sign and verify a messagemoneromooo-monero3-0/+35
2016-11-09wallet_api: PendingTransaction::txCount - number of split transactionsIlya Kitaev3-2/+13
2016-11-08Wallet API: added getTxKey()Jacob Brydolf3-0/+22
2016-11-08wallet2_api: add API for create_unmixable_sweep_transactionsmoneromooo-monero3-0/+101
2016-11-08Wallet API: Pause refresh while creating transactionJacob Brydolf1-0/+6
2016-11-07wallet: encrypt outputs and key images files with the view keymoneromooo-monero3-14/+104
This key is available to both cold and hot wallet. Authenticated encryption will guard against interception and/or modification of the file.
2016-11-07wallet: fix output collision detection for view walletsmoneromooo-monero3-21/+47
View wallets do not have the spend secret key, and are thus unable to derive key images for incoming outputs. Moreover, a previous patch set key images to zero as a means to mark an output as having an unknown key image, so they could be filled in when importing key images at a later time. That later patch caused spurious collisions. We now use public keys to detect duplicate outputs. Public keys obtained from the blockchain are checked to be identical to the ones derived locally, so can't be spoofed.
2016-11-07wallet2_api: allow connection to return "yes, but wrong version"moneromooo-monero3-5/+17
2016-11-06wallet2_api: do not copy the whole pending tx when iteratingmoneromooo-monero1-1/+1
2016-11-05wallet2_api: add API for tx notesmoneromooo-monero5-0/+46
2016-11-05wallet_api: txkey checking functions for the GUImoneromooo.monero3-0/+167
2016-11-02adding thread_group for managing async tasksLee Clagett4-100/+351
2016-11-02wallet: fix bad amounts/fees againmoneromooo-monero4-5/+39
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-01refresh speedupluigi11114-17/+22
Compute derivation only once per tx, instead of once per output. Approx 33% faster while using 75% as much CPU on my machine. Note old functions in cryptonote_core (lookup_acc_outs and is_out_to_acc) are still used by tests.
2016-10-31adding static_assert to pod functions in string toolsLee Clagett1-2/+2
2016-10-31wallet: use the dynamic per kB feemoneromooo-monero2-4/+42
2016-10-31rpc: add a dynamic fee estimation RPC callmoneromooo-monero5-0/+76
2016-10-31core: dynamic fee algorithm from ArticMinemoneromooo-monero4-5/+84
The fee will vary based on the base reward and the current block size limit: fee = (R/R0) * (M0/M) * F0 R: base reward R0: reference base reward (10 monero) M: block size limit M0: minimum block size limit (60000) F0: 0.002 monero Starts applying at v4
2016-10-30core: fix removal of extra nonce using wrong typemoneromooo-monero1-1/+1