Commit Graph

11642 Commits

Author SHA1 Message Date
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
luigi1111 c23951f339
Merge pull request #9218
7815023 tx_memory_pool: make double spends a no-drop offense (jeffro256)
2024-03-08 10:43:20 -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
selsta e6f4875219
wallet2: adjust fee during backlog, fix set priority 2024-03-08 14:13:58 +01:00
luigi1111 4b255808d0
Merge pull request #9214
399b884 unit_tests: fix strtoul unit test (jeffro256)
2024-03-07 21:37:42 -05:00
luigi1111 6ade592adf
Merge pull request #9195
2a2da79 free function serialization DSL (jeffro256)
2024-03-07 21:37:05 -05:00
luigi1111 2dced15f85
Merge pull request #9187
695084e depends: add download commands for freebsd & android sources (tobtoht)
2024-03-07 21:35:02 -05:00
luigi1111 ce88edc3f7
Merge pull request #9184
7043238 Remove instructions for Void Linux, add NixOS (Siren)
2024-03-07 21:34:39 -05:00
luigi1111 c3ebfb132f
Merge pull request #9179
e499e74 actions: update to v4 actions (tobtoht)
2024-03-07 21:34:13 -05:00
luigi1111 e2cf644bef
Merge pull request #9170
1bc09fc depends: add riscv64 to gitignore (tobtoht)
2024-03-07 21:25:00 -05:00
luigi1111 4582656f60
Merge pull request #9169
119e341 depends: remove unwind (tobtoht)
2024-03-07 21:24:30 -05:00
luigi1111 6e4ef12e50
Merge pull request #9168
0c9a5c5 depends: remove ccache (tobtoht)
2024-03-07 21:23:43 -05:00
luigi1111 1d24774b5b
Merge pull request #9167
442146a depends: libusb: update to 1.0.27 (tobtoht)
2024-03-07 21:22:17 -05:00
luigi1111 20dbf99795
Merge pull request #9166
5f1b5c2 depends: eudev: update to 3.2.14 (tobtoht)
2024-03-07 21:21:42 -05: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 399b884a9c
unit_tests: fix strtoul unit test 2024-03-07 09:05:09 -06:00
tobtoht 5dbaace1e8
depends: fix ar zero timestamp for openssl & unbound on android targets 2024-03-05 09:15:24 +01:00
tobtoht 358d27c2e4
depends: native_libtapi: don't embed git hash 2024-02-26 15:33:21 +01: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
jeffro256 2a2da79943
free function serialization DSL
Example usage for Seraphis types (in global or `sp` namespace):

