prediction-market-agent-tooling 0.69.13.dev1130__py3-none-any.whl → 0.69.14__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.

Potentially problematic release.


This version of prediction-market-agent-tooling might be problematic. Click here for more details.

@@ -5,12 +5,13 @@ import typing as t
5
5
  from contextlib import contextmanager
6
6
 
7
7
  import eth_abi
8
+ import tenacity
8
9
  from eth_abi.exceptions import DecodingError
9
10
  from pydantic import BaseModel, field_validator
10
11
  from web3 import Web3
11
12
  from web3.constants import CHECKSUM_ADDRESSS_ZERO, HASH_ZERO
12
13
  from web3.contract.contract import Contract as Web3Contract
13
- from web3.exceptions import ContractCustomError
14
+ from web3.exceptions import ContractCustomError, ContractLogicError
14
15
 
15
16
  from prediction_market_agent_tooling.chains import POLYGON_CHAIN_ID
16
17
  from prediction_market_agent_tooling.config import APIKeys, RPCConfig
@@ -206,10 +207,18 @@ class ContractERC20BaseClass(ContractBaseClass):
206
207
  )
207
208
  )
208
209
 
210
+ def name(self, web3: Web3 | None = None) -> str:
211
+ name: str = self.call("name", web3=web3)
212
+ return name
213
+
209
214
  def symbol(self, web3: Web3 | None = None) -> str:
210
215
  symbol: str = self.call("symbol", web3=web3)
211
216
  return symbol
212
217
 
218
+ def decimals(self, web3: Web3 | None = None) -> int:
219
+ decimals = int(self.call("decimals", web3=web3))
220
+ return decimals
221
+
213
222
  def symbol_cached(self, web3: Web3 | None = None) -> str:
214
223
  web3 = web3 or self.get_web3()
215
224
  cache_key = create_contract_method_cache_key(self.symbol, web3)
@@ -956,7 +965,12 @@ def implementation_proxy_address(
956
965
  return None
957
966
  try:
958
967
  return ContractProxyOnGnosisChain(address=contract_address).implementation(web3)
959
- except ContractCustomError as e:
968
+ except (ContractCustomError, ContractLogicError, tenacity.RetryError) as e:
969
+ if isinstance(e, tenacity.RetryError) and not isinstance(
970
+ e.last_attempt.exception(), (ContractCustomError, ContractLogicError)
971
+ ):
972
+ raise
973
+
960
974
  # For example https://gnosisscan.io/address/0x3221a28ed2b2e955da64d1d299956f277562c95c#code,
961
975
  # it has the implementation method, but it's only for admins.
962
976
  logger.warning(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prediction-market-agent-tooling
3
- Version: 0.69.13.dev1130
3
+ Version: 0.69.14
4
4
  Summary: Tools to benchmark, deploy and monitor prediction market agents.
5
5
  License-File: LICENSE
6
6
  Author: Gnosis
@@ -92,7 +92,7 @@ prediction_market_agent_tooling/tools/betting_strategies/utils.py,sha256=MpS3FOM
92
92
  prediction_market_agent_tooling/tools/caches/db_cache.py,sha256=V6o6UdesjkKzSJMhqkUtD76cJGPaNhuwA4OL2chIYSI,13801
93
93
  prediction_market_agent_tooling/tools/caches/inmemory_cache.py,sha256=ZW5iI5rmjqeAebu5T7ftRnlkxiL02IC-MxCfDB80x7w,1506
94
94
  prediction_market_agent_tooling/tools/caches/serializers.py,sha256=fwyIHUsL7u9NY7ZihTcUdqsvl2psatcbTfgWHTSez3U,2427
95
- prediction_market_agent_tooling/tools/contract.py,sha256=mcKgNaDVGzGwXGVk_elnyX3oYoS853WIQ_daqMDgQHg,35516
95
+ prediction_market_agent_tooling/tools/contract.py,sha256=ZPQT3Kk9-q-ns7DO3MjQ_OLPUgeDjUTFwKP7L0vKKqc,36035
96
96
  prediction_market_agent_tooling/tools/contract_utils.py,sha256=9X9raICUZkPDShilt02aYzS_ILZ62u0vG5081uWLdqk,2152
97
97
  prediction_market_agent_tooling/tools/costs.py,sha256=EaAJ7v9laD4VEV3d8B44M4u3_oEO_H16jRVCdoZ93Uw,954
98
98
  prediction_market_agent_tooling/tools/cow/cow_order.py,sha256=DN_8cPrr4jWVpXdS4D0j1QB19nB8fxDoSheo2BFMc8M,14523
@@ -137,8 +137,8 @@ prediction_market_agent_tooling/tools/tokens/usd.py,sha256=DPO-4HBTy1-TZHKL_9CnH
137
137
  prediction_market_agent_tooling/tools/transaction_cache.py,sha256=K5YKNL2_tR10Iw2TD9fuP-CTGpBbZtNdgbd0B_R7pjg,1814
138
138
  prediction_market_agent_tooling/tools/utils.py,sha256=ruq6P5TFs8CBHxeBLj1Plpx7kuNFPpDgMsJGQgDiRNs,8785
139
139
  prediction_market_agent_tooling/tools/web3_utils.py,sha256=CDbaidlLeQ4VHzSg150L7QNfHfGveljSePGuDVFEYqc,13963
140
- prediction_market_agent_tooling-0.69.13.dev1130.dist-info/METADATA,sha256=Sv3__g38k2dPKu1M4tVan6JocjbI7l141mEfgD-gbtE,8899
141
- prediction_market_agent_tooling-0.69.13.dev1130.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
142
- prediction_market_agent_tooling-0.69.13.dev1130.dist-info/entry_points.txt,sha256=m8PukHbeH5g0IAAmOf_1Ahm-sGAMdhSSRQmwtpmi2s8,81
143
- prediction_market_agent_tooling-0.69.13.dev1130.dist-info/licenses/LICENSE,sha256=6or154nLLU6bELzjh0mCreFjt0m2v72zLi3yHE0QbeE,7650
144
- prediction_market_agent_tooling-0.69.13.dev1130.dist-info/RECORD,,
140
+ prediction_market_agent_tooling-0.69.14.dist-info/METADATA,sha256=tnCGEkf1CSqxhCeqjPJDiJguGhfCXCicfocy_GChMEM,8891
141
+ prediction_market_agent_tooling-0.69.14.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
142
+ prediction_market_agent_tooling-0.69.14.dist-info/entry_points.txt,sha256=m8PukHbeH5g0IAAmOf_1Ahm-sGAMdhSSRQmwtpmi2s8,81
143
+ prediction_market_agent_tooling-0.69.14.dist-info/licenses/LICENSE,sha256=6or154nLLU6bELzjh0mCreFjt0m2v72zLi3yHE0QbeE,7650
144
+ prediction_market_agent_tooling-0.69.14.dist-info/RECORD,,