Age | Commit message (Collapse) | Author | Files | Lines |
|
5a2e54a1 Fix prune using receive time as tx_weight (doy-lee)
|
|
3a85af40 core: fix handle_incoming_tx* comment about return value (moneromooo-monero)
|
|
|
|
fd62b6e7 blocks: use auto-generated .c files instead of 'LD -r -b binary' (xiphon)
|
|
341b3931 cryptonote_core: warn when the block rate deviates from expectations (moneromooo-monero)
|
|
9907ea06 cryptonote: sort tx_extra fields (moneromooo-monero)
|
|
|
|
|
|
|
|
a39c0358 blockchain: add check test options are given for fakechain mode (moneromooo-monero)
|
|
cf75ee72 blockchain: move two new verification errors to the verify category (moneromooo-monero)
|
|
c39e0a17 core: don't verify range proofs multiple times (moneromooo-monero)
|
|
Lest we get people get scared again
|
|
|
|
|
|
6844ae1b tx_pool: avoid parsing a whole tx if only the prefix is needed (moneromooo-monero)
|
|
get_transaction_pool RPC
Inspired by https://github.com/masari-project/masari/issues/93
|
|
This reverts commit 79d46c4d551a9b1261801960095bf4d24967211a, reversing
changes made to c9fc61dbb56cca442c775faa2554a7460879b637.
|
|
Coverity 188616
|
|
|
|
This removes some small amount of fingerprinting entropy.
There is no consensus rule to require this since this field
is technically free form, and a transaction is free to have
custom data in it.
|
|
|
|
fa9e54b6 build: fix gcc false positive 'stringop-overflow' warning (xiphon)
|
|
fa942ef6 daemon: silence daemon update warnings on testnet (iDunk5400)
|
|
|
|
73403004 add --block-notify to monerod and --tx-notify to monero-wallet-{cli,rpc} (moneromooo-monero)
|
|
|
|
357441a2 add checkpoints for testnet and mainnet (Riccardo Spagni)
d9f666d7 update checkpoints.dat (Riccardo Spagni)
6b1b4e83 update version to 13.0 (Riccardo Spagni)
6f153533 update readme with v13.0 (Riccardo Spagni)
|
|
c39ad0cd tx_pool: fix tx removal at startup keeping references (moneromooo-monero)
|
|
|
|
|
|
|
|
ac934663 rpc: add a "is an update available" flag in get_info (moneromooo-monero)
|
|
b2bb9312 blockchain: simplify output distribution code (moneromooo-monero)
befdcbf4 db_lmdb: do not use base for cumulative distribution (moneromooo-monero)
|
|
The warning threshold is set to allow a false positive every
ten days on average.
|
|
4e1e9a60 blockchain: add mainnet v8 height targetting 18 october (moneromooo-monero)
|
|
1660b0e7 tx_pool: make the max tx size a consensus rule from v8 (moneromooo-monero)
|
|
|
|
Make it easier for a user to be told when to update
|
|
|
|
|
|
So that bulletproofs become mandatory
|
|
|
|
|
|
Also constrains bulletproofs to simple rct, for simplicity
|
|
Ported from sarang's java code
|
|
|
|
48a7bc4 tx_pool: fix infinite loop when failing to find a meta record (moneromooo-monero)
|
|
1f2409e Do memwipe for critical secret keys copied to rct::key (stoffu)
|
|
and v9 a day later
|
|
83f5587 blockchain: use uint64_t for height, not size_t (moneromooo-monero)
|
|
b278b83 core: sync database based on bytes added, not blocks added (moneromooo-monero)
|
|
|
|
|
|
This avoids constant rechecking of the same things each time
a miner asks for the block template. The tx pool maintains
a cookie to allow users to detect when the pool state changed,
which means the block template needs rebuilding.
|
|
8e24533 blockchain: some batch tx scanning speedup (moneromooo-monero)
|
|
Blocks have a very wide range, whereas actual size is the relevant
quantity to consider when syncing
|
|
|
|
8c05237 blockchain: cache next block difficulty after adding a block (moneromooo-monero)
|
|
|
|
d95bc44 blockchain: fix getting invalid block data on failure (moneromooo-monero)
|
|
aa0ea0a blockchain: set the m_verifivation_failed flag in a couple more places (moneromooo-monero)
|
|
41b4bf9 tx_pool: cache check_tx_inputs results (moneromooo-monero)
|
|
45e419b db: store cumulative rct output distribution in the db for speed (moneromooo-monero)
|
|
50af357 alt_chain_info can now give more info about a particular alt chain (moneromooo-monero)
|
|
149da42 db_lmdb: enable batch transactions by default (stoffu)
34cb6b4 add --regtest and --fixed-difficulty for regression testing (vicsn)
9e1403e update get_info RPC and bump RPC version (vicsn)
207b66e first new functional tests (vicsn)
|
|
This gets rid of the temporary precalc cache.
Also make the RPC able to send data back in binary or JSON,
since there can be a lot of data
This bumps the LMDB database format to v3, with migration.
|
|
It's not 100% certain it'll be needed, but it avoids getinfo
needing the blockchain lock and potentially blocking
|
|
|
|
on_generateblocks RPC call combines functionality from the on_getblocktemplate and on_submitblock RPC calls to allow rapid block creation. Difficulty is set permanently to 1 for regtest.
Makes use of FAKECHAIN network type, but takes hard fork heights from mainchain
Default reserve_size in generate_blocks RPC call is now 1. If it is 0, the following error occurs 'Failed to calculate offset for'.
Queries hard fork heights info of other network types
|
|
when a block being added to the main chain is invalid.
This ensures the peer is banned after a number of these.
|
|
|
|
b628503 Remove old logic saved in comments. (jeandudey)
|
|
08b85a8 cryptonote_config: add get_config to refactor x = testnet ? config::testnet::X : stagenet ? config::stagenet::X : config::X (stoffu)
0cf80ba net_node: resolve host for node addresses given via command line flags (stoffu)
|
|
a2b557f 6795bd0 209ec96 ed2c81e a830db2 57ea902 31a895e ba8331c f7f1917 41be339 f025ae9 ef2cb63 dcfd299 5d3e702 2704624 2771a18 0e4c7d0 (moneromooo-monero)
|
|
Decrease the number of worker threads by one to account
for the fact the calling thread acts as a worker thread now
|
|
|
|
|
|
also use reserve where appropriate
|
|
|
|
2d5921e blockchain: avoid duplicate db query for height (moneromooo-monero)
|
|
d81e042 tx_pool: initialize bitflags padding since it gets written to storage (moneromooo-monero)
|
|
This is called a lot when creating a block template, and
does not change until the blockchain changes.
This also avoids tx parsing when cached.
|
|
ace2eda blockchain: pop forked blocks only when DB is not read-only (stoffu)
|
|
4f3a4fb blockchain: return error when requesting non existent output (moneromooo-monero)
|
|
2b0c632 tx_pool: hold off parsing a tx blob till we actually need it (moneromooo-monero)
|
|
16e209e core: lock incoming tx lock when checking the txpool and chain (moneromooo-monero)
|
|
db55263 threadpool: allow constructing an object, and misc tweaks (moneromooo-monero)
ce173cb core: remove threadpool dependency from header (moneromooo-monero)
3147468 unit_tests: add threadpool unit test (moneromooo-monero)
|
|
fa0839f Ensure m_timestamps has the correct number for computing difficulty. (thaerkh)
|
|
b5cb1bc blockchain: avoid exception if asked for a block we do not have (moneromooo-monero)
|
|
6b13976 blockchain: log in DEBUG when a block is found, and where (moneromooo-monero)
|
|
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
|
|
config::testnet::X : stagenet ? config::stagenet::X : config::X
|
|
|
|
827ca3f bump version for 0.12.2 point release (fluffypony)
95ccf50 update checkpoints.dat for point release (fluffypony)
|
|
3b941be core: add get_earliest_ideal_height_for_version() (stoffu)
|
|
f24cbc5 blockchain: fix deadlock with the difficulty cache (moneromooo-monero)
|
|
|
|
Avoids valgrind reporting uninitialized data usage
|
|
|
|
This data comes from untrusted peers, and validation failures
are therefore normal.
|
|
|
|
|
|
avoids RPC thread dying, causing the wallet to timeout
|
|
66a659b blockchain: add scope guard to waiter for threaded txv1 verification (stoffu)
|
|
740da1b core: fix automatic safe db sync mode switching (moneromooo-monero)
e942d34 protocol: do not switch to unsafe sync mode for just a few blocks (moneromooo-monero)
|
|
a66f152 Use median timestamp if current time renders a block invalid. (thaerkh)
|
|
b9389e5 db_lmdb: save pruned and prunable tx data separately (moneromooo-monero)
|
|
a6b8d3f tx_pool: remove old comment from fill_block_template() (stoffu)
|
|
a6a54fa blockchain: cache difficulty for next block (moneromooo-monero)
|
|
|
|
|
|
This bumps DB version to 2, migration code will run for v1 DBs
|
|
|
|
ce63ab09 blockchain: invalidate misc caches when popping blocks (moneromooo-monero)
|
|
cb9c7972 Fix output shuffling for multisig (stoffu)
|
|
|
|
872cb4ef blockchain: pop top if block version disagrees with the ideal fork version (stoffu)
|
|
|
|
|
|
This gets rid of an innocuous race trying to add the same tx
twice to the txpool
|
|
|
|
This can happen if a peer tries to obtain the next span from other
peers if that span is needed for not downloaded yet. Also if the
peer maliciously requests a non existent block hash.
|
|
Might be a bit heavy handed, but conservative.
|
|
|
|
|
|
|
|
dad10775 Only log an error if fork version is higher AND is not known. (Thaer Khawaja)
|
|
Eases up debugging
|
|
This skips the vast majority of "dust" output amounts with just
one instance on the chain. Clocks in at 0.15% of the original
time on testnet.
|
|
|
|
08343aba tx_pool: fix loading with colliding key images (moneromooo-monero)
|
|
eb59f7c5 cryptonote_tx_util: make destinations properly shuffled (stoffu)
|
|
11c933e1 fix lambda compile error on openbsd (moneromooo-monero)
|
|
A key image may be present more than once if all but one of the
txes spending that key image are coming from blocks. When loading
a txpool from storage, we must load the one that's not from a
block first to avoid rejection
|
|
|
|
|
|
|
|
|
|
|
|
Takes about 10 ms, which takes pretty much all of the get_info
RPC, which is called pretty often from wallets.
Also add a new lock so we don't need to lock the blockchain lock,
which will avoid blocking for a long time when calling the getinfo
RPC while syncing. Users of get_difficulty_for_next_block who need
the lock will have locked it already.
|
|
|
|
|
|
20a00266 blockchain: forbid bulletproof types before v8 (moneromooo-monero)
|
|
They were already forbidden implicitely, but let's make that
explicit for robustness
|
|
524cbdc1 blockchain: fix log message about per-kB fee (stoffu)
|
|
57c0b1ed Fix typos in various files (Dimitris Apostolou)
|
|
|
|
|
|
|
|
This function isn't used in the codebase.
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
|
|
|
|
When #3303 was merged, a cyclic dependency chain was generated:
libdevice <- libcncrypto <- libringct <- libdevice
This was because libdevice needs access to a set of basic crypto operations
implemented in libringct such as scalarmultBase(), while libringct also needs
access to abstracted crypto operations implemented in libdevice such as
ecdhEncode(). To untangle this cyclic dependency chain, this patch splits libringct
into libringct_basic and libringct, where the basic crypto ops previously in
libringct are moved into libringct_basic. The cyclic dependency is now resolved
thanks to this separation:
libcncrypto <- libringct_basic <- libdevice <- libcryptonote_basic <- libringct
This eliminates the need for crypto_device.cpp and rctOps_device.cpp.
Also, many abstracted interfaces of hw::device such as encrypt_payment_id() and
get_subaddress_secret_key() were previously implemented in libcryptonote_basic
(cryptonote_format_utils.cpp) and were then called from hw::core::device_default,
which is odd because libdevice is supposed to be independent of libcryptonote_basic.
Therefore, those functions were moved to device_default.cpp.
|
|
84decbea core: add v7 for 1539500 on mainnet (moneromooo-monero)
|
|
978663d4 Stagenet: successive forks up to v7 (stoffu)
|
|
Fix the way the REAL mode is handle:
Let create_transactions_2 and create_transactions_from construct the vector of transactions.
Then iterate on it and resign.
We just need to add 'outs' list in the TX struct for that.
Fix default secret keys value when DEBUG_HWDEVICE mode is off
The magic value (00...00 for view key and FF..FF for spend key) was not correctly set
when DEBUG_HWDEVICE was off. Both was set to 00...00.
Add sub-address info in ABP map in order to correctly display destination sub-address on device
Fix DEBUG_HWDEVICE mode:
- Fix compilation errors.
- Fix control device init in ledger device.
- Add more log.
Fix sub addr control
Fix debug Info
|
|
|
|
|
|
|
|
51219457 core: fix sending to the source address with a short payment id (moneromooo-monero)
|
|
6f8779d2 blockchain: fix random sync failures (moneromooo-monero)
|
|
0e7ad2e2 Wallet API: generalize 'bool testnet' to 'NetworkType nettype' (stoffu)
af773211 Stagenet (stoffu)
cc9a0bee command_line: allow args to depend on more than one args (stoffu)
55f8d917 command_line::get_arg: remove 'required' for dependent args as they're always optional (stoffu)
450306a0 command line: allow has_arg to handle arg_descriptor<bool,false,true> #3318 (stoffu)
9f9e095a Use `genesis_tx` parameter in `generate_genesis_block`. #3261 (Jean Pierre Dudey)
|
|
|
|
|
|
* src/cryptnote_config.h: The constant `config::testnet::GENESIS_TX` was
changed to be the same as `config::GENESIS_TX` (the mainnet's transaction)
because the mainnet's transaction was being used for both networks.
* src/cryptonote_core/cryptonote_tx_utils.cpp: The `generate_genesis_block` function
was ignoring the `genesis_tx` parameter, and instead it was using the `config::GENESIS_TX`
constant. That's why the testnet genesis transaction was changed. Also five lines of unused
code were removed.
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
|
|
The basic approach it to delegate all sensitive data (master key, secret
ephemeral key, key derivation, ....) and related operations to the device.
As device has low memory, it does not keep itself the values
(except for view/spend keys) but once computed there are encrypted (with AES
are equivalent) and return back to monero-wallet-cli. When they need to be
manipulated by the device, they are decrypted on receive.
Moreover, using the client for storing the value in encrypted form limits
the modification in the client code. Those values are transfered from one
C-structure to another one as previously.
The code modification has been done with the wishes to be open to any
other hardware wallet. To achieve that a C++ class hw::Device has been
introduced. Two initial implementations are provided: the "default", which
remaps all calls to initial Monero code, and the "Ledger", which delegates
all calls to Ledger device.
|
|
It would fail to send, thinking it needs a destination address,
since the destination matches the change address in this case.
|
|
When a block is added as part of a chunk (when syncing historical
blocks), a block may end up already in the blockchain if it was
added to the queue before being added to the chain (though it's
not clear how that could happen, but it's an implementation detail)
and thus may not be added to the chain when add_block is called.
This would cause m_blocks_txs_check to not be cleared, causing it
to get out of sync at next call, and thus wrongfully reject the
next block.
|
|
An udpate may or may not be available now, but should be soon if not.
This will prevent too many people freaking out.
|
|
b3b2d4d2 options: add testnet option dependencies (whythat)
c5f55bb4 common: implement dynamic option dependencies mechanism (whythat)
05a12ccc options: remove testnet-* options (whythat)
c33cb60e common: implement dependent option descriptor (whythat)
|
|
3607d467 core: add --no-fluffy-blocks, and enable fluffy blocks by default (moneromooo-monero)
|
|
|
|
|
|
Previously, when blob_size == tx_size_limit, the "m_too_big" property was set
and the transaction was rejected. This should not have been the case.
|
|
|
|
e4646379 keccak: fix mdlen bounds sanity checking (moneromooo-monero)
2e3e90ac pass large parameters by const ref, not value (moneromooo-monero)
61defd89 blockchain: sanity check number of precomputed hash of hash blocks (moneromooo-monero)
9af6b2d1 ringct: fix infinite loop in unused h2b function (moneromooo-monero)
8cea8d0c simplewallet: double check a new multisig wallet is multisig (moneromooo-monero)
9b98a6ac threadpool: catch exceptions in dtor, to avoid terminate (moneromooo-monero)
24803ed9 blockchain_export: fix buffer overflow in exporter (moneromooo-monero)
f3f7da62 perf_timer: rewrite to make it clear there is no division by zero (moneromooo-monero)
c6ea3df0 performance_tests: remove add_arg call stray extra param (moneromooo-monero)
fa6b4566 fuzz_tests: fix an uninitialized var in setup (moneromooo-monero)
03887f11 keccak: fix sanity check bounds test (moneromooo-monero)
ad11db91 blockchain_db: initialize m_open in base class ctor (moneromooo-monero)
bece67f9 miner: restore std::cout precision after modification (moneromooo-monero)
1aabd14c db_lmdb: check hard fork info drop succeeded (moneromooo-monero)
|
|
d6a0ae96 blockchain: don't try to use hash check array after it's freed (moneromooo-monero)
|
|
39992134 txpool: Properly bail out when outputs_amount == inputs_amount (Leon Klingele)
|
|
bc61ae69 tx_pool: add a max pool size, settable with --max-txpool-size (moneromooo-monero)
3b4e6b35 txpool: increase unmined tx expiry to three days (moneromooo-monero)
|
|
402c9eef cryptonote_tx_utils: fixed logic bug in get_destination_view_key_pub (stoffu)
|
|
It's freed when we've synced past its end, but we might still
find an old chain somewhere
|
|
|
|
Coverity 142951
|
|
Previously, when outputs_amount == inputs_amount, the "m_overspend" property
was set, whereas "m_fee_too_low" would have been the correct property to set.
This is unlikely to ever occur and just something I've noticed while reading
through the code.
|
|
and set v7 height to 1057027 on testnet (one block earlier)
This is to easily dump current nodes since we're going to change
the v7 rules with this.
|
|
|
|
42f86624 rpc: expose recent median block size in getinfo (moneromooo-monero)
|
|
ba6d2975 cryptonote_core: add --disable-dns-checkpoints flag (moneromooo-monero)
|
|
|
|
deeffaeb blockchain: remove minor floating point usage (moneromooo-monero)
|
|
|
|
|
|
|
|
ae860230 Fix exceptions not finding txpool txes when relaying (moneromooo-monero)
|
|
ae55bacd resumption support for updates using range requests (moneromooo-monero)
fe0fae50 epee: add a get_file_size function (moneromooo-monero)
|
|
|
|
|
|
|
|
|
|
|