Skip to content

Commit b9f6c8e

Browse files
authored
Merge pull request #43 from lidofinance/change-log-level
Change log level to debug
2 parents 412933b + fbe9e1f commit b9f6c8e

File tree

7 files changed

+1815
-726
lines changed

7 files changed

+1815
-726
lines changed

.github/workflows/tests.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,16 @@ jobs:
99
steps:
1010
- uses: actions/checkout@v3
1111

12-
- name: Set up Python 3.9
13-
uses: actions/setup-python@v4.5.0
12+
- name: Set up Python 3.11
13+
uses: actions/setup-python@v4
1414
with:
15-
python-version: 3.9
15+
python-version: '3.11'
1616

17-
- uses: Gr1N/setup-poetry@v7
17+
- name: Setup poetry
18+
run: |
19+
curl -sSL https://install.python-poetry.org/ | python - && echo "$HOME/.poetry/bin" >> $GITHUB_PATH
20+
env:
21+
POETRY_VERSION: 1.8.2
1822

1923
- name: Install dependencies
2024
run: |

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@ All notable changes to this project are documented in this file.
55
This changelog format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
# [1.0.0] - 2024-07-29
9+
### Added
10+
- Support for Python 3.11
11+
12+
### Fixed
13+
- All logs are now debug level
14+
- Endpoint addresses removed from logs
15+
816
# [0.6.0] - 2023-03-29
917
### Added
1018
- FallbackProvider.

poetry.lock

Lines changed: 1792 additions & 677 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "web3-multi-provider"
3-
version = "0.6.0"
3+
version = "1.0.0"
44
description = "Web3py provider that makes it easy to switch between different blockchain nodes to make sure application will be be online if main blockchain node will be unavailable."
55
authors = ["Raman <[email protected]>"]
66
license = "MIT License"

tests/test_http_provider.py

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
from web3_multi_provider import MultiProvider
99
from web3_multi_provider.multi_http_provider import (
1010
FallbackProvider,
11-
MultiHTTPProvider,
1211
NoActiveProviderError,
1312
ProtocolNotSupported,
1413
)
@@ -40,11 +39,6 @@ class HttpProviderTestCase(TestCase):
4039
def __inject_fixtures(self, caplog):
4140
self._caplog = caplog
4241

43-
@patch("web3.providers.rpc.make_post_request", side_effect=mocked_requests_get)
44-
def test_one_http_provider_works(self, make_post_request):
45-
# Ignore deprecation warnings
46-
self.one_provider_works(MultiHTTPProvider)
47-
4842
@patch("web3.providers.rpc.make_post_request", side_effect=mocked_requests_get)
4943
def test_one_provider_works(self, make_post_request):
5044
self.one_provider_works(MultiProvider)
@@ -62,12 +56,12 @@ def test_nothing_works(self, make_post_request):
6256

6357
w3 = Web3(provider)
6458

65-
with self._caplog.at_level(logging.INFO):
59+
with self._caplog.at_level(logging.DEBUG):
6660
with self.assertRaises(NoActiveProviderError):
6761
w3.eth.get_block("latest")
6862

6963
# Make sure there is no inf recursion
70-
self.assertEqual(len(self._caplog.records), 3)
64+
self.assertEqual(len(self._caplog.records), 6)
7165

7266
def one_provider_works(self, provider_class):
7367
provider = provider_class(
@@ -87,7 +81,6 @@ def one_provider_works(self, provider_class):
8781
{
8882
"msg": "Provider not responding.",
8983
"error": "Mocked connection error.",
90-
"provider": "http://127.0.0.1:9001",
9184
},
9285
self._caplog.records[2].msg,
9386
)
@@ -96,7 +89,6 @@ def one_provider_works(self, provider_class):
9689
"msg": "Send request using MultiProvider.",
9790
"method": "eth_getBlockByNumber",
9891
"params": "('latest', False)",
99-
"provider": "http://127.0.0.1:9000",
10092
},
10193
self._caplog.records[5].msg,
10294
)
@@ -106,7 +98,6 @@ def one_provider_works(self, provider_class):
10698
"msg": "Send request using MultiProvider.",
10799
"method": "eth_getBlockByNumber",
108100
"params": "('latest', False)",
109-
"provider": "http://127.0.0.1:9000",
110101
},
111102
self._caplog.records[9].msg,
112103
)

