Skip to content

Make rejectLowDeposits a single pass instead of O(n^2) - #2805

Merged
noonio merged 1 commit into
masterfrom
vrom911/2670-rejectLowDeposits
Aug 10, 2026
Merged

Make rejectLowDeposits a single pass instead of O(n^2)#2805
noonio merged 1 commit into
masterfrom
vrom911/2670-rejectLowDeposits

Conversation

@vrom911

@vrom911 vrom911 commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Resolves #2670
rejectLowDeposits paired each output with its minimum using a nested List.find, which is quadratic in the number of deposit inputs. Both lists come from the same UTxO in the same order, so a single walk does the same work. Also adds a property test over multi-output UTxOs, since the old one only ever checked a single output


  • CHANGELOG updated or not needed
  • Documentation updated or not needed
  • Haddocks updated or not needed
  • No new TODOs introduced or explained herafter

@vrom911 vrom911 self-assigned this Aug 4, 2026
@vrom911
vrom911 requested a review from a team August 4, 2026 09:37
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

Transaction cost differences

No cost or size differences found

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

End-to-end benchmark differences

Comparing this PR (new) against master (old). Numbers come from cloud VMs, so changes under 5% are shown as and are likely run-to-run noise rather than a real regression or improvement. 🟢 = improvement, 🔴 = regression; uncolored rows are neutral measures reported for context.

Sustained load (3 nodes, 3x5000 txs)

Metric master PR Δ
End-to-end TPS (tx/s) 521.80 519.69 ≈ -2.11 (-0.4%)
Sustained TPS (tx/s) 985.08 1,063.00 🟢 +77.92 (+7.9%)
Backlog drain time (s) 27.90 28.40 ≈ +0.50 (+1.8%)
Snapshots per second (/s) 0.59 0.59 ≈ +0.00 (+0.0%)
Avg txs per snapshot 882.40 882.40 ≈ +0.00 (+0.0%)
Avg. Confirmation Time (s) 23.202 23.926 ≈ +0.724 (+3.1%)
P50 confirmation (s) 24.529 24.890 ≈ +0.361 (+1.5%)
P95 confirmation (s) 27.987 28.455 ≈ +0.467 (+1.7%)
P99 confirmation (s) 28.071 28.613 ≈ +0.541 (+1.9%)
Tx validation time p50 (s) 8.864 9.967 🔴 +1.103 (+12.4%)
Peak node RSS (MB) 436.10 415.30 ≈ -20.80 (-4.8%)
Invalid txs 0.00 0.00 ≈ +0.00 (n/a%)

Plateau 1000 UTxO (1 node, 4000 txs)

Metric master PR Δ
End-to-end TPS (tx/s) 237.69 222.76 🔴 -14.93 (-6.3%)
Backlog drain time (s) 16.70 17.90 🔴 +1.20 (+7.2%)
Snapshots per second (/s) 0.48 0.39 -0.09 (-18.7%)
Avg txs per snapshot 500.00 571.40 +71.40 (+14.3%)
Avg. Confirmation Time (s) 10.378 11.424 🔴 +1.046 (+10.1%)
P50 confirmation (s) 10.727 11.603 🔴 +0.877 (+8.2%)
P95 confirmation (s) 16.741 17.891 🔴 +1.150 (+6.9%)
P99 confirmation (s) 16.743 17.893 🔴 +1.150 (+6.9%)
Tx validation time p50 (s) 6.341 6.235 ≈ -0.107 (-1.7%)
Peak node RSS (MB) 370.10 399.30 +29.20 (+7.9%)
Invalid txs 0.00 0.00 ≈ +0.00 (n/a%)

Round-trip latency (3 nodes, closed-loop, 3x250 txs)

