Age | Commit message (Collapse) | Author | Files | Lines |
|
Also add some more tests, and rename some instances of
"version" and "add" for clarity.
NOTE: the starting height values are sometimes wrong.
I suspect this is due to the hard fork reorg code being
buggy, since they're good when syncing after the fact.
However, they're not actually used by the consensus code,
so I'm ignoring this for now, but this needs debugging.
|
|
|
|
With minor cleanup and fixes (spelling, indent) by moneromooo
|
|
|
|
|
|
|
|
328636c fixed testnet fork point, added comment data back in (Riccardo Spagni)
aed3038 disable time-stats by default, tweak fast-block-sync description (Riccardo Spagni)
8fe1111 update v2 testnet fork height (Riccardo Spagni)
4d74510 checkpoints update (Riccardo Spagni)
|
|
|
|
db1fb66 wallet: storing outgoing tx info now defaults to enabled (moneromooo-monero)
9156ba3 wallet: rename store-tx-keys to store-tx-info (moneromooo-monero)
b3d4d41 wallet: improve show_transfers (moneromooo-monero)
725ae4e wallet: use incoming blocks to keep track of payments too (moneromooo-monero)
00790a8 simplewallet: lessen display flicker confusion (moneromooo-monero)
|
|
The info is stored encrypted, and is pretty useful, often after
the fact.
|
|
With backward compatibility
|
|
More information is now saved and displayed
|
|
|
|
|
|
|
|
|
|
Height seemed to be flying all over the place on a rescan here.
Logging to a file shows the heights are actually correct, and
this is some kind of screen refresh artifact. Flush after \r
and update less often to reduce this effect a lot.
|
|
f3724ae Fix startup crash when using a locale boost does not like (moneromooo-monero)
0c1dae3 i18n: allow language to be passed as a parameter (moneromooo-monero)
|
|
932994c Relay transactions when they linger too long in the pool (moneromooo-monero)
|
|
There are various locale related bugs in various versions of boost,
where exceptions are thrown in boost::filesystem APIs when the
current locale is not to boost's liking. It's not clear what "not
to boost's liking" means in detail, though "en" and "en_US.UTF-8"
are not to its liking.
Fix it by running a test function that's known to throw in such
a case, and resetting LANG and LC_ALL to C if an exception is
thrown. In simplewallet, the locale is queried before that so the
correct translations will still be used.
|
|
If empty, it will still be fetched from the environment
|
|
The last relayed time of a transaction is maintained, and
transactions will be relayed again if they are still in the
pool after a certain amount of time, which increases with
the transaction's age. All such transactions are resent,
whether or not they originated on the local node.
|
|
baf101e More changes for 2-min blocks Use the correct block time for realtime fuzz on locktime Use the correct block time to calculate next_difficulty on alt chains (will not work as-is with voting) Lock unit tests to original block time for now (Javier Smooth)
4fea1a5 Adjust difficulty target (2 min) and full reward zone (60 kbytes) for block version 2 (Javier Smooth)
|
|
036d352 tests: fix build error with CLANG (moneromooo-monero)
|
|
3f611bc wallet: track outgoing payments and add a show_transfers command (moneromooo-monero)
|
|
1b40952 Revert "db_bdb: record numbers for recno databases start at 1" (moneromooo-monero)
|
|
|
|
It's a user friendly display of incoming and outgoing transfers,
listed by height, within an optional height range.
|
|
It looks like some of the indices passed to the DB access functions
are already bumped by 1. Moreover, the existing code was not
throwing DB errors with 0 keys, and this is unlikely if it really
was using 0 keys. Last, this patch broke sync from scratch in at
least one case. So I'm calling it bad and reverting it.
This reverts commit bfc97401ae81bb30278a318de7f048c653bf6582.
|
|
Use the correct block time for realtime fuzz on locktime
Use the correct block time to calculate next_difficulty on alt chains (will not work as-is with voting)
Lock unit tests to original block time for now
|
|
version 2
|
|
2f254ff hardfork: add a get_ideal_version(uint64_t) function (moneromooo-monero)
4187e56 hardfork: allow per-fork voting thresholds (moneromooo-monero)
|
|
It returns the ideal version for a given height, which is
based on the minimum height for a fork, disregarding votes
|
|
And setup the first fork to not vote
|
|
ef4c5b5 unit_tests: fix build without berkeleydb (moneromooo-monero)
|
|
|
|
b1d0c8a blockchain_dump: fix build without berkeley db (moneromooo-monero)
|
|
c7dc6ef simplewallet: add a set default-mixin command (moneromooo-monero)
|
|
|
|
The default default mixin is 4. It can now be changed per wallet.
|
|
5f8baba wallet2: fix CLANG compile error (moneromooo-monero)
|
|
|
|
051ddbc rpc: fix start_mining and status RPC crashes (moneromooo-monero)
|
|
bc110af blockchain_utilities: properly exit on error (moneromooo-monero)
|
|
4f873bc Remove some old/obsolete/unused code (moneromooo-monero)
|
|
e70d2e5 common: const and init list pedantry (moneromooo-monero)
|
|
6df4e67 Fix a possibly-unused warning, and rationalize types (moneromooo-monero)
|
|
They check whether they're running on testnet by accessing the
m_rpc_server object, which does not exist when in RPC mode.
Also, fix hard_fork_info being called with the wrong API.
|
|
Replace boolean values and exceptions where appropriate
|
|
git history's here if needed to get any of this back
|
|
|
|
|
|
3e89df4 Build fixes for the old blockchain_storage version (moneromooo-monero)
|
|
ecf0b83 db_bdb: add versioning, to detect incompatible format changes (moneromooo-monero)
f7e9904 db_lmdb: add versioning, to detect incompatible format changes (moneromooo-monero)
|
|
|
|
|
|
|
|
cbdf197 renamed folder (Riccardo Spagni)
bb0c161 renamed folder (Riccardo Spagni)
|
|
|
|
|
|
06c65cb rpc: fix hard_fork_info RPC (moneromooo-monero)
6f5c129 rpc: fix a few commands not working as command line (moneromooo-monero)
|
|
9caf52b daemon: add a status command (moneromooo-monero)
|
|
ecbb732 Fix leak on real output when using a very recent output (moneromooo-monero)
|
|
43bca0d blockchain_utilities: new blockchain_dump diagnostic tool (moneromooo-monero)
5f397e4 Add functions to iterate through blocks, txes, outputs, key images (moneromooo-monero)
0a5a5e8 db_bdb: record numbers for recno databases start at 1 (moneromooo-monero)
50dfdc0 db_bdb: DB_KEYEMPTY is also not found for non-top recon fields (moneromooo-monero)
572780e blockchain_db: use the DNE exceptions where appropriate (moneromooo-monero)
|
|
1980d8e console_handler: silence spurious message when exiting daemon (moneromooo-monero)
|
|
6376627 hardfork: switch voting to block minor version (moneromooo-monero)
55178ae unit_tests: remove leftover debug traces in hardfork test (moneromooo-monero)
|
|
I had never tested it, obviously
|
|
The method name to the "json_rpc" commands are names, not part
of URLs.
|
|
Displays current block height and target, net hash, hard fork
basic info, and connections.
Useful as a basic user friendly "what's going on here" command.
|
|
The wallet and the daemon applied different height considerations
when selecting outputs to use. This can leak information on which
input in a ring signature is the real one.
Found and originally fixed by smooth on Aeon.
|
|
It dumps data from the blockchain to a JSON format, and is
intended to help detect differences between data held in
different database formats.
|
|
|
|
|
|
|
|
|
|
The daemon registers a custom exit command, which cause the
loop to stop. Catch this case before printing "Failed to read line"
as this is an expected case.
|
|
Using major version would cause older daemons to reject those
blocks as they fail to deserialize blocks with a major version
which is not 1. There is no such restriction on the minor
version, so switching allows older daemons to coexist with
newer ones till the actual fork date, when most will hopefully
have updated already.
Also, for the same reason, we consider a vote for 0 to be a
vote for 1, since older daemons set minor version to 0.
|
|
|
|
b13e7f2 blockchain_export can now export to a blocks.dat format (moneromooo-monero)
11db442 bootstrap_file: do not try to create a directory with an empty name (moneromooo-monero)
03bc610 hardfork: use DB transactions when reorganizing (moneromooo-monero)
439c455 hardfork: simplify work done on reload (moneromooo-monero)
|
|
Also make the number of blocks endian independant, and add
support for testnet
|
|
This will happen if the chosen output file does not have a
path specified
|
|
It speeds up a lot, which can be significant when reorganizing
from the genesis block to create the hard fork data.
|
|
There is no need to fully recalculate and rewrite state, just
refill state from the DB.
|
|
|
|
5ea2f93 wallet2: really include non canonical outputs in dust sweep (moneromooo-monero)
|
|
253ed76 core_rpc_server: add optional json decoded tx to COMMAND_RPC_GET_TRANSACTIONS (moneromooo-monero)
ca23c0e core_rpc_server: add a getblock RPC command, and fix print_block (moneromooo-monero)
|
|
1ce2621 simplewallet: add a check_tx_key command (moneromooo-monero)
0f6d3aa simplewallet: hide start_mining behind --trusted-daemon (moneromooo-monero)
|
|
It allows one to check the amount of monero sent to a particular
address in a particular transaction, given that transaction's tx key
|
|
|
|
|
|
|
|
because it leaks your standard address
|
|
df8a110 simplewallet: add a --trusted-daemon flag (moneromooo-monero)
|
|
79c95c1 simplewallet: bump default mixin from 3 to 4 (moneromooo-monero)
ac90d48 from hard fork 2, all outputs must be decomposed (moneromooo-monero)
90ccad1 from hard fork 2, claim a quantized reward in coinbase (moneromooo-monero)
22b1570 cryptonote_format_utils: add a function to tell if an amount is canonical (moneromooo-monero)
|
|
234f576 miniupnpc: quick fix for buffer overflow (moneromooo-monero)
|
|
It allows enabling the rescan_spent command only for trusted
daemon
|
|
As recommended in MRL-0004
|
|
The wallet decomposes fully as of now too.
|
|
The small leftover is carried forward
|
|
|
|
http://talosintel.com/reports/TALOS-2015-0035/
reported by palexander on IRC
|
|
ee27559 Update to compile with latest miniupnpc (warptangent)
|
|
5d0cb73 unbound: do not try to link against libevent (moneromooo-monero)
|
|
180bcde build: default to Berkeley DB for 32 bit and ARM (moneromooo-monero)
791d8cb db_bdb: fix hard fork keys (moneromooo-monero)
|
|
cec92c4 hardfork: move an assert so it actually works (moneromooo-monero)
|
|
5ac1632 gpg_keys: update my key with a later expiration date (moneromooo-monero)
|
|
upnpDiscover() takes a new argument for TTL.
Use the suggested default of 2.
|
|
It is now not needed anymore, as we use minievent instead
|
|
|
|
Berkeley DB requires RECNO keys to be 32 bits, and forbids a key
value of 0.
|
|
An unsigned quantity is always >= 0
|
|
|
|
33affd2 blockchain: on hardfork 2, require mixin 2 at least if possible (moneromooo-monero)
434e0f4 hardfork: make the voting window a week (moneromooo-monero)
0a7421b hardfork: rescan speedup (moneromooo-monero)
fec98b8 hardfork: remove use of GNU extension for initializing object (moneromooo-monero)
4bbf944 blockchain: on hardfork 2, allow miners to claim less money than allowed (moneromooo-monero)
088bc56 hardfork: change window semantics to not count the newly added block (moneromooo-monero)
198f557 blockchain: use different hard fork settings for testnet and mainnet (moneromooo-monero)
|
|
151c32d dns_utils: fix wrong asserts (moneromooo-monero)
|
|
|
|
|
|
Add a block height before which version 1 is assumed
Use DB transactions
|
|
|
|
So they can avoid dust if they so wish
|
|
This allows knowing the hard fork a block must obey in order to be
added to the blockchain. The previous semantics would use that new
block's version vote to determine this hard fork, which made it
impossible to use the rules to validate transactions entering the
tx pool (and made it impossible to validate a block before adding
it to the blockchain).
|
|
|
|
Braino.
|
|
5b11a89 hardfork: most state now saved to the DB (moneromooo-monero)
0a54c3a hardfork: remove the "parts are copyright cryptonote" notices (moneromooo-monero)
e546f37 Add an RPC call and daemon command to get info on hard fork voting (moneromooo-monero)
d067131 blockchain: force a hardfork recalculation at load time (moneromooo-monero)
a717761 core: add consts where appropriate (moneromooo-monero)
8ffc508 core: moan when we think an update is needed to get latest hard fork info (moneromooo-monero)
f854984 blockchain: use the new hardfork class (moneromooo-monero)
62b1f74 New hardfork class (moneromooo-monero)
bed9a44 blockchain: add a couple missing includes (moneromooo-monero)
|
|
There will be a delay on first load of an existing blockchain
as it gets reparsed for this state data.
|
|
I coded the whole thing from scratch.
|
|
|
|
Since the state isn't actually saved anywhere, as the archive
code isn't called in the new DB version.
|
|
|
|
|
|
|
|
This keeps track of voting via block version, in order to decide
when to enable a particular fork's code.
|
|
|
|
3c10239 unbound: use the mini event fallback implementation (moneromooo-monero)
4e138a0 dns_utils: remove unnecessary string conversion (moneromooo-monero)
f928468 dns_utils: factor the fetching code for different DNS record types (moneromooo-monero)
4ef0da1 dns_utils: simplify string handling and fix leak (moneromooo-monero)
ae5f28c dns_utils: add a const where possible (moneromooo-monero)
f43d465 dns_utils: lock access to the singleton (moneromooo-monero)
5990344 dns: make ctor private (moneromooo-monero)
|
|
Using libevent seems to have high peaks of file descriptor use,
which can cause failure to create fds in other parts of bitmonerod.
The fallback implementation seems to run fine in a significantly
tighter file descriptor limit.
|
|
|
|
|
|
|
|
b19456d Re-enable optimized slow-hash if someone is trying to compile w/MSVC (disabling it was unintentional) (Javier Smooth)
|
|
|
|
This avoids races which could result in two objects being created
|
|
This ensures one can't instanciate a DNSResolver object by
mistake, but uses the singleton. A separate create static
function is added for cases where a new object is explicitely
needed.
|
|
(disabling it was unintentional)
|
|
5dc53c2 wallet: use mutex protected random generation api (moneromooo-monero)
|
|
813e758 blockchain: remove obsolete call to libc srand (moneromooo-monero)
|
|
e20a3ae simplewallet: add a store-tx-keys option to set (moneromooo-monero)
|
|
|
|
crypto::rand is now used for output selection
|
|
To enable storing tx keys in the (now encrypted) wallet cache.
|
|
d91eb8c wallet: only return tx keys via RPC if requested (moneromooo-monero)
|
|
0a4bc84 Added ref10 shen_ed25519_ref code, which includes code that can replace crypto-ops with a version straight from Bernstein's ref 10 (ShenNoether)
0d70fdc revert to 776b4fc91a821be152f0f23e6873aabb78a72029 (ShenNoether)
b01f286 Added shen_ed25519_ref to crypto ops subfolder, the point is to directly have bitmonero's crypto code come from bernstein et al's ref 10 code (ShenNoether)
|
|
3b5330e use correct unsigned type (roman)
59cc92b removed some gcc warnings. mainly unused variables. (roman)
|
|
f197599 wallet: encrypt the cache file (moneromooo-monero)
98c76a3 chacha8: add a key generation variant that take a pointer and size (moneromooo-monero)
|
|
6c99571 make tx keys available to the user (moneromooo-monero)
|
|
To get the tx keys returned via RPC, set the "get_tx_key" or
"get_tx_keys" request field to true (defaults to false).
|
|
crypto-ops with a version straight from Bernstein's ref 10
|
|
|
|
have bitmonero's crypto code come from bernstein et al's ref 10 code
|
|
|
|
|
|
It contains private data, such as a record of transactions.
The key is derived from the view and spend secret keys.
The encryption currently is one shot, so may require a lot of
memory for large wallet caches.
|
|
|
|
They are also stored in the cache file, to be retrieved using
a new get_tx_key command.
|
|
9672ac0 Revert "re-re-add Windows DNS bug fix, per c0de96f" (Riccardo Spagni)
|
|
This reverts commit f4ba92bcccd3e016c6b5fdced079bf17d1b3f371.
|
|
7c4d6f1 simplewallet: Use default log file name when executable's file path is unknown (warptangent)
b5b0f08 epee: Don't set log file name when process path name isn't found (warptangent)
|
|
378d004 blockchain: mark two places where the new code differs from the old (moneromooo-monero)
73d42a7 blockchain: update cumulative size after block addition (moneromooo-monero)
4a44377 blockchain: remove dead code (moneromooo-monero)
3f9089a blockchain: do not try to add a tx the pool when it was nor taken out (moneromooo-monero)
769d5ef blockchain: fix off by 1 in timestamp median calculations (moneromooo-monero)
|
|
Default to "simplewallet.log" in current directory when file path isn't
obtained from epee.
In this situation previously, it defaulted to the file name of ".log"
("" + ".log") in the current directory.
(Thanks to @sammy007 for reporting bug.)
An earlier version yet used "" + "/" + ".log" = "/.log", which resulted
in silently not logging in most cases, due to lack of permission.
Test:
PATH=$PATH:</path/to/simplewallet/folder> && simplewallet --wallet-file /dev/null
This results in epee not finding the executable's file path, so
simplewallet will now use a default log filename.
|
|
If process path name isn't found, then leave log file name blank.
This also applies if a process name is found, but it's blank after
removing a trailing dot extension.
|
|
And I'd like a comment from tewinget or someone else
|
|
Block addition can fail, and the old code would not update the
cumulative size in that case.
|
|
|
|
This is an unintended difference from the old code. Though I don't
think it can actually happen in practice with the current take_tx
implementation.
|
|
The height function apparently used to return the index of
the last block, rather than the height of the chain. This now
seems to be incorrect, judging the the code, so we remove the
now wrong comment, as well as a couple +/- 1 adjustments
which now cause the median calculation to differ from the
original blockchain_storage version.
|
|
7424cfc net_node: Use DNS resolver singleton (warptangent)
|
|
471e8a3 blockchain_import: Add --input-file option (warptangent)
3ffda6e blockchain_import: Updates for naming consistency (warptangent)
|
|
Each thread can use the same resolver.
|
|
This option specifies the input file path for importing.
The default remains <data-dir>/export/blockchain.raw
|
|
|
|
97c5faa blockchain_export: Add --output-file argument (warptangent)
|
|
dde4dbb doc: hammer the fact that the raw file isn't blockchain.bin (moneromooo-monero)
|
|
This option will export to the specified file path.
The default file path remains <data-dir>/export/blockchain.raw
|
|
f4ba92b re-re-add Windows DNS bug fix, per c0de96f (Riccardo Spagni)
|
|
|
|
|
|
|
|
d87a2d2 core_rpc_server: replace vector<bool> with vector<int> in RPC (moneromooo-monero)
|
|
7764cd7 net_node: skimplify rate limit code, and log as appropriate (moneromooo-monero)
|
|
e7b00ab core_rpc_server: find transactions in the pool as well as the blockchain (moneromooo-monero)
|
|
aa5bc35 wallet: new rescan_spent command to update outputs' spent status (moneromooo-monero)
|
|
vector<bool> causes issues in serialization with Boost 1.56
|
|
|
|
This obsoletes the need for a lengthy blockchain rescan when
a transaction doesn't end up in the chain after being accepted
by the daemon, or any other reason why the wallet's idea of
spent and unspent outputs gets out of sync from the blockchain's.
|
|
|
|
e63b854 blockchain_db: match tx addition semantics to original code (moneromooo-monero)
83bbea4 Add a is_key_image_spent daemon command and RPC call (moneromooo-monero)
35abef1 blockchain: remove dead code (moneromooo-monero)
|
|
The original code removed key images from a tx from the blockchain
when an non to-key nor gen input was found in that tx. Additionally,
the remainder of the tx data was added to the blockchain only after
the double spend check passed.
|
|
|
|
|
|
533acc3 blockchain_db: store key images for tx without outputs too (moneromooo-monero)
|
|
4f19e68 blockchain: factor get_num_outpouts(amount) calls (moneromooo-monero)
275894c blockchain: always select random outs using triangular distribution (moneromooo-monero)
|
|
2634307 daemon: omit extra set of <> in error message (moneromooo-monero)
0822933 daemon: print a decoded tx in print_tx (moneromooo-monero)
1d678b1 daemon: fix print_tx not find transactions (moneromooo-monero)
|