Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into quex.port_coin_cmds_t…
Browse files Browse the repository at this point in the history
…o_chia_command
  • Loading branch information
Quexington committed Oct 28, 2024
2 parents 51fee38 + cfab9eb commit 272b636
Show file tree
Hide file tree
Showing 602 changed files with 11,100 additions and 9,377 deletions.
1 change: 0 additions & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
* @Chia-Network/required-reviewers
/.github/**/* @Chia-Network/actions-reviewers
/PRETTY_GOOD_PRACTICES.md @altendky @Chia-Network/required-reviewers
/pylintrc @altendky @Chia-Network/required-reviewers
/tests/ether.py @altendky @Chia-Network/required-reviewers
8 changes: 2 additions & 6 deletions .github/workflows/build-macos-installers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
matrix:
python-version: ["3.10"]
os:
- runs-on: macos-12
- runs-on: macos-13
name: intel
bladebit-suffix: macos-x86-64.tar.gz
arch-artifact-name: intel
Expand Down Expand Up @@ -83,7 +83,7 @@ jobs:
uses: Chia-Network/actions/setjobenv@main
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
MACOSX_DEPLOYMENT_TARGET: 12
MACOSX_DEPLOYMENT_TARGET: 13

- name: Test for secrets access
id: check_secrets
Expand Down Expand Up @@ -296,10 +296,6 @@ jobs:
fail-fast: false
matrix:
os:
- name: 12
matrix: 12
runs-on:
intel: macos-12
- name: 13
matrix: 13
runs-on:
Expand Down
9 changes: 2 additions & 7 deletions .github/workflows/check_wheel_availability.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
- name: macOS
matrix: macos
runs-on:
intel: macos-12
intel: macos-13
arm: macos-13-arm64
- name: Windows
matrix: windows
Expand All @@ -43,13 +43,8 @@ jobs:
matrix: arm
- name: Intel
matrix: intel
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
python-version: ["3.9", "3.10", "3.11", "3.12"]
exclude:
- os:
matrix: macos
arch:
matrix: arm
python-version: "3.8"
- os:
matrix: windows
arch:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,5 @@ jobs:
- name: "Dependency Review"
uses: actions/dependency-review-action@v4
with:
allow-dependencies-licenses: pkg:pypi/pylint, pkg:pypi/pyinstaller
allow-dependencies-licenses: pkg:pypi/pyinstaller
deny-licenses: AGPL-1.0-only, AGPL-1.0-or-later, AGPL-1.0-or-later, AGPL-3.0-or-later, GPL-1.0-only, GPL-1.0-or-later, GPL-2.0-only, GPL-2.0-or-later, GPL-3.0-only, GPL-3.0-or-later
3 changes: 1 addition & 2 deletions .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
- name: macOS
matrix: macos
runs-on:
intel: macos-12
intel: macos-13
arm: macos-13-arm64
- name: Windows
matrix: windows
Expand All @@ -41,7 +41,6 @@ jobs:
- name: Intel
matrix: intel
python:
- major_dot_minor: "3.8"
- major_dot_minor: "3.9"
- major_dot_minor: "3.10"
- major_dot_minor: "3.11"
Expand Down
9 changes: 7 additions & 2 deletions .github/workflows/test-install-scripts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
os:
- runs-on: macos-latest
matrix: macos-arm
- runs-on: macos-12
- runs-on: macos-13
matrix: macos-intel
- runs-on: ubuntu-latest
matrix: linux
Expand Down Expand Up @@ -220,7 +220,12 @@ jobs:
apt-get install --yes software-properties-common
add-apt-repository --yes ppa:git-core/ppa
apt-get --yes update
apt-get install --yes git lsb-release sudo python3-venv
apt-get install --yes git lsb-release sudo
MINIMUM=3.9
if ! apt satisfy --yes "python3-venv (>= ${MINIMUM})"
then
apt-get install --yes python${MINIMUM}-venv
fi
- name: Add safe git directory
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
Expand Down
13 changes: 0 additions & 13 deletions .github/workflows/test-single.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,15 +66,6 @@ jobs:
arch:
- matrix: ${{ inputs.arch }}
python:
- name: "3.8"
file_name: "3.8"
action: "3.8"
apt: "3.8"
install_sh: "3.8"
matrix: "3.8"
exclude_from:
limited: True
main: True
- name: "3.9"
file_name: "3.9"
action: "3.9"
Expand Down Expand Up @@ -109,10 +100,6 @@ jobs:
limited: True
main: True
exclude:
- os:
matrix: macos
python:
matrix: "3.8"
- arch:
matrix: arm
configuration:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ jobs:
concurrency-name: macos-intel
configuration: ${{ needs.configure.outputs.configuration }}
matrix_mode: ${{ needs.configure.outputs.matrix_mode }}
runs-on: macos-12
runs-on: macos-13
arch: intel
macos-arm:
if: github.event_name != 'workflow_dispatch' || inputs.run-macos-arm
Expand Down Expand Up @@ -292,7 +292,7 @@ jobs:
- name: Coverage report (diff)
if: (github.base_ref != '' || github.event.before != '') && always()
env:
compare-branch: ${{ github.base_ref == '' && steps.parent-commit.hash || format('origin/{0}', github.base_ref) }}
compare-branch: ${{ github.base_ref == '' && steps.parent-commit.outputs.hash || format('origin/{0}', github.base_ref) }}
run: |
set -o pipefail
diff-cover --config-file=.diffcover.toml --compare-branch=${{ env.compare-branch }} --fail-under=100 --html-report=coverage-reports/diff-cover.html --markdown-report=coverage-reports/diff-cover.md coverage-reports/coverage.xml | tee coverage-reports/diff-cover-stdout
Expand Down
13 changes: 2 additions & 11 deletions .github/workflows/upload-pypi-source.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
matrix: macos
emoji: 🍎
runs-on:
intel: macos-12
intel: macos-13
arm: macos-13-arm64
- name: Windows
matrix: windows
Expand All @@ -56,7 +56,6 @@ jobs:
- name: Intel
matrix: intel
python:
- major_dot_minor: "3.8"
- major_dot_minor: "3.9"
- major_dot_minor: "3.10"
- major_dot_minor: "3.11"
Expand All @@ -68,12 +67,6 @@ jobs:
python manage-mypy.py build-mypy-ini
mypy
exclude:
- os:
matrix: macos
arch:
matrix: arm
python:
major_dot_minor: "3.8"
- os:
matrix: windows
arch:
Expand Down Expand Up @@ -129,8 +122,6 @@ jobs:
command: black --check --diff .
- name: flake8
command: flake8 benchmarks build_scripts chia tools *.py
- name: pylint
command: pylint benchmarks build_scripts chia tools *.py
- name: generated protocol tests
command: |
python3 -m chia._tests.util.build_network_protocol_files
Expand Down Expand Up @@ -174,7 +165,7 @@ jobs:
- check
strategy:
matrix:
python-version: [3.8]
python-version: [3.10]
os: [ubuntu-latest]

