Skip to content

Commit

Permalink
feat!: Ape 0.8 target (#30)
Browse files Browse the repository at this point in the history
  • Loading branch information
antazoey authored May 31, 2024
1 parent d9b671b commit 7a57714
Show file tree
Hide file tree
Showing 8 changed files with 21 additions and 20 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/draft.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Ecosystem Plugin for Arbitrum 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

Expand Down
4 changes: 2 additions & 2 deletions ape_arbitrum/__init__.py
Original file line number Diff line number Diff line change
@@ -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, Arbitrum, ArbitrumConfig
Expand Down Expand Up @@ -29,6 +29,6 @@ def networks():
@plugins.register(plugins.ProviderPlugin)
def providers():
for network_name in NETWORKS:
yield "arbitrum", network_name, GethProvider
yield "arbitrum", network_name, Node

yield "arbitrum", LOCAL_NETWORK_NAME, LocalProvider
8 changes: 4 additions & 4 deletions ape_arbitrum/ecosystem.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import time
from typing import ClassVar, Dict, Tuple, Type, cast
from typing import ClassVar, cast

from ape.api.transactions import ConfirmationsProgressBar, ReceiptAPI, TransactionAPI
from ape.exceptions import ApeException, TransactionError
Expand Down Expand Up @@ -92,7 +92,7 @@ def await_confirmations(self) -> "ReceiptAPI":
def _create_config(
required_confirmations: int = 1,
block_time: int = 1,
cls: Type = NetworkConfig,
cls: type = NetworkConfig,
**kwargs,
) -> NetworkConfig:
return cls(
Expand Down Expand Up @@ -152,7 +152,7 @@ def create_transaction(self, **kwargs) -> TransactionAPI:
tx_data["data"] = b""

# Deduce the transaction type.
transaction_types: Dict[int, Type[TransactionAPI]] = {
transaction_types: dict[int, type[TransactionAPI]] = {
EthTransactionType.STATIC.value: StaticFeeTransaction,
EthTransactionType.DYNAMIC.value: DynamicFeeTransaction,
EthTransactionType.ACCESS_LIST.value: AccessListTransaction,
Expand Down Expand Up @@ -264,7 +264,7 @@ def decode_receipt(self, data: dict) -> ReceiptAPI:
)


def _correct_key(key: str, data: Dict, alt_keys: Tuple[str, ...]) -> Dict:
def _correct_key(key: str, data: dict, alt_keys: tuple[str, ...]) -> dict:
if key in data:
return data

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ write_to = "ape_arbitrum/version.py"

[tool.black]
line-length = 100
target-version = ['py38', 'py39', 'py310', 'py311']
target-version = ['py39', 'py310', 'py311', 'py312']
include = '\.pyi?$'

[tool.pytest.ini_options]
Expand Down
5 changes: 2 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,11 +71,11 @@
url="https://github.com/ApeWorX/ape-arbitrum",
include_package_data=True,
install_requires=[
"eth-ape>=0.7.6,<0.8",
"eth-ape>=0.8.1,<0.9",
"eth-pydantic-types", # Use same version as eth-ape
"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_arbitrum"],
license="Apache-2.0",
Expand All @@ -91,7 +91,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",
Expand Down
16 changes: 8 additions & 8 deletions tests/test_integration.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@

EXPECTED_OUTPUT = """
arbitrum
├── local (default)
│ └── test (default)
├── mainnet
│ └── geth (default)
├── sepolia
│ └── geth (default)
└── local (default)
└── test (default)
│ └── node (default)
└── sepolia
└── node (default)
""".strip()


Expand Down Expand Up @@ -46,8 +46,8 @@ def assert_rich_text(actual: str, expected: str):

def test_networks(runner, cli, arbitrum):
# Do this in case local env changed it.
arbitrum.mainnet.set_default_provider("geth")
arbitrum.sepolia.set_default_provider("geth")
arbitrum.mainnet.set_default_provider("node")
arbitrum.sepolia.set_default_provider("node")

result = runner.invoke(cli, ["networks", "list"])
result = runner.invoke(cli, ("networks", "list"))
assert_rich_text(result.output, EXPECTED_OUTPUT)

0 comments on commit 7a57714

Please sign in to comment.