From ad302dda2e9ccc2c21576f484795a766a8aa582f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 12:57:02 +0100 Subject: [PATCH 1/4] Bump safe-eth-py from 6.0.0b35 to 6.0.0b40 (#452) * Bump safe-eth-py from 6.0.0b35 to 6.0.0b40 Bumps [safe-eth-py](https://github.com/safe-global/safe-eth-py) from 6.0.0b35 to 6.0.0b40. - [Release notes](https://github.com/safe-global/safe-eth-py/releases) - [Commits](https://github.com/safe-global/safe-eth-py/compare/v6.0.0b35...v6.0.0b40) --- updated-dependencies: - dependency-name: safe-eth-py dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * Rename package gnosis -> safe_eth * Update dependencies * Remove python 3.9 from CI --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Uxio Fuentefria <6909403+Uxio0@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- README.md | 3 +-- pyproject.toml | 4 +-- requirements.txt | 2 +- .../operators/hw_wallets/hw_wallet_manager.py | 11 ++++---- .../operators/hw_wallets/ledger_wallet.py | 3 +-- .../operators/hw_wallets/trezor_wallet.py | 3 +-- src/safe_cli/operators/safe_operator.py | 27 +++++++++---------- .../operators/safe_tx_service_operator.py | 19 +++++++------ src/safe_cli/prompt_parser.py | 3 +-- src/safe_cli/safe_addresses.py | 3 +-- src/safe_cli/safe_creator.py | 9 +++---- src/safe_cli/utils.py | 5 ++-- tests/safe_cli_test_case_mixin.py | 5 ++-- tests/test_hw_wallet_manager.py | 5 ++-- tests/test_ledger_wallet.py | 9 +++---- tests/test_safe_addresses.py | 5 ++-- tests/test_safe_cli.py | 3 +-- tests/test_safe_cli_entry_point.py | 11 ++++---- tests/test_safe_creator.py | 3 +-- tests/test_safe_operator.py | 11 ++++---- tests/test_safe_tx_service_operator.py | 9 +++---- tests/test_trezor_wallet.py | 9 +++---- tests/utils.py | 3 +-- 24 files changed, 72 insertions(+), 95 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8355c822..51f2df7f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.9", "3.10", "3.11", "3.12"] + python-version: ["3.10", "3.11", "3.12"] steps: - name: Create Ganache network run: docker network create ganache diff --git a/README.md b/README.md index c5965a7f..ae867f95 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ [![PyPI version](https://badge.fury.io/py/safe-cli.svg)](https://badge.fury.io/py/safe-cli) [![Build Status](https://github.com/safe-global/safe-cli/actions/workflows/ci.yml/badge.svg)](https://github.com/safe-global/safe-cli/actions/workflows/ci.yml) [![Coverage Status](https://coveralls.io/repos/github/safe-global/safe-cli/badge.svg?branch=main)](https://coveralls.io/github/safe-global/safe-cli?branch=main) -![Python 3.9](https://img.shields.io/badge/Python-3.9-blue.svg) ![Python 3.10](https://img.shields.io/badge/Python-3.10-blue.svg) ![Python 3.11](https://img.shields.io/badge/Python-3.11-blue.svg) ![Python 3.12](https://img.shields.io/badge/Python-3.12-blue.svg) @@ -30,7 +29,7 @@ docker run -it safeglobal/safe-cli safe-cli = 3.9 (Python 3.12 is recommended). +**Prerequisite:** [Python](https://www.python.org/downloads/) >= 3.10 (Python 3.12 is recommended). Once Python is installed on your system, run the following command to install Safe CLI: ```bash diff --git a/pyproject.toml b/pyproject.toml index 402d8873..105f7da7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,8 +14,6 @@ classifiers = [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", @@ -27,7 +25,7 @@ dependencies = [ "prompt_toolkit>=3", "pygments>=2", "requests>=2", - "safe-eth-py==6.0.0b35", + "safe-eth-py>=6.0.0b41", "tabulate>=0.8", "typer==0.12.5", ] diff --git a/requirements.txt b/requirements.txt index 9026a5c9..4d5cd4c1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ packaging>=23.1 prompt_toolkit==3.0.47 pygments==2.18.0 requests==2.32.3 -safe-eth-py==6.0.0b35 +safe-eth-py==6.0.0b41 tabulate==0.9.0 trezor==0.13.9 typer==0.12.5 diff --git a/src/safe_cli/operators/hw_wallets/hw_wallet_manager.py b/src/safe_cli/operators/hw_wallets/hw_wallet_manager.py index 06f613a7..884b897f 100644 --- a/src/safe_cli/operators/hw_wallets/hw_wallet_manager.py +++ b/src/safe_cli/operators/hw_wallets/hw_wallet_manager.py @@ -5,16 +5,15 @@ from eth_typing import ChecksumAddress from hexbytes import HexBytes from prompt_toolkit import HTML, print_formatted_text -from web3.types import TxParams, Wei - -from gnosis.eth import TxSpeed -from gnosis.eth.eip712 import eip712_encode, eip712_encode_hash -from gnosis.safe import SafeTx -from gnosis.safe.safe_signature import ( +from safe_eth.eth import TxSpeed +from safe_eth.eth.eip712 import eip712_encode, eip712_encode_hash +from safe_eth.safe import SafeTx +from safe_eth.safe.safe_signature import ( SafeSignature, SafeSignatureEOA, SafeSignatureEthSign, ) +from web3.types import TxParams, Wei from .hw_wallet import HwWallet diff --git a/src/safe_cli/operators/hw_wallets/ledger_wallet.py b/src/safe_cli/operators/hw_wallets/ledger_wallet.py index fd527dfb..363d20c7 100644 --- a/src/safe_cli/operators/hw_wallets/ledger_wallet.py +++ b/src/safe_cli/operators/hw_wallets/ledger_wallet.py @@ -6,10 +6,9 @@ from ledgereth import create_transaction, sign_message, sign_typed_data_draft from ledgereth.accounts import get_account_by_path from ledgereth.comms import init_dongle +from safe_eth.safe.signatures import signature_to_bytes from web3.types import TxParams -from gnosis.safe.signatures import signature_to_bytes - from .hw_wallet import HwWallet from .ledger_exceptions import raise_ledger_exception_as_hw_wallet_exception diff --git a/src/safe_cli/operators/hw_wallets/trezor_wallet.py b/src/safe_cli/operators/hw_wallets/trezor_wallet.py index 2b1cfb22..8672d07d 100644 --- a/src/safe_cli/operators/hw_wallets/trezor_wallet.py +++ b/src/safe_cli/operators/hw_wallets/trezor_wallet.py @@ -3,6 +3,7 @@ import rlp from eth_typing import ChecksumAddress from hexbytes import HexBytes +from safe_eth.safe.signatures import signature_split, signature_to_bytes from trezorlib import tools from trezorlib.client import TrezorClient, get_default_client from trezorlib.ethereum import ( @@ -15,8 +16,6 @@ from trezorlib.ui import ClickUI from web3.types import TxParams -from gnosis.safe.signatures import signature_split, signature_to_bytes - from .hw_wallet import HwWallet from .trezor_exceptions import raise_trezor_exception_as_hw_wallet_exception diff --git a/src/safe_cli/operators/safe_operator.py b/src/safe_cli/operators/safe_operator.py index f3d14691..5765a1e3 100644 --- a/src/safe_cli/operators/safe_operator.py +++ b/src/safe_cli/operators/safe_operator.py @@ -12,30 +12,29 @@ from hexbytes import HexBytes from packaging import version as semantic_version from prompt_toolkit import HTML, print_formatted_text -from web3 import Web3 -from web3.contract import Contract -from web3.exceptions import BadFunctionCallOutput - -from gnosis.eth import ( +from safe_eth.eth import ( EthereumClient, EthereumNetwork, EthereumNetworkNotSupported, TxSpeed, ) -from gnosis.eth.clients import EtherscanClient, EtherscanClientConfigurationProblem -from gnosis.eth.constants import NULL_ADDRESS, SENTINEL_ADDRESS -from gnosis.eth.contracts import ( +from safe_eth.eth.clients import EtherscanClient, EtherscanClientConfigurationProblem +from safe_eth.eth.constants import NULL_ADDRESS, SENTINEL_ADDRESS +from safe_eth.eth.contracts import ( get_erc20_contract, get_erc721_contract, get_safe_V1_1_1_contract, get_sign_message_lib_contract, ) -from gnosis.eth.eip712 import eip712_encode -from gnosis.eth.utils import get_empty_tx_params -from gnosis.safe import InvalidInternalTx, Safe, SafeOperationEnum, SafeTx -from gnosis.safe.api import TransactionServiceApi -from gnosis.safe.multi_send import MultiSend, MultiSendOperation, MultiSendTx -from gnosis.safe.safe_deployments import safe_deployments +from safe_eth.eth.eip712 import eip712_encode +from safe_eth.eth.utils import get_empty_tx_params +from safe_eth.safe import InvalidInternalTx, Safe, SafeOperationEnum, SafeTx +from safe_eth.safe.api import TransactionServiceApi +from safe_eth.safe.multi_send import MultiSend, MultiSendOperation, MultiSendTx +from safe_eth.safe.safe_deployments import safe_deployments +from web3 import Web3 +from web3.contract import Contract +from web3.exceptions import BadFunctionCallOutput from safe_cli.ethereum_hd_wallet import get_account_from_words from safe_cli.operators.exceptions import ( diff --git a/src/safe_cli/operators/safe_tx_service_operator.py b/src/safe_cli/operators/safe_tx_service_operator.py index f9ec36fe..8a466fae 100644 --- a/src/safe_cli/operators/safe_tx_service_operator.py +++ b/src/safe_cli/operators/safe_tx_service_operator.py @@ -8,18 +8,17 @@ from eth_typing import ChecksumAddress from hexbytes import HexBytes from prompt_toolkit import HTML, print_formatted_text -from tabulate import tabulate - -from gnosis.eth.contracts import get_erc20_contract -from gnosis.eth.eip712 import eip712_encode_hash -from gnosis.safe import SafeOperationEnum, SafeTx -from gnosis.safe.api import SafeAPIException -from gnosis.safe.api.transaction_service_api.transaction_service_messages import ( +from safe_eth.eth.contracts import get_erc20_contract +from safe_eth.eth.eip712 import eip712_encode_hash +from safe_eth.safe import SafeOperationEnum, SafeTx +from safe_eth.safe.api import SafeAPIException +from safe_eth.safe.api.transaction_service_api.transaction_service_messages import ( get_remove_transaction_message, ) -from gnosis.safe.multi_send import MultiSend, MultiSendOperation, MultiSendTx -from gnosis.safe.safe_signature import SafeSignature -from gnosis.safe.signatures import signature_to_bytes +from safe_eth.safe.multi_send import MultiSend, MultiSendOperation, MultiSendTx +from safe_eth.safe.safe_signature import SafeSignature +from safe_eth.safe.signatures import signature_to_bytes +from tabulate import tabulate from ..utils import get_input, yes_or_no_question from . import SafeServiceNotAvailable diff --git a/src/safe_cli/prompt_parser.py b/src/safe_cli/prompt_parser.py index d3324761..ff591cfc 100644 --- a/src/safe_cli/prompt_parser.py +++ b/src/safe_cli/prompt_parser.py @@ -3,8 +3,7 @@ from prompt_toolkit import HTML, print_formatted_text from prompt_toolkit.formatted_text import html - -from gnosis.safe.api import SafeAPIException +from safe_eth.safe.api import SafeAPIException from .argparse_validators import ( check_ethereum_address, diff --git a/src/safe_cli/safe_addresses.py b/src/safe_cli/safe_addresses.py index d26de25e..d180c506 100644 --- a/src/safe_cli/safe_addresses.py +++ b/src/safe_cli/safe_addresses.py @@ -8,8 +8,7 @@ from typing import Sequence from eth_typing import ChecksumAddress - -from gnosis.eth import EthereumClient +from safe_eth.eth import EthereumClient def _get_valid_contract( diff --git a/src/safe_cli/safe_creator.py b/src/safe_cli/safe_creator.py index 5f177081..757584fb 100644 --- a/src/safe_cli/safe_creator.py +++ b/src/safe_cli/safe_creator.py @@ -10,11 +10,10 @@ from eth_typing import URI from hexbytes import HexBytes from prompt_toolkit import print_formatted_text - -from gnosis.eth import EthereumClient, EthereumTxSent -from gnosis.eth.constants import NULL_ADDRESS -from gnosis.eth.contracts import get_safe_V1_4_1_contract -from gnosis.safe import ProxyFactory, Safe +from safe_eth.eth import EthereumClient, EthereumTxSent +from safe_eth.eth.constants import NULL_ADDRESS +from safe_eth.eth.contracts import get_safe_V1_4_1_contract +from safe_eth.safe import ProxyFactory, Safe from safe_cli.safe_addresses import ( get_default_fallback_handler_address, diff --git a/src/safe_cli/utils.py b/src/safe_cli/utils.py index cceb517d..83a0a2ac 100644 --- a/src/safe_cli/utils.py +++ b/src/safe_cli/utils.py @@ -3,9 +3,8 @@ from eth_typing import ChecksumAddress from prompt_toolkit import HTML, print_formatted_text - -from gnosis.eth import EthereumClient -from gnosis.safe.api import TransactionServiceApi +from safe_eth.eth import EthereumClient +from safe_eth.safe.api import TransactionServiceApi def get_erc_20_list( diff --git a/tests/safe_cli_test_case_mixin.py b/tests/safe_cli_test_case_mixin.py index f0f71568..62817b03 100644 --- a/tests/safe_cli_test_case_mixin.py +++ b/tests/safe_cli_test_case_mixin.py @@ -1,9 +1,8 @@ from unittest import mock from eth_account import Account - -from gnosis.eth import EthereumClient, EthereumNetwork -from gnosis.safe.tests.safe_test_case import SafeTestCaseMixin +from safe_eth.eth import EthereumClient, EthereumNetwork +from safe_eth.safe.tests.safe_test_case import SafeTestCaseMixin from safe_cli.operators import SafeOperator, SafeOperatorMode, SafeTxServiceOperator diff --git a/tests/test_hw_wallet_manager.py b/tests/test_hw_wallet_manager.py index e054366a..998d5fd1 100644 --- a/tests/test_hw_wallet_manager.py +++ b/tests/test_hw_wallet_manager.py @@ -6,9 +6,8 @@ from hexbytes import HexBytes from ledgerblue.Dongle import Dongle from ledgereth import SignedTransaction - -from gnosis.safe import SafeTx -from gnosis.safe.tests.safe_test_case import SafeTestCaseMixin +from safe_eth.safe import SafeTx +from safe_eth.safe.tests.safe_test_case import SafeTestCaseMixin from safe_cli.operators.hw_wallets.hw_wallet_manager import ( HwWalletManager, diff --git a/tests/test_ledger_wallet.py b/tests/test_ledger_wallet.py index d571d3c6..92d042ff 100644 --- a/tests/test_ledger_wallet.py +++ b/tests/test_ledger_wallet.py @@ -13,11 +13,10 @@ LedgerNotFound, ) from ledgereth.objects import LedgerAccount, SignedMessage, SignedTransaction - -from gnosis.eth.eip712 import eip712_encode -from gnosis.safe import SafeTx -from gnosis.safe.signatures import signature_split -from gnosis.safe.tests.safe_test_case import SafeTestCaseMixin +from safe_eth.eth.eip712 import eip712_encode +from safe_eth.safe import SafeTx +from safe_eth.safe.signatures import signature_split +from safe_eth.safe.tests.safe_test_case import SafeTestCaseMixin from safe_cli.operators.exceptions import HardwareWalletException from safe_cli.operators.hw_wallets.ledger_wallet import LedgerWallet diff --git a/tests/test_safe_addresses.py b/tests/test_safe_addresses.py index 57f2672e..0b7bb8e5 100644 --- a/tests/test_safe_addresses.py +++ b/tests/test_safe_addresses.py @@ -1,9 +1,8 @@ import unittest from eth_account import Account - -from gnosis.eth import EthereumClient -from gnosis.eth.tests.utils import just_test_if_mainnet_node +from safe_eth.eth import EthereumClient +from safe_eth.eth.tests.utils import just_test_if_mainnet_node from safe_cli.safe_addresses import ( _get_valid_contract, diff --git a/tests/test_safe_cli.py b/tests/test_safe_cli.py index 2bb0cd16..3376cf60 100644 --- a/tests/test_safe_cli.py +++ b/tests/test_safe_cli.py @@ -1,10 +1,9 @@ import unittest from eth_account import Account +from safe_eth.safe import Safe from web3 import Web3 -from gnosis.safe import Safe - from safe_cli.operators import SafeCliTerminationException from safe_cli.operators.safe_operator import SafeOperator from safe_cli.prompt_parser import PromptParser diff --git a/tests/test_safe_cli_entry_point.py b/tests/test_safe_cli_entry_point.py index 13af3a94..587949fd 100644 --- a/tests/test_safe_cli_entry_point.py +++ b/tests/test_safe_cli_entry_point.py @@ -6,14 +6,13 @@ import pytest from eth_account import Account from eth_typing import HexStr +from safe_eth.eth import EthereumClient +from safe_eth.eth.constants import NULL_ADDRESS +from safe_eth.safe import Safe +from safe_eth.safe.api import TransactionServiceApi +from safe_eth.safe.safe import SafeInfo from typer.testing import CliRunner -from gnosis.eth import EthereumClient -from gnosis.eth.constants import NULL_ADDRESS -from gnosis.safe import Safe -from gnosis.safe.api import TransactionServiceApi -from gnosis.safe.safe import SafeInfo - from safe_cli import VERSION from safe_cli.main import app from safe_cli.operators.exceptions import ( diff --git a/tests/test_safe_creator.py b/tests/test_safe_creator.py index 99401be0..755f5b5e 100644 --- a/tests/test_safe_creator.py +++ b/tests/test_safe_creator.py @@ -4,8 +4,7 @@ from unittest.mock import MagicMock from eth_account import Account - -from gnosis.safe import Safe +from safe_eth.safe import Safe from safe_cli.safe_creator import main diff --git a/tests/test_safe_operator.py b/tests/test_safe_operator.py index 2575155a..71c47bee 100644 --- a/tests/test_safe_operator.py +++ b/tests/test_safe_operator.py @@ -8,14 +8,13 @@ from eth_typing import ChecksumAddress from ledgerblue.Dongle import Dongle from ledgereth.objects import LedgerAccount +from safe_eth.eth import EthereumClient +from safe_eth.eth.eip712 import eip712_encode +from safe_eth.safe import Safe +from safe_eth.safe.multi_send import MultiSend from web3 import Web3 from web3.types import Wei -from gnosis.eth import EthereumClient -from gnosis.eth.eip712 import eip712_encode -from gnosis.safe import Safe -from gnosis.safe.multi_send import MultiSend - from safe_cli.contracts import safe_to_l2_migration from safe_cli.operators.exceptions import ( AccountNotLoadedException, @@ -64,7 +63,7 @@ def test_setup_operator(self): self.assertEqual(len(safe.retrieve_owners()), number_owners) @mock.patch( - "gnosis.safe.Safe.contract", new_callable=mock.PropertyMock, return_value=None + "safe_eth.safe.Safe.contract", new_callable=mock.PropertyMock, return_value=None ) def test_load_cli_owner(self, get_contract_mock: MagicMock): random_address = Account.create().address diff --git a/tests/test_safe_tx_service_operator.py b/tests/test_safe_tx_service_operator.py index ce3a7535..68bf405b 100644 --- a/tests/test_safe_tx_service_operator.py +++ b/tests/test_safe_tx_service_operator.py @@ -5,12 +5,11 @@ from eth_account import Account from hexbytes import HexBytes from ledgereth.objects import LedgerAccount +from safe_eth.eth import EthereumClient +from safe_eth.safe import SafeTx +from safe_eth.safe.api import SafeAPIException, TransactionServiceApi from web3 import Web3 -from gnosis.eth import EthereumClient -from gnosis.safe import SafeTx -from gnosis.safe.api import SafeAPIException, TransactionServiceApi - from safe_cli.operators import SafeOperatorMode, SafeTxServiceOperator from .mocks.balances_mock import balances_mock @@ -122,7 +121,7 @@ def test_remove_delegate(self, remove_delegate_mock: MagicMock): @mock.patch.object(TransactionServiceApi, "delete_transaction", return_value=None) @mock.patch.object(TransactionServiceApi, "get_safe_transaction") @mock.patch( - "gnosis.safe.api.transaction_service_api.transaction_service_messages.get_totp", + "safe_eth.safe.api.transaction_service_api.transaction_service_messages.get_totp", return_value=8365, ) def test_remove_transaction( diff --git a/tests/test_trezor_wallet.py b/tests/test_trezor_wallet.py index a3132269..8a782d43 100644 --- a/tests/test_trezor_wallet.py +++ b/tests/test_trezor_wallet.py @@ -5,17 +5,16 @@ from eth_account import Account from hexbytes import HexBytes +from safe_eth.eth.eip712 import eip712_encode +from safe_eth.safe import SafeTx +from safe_eth.safe.signatures import signature_split, signature_to_bytes +from safe_eth.safe.tests.safe_test_case import SafeTestCaseMixin from trezorlib.client import TrezorClient from trezorlib.exceptions import Cancelled, OutdatedFirmwareError, PinException from trezorlib.messages import EthereumTypedDataSignature from trezorlib.transport import TransportException from trezorlib.ui import ClickUI -from gnosis.eth.eip712 import eip712_encode -from gnosis.safe import SafeTx -from gnosis.safe.signatures import signature_split, signature_to_bytes -from gnosis.safe.tests.safe_test_case import SafeTestCaseMixin - from safe_cli.operators.exceptions import HardwareWalletException from safe_cli.operators.hw_wallets.trezor_wallet import TrezorWallet diff --git a/tests/utils.py b/tests/utils.py index eb891079..c45412b8 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -1,6 +1,5 @@ from eth_account.signers.local import LocalAccount - -from gnosis.eth.tests.utils import deploy_erc20, send_tx +from safe_eth.eth.tests.utils import deploy_erc20, send_tx from safe_cli.operators import SafeOperator From 04ae60213326e2bcabe7b41ff955f5905564a6f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ux=C3=ADo?= Date: Mon, 28 Oct 2024 13:05:48 +0100 Subject: [PATCH 2/4] Set version 1.4.0 --- src/safe_cli/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/safe_cli/__init__.py b/src/safe_cli/__init__.py index 7b49cf1d..af63e4ae 100644 --- a/src/safe_cli/__init__.py +++ b/src/safe_cli/__init__.py @@ -1 +1 @@ -VERSION = "1.3.0" +VERSION = "1.4.0" From ea77e85ace25f1234e6b2833772cffe46ff72e69 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 13:38:40 +0000 Subject: [PATCH 3/4] Bump prompt-toolkit from 3.0.47 to 3.0.48 Bumps [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) from 3.0.47 to 3.0.48. - [Release notes](https://github.com/prompt-toolkit/python-prompt-toolkit/releases) - [Changelog](https://github.com/prompt-toolkit/python-prompt-toolkit/blob/master/CHANGELOG) - [Commits](https://github.com/prompt-toolkit/python-prompt-toolkit/compare/3.0.47...3.0.48) --- updated-dependencies: - dependency-name: prompt-toolkit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 4d5cd4c1..19303729 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,7 +3,7 @@ colorama==0.4.6 hexbytes==0.3.1 ledgereth==0.9.1 packaging>=23.1 -prompt_toolkit==3.0.47 +prompt_toolkit==3.0.48 pygments==2.18.0 requests==2.32.3 safe-eth-py==6.0.0b41 From ee8314622f5865728861a864bbb4fa621425e4ca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 13:38:35 +0000 Subject: [PATCH 4/4] Bump coverage from 7.6.3 to 7.6.4 Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.6.3 to 7.6.4. - [Release notes](https://github.com/nedbat/coveragepy/releases) - [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst) - [Commits](https://github.com/nedbat/coveragepy/compare/7.6.3...7.6.4) --- updated-dependencies: - dependency-name: coverage dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- requirements-test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-test.txt b/requirements-test.txt index 70105489..3533e53a 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1,5 +1,5 @@ -r requirements.txt -coverage==7.6.3 +coverage==7.6.4 flake8==7.1.1 pytest==8.3.3 pytest-sugar==1.0.0