Commit graph

6951 commits

Author SHA1 Message Date
Pol Mauri
96f5381574 Small function declaration cleanup in slow-hash.c
- These functions are declared twice in slow-hash.c. Remove one of the copies.
- The declarations have the wrong return type, should be void, not int.

Function definitions here: 1e74586ee9/src/crypto/aesb.c (L151-L180)
Test plan: make release-test
2019-02-14 14:44:03 +00:00
cslashm
612ecb13ef Add support for V10 protocol with BulletProofV2 and short amount. 2019-02-14 14:44:03 +00:00
cslashm
823b38bcab Fix dummy decryption in debug mode 2019-02-14 14:44:03 +00:00
cslashm
377de05001 fix log namespace 2019-02-14 14:44:03 +00:00
cslashm
ff9853b4b9 New scheme key destination contrfol
Implies protocol version management.
2019-02-14 14:44:03 +00:00
Tom Smeding
041af9545f 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-14 14:44:03 +00:00
moneromooo-monero
1767c8172f
simplewallet: tell the user to complain to the recipient
for long payment ids
2019-02-14 14:43:59 +00:00
moneromooo-monero
c2d0e9a1ce
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-14 14:43:56 +00:00
moneromooo-monero
0b18fa54c4
ringct: the commitment mask is now deterministic
saves space in the tx and is safe

