aboutsummaryrefslogtreecommitdiff
path: root/src (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2019-03-27socks: fix build with boost 1.70moneromooo-monero1-1/+1
2019-03-25ringct: fix capitalization for scaler multfuwa1-3/+3
2019-03-25Added socks proxy (tor/i2pd/kovri) support to walletLee Clagett9-15/+239
2019-03-24Make difficulty 128 bit instead of 64 bitmoneromooo-monero18-37/+456
Based on Boolberry work by: jahrsg <jahr@jahr.me> cr.zoidberg <crypto.zoidberg@gmail.com>
2019-03-21cryptonote: fix calculating coinbase tx hashmoneromooo-monero2-10/+8
Also set error flag on exception when handling new txes to keep tests working
2019-03-21wallet: fix offline signing calling a daemon RPCmoneromooo-monero5-23/+36
2019-03-21wallet2: sanity check new tx before sendingmoneromooo-monero2-105/+217
We generate and check tx proofs and verify the amounts in those match what the original amounts were.
2019-03-21slow-hash: default to JIT on x86_64moneromooo-monero1-1/+1
2019-03-20dns_utils: really add default DNSSEC servers on failuremoneromooo-monero1-3/+2
Coverity 196597
2019-03-20device/trezor: HF10 support added, wallet::APIDusan Klinec18-241/+1272
- import only key images generated by cold signing process - wallet_api: trezor methods added - wallet: button request code added - const added to methods - wallet2::get_tx_key_device() tries to decrypt stored tx private keys using the device. - simplewallet supports get_tx_key and get_tx_proof on hw device using the get_tx_key feature - live refresh enables refresh with trezor i.e. computing key images on the fly. More convenient and efficient for users. - device: has_ki_live_refresh added - a thread is watching whether live refresh is being computed, if not for 30 seconds, it terminates the live refresh process - switches Trezor state
2019-03-20crypto: hmac_keccak addedDusan Klinec3-0/+142
2019-03-19Adding classes, functions, and utilities for common LMDB operations.Lee Clagett13-0/+1553
2019-03-15wallet: adds rescan_bc option with preserving key imagesDusan Klinec4-25/+159
- enables to perform rescan_spent / ki sync with untrusted daemon. Spent check status involves RPC calls which require trusted daemon status as it leaks information. The new call performs soft reset while preserving key images thus a sequence: refresh, ki sync / import, rescan_bc keep_ki will correctly perform spent checking without need for trusted daemon. - useful to detect spent outputs with untrusted daemon on watch_only / multisig / hw-cold wallets after expensive key image sync. - cli: rescan_bc keep_ki
2019-03-15wallet2: set seed language when creating from jsonmoneromooo-monero1-0/+2
2019-03-14wallet2: fix generation from json when restore height is not setmoneromooo-monero1-1/+1
It was not recovering then, but creating a new random address
2019-03-14miner: fix possible exit crash due to race in stopmoneromooo-monero1-2/+3
If a thread asks to stop the miner, m_stop will be set, and that thread will wait to join. If the main thread is exiting at that time, it will ask the miner to stop, but the miner will claim it's not mining and early out since m_stop is set. This will cause the database and other things to get shutdown. If the miner happens to find a block at that time, it will try to call core, and crash. Instead, lock and check whether any threads are currently in m_threads, since they'll only be cleared once the threads are joined. Moreover, since we lock, the second thread will have to wait for the first one to have finished. Calling join twice on a thread seems fine as per pthread_join(3).
2019-03-14simplewallet: add some missing spacing before uses datamoneromooo-monero1-1/+1
2019-03-13wallet_rpc_server: include out subaddress indices in get_transfersmoneromooo-monero2-0/+6
2019-03-13wallet_rpc_server: add missing --rpc-ssl-allowed-fingerprintsmoneromooo-monero1-0/+1
2019-03-12wallet2: don't store 0 amount outputs, they'll fail to be spentmoneromooo-monero1-1/+7
It's better to just ignore them, the user does not really need to know they're here. If the mask is wrong, they'll fail to be used, and sweeping will fail as it tries to use it. Reported by Josh Davis.
2019-03-12hardfork: update last_versions on popped blockmoneromooo-monero1-0/+3
2019-03-12Wallet API: multisig_tx_set passing bug fixednaughtyfox1-1/+3
2019-03-11wallet: fix load failure if the mms isn't usablemoneromooo-monero2-1/+18
2019-03-10blockchain: fix ahead of time PoW batch calcmoneromooo-monero1-2/+2
2019-03-09daemon: new mining_status commandmoneromooo-monero9-7/+134
2019-03-08blockchain: speed up getting N blocks weights/long term weightsmoneromooo-monero6-15/+118
2019-03-07slow-hash: cache TLS references locally once at function startmoneromooo-monero1-27/+31
2019-03-07crypto: fix PaX issue on NetBSD with CNv4 JITmoneromooo-monero2-9/+24
2019-03-07aesb: avoid stomping on an existing define on NetBSDmoneromooo-monero1-4/+4
2019-03-07timings: fix errno.h mispelt as error.hmoneromooo-monero1-1/+1
2019-03-07wallet2: do not use invalid keys as fake outs in ringsmoneromooo-monero1-0/+11
2019-03-06rpc: make fill_pow restrictedmoneromooo-monero1-5/+10
It's slow work, so let's not expose it
2019-03-05wallet2: key image import fixesmoneromooo-monero2-22/+19
- return the right output data when offset is not zero - do not consider import failed if result height is zero (it can be 0 if unknown) - select the right tx pubkey when using subaddresses (it's faster, and we might select the wrong one if we got an output using one of the additional tx keys) - account for skipped outputs for spent/unspent balance info "spent" is arguably wrong, since it will count spent change multiple times as it goes through receive/spend cycles.
2019-03-05Update 2019 copyrightbinaryFate308-308/+308
2019-03-05add multisig tx sets to describe_transfer rpc endpointspoke04-27/+71
2019-03-05epee: add SSL supportMartijn Otto5-6/+29
RPC connections now have optional tranparent SSL. An optional private key and certificate file can be passed, using the --{rpc,daemon}-ssl-private-key and --{rpc,daemon}-ssl-certificate options. Those have as argument a path to a PEM format private private key and certificate, respectively. If not given, a temporary self signed certificate will be used. SSL can be enabled or disabled using --{rpc}-ssl, which accepts autodetect (default), disabled or enabled. Access can be restricted to particular certificates using the --rpc-ssl-allowed-certificates, which takes a list of paths to PEM encoded certificates. This can allow a wallet to connect to only the daemon they think they're connected to, by forcing SSL and listing the paths to the known good certificates. To generate long term certificates: openssl genrsa -out /tmp/KEY 4096 openssl req -new -key /tmp/KEY -out /tmp/REQ openssl x509 -req -days 999999 -sha256 -in /tmp/REQ -signkey /tmp/KEY -out /tmp/CERT /tmp/KEY is the private key, and /tmp/CERT is the certificate, both in PEM format. /tmp/REQ can be removed. Adjust the last command to set expiration date, etc, as needed. It doesn't make a whole lot of sense for monero anyway, since most servers will run with one time temporary self signed certificates anyway. SSL support is transparent, so all communication is done on the existing ports, with SSL autodetection. This means you can start using an SSL daemon now, but you should not enforce SSL yet or nothing will talk to you.
2019-03-05device/trezor: debugging features, trezor testsDusan Klinec13-60/+513
2019-03-05db_lmdb: make mdb_block_info format conversion more future proofmoneromooo-monero1-5/+5
If mdb_block_info changes again, the v2 to v3 conversion would convert to an incorrect format.
2019-03-05p2p: avoid busy loop when we have nothing to connect tomoneromooo-monero1-1/+9
2019-03-05wallet_rpc_server: avoid repeated string allocations when parsingmoneromooo-monero1-20/+14
2019-03-05cryptonote: avoid double parsing blocks when syncingmoneromooo-monero3-15/+32
2019-03-05cryptonote: speed up calculating coinbase tx prunable hashmoneromooo-monero1-2/+9
It's a hash of an empty buffer, so we can avoid keccak
2019-03-05core: avoid double parsing blocks after hohmoneromooo-monero6-25/+50
2019-03-05blockchain: avoid unneeded block copymoneromooo-monero1-1/+2
2019-03-05save some database calls when getting top block hash and heightmoneromooo-monero5-29/+43
2019-03-05blockchain: avoid pointless transaction copy and temporarymoneromooo-monero1-3/+4
2019-03-05blockchain: avoid duplicate block hash computationmoneromooo-monero1-2/+1
2019-03-05core: avoid calculating tx prefix hash when we don't need itmoneromooo-monero4-21/+26
2019-03-05Avoid repeated (de)serialization when syncingmoneromooo-monero10-38/+49
2019-03-05fix merge errors, update recommended version to 0.14.0.2Riccardo Spagni1-1/+1
2019-03-05update checkpoints hashRiccardo Spagni2-2/+2
2019-03-05update checkpoints, update README for 0.14.1 releaseRiccardo Spagni2-2/+3
2019-03-05wallet2: don't calculate prefix hash when we don't need itmoneromooo-monero1-6/+6
2019-03-05db: speedup block additionmoneromooo-monero4-37/+83
by avoiding repeated (de)serialization
2019-03-05CryptonightR: define out i386/x86_64 specific code on other archsmoneromooo-monero2-0/+8
2019-03-05slow-hash: fix build on armmoneromooo-monero4-27/+42
2019-03-04check load_t_from_json return valuesmoneromooo-monero2-4/+11
2019-03-04default initialize rpc structuresmoneromooo-monero8-321/+623
2019-03-04various: remove unused variablesmoneromooo-monero7-18/+1
2019-03-04blockchain: forbid older BP rct versions from v11moneromooo-monero1-1/+18
2019-03-04tests: add a CNv4 JIT testmoneromooo-monero1-7/+8
2019-03-04crypto: plug CNv4 JIT into cn_slow_hashmoneromooo-monero2-3/+100
Enabled by setting the MONERO_USE_CNV4_JIT env var to 1
2019-03-04crypto: clear cache after generating random programmoneromooo-monero1-0/+3
2019-03-04CNv4 JIT compiler for x86-64 and testsSChernykh4-0/+2746
Minimalistic JIT code generator for random math sequence in CryptonightR. Usage: - Allocate writable and executable memory - Call v4_generate_JIT_code with "buf" pointed to memory allocated on the previous step - Call the generated code instead of "v4_random_math(code, r)", omit the "code" parameter
2019-03-04blockchain: add v10 fork heightsmoneromooo-monero1-0/+5
2019-03-04Print the reason why a notification spec failed to parsemoneromooo-monero2-3/+3
2019-03-04blockchain: include number of discarded blocks in --reorg-notifymoneromooo-monero2-3/+5
2019-03-04core: add a few more block rate window sizesmoneromooo-monero1-1/+1
The 10 minute one will never trigger for 0 blocks, as it's still fairly likely to happen even without the actual hash rate changing much, so we add a 20 minute window, where it will (for 0 blocks) and a one hour window.
2019-03-04core: add --block-rate-notifymoneromooo-monero2-0/+33
This runs a command whenever the block rate deviates too much from the expectation
2019-03-04notify: fix tokenizing being too strictmoneromooo-monero1-1/+1
2019-03-04hardfork: fix fork determination for historical heightsmoneromooo1-1/+1
2019-03-04ArticMine's new block weight algorithmmoneromooo-monero14-33/+530
This curbs runaway growth while still allowing substantial spikes in block weight Original specification from ArticMine: here is the scaling proposal Define: LongTermBlockWeight Before fork: LongTermBlockWeight = BlockWeight At or after fork: LongTermBlockWeight = min(BlockWeight, 1.4*LongTermEffectiveMedianBlockWeight) Note: To avoid possible consensus issues over rounding the LongTermBlockWeight for a given block should be calculated to the nearest byte, and stored as a integer in the block itself. The stored LongTermBlockWeight is then used for future calculations of the LongTermEffectiveMedianBlockWeight and not recalculated each time. Define: LongTermEffectiveMedianBlockWeight LongTermEffectiveMedianBlockWeight = max(300000, MedianOverPrevious100000Blocks(LongTermBlockWeight)) Change Definition of EffectiveMedianBlockWeight From (current definition) EffectiveMedianBlockWeight = max(300000, MedianOverPrevious100Blocks(BlockWeight)) To (proposed definition) EffectiveMedianBlockWeight = min(max(300000, MedianOverPrevious100Blocks(BlockWeight)), 50*LongTermEffectiveMedianBlockWeight) Notes: 1) There are no other changes to the existing penalty formula, median calculation, fees etc. 2) There is the requirement to store the LongTermBlockWeight of a block unencrypted in the block itself. This is to avoid possible consensus issues over rounding and also to prevent the calculations from becoming unwieldy as we move away from the fork. 3) When the EffectiveMedianBlockWeight cap is reached it is still possible to mine blocks up to 2x the EffectiveMedianBlockWeight by paying the corresponding penalty. Note: the long term block weight is stored in the database, but not in the actual block itself, since it requires recalculating anyway for verification.
2019-03-03wallet2: fix mishandling rct outputs in coinbase txmoneromooo-monero2-7/+13
Reported by cutcoin
2019-03-02Simplify RPC endpoint, emoving second RPC endpoint generate_from_view_keyJoel2-17/+4
2019-02-27rpc: Allow submitting tx as hex blob over ZMQNathan Dorfman4-6/+59
2019-02-27dns_utils: use fallback if the default resolver does not support DNSSECmoneromooo-monero1-6/+34
2019-02-26cn_deserialize: remove some unused codemoneromooo-monero1-50/+0
2019-02-26cryptonote_protocol_handler: search for syncing peers in "cruise mode"moneromooo-monero3-0/+45
When all our outgoing peer slots are filled, we cycle one peer at a time looking for syncing peers until we have at least two such peers. This brings two advantages: - Peers without incoming connections will find more syncing peers that before, thereby strengthening network decentralization - Peers will have more resistance to isolation attacks, as they are more likely to find a "good" peer than they were before
2019-02-25discontinue use of allocamoneromooo-monero2-14/+4
NetBSD emits: warning: Warning: reference to the libc supplied alloca(3); this most likely will not work. Please use the compiler provided version of alloca(3), by supplying the appropriate compiler flags (e.g. not -std=c89). and man 3 alloca says: Normally, gcc(1) translates calls to alloca() with inlined code. This is not done when either the -ansi, -std=c89, -std=c99, or the -std=c11 option is given and the header <alloca.h> is not included. Otherwise, (without an -ansi or -std=c* option) the glibc version of <stdlib.h> includes <alloca.h> and that contains the lines: #ifdef __GNUC__ #define alloca(size) __builtin_alloca (size) #endif It looks like alloca is a bad idea in modern C/C++, so we use VLAs for C and std::vector for C++.
2019-02-25daemon: add '--no-sync' arg to optionally disable blockchain syncxiphon5-1/+17
2019-02-25daemon: add --public-node mode, RPC port propagation over P2Pxiphon20-30/+147
2019-02-23miner: it can now autodetect the optimal number of threadsmoneromooo-monero4-9/+96
2019-02-22Better error when sending a tx with a too large extra fieldmoneromooo-monero2-3/+21
2019-02-21rpc: quantize db size up to 5 GB in restricted modemoneromooo-monero1-1/+8
2019-02-21dns_utils: remove MoneroPulse/checkpoints mention in TXT record codemoneromooo-monero1-4/+4
This code is used for more than just these
2019-02-21Remove code duplicationJoel3-190/+20
2019-02-21db_lmdb: fix missing mdb_dbi_close in migrationmoneromooo-monero1-0/+1
Fixed by hyc
2019-02-20wallet-rpc: get balance for all accounts and subaddressesstoffu2-21/+49
2019-02-20wallet: fix payment ID decryption for construction dataDusan Klinec1-7/+6
2019-02-20device/trezor: dummy payment ID fixDusan Klinec1-1/+1
2019-02-19Add generate_from_view_key RPC methodJoel3-0/+185
2019-02-19Add generate_from_keys RPC methodJoel3-0/+201
2019-02-17wallet-rpc: get transfers for all accounts and subaddressesJethro Grassie2-5/+15
2019-02-14Support docker for gitian buildsTheCharlatan1-1/+1
Building with docker is arguably easier and more familiar to most people than either kvm, or lxc. This commit also relaxes the back compat requirement a bit. 32 bit linux now uses glibc version 2.0. Also, the docker shell could not handle gcc arguments containing spaces, so the explicit '-DFELT_TYPE' declaration was dropped. Lastly, this removes some packages from the osx descriptor.
2019-02-14wallet_rpc_server: add a validate_address RPCmoneromooo-monero3-1/+89
2019-02-14Fixed path to int-util.hSChernykh1-1/+1
2019-02-14Adding cnv4-2 tweaksSChernykh2-39/+79
Co-Authored-By: Lee Clagett <vtnerd@users.noreply.github.com>
2019-02-14Cryptonight variant 4 aka CryptonightRSChernykh6-17/+508
It introduces random integer math into the main loop.
2019-02-14simplewallet: add help for ask-password optionsmoneromooo-monero1-0/+2
2019-02-14simplewallet: mark confirm-missing-payment-id as obsoletemoneromooo-monero1-1/+1
2019-02-13debug compilation fix: net lib missing common depsDusan Klinec1-1/+1
``` Undefined symbols for architecture x86_64: "common_category()", referenced from: make_error_code(common_error) in parse.cpp.o make_error_code(common_error) in tor_address.cpp.o "boost::system::detail::system_category_ncx()", referenced from: boost::system::system_category() in parse.cpp.o boost::system::system_category() in socks.cpp.o boost::system::system_category() in libepee.a(net_utils_base.cpp.o) "boost::system::detail::generic_category_ncx()", referenced from: boost::system::generic_category() in parse.cpp.o boost::system::generic_category() in socks.cpp.o boost::system::generic_category() in tor_address.cpp.o boost::system::generic_category() in libepee.a(string_tools.cpp.o) boost::system::generic_category() in libepee.a(net_utils_base.cpp.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[3]: *** [src/net/libnet.dylib] Error 1 make[2]: *** [src/net/CMakeFiles/net.dir/all] Error 2 ```
2019-02-13Don't decrypt keys in view only wallets in wallet_keys_unlockerDoyle1-1/+1
2019-02-10Human readable message if maximum outputs reacheditalocoin1-0/+1
2019-02-08Add support for V10 protocol with BulletProofV2 and short amount.cslashm1-13/+34
2019-02-08Fix dummy decryption in debug modecslashm1-1/+3
2019-02-08fix log namespacecslashm1-45/+45
2019-02-08New scheme key destination contrfolcslashm7-63/+233
Implies protocol version management.
2019-02-03simplewallet: tell the user to complain to the recipientmoneromooo-monero1-1/+1
for long payment ids
2019-02-03ringct: fix v1 ecdhInfo serializationmoneromooo-monero1-15/+2
The change made for v2 broke v1, and we have no way to know which version we're serializing here. However, since we don't actually care about space savings in this case, we continue serialiazing both mask and amount.
2019-02-02epee: add SSL supportmoneromooo-monero14-30/+168
RPC connections now have optional tranparent SSL. An optional private key and certificate file can be passed, using the --{rpc,daemon}-ssl-private-key and --{rpc,daemon}-ssl-certificate options. Those have as argument a path to a PEM format private private key and certificate, respectively. If not given, a temporary self signed certificate will be used. SSL can be enabled or disabled using --{rpc}-ssl, which accepts autodetect (default), disabled or enabled. Access can be restricted to particular certificates using the --rpc-ssl-allowed-certificates, which takes a list of paths to PEM encoded certificates. This can allow a wallet to connect to only the daemon they think they're connected to, by forcing SSL and listing the paths to the known good certificates. To generate long term certificates: openssl genrsa -out /tmp/KEY 4096 openssl req -new -key /tmp/KEY -out /tmp/REQ openssl x509 -req -days 999999 -sha256 -in /tmp/REQ -signkey /tmp/KEY -out /tmp/CERT /tmp/KEY is the private key, and /tmp/CERT is the certificate, both in PEM format. /tmp/REQ can be removed. Adjust the last command to set expiration date, etc, as needed. It doesn't make a whole lot of sense for monero anyway, since most servers will run with one time temporary self signed certificates anyway. SSL support is transparent, so all communication is done on the existing ports, with SSL autodetection. This means you can start using an SSL daemon now, but you should not enforce SSL yet or nothing will talk to you.
2019-02-02wallet_rpc_server: remove detached short payment ids supportmoneromooo-monero1-5/+1
2019-02-01cryptonote: Fix enum check in expand_transaction_2Tom Smeding1-1/+1
This was noticed because GCC warned about using an enum value in a boolean context.
2019-02-01cryptonote: Add const-qualifier on comparison functorTom Smeding1-1/+1
The original code did not compile with GCC 8.2.1 in C++17 mode, since comparison functions for std::set's must be invocable as const.
2019-02-01serialization: Use pos_type instead of streamposTom Smeding1-1/+1
According to [1], the ios_base::streampos member type is deprecated, and removed in C++17. This type was an alias for pos_type, which this commit uses instead. [1]: https://en.cppreference.com/w/cpp/io/ios_base
2019-01-30cryptonote_protocol_handler: pad tx messages when using tor/i2pmoneromooo-monero1-1/+1
2019-01-30i2p: initial supportJethro Grassie12-9/+419
2019-01-30blockchain_prune: don't prune before v10moneromooo-monero1-0/+18
This uses system time since it doesn't see the p2p network, so is not 100% accurate
2019-01-28Adding initial support for broadcasting transactions over TorLee Clagett26-692/+2863
- Support for ".onion" in --add-exclusive-node and --add-peer - Add --anonymizing-proxy for outbound Tor connections - Add --anonymous-inbounds for inbound Tor connections - Support for sharing ".onion" addresses over Tor connections - Support for broadcasting transactions received over RPC exclusively over Tor (else broadcast over public IP when Tor not enabled).
2019-01-28block_queue: fix late sanity check off by onemoneromooo-monero1-1/+1
2019-01-28rpc: fix internal daemon calls in restricted rpc getting partial datamoneromooo-monero5-315/+336
2019-01-28blockchain: add --reorg-notifymoneromooo-monero3-1/+32
This will trigger if a reorg is seen. This may be used to do things like stop automated withdrawals on large reorgs. %s is replaced by the height at the split point %h is replaced by the height of the new chain %n is replaced by the number of new blocks after the reorg
2019-01-28notify: handle arbitrary tagsmoneromooo-monero4-6/+22
2019-01-28notify: warn if the spec contains one of '"\moneromooo-monero1-0/+2
These aren't processed as a shell does, so this may surprise users
2019-01-28common: set MONERO_DEFAULT_LOG_CATEGORY for notify and spawnmoneromooo-monero2-0/+6
2019-01-28performance_tests: better stats, and keep track of timing historymoneromooo-monero4-0/+162
2019-01-26blockchain: fix default genesis block timestampmoneromooo-monero1-2/+2
2019-01-22ringct: remove unused senderPk from ecdhTuplemoneromooo-monero2-4/+0
This was an early ringct field, which was never used in production
2019-01-22ringct: the commitment mask is now deterministicmoneromooo-monero5-27/+55
saves space in the tx and is safe Found by knaccc
2019-01-22ringct: encode 8 byte amount, saving 24 bytes per outputmoneromooo-monero11-28/+71
Found by knaccc
2019-01-22ringct: save 3 bytes on bulletproof sizemoneromooo-monero1-1/+4
Found by luigi1111
2019-01-22add a bulletproof version, new bulletproof type, and rct configmoneromooo-monero13-62/+95
This makes it easier to modify the bulletproof format
2019-01-22Pruningmoneromooo-monero44-427/+3018
The blockchain prunes seven eighths of prunable tx data. This saves about two thirds of the blockchain size, while keeping the node useful as a sync source for an eighth of the blockchain. No other data is currently pruned. There are three ways to prune a blockchain: - run monerod with --prune-blockchain - run "prune_blockchain" in the monerod console - run the monero-blockchain-prune utility The first two will prune in place. Due to how LMDB works, this will not reduce the blockchain size on disk. Instead, it will mark parts of the file as free, so that future data will use that free space, causing the file to not grow until free space grows scarce. The third way will create a second database, a pruned copy of the original one. Since this is a new file, this one will be smaller than the original one. Once the database is pruned, it will stay pruned as it syncs. That is, there is no need to use --prune-blockchain again, etc.
2019-01-19wallet2: fix hashchain going out of sync on refresh errormoneromooo-monero1-0/+5
2019-01-19bulletproofs: speed up vector_power_summoneromooo-monero1-6/+22
found by sarang
2019-01-19db_lmdb: don't unnecessarily cast to double on the way to uint64_tmoneromooo-monero1-3/+3
2019-01-18core: include a dummy encrypted payment id when no payment is usedmoneromooo-monero2-14/+58
For better transaction uniformity, even though this wastes space.
2019-01-18core, wallet: remember original text version of destination addressmoneromooo-monero5-10/+33
2019-01-18crptonote_core: do not error out sending unparsable extra fieldmoneromooo-monero1-2/+2
extra is arbitrary, and the user may well want to send custom data
2019-01-18daemon: extend 'print_pl' command, optional filter by type and limitxiphon4-8/+44
2019-01-18simplewallet: fix help text of rescan_bc to mention the "hard" optionstoffu1-1/+1
2019-01-18simplewallet: remove extra colon in a few calls to input_secure_linestoffu1-6/+6
2019-01-18simplewallet: avoid conversion to string in input_secure_linestoffu1-2/+2
2019-01-18simplewallet: factor yesno hint into input_linestoffu1-38/+41
2019-01-16blockchain_ancestry: allow getting ancestry of a single outputmoneromooo-monero1-229/+209
This involved a reorg of the code, to factor and speedup some bits, as well as using the cache for all modes, and making both modes usable in the same run.
2019-01-16blockchain_db: allow getting output keys without commitmentmoneromooo-monero3-4/+5
Since the commitment has to be calculated for non rct outputs, it slows down a lot unnecessarily if we don't need it
2019-01-16simplewallet: disable long payment ids by defaultmoneromooo-monero2-12/+37
unless --long-payment-id-support is used
2019-01-16wallet2: remember which output keys map to which key imagesmoneromooo-monero2-16/+101
This allows filling in transfer_details when a cold signed tx gets seen in a block next
2019-01-16simplewallet: improve punctuation in user visible stringselsta1-3/+3
2019-01-15wallet api: don't truncate address in subaddress_accountselsta1-1/+1
Same behaviour as subaddress.cpp now.
2019-01-13wallet2: fix incorrect patch for determining fork rulesmoneromooo-monero1-1/+1
Half of the patch was correct, but half was introducing another bug, where a wallet asking for a fork that the daemon does not know about yet would decide to use those rules.
2019-01-13wallet2: fix duplicate tx notifications for pool txesmoneromooo-monero1-3/+10
2019-01-11mnemonics: compare canonical words (lowercase)moneromooo-monero2-24/+115
2019-01-09device: proper handling of user inputselsta5-9/+43
(1) If the user denies something on the Ledger, a proper error message is now shown. (2) Ledger doesn't time out anymore while waiting on user input. (3) Lower the timeout to 2 seconds, this is enough for normal Ledger <-> System communication.
2019-01-09wallet: do not check txpool in background modemoneromooo-monero3-10/+11
This avoids the constant message about needed to run refresh to enter a password. Also mention the txpool when asking for the password if the reason is a pool tx.
2019-01-09device_ledger: remove full_name variableselsta2-2/+1
This variable was never set, resulting in the device name always showing as "disconnected".
2019-01-08i18n: filter LANG/LC_LANG for valid characters, and handle @moneromooo-monero1-0/+14
If there are more valid characters, add them in, I did not find an actual list.
2019-01-08ringct: remove duplicate rv.mixRing = mixRing; in genRctSimplestoffu1-1/+0
2019-01-07message_store: init me fieldmoneromooo-monero1-0/+1
Coverity 190651
2019-01-07blockchain: don't propagate exception past dtormoneromooo-monero1-1/+2
Coverity 190660
2019-01-07wallet_api: fix usage of LOG_ERRORmoneromooo-monero1-10/+10
2019-01-07Make get_output_key method constmoneroexamples4-8/+8
get_output_key method is commonly used when working with txs and their key images. Because the method is not const, passing blockchain object though const& or pointers to const is not possible in this context. This is especially problematic in external projects (e.g., projects in moneroexamples) that use monero C++ api to operate on the blockchain and txs. Thus, having get_output_key method will simplify moving blockchain object around through const references and pointers to const objects.
2019-01-04simplewallet: Show new address after going multisigrbrunner71-0/+1
2019-01-02wallet api/device: set estimated restore height if none is providedselsta4-0/+15
2019-01-02simplewallet: don't subtract 1 to estimate blockchain heightmoneromooo-monero1-1/+1
in case it returns 0, and other uses don't, plus it's a estimation anyway.
2019-01-01blockchain: fix wrong hf version when popping multiple blocksmoneromooo-monero3-6/+37
Since we keep track of the hf version in the db, we pick it up from there instead of doing the full reorg call, which is quite expensive
2019-01-01blockchain: use the version passed as parameter, not a new onemoneromooo-monero1-1/+1
2019-01-01hardfork: remove batch transactions setupmoneromooo-monero1-1/+0
This is now default, so it spares us the warnings
2018-12-31wallet2: speedup output trackingmoneromooo-monero2-13/+49
It can get heavy for large wallets
2018-12-31wallet: optionally keep track of owned outputs usesmoneromooo-monero4-19/+109
2018-12-30p2p: don't stop the idle thread when no gray peers are foundmoneromooo-monero1-1/+1
2018-12-30wallet: do not display daemon controlled text if untrustedmoneromooo-monero4-39/+89
2018-12-27simplewallet: remove ability to transfer with detached short payment idsmoneromooo-monero1-31/+2
It seemed like a good idea at the time
2018-12-26daemon: add a +hex option to print_blockmoneromooo-monero3-7/+23
2018-12-26daemon: print human friendly timestamp toomoneromooo-monero1-2/+2
2018-12-25blocks: fix checkpoint code generation on OpenBSDmoneromooo-monero1-1/+1
Its od outputs small decimals with leading 0, which means octal in C
2018-12-25cryptonote_core: revert extra_tx_mapmoneromooo-monero2-59/+5
While the lookups are faster, the zeroCommit calls have to be done again when storing the new outputs in the db, which ends up making the whole thing slower after all, and the ways this can be cached aren't very nice code wise, so let's forget it since the gains aren't very large anyway.
2018-12-24wallet_rpc_server: add all field to export_key_imagesmoneromooo-monero4-6/+12
To use if you want all key images, not just the ones for recently imported outputs
2018-12-23Simplewallet: Unify usage messages.Tadeas Moravec1-144/+230
Help messages describe the commands usage. When users run the command with wrong arguments, it usually helpfully offers the usage, too. Unfortunately, these two usage messages were duplicated in the code and started to get out of sync. Fixing with constant strings.
2018-12-23epee: better network buffer data structuremoneromooo-monero5-20/+20
avoids pointless allocs and memcpy
2018-12-23simplewallet: fix show_transfers colouring, and add red for failedmoneromooo-monero2-1/+6
Also add the type back, as it was somehow weirdly split into two different fields, one being a union...
2018-12-23Remove boost::lexical_cast for uuid and unused uuid functionLee Clagett2-3/+5
2018-12-22message_store: fix error message adding const char * with offsetmoneromooo-monero1-7/+7
2018-12-22blockchain_blackball: make log file name consistent with executablestoffu1-1/+1
2018-12-21wallet2: finalize_multisig now rejects non N-1/N multisig walletsmoneromooo-monero1-0/+17
2018-12-19Remove unused hash in export_key_imagesdoy-lee1-3/+0
2018-12-18device/trezor: store tx_prefix_hash in tx key auxDusan Klinec1-0/+3
- tx_prefix_hash is required in the key derivation for decryption of the tx keys
2018-12-18blockchain: fix block rate check for empty blockchainsmoneromooo-monero1-1/+3
2018-12-18build: protobuf dependency fixes, libusb buildDusan Klinec2-8/+6
- docker protobuf dependencies, cross-compilation - device/trezor protobuf build fixes, try_compile - libusb built under all platforms, used by trezor for direct connect
2018-12-18blockchain_db: speedup tx output gatheringmoneromooo-monero8-44/+71
We know all the data we'll want for getblocks.bin is contiguous
2018-12-16wallet2: cut down on the number of useless derivation threadsmoneromooo-monero1-6/+9
2018-12-16wallet2: fix accessing unwound stack on exceptionmoneromooo-monero1-4/+12
2018-12-14Add --restore-date paramHoward Chu2-11/+57
Estimate restore height from given date Check date format early, error out early if invalid
2018-12-14Sync hashchain bug fixednaughtyfox1-4/+3
2018-12-14Wallet: Initialize members without default ctor.Tadeas Moravec1-0/+2
Found by Coverity (188336 in Anonimal's Coverity account).
2018-12-12MMS (Multisig Messaging System): Initial versionrbrunner712-127/+3877
2018-12-12ringct: avoid repeated point conversionmoneromooo-monero1-1/+10
2018-12-08ignore child process when execJethro Grassie1-0/+4
2018-12-08perf_timer: make all logs Info levelmoneromooo-monero1-1/+1
and make them not default at log level 1
2018-12-08wallet2: clear all payments on soft rescan_bcmoneromooo-monero1-0/+4
They'll get duplicated otherwise
2018-12-08epee: avoid string allocation when parsing a pod from stringmoneromooo-monero1-2/+2