Metric master PR Δ
End-to-end TPS (tx/s) 96.98 85.48 🔴 -11.50 (-11.9%)
Sustained TPS (tx/s) 97.47 86.59 🔴 -10.88 (-11.2%)
Backlog drain time (s) 0.00 0.00 ≈ +0.00 (n/a%)
Snapshots per second (/s) 65.04 57.67 -7.37 (-11.3%)
Avg txs per snapshot 1.50 1.50 ≈ +0.00 (+0.0%)
Avg. Confirmation Time (s) 0.031 0.035 🔴 +0.004 (+13.3%)
P50 confirmation (s) 0.030 0.030 ≈ +0.000 (+1.3%)
P95 confirmation (s) 0.040 0.067 🔴 +0.028 (+69.3%)
P99 confirmation (s) 0.045 0.092 🔴 +0.047 (+103.3%)
Tx validation time p50 (s) 0.008 0.008 🟢 -0.000 (-6.1%)
Peak node RSS (MB) 148.10 149.00 ≈ +0.90 (+0.6%)
Invalid txs 0.00 0.00 ≈ +0.00 (n/a%)

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

Transaction costs

Sizes and execution budgets for Hydra protocol transactions. Note that unlisted parameters are currently using arbitrary values and results are not fully deterministic and comparable to previous runs.

Metadata
Generated at 2026-08-10 12:48:23.579607409 UTC
Max. memory units 14000000
Max. CPU units 10000000000
Max. tx size (kB) 16384

Script summary

Name Hash Size (Bytes)
νHead f2dd4ade71e19c2310a86215aa78aea06463aca2d8b818af8dc1b8a4 12805
μHead 4abb8dedbcd6a6f03f4fe227300e2713d73b7680d47baa898b60d27a* 4971
νDeposit c78e8c9205721eb3ef4410f3db9c6169fa6db497c24641d29c20529c 1615
νCRS 09db7ee6cf7a4b358dd5c8a2f19d2c048336ffc5a01ef35a47ca7072 2736
  • The minting policy hash is only usable for comparison. As the script is parameterized, the actual script is unique per head.

Init transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 5475 9.13 2.99 0.49
2 5571 10.18 3.35 0.50
3 5667 10.32 3.38 0.51
5 5861 11.13 3.63 0.52
10 6342 13.84 4.50 0.57
50 10183 35.07 11.15 0.96
100 14982 61.78 19.49 1.45
114 16324 69.28 21.84 1.59

Cost of Increment Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 2321 20.59 7.33 0.47
2 2452 21.67 8.34 0.49
3 2583 23.20 9.50 0.52
5 2845 24.45 11.22 0.55
10 3501 29.89 16.30 0.66
50 8741 72.01 56.13 1.52
75 12017 97.96 80.90 2.05

Cost of Decrement Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 646 18.46 6.68 0.38
2 773 19.40 7.64 0.40
3 904 20.39 8.62 0.42
5 1167 22.26 10.55 0.46
10 1822 27.03 15.40 0.56
50 7063 67.70 54.78 1.40
75 10338 94.09 79.66 1.94

Close transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 669 17.78 11.67 0.41
3 931 19.74 13.63 0.45
10 1854 26.50 20.45 0.59
75 10365 93.20 84.76 1.97

Contest transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 700 21.50 14.91 0.46
2 827 22.64 15.93 0.48
3 963 23.81 16.97 0.51
5 1226 26.07 19.02 0.55
10 1885 31.79 24.16 0.66
50 7118 79.46 65.71 1.58
66 9217 99.56 82.61 1.96

FanOut transaction costs

Involves spending head output and burning head tokens. Uses ada-only UTXO for better comparability.
Rows first grow the UTxO set at a fixed 10 parties, then show the largest set that still fits per number of parties (burning more participation tokens leaves less room for outputs).

Parties UTxO UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
10 0 0 5644 23.29 42.87 0.90
10 1 57 5678 25.63 45.39 0.93
10 5 285 5814 35.88 55.71 1.10
10 10 569 5983 49.89 68.99 1.31
10 20 1137 6322 82.42 96.97 1.79
1 20 1140 6045 76.20 95.00 1.72
5 20 1140 6170 78.96 95.88 1.75
10 20 1137 6322 82.42 96.97 1.79
20 20 1139 6633 89.74 99.26 1.88
50 15 856 7396 94.70 91.88 1.90

PartialFanOut transaction costs

Largest chunk of ada-only outputs that can be distributed in one partial fanout step, computed dynamically. The last row is the maximum total UTxO count where at least one output can still be distributed.

