Commit Graph
338 Commits
Author SHA1 Message Date
Amine KhaldiandGitHub 9491c6ee32 CHIA-3856 Use an adapted version of deficit round robin algorithm in TransactionQueue's pop (#20351)
Use an adapted deficit round robin algorithm version in TransactionQueue's pop.
2026-01-12 09:07:14 -08:00
Earle LoweandGitHub b6c777ec3b Add context handler features to MempoolManager (#20343)
* Add context handler features to MempoolManager

* No need to manually shut_down mempoolmanager

* Fix up issues with ordering in full node

* Fix dumb programmer issues

* Fix up some bugbot issues

* Move timing to inside context manager

* fix wrong indent
2025-12-15 09:48:34 -08:00
8315f62ae6 Import check_time_locks() and CoinRecord (#19848)
* initial commit

* fix int to bool map

* another int bool map

* cast error to Err class

* cast to Err in a couple other places

* remaining couple

* ruff

* inline coinstore bool

* typing fixes

* import directly from rust and remove legacy file

* fix lingering ref to coinrecord

* another outdated import

* ruff

* typping fix

* minor simplifications

* Fix test

* fix import merge

* address comments

* undo coin_store change

---------

Co-authored-by: Arvid Norberg <arvid@libtorrent.org>
Co-authored-by: Matt <quexington@gmail.com>
2025-11-26 12:48:42 -08:00
Matt HauffandGitHub 40db4635a8 [LABS-245] Enable PEP604 Ruff rules (#20269)
* Enable PEP604 Ruff rules

* Fix harcoded signature in test

* Hack CLVMStreamable test with note to fast follow
2025-11-18 12:34:00 -08:00
Arvid NorbergandGitHub 5664516dda Bump chia rs 0.34.0 (#20226)
bump chia_rs to 0.34.0
2025-11-10 17:02:10 -07:00
Amine Khaldi bae4615a57 Make sure the fee and cost specified in a NewTransaction match the ones from validating its spend bundle. 2025-10-29 11:47:25 +01:00
Amine KhaldiandGitHub f7b7c66d2b CHIA-3758 Avoid recomputing mempool removals' transaction IDs in FullNode's broadcast_removed_tx (#20097)
Avoid recomputing mempool removals' transaction IDs in FullNode's broadcast_removed_tx.
2025-09-24 09:21:36 -07:00
Arvid NorbergandGitHub 73cb54789b [CHIA-3712] simplify add_transaction() (#20063)
* simpliy add_transaction() and replace literals with the CONSENSUS_ERROR_BAN_SECONDS constant

* fix tests and review comments

* review comments
2025-09-16 10:15:37 -07:00
Amine KhaldiandGitHub 698b2dd751 CHIA-3704 Optimize peak post processing by using transaction IDs instead of NewPeakItem elements (#19985)
Optimize peak post processing by using transaction IDs instead of NewPeakItem elements.
2025-09-11 08:53:31 -07:00
Kyle AltendorfandGitHub 7a26610e8f less pre-inting for ints (#19853) 2025-07-23 13:18:04 -07:00
Arvid NorbergandGitHub 4576684c14 integrate PLOT_V1_PHASE_OUT constant (#19820)
* integrate PLOT_V1_PHASE_OUT constant

* current test chains won't work after the plot v1 phase-out
2025-07-21 08:59:16 -07:00
Richard KissandGitHub d01758f9c8 BlockHeightMapProtocol (#19798) 2025-07-11 19:38:14 -05:00
a125e7b690 Create CoinStoreProtocol to remove a dependencies on chia.full_node from chia.consensus (#19741)
* `CoinStoreProtocol`

* Remove `.get_all_coins`

* Apply suggestions from code review

Uses `...` instead of values.

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* Add `.is_empty` to protocol

* Improve test fixture stuff

---------

Co-authored-by: Kyle Altendorf <sda@fstab.net>
2025-06-30 16:05:40 -07:00
Richard KissandGitHub 3e30f67405 Refactor BlockHeightMap Creation to Decouple It from Blockchain (#19711)
Create `BlockHeightMap` outside of `Blockchain` so `chia.consensus`
doesn't have to depend on a specific storage mechanism.
2025-06-17 11:53:26 -07:00
Richard KissandGitHub 4f03890871 chia/full_node/signage_point.py -> chia/consensus/signage_point.py (#19706) 2025-06-12 11:14:27 -07:00
6050235bdb [CHIA-3043] Add (hopefully) non-controversial ruff rules (#19684)
* Add (hopefully) non-controversial ruff rules

* mypy-exclusions.txt

* PIE

* Fix pre-commit?

* PYI

* RSE

* S + ignores

* Whitespace fix

* Re-add build-init-files.py

* Add comment about security ignores

* Update mypy-exclusions.txt

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* Fix the executable status of build-init-files.py

* Set executable bit for tools/run_block.py and readd shebang

* Fix new errors

---------

Co-authored-by: Kyle Altendorf <sda@fstab.net>
2025-06-11 08:36:08 -07:00
9289a05f12 New pos format (#19616)
* bump chia_rs

* update db_graftroot test

* refactor new pos format

* fix merge

* fix import

* fix missing param in test

* merge fixes/review fixes

* test prev_tx_block

* ermove double line

* # TODO: todo_v2_plots

* fix conftests monkeypatch

* fix spelling

* remove redundant merge code

* move prev_tx test

* add not impemented test to proof of space v2

* merge duplication fix

* fix typo, raise dont assert

* bump protocol, phase out test

* integer math

* add overflow case to test

---------

Co-authored-by: Arvid Norberg <arvid@libtorrent.org>
2025-06-10 11:27:17 -07:00
Almog De PazandGitHub a50f2c3c8e Bump chia rs >=0.25, <0.26 (#19685)
* bump_chia_rs

* update to use size()

* lint

* remove redundant imports
2025-06-05 15:07:08 -07:00
Richard KissandGitHub 3a0efbd463 fix(full_node): use f-string for log message when adding blocks (#19681)
Fix a typo I introduced in prior PR.
2025-06-05 15:06:44 -07:00
Almog De PazandGitHub afd5427ce8 CHIA-2823 move sp broadcast (#19654)
* move sp broadcast

* refactor to avoid double calls

* move up
2025-05-30 09:51:36 -07:00
Richard KissandGitHub a803d18c3b The chia.protocols module no longer depends upon chia.server. (#19636)
<!-- Merging Requirements:
- Please give your PR a title that is release-note friendly
- In order to be merged, you must add the most appropriate category
Label (Added, Changed, Fixed) to your PR
-->
<!-- Explain why this is an improvement (Does this add missing
functionality, improve performance, or reduce complexity?) -->

The modules `chia.protocols` and `chia.server` form a dependency loop.
This change at least removes the direct dependency of `chia.protocols`
on `chia.server`.

### Purpose:

<!-- Does this PR introduce a breaking change? -->

### Current Behavior:

### New Behavior:

<!-- As we aim for complete code coverage, please include details
regarding unit, and regression tests -->

### Testing Notes:

<!-- Attach any visual examples, or supporting evidence (attach any
.gif/video/console output below) -->
2025-05-29 09:24:29 -07:00
c0410e97ec Bump chia rs >=0.24, <0.25 (#19615)
* bump chia_rs

* update db_graftroot test

* update SerializedProgram and Program use, to accommodate new chia_rs interface

* review comments

* review comments

---------

Co-authored-by: Matthew Howard <m.o.howard97@gmail.com>
2025-05-29 09:24:08 -07:00
Richard KissandGitHub 1a0eb383dc Remove dependency chia.types so chia.util no longer depends on it (#19633)
* Move chia.util.full_block_utils to chia.full_node.full_block_utils

* chia.util.generator_tools => chia.consensus.generator_tools

* chia.util.vdf_prover => chia.simulator.vdf_prover

* Move 'chia.util.condition_tools' to 'chia.consensus'.
2025-05-27 09:03:23 -07:00
Richard KissandGitHub 6b88ae31a1 More significant digits in block_rate (#19608) 2025-05-16 10:12:41 -04:00
Amine Khaldi 8342362583 Merge commit 'baceeb841754e5079df58257c2b3d1ba25c4d4c0' into checkpoint/main_from_release_2.5.4_baceeb841754e5079df58257c2b3d1ba25c4d4c0 2025-05-12 13:54:37 +01:00
Richard KissandGitHub 44643084b0 Move augmented_chain.py and prev_transaction_block.py to chia/consensus (#19587) 2025-05-08 15:11:31 -05:00
Arvid NorbergandGitHub baceeb8417 improve logging and timing around block validation (#19566) 2025-05-02 09:59:37 -07:00
Arvid NorbergandGitHub b4ad4cf8d6 back-port improved logging of timing in block validation (#19546) 2025-05-01 10:05:55 -07:00
Kyle AltendorfandGitHub 4a65e3a6b0 move tx processing queue entry classes (#19536) 2025-04-25 13:15:18 -05:00
7d24a96ab7 log how long it took to call peak_post_processing_2() (#19538)
* log how long it took to call peak_post_processing_2() if block validation as a whole took a surprisingly long time

* log timing for Mempool.new_peak()

* Update chia/full_node/mempool_manager.py

Co-authored-by: Kyle Altendorf <sda@fstab.net>

---------

Co-authored-by: Kyle Altendorf <sda@fstab.net>
2025-04-25 13:14:29 -05:00
Kyle AltendorfandGitHub fcd20ce543 more chia_rs directly (#19520)
* more `chia_rs` directly

* maybe

* undo, kinda
2025-04-21 14:05:05 -05:00
Kyle AltendorfandGitHub 1911044e97 use chia_rs directly for more types (#19475)
* use chia_rs directly for more types

* more more

* undo submodule change...
2025-04-18 11:45:44 -05:00
07ccc77676 Add ContextManager to FullNodePeers (#19427)
* convert AddressManager to dataclass

* type annotations for default factory code

* convert FullNodePeers and FullNodeDiscovery into dataclasses

* make WalletPeers also a dataclass

* typing fixes

* fix type parameters for generic type "Queue"

* context manage FullNodePeers

* Update chia/full_node/full_node.py

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* remove init=false

* add coverage for node_discovery

* refactor full_node_peers entering context

* clear() uses same code as init() for matrices

* Update chia/server/address_manager.py

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* Add functools import to address_manager.py

---------

Co-authored-by: Kyle Altendorf <sda@fstab.net>
2025-04-04 11:34:59 -05:00
Amine KhaldiandGitHub f73564325c CHIA-2367 Separate height to hash and sub epoch summaries files by networks (#19262)
Separate height to hash and sub epoch summaries files by networks.
2025-03-17 09:53:02 -07:00
Kyle AltendorfandGitHub dd01af2c2b use chia_rs directly for pool target (#19332) 2025-03-03 09:34:02 -08:00
Kyle AltendorfandGitHub d50b6e0883 use chia_rs directly for sized bytes (#19326) 2025-02-28 09:35:25 -08:00
Kyle AltendorfandGitHub e446d6b726 use chia_rs directly for sized ints (#19303)
* use chia_rs directly for sized ints

* Update data_layer_rpc_api.py
2025-02-24 14:33:09 -08:00
Kyle AltendorfandGitHub 30c4ef2689 use chia_rs directly for consensus constants (#19301) 2025-02-21 10:03:17 -08:00
Amine Khaldi d1a9b7ff52 Merge commit '683d0ac2897412b0f971857d7571d70742c7799d' into checkpoint/main_from_release_2.5.2_683d0ac2897412b0f971857d7571d70742c7799d 2025-02-20 15:13:56 +01:00
Amine Khaldi 5bfdb395e0 Merge commit 'de0b0d8c69247fe8c32fe95d541d2c163a7d37de' into checkpoint/main_from_release_2.5.2_de0b0d8c69247fe8c32fe95d541d2c163a7d37de 2025-02-19 19:55:50 +01:00
wjblankeandGitHub 683d0ac289 Syncstorewjb (#19284)
* check hash

* ruff

* missed one
2025-02-18 10:47:05 -07:00
Amine KhaldiandGitHub de0b0d8c69 CHIA-2381 Validate fast forward spends before adding their spend bundle to the mempool (#19272)
Validate fast forward spends before adding their spend bundle to the mempool.

Make sure that all fast forward spends of a spend bundle would still have unspent coins.
2025-02-17 13:26:53 -07:00
Almog De PazandGitHub 59583e75ef Assert height to hash in contains block (#19136)
* add assertions

* use_height_if_available

* use try_block_record

* fix recursion

* handle none

* remove assert

* remove assert

* use try in wallet blockchain

* fix height o and height to hash in augmented

* get_correct_block_for_fork

* remove debug code

* use try_block_record

* check main chain againt undelying blockchain

* pass augmented in tests

* lint

* revert changes to wallet blockchain

* remove redundant comment

* lint

* remove debug message

* revert bad merge

* make height mandatory

* make height mandatory

* use try_block_record

* fix unfinished test

* remove from hh, test contains block

* fix test

* fix mock and cache
2025-02-11 07:18:52 -07:00
lencapandGitHub 743cfdfff0 chore: fix some typos (#19190)
Signed-off-by: lencap <techgeek@189.cn>
2025-02-11 06:36:00 -07:00
7e265e3da8 use undelying height_to_hash to check main chain (#19220)
Co-authored-by: almogdepaz <almogdepaz@gmail.com>
2025-02-05 10:12:23 -07:00
Richard KissandGitHub 3410597728 Move check_fork_next_block.py to chia.full_node (#19193)
Move `check_fork_next_block`
2025-01-28 13:46:02 -07:00
Almog De PazandGitHub 26b0fbee8e move augmented to caller (#19161)
* move augmented to caller

* use undelying height_to_hash to check main chain
2025-01-27 13:12:10 -07:00
William Blanke 3ac345e34a fix postprocessing priority mutexes 2025-01-08 11:06:40 -08:00
Almog De PazandGitHub b6d5afcdce remove redundant block record conversion CHIA-1286 (#18930)
* propegate block record

* revert changes to pytest.ini

* comments
2025-01-06 11:22:20 -07:00
Kyle AltendorfandGitHub 1ffa73e99e task referencer (#18914)
* put otherwise unheld tasks into the pit

* and the rest too

* cull less often

* task referencer

* private

* report unexpectedly unreferenced tasks

* also warn for automated catching in tests

* reporting task

* undo some

* fixup for 3.9

* ban asyncio.create_task

* oof

* simplify including using `Task.add_done_callback()` for culling
2025-01-02 10:13:51 -07:00