1559 Commits

Author SHA1 Message Date
jeffro256
377071ea89
cryptonote_core: remove blockchain_storage_boost_serialization.h
unused
2025-07-24 02:22:14 -05:00
tobtoht
26294e80c9
Merge pull request #9947
00237fe src: update checkpoints to match v0.18.4.1 (selsta)
2025-07-10 13:46:26 +00:00
selsta
00237fe18a
src: update checkpoints to match v0.18.4.1 2025-07-10 15:31:54 +02:00
jeffro256
e9c89dc6ab
wallet: kill support for deprecated ephemeral Boost messages
The commit kills support for deprecated ephemeral Boost messages: signed/unsigned transaction sets, pending transactions, reserve proofs, MMS messages, etc.
It does NOT kill support for loading very old wallets in Boost format, that should be supported indefinitely. These messages were deprecated 5 years ago. Since
then, we have had a hard fork to enable a new non-compatible transaction type (w/ view tags), and disable the old transaction type. This renders basically all
of the aforementioned messages before that HF useless, with the possible exception of reserve proofs.

This commit also cleans up dead inclusions of boost serialization headers.

This commit is part of upstreaming Carrot/FCMP++. Killing support for Boost messages now means less boilerplate Boost serialization review for Carrot/FCMP++.
2025-05-30 14:24:56 -05:00
tobtoht
c2e3835223
Merge pull request #9910
d106e21b7 src: fix clangd warnings (0xFFFC0000)
2025-05-07 03:32:02 +00:00
0xFFFC0000
d106e21b74 src: fix clangd warnings 2025-05-01 05:27:35 +00:00
tobtoht
d2d976ca5a
Merge pull request #9404
f4672c259 cryptonote_core: only verify txpool when the hardfork value has changed. (0xFFFC0000)
2025-04-24 16:13:01 +00:00
tobtoht
56ee3d2765
Merge pull request #9872
6d6e8e173 construct_tx_and_get_tx_key: don't erase exception trace (jeffro256)
2025-04-23 16:22:25 +00:00
tobtoht
627bb04b98
Merge pull request #9851
70fe289d8 Improve move/copy/default constructor semantics for tx and block (Lee *!* Clagett)
2025-04-23 16:14:50 +00:00
jeffro256
6d6e8e1733
construct_tx_and_get_tx_key: don't erase exception trace 2025-03-26 15:10:09 -05:00
tobtoht
977dedce2c
Merge pull request #9865
0e243a4ac checkpoints: update to a recent block height (selsta)
2025-03-26 12:37:06 +00:00
selsta
0e243a4ac0
checkpoints: update to a recent block height 2025-03-25 21:28:20 +01:00
tobtoht
ba77342faa
Merge pull request #9845
51a72c120 Blockchain: remove skip for pruned txs in `check_tx_inputs()` (jeffro256)
2025-03-24 02:53:13 +00:00
Lee *!* Clagett
70fe289d82 Improve move/copy/default constructor semantics for tx and block 2025-03-21 14:02:12 -04:00
jeffro256
51a72c1209
Blockchain: remove skip for pruned txs in check_tx_inputs()
I can't see how this would trigger in the current codebase, so it's not a *current* safety issue,
but I can very well see it becoming on in the future if downstream code doesn't handle the passing
of pruned transactions correctly. I think the safe/good choice would be to remove this skip now
that all transactions that pass into the mempool are supposed to be unpruned. And for all in-block
txs, `check_tx_inputs()` isn't called for checkpointed blocks, and we sync pruned blocks only if
syncing checkpointed blocks.
2025-03-17 09:31:50 -05:00
jeffro256
528664b1c8
cryptonote_protocol: fix handling of pruned blocks during sync 2025-03-17 09:09:25 -05:00
tobtoht
44523cafff
Merge pull request #9135
c069c04ed blockchain sync: reduce disk writes from 2 to 1 per tx (jeffro256)
2025-03-10 16:16:18 +00:00
jeffro256
c069c04ede
blockchain sync: reduce disk writes from 2 to 1 per tx 2025-03-10 01:02:37 -05:00
0xFFFC0000
f4672c2595 cryptonote_core: only verify txpool when the hardfork value has changed.
Co-authored-by: Boog900 <boog900@tutanota.com>
2025-02-24 17:25:27 +00:00
tobtoht
da470b7471
Merge pull request #9688
26b4f5e00 Revert "blockchain: detect and log bad difficulty calculations" (selsta)
2025-01-22 22:51:10 +00:00
tobtoht
b32c69aabd
Merge pull request #9628
4344f97 Fix build with boost ASIO 1.87. Support boost 1.66+ (Lee *!* Clagett)
2025-01-14 14:24:07 +00:00
tobtoht
38668822b7
Merge pull request #9621
fe17069 Blockchain: get height of RingCT fork programmatically (jeffro256)
2025-01-14 14:13:06 +00:00
selsta
26b4f5e00c
Revert "blockchain: detect and log bad difficulty calculations"
This reverts commit 5741b4d74de542f6f75dddad8125f4c4a5ad9143.
2025-01-14 13:04:25 +01:00
Lee *!* Clagett
4344f97255 Fix build with boost ASIO 1.87. Support boost 1.66+ 2025-01-06 18:05:25 -05:00
luigi1111
1122fa523a
Merge pull request #9441
cfb19b9 blockchain: more opportunities for caching the rolling median (Crypto City)
2024-12-23 10:34:25 -05:00
luigi1111
61dd13dfa6
Merge pull request #9395
7fdaf61 Blockchain: fix temp fails causing alt blocks to be permanently invalid (jeffro256)
2024-12-23 10:32:02 -05:00
luigi1111
25dcb8dc9f
Merge pull request #9376
445319d src: update internal data structure to boost::bimap. startup speed up 2-5x because this PR changing O(n^2) operation to O(nlogn). (0xFFFC0000)
2024-12-23 10:27:17 -05:00
jeffro256
fe170698b1
Blockchain: get height of RingCT fork programmatically
Get height of the RingCT fork to start the output distributuon programmatically, instead of using a hardcoded index.

