olas-operate-middleware 0.10.11__py3-none-any.whl → 0.10.13__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {olas_operate_middleware-0.10.11.dist-info → olas_operate_middleware-0.10.13.dist-info}/METADATA +3 -3
- {olas_operate_middleware-0.10.11.dist-info → olas_operate_middleware-0.10.13.dist-info}/RECORD +11 -11
- operate/cli.py +10 -4
- operate/constants.py +1 -0
- operate/ledger/__init__.py +2 -2
- operate/services/health_checker.py +5 -3
- operate/services/manage.py +1 -1
- operate/services/service.py +3 -2
- {olas_operate_middleware-0.10.11.dist-info → olas_operate_middleware-0.10.13.dist-info}/LICENSE +0 -0
- {olas_operate_middleware-0.10.11.dist-info → olas_operate_middleware-0.10.13.dist-info}/WHEEL +0 -0
- {olas_operate_middleware-0.10.11.dist-info → olas_operate_middleware-0.10.13.dist-info}/entry_points.txt +0 -0
{olas_operate_middleware-0.10.11.dist-info → olas_operate_middleware-0.10.13.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: olas-operate-middleware
|
|
3
|
-
Version: 0.10.
|
|
3
|
+
Version: 0.10.13
|
|
4
4
|
Summary:
|
|
5
5
|
Author: David Vilela
|
|
6
6
|
Author-email: dvilelaf@gmail.com
|
|
@@ -15,14 +15,14 @@ Requires-Dist: clea (==0.1.0rc4)
|
|
|
15
15
|
Requires-Dist: cytoolz (==0.12.3)
|
|
16
16
|
Requires-Dist: deepdiff (>=8.0.1,<9.0.0)
|
|
17
17
|
Requires-Dist: docker (==6.1.2)
|
|
18
|
-
Requires-Dist: eth-abi (==
|
|
18
|
+
Requires-Dist: eth-abi (==4.0.0)
|
|
19
19
|
Requires-Dist: eth-account (==0.8.0)
|
|
20
20
|
Requires-Dist: eth-hash (==0.7.0)
|
|
21
21
|
Requires-Dist: eth-keyfile (==0.6.1)
|
|
22
22
|
Requires-Dist: eth-keys (==0.4.0)
|
|
23
23
|
Requires-Dist: eth-rlp (==0.3.0)
|
|
24
24
|
Requires-Dist: eth-typing (==3.5.2)
|
|
25
|
-
Requires-Dist: eth-utils (==2.
|
|
25
|
+
Requires-Dist: eth-utils (==2.2.0)
|
|
26
26
|
Requires-Dist: fastapi (==0.110.3)
|
|
27
27
|
Requires-Dist: frozenlist (==1.4.1)
|
|
28
28
|
Requires-Dist: halo (==0.0.31)
|
{olas_operate_middleware-0.10.11.dist-info → olas_operate_middleware-0.10.13.dist-info}/RECORD
RENAMED
|
@@ -6,8 +6,8 @@ operate/bridge/providers/lifi_provider.py,sha256=FpAlBAA_gOt-oOHKhGaOQhhTZIL-hgY
|
|
|
6
6
|
operate/bridge/providers/native_bridge_provider.py,sha256=gG8bSyxUoAVEF6_J9tn1qKRv1PnXuMJdMwUAVJ4GJz8,24647
|
|
7
7
|
operate/bridge/providers/provider.py,sha256=i54RL7m4wMSADM_D_V_quQump_ipPTmByUc-c-AOLPQ,19687
|
|
8
8
|
operate/bridge/providers/relay_provider.py,sha256=L7D-PKepsuBadarJmrNneZk0bsrh88u05uD6_2MSss4,17341
|
|
9
|
-
operate/cli.py,sha256=
|
|
10
|
-
operate/constants.py,sha256=
|
|
9
|
+
operate/cli.py,sha256=J5k9RGX-VH2aLMJ6N8iut2hSlwTdKF2VJksLHkKZ-SA,56012
|
|
10
|
+
operate/constants.py,sha256=p_kYu4YyMnoZKHVrhhSjJlCCjWxRdSIzWfvQQeO8Ud4,3030
|
|
11
11
|
operate/data/README.md,sha256=jGPyZTvg2LCGdllvmYxmFMkkkiXb6YWatbqIkcX3kv4,879
|
|
12
12
|
operate/data/__init__.py,sha256=ttC51Yqk9c4ehpIgs1Qbe7aJvzkrbbdZ1ClaCxJYByE,864
|
|
13
13
|
operate/data/contracts/__init__.py,sha256=_th54_WvL0ibGy-b6St0Ne9DX-fyjsh-tNOKDn-cWrg,809
|
|
@@ -58,7 +58,7 @@ operate/data/contracts/uniswap_v2_erc20/contract.yaml,sha256=XUdz-XtKtmZgLfItbO8
|
|
|
58
58
|
operate/data/contracts/uniswap_v2_erc20/tests/__init__.py,sha256=3Arw8dsCsJz6hVOl0t9UjFASHXbV9yp3hw6x4HqgXpU,847
|
|
59
59
|
operate/data/contracts/uniswap_v2_erc20/tests/test_contract.py,sha256=FzZbw9OTcr_yvjOXpk9YcO-K40eyDARyybcfSHDg2Ps,13392
|
|
60
60
|
operate/keys.py,sha256=mPZ2KZujPjHZ1RNVD2vkLzK_3q6J32o9q0WCB6Raxs4,5237
|
|
61
|
-
operate/ledger/__init__.py,sha256=
|
|
61
|
+
operate/ledger/__init__.py,sha256=hGTrWaPBRCodIFYUKVzfx_t_kpDa7SYyFjat8OhNRqA,3026
|
|
62
62
|
operate/ledger/profiles.py,sha256=LaYPyz-1Cy-KRRuXk60W0ZXQJ2cwoWmDxYrL_psIdKo,11993
|
|
63
63
|
operate/migration.py,sha256=mh921s8FG48XMfDu63ojrdhU7j_RZsdl5E2BvxsbkWE,16937
|
|
64
64
|
operate/operate_http/__init__.py,sha256=dxCIVSUos23M4R-PFZZG6k5QrOlEiK0SxhCYSFNxh7U,4711
|
|
@@ -78,10 +78,10 @@ operate/resource.py,sha256=E59oIVqf6B6nN4LTmf_o2iCgLFAogTLPjm_cK6kMVxg,6305
|
|
|
78
78
|
operate/services/__init__.py,sha256=isrThS-Ccu5Sc15JZgkN4uTAVaSg-NwUUSDeTyJEqLk,855
|
|
79
79
|
operate/services/agent_runner.py,sha256=6tJePUJmlRxlIugT2fDaCJHSrQlDnl1t9pbg3-7EmCQ,7560
|
|
80
80
|
operate/services/deployment_runner.py,sha256=Su73o7cdH6fkQfj468K77J04a_TWiokJwbMyVQ25xko,27067
|
|
81
|
-
operate/services/health_checker.py,sha256=
|
|
82
|
-
operate/services/manage.py,sha256=
|
|
81
|
+
operate/services/health_checker.py,sha256=MuGZ0pQ7zyJVbNU9FJR5gR8zTE7z7kCH1h5Ampv9IC0,9837
|
|
82
|
+
operate/services/manage.py,sha256=XzT9y29x_3kaHEwziIP6uDoKxtsmufwSiwdQP3bJUy8,118147
|
|
83
83
|
operate/services/protocol.py,sha256=FoJmHz5nukI01-VYtReMsIl3JT5RgZZSLX-mf9EXQ90,62903
|
|
84
|
-
operate/services/service.py,sha256=
|
|
84
|
+
operate/services/service.py,sha256=1gjBu3yzwFKX54xEeyRZ_NzRjuYk_gpfWzS8JWTQ2xs,39319
|
|
85
85
|
operate/services/utils/__init__.py,sha256=TvioaZ1mfTRUSCtrQoLNAp4WMVXyqEJqFJM4PxSQCRU,24
|
|
86
86
|
operate/services/utils/mech.py,sha256=W2x4dqodivNKXjWU-Brp40QhoUHsIMyNAO7-caMoR0Q,3821
|
|
87
87
|
operate/services/utils/tendermint.py,sha256=3h9nDb2Z89T0RwUr_AaVjqtymQmsu3u6DAVCfL_k1U0,25591
|
|
@@ -91,8 +91,8 @@ operate/utils/ssl.py,sha256=O5DrDoZD4T4qQuHP8GLwWUVxQ-1qXeefGp6uDJiF2lM,4308
|
|
|
91
91
|
operate/wallet/__init__.py,sha256=NGiozD3XhvkBi7_FaOWQ8x1thZPK4uGpokJaeDY_o2w,813
|
|
92
92
|
operate/wallet/master.py,sha256=jLFLcRgO6ADok2DigpK59PFJ4mnc_0H9a4RRioYzlvw,30811
|
|
93
93
|
operate/wallet/wallet_recovery_manager.py,sha256=sXEZyvFMePxQKf9NJg4HT90mPg4-7ZcTbvggMnKKzhA,7795
|
|
94
|
-
olas_operate_middleware-0.10.
|
|
95
|
-
olas_operate_middleware-0.10.
|
|
96
|
-
olas_operate_middleware-0.10.
|
|
97
|
-
olas_operate_middleware-0.10.
|
|
98
|
-
olas_operate_middleware-0.10.
|
|
94
|
+
olas_operate_middleware-0.10.13.dist-info/LICENSE,sha256=mdBDB-mWKV5Cz4ejBzBiKqan6Z8zVLAh9xwM64O2FW4,11339
|
|
95
|
+
olas_operate_middleware-0.10.13.dist-info/METADATA,sha256=EmIBE2jBrbkVwIrf9EzjUuq4gIDw3htcxDRU-AISWLY,2036
|
|
96
|
+
olas_operate_middleware-0.10.13.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
97
|
+
olas_operate_middleware-0.10.13.dist-info/entry_points.txt,sha256=dM1g2I7ODApKQFcgl5J4NGA7pfBTo6qsUTXM-j2OLlw,44
|
|
98
|
+
olas_operate_middleware-0.10.13.dist-info/RECORD,,
|
operate/cli.py
CHANGED
|
@@ -1325,6 +1325,7 @@ def _daemon(
|
|
|
1325
1325
|
{
|
|
1326
1326
|
"ssl_keyfile": ssl_keyfile,
|
|
1327
1327
|
"ssl_certfile": ssl_certfile,
|
|
1328
|
+
"ssl_version": 2,
|
|
1328
1329
|
}
|
|
1329
1330
|
)
|
|
1330
1331
|
|
|
@@ -1333,10 +1334,15 @@ def _daemon(
|
|
|
1333
1334
|
url = f"http{'s' if ssl_keyfile and ssl_certfile else ''}://{host}:{port}/shutdown"
|
|
1334
1335
|
logger.info(f"trying to stop previous instance with {url}")
|
|
1335
1336
|
try:
|
|
1336
|
-
requests.get(
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1337
|
+
requests.get(
|
|
1338
|
+
f"https://{host}:{port}/shutdown", timeout=3, verify=False # nosec
|
|
1339
|
+
)
|
|
1340
|
+
except requests.exceptions.SSLError:
|
|
1341
|
+
logger.warning("SSL failed, trying HTTP fallback...")
|
|
1342
|
+
try:
|
|
1343
|
+
requests.get(f"http://{host}:{port}/shutdown", timeout=3)
|
|
1344
|
+
except Exception: # pylint: disable=broad-except
|
|
1345
|
+
logger.exception("Failed to stop previous instance")
|
|
1340
1346
|
|
|
1341
1347
|
server = Server(Config(**config_kwargs))
|
|
1342
1348
|
app._server = server # pylint: disable=protected-access
|
operate/constants.py
CHANGED
|
@@ -32,6 +32,7 @@ DEPLOYMENT_DIR = "deployment"
|
|
|
32
32
|
DEPLOYMENT_JSON = "deployment.json"
|
|
33
33
|
CONFIG_JSON = "config.json"
|
|
34
34
|
USER_JSON = "user.json"
|
|
35
|
+
HEALTHCHECK_JSON = "healthcheck.json"
|
|
35
36
|
|
|
36
37
|
AGENT_PERSISTENT_STORAGE_DIR = "persistent_data"
|
|
37
38
|
AGENT_PERSISTENT_STORAGE_ENV_VAR = "STORE_PATH"
|
operate/ledger/__init__.py
CHANGED
|
@@ -40,8 +40,8 @@ ARBITRUM_ONE_RPC = os.environ.get("ARBITRUM_ONE_RPC", "https://arb1.arbitrum.io/
|
|
|
40
40
|
BASE_RPC = os.environ.get("BASE_RPC", "https://mainnet.base.org")
|
|
41
41
|
CELO_RPC = os.environ.get("CELO_RPC", "https://forno.celo.org")
|
|
42
42
|
ETHEREUM_RPC = os.environ.get("ETHEREUM_RPC", "https://ethereum.publicnode.com")
|
|
43
|
-
GNOSIS_RPC = os.environ.get("GNOSIS_RPC", "https://rpc
|
|
44
|
-
MODE_RPC = os.environ.get("MODE_RPC", "https://mainnet.mode.network
|
|
43
|
+
GNOSIS_RPC = os.environ.get("GNOSIS_RPC", "https://gnosis-rpc.publicnode.com")
|
|
44
|
+
MODE_RPC = os.environ.get("MODE_RPC", "https://mainnet.mode.network")
|
|
45
45
|
OPTIMISM_RPC = os.environ.get("OPTIMISM_RPC", "https://mainnet.optimism.io")
|
|
46
46
|
POLYGON_RPC = os.environ.get("POLYGON_RPC", "https://polygon-rpc.com")
|
|
47
47
|
SOLANA_RPC = os.environ.get("SOLANA_RPC", "https://api.mainnet-beta.solana.com")
|
|
@@ -29,7 +29,7 @@ from traceback import print_exc
|
|
|
29
29
|
|
|
30
30
|
import aiohttp # type: ignore
|
|
31
31
|
|
|
32
|
-
from operate.constants import HEALTH_CHECK_URL
|
|
32
|
+
from operate.constants import HEALTHCHECK_JSON, HEALTH_CHECK_URL
|
|
33
33
|
from operate.services.manage import ServiceManager # type: ignore
|
|
34
34
|
|
|
35
35
|
|
|
@@ -107,12 +107,14 @@ class HealthChecker:
|
|
|
107
107
|
response_json = await resp.json()
|
|
108
108
|
|
|
109
109
|
if service_path:
|
|
110
|
-
healthcheck_json_path = service_path /
|
|
110
|
+
healthcheck_json_path = service_path / HEALTHCHECK_JSON
|
|
111
111
|
healthcheck_json_path.write_text(
|
|
112
112
|
json.dumps(response_json, indent=2), encoding="utf-8"
|
|
113
113
|
)
|
|
114
114
|
|
|
115
|
-
return response_json.get(
|
|
115
|
+
return response_json.get(
|
|
116
|
+
"is_healthy", response_json.get("is_transitioning_fast", False)
|
|
117
|
+
) # TODO: remove is_transitioning_fast after all the services start reporting is_healthy
|
|
116
118
|
except Exception as e: # pylint: disable=broad-except
|
|
117
119
|
self.logger.error(
|
|
118
120
|
f"[HEALTH_CHECKER] error {e}. set not healthy!", exc_info=True
|
operate/services/manage.py
CHANGED
|
@@ -1267,7 +1267,7 @@ class ServiceManager:
|
|
|
1267
1267
|
chain=chain,
|
|
1268
1268
|
staking_program_id=current_staking_program,
|
|
1269
1269
|
)
|
|
1270
|
-
|
|
1270
|
+
elif is_staked:
|
|
1271
1271
|
# at least claim the rewards if we cannot unstake yet
|
|
1272
1272
|
self.claim_on_chain_from_safe(
|
|
1273
1273
|
service_config_id=service_config_id,
|
operate/services/service.py
CHANGED
|
@@ -68,6 +68,7 @@ from operate.constants import (
|
|
|
68
68
|
CONFIG_JSON,
|
|
69
69
|
DEPLOYMENT_DIR,
|
|
70
70
|
DEPLOYMENT_JSON,
|
|
71
|
+
HEALTHCHECK_JSON,
|
|
71
72
|
)
|
|
72
73
|
from operate.keys import KeysManager
|
|
73
74
|
from operate.operate_http.exceptions import NotAllowed
|
|
@@ -911,7 +912,7 @@ class Service(LocalResource):
|
|
|
911
912
|
|
|
912
913
|
def get_latest_healthcheck(self) -> t.Dict:
|
|
913
914
|
"""Return the latest stored healthcheck.json"""
|
|
914
|
-
healthcheck_json_path = self.path /
|
|
915
|
+
healthcheck_json_path = self.path / HEALTHCHECK_JSON
|
|
915
916
|
|
|
916
917
|
if not healthcheck_json_path.exists():
|
|
917
918
|
return {}
|
|
@@ -924,7 +925,7 @@ class Service(LocalResource):
|
|
|
924
925
|
|
|
925
926
|
def remove_latest_healthcheck(self) -> None:
|
|
926
927
|
"""Remove the latest healthcheck.json, if it exists"""
|
|
927
|
-
healthcheck_json_path = self.path /
|
|
928
|
+
healthcheck_json_path = self.path / HEALTHCHECK_JSON
|
|
928
929
|
|
|
929
930
|
if healthcheck_json_path.exists():
|
|
930
931
|
try:
|
{olas_operate_middleware-0.10.11.dist-info → olas_operate_middleware-0.10.13.dist-info}/LICENSE
RENAMED
|
File without changes
|
{olas_operate_middleware-0.10.11.dist-info → olas_operate_middleware-0.10.13.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|