aboutsummaryrefslogtreecommitdiff
path: root/src (follow)
AgeCommit message (Collapse)AuthorFilesLines
2019-03-15wallet_rpc_server: fix buffer read overflow in string assignmentmoneromooo-monero1-1/+1
2019-03-14Merge pull request #4977Riccardo Spagni12-59/+512
5ea17909 device/trezor: debugging features, trezor tests (Dusan Klinec)
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-10blockchain: fix ahead of time PoW batch calcmoneromooo-monero1-2/+2
2019-03-07Merge pull request #5232Riccardo Spagni4-3/+4
082149c5 fix merge errors, update recommended version to 0.14.0.2 (Riccardo Spagni) f3b368c6 update checkpoints hash (Riccardo Spagni) e518f2b1 update checkpoints, update README for 0.14.1 release (Riccardo Spagni) 8780d6b4 update readme via cherry-pick (Riccardo Spagni)
2019-03-05Merge pull request #4852Riccardo Spagni5-6/+29
057c279c epee: add SSL support (Martijn Otto)
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-05Merge pull request #5119Riccardo Spagni1-5/+5
f024a10b db_lmdb: make mdb_block_info format conversion more future proof (moneromooo-monero)
2019-03-05Merge pull request #5103Riccardo Spagni1-1/+9
ceb72be3 p2p: avoid busy loop when we have nothing to connect to (moneromooo-monero)
2019-03-05Merge pull request #5100Riccardo Spagni18-189/+309
c4851024 wallet_rpc_server: avoid repeated string allocations when parsing (moneromooo-monero) 88c85c18 cryptonote: avoid double parsing blocks when syncing (moneromooo-monero) 9feda0ee cryptonote: speed up calculating coinbase tx prunable hash (moneromooo-monero) 238401d4 core: avoid double parsing blocks after hoh (moneromooo-monero) dc5a7609 blockchain: avoid unneeded block copy (moneromooo-monero) 79b4e9f3 save some database calls when getting top block hash and height (moneromooo-monero) 98278808 blockchain: avoid pointless transaction copy and temporary (moneromooo-monero) 07d655e4 blockchain: avoid duplicate block hash computation (moneromooo-monero) f75d51ab core: avoid calculating tx prefix hash when we don't need it (moneromooo-monero) b044d03a Avoid repeated (de)serialization when syncing (moneromooo-monero) b747e836 wallet2: don't calculate prefix hash when we don't need it (moneromooo-monero) e69477bf db: speedup block addition (moneromooo-monero)
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-04Merge pull request #5156Riccardo Spagni2-20/+48
3d2772a0 wallet-rpc: get balance for all accounts and subaddresses (stoffu)
2019-03-04Merge pull request #5154Riccardo Spagni2-4/+14
8a1ff079 wallet-rpc: get transfers for all accounts and subaddresses (Jethro Grassie)
2019-03-04Merge pull request #5146Riccardo Spagni1-1/+1
4a9257b4 Support docker for gitian builds (TheCharlatan)
2019-03-04Merge pull request #5143Riccardo Spagni1-1/+3
1f5680c8 simplewallet: add help for ask-password options (moneromooo-monero) c7c74caf simplewallet: mark confirm-missing-payment-id as obsolete (moneromooo-monero)
2019-03-04Merge pull request #5141Riccardo Spagni3-1/+89
5c81a9f1 wallet_rpc_server: add a validate_address RPC (moneromooo-monero)
2019-03-04Merge pull request #5140Riccardo Spagni1-1/+1
a3973fc9 debug compilation fix: net lib missing common deps (Dusan Klinec)
2019-03-04Merge pull request #5131Riccardo Spagni1-1/+1
d2c95ab9 Don't decrypt keys in view only wallets in wallet_keys_unlocker (Doyle)
2019-03-04Merge pull request #5125Riccardo Spagni4-9/+96
8298f42e miner: it can now autodetect the optimal number of threads (moneromooo-monero)
2019-03-04Merge pull request #5111Riccardo Spagni1-1/+1
6a3608d3 cryptonote_protocol_handler: pad tx messages when using tor/i2p (moneromooo-monero)
2019-03-04Merge pull request #5108Riccardo Spagni1-0/+18
1c9d5285 blockchain_prune: don't prune before v10 (moneromooo-monero)
2019-03-04Merge pull request #5102Riccardo Spagni4-0/+162
1eef0565 performance_tests: better stats, and keep track of timing history (moneromooo-monero)
2019-03-04Merge pull request #5092Riccardo Spagni1-2/+2
eec79276 blockchain: fix default genesis block timestamp (moneromooo-monero)
2019-03-04Merge pull request #5091Riccardo Spagni12-9/+419
123fc2a2 i2p: initial support (Jethro Grassie)
2019-03-04Merge pull request #5084Riccardo Spagni1-0/+5
9d58749b wallet2: fix hashchain going out of sync on refresh error (moneromooo-monero)
2019-03-04Merge pull request #5082Riccardo Spagni1-6/+22
1bc5f9fa bulletproofs: speed up vector_power_sum (moneromooo-monero)
2019-03-04Merge pull request #5081Riccardo Spagni1-3/+3
d78addcb db_lmdb: don't unnecessarily cast to double on the way to uint64_t (moneromooo-monero)
2019-03-04Merge pull request #4054Riccardo Spagni14-30/+168
24569454 epee: add SSL support (moneromooo-monero)
2019-03-04Merge pull request #5224Riccardo Spagni1-1/+1
807903bb hardfork: fix fork determination for historical heights (moneromooo)
2019-03-04Merge pull request #5217Riccardo Spagni2-7/+13
fa2fbc39 wallet2: fix mishandling rct outputs in coinbase tx (moneromooo-monero)
2019-03-04blockchain: forbid older BP rct versions from v11moneromooo-monero1-1/+18
2019-03-04Merge pull request #5175Riccardo Spagni1-0/+1
85088d9f db_lmdb: fix missing mdb_dbi_close in migration (moneromooo-monero)
2019-03-04Merge pull request #5174Riccardo Spagni7-3/+2855
0de14396 tests: add a CNv4 JIT test (moneromooo-monero) 24d281c3 crypto: plug CNv4 JIT into cn_slow_hash (moneromooo-monero) 78ab59ea crypto: clear cache after generating random program (moneromooo-monero) b9a61884 performance_tests: add tests for new Cryptonight variants (moneromooo-monero) fff23bf7 CNv4 JIT compiler for x86-64 and tests (SChernykh) 3dde67d8 blockchain: add v10 fork heights (moneromooo-monero)
2019-03-04Merge pull request #5132Riccardo Spagni8-121/+314
2dbc487e Add support for V10 protocol with BulletProofV2 and short amount. (cslashm) 63cc02c0 Fix dummy decryption in debug mode (cslashm) f0e55ceb fix log namespace (cslashm) 460da140 New scheme key destination contrfol (cslashm)
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-04Merge pull request #5126Riccardo Spagni6-45/+576
f1fb06b1 Fixed path to int-util.h (SChernykh) 9da0892b Adding cnv4-2 tweaks (SChernykh) f51397b3 Cryptonight variant 4 aka CryptonightR (SChernykh)
2019-03-04Merge pull request #5124Riccardo Spagni14-33/+530
b8787f43 ArticMine's new block weight algorithm (moneromooo-monero)
2019-03-04Merge pull request #5122Riccardo Spagni1-15/+2
52964501 ringct: fix v1 ecdhInfo serialization (moneromooo-monero)
2019-03-04Merge pull request #5120Riccardo Spagni1-5/+1
45b7df70 wallet_rpc_server: remove detached short payment ids support (moneromooo-monero)
2019-03-04Merge pull request #5118Riccardo Spagni1-1/+1
49b2a48a simplewallet: tell the user to complain to the recipient (moneromooo-monero)
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-02-23miner: it can now autodetect the optimal number of threadsmoneromooo-monero4-9/+96
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-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-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-29Merge pull request #4988Riccardo Spagni26-692/+2863
973403bc Adding initial support for broadcasting transactions over Tor (Lee Clagett)
2019-01-29Merge pull request #5104Riccardo Spagni1-1/+1
dc0b86ab block_queue: fix late sanity check off by one (moneromooo-monero)
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-28Merge pull request #5062Riccardo Spagni5-315/+336
acfff8d0 rpc: fix internal daemon calls in restricted rpc getting partial data (moneromooo-monero)
2019-01-28Merge pull request #5053Riccardo Spagni7-7/+62
23813c71 blockchain: add --reorg-notify (moneromooo-monero) f6db59b0 notify: handle arbitrary tags (moneromooo-monero) ff959216 notify: warn if the spec contains one of '"\ (moneromooo-monero) 13852678 common: set MONERO_DEFAULT_LOG_CATEGORY for notify and spawn (moneromooo-monero)
2019-01-28rpc: fix internal daemon calls in restricted rpc getting partial datamoneromooo-monero5-315/+336
2019-01-28Merge pull request #5080Riccardo Spagni4-8/+44
d294a577 daemon: extend 'print_pl' command, optional filter by type and limit (xiphon)
2019-01-28Merge pull request #5074Riccardo Spagni1-1/+1
b8c5f550 wallet api: don't truncate address in subaddress_account (selsta)
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-28Merge pull request #5069Riccardo Spagni1-3/+10
2112060d wallet2: fix duplicate tx notifications for pool txes (moneromooo-monero)
2019-01-28Merge pull request #5068Riccardo Spagni1-1/+1
96e35506 wallet2: fix incorrect patch for determining fork rules (moneromooo-monero)
2019-01-28Merge pull request #5063Riccardo Spagni2-24/+115
11227e0b mnemonics: compare canonical words (lowercase) (moneromooo-monero)
2019-01-28Merge pull request #5056Riccardo Spagni3-10/+11
8258a9e7 wallet: do not check txpool in background mode (moneromooo-monero)
2019-01-28Merge pull request #5055Riccardo Spagni5-9/+43
6c060e6a device: proper handling of user input (selsta)
2019-01-28Merge pull request #5054Riccardo Spagni2-2/+1
93c21644 device_ledger: remove full_name variable (selsta)
2019-01-28Merge pull request #5052Riccardo Spagni20-107/+210
b6534c40 ringct: remove unused senderPk from ecdhTuple (moneromooo-monero) 7d375981 ringct: the commitment mask is now deterministic (moneromooo-monero) 99d946e6 ringct: encode 8 byte amount, saving 24 bytes per output (moneromooo-monero) cdc3ccec ringct: save 3 bytes on bulletproof size (moneromooo-monero) f931e16c add a bulletproof version, new bulletproof type, and rct config (moneromooo-monero)
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-18Merge pull request #5008Riccardo Spagni6-26/+93
c6d38718 core: include a dummy encrypted payment id when no payment is used (moneromooo-monero) b7441c4a core, wallet: remember original text version of destination address (moneromooo-monero) a9b1c04a crptonote_core: do not error out sending unparsable extra field (moneromooo-monero)
2019-01-18Merge pull request #5050Riccardo Spagni1-1/+0
07cb574c ringct: remove duplicate rv.mixRing = mixRing; in genRctSimple (stoffu)
2019-01-18Merge pull request #5049Riccardo Spagni1-0/+1
0a29660f message_store: init me field (moneromooo-monero)
2019-01-18Merge pull request #5047Riccardo Spagni1-0/+14
584126d1 i18n: filter LANG/LC_LANG for valid characters, and handle @ (moneromooo-monero)
2019-01-18Merge pull request #5048Riccardo Spagni1-1/+2
a67b77a9 blockchain: don't propagate exception past dtor (moneromooo-monero)
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-18Merge pull request #5037Riccardo Spagni1-3/+3
51b0625e simplewallet: improve punctuation in user visible string (selsta)
2019-01-18Merge pull request #5028Riccardo Spagni4-233/+214
464097e5 blockchain_ancestry: allow getting ancestry of a single output (moneromooo-monero) a6216d1a blockchain_db: allow getting output keys without commitment (moneromooo-monero)
2019-01-18Merge pull request #5020Riccardo Spagni2-12/+37
1ef79b43 simplewallet: disable long payment ids by default (moneromooo-monero)
2019-01-18Merge pull request #5014Riccardo Spagni2-16/+101
0debe7d7 wallet2: remember which output keys map to which key images (moneromooo-monero)
2019-01-18Merge pull request #4971Riccardo Spagni1-46/+49
15904610 simplewallet: remove extra colon in a few calls to input_secure_line (stoffu) 247dab73 simplewallet: avoid conversion to string in input_secure_line (stoffu) bf9ef7ad simplewallet: factor yesno hint into input_line (stoffu)
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-16Merge pull request #5042Riccardo Spagni1-0/+1
c1081091 simplewallet: Show new address after going multisig (rbrunner7)
2019-01-16Merge pull request #5035Riccardo Spagni1-1/+1
53fcd159 simplewallet: don't subtract 1 to estimate blockchain height (moneromooo-monero)
2019-01-16Merge pull request #5034Riccardo Spagni4-0/+15
13785ec9 wallet api/device: set estimated restore height if none is provided (selsta)
2019-01-16Merge pull request #5032Riccardo Spagni3-8/+38
5ee6f037 blockchain: fix wrong hf version when popping multiple blocks (moneromooo-monero) 634d359a blockchain: use the version passed as parameter, not a new one (moneromooo-monero) 94a375d5 hardfork: remove batch transactions setup (moneromooo-monero)
2019-01-16Merge pull request #5029Riccardo Spagni1-1/+1
d1b3990d p2p: don't stop the idle thread when no gray peers are found (moneromooo-monero)
2019-01-16Merge pull request #5027Riccardo Spagni4-39/+89
9092fc4b wallet: do not display daemon controlled text if untrusted (moneromooo-monero)
2019-01-16Merge pull request #5019Riccardo Spagni3-7/+23
65ce387c daemon: add a +hex option to print_block (moneromooo-monero)
2019-01-16Merge pull request #5018Riccardo Spagni1-31/+2
8bd71677 simplewallet: remove ability to transfer with detached short payment ids (moneromooo-monero)
2019-01-16Merge pull request #5015Riccardo Spagni2-59/+5
6f2081f8 cryptonote_core: revert extra_tx_map (moneromooo-monero)
2019-01-16Merge pull request #5012Riccardo Spagni4-6/+12
d7354c78 wallet_rpc_server: add all field to export_key_images (moneromooo-monero)
2019-01-16Merge pull request #5009Riccardo Spagni2-1/+6
5e10dee3 simplewallet: fix show_transfers colouring, and add red for failed (moneromooo-monero)
2019-01-16Merge pull request #5006Riccardo Spagni1-1/+1
7c58421c blockchain_blackball: make log file name consistent with executable (stoffu)
2019-01-16Merge pull request #5004Riccardo Spagni1-0/+17
de9dcdd1 wallet2: finalize_multisig now rejects non N-1/N multisig wallets (moneromooo-monero)
2019-01-16Merge pull request #5001Riccardo Spagni2-3/+5
a5ffc2d5 Remove boost::lexical_cast for uuid and unused uuid function (Lee Clagett)
2019-01-16Merge pull request #4995Riccardo Spagni1-3/+0
99765b21 Remove unused hash in export_key_images (doy-lee)
2019-01-16Merge pull request #4994Riccardo Spagni1-0/+3
c5e0539c device/trezor: store tx_prefix_hash in tx key aux (Dusan Klinec)
2019-01-16Merge pull request #4993Riccardo Spagni1-1/+3
b8342dd5 blockchain: fix block rate check for empty blockchains (moneromooo-monero)
2019-01-16Merge pull request #4987Riccardo Spagni1-4/+12
841a6acd wallet2: fix accessing unwound stack on exception (moneromooo-monero)
2019-01-16Merge pull request #4986Riccardo Spagni1-2/+2
d24c325c daemon: print human friendly timestamp too (moneromooo-monero)
2019-01-16Merge pull request #4985Riccardo Spagni1-6/+9
808a1f1e wallet2: cut down on the number of useless derivation threads (moneromooo-monero)
2019-01-16Merge pull request #4984Riccardo Spagni8-44/+71
008647d7 blockchain_db: speedup tx output gathering (moneromooo-monero)
2019-01-16Merge pull request #4981Riccardo Spagni2-11/+57
60b35c91 Add --restore-date param (Howard Chu)
2019-01-16Merge pull request #4980Riccardo Spagni1-4/+3
219548f2 Sync hashchain bug fixed (naughtyfox)
2019-01-16Merge pull request #4979Riccardo Spagni1-0/+2
611db08a Wallet: Initialize members without default ctor. (Tadeas Moravec)
2019-01-16Merge pull request #4976Riccardo Spagni5-20/+20
85665003 epee: better network buffer data structure (moneromooo-monero)
2019-01-16Merge pull request #4973Riccardo Spagni1-1/+10
aaafa8a9 ringct: avoid repeated point conversion (moneromooo-monero)
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-07Merge pull request #5045Riccardo Spagni1-10/+10
050ee521 wallet_api: fix usage of LOG_ERROR (moneromooo-monero)
2019-01-07Merge pull request #5016Riccardo Spagni1-1/+1
434a147b blocks: fix checkpoint code generation on OpenBSD (moneromooo-monero)
2019-01-07Merge pull request #5007Riccardo Spagni1-7/+7
68f095f0 message_store: fix error message adding const char * with offset (moneromooo-monero)
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-06Merge pull request #4956Riccardo Spagni1-0/+4
2d7b0236 wallet2: clear all payments on soft rescan_bc (moneromooo-monero)
2019-01-06Merge pull request #4954Riccardo Spagni2-9/+41
93c59b29 perf_timer: check allowed categories before logging (moneromooo-monero) 6a507dab perf_timer: add a way to get and reset the current time (moneromooo-monero) c1581a5b perf_timer: only log to file (moneromooo-monero)
2019-01-06Merge pull request #4952Riccardo Spagni5-27/+31
570dd369 p2p: use vector instead of list for peer lists (moneromooo-monero)