Total UTxO Distributed UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
11 10 569 986 34.91 66.33 0.95
25 23 1308 1427 68.24 99.40 1.48
30 23 1309 1428 68.24 99.40 1.48
40 23 1309 1428 68.24 99.40 1.48
50 23 1309 1428 68.24 99.40 1.48
100 23 1310 1429 68.24 99.40 1.48
150 23 1310 1429 68.24 99.40 1.48
200 23 1310 1429 68.24 99.40 1.48
200 23 1309 1428 68.24 99.40 1.48

PartialFanOut transaction costs (with native tokens)

Largest chunk of native-token outputs that can be distributed in one partial fanout step, computed dynamically. The last row is the maximum total UTxO count where at least one output can still be distributed.

Total UTxO Distributed UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
11 10 940 1411 41.97 68.82 1.05
25 21 2205 2456 76.59 99.17 1.59
30 21 2331 2588 76.56 99.21 1.60
40 21 2058 2302 76.56 99.12 1.58
50 21 2415 2677 76.59 99.22 1.60
100 21 2142 2391 76.59 99.17 1.59
150 21 2331 2589 76.59 99.22 1.60
200 21 2058 2303 76.59 99.12 1.59
200 21 2163 2413 76.56 99.16 1.59

FinalPartialFanOut transaction costs (with native tokens)

Terminal partial fanout step (FanoutProgress → Final) with outputs carrying a native token. Burns all head tokens and proves accumulator exhaustion via BLS proof.

Distributed UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
1 94 5514 21.97 44.27 0.89
5 525 5860 35.70 55.83 1.10
10 1110 6340 53.78 70.61 1.37
10 970 6200 53.90 70.60 1.37

End-to-end benchmark results

This page is intended to collect the latest end-to-end benchmark results produced by Hydra's continuous integration (CI) system from the latest master code.

Please note that these results are approximate as they are currently produced from limited cloud VMs and not controlled hardware. Rather than focusing on the absolute results, the emphasis should be on relative results, such as how the timings for a scenario evolve as the code changes.

Generated at 2026-08-10 12:49:42.424533241 UTC

Baseline Scenario

Number of nodes 1
Number of txs 300
Avg. Confirmation Time (ms) 216.4
P99 220.2ms
P95 220.0ms
P50 216.4ms
Tx validation time p50 (ms) 142.5
End-to-end TPS 1346.41 tx/s
Backlog drain time (s) 0.2
Snapshots observed 3
Snapshots per second 13.46 /s
Avg txs per snapshot 100.0
Peak node RSS (MB) 145.3
Number of Invalid txs 0
Fanout outputs 2

Three local nodes

Number of nodes 3
Number of txs 900
Avg. Confirmation Time (ms) 1009.5
P99 1031.2ms
P95 1030.5ms
P50 1015.9ms
Tx validation time p50 (ms) 503.7
End-to-end TPS 863.02 tx/s
Backlog drain time (s) 1.0
Snapshots observed 3
Snapshots per second 2.88 /s
Avg txs per snapshot 300.0
Peak node RSS (MB) 146.1
Number of Invalid txs 0
Fanout outputs 4

Scenario benchmark results

This page collects results from the scenario matrix: every combination of cluster size, UTxO shape, and incremental-ops mode is exercised by CI from the latest master code and reported below.

Numbers are approximate. They come from cloud VMs rather than controlled hardware, so the useful signal is the relative change between cells and between commits, not the absolute throughput.

Generated at 2026-08-10 13:04:34.161809772 UTC

Summary across cells

TPS columns are rates (transactions per second); Wall clock (s) is the measured elapsed time from the first tx submission to the last confirmation. Times are rounded to one decimal.