```
BEGIN_SERIALIZE_OBJECT_FN(sp::SpCoinbaseEnoteCore)
    FIELD_F(onetime_address)
    VARINT_FIELD_F(amount)
END_SERIALIZE()

BEGIN_SERIALIZE_OBJECT_FN(sp::SpEnoteCore)
    FIELD_F(onetime_address)
    FIELD_F(amount_commitment)
END_SERIALIZE()
```
2024-02-24 11:24:47 -06:00
luigi1111 7b7958bbd9
Merge pull request #9004
cdab0d4 cmake: require libsodium (tobtoht)
684bfca depends: move sodium to packages (tobtoht)
2024-02-24 10:46:59 -05:00
tobtoht cdab0d489c
cmake: require libsodium 2024-02-24 16:26:43 +01:00
tobtoht 684bfca765
depends: move sodium to packages 2024-02-24 16:25:13 +01:00
luigi1111 9c9cb6e458
Merge pull request #9191
3313933 docs: omit i2p port number from ANONYMITY_NETWORKS (selsta)
2024-02-24 10:17:48 -05:00
luigi1111 b12766a652
Merge pull request #9189
f7670c9 cryptonote_core: early out on out of bounds scaling parameter (selsta)
2024-02-24 10:16:54 -05:00
luigi1111 7c22754432
Merge pull request #9182
538f19b depends: android_ndk: update to 18b (tobtoht)
2024-02-24 10:15:34 -05:00
luigi1111 7b8fd2d1a0
Merge pull request #9165
c334d0e depends: openssl: update to 3.0.13 (tobtoht)
2024-02-24 10:13:42 -05:00
luigi1111 7ba726c142
Merge pull request #9164
b26155b depends: expat: update to 2.6.0 (tobtoht)
2024-02-24 10:13:19 -05:00
luigi1111 b616c64953
Merge pull request #9163
edcc1e4 depends: unbound: update to 1.19.1 (tobtoht)
2024-02-24 10:12:31 -05:00
luigi1111 72d87cd10a
Merge pull request #9160
c50ade5 Daemon-specific proxy for the wallet-rpc. (0xFFFC0000)
2024-02-24 10:11:51 -05:00
luigi1111 3078e44847
Merge pull request #9155
ed50938 Zero initialize rctSigBase elements (Lee *!* Clagett)
2024-02-24 10:07:54 -05:00
luigi1111 f2493d9139
Merge pull request #9143
b1c9a80 Add <cstdint> to aligned test (Lee *!* Clagett)
2024-02-24 10:06:57 -05:00
luigi1111 486ae9f1cf
Merge pull request #9138
cd7ccfb Disable/fix ports with I2P (Lee Clagett)
2024-02-24 10:05:25 -05:00
luigi1111 7904879326
Merge pull request #9137
8d25418 daemon: warn user on specifiying ZMQ args with --no-zmq (jeffro256)
2024-02-24 10:04:56 -05:00
luigi1111 9132d4eea0
Merge pull request #9132
9cd4757 Cleanup extra memory allocation, and port boost::shared_ptr to std::shared_ptr. (0xFFFC0000)
2024-02-24 10:04:04 -05:00
luigi1111 400b313caf
Merge pull request #9128
ba902f9 actions: remove unnecessary packages (tobtoht)
2024-02-24 10:00:27 -05:00
luigi1111 c12ee59ebd
Merge pull request #9125
0c545f6 epee/test: remove levin_protocol_handler and core_proxy tests (jeffro256)
2024-02-24 09:59:50 -05:00
luigi1111 49bfb8fd63
Merge pull request #9121
afe5167 depends: update config scripts (jeffro256)
2024-02-24 09:58:59 -05:00
luigi1111 2dc918402c
Merge pull request #9006
47042ce wallet2: call on_reorg callback in handle_reorg (j-berman)
2024-02-24 09:57:55 -05:00
luigi1111 92a3b2c97e
Merge pull request #9005
0d763a1 depends: move cmake system config to hosts files (tobtoht)
2024-02-24 09:57:09 -05:00
luigi1111 b91c433788
Merge pull request #8940
48b7d08 epee binary: container can read from empty seq of any type (jeffro256)
2024-02-24 09:55:58 -05:00
luigi1111 ee104bc9d5
Merge pull request #8861
b13c5f6 wallet: feature: transfer amount with fee included (jeffro256)
2024-02-24 09:54:56 -05:00
tobtoht 3d2b6a8ac2
depends: native_cctools: don't embed build date 2024-02-23 18:30:17 +01:00
tobtoht 5fdd67d738
depends: {native_,}protobuf: speedup build 2024-02-23 10:58:11 +01:00
tobtoht 3c16794f1f
build: force Trezor for depends builds 2024-02-23 10:56:37 +01:00
koe fa47c7b7d6 add blake2b to src/crypto 2024-02-21 19:39:11 -06:00
selsta 33139336a2
docs: omit i2p port number from ANONYMITY_NETWORKS 2024-02-21 01:01:32 +01:00
jeffro256 b13c5f6669
wallet: feature: transfer amount with fee included
To transfer ~5 XMR to an address such that your balance drops by exactly 5 XMR, provide a `subtractfeefrom` flag to the `transfer` command. For example:

    transfer 76bDHojqFYiFCCYYtzTveJ8oFtmpNp3X1TgV2oKP7rHmZyFK1RvyE4r8vsJzf7SyNohMnbKT9wbcD3XUTgsZLX8LU5JBCfm 5 subtractfeefrom=all

If my walet balance was exactly 30 XMR before this transaction, it will be exactly 25 XMR afterwards and the destination address will receive slightly
less than 5 XMR. You can manually select which destinations fund the transaction fee and which ones do not by providing the destination index.
For example:

    transfer 75sr8AAr... 3 74M7W4eg... 4 7AbWqDZ6... 5 subtractfeefrom=0,2

This will drop your balance by exactly 12 XMR including fees and will spread the fee cost proportionally (3:5 ratio) over destinations with addresses
`75sr8AAr...` and `7AbWqDZ6...`, respectively.

Disclaimer: This feature was paid for by @LocalMonero.
2024-02-20 17:08:06 -06:00
selsta f7670c9387
cryptonote_core: early out on out of bounds scaling parameter 2024-02-21 00:02:27 +01:00