From c31eec351f8cec203f10d87867f3364b3d259f91 Mon Sep 17 00:00:00 2001 From: antazoey Date: Fri, 31 May 2024 14:07:51 -0500 Subject: [PATCH] feat!: Ape 0.8 target (#25) --- .github/workflows/draft.yaml | 2 ++ .github/workflows/test.yaml | 2 +- README.md | 2 +- ape_fantom/__init__.py | 4 ++-- ape_fantom/ecosystem.py | 4 ++-- pyproject.toml | 2 +- setup.py | 5 ++--- tests/test_integration.py | 16 ++++++++-------- 8 files changed, 19 insertions(+), 18 deletions(-) diff --git a/.github/workflows/draft.yaml b/.github/workflows/draft.yaml index 423582b..f136f49 100644 --- a/.github/workflows/draft.yaml +++ b/.github/workflows/draft.yaml @@ -8,6 +8,8 @@ on: jobs: update-draft: runs-on: ubuntu-latest + permissions: + contents: write steps: # Drafts your next Release notes as Pull Requests are merged into "main" - uses: release-drafter/release-drafter@v5 diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index aa36e33..af337dc 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -65,7 +65,7 @@ jobs: # TODO: Replace with macos-latest when works again. # https://github.com/actions/setup-python/issues/808 os: [ubuntu-latest, macos-12] # eventually add `windows-latest` - python-version: [3.8, 3.9, "3.10", "3.11", "3.12"] + python-version: [3.9, "3.10", "3.11", "3.12"] steps: - uses: actions/checkout@v4 diff --git a/README.md b/README.md index 545b416..47e553f 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Ecosystem Plugin for Fantom support in Ape ## Dependencies -- [python3](https://www.python.org/downloads) version 3.8 up to 3.12. +- [python3](https://www.python.org/downloads) version 3.9 up to 3.12. ## Installation diff --git a/ape_fantom/__init__.py b/ape_fantom/__init__.py index a8a4a47..802da04 100644 --- a/ape_fantom/__init__.py +++ b/ape_fantom/__init__.py @@ -1,6 +1,6 @@ from ape import plugins from ape.api.networks import LOCAL_NETWORK_NAME, ForkedNetworkAPI, NetworkAPI, create_network_type -from ape_geth import GethProvider +from ape_node import Node from ape_test import LocalProvider from .ecosystem import NETWORKS, Fantom, FantomConfig @@ -29,6 +29,6 @@ def networks(): @plugins.register(plugins.ProviderPlugin) def providers(): for network_name in NETWORKS: - yield "fantom", network_name, GethProvider + yield "fantom", network_name, Node yield "fantom", LOCAL_NETWORK_NAME, LocalProvider diff --git a/ape_fantom/ecosystem.py b/ape_fantom/ecosystem.py index ec5cfbc..114f6ac 100644 --- a/ape_fantom/ecosystem.py +++ b/ape_fantom/ecosystem.py @@ -1,4 +1,4 @@ -from typing import ClassVar, Dict, Tuple, cast +from typing import ClassVar, cast from ape_ethereum.ecosystem import ( BaseEthereumConfig, @@ -15,7 +15,7 @@ class FantomConfig(BaseEthereumConfig): - NETWORKS: ClassVar[Dict[str, Tuple[int, int]]] = NETWORKS + NETWORKS: ClassVar[dict[str, tuple[int, int]]] = NETWORKS opera: NetworkConfig = create_network_config(block_time=0, required_confirmations=0) testnet: NetworkConfig = create_network_config(block_time=0, required_confirmations=0) diff --git a/pyproject.toml b/pyproject.toml index b3ea5fb..a48964a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,7 +15,7 @@ write_to = "ape_fantom/version.py" [tool.black] line-length = 100 -target-version = ['py38', 'py39', 'py310', 'py311', 'py312'] +target-version = ['py39', 'py310', 'py311', 'py312'] include = '\.pyi?$' [tool.pytest.ini_options] diff --git a/setup.py b/setup.py index f89926a..00f9eff 100644 --- a/setup.py +++ b/setup.py @@ -60,10 +60,10 @@ url="https://github.com/ApeWorX/ape-fantom", include_package_data=True, install_requires=[ - "eth-ape>=0.7.6,<0.8", + "eth-ape>=0.8.1,<0.9", "ethpm-types", # Use same version as eth-ape ], - python_requires=">=3.8,<4", + python_requires=">=3.9,<4", extras_require=extras_require, py_modules=["ape_fantom"], license="Apache-2.0", @@ -79,7 +79,6 @@ "Operating System :: MacOS", "Operating System :: POSIX", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", diff --git a/tests/test_integration.py b/tests/test_integration.py index f8b0848..ef6e8b4 100644 --- a/tests/test_integration.py +++ b/tests/test_integration.py @@ -4,12 +4,12 @@ EXPECTED_OUTPUT = """ fantom +├── local (default) +│ └── test (default) ├── opera -│ └── geth (default) -├── testnet -│ └── geth (default) -└── local (default) - └── test (default) +│ └── node (default) +└── testnet + └── node (default) """.strip() @@ -45,8 +45,8 @@ def assert_rich_text(actual: str, expected: str): def test_networks(runner, cli, fantom): - fantom.opera.set_default_provider("geth") - fantom.testnet.set_default_provider("geth") + fantom.opera.set_default_provider("node") + fantom.testnet.set_default_provider("node") - result = runner.invoke(cli, ["networks", "list"]) + result = runner.invoke(cli, ("networks", "list")) assert_rich_text(result.output, EXPECTED_OUTPUT)