If using a hardcoded index, when the hardfork tables are modified, this can cause segmentation faults or horrific privacy issues: https://codeberg.org/wownero/wownero/issues/488#issuecomment-2514880.
2024-12-16 15:16:38 -06:00
jeffro256
ed955bf751
build: fix build with Boost 1.85 and remove instances of viewkey logging
1. Use `std::is_standard_layout` and `std::is_trivially_copyable` instead of `std::is_pod` for KV byte-wise serialization, which fixes compile issue for Boost UUIDs
2. Use `std::has_unique_object_representations` instead of `alignof(T) == 1` for epee byte spans and epee hex functions
3. Removed reimplementation of `std::hash` for `boost::uuids::uuid
4. Removed `<<` operator overload for `crypto::secret_key`
5. Removed instances in code where private view key was dumped to the log in plaintext
2024-09-06 11:46:22 -05:00
Crypto City
cfb19b932f
blockchain: more opportunities for caching the rolling median 2024-08-17 14:42:35 +00:00
luigi1111
a1dc85c537
Merge pull request #9416
ac0af73 rpc: add cumul weight field to block template resp (jeffro256)
2024-08-14 14:19:03 -04:00
jeffro256
ac0af73222
rpc: add cumul weight field to block template resp
Resolves #9415
2024-08-01 01:03:41 -05:00
selsta
3216165822
src: update checkpoints to match v0.18.3.4 (again) 2024-07-31 18:14:23 +02:00
luigi1111
330212888a
Merge pull request #9383
9f83e74 Daemon RPC: /getblocks.bin return chain's top_block_hash in resp (j-berman)
2024-07-16 19:00:39 -04:00
luigi1111
e3cfaed278
Merge pull request #9346
0fad1a8 src: update checkpoints to match v0.18.3.4 (selsta)
2024-07-16 18:49:44 -04:00
jeffro256
7fdaf61d41
Blockchain: fix temp fails causing alt blocks to be permanently invalid 2024-07-11 00:43:38 -05:00
j-berman
9f83e7434d Daemon RPC: /getblocks.bin return chain's top_block_hash in resp 2024-06-24 17:58:20 -07:00
0xFFFC0000
445319d3f1
src: update internal data structure to boost::bimap.
startup speed up 2-5x because this PR changing
O(n^2) operation to O(nlogn).
2024-06-21 07:22:19 +00:00
selsta
0fad1a8d08
src: update checkpoints to match v0.18.3.4 2024-05-29 15:59:56 +02:00
copyCat
341771ac3e copyright: bump to 2024 2024-05-21 16:29:33 +00:00
luigi1111
fc452bd546
Merge pull request #9282
b27fda2 src: update checkpoints to match latest release (selsta)
2024-05-20 23:36:28 -05:00
luigi1111
6462d3760d
Merge pull request #9232
7194506 Blockchain: remove old fee calc logic (jeffro256)
2024-05-20 23:18:07 -05:00
luigi1111
cdd7fc09b4
Merge pull request #9151
ff49444 @tobtoht: undo rebase changes tx.dsts -> tx_dsts (jeffro256)
38f354e Enforce Tx unlock_time is Zero by Relay Rule (jeffro256)
2024-05-20 23:11:09 -05:00
selsta
b27fda269e
src: update checkpoints to match latest release 2024-04-06 00:53:05 +02:00
jeffro256
7194506792
Blockchain: remove old fee calc logic 2024-03-10 13:30:46 -05:00
SChernykh
a01d7ccbfd Fixed mempool pruning
- Fixed undefined behavior after a call to `remove_tx_from_transient_lists` (it used an invalid iterator)
- Fixed `txCompare` (it wasn't strictly weak ordered)
2024-03-08 21:04:16 +01:00
luigi1111
d6d55b507a
Merge pull request #9222
66e5081 get_block_template_backlog: better sorting logic (SChernykh)
2024-03-08 13:45:41 -05:00
SChernykh
66e5081eae get_block_template_backlog: better sorting logic
std::sort is unstable, so it can return random sets of transactions when mempool has many transactions with the same fee/byte. It can result in p2pool mining empty blocks sometimes because it doesn't pick up "new" transactions immediately.
2024-03-08 14:50:01 +01:00
jeffro256
7815023117
tx_memory_pool: make double spends a no-drop offense
Nodes who see different txs in a double spend attack will drop each other, splitting the network.
Issue found by @boog900.
2024-03-07 09:23:51 -06:00
jeffro256
38f354e89f
Enforce Tx unlock_time is Zero by Relay Rule
Related to https://github.com/monero-project/research-lab/issues/78

Added a relay rule that enforces the `unlock_time` field is equal to 0 for non-coinbase transactions.

UIs changed:
* Removed `locked_transfer` and `locked_sweep_all` commands from `monero-wallet-cli`

APIs changed:
* Removed `unlock_time` parameters from `wallet2` transfer methods
* Wallet RPC transfer endpoints send error codes when requested unlock time is not 0
* Removed `unlock_time` parameters from `construct_tx*` cryptonote core functions
2024-02-24 14:27:17 -06:00