Scenario Txs Wall clock (s) End-to-end TPS (tx/s) Sustained TPS (tx/s) Avg conf (ms) P95 conf (ms)
Nodes=1, Constant, fire and forget 30 0.3 92.16 n/a 315.0 325.2
Nodes=1, Constant, wait for tx valid 30 0.7 40.72 55.29 24.5 142.3
Nodes=1, Growing, fire and forget 30 0.2 180.05 n/a 166.0 166.3
Nodes=1, Growing, wait for tx valid 30 1.2 24.45 22.95 40.8 185.5
Nodes=1, Mixed, fire and forget 30 0.1 302.09 n/a 98.6 99.1
Nodes=1, Mixed, wait for tx valid 30 3.1 9.66 7.88 103.4 429.4
Nodes=2, Constant, fire and forget 60 0.2 331.15 n/a 179.0 180.9
Nodes=2, Constant, wait for tx valid 60 1.1 55.64 48.26 35.8 190.0
Nodes=2, Growing, fire and forget 60 0.3 194.21 n/a 302.1 307.9
Nodes=2, Growing, wait for tx valid 60 0.6 103.97 110.16 19.1 30.6
Nodes=2, Mixed, fire and forget 60 0.1 1022.24 n/a 57.9 58.2
Nodes=2, Mixed, wait for tx valid 60 0.7 82.47 75.14 23.9 56.3
Nodes=3, Constant, fire and forget 90 0.1 700.59 n/a 125.8 127.2
Nodes=3, Constant, wait for tx valid 90 0.8 113.01 115.10 26.2 55.9
Nodes=3, Growing, fire and forget 90 0.2 362.91 n/a 244.5 247.7
Nodes=3, Growing, wait for tx valid 90 1.9 46.49 43.02 64.3 219.7
Nodes=3, Mixed, fire and forget 90 0.3 258.17 n/a 344.3 348.3
Nodes=3, Mixed, wait for tx valid 90 1.4 64.19 73.61 46.1 106.4

Nodes=1, Constant, fire and forget

Number of nodes 1
Number of txs 30
Avg. Confirmation Time (ms) 315.0
P99 325.3ms
P95 325.2ms
P50 325.1ms
Tx validation time p50 (ms) 15.8
End-to-end TPS 92.16 tx/s
Backlog drain time (s) 0.3
Snapshots observed 2
Snapshots per second 6.14 /s
Avg txs per snapshot 15.0
Peak node RSS (MB) 143.5
Number of Invalid txs 0
Fanout outputs 2

Nodes=1, Constant, wait for tx valid

Number of nodes 1
Number of txs 30
Avg. Confirmation Time (ms) 24.5
P99 220.0ms
P95 142.3ms
P50 5.4ms
Tx validation time p50 (ms) 1.7
End-to-end TPS 40.72 tx/s
Sustained TPS 55.29 tx/s
Backlog drain time (s) 0.0
Snapshots observed 30
Snapshots per second 40.72 /s
Avg txs per snapshot 1.0
Peak node RSS (MB) 143.6
Number of Invalid txs 0
Fanout outputs 2

Nodes=1, Growing, fire and forget

Number of nodes 1
Number of txs 30
Avg. Confirmation Time (ms) 166.0
P99 166.3ms
P95 166.3ms
P50 166.2ms
Tx validation time p50 (ms) 152.1
End-to-end TPS 180.05 tx/s
Backlog drain time (s) 0.2
Snapshots observed 2
Snapshots per second 12.00 /s
Avg txs per snapshot 15.0
Peak node RSS (MB) 144.0
Number of Invalid txs 0
Fanout outputs 31

Nodes=1, Growing, wait for tx valid

Number of nodes 1
Number of txs 30
Avg. Confirmation Time (ms) 40.8
P99 325.7ms
P95 185.5ms
P50 6.5ms
Tx validation time p50 (ms) 1.9
End-to-end TPS 24.45 tx/s
Sustained TPS 22.95 tx/s
Backlog drain time (s) 0.0
Snapshots observed 30
Snapshots per second 24.45 /s
Avg txs per snapshot 1.0
Peak node RSS (MB) 144.4
Number of Invalid txs 0
Fanout outputs 31

Nodes=1, Mixed, fire and forget

Each client first grows its UTxO set (1-in to 2-out) for half of its tx budget, then contracts it back (2-in to 1-out) for the remainder.

Number of nodes 1
Number of txs 30
Avg. Confirmation Time (ms) 98.6
P99 99.1ms
P95 99.1ms
P50 98.9ms
Tx validation time p50 (ms) 29.0
End-to-end TPS 302.09 tx/s
Backlog drain time (s) 0.1
Snapshots observed 2
Snapshots per second 20.14 /s
Avg txs per snapshot 15.0
Peak node RSS (MB) 143.7
Number of Invalid txs 0
Fanout outputs 2

Nodes=1, Mixed, wait for tx valid

