Commit Graph

5847 Commits

Author SHA1 Message Date
Riccardo Spagni
f9b1c4f962
Merge pull request #5213
efb2bdd3 slow-hash: default to JIT on x86_64 (moneromooo-monero)
2019-03-21 14:44:26 +02:00
Riccardo Spagni
48e3a341f8
Merge pull request #5211
c9b13fbb tests/trezor: HF9 and HF10 tests (Dusan Klinec)
a1fd1d49 device/trezor: HF10 support added, wallet::API (Dusan Klinec)
d74d26f2 crypto: hmac_keccak added (Dusan Klinec)
2019-03-21 14:44:04 +02:00
moneromooo-monero
efb2bdd309
slow-hash: default to JIT on x86_64 2019-03-21 11:29:08 +00:00
moneromooo-monero
dc20d77459
rpc: add miner tx hash to block header response 2019-03-21 00:24:12 +00:00
moneromooo-monero
223c6b0796
dns_utils: really add default DNSSEC servers on failure
Coverity 196597
2019-03-20 23:46:22 +00:00
moneromooo-monero
760d3a2a0c
daemon: init public_port in all ctors
Coverity 196596
2019-03-20 23:45:00 +00:00
Dusan Klinec
a1fd1d499c
device/trezor: HF10 support added, wallet::API
- 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-20 21:11:02 +01:00
Dusan Klinec
d74d26f2c9
crypto: hmac_keccak added 2019-03-20 21:11:01 +01:00
rbrunner7
85f2f8c933 Fix daemon startup parameter '--limit-rate' processing after parameter defaults 2019-03-20 16:40:59 +01:00
Lee Clagett
0c7e7bce18 Adding classes, functions, and utilities for common LMDB operations. 2019-03-19 17:52:26 +00:00
Riccardo Spagni
f2f725d8db
Merge pull request #5201
4921c794 cn_deserialize: remove some unused code (moneromooo-monero)
2019-03-19 10:59:55 +02:00
Riccardo Spagni
695d51a481
Merge pull request #5203
8b514645 add multisig tx sets to describe_transfer rpc endpoint (spoke0)
2019-03-19 10:59:42 +02:00
Riccardo Spagni
acc7211b5b
Merge pull request #5199
eef164f7 cryptonote_protocol_handler: search for syncing peers in "cruise mode" (moneromooo-monero)
2019-03-19 10:58:38 +02:00
Riccardo Spagni
2900f6a3ca
Merge pull request #5198
9c4d403a dns_utils: use fallback if the default resolver does not support DNSSEC (moneromooo-monero)
2019-03-19 10:58:25 +02:00
Riccardo Spagni
bf0f85221b
Merge pull request #5195
a54e81e5 daemon: add '--no-sync' arg to optionally disable blockchain sync (xiphon)
2019-03-19 10:57:28 +02:00
Riccardo Spagni
38dcd975f2
Merge pull request #4889
f42263eb wallet: adds rescan_bc option with preserving key images (Dusan Klinec)
2019-03-19 10:55:45 +02:00
moneromooo-monero
a7211793ba
rpc: quantize db size up to 5 GB in restricted mode 2019-03-17 21:27:52 +00:00
moneromooo-monero
e99b2b12fd
simplewallet: make the long payment ids warnigns more warney
We want people to really realize it's bad for *their* privacy.
2019-03-17 18:42:52 +00:00
Riccardo Spagni
c3de019f56
Merge pull request #5192
d0e07b3d performance_tests: fix NetBSD build (moneromooo-monero)
7d88d8f2 discontinue use of alloca (moneromooo-monero)
2019-03-17 17:56:52 +02:00
Riccardo Spagni
848591c4d8
Merge pull request #5190
551104fb daemon: add --public-node mode, RPC port propagation over P2P (xiphon)
2019-03-17 17:56:04 +02:00
Riccardo Spagni
429930534d
Merge pull request #5185
59478c80 daemon: new mining_status command (moneromooo-monero)
2019-03-17 17:55:32 +02:00
Riccardo Spagni
e1be617ea2
Merge pull request #5182
b674728d Better error when sending a tx with a too large extra field (moneromooo-monero)
2019-03-17 17:55:13 +02:00
Riccardo Spagni
6031a1f5b4
Merge pull request #5179
7c09882a dns_utils: remove MoneroPulse/checkpoints mention in TXT record code (moneromooo-monero)
2019-03-17 17:53:53 +02:00
Riccardo Spagni
fd231226b9
Merge pull request #5177
bb2aed8e rpc: quantize db size up to 5 GB in restricted mode (moneromooo-monero)
2019-03-17 17:52:56 +02:00
Riccardo Spagni
761ef99e77
Merge pull request #5168
8630a028 wallet: fix payment ID decryption for construction data (Dusan Klinec)
2019-03-17 17:52:41 +02:00
Riccardo Spagni
47c278c90f
Merge pull request #5166
75e5aafd device/trezor: dummy payment ID fix (Dusan Klinec)
2019-03-17 17:51:52 +02:00
Riccardo Spagni
6d5849d9bb
Merge pull request #5165
36451697 Simplify RPC endpoint, emoving second RPC endpoint generate_from_view_key (Joel)
c17c8188 Remove code duplication (Joel)
acb14c10 Add generate_from_view_key RPC method (Joel)
7dd7a3b7 Add generate_from_keys RPC method (Joel)
2019-03-17 17:51:24 +02:00
Riccardo Spagni
50d48d6118
Merge pull request #5135
de32dcea Human readable message if maximum outputs reached (italocoin)
2019-03-17 17:50:41 +02:00
Riccardo Spagni
4c91eb23a0
Merge pull request #5061
1f2930ce Update 2019 copyright (binaryFate)
2019-03-17 17:49:30 +02:00
Howard Chu
8a97563a93
Use threadpool instead of new threads for DNS queries 2019-03-17 15:39:15 +00:00
moneromooo-monero
4500236f25
wallet2: make use_fork_rules handle chain heights lower than leeway 2019-03-17 14:22:50 +00:00
moneromooo-monero
0a6cb30d62
wallet: flush output cache upon reorg
Fixes output usage tracking
2019-03-17 10:34:07 +00:00
moneromooo-monero
23fb056a72
wallet_rpc_server: new auto_refresh RPC
It can enable/disable auto refresh, and set auto refresh period
2019-03-17 10:33:51 +00:00
Riccardo Spagni
e063615a0e
Merge pull request #5249
3ac40938 timings: fix errno.h mispelt as error.h (moneromooo-monero)
2019-03-16 14:06:07 +02:00
Riccardo Spagni
03d1dbc2ad
Merge pull request #5280
aac4e2f5 wallet_rpc_server: add missing --rpc-ssl-allowed-fingerprints (moneromooo-monero)
2019-03-16 14:05:30 +02:00
moneromooo-monero
4ee156556d
wallet_rpc_server: fix buffer read overflow in string assignment 2019-03-15 19:36:13 +00:00
moneromooo-monero
8fd7452b6e
wallet: move light wallet RPC out of core RPC
It's not nothing to do with it
2019-03-15 13:34:08 +00:00
Dusan Klinec
f42263ebb6
wallet: adds rescan_bc option with preserving key images
- 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-15 12:55:29 +01:00
moneromooo-monero
2b10f22ae6
mnemonics: fix half length seed to bytes conversion 2019-03-15 11:05:42 +00:00
moneromooo-monero
77e9815db7
blockchain: do not try to pop the genesis block 2019-03-15 10:51:48 +00:00
moneromooo-monero
328d291fe4
wallet2: set seed language when creating from json 2019-03-15 00:16:50 +00:00
moneromooo-monero
a52366c1bf
wallet2: fix generation from json when restore height is not set
It was not recovering then, but creating a new random address
2019-03-14 23:41:41 +00:00
moneromooo-monero
39f000b394
miner: fix possible exit crash due to race in stop
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-14 16:59:08 +00:00
moneromooo-monero
cce948a5ae
simplewallet: add some missing spacing before uses data 2019-03-14 10:07:49 +00:00
Riccardo Spagni
c88e992104
Merge pull request #4977
5ea17909 device/trezor: debugging features, trezor tests (Dusan Klinec)
2019-03-14 09:43:02 +02:00
moneromooo-monero
f962449d46
wallet_rpc_server: include out subaddress indices in get_transfers 2019-03-13 14:14:15 +00:00
moneromooo-monero
aac4e2f585
wallet_rpc_server: add missing --rpc-ssl-allowed-fingerprints 2019-03-13 12:59:44 +00:00
moneromooo-monero
bc61b5ca95
wallet2: don't store 0 amount outputs, they'll fail to be spent
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-12 18:42:30 +00:00
moneromooo-monero
2790d4d30a
hardfork: update last_versions on popped block 2019-03-12 13:43:12 +00:00
naughtyfox
5ade72818b Wallet API: multisig_tx_set passing bug fixed 2019-03-12 14:02:01 +03:00
moneromooo-monero
576116d415
wallet: fix load failure if the mms isn't usable 2019-03-11 16:11:48 +00:00
moneromooo-monero
4ef3c895a4
blockchain: fix ahead of time PoW batch calc 2019-03-10 10:16:13 +00:00
moneromooo-monero
59478c80dd
daemon: new mining_status command 2019-03-09 20:51:53 +00:00
moneromooo-monero
4b21d38dfd
blockchain: speed up getting N blocks weights/long term weights 2019-03-08 12:04:14 +00:00
moneromooo-monero
7ac3334217
slow-hash: cache TLS references locally once at function start 2019-03-07 18:11:19 +00:00
moneromooo-monero
7632dede7b
crypto: fix PaX issue on NetBSD with CNv4 JIT 2019-03-07 16:46:02 +00:00
moneromooo-monero
a48e49aa36
aesb: avoid stomping on an existing define on NetBSD 2019-03-07 16:08:00 +00:00
moneromooo-monero
3ac40938c3
timings: fix errno.h mispelt as error.h 2019-03-07 16:03:55 +00:00
moneromooo-monero
3f6f90bb31
wallet2: do not use invalid keys as fake outs in rings 2019-03-07 15:49:13 +00:00
Riccardo Spagni
49afbd0c53
Merge pull request #5232
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-07 15:17:31 +02:00
moneromooo-monero
3907588bf6
rpc: make fill_pow restricted
It's slow work, so let's not expose it
2019-03-06 00:05:41 +00:00
moneromooo-monero
c6a70af86a
wallet2: key image import fixes
- 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-05 22:41:44 +00:00
binaryFate
1f2930ce0b Update 2019 copyright 2019-03-05 22:05:34 +01:00
Riccardo Spagni
5bbbe3902b
Merge pull request #4852
057c279c epee: add SSL support (Martijn Otto)
2019-03-05 16:21:30 +02:00
spoke0
8b51464516 add multisig tx sets to describe_transfer rpc endpoint 2019-03-05 14:42:43 +01:00
Martijn Otto
057c279cb4
epee: add SSL support
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-05 14:16:08 +01:00
Dusan Klinec
5ea17909ca
device/trezor: debugging features, trezor tests 2019-03-05 14:02:45 +01:00
Riccardo Spagni
e65221d690
Merge pull request #5119
f024a10b db_lmdb: make mdb_block_info format conversion more future proof (moneromooo-monero)
2019-03-05 14:12:24 +02:00
Riccardo Spagni
5b9c3df5c1
Merge pull request #5103
ceb72be3 p2p: avoid busy loop when we have nothing to connect to (moneromooo-monero)
2019-03-05 14:09:42 +02:00
Riccardo Spagni
ed6aa76cca
Merge pull request #5100
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-05 14:09:19 +02:00
moneromooo-monero
f024a10b68
db_lmdb: make mdb_block_info format conversion more future proof
If mdb_block_info changes again, the v2 to v3 conversion would
convert to an incorrect format.
2019-03-05 12:06:23 +00:00
moneromooo-monero
ceb72be329
p2p: avoid busy loop when we have nothing to connect to 2019-03-05 12:00:45 +00:00
moneromooo-monero
c4851024ce
wallet_rpc_server: avoid repeated string allocations when parsing 2019-03-05 11:58:22 +00:00
moneromooo-monero
88c85c18e0
cryptonote: avoid double parsing blocks when syncing 2019-03-05 11:58:18 +00:00
moneromooo-monero
9feda0eeba
cryptonote: speed up calculating coinbase tx prunable hash
It's a hash of an empty buffer, so we can avoid keccak
2019-03-05 11:58:16 +00:00
moneromooo-monero
238401d4e9
core: avoid double parsing blocks after hoh 2019-03-05 11:58:13 +00:00
moneromooo-monero
dc5a76095c
blockchain: avoid unneeded block copy 2019-03-05 11:58:10 +00:00
moneromooo-monero
79b4e9f377
save some database calls when getting top block hash and height 2019-03-05 11:58:05 +00:00
moneromooo-monero
9827880877
blockchain: avoid pointless transaction copy and temporary 2019-03-05 11:58:02 +00:00
moneromooo-monero
07d655e438
blockchain: avoid duplicate block hash computation 2019-03-05 11:58:00 +00:00
moneromooo-monero
f75d51abda
core: avoid calculating tx prefix hash when we don't need it 2019-03-05 11:57:57 +00:00
moneromooo-monero
b044d03a51
Avoid repeated (de)serialization when syncing 2019-03-05 11:57:55 +00:00
Riccardo Spagni
082149c580
fix merge errors, update recommended version to 0.14.0.2 2019-03-05 13:46:35 +02:00
Riccardo Spagni
f3b368c659
update checkpoints hash 2019-03-05 13:06:36 +02:00
Riccardo Spagni
e518f2b1c0
update checkpoints, update README for 0.14.1 release 2019-03-05 13:05:41 +02:00
moneromooo-monero
b747e836c8
wallet2: don't calculate prefix hash when we don't need it 2019-03-05 10:28:55 +00:00
moneromooo-monero
e69477bf25
db: speedup block addition
by avoiding repeated (de)serialization
2019-03-05 10:28:52 +00:00
moneromooo-monero
108c625b3f
CryptonightR: define out i386/x86_64 specific code on other archs 2019-03-05 10:24:24 +00:00
moneromooo-monero
1b8757dddc
slow-hash: fix build on arm 2019-03-05 10:24:24 +00:00
moneromooo-monero
23abe60705
check load_t_from_json return values 2019-03-04 22:38:06 +00:00
moneromooo-monero
e396146aee
default initialize rpc structures 2019-03-04 22:38:03 +00:00
moneromooo-monero
ef93b0995c
various: remove unused variables 2019-03-04 22:24:49 +00:00
Riccardo Spagni
2f7108f9d7
Merge pull request #5156
3d2772a0 wallet-rpc: get balance for all accounts and subaddresses (stoffu)
2019-03-04 21:33:07 +02:00
Riccardo Spagni
6984a4d69c
Merge pull request #5154
8a1ff079 wallet-rpc: get transfers for all accounts and subaddresses (Jethro Grassie)
2019-03-04 21:32:42 +02:00
Riccardo Spagni
5260111631
Merge pull request #5146
4a9257b4 Support docker for gitian builds (TheCharlatan)
2019-03-04 21:32:30 +02:00
Riccardo Spagni
8e3bd389ea
Merge pull request #5143
1f5680c8 simplewallet: add help for ask-password options (moneromooo-monero)
c7c74caf simplewallet: mark confirm-missing-payment-id as obsolete (moneromooo-monero)
2019-03-04 21:31:33 +02:00
Riccardo Spagni
27db0e3bb9
Merge pull request #5141
5c81a9f1 wallet_rpc_server: add a validate_address RPC (moneromooo-monero)
2019-03-04 21:30:45 +02:00
Riccardo Spagni
5ab6d68a40
Merge pull request #5140
a3973fc9 debug compilation fix: net lib missing common deps (Dusan Klinec)
2019-03-04 21:30:14 +02:00
Riccardo Spagni
66014706bb
Merge pull request #5131
d2c95ab9 Don't decrypt keys in view only wallets in wallet_keys_unlocker (Doyle)
2019-03-04 21:28:09 +02:00
Riccardo Spagni
42adc50766
Merge pull request #5125
8298f42e miner: it can now autodetect the optimal number of threads (moneromooo-monero)
2019-03-04 21:27:16 +02:00
Riccardo Spagni
372c0da086
Merge pull request #5111
6a3608d3 cryptonote_protocol_handler: pad tx messages when using tor/i2p (moneromooo-monero)
2019-03-04 21:24:32 +02:00
Riccardo Spagni
196022530b
Merge pull request #5108
1c9d5285 blockchain_prune: don't prune before v10 (moneromooo-monero)
2019-03-04 21:24:09 +02:00
Riccardo Spagni
a28237c9ca
Merge pull request #5102
1eef0565 performance_tests: better stats, and keep track of timing history (moneromooo-monero)
2019-03-04 21:22:51 +02:00
Riccardo Spagni
e1a177f0da
Merge pull request #5092
eec79276 blockchain: fix default genesis block timestamp (moneromooo-monero)
2019-03-04 21:21:08 +02:00
Riccardo Spagni
4466f4504e
Merge pull request #5091
123fc2a2 i2p: initial support (Jethro Grassie)
2019-03-04 21:20:34 +02:00
Riccardo Spagni
b0d326bf2a
Merge pull request #5084
9d58749b wallet2: fix hashchain going out of sync on refresh error (moneromooo-monero)
2019-03-04 21:19:12 +02:00
Riccardo Spagni
9d415495bf
Merge pull request #5082
1bc5f9fa bulletproofs: speed up vector_power_sum (moneromooo-monero)
2019-03-04 21:18:53 +02:00
Riccardo Spagni
11daa98c0a
Merge pull request #5081
d78addcb db_lmdb: don't unnecessarily cast to double on the way to uint64_t (moneromooo-monero)
2019-03-04 21:18:24 +02:00
Riccardo Spagni
46fd181cca
Merge pull request #4054
24569454 epee: add SSL support (moneromooo-monero)
2019-03-04 21:17:21 +02:00
Riccardo Spagni
9547e3f451
Merge pull request #5224
807903bb hardfork: fix fork determination for historical heights (moneromooo)
2019-03-04 17:17:34 +02:00
Riccardo Spagni
de6d6c0e29
Merge pull request #5217
fa2fbc39 wallet2: fix mishandling rct outputs in coinbase tx (moneromooo-monero)
2019-03-04 17:15:06 +02:00
moneromooo-monero
5f67e7f547
blockchain: forbid older BP rct versions from v11 2019-03-04 15:08:12 +00:00
Riccardo Spagni
09020235bf
Merge pull request #5175
85088d9f db_lmdb: fix missing mdb_dbi_close in migration (moneromooo-monero)
2019-03-04 17:06:58 +02:00
Riccardo Spagni
815c8a48ab
Merge pull request #5174
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-04 17:06:37 +02:00
Riccardo Spagni
8c53ac2dd1
Merge pull request #5132
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-04 14:58:45 +02:00
moneromooo-monero
0de14396b9
tests: add a CNv4 JIT test 2019-03-04 11:56:55 +00:00
moneromooo-monero
24d281c324
crypto: plug CNv4 JIT into cn_slow_hash
Enabled by setting the MONERO_USE_CNV4_JIT env var to 1
2019-03-04 11:56:55 +00:00
moneromooo-monero
78ab59ea44
crypto: clear cache after generating random program 2019-03-04 11:56:46 +00:00
SChernykh
fff23bf7c6
CNv4 JIT compiler for x86-64 and tests
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-04 11:56:29 +00:00
moneromooo-monero
3dde67d82d
blockchain: add v10 fork heights 2019-03-04 11:56:22 +00:00
moneromooo-monero
a17da7202b
Print the reason why a notification spec failed to parse 2019-03-04 11:48:46 +00:00
moneromooo-monero
356d813799
blockchain: include number of discarded blocks in --reorg-notify 2019-03-04 11:48:44 +00:00
moneromooo-monero
4d598e3d4d
core: add a few more block rate window sizes
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-04 11:48:42 +00:00
moneromooo-monero
d4fb9641e0
core: add --block-rate-notify
This runs a command whenever the block rate deviates too much
from the expectation
2019-03-04 11:48:39 +00:00
moneromooo-monero
28b6dbf263
notify: fix tokenizing being too strict 2019-03-04 11:48:36 +00:00
moneromooo
807903bbbf
hardfork: fix fork determination for historical heights 2019-03-04 11:19:59 +00:00
Riccardo Spagni
1b4fa00d7c
Merge pull request #5126
f1fb06b1 Fixed path to int-util.h (SChernykh)
9da0892b Adding cnv4-2 tweaks (SChernykh)
f51397b3 Cryptonight variant 4 aka CryptonightR (SChernykh)
2019-03-04 12:10:16 +02:00
Riccardo Spagni
55305559c1
Merge pull request #5124
b8787f43 ArticMine's new block weight algorithm (moneromooo-monero)
2019-03-04 12:09:13 +02:00
Riccardo Spagni
35e0bf2e06
Merge pull request #5122
52964501 ringct: fix v1 ecdhInfo serialization (moneromooo-monero)
2019-03-04 12:08:26 +02:00
Riccardo Spagni
4f06639d63
Merge pull request #5120
45b7df70 wallet_rpc_server: remove detached short payment ids support (moneromooo-monero)
2019-03-04 12:07:40 +02:00
Riccardo Spagni
e62ae67d16
Merge pull request #5118
49b2a48a simplewallet: tell the user to complain to the recipient (moneromooo-monero)
2019-03-04 12:07:02 +02:00
moneromooo-monero
b8787f4302
ArticMine's new block weight algorithm
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-04 09:33:58 +00:00
moneromooo-monero
fa2fbc3917
wallet2: fix mishandling rct outputs in coinbase tx
Reported by cutcoin
2019-03-03 18:55:12 +00:00
Joel
364516975a Simplify RPC endpoint, emoving second RPC endpoint generate_from_view_key 2019-03-02 23:14:35 +01:00
Nathan Dorfman
be6f426a3f rpc: Allow submitting tx as hex blob over ZMQ 2019-02-27 16:55:04 -07:00
moneromooo-monero
9c4d403ae0
dns_utils: use fallback if the default resolver does not support DNSSEC 2019-02-27 11:08:56 +00:00
moneromooo-monero
4921c79494
cn_deserialize: remove some unused code 2019-02-26 17:57:03 +00:00
moneromooo-monero
eef164f7cc
cryptonote_protocol_handler: search for syncing peers in "cruise mode"
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-26 12:45:28 +00:00
moneromooo-monero
7d88d8f27c
discontinue use of alloca
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-25 11:11:07 +00:00
xiphon
a54e81e572 daemon: add '--no-sync' arg to optionally disable blockchain sync 2019-02-25 03:22:14 +00:00
xiphon
551104fbf1 daemon: add --public-node mode, RPC port propagation over P2P 2019-02-25 02:40:23 +03:00
moneromooo-monero
8298f42e9d
miner: it can now autodetect the optimal number of threads 2019-02-23 12:22:32 +00:00
moneromooo-monero
b674728dfa
Better error when sending a tx with a too large extra field 2019-02-22 11:45:32 +00:00
moneromooo-monero
bb2aed8e4d
rpc: quantize db size up to 5 GB in restricted mode 2019-02-21 23:49:53 +00:00
moneromooo-monero
7c09882a27
dns_utils: remove MoneroPulse/checkpoints mention in TXT record code
This code is used for more than just these
2019-02-21 17:38:43 +00:00
Joel
c17c81881b Remove code duplication 2019-02-21 15:49:32 +01:00
moneromooo-monero
85088d9f85
db_lmdb: fix missing mdb_dbi_close in migration
Fixed by hyc
2019-02-21 09:52:30 +00:00
stoffu
3d2772a0d6
wallet-rpc: get balance for all accounts and subaddresses 2019-02-20 14:23:36 +09:00
Dusan Klinec
8630a028f2
wallet: fix payment ID decryption for construction data 2019-02-20 03:55:35 +01:00
Dusan Klinec
75e5aafdcb
device/trezor: dummy payment ID fix 2019-02-20 02:00:14 +01:00
Joel
acb14c1079 Add generate_from_view_key RPC method 2019-02-19 14:30:35 +01:00
Joel
7dd7a3b791 Add generate_from_keys RPC method 2019-02-19 14:13:01 +01:00
Jethro Grassie
8a1ff079ea
wallet-rpc: get transfers for all accounts and subaddresses 2019-02-17 22:21:45 -05:00
TheCharlatan
4a9257b464
Support docker for gitian builds
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-14 23:14:34 +01:00
moneromooo-monero
5c81a9f1a1
wallet_rpc_server: add a validate_address RPC 2019-02-14 21:01:11 +00:00
SChernykh
f1fb06b137 Fixed path to int-util.h 2019-02-14 20:46:56 +01:00
SChernykh
9da0892b10 Adding cnv4-2 tweaks
Co-Authored-By: Lee Clagett <vtnerd@users.noreply.github.com>
2019-02-14 20:42:50 +01:00
SChernykh
f51397b306 Cryptonight variant 4 aka CryptonightR
It introduces random integer math into the main loop.
2019-02-14 11:29:54 +01:00
moneromooo-monero
1f5680c8db
simplewallet: add help for ask-password options 2019-02-14 09:21:22 +00:00
moneromooo-monero
c7c74cafec
simplewallet: mark confirm-missing-payment-id as obsolete 2019-02-14 09:21:22 +00:00
Dusan Klinec
a3973fc95f debug compilation fix: net lib missing common deps
```
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-13 23:37:46 +01:00
Doyle
d2c95ab941 Don't decrypt keys in view only wallets in wallet_keys_unlocker 2019-02-13 15:36:49 +11:00
italocoin
de32dcea1d Human readable message if maximum outputs reached 2019-02-10 09:51:20 -05:00
cslashm
2dbc487ec0 Add support for V10 protocol with BulletProofV2 and short amount. 2019-02-08 17:02:55 +01:00
cslashm
63cc02c08d Fix dummy decryption in debug mode 2019-02-08 17:02:55 +01:00
cslashm
f0e55cebf7 fix log namespace 2019-02-08 17:02:55 +01:00
cslashm
460da140ec New scheme key destination contrfol
Implies protocol version management.
2019-02-08 17:02:44 +01:00
moneromooo-monero
49b2a48a46
simplewallet: tell the user to complain to the recipient
for long payment ids
2019-02-03 10:34:07 +00:00
moneromooo-monero
529645014c
ringct: fix v1 ecdhInfo serialization
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-03 10:33:10 +00:00
moneromooo-monero
2456945408
epee: add SSL support
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-02 20:05:33 +00:00
moneromooo-monero
45b7df703b
wallet_rpc_server: remove detached short payment ids support 2019-02-02 18:53:14 +00:00
Tom Smeding
fec359a641 cryptonote: Fix enum check in expand_transaction_2
This was noticed because GCC warned about using an enum value in a
boolean context.
2019-02-01 16:44:58 +01:00
Tom Smeding
9bf0e53751 cryptonote: Add const-qualifier on comparison functor
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-01 16:44:56 +01:00
Tom Smeding
5d2fdc2e8c serialization: Use pos_type instead of streampos
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-02-01 16:44:55 +01:00
moneromooo-monero
6a3608d3d2
cryptonote_protocol_handler: pad tx messages when using tor/i2p 2019-01-30 23:17:45 +00:00
Jethro Grassie
123fc2a25a
i2p: initial support 2019-01-30 13:37:45 -05:00
moneromooo-monero
1c9d5285d1
blockchain_prune: don't prune before v10
This uses system time since it doesn't see the p2p network,
so is not 100% accurate
2019-01-30 16:32:14 +00:00
Riccardo Spagni
31bdf7bd11
Merge pull request #4988
973403bc Adding initial support for broadcasting transactions over Tor (Lee Clagett)
2019-01-29 16:47:17 +02:00
Riccardo Spagni
227bf1407e
Merge pull request #5104
dc0b86ab block_queue: fix late sanity check off by one (moneromooo-monero)
2019-01-29 16:45:47 +02:00
Lee Clagett
973403bc9f Adding initial support for broadcasting transactions over Tor
- 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-28 23:56:33 +00:00
moneromooo-monero
dc0b86ab4b
block_queue: fix late sanity check off by one 2019-01-28 22:17:43 +00:00
Riccardo Spagni
1e5cd3b35a
Merge pull request #5062
acfff8d0 rpc: fix internal daemon calls in restricted rpc getting partial data (moneromooo-monero)
2019-01-28 21:40:11 +02:00
Riccardo Spagni
40bb66cc1e
Merge pull request #5053
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-28 21:35:46 +02:00
moneromooo-monero
acfff8d0ce
rpc: fix internal daemon calls in restricted rpc getting partial data 2019-01-28 19:35:20 +00:00
Riccardo Spagni
23c7663167
Merge pull request #5080
d294a577 daemon: extend 'print_pl' command, optional filter by type and limit (xiphon)
2019-01-28 21:34:17 +02:00
Riccardo Spagni
c07c907114
Merge pull request #5074
b8c5f550 wallet api: don't truncate address in subaddress_account (selsta)
2019-01-28 21:33:33 +02:00
moneromooo-monero
23813c7160
blockchain: add --reorg-notify
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-28 19:32:31 +00:00
moneromooo-monero
f6db59b011
notify: handle arbitrary tags 2019-01-28 19:32:28 +00:00
moneromooo-monero
ff95921668
notify: warn if the spec contains one of '"\
These aren't processed as a shell does, so this may surprise users
2019-01-28 19:32:25 +00:00
moneromooo-monero
13852678e1
common: set MONERO_DEFAULT_LOG_CATEGORY for notify and spawn 2019-01-28 19:32:22 +00:00
Riccardo Spagni
4f104a0dc3
Merge pull request #5069
2112060d wallet2: fix duplicate tx notifications for pool txes (moneromooo-monero)
2019-01-28 21:32:14 +02:00
Riccardo Spagni
b7719022fd
Merge pull request #5068
96e35506 wallet2: fix incorrect patch for determining fork rules (moneromooo-monero)
2019-01-28 21:31:47 +02:00
Riccardo Spagni
f2ca4e3205
Merge pull request #5063
11227e0b mnemonics: compare canonical words (lowercase) (moneromooo-monero)
2019-01-28 21:30:26 +02:00
Riccardo Spagni
756ed760f7
Merge pull request #5056
8258a9e7 wallet: do not check txpool in background mode (moneromooo-monero)
2019-01-28 21:27:34 +02:00
Riccardo Spagni
77e96d0948
Merge pull request #5055
6c060e6a device: proper handling of user input (selsta)
2019-01-28 21:27:10 +02:00
Riccardo Spagni
0c970fde1c
Merge pull request #5054
93c21644 device_ledger: remove full_name variable (selsta)
2019-01-28 21:26:44 +02:00
Riccardo Spagni
0daa00e035
Merge pull request #5052
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-28 21:24:55 +02:00
moneromooo-monero
1eef056588
performance_tests: better stats, and keep track of timing history 2019-01-28 15:45:37 +00:00
moneromooo-monero
eec792764d
blockchain: fix default genesis block timestamp 2019-01-26 21:39:00 +00:00
moneromooo-monero
b6534c40e6
ringct: remove unused senderPk from ecdhTuple
This was an early ringct field, which was never used in production
2019-01-22 23:17:42 +00:00
moneromooo-monero
7d37598158
ringct: the commitment mask is now deterministic
saves space in the tx and is safe

Found by knaccc
2019-01-22 23:17:39 +00:00
moneromooo-monero
99d946e619
ringct: encode 8 byte amount, saving 24 bytes per output
Found by knaccc
2019-01-22 23:17:31 +00:00
moneromooo-monero
cdc3ccec5f
ringct: save 3 bytes on bulletproof size
Found by luigi1111
2019-01-22 23:17:27 +00:00
moneromooo-monero
f931e16c6e
add a bulletproof version, new bulletproof type, and rct config
This makes it easier to modify the bulletproof format
2019-01-22 23:17:24 +00:00
moneromooo-monero
b750fb27b0
Pruning
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-22 20:30:51 +00:00
moneromooo-monero
9d58749b85
wallet2: fix hashchain going out of sync on refresh error 2019-01-19 16:47:13 +00:00
moneromooo-monero
1bc5f9fa4b
bulletproofs: speed up vector_power_sum
found by sarang
2019-01-19 00:18:34 +00:00
moneromooo-monero
d78addcbc0
db_lmdb: don't unnecessarily cast to double on the way to uint64_t 2019-01-19 00:03:04 +00:00
Riccardo Spagni
4e72384318
Merge pull request #5008
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-18 19:12:58 +02:00
Riccardo Spagni
5753d71922
Merge pull request #5050
07cb574c ringct: remove duplicate rv.mixRing = mixRing; in genRctSimple (stoffu)
2019-01-18 19:02:01 +02:00
Riccardo Spagni
8ba36cf6d4
Merge pull request #5049
0a29660f message_store: init me field (moneromooo-monero)
2019-01-18 19:01:23 +02:00
Riccardo Spagni
416b6719bd
Merge pull request #5047
584126d1 i18n: filter LANG/LC_LANG for valid characters, and handle @ (moneromooo-monero)
2019-01-18 19:01:02 +02:00
Riccardo Spagni
54eb3318e2
Merge pull request #5048
a67b77a9 blockchain: don't propagate exception past dtor (moneromooo-monero)
2019-01-18 19:00:47 +02:00
moneromooo-monero
c6d387184e
core: include a dummy encrypted payment id when no payment is used
For better transaction uniformity, even though this wastes space.
2019-01-18 16:58:50 +00:00
moneromooo-monero
b7441c4a32
core, wallet: remember original text version of destination address 2019-01-18 16:58:47 +00:00
moneromooo-monero
a9b1c04acf
crptonote_core: do not error out sending unparsable extra field
extra is arbitrary, and the user may well want to send custom data
2019-01-18 16:58:45 +00:00
Riccardo Spagni
13b12973d1
Merge pull request #5037
51b0625e simplewallet: improve punctuation in user visible string (selsta)
2019-01-18 09:25:59 +02:00
Riccardo Spagni
aa5b0c7f71
Merge pull request #5028
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-18 09:25:34 +02:00
Riccardo Spagni
f3368acef5
Merge pull request #5020
1ef79b43 simplewallet: disable long payment ids by default (moneromooo-monero)
2019-01-18 09:25:18 +02:00
Riccardo Spagni
3c80562861
Merge pull request #5014
0debe7d7 wallet2: remember which output keys map to which key images (moneromooo-monero)
2019-01-18 09:24:19 +02:00
Riccardo Spagni
4fb9cfa017
Merge pull request #4971
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-18 09:23:03 +02:00
xiphon
d294a577fa daemon: extend 'print_pl' command, optional filter by type and limit 2019-01-18 01:32:18 +00:00
stoffu
1717e63551
simplewallet: fix help text of rescan_bc to mention the "hard" option 2019-01-18 09:51:44 +09:00
stoffu
1590461005
simplewallet: remove extra colon in a few calls to input_secure_line 2019-01-18 09:48:54 +09:00
stoffu
247dab7304
simplewallet: avoid conversion to string in input_secure_line 2019-01-18 09:48:52 +09:00
stoffu
bf9ef7adb6
simplewallet: factor yesno hint into input_line 2019-01-18 09:48:48 +09:00
moneromooo-monero
464097e592
blockchain_ancestry: allow getting ancestry of a single output
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-16 20:13:12 +00:00
moneromooo-monero
a6216d1ac2
blockchain_db: allow getting output keys without commitment
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-16 20:13:08 +00:00
moneromooo-monero
1ef79b430f
simplewallet: disable long payment ids by default
unless --long-payment-id-support is used
2019-01-16 20:06:04 +00:00
moneromooo-monero
0debe7d7d3
wallet2: remember which output keys map to which key images
This allows filling in transfer_details when a cold signed tx
gets seen in a block next
2019-01-16 19:58:13 +00:00
selsta
51b0625e00 simplewallet: improve punctuation in user visible string 2019-01-16 20:45:39 +01:00
Riccardo Spagni
6285c43ffc
Merge pull request #5042
c1081091 simplewallet: Show new address after going multisig (rbrunner7)
2019-01-16 21:42:17 +02:00
Riccardo Spagni
8e4c0de46a
Merge pull request #5035
53fcd159 simplewallet: don't subtract 1 to estimate blockchain height (moneromooo-monero)
2019-01-16 21:40:56 +02:00
Riccardo Spagni
c84d559fb1
Merge pull request #5034
13785ec9 wallet api/device: set estimated restore height if none is provided (selsta)
2019-01-16 21:40:20 +02:00
Riccardo Spagni
dc726f4b3b
Merge pull request #5032
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-16 21:40:06 +02:00
Riccardo Spagni
e59813c3d7
Merge pull request #5029
d1b3990d p2p: don't stop the idle thread when no gray peers are found (moneromooo-monero)
2019-01-16 21:39:19 +02:00
Riccardo Spagni
3eb96fa512
Merge pull request #5027
9092fc4b wallet: do not display daemon controlled text if untrusted (moneromooo-monero)
2019-01-16 21:38:15 +02:00
Riccardo Spagni
17878369f9
Merge pull request #5019
65ce387c daemon: add a +hex option to print_block (moneromooo-monero)
2019-01-16 21:36:08 +02:00
Riccardo Spagni
46fcae717a
Merge pull request #5018
8bd71677 simplewallet: remove ability to transfer with detached short payment ids (moneromooo-monero)
2019-01-16 21:35:48 +02:00
Riccardo Spagni
a80978e699
Merge pull request #5015
6f2081f8 cryptonote_core: revert extra_tx_map (moneromooo-monero)
2019-01-16 21:32:14 +02:00
Riccardo Spagni
00090aae7f
Merge pull request #5012
d7354c78 wallet_rpc_server: add all field to export_key_images (moneromooo-monero)
2019-01-16 21:31:40 +02:00
Riccardo Spagni
f8a10bcc07
Merge pull request #5009
5e10dee3 simplewallet: fix show_transfers colouring, and add red for failed (moneromooo-monero)
2019-01-16 21:30:52 +02:00
Riccardo Spagni
0673ed54cf
Merge pull request #5006
7c58421c blockchain_blackball: make log file name consistent with executable (stoffu)
2019-01-16 19:29:29 +02:00
Riccardo Spagni
e0c107ee51
Merge pull request #5004
de9dcdd1 wallet2: finalize_multisig now rejects non N-1/N multisig wallets (moneromooo-monero)
2019-01-16 19:28:51 +02:00
Riccardo Spagni
3e9bb9626a
Merge pull request #5001
a5ffc2d5 Remove boost::lexical_cast for uuid and unused uuid function (Lee Clagett)
2019-01-16 19:27:13 +02:00
Riccardo Spagni
8e04070d9d
Merge pull request #4995
99765b21 Remove unused hash in export_key_images (doy-lee)
2019-01-16 19:08:48 +02:00
Riccardo Spagni
47213e2519
Merge pull request #4994
c5e0539c device/trezor: store tx_prefix_hash in tx key aux (Dusan Klinec)
2019-01-16 19:08:13 +02:00
Riccardo Spagni
1f71bfc8d0
Merge pull request #4993
b8342dd5 blockchain: fix block rate check for empty blockchains (moneromooo-monero)
2019-01-16 19:07:55 +02:00
Riccardo Spagni
538043bdcd
Merge pull request #4987
841a6acd wallet2: fix accessing unwound stack on exception (moneromooo-monero)
2019-01-16 19:07:13 +02:00
Riccardo Spagni
8bfce660a5
Merge pull request #4986
d24c325c daemon: print human friendly timestamp too (moneromooo-monero)
2019-01-16 19:06:53 +02:00
Riccardo Spagni
63b5c933ef
Merge pull request #4985
808a1f1e wallet2: cut down on the number of useless derivation threads (moneromooo-monero)
2019-01-16 19:06:31 +02:00
Riccardo Spagni
9d57ee9ff6
Merge pull request #4984
008647d7 blockchain_db: speedup tx output gathering (moneromooo-monero)
2019-01-16 19:06:07 +02:00
Riccardo Spagni
cb996d15c5
Merge pull request #4981
60b35c91 Add --restore-date param (Howard Chu)
2019-01-16 19:05:31 +02:00
Riccardo Spagni
a193f1e236
Merge pull request #4980
219548f2 Sync hashchain bug fixed (naughtyfox)
2019-01-16 19:05:09 +02:00
Riccardo Spagni
b565115c84
Merge pull request #4979
611db08a Wallet: Initialize members without default ctor. (Tadeas Moravec)
2019-01-16 19:04:45 +02:00
Riccardo Spagni
846362842c
Merge pull request #4976
85665003 epee: better network buffer data structure (moneromooo-monero)
2019-01-16 19:04:22 +02:00
Riccardo Spagni
c07969d0d1
Merge pull request #4973
aaafa8a9 ringct: avoid repeated point conversion (moneromooo-monero)
2019-01-16 19:03:45 +02:00
selsta
b8c5f550c1
wallet api: don't truncate address in subaddress_account
Same behaviour as subaddress.cpp now.
2019-01-15 22:19:50 +01:00
moneromooo-monero
96e35506e9
wallet2: fix incorrect patch for determining fork rules
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-13 14:48:16 +00:00
moneromooo-monero
2112060d03
wallet2: fix duplicate tx notifications for pool txes 2019-01-13 14:47:42 +00:00
moneromooo-monero
11227e0ba2
mnemonics: compare canonical words (lowercase) 2019-01-11 16:45:48 +00:00
selsta
6c060e6aaa
device: proper handling of user input
(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-09 15:45:06 +01:00
moneromooo-monero
8258a9e7a9
wallet: do not check txpool in background mode
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-09 11:21:39 +00:00
selsta
93c2164434
device_ledger: remove full_name variable
This variable was never set, resulting in the
device name always showing as "disconnected".
2019-01-09 05:33:49 +01:00
moneromooo-monero
584126d15b
i18n: filter LANG/LC_LANG for valid characters, and handle @
If there are more valid characters, add them in, I did not find
an actual list.
2019-01-08 16:03:30 +00:00
stoffu
07cb574ca4
ringct: remove duplicate rv.mixRing = mixRing; in genRctSimple 2019-01-08 11:51:35 +09:00
Riccardo Spagni
094b0c4d00
Merge pull request #5045
050ee521 wallet_api: fix usage of LOG_ERROR (moneromooo-monero)
2019-01-07 21:27:34 +02:00
Riccardo Spagni
4902b2ad3d
Merge pull request #5016
434a147b blocks: fix checkpoint code generation on OpenBSD (moneromooo-monero)
2019-01-07 21:27:14 +02:00
Riccardo Spagni
53fba1455c
Merge pull request #5007
68f095f0 message_store: fix error message adding const char * with offset (moneromooo-monero)
2019-01-07 21:26:52 +02:00
moneromooo-monero
0a29660f5c
message_store: init me field
Coverity 190651
2019-01-07 16:41:34 +00:00
moneromooo-monero
a67b77a9eb
blockchain: don't propagate exception past dtor
Coverity 190660
2019-01-07 16:32:50 +00:00
moneromooo-monero
050ee52162
wallet_api: fix usage of LOG_ERROR 2019-01-07 11:57:10 +00:00
moneroexamples
ec68cf822f Make get_output_key method const
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-07 05:53:14 +08:00
Riccardo Spagni
b67eb481a7
Merge pull request #4956
2d7b0236 wallet2: clear all payments on soft rescan_bc (moneromooo-monero)
2019-01-06 20:40:06 +02:00
Riccardo Spagni
be625a95af
Merge pull request #4954
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-06 20:39:29 +02:00
Riccardo Spagni
577a8f5c84
Merge pull request #4952
570dd369 p2p: use vector instead of list for peer lists (moneromooo-monero)
2019-01-06 20:39:07 +02:00
Riccardo Spagni
13b006137c
Merge pull request #4949
5464725a protocol: change standby mode to not wait sleeping (moneromooo-monero)
85807dfb add a once_a_time_milliseconds class (moneromooo-monero)
2019-01-06 20:37:51 +02:00
Riccardo Spagni
ad1eb3338c
Merge pull request #4938
a13eb0a1 epee: speed up string matching a bit (moneromooo-monero)
3a3858dc epee: avoid string allocation when parsing a pod from string (moneromooo-monero)
2019-01-06 20:36:46 +02:00
rbrunner7
c108109102 simplewallet: Show new address after going multisig 2019-01-04 16:33:02 +01:00
selsta
13785ec96b
wallet api/device: set estimated restore height if none is provided 2019-01-02 11:25:49 +01:00
moneromooo-monero
53fcd15953
simplewallet: don't subtract 1 to estimate blockchain height
in case it returns 0, and other uses don't, plus it's a estimation anyway.
2019-01-02 00:55:19 +00:00
moneromooo-monero
5ee6f03742
blockchain: fix wrong hf version when popping multiple blocks
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-01 18:28:01 +00:00
moneromooo-monero
634d359a84
blockchain: use the version passed as parameter, not a new one 2019-01-01 18:28:01 +00:00
moneromooo-monero
94a375d559
hardfork: remove batch transactions setup
This is now default, so it spares us the warnings
2019-01-01 18:28:01 +00:00
moneromooo-monero
5dc590cbdb
wallet2: speedup output tracking
It can get heavy for large wallets
2018-12-31 23:57:54 +00:00
moneromooo-monero
db3f2a91fa
wallet: optionally keep track of owned outputs uses 2018-12-31 23:57:51 +00:00
luigi1111
e344d93ce7
Merge pull request #4960
b56b5b5 ignore child process when exec (jtgrassie)
2018-12-31 16:32:12 -06:00
luigi1111
53760ee044
Merge pull request #4957
0e2f5cb perf_timer: make all logs Info level (moneromooo-monero)
2018-12-31 16:30:47 -06:00
luigi1111
1aaa82cb1a
Merge pull request #4955
25e5a85 singleton: fix missing *this return value in operator= (monermooo-monero)
2018-12-31 16:28:49 -06:00
luigi1111
61c0083105
Merge pull request #4953
dbbb3ce cryptonote: don't serialize for blob size if already known (moneromooo-monero)
2018-12-31 16:26:22 -06:00
luigi1111
a872a2a41a
Merge pull request #4948
1d892ec simplewallet: donate command validate amount (selsta)
2018-12-31 16:10:30 -06:00
luigi1111
69e8567c0e
Merge pull request #4946
6644b9b blockchain_db: remove a couple unused functions (moneromooo-monero)
ce594f5 blockchain_db: allocate known size vector only once (moneromooo-monero)
8332698 db_lmdb: inline check_open, it's trivial and called everywhere (moneromooo-monero)
5511563 db_lmdb: avoid pointless division (moneromooo-monero)
d1efe3d cryptonote: set tx hash on newly parsed txes when known (moneromooo-monero)
9cc68a2 tx_pool: add a few std::move where it can make a difference (moneromooo-monero)
2018-12-31 16:06:50 -06:00
luigi1111
9c2d671397
Merge pull request #4945
e37154a build: protobuf dependency fixes, libusb build (ph4r05)
2018-12-31 15:53:59 -06:00
luigi1111
6e4e228461
Merge pull request #4944
1505dd3 util: set MONERO_DEFAULT_LOG_CATEGORY (moneromooo-monero)
db57374 util: use fcntl instead of flock, for compatibility (moneromooo-monero)
2018-12-31 15:52:17 -06:00
luigi1111
c7af379d29
Merge pull request #4940
9e64a71 blockchain: call deinit in dtor (moneromooo-monero)
2018-12-31 15:44:49 -06:00
luigi1111
3adac4ee2b
Merge pull request #4929
5a76933 Add glibc back compat code (TheCharlatan)
2018-12-31 15:31:01 -06:00
luigi1111
6d3caaff70
Merge pull request #4928
affff94 blockchain: fix race between two external mining threads (moneromooo-monero)
2018-12-31 15:28:25 -06:00
luigi1111
a7ff63ec77
Merge pull request #4898
e6f026e Simplewallet: Unify usage messages. (tmoravec)
2018-12-31 15:15:46 -06:00
luigi1111
c93c638199
Merge pull request #4864
707c2f8 Remove -Werror (moneromooo-monero)
2018-12-31 15:13:59 -06:00
moneromooo-monero
d1b3990d40
p2p: don't stop the idle thread when no gray peers are found 2018-12-30 19:32:38 +00:00
moneromooo-monero
9092fc4bfd
wallet: do not display daemon controlled text if untrusted 2018-12-30 01:32:57 +00:00
moneromooo-monero
8bd716777e
simplewallet: remove ability to transfer with detached short payment ids
It seemed like a good idea at the time
2018-12-27 00:45:04 +00:00
moneromooo-monero
65ce387c93
daemon: add a +hex option to print_block 2018-12-26 17:55:28 +00:00
moneromooo-monero
d24c325c7d
daemon: print human friendly timestamp too 2018-12-26 14:01:18 +00:00
moneromooo-monero
434a147b57
blocks: fix checkpoint code generation on OpenBSD
Its od outputs small decimals with leading 0, which means octal in C
2018-12-25 19:11:39 +00:00
moneromooo-monero
6f2081f867
cryptonote_core: revert extra_tx_map
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-25 15:19:41 +00:00
moneromooo-monero
d7354c7864
wallet_rpc_server: add all field to export_key_images
To use if you want all key images, not just the ones for
recently imported outputs
2018-12-24 13:00:29 +00:00
Tadeas Moravec
e6f026e530
Simplewallet: Unify usage messages.
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-23 20:12:50 +00:00
moneromooo-monero
85665003a7
epee: better network buffer data structure
avoids pointless allocs and memcpy
2018-12-23 16:46:07 +00:00
moneromooo-monero
5e10dee3ea
simplewallet: fix show_transfers colouring, and add red for failed
Also add the type back, as it was somehow weirdly split into
two different fields, one being a union...
2018-12-23 15:15:55 +00:00
Lee Clagett
a5ffc2d5ad Remove boost::lexical_cast for uuid and unused uuid function 2018-12-23 11:11:30 +00:00
moneromooo-monero
68f095f059
message_store: fix error message adding const char * with offset 2018-12-22 15:52:10 +00:00
stoffu
7c58421c79
blockchain_blackball: make log file name consistent with executable 2018-12-22 14:46:35 +09:00
moneromooo-monero
de9dcdd179
wallet2: finalize_multisig now rejects non N-1/N multisig wallets 2018-12-21 23:41:16 +00:00
doy-lee
99765b218e Remove unused hash in export_key_images 2018-12-19 14:45:13 +11:00
Dusan Klinec
c5e0539cb5
device/trezor: store tx_prefix_hash in tx key aux
- tx_prefix_hash is required in the key derivation for decryption of the tx keys
2018-12-18 22:20:18 +01:00
moneromooo-monero
b8342dd52c
blockchain: fix block rate check for empty blockchains 2018-12-18 18:47:54 +00:00
Dusan Klinec
e37154a879
build: protobuf dependency fixes, libusb build
- 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-18 16:50:19 +01:00
moneromooo-monero
008647d7eb
blockchain_db: speedup tx output gathering
We know all the data we'll want for getblocks.bin is contiguous
2018-12-18 11:55:21 +00:00
moneromooo-monero
808a1f1e8a
wallet2: cut down on the number of useless derivation threads 2018-12-16 18:31:10 +00:00
moneromooo-monero
841a6acda2
wallet2: fix accessing unwound stack on exception 2018-12-16 18:30:02 +00:00
Howard Chu
60b35c91b9
Add --restore-date param
Estimate restore height from given date
Check date format early, error out early if invalid
2018-12-14 19:11:35 +00:00
naughtyfox
219548f299 Sync hashchain bug fixed 2018-12-14 17:42:11 +03:00
Tadeas Moravec
611db08a00
Wallet: Initialize members without default ctor.
Found by Coverity (188336 in Anonimal's Coverity account).
2018-12-14 13:45:41 +00:00
rbrunner7
1ebcd7b9b0 MMS (Multisig Messaging System): Initial version 2018-12-12 21:49:20 +01:00
moneromooo-monero
aaafa8a946
ringct: avoid repeated point conversion 2018-12-12 12:48:10 +00:00
Riccardo Spagni
6bc0c7e685
Merge pull request #4927
6456cb41 Bulletproof: Initialize members in default construtor. (Tadeas Moravec)
2018-12-12 12:01:31 +02:00
Riccardo Spagni
5e9225e637
Merge pull request #4925
ab783b17 easylogging++: ensure logger is initialized before main (moneromooo-monero)
9b69a0ae daemon: print monero version at startup when calling a detached daemon (moneromooo-monero)
4d71d463 mlocker: remove early page size log (moneromooo-monero)
2018-12-12 12:01:18 +02:00
Riccardo Spagni
51874e5a40
Merge pull request #4924
0c5dd316 cryptonote: add a set_null for transaction_prefix (moneromooo-monero)
2018-12-12 12:00:50 +02:00
Riccardo Spagni
fe3c8c9682
Merge pull request #4923
aba9a9c2 daemon: stop miner before we bring the whole thing down (moneromooo-monero)
2018-12-12 12:00:37 +02:00
Riccardo Spagni
e9aa886d9e
Merge pull request #4921
ac665418 ringct: fix dummy bulletproofs on ledger in fake mode (moneromooo-monero)
2018-12-12 11:59:56 +02:00
Riccardo Spagni
e19a205ff4
Merge pull request #4920
e98ae34e core: fix adding new pre-hoh block when a tx is already in the pool (moneromooo-monero)
2018-12-12 11:59:43 +02:00
Riccardo Spagni
83684ea515
Merge pull request #4909
756684bb blockchain: avoid unnecessary DB lookups when syncing (moneromooo-monero)
2018-12-12 11:59:25 +02:00
Riccardo Spagni
4556f0e2b8
Merge pull request #4908
5ca4994c rpc: speed up the common get_output_distribution case while syncing (moneromooo-monero)
2018-12-12 11:59:04 +02:00
Riccardo Spagni
0fccc78e39
Merge pull request #4903
dc1c1252 add command pop_blocks (Jason Wong)
2018-12-12 11:58:37 +02:00
Riccardo Spagni
d855f9bb92
Merge pull request #4901
a48f2dab blockchain_prune_known_spent_data: blackball file is now optional (moneromooo-monero)
17b45725 Outputs where all amounts are known spent can now be pruned (moneromooo-monero)
2018-12-12 11:57:31 +02:00
Riccardo Spagni
85262ca8cd
Merge pull request #4899
2be31b4c blockchain_blackball: spot when all outputs of an amount are spent (moneromooo-monero)
2018-12-12 11:56:21 +02:00
Riccardo Spagni
c73ac91af8
Merge pull request #4897
9b5efad2 simplewallet: enable donation on testnet/stagenet for easier testing (stoffu)
2018-12-12 11:55:13 +02:00
Riccardo Spagni
0b31baf6e4
Merge pull request #4839
d71f89e2 device/trezor: device/trezor: correct device initialization, status check (Dusan Klinec)
65b9bca7 device/trezor: python2 compatibility - bundle dependencies (Dusan Klinec)
9cf636af device/trezor: ask for KI sync on first refresh (Dusan Klinec)
d21dad70 device: enable to use multiple independent device wallets (Dusan Klinec)
318cc784 device/trezor: passphrase entry on host (Dusan Klinec)
2018-12-12 11:53:42 +02:00
Riccardo Spagni
dde1e69723
Merge pull request #4787
3dba7f25 protocol: option to pad transaction relay to the next kB (moneromooo-monero)
2018-12-12 11:53:10 +02:00
Jethro Grassie
b56b5b52eb
ignore child process when exec 2018-12-08 20:52:54 -05:00
moneromooo-monero
0e2f5cb5fc
perf_timer: make all logs Info level
and make them not default at log level 1
2018-12-08 10:53:09 +00:00
moneromooo-monero
2d7b0236eb
wallet2: clear all payments on soft rescan_bc
They'll get duplicated otherwise
2018-12-08 10:39:54 +00:00
moneromooo-monero
3a3858dc90
epee: avoid string allocation when parsing a pod from string 2018-12-08 02:00:34 +00:00
moneromooo-monero
25e5a8539c
singleton: fix missing *this return value in operator=
while there, disable both operator= and copy ctor, since they
are not supposed to be around for a singleton
2018-12-07 16:56:59 +00:00
moneromooo-monero
93c59b29a8
perf_timer: check allowed categories before logging 2018-12-07 14:23:47 +00:00
moneromooo-monero
6a507dab6f
perf_timer: add a way to get and reset the current time 2018-12-07 14:23:47 +00:00
moneromooo-monero
c1581a5bb8
perf_timer: only log to file 2018-12-07 14:23:47 +00:00
moneromooo-monero
dbbb3ce9d8
cryptonote: don't serialize for blob size if already known 2018-12-07 14:07:26 +00:00
moneromooo-monero
570dd3690e
p2p: use vector instead of list for peer lists 2018-12-07 13:20:34 +00:00