web3_multi_provider/__init__.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
from .multi_http_provider import (
22
FallbackProvider,
3-
MultiHTTPProvider,
43
MultiProvider,
54
NoActiveProviderError,
65
ProtocolNotSupported,
76
)
87

98
__all__ = (
109
"FallbackProvider",
11-
"MultiHTTPProvider",
1210
"MultiProvider",
1311
"NoActiveProviderError",
1412
"ProtocolNotSupported",

web3_multi_provider/multi_http_provider.py

Lines changed: 4 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,10 @@ def make_request(self, method: RPCEndpoint, params: Any) -> RPCResponse:
8585
try:
8686
response = provider.make_request(method, params)
8787
except Exception as error: # pylint: disable=W0703
88-
logger.warning(
88+
logger.debug(
8989
{
9090
"msg": "Provider not responding.",
9191
"error": str(error),
92-
"provider": provider.endpoint_uri,
9392
}
9493
)
9594

@@ -103,7 +102,7 @@ def make_request(self, method: RPCEndpoint, params: Any) -> RPCResponse:
103102

104103
if self._last_working_provider_index == self._current_provider_index:
105104
msg = "No active provider available."
106-
logger.error({"msg": msg})
105+
logger.debug({"msg": msg})
107106
raise NoActiveProviderError(msg) from error
108107

109108
return self.make_request(method, params)
@@ -116,11 +115,9 @@ def make_request(self, method: RPCEndpoint, params: Any) -> RPCResponse:
116115
"msg": "Send request using MultiProvider.",
117116
"method": method,
118117
"params": str(params),
119-
"provider": provider.endpoint_uri,
120118
}
121119
)
122120
self._last_working_provider_index = self._current_provider_index
123-
124121
return response
125122

126123

@@ -132,11 +129,10 @@ def make_request(self, method: RPCEndpoint, params: Any) -> RPCResponse:
132129
try:
133130
response = provider.make_request(method, params)
134131
except Exception as error: # pylint: disable=broad-except
135-
logger.warning(
132+
logger.debug(
136133
{
137134
"msg": "Provider not responding.",
138135
"error": str(error),
139-
"provider": provider.endpoint_uri,
140136
}
141137
)
142138
else:
@@ -147,32 +143,9 @@ def make_request(self, method: RPCEndpoint, params: Any) -> RPCResponse:
147143
"msg": "Send request using FallbackProvider.",
148144
"method": method,
149145
"params": str(params),
150-
"provider": provider.endpoint_uri,
151146
}
152147
)
153148
return response
154-
155149
msg = "No active provider available."
156-
logger.error({"msg": msg})
150+
logger.debug({"msg": msg})
157151
raise NoActiveProviderError(msg)
158-
159-
160-
class MultiHTTPProvider(MultiProvider):
161-
"""
162-
Deprecated. Use MultiProvider instead
163-
"""
164-
165-
def __init__(
166-
self,
167-
endpoint_urls: List[Union[URI, str]],
168-
request_kwargs: Optional[Any] = None,
169-
session: Optional[Any] = None,
170-
):
171-
import warnings # pylint: disable=import-outside-toplevel
172-
173-
warnings.warn(
174-
"MultiHTTPProvider is deprecated. Use MultiProvider instead.",
175-
DeprecationWarning,
176-
stacklevel=2,
177-
)
178-
super().__init__(endpoint_urls, request_kwargs, session)

0 commit comments

Comments
 (0)