steps:
Expand Down
16 changes: 15 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ repos:
hooks:
- id: pyupgrade
name: pyupgrade
entry: ./activated.py pyupgrade --py38-plus --keep-runtime-typing
entry: ./activated.py pyupgrade --py39-plus --keep-runtime-typing
language: system
types: [python]
- repo: local
Expand Down Expand Up @@ -71,6 +71,13 @@ repos:
entry: ./activated.py python tools/chialispp.py .
language: system
pass_filenames: false
- repo: local
hooks:
- id: virtual_project_dependency_cycles
name: Check for dependency cycles in project packages
entry: ./activated.py python chia/util/virtual_project_analysis.py print_cycles --directory chia --config virtual_project.yaml
language: system
pass_filenames: false
- repo: local
hooks:
- id: build mypy.ini
Expand Down Expand Up @@ -99,3 +106,10 @@ repos:
entry: ./activated.py flake8
language: system
types: [python]
- repo: local
hooks:
- id: ruff
name: Ruff
entry: ./activated.py ruff check --fix
language: system
types: [python]
88 changes: 88 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,94 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project does not yet adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
for setuptools_scm/PEP 440 reasons.

## 2.4.4 Chia blockchain 2024-10-15

## What's Changed

### Added

- Build both sdist and wheel for upload to pypi
- Add a `fee` option to `push_transactions`
- Add bech32m options to some key functions
- Add `--valid-at/--expires-at` to all CLI transaction RPC endpoints
- Add TXConfig args to coin commands
- Add missing client endpoints for corresponding Wallet RPC endpoints
- Add version number to every log line

### Changed

- Remove `block_height_list` from `BlockGenerator`
- Display sync percentage in 'chia show -s'
- Make 'chia plotnft -f fingerprint -i wallet_id' output JSON
- make Program.run() and Program.run_with_cost() default to enabling all the most recent features
- Remove soft-fork 4 special cases
- Log the rate at which blocks are added during long sync
- Rename `Spend` to `SpendConditions`
- Remove `Backend*` warning ignores
- Replace `get_flags_for_height_and_constants()` with Rust version
- Refactor `get_puzzle_and_solution_for_coin()` and introduce `get_puzzle_and_solution_for_coin2()`
- Warm up the cache once per batch in `pre_validate_blocks_multiprocessing`
- Cleanup and convert to a protocol for `BlockchainInterface`
- Update `BlockGenerator` type
- Extract coin splitting and combining logic from CLI and move to RPC
- Update long-reorg tests along with the reorg test chains
- Switch mempool TX prevalidation to the Rust version
- Remove `initial_freeze_period` from RPCs
- Introduce new `AugmentedBlockchain` class
- Use smarter coin selection algorithm for DAO wallet `select_coins_for_asset_type`
- Refactor `multiprocess_validation`
- Deduct block overhead from the mempool's maximum block clvm cost limit
- Update to macOS 13 for build and test
- Simplify batch pre validate blocks
- Add a configurable limit to the amount of DIDs that can be automatically added to the users wallet from transfer
- Datalayer: Revert ancestors table schema change from #18100
- Datalayer: separate DAT files in folders by store id
- Datalayer: Reduce level log spam when downloading DAT files
- Datalayer: Limit full file creation when processing subscription generations
- Bump `aiohttp` to `3.10.4`
- Bump `chia_rs` to `0.14.0`
- Bump `chiavdf` to `1.1.6`
- Bump `cryptography` to `43.0.1`
- Bump `dnslib` to `0.9.25`
- Bump `pip` to `24.2`
- Bump `setuptools` to `75.1.0`