Found by knaccc
2019-02-12 12:16:47 +00:00
moneromooo-monero
6ba3a11637
ringct: encode 8 byte amount, saving 24 bytes per output
Found by knaccc
2019-02-12 12:16:45 +00:00
moneromooo-monero
77f8f45459
ringct: save 3 bytes on bulletproof size
Found by luigi1111
2019-02-12 12:16:43 +00:00
moneromooo-monero
f7f6760052
add a bulletproof version, new bulletproof type, and rct config
This makes it easier to modify the bulletproof format
2019-02-12 12:16:40 +00:00
moneromooo-monero
5b07e0c9f4
core: include a dummy encrypted payment id when no payment is used
For better transaction uniformity, even though this wastes space.
2019-02-12 12:16:38 +00:00
moneromooo-monero
2eff9b12d8
core, wallet: remember original text version of destination address 2019-02-12 12:16:35 +00:00
moneromooo-monero
e10d12b658
simplewallet: disable long payment ids by default
unless --long-payment-id-support is used
2019-02-12 12:16:32 +00:00
moneromooo-monero
b84b350fd4
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-02-12 12:16:30 +00:00
moneromooo-monero
1c7650f416
simplewallet: remove ability to transfer with detached short payment ids
It seemed like a good idea at the time
2019-02-12 12:16:27 +00:00
moneromooo-monero
4a7917ef6b
blockchain: fix block rate check for empty blockchains 2019-02-12 12:16:25 +00:00
Jethro Grassie
34d2850fac
ignore child process when exec 2019-02-12 12:16:22 +00:00
moneromooo-monero
5f89caea90
wallet2: fix ring reuse breaking when using histogram 2019-02-12 12:16:20 +00:00
moneromooo-monero
db1e0a5323
core: fix unmixable special case allowing ring size below 11 2019-02-12 12:16:17 +00:00
moneromooo-monero
66772f1235
blockchain: include number of discarded blocks in --reorg-notify 2019-02-12 12:16:13 +00:00
moneromooo-monero
af1ade4eee
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-02-12 12:16:11 +00:00
moneromooo-monero
fb0dbab934
notify: fix tokenizing being too strict 2019-02-12 12:16:09 +00:00
moneromooo-monero
0ac22d0e1c
core: add --block-rate-notify
This runs a command whenever the block rate deviates too much
from the expectation
2019-02-12 12:16:06 +00:00
moneromooo-monero
7d2f817f5e
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-02-12 12:16:04 +00:00
moneromooo-monero
1168e8d5d5
cryptonote_core: warn when the block rate deviates from expectations
The warning threshold is set to allow a false positive every
ten days on average.
2019-02-12 12:16:02 +00:00
moneromooo-monero
842a5d8bbe
notify: handle arbitrary tags 2019-02-12 12:15:59 +00:00
moneromooo-monero
ebc60a098d
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.
2019-02-12 12:15:54 +00:00
Riccardo Spagni
ab6c17cc15
Merge pull request #4716
0406724c Makefile: fix building without a git tree (moneromooo-monero)
2018-10-26 22:14:27 +02:00
moneromooo-monero
0406724c24
Makefile: fix building without a git tree 2018-10-24 14:44:22 +00:00
Riccardo Spagni
29073f65e8
Merge pull request #4705
f985d70f wallet2: extend fake out picks away from the gamma pick (moneromooo-monero)
2018-10-23 18:04:12 +02:00
moneromooo-monero
f985d70f91
wallet2: extend fake out picks away from the gamma pick
in order to unbias selection from blocks with few txes
2018-10-23 09:56:32 +00:00
Riccardo Spagni
d6da74ab5b
Merge pull request #4698
ea723eef update version to 0.13.0.4 (Riccardo Spagni)
2018-10-22 23:27:02 +02:00
Riccardo Spagni
b3e053ad18
Merge pull request #4696
64c8981c Providing user supplied default constructor for expect<void> (Lee Clagett)
2018-10-22 23:26:23 +02:00
Riccardo Spagni
ea723eeffa
update version to 0.13.0.4 2018-10-22 23:10:58 +02:00
Lee Clagett
64c8981c1c Providing user supplied default constructor for expect<void> 2018-10-22 15:39:10 +00:00
Riccardo Spagni
4ad6b66283
Merge pull request #4670
fea60d6a console_handler: add a global log when exiting via EOF (moneromooo-monero)
2018-10-20 20:45:14 +02:00
Riccardo Spagni
1504424887
Merge pull request #4667
14515ef2 blockchain: move two new verification errors to the verify category (moneromooo-monero)
2018-10-20 20:44:38 +02:00
Riccardo Spagni
3a44fa2582
Merge pull request #4660
742dec8d rpc: fix output distribution caching ignoring chain changes (moneromooo-monero)
2018-10-20 20:44:04 +02:00
Riccardo Spagni
367cf3729b
Merge pull request #4643
c28ea6b6 device: fixed Ledger Nano S device selection (xiphon)
2018-10-20 20:43:46 +02:00
Riccardo Spagni
510d54edd7
Merge pull request #4651
8d098ad5 Rename "blackball" for clarity (moneromooo-monero)
2018-10-20 20:43:28 +02:00
Riccardo Spagni
37c6636199
Merge pull request #4638
a23c80df core: don't verify range proofs multiple times (moneromooo-monero)
2018-10-20 20:43:09 +02:00
Riccardo Spagni
ca6b6ca0d3
Merge pull request #4636
d7ff707b tx_pool: revert #4592 and move bin2hex conversion to on_get_transaction_pool (stoffu)
2018-10-20 20:42:51 +02:00
Riccardo Spagni
6592d51693
Merge pull request #4632
1e8a9d7d ANSI colors in Windows 10 (v0.13) (iDunk5400)
2018-10-20 20:42:24 +02:00
Riccardo Spagni
dc6da786d3
Merge pull request #4630
e4ce26c7 spawn: close all file descriptors before execve (moneromooo-monero)
2018-10-20 20:42:05 +02:00
Riccardo Spagni
effb22cfc4
Merge pull request #4627
bd482802 util: close keys file lock on exec (moneromooo-monero)
2018-10-20 20:41:45 +02:00
moneromooo-monero
fea60d6ab2
console_handler: add a global log when exiting via EOF
It's a common confusion point for users which run monerod
without stdin and with --detach
2018-10-20 09:14:08 +00:00
moneromooo-monero
14515ef230
blockchain: move two new verification errors to the verify category
Lest we get people get scared again
2018-10-19 21:11:31 +00:00
moneromooo-monero
742dec8d6a
rpc: fix output distribution caching ignoring chain changes
0 is placeholder for whole chain, so we should compare chain
height changes rather than chain-height-or-zero. Even this isn't
totally foolproof if a blocks are popped and the same number
added again, but it is much better as it prevents the data from
slowly going out of sync.
2018-10-19 09:22:59 +00:00