Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion chia/_tests/clvm/coin_store.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ def validate_spend_bundle(self, spend_bundle: SpendBundle, now: CoinTimestamp, m
assert result.conds is not None
for spend in result.conds.spends:
for puzzle_hash, amount, hint in spend.create_coin:
coin = Coin(bytes32(spend.coin_id), bytes32(puzzle_hash), uint64(amount))
coin = Coin(spend.coin_id, puzzle_hash, uint64(amount))
name = coin.name()
ephemeral_db[name] = CoinRecord(
coin,
Expand Down
5 changes: 2 additions & 3 deletions chia/_tests/core/full_node/test_generator_tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
get_spends_for_trusted_block,
get_spends_for_trusted_block_with_conditions,
)
from chia_rs.sized_bytes import bytes32
from chia_rs.sized_ints import uint32, uint64

from chia.consensus.generator_tools import tx_removals_and_additions
Expand Down Expand Up @@ -86,7 +85,7 @@ def test_tx_removals_and_additions() -> None:
expected_additions = []
for spend in spends:
for puzzle_hash, am, _ in spend.create_coin:
expected_additions.append(Coin(bytes32(spend.coin_id), bytes32(puzzle_hash), uint64(am)))
expected_additions.append(Coin(spend.coin_id, puzzle_hash, uint64(am)))
rems, adds = tx_removals_and_additions(conditions)
assert rems == expected_rems
assert adds == expected_additions
Expand All @@ -109,7 +108,7 @@ def test_get_spends_for_block(caplog: pytest.LogCaptureFixture) -> None:
conditions = get_spends_for_trusted_block(
test_constants, TEST_GENERATOR.program, TEST_GENERATOR.generator_refs, 100
)
assert conditions[0]["block_spends"] == []
assert conditions["block_spends"] == []


def test_get_spends_for_block_with_conditions(caplog: pytest.LogCaptureFixture) -> None:
Expand Down
4 changes: 3 additions & 1 deletion chia/_tests/core/mempool/test_mempool.py
Original file line number Diff line number Diff line change
Expand Up @@ -3197,7 +3197,9 @@ def add_spend_bundles(spend_bundles: list[SpendBundle]) -> None:

def test_get_puzzle_and_solution_for_coin_failure() -> None:
with pytest.raises(
ValueError, match=f"Failed to get puzzle and solution for coin {TEST_COIN}, error: \\('coin not found', '80'\\)"
ValueError,
match=f"Failed to get puzzle and solution for coin {TEST_COIN}, "
"error: \\('InvalidOperatorArg: coin not found', '80'\\)",
):
try:
get_puzzle_and_solution_for_coin(
Expand Down
2 changes: 1 addition & 1 deletion chia/_tests/generator/test_rom.py
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ def test_get_name_puzzle_conditions(self, softfork_height: int) -> None:
before_seconds_relative=None,
birth_height=None,
birth_seconds=None,
create_coin=[(bytes([0] * 31 + [1]), 500, None)],
create_coin=[(bytes32([0] * 31 + [1]), 500, None)],
agg_sig_me=[],
agg_sig_parent=[],
agg_sig_puzzle=[],
Expand Down
10 changes: 5 additions & 5 deletions chia/cmds/show_funcs.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ async def print_blockchain_state(node_client: FullNodeRpcClient, config: dict[st

if synced:
print("Current Blockchain Status: Full Node Synced")
print("\nPeak: Hash:", bytes32(peak.header_hash) if peak is not None else "")
print("\nPeak: Hash:", peak.header_hash if peak is not None else "")
elif peak is not None and sync_mode:
sync_max_block = blockchain_state["sync"]["sync_tip_height"]
sync_current_block = blockchain_state["sync"]["sync_progress_height"]
Expand All @@ -48,7 +48,7 @@ async def print_blockchain_state(node_client: FullNodeRpcClient, config: dict[st
f"({sync_max_block - sync_current_block} behind). "
f"({sync_current_block * 100.0 / sync_max_block:2.2f}% synced)"
)
print("Peak: Hash:", bytes32(peak.header_hash) if peak is not None else "")
print("Peak: Hash:", peak.header_hash if peak is not None else "")
elif peak is not None:
print(f"Current Blockchain Status: Not Synced. Peak height: {peak.height}")
else:
Expand All @@ -59,7 +59,7 @@ async def print_blockchain_state(node_client: FullNodeRpcClient, config: dict[st
if peak.is_transaction_block:
peak_time = peak.timestamp
else:
peak_hash = bytes32(peak.header_hash)
peak_hash = peak.header_hash
curr = await node_client.get_block_record(peak_hash)
while curr is not None and not curr.is_transaction_block:
curr = await node_client.get_block_record(curr.prev_hash)
Expand Down Expand Up @@ -88,7 +88,7 @@ async def print_blockchain_state(node_client: FullNodeRpcClient, config: dict[st
curr = await node_client.get_block_record(curr.prev_hash)

for b in added_blocks:
print(f"{b.height:>9} | {bytes32(b.header_hash)}")
print(f"{b.height:>9} | {b.header_hash}")
else:
print("Blockchain has no blocks yet")
return False
Expand Down Expand Up @@ -125,7 +125,7 @@ async def print_block_from_hash(
cost = str(full_block.transactions_info.cost)
tx_filter_hash: Union[str, bytes32] = "Not a transaction block"
if full_block.foliage_transaction_block:
tx_filter_hash = bytes32(full_block.foliage_transaction_block.filter_hash)
tx_filter_hash = full_block.foliage_transaction_block.filter_hash
fees: Any = block.fees
else:
block_time_string = "Not a transaction block"
Expand Down
12 changes: 6 additions & 6 deletions chia/consensus/block_body_validation.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,9 +116,9 @@ def include_spends(self, conds: Optional[SpendBundleConditions], block: FullBloc
timestamp = block.foliage_transaction_block.timestamp
for spend in conds.spends:
spend_coin_id = bytes32(spend.coin_id)
self.removals_since_fork[spend_coin_id] = ForkRem(bytes32(spend.puzzle_hash), block.height)
self.removals_since_fork[spend_coin_id] = ForkRem(spend.puzzle_hash, block.height)
for puzzle_hash, amount, hint in spend.create_coin:
coin = Coin(spend_coin_id, bytes32(puzzle_hash), uint64(amount))
coin = Coin(spend_coin_id, puzzle_hash, uint64(amount))
same_as_parent = coin.puzzle_hash == spend.puzzle_hash and amount == spend.coin_amount
self.additions_since_fork[coin.name()] = ForkAdd(
coin, block.height, timestamp, hint=hint, is_coinbase=False, same_as_parent=same_as_parent
Expand All @@ -137,8 +137,8 @@ def include_block(
timestamp = block.foliage_transaction_block.timestamp
spent_coins: dict[bytes32, Coin] = {}
for spend_id, spend in removals:
spent_coins[bytes32(spend_id)] = spend
self.removals_since_fork[bytes32(spend_id)] = ForkRem(bytes32(spend.puzzle_hash), block.height)
spent_coins[spend_id] = spend
self.removals_since_fork[spend_id] = ForkRem(spend.puzzle_hash, block.height)
for coin, hint in additions:
parent = spent_coins.get(coin.parent_coin_info)
assert parent is not None
Expand Down Expand Up @@ -382,9 +382,9 @@ async def validate_block_body(

for spend in conds.spends:
removals.append(bytes32(spend.coin_id))
removals_puzzle_dic[bytes32(spend.coin_id)] = bytes32(spend.puzzle_hash)
removals_puzzle_dic[spend.coin_id] = spend.puzzle_hash
for puzzle_hash, amount, _ in spend.create_coin:
c = Coin(bytes32(spend.coin_id), bytes32(puzzle_hash), uint64(amount))
c = Coin(spend.coin_id, puzzle_hash, uint64(amount))
additions.append((c, c.name()))
else:
assert conds is None
Expand Down
2 changes: 1 addition & 1 deletion chia/consensus/generator_tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,6 @@ def tx_removals_and_additions(results: Optional[SpendBundleConditions]) -> tuple
for spend in results.spends:
removals.append(bytes32(spend.coin_id))
for puzzle_hash, amount, _ in spend.create_coin:
additions.append(Coin(bytes32(spend.coin_id), bytes32(puzzle_hash), uint64(amount)))
additions.append(Coin(spend.coin_id, puzzle_hash, uint64(amount)))

return removals, additions
7 changes: 2 additions & 5 deletions chia/full_node/full_node_rpc_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -481,10 +481,9 @@ async def get_block_spends(self, request: dict[str, Any]) -> EndpointResult:
if full_block is None:
raise ValueError(f"Block {header_hash.hex()} not found")

spends: list[dict[str, list[CoinSpend]]] = []
block_generator = await get_block_generator(self.service.blockchain.lookup_block_generators, full_block)
if block_generator is None: # if block is not a transaction block.
return {"block_spends": spends}
return {"block_spends": []}

spends = get_spends_for_trusted_block(
self.service.constants,
Expand All @@ -493,9 +492,7 @@ async def get_block_spends(self, request: dict[str, Any]) -> EndpointResult:
get_flags_for_height_and_constants(full_block.height, self.service.constants),
)

# chia_rs returning a list is a mistake that will be fixed in the next release
# it ought to be returning a dict of {"block_spends": [spends]}
return spends[0]
return spends

async def get_block_spends_with_conditions(self, request: dict[str, Any]) -> EndpointResult:
if "header_hash" not in request:
Expand Down
2 changes: 1 addition & 1 deletion chia/full_node/mempool_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -609,7 +609,7 @@ async def validate_spend_bundle(
# Make sure the fast forward spend still has a version that is
# still unspent, because if the singleton has been melted, the
# fast forward spend will never become valid.
lineage_info = await get_unspent_lineage_info_for_puzzle_hash(bytes32(spend_conds.puzzle_hash))
lineage_info = await get_unspent_lineage_info_for_puzzle_hash(spend_conds.puzzle_hash)
if lineage_info is None:
return Err.DOUBLE_SPEND, None, []

Expand Down
4 changes: 2 additions & 2 deletions chia/full_node/subscriptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -225,11 +225,11 @@ def peers_for_spend_bundle(

for spend in conds.spends:
coin_ids.add(bytes32(spend.coin_id))
puzzle_hashes.add(bytes32(spend.puzzle_hash))
puzzle_hashes.add(spend.puzzle_hash)

for puzzle_hash, amount, memo in spend.create_coin:
coin_ids.add(Coin(spend.coin_id, puzzle_hash, uint64(amount)).name())
puzzle_hashes.add(bytes32(puzzle_hash))
puzzle_hashes.add(puzzle_hash)

if memo is not None and len(memo) == 32:
puzzle_hashes.add(bytes32(memo))
Expand Down
58 changes: 34 additions & 24 deletions poetry.lock
Original file line number Diff line number Diff line change
Expand Up @@ -825,33 +825,38 @@ pytest = ">=8.3.3,<9.0.0"

[[package]]
name = "chia-rs"
version = "0.27.0"
description = "Code useful for implementing chia consensus."
version = "0.28.2"
description = ""
optional = false
python-versions = "*"
groups = ["main"]
files = [
{file = "chia_rs-0.27.0-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:6f7305dbba01d85470815135ff4d25934ed21c9870c53a5a3c6ed9989c93adfe"},
{file = "chia_rs-0.27.0-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:6c1cc7ee4f8858f0f1647b3574f3a4b930c184c43f581ded562b33470110236e"},
{file = "chia_rs-0.27.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:4fe4f2fa4e1f7e80f17bf87a8b1b3f3012dfc600b42f7b443c989e200dd29acc"},
{file = "chia_rs-0.27.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:5de5a3db32c75d6dd8d8828c078a38400caa7a9330da24f5cfe935d21e74a6c0"},
{file = "chia_rs-0.27.0-cp310-cp310-win_amd64.whl", hash = "sha256:624d6d2f6e1de79711bb54d18e470392cb8345271173a8b541816e9d58631e80"},
{file = "chia_rs-0.27.0-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:4ae7d0e84fab83f0be88006dc0a00fe3b042c26a8b6cece584a136e879c516f6"},
{file = "chia_rs-0.27.0-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:271d94b32f9dc32fe53601c1aa70855019ead2b9da0e5b67a38ae87214601965"},
{file = "chia_rs-0.27.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:72f5bbeb0b6dbf6e05db33451c8adf9df25f97808846a3faf97cf7027e3dfe16"},
{file = "chia_rs-0.27.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:f435e59379e7244cf6b4f5b2701a859986bfed3adc1ad1ca2357b6ecc6d1a2da"},
{file = "chia_rs-0.27.0-cp311-cp311-win_amd64.whl", hash = "sha256:3fed290e15d9b43de30e24a108eb4141b35547fe6638d89bd987bba6f44bea06"},
{file = "chia_rs-0.27.0-cp312-cp312-macosx_13_0_arm64.whl", hash = "sha256:52ac4d90cd8a926f951c4dcc5d477a392ee43ddb7dc34075f047044ca4337780"},
{file = "chia_rs-0.27.0-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:88ed91ab0da1b02f4f463aa1a9f9c6e1dfa6f315f6746ce8d105b081e5af87ff"},
{file = "chia_rs-0.27.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:24108c3c271c288d8c67a7e043ae4414b1f715a4a5a85817978871986ac8fdf8"},
{file = "chia_rs-0.27.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:69093f69c46f345b7c4c5b863024b0eb2792dfe20e528deb1d4aa27f90bab688"},
{file = "chia_rs-0.27.0-cp312-cp312-win_amd64.whl", hash = "sha256:c5e3a51a79c0abd1932be2c8a2c3a4723702b2ba367fa769046c4dfcbb000859"},
{file = "chia_rs-0.27.0-cp39-cp39-macosx_13_0_arm64.whl", hash = "sha256:35901a6c6042373226992c6bc6f3e3b88b8fc6acdb6a4bfaf84635a4b7ccb41f"},
{file = "chia_rs-0.27.0-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:7747b5e7738f70bd8e1c05ece5884fc7c717aec9aa9dd7036f5ac5fd3e9d0ee9"},
{file = "chia_rs-0.27.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:e97245a9ef89a08d68b7dc44201624bfd3aa401303da4ff48f04a052043e0ce0"},
{file = "chia_rs-0.27.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:1cbfff18f3d1200382b768ce042eff3309291dfd7b79910345358a047764f628"},
{file = "chia_rs-0.27.0-cp39-cp39-win_amd64.whl", hash = "sha256:da590ac41d389ee6bedc418f1277565c8e42d000d1ae29b1971698a519ad898a"},
{file = "chia_rs-0.27.0.tar.gz", hash = "sha256:7ce89cbc06a888eb05a84f190e399eca015caae340a3d65696d7c0cb16a374ab"},
{file = "chia_rs-0.28.2-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:d6451de733bd1f6a1700eeb97e35539a54fde82f5eb4596e748eee4603d3c792"},
{file = "chia_rs-0.28.2-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:b12de327a6fb6df7678d3160209aa2d69d783777bea152567183e62dc2496c80"},
{file = "chia_rs-0.28.2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:76c0553819e7b8702173bb017f11c03f672f34daf2ffa2de98192774d68821ba"},
{file = "chia_rs-0.28.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:bb5e02d25e3a5014b2f981f948f67d5741bb184d55c48f63ff059ade793de71d"},
{file = "chia_rs-0.28.2-cp310-cp310-win_amd64.whl", hash = "sha256:0f596f04e6b068439310da88b12a1c1cf962a8b21ab0622d0043115549724c7b"},
{file = "chia_rs-0.28.2-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:208d89c5ef3a8f64547dc7ed815fd0aade48dc8a971cc54b1b2588a8e6e52538"},
{file = "chia_rs-0.28.2-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:4fd1e0a834ac6df4eea0f89960199086f83279dae5b73c4a6e5e93b3289401e7"},
{file = "chia_rs-0.28.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:87b68f2fa91e652124320ce2a94e4ed30eca3c7a670b604192f99551814dc1ca"},
{file = "chia_rs-0.28.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:0f1f7b54d3c14d2b1fba0ff9d001ee04c4e5f81eccc820a30c3368e47bab92ca"},
{file = "chia_rs-0.28.2-cp311-cp311-win_amd64.whl", hash = "sha256:07cbdbf9f1c23531638a4b61109f1fa1e20b01d87895cd0a14e9dd151a0826fa"},
{file = "chia_rs-0.28.2-cp312-cp312-macosx_13_0_arm64.whl", hash = "sha256:2fdfc99c690c828619c01a03db855597da3b21f7d16e538897055dd3d0e5b39e"},
{file = "chia_rs-0.28.2-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:931b064788c02e69b2f69b49c2eba0fe51cb0bcc2302f83ca13e05c9e5a63315"},
{file = "chia_rs-0.28.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:d27b9e509859015f8d11e0b6b39b4f7742c3294c8d30d831541dad2efcc41d52"},
{file = "chia_rs-0.28.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:f90213ac8ed4b442c847024122b839ea2a4fa246b93c2a009decddadbd81e6ff"},
{file = "chia_rs-0.28.2-cp312-cp312-win_amd64.whl", hash = "sha256:4598a3bcb896066aee27d1c2f7b593fd234d965e5eea2f6692297830fce3557d"},
{file = "chia_rs-0.28.2-cp313-cp313-macosx_13_0_arm64.whl", hash = "sha256:610dbed79d9bb84369b8d0a402af26e382ac1b97eaa6d78b410e228b0d3deab1"},
{file = "chia_rs-0.28.2-cp313-cp313-macosx_13_0_x86_64.whl", hash = "sha256:f58ab82ffc8e7dcba080400c9a3a96a7857ecf3257c5b5955d2c20fbaa553411"},
{file = "chia_rs-0.28.2-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:8797c6b730ed82f9893982b7ef50fd7dcbdffb6698ea68b739f0ed277073cc2a"},
{file = "chia_rs-0.28.2-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:4586cd8a7aa03e856c5251b456fe7bb5048b126546bc1369d29138f74667a1df"},
{file = "chia_rs-0.28.2-cp313-cp313-win_amd64.whl", hash = "sha256:e63bc97ca973efc06ea5322ad0668e564c178e938f708050adecb89157599831"},
{file = "chia_rs-0.28.2-cp39-cp39-macosx_13_0_arm64.whl", hash = "sha256:12bb13cfda1cb9c45dfd9536b32efca6969c4da5679ebde148df1f2220614c81"},
{file = "chia_rs-0.28.2-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:71682f048980ad2c269cc6ec16de2e3846affdc48eb9ff4a130adb73acab4b91"},
{file = "chia_rs-0.28.2-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:99e960abaa8dcf4050717cf049c7b49202d4437dc8ed92df3a05583790eb1842"},
{file = "chia_rs-0.28.2-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:f1408fbef138cfd90829f6f81d55000b8709683db6fed837c08e88c47a73db30"},
{file = "chia_rs-0.28.2-cp39-cp39-win_amd64.whl", hash = "sha256:c90298f8c4339f293843c9306d3dcb11df937838c3caaf011699d94ee4da473e"},
{file = "chia_rs-0.28.2.tar.gz", hash = "sha256:764ab78e9fd2af266f211cba9a5576a9cf88db47c4f41fe9e5f83ab6bc267f76"},
]

[package.dependencies]
Expand Down Expand Up @@ -2035,6 +2040,11 @@ files = [
{file = "miniupnpc-2.3.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a693cfad0a04c072203a62687c5ce412ec4b7d71f9ea6557b9056980ed5b1ef4"},
{file = "miniupnpc-2.3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:67e9821fd1e1a07d3fc26e7bb6a44f3b91353ab1ed0fdee6e25aa821af3e8adb"},
{file = "miniupnpc-2.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:be09644534d4e3ff527af9702c442ab9ad9fd0ae2ddeb7b7809997e35148d5e5"},
{file = "miniupnpc-2.3.3-cp313-cp313-macosx_13_0_arm64.whl", hash = "sha256:82d14cab9e3d18a68878fa6905eb4abe303eda7b25aadbd46efc1508a2016ccf"},
{file = "miniupnpc-2.3.3-cp313-cp313-macosx_13_0_x86_64.whl", hash = "sha256:1ec34592c1bd28b009d23daa7cba1b9e9117387765c708b5093f2c75bc3ac157"},
{file = "miniupnpc-2.3.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3bb74ac15c222c297b0a6c1a3812a1a2415c4feebcd87582066274f830a815ab"},
{file = "miniupnpc-2.3.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:41727c2cf6378f95fcc355215efb8fd43d6fea359714b4d27d41ceafa737f8a7"},
{file = "miniupnpc-2.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:73eaf03185b71e46362f1ff39f57b24e8e3dc12f2ec2d9404398d586d5ceae9f"},
{file = "miniupnpc-2.3.3-cp39-cp39-macosx_13_0_arm64.whl", hash = "sha256:f1d6b0c99687244c9b4eae36017db54e19442b4204d95632f27543cf351f40b1"},
{file = "miniupnpc-2.3.3-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:9892df1b8b09279ed2addb7ab42b5a04c8c415d0f83d870e6c469199729b07b6"},
{file = "miniupnpc-2.3.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cb84588afe6c9afa2d53f81baae211c66e32b7a0524de44a8adf04563bb4cdb2"},
Expand Down Expand Up @@ -3796,4 +3806,4 @@ upnp = ["miniupnpc"]
[metadata]
lock-version = "2.1"
python-versions = ">=3.9, <4, !=3.9.0, !=3.9.1"
content-hash = "36e836838243af6b5a52a42f9d37acff1be0d05680718749b463c0c1a404ae01"
content-hash = "66bff7b36a67a1a94decf6d05976020464196169894262703c9710b7f39abfd2"
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ boto3 = ">=1.35.43" # AWS S3 for Data Layer S3 plugin
chiabip158 = ">=1.5.2" # bip158-style wallet filters
chiapos = ">=2.0.10" # proof of space
chia-puzzles-py = ">=0.20.1"
chia_rs = ">=0.27, <0.28"
chia_rs = ">=0.28.2, <0.29"
chiavdf = ">=1.1.10" # timelord and vdf verification
click = ">=8.1.7" # For the CLI
clvm = ">=0.9.14"
Expand Down
Loading