Each client first grows its UTxO set (1-in to 2-out) for half of its tx budget, then contracts it back (2-in to 1-out) for the remainder.

Number of nodes 1
Number of txs 30
Avg. Confirmation Time (ms) 103.4
P99 701.2ms
P95 429.4ms
P50 19.5ms
Tx validation time p50 (ms) 2.1
End-to-end TPS 9.66 tx/s
Sustained TPS 7.88 tx/s
Backlog drain time (s) 0.0
Snapshots observed 30
Snapshots per second 9.66 /s
Avg txs per snapshot 1.0
Peak node RSS (MB) 144.0
Number of Invalid txs 0
Fanout outputs 2

Nodes=2, Constant, fire and forget

Number of nodes 2
Number of txs 60
Avg. Confirmation Time (ms) 179.0
P99 181.0ms
P95 180.9ms
P50 180.4ms
Tx validation time p50 (ms) 82.7
End-to-end TPS 331.15 tx/s
Backlog drain time (s) 0.2
Snapshots observed 2
Snapshots per second 11.04 /s
Avg txs per snapshot 30.0
Peak node RSS (MB) 143.6
Number of Invalid txs 0
Fanout outputs 3

Nodes=2, Constant, wait for tx valid

Number of nodes 2
Number of txs 60
Avg. Confirmation Time (ms) 35.8
P99 201.3ms
P95 190.0ms
P50 13.4ms
Tx validation time p50 (ms) 3.4
End-to-end TPS 55.64 tx/s
Sustained TPS 48.26 tx/s
Backlog drain time (s) 0.0
Snapshots observed 60
Snapshots per second 55.64 /s
Avg txs per snapshot 1.0
Peak node RSS (MB) 144.7
Number of Invalid txs 0
Fanout outputs 3

Nodes=2, Growing, fire and forget

Number of nodes 2
Number of txs 60
Avg. Confirmation Time (ms) 302.1
P99 308.3ms
P95 307.9ms
P50 305.4ms
Tx validation time p50 (ms) 85.4
End-to-end TPS 194.21 tx/s
Backlog drain time (s) 0.3
Snapshots observed 2
Snapshots per second 6.47 /s
Avg txs per snapshot 30.0
Peak node RSS (MB) 145.9
Number of Invalid txs 0
Fanout outputs 62

Nodes=2, Growing, wait for tx valid

Number of nodes 2
Number of txs 60
Avg. Confirmation Time (ms) 19.1
P99 46.8ms
P95 30.6ms
P50 16.9ms
Tx validation time p50 (ms) 5.0
End-to-end TPS 103.97 tx/s
Sustained TPS 110.16 tx/s
Backlog drain time (s) 0.0
Snapshots observed 60
Snapshots per second 103.97 /s
Avg txs per snapshot 1.0
Peak node RSS (MB) 146.2
Number of Invalid txs 0
Fanout outputs 62

Nodes=2, Mixed, fire and forget

Each client first grows its UTxO set (1-in to 2-out) for half of its tx budget, then contracts it back (2-in to 1-out) for the remainder.

Number of nodes 2
Number of txs 60
Avg. Confirmation Time (ms) 57.9
P99 58.2ms
P95 58.2ms
P50 58.1ms
Tx validation time p50 (ms) 14.1
End-to-end TPS 1022.24 tx/s
Backlog drain time (s) 0.1
Snapshots observed 2
Snapshots per second 34.07 /s
Avg txs per snapshot 30.0
Peak node RSS (MB) 144.4
Number of Invalid txs 0
Fanout outputs 3

Nodes=2, Mixed, wait for tx valid

Each client first grows its UTxO set (1-in to 2-out) for half of its tx budget, then contracts it back (2-in to 1-out) for the remainder.

Number of nodes 2
Number of txs 60
Avg. Confirmation Time (ms) 23.9
P99 158.0ms
P95 56.3ms
P50 16.5ms
Tx validation time p50 (ms) 4.2
End-to-end TPS 82.47 tx/s
Sustained TPS 75.14 tx/s
Backlog drain time (s) 0.0
Snapshots observed 60
Snapshots per second 82.47 /s
Avg txs per snapshot 1.0
Peak node RSS (MB) 145.4
Number of Invalid txs 0
Fanout outputs 3