### Fixed

- refactor `new_peak_timelord`
- Fixed missing partial count was incorrectly incremented on solo plotNFT farming
- Timelord logging: Updated peak to hex from bytestring
- Source offer confirmed height from original coin state (fixes #18330)
- fix long sync cache
- Fix `request_fee_estimates` (thanks @Yakuhito)
- Fix confusing amount-related CLI help messages
- Fix `raise` on too much decimal precision in CLI
- Remove the coin amount from state layer solution
- Fix `BrokenProcessPool` error for Windows installer blueboxing
- Check to confirm external TXs submitted by wallet
- Correctly set `start_index` in `create_more_puzzle_hashes`
- Use better key resolution logic in derivation commands
- Fix new pool url detection (thanks @felixbrucker)
- Fixed logging for fast bluebox timelord (thanks @thesemaphoreslim)
- remove no-wallet-found traceback from `/dl_owned_singletons` (fixes #18518)
- Fix DID balance reporting, and port DID tests to `WalletTestFramwork`
- Fix object has no attribute code errors
- Fix fee behavior with `chia wallet coins combine`
- Fix install.sh upgrade issue (thanks @wallentx) (fixes #18672)
- fix some comments typos (thanks @pengbanban, @murongshaozong, @linchizhen)

### Known Issues

- The wallet rpc `combine_coins` requires `number_of_coins` to be set explicitly in the request and otherwise will return an error

### Deprecated

- Python 3.8 is deprecated per the Python EOL schedule and this release (2.4.4) will be the last to support Python 3.8

### Removed

- Support for macOS 12 (Monterey)

## 2.4.3 Chia blockchain 2024-08-21

## What's Changed
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ The [black library](https://black.readthedocs.io/en/stable/) is used as an autom
The [flake8 library](https://readthedocs.org/projects/flake8/) helps ensure consistent style.
The [Mypy library](https://mypy.readthedocs.io/en/stable/) is very useful for ensuring objects are of the correct type, so try to always add the type of the return value, and the type of local variables.
The [isort library](https://isort.readthedocs.io) is used to sort, group and validate imports in all python files.
The [pylint library](https://pylint.pycqa.org/en/stable/) is used to further lint all python files.
The [Ruff library](https://docs.astral.sh) is used to further lint all of the python files

If you want verbose logging for tests, edit the `tests/pytest.ini` file.

Expand Down
2 changes: 1 addition & 1 deletion Install.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ if ($null -eq (Get-Command py -ErrorAction SilentlyContinue))
Exit 1
}

$supportedPythonVersions = "3.12", "3.11", "3.10", "3.9", "3.8"
$supportedPythonVersions = "3.12", "3.11", "3.10", "3.9"
if ("$env:INSTALL_PYTHON_VERSION" -ne "")
{
$pythonVersion = $env:INSTALL_PYTHON_VERSION
Expand Down
5 changes: 2 additions & 3 deletions PRETTY_GOOD_PRACTICES.md
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ How about a couple examples.
```python
import json
from dataclasses import dataclass
from typing import Type, TypeVar
from typing import TypeVar


_T_Coin = TypeVar("_T_Coin", bound="Coin")
Expand Down Expand Up @@ -281,7 +281,6 @@ If it is hard to deal with the knock on complaints from mypy triggered by the hi
### Basic hints

```python
from typing import List

def sum_bigger_values(values: List[int], minimum: int) -> int:
return sum(value for value in values if value > minimum)
Expand Down Expand Up @@ -497,7 +496,7 @@ Without writing an implementation, let's see what part of a cache leveraging gen

```python
from dataclasses import dataclass, field
from typing import Dict, Generic, Optional, TypeVar
from typing import Generic, Optional, TypeVar

KT = TypeVar("KT")
VT = TypeVar("VT")
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Chia is a modern cryptocurrency built from scratch, designed to be efficient, de

Please check out the [Chia website][link-chia], the [Intro to Chia][link-intro], and [FAQ][link-faq] for information on this project.

Python 3.8.1+ is required. Make sure your default python version is >=3.8.1 by typing `python3`.
Python 3.9+ is required. Make sure your default python version is >=3.9 by typing `python3`.

If you are behind a NAT, it can be difficult for peers outside your subnet to reach you when they start up. You can enable [UPnP][link-upnp]
on your router or add a NAT (for IPv4 but not IPv6) and firewall rules to allow TCP port 8444 access to your peer.
Expand Down
Loading

0 comments on commit 272b636

Please sign in to comment.