Nodes=3, Constant, fire and forget

Number of nodes 3
Number of txs 90
Avg. Confirmation Time (ms) 125.8
P99 127.3ms
P95 127.2ms
P50 127.0ms
Tx validation time p50 (ms) 78.7
End-to-end TPS 700.59 tx/s
Backlog drain time (s) 0.1
Snapshots observed 2
Snapshots per second 15.57 /s
Avg txs per snapshot 45.0
Peak node RSS (MB) 144.8
Number of Invalid txs 0
Fanout outputs 4

Nodes=3, Constant, wait for tx valid

Number of nodes 3
Number of txs 90
Avg. Confirmation Time (ms) 26.2
P99 95.8ms
P95 55.9ms
P50 21.7ms
Tx validation time p50 (ms) 5.9
End-to-end TPS 113.01 tx/s
Sustained TPS 115.10 tx/s
Backlog drain time (s) 0.0
Snapshots observed 61
Snapshots per second 76.59 /s
Avg txs per snapshot 1.5
Peak node RSS (MB) 145.9
Number of Invalid txs 0
Fanout outputs 4

Nodes=3, Growing, fire and forget

Number of nodes 3
Number of txs 90
Avg. Confirmation Time (ms) 244.5
P99 247.8ms
P95 247.7ms
P50 245.8ms
Tx validation time p50 (ms) 38.7
End-to-end TPS 362.91 tx/s
Backlog drain time (s) 0.2
Snapshots observed 2
Snapshots per second 8.06 /s
Avg txs per snapshot 45.0
Peak node RSS (MB) 145.4
Number of Invalid txs 0
Fanout outputs 0

Nodes=3, Growing, wait for tx valid

Number of nodes 3
Number of txs 90
Avg. Confirmation Time (ms) 64.3
P99 292.1ms
P95 219.7ms
P50 44.9ms
Tx validation time p50 (ms) 9.0
End-to-end TPS 46.49 tx/s
Sustained TPS 43.02 tx/s
Backlog drain time (s) 0.1
Snapshots observed 61
Snapshots per second 31.51 /s
Avg txs per snapshot 1.5
Peak node RSS (MB) 146.8
Number of Invalid txs 0
Fanout outputs 0

Nodes=3, Mixed, fire and forget

Each client first grows its UTxO set (1-in to 2-out) for half of its tx budget, then contracts it back (2-in to 1-out) for the remainder.

Number of nodes 3
Number of txs 90
Avg. Confirmation Time (ms) 344.3
P99 348.3ms
P95 348.3ms
P50 345.7ms
Tx validation time p50 (ms) 197.8
End-to-end TPS 258.17 tx/s
Backlog drain time (s) 0.3
Snapshots observed 2
Snapshots per second 5.74 /s
Avg txs per snapshot 45.0
Peak node RSS (MB) 145.1
Number of Invalid txs 0
Fanout outputs 4

Nodes=3, Mixed, wait for tx valid

Each client first grows its UTxO set (1-in to 2-out) for half of its tx budget, then contracts it back (2-in to 1-out) for the remainder.

Number of nodes 3
Number of txs 90
Avg. Confirmation Time (ms) 46.1
P99 137.7ms
P95 106.4ms
P50 36.9ms
Tx validation time p50 (ms) 7.3
End-to-end TPS 64.19 tx/s
Sustained TPS 73.61 tx/s
Backlog drain time (s) 0.0
Snapshots observed 62
Snapshots per second 44.22 /s
Avg txs per snapshot 1.5
Peak node RSS (MB) 146.1
Number of Invalid txs 0
Fanout outputs 4

@vrom911
vrom911 force-pushed the vrom911/2670-rejectLowDeposits branch from ef20f91 to 1e73515 Compare August 10, 2026 12:41
@noonio
noonio enabled auto-merge (squash) August 10, 2026 12:50
@noonio
noonio merged commit 230331a into master Aug 10, 2026
38 checks passed
@noonio
noonio deleted the vrom911/2670-rejectLowDeposits branch August 10, 2026 13:35
@noonio noonio added this to the Performance milestone Aug 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

rejectLowDeposits is O(n²)

2 participants