strideutils 0.3.13__tar.gz → 0.3.15__tar.gz

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.
Files changed (33) hide show
  1. {strideutils-0.3.13 → strideutils-0.3.15}/PKG-INFO +1 -1
  2. {strideutils-0.3.13 → strideutils-0.3.15}/pyproject.toml +1 -1
  3. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils/stride_config.py +2 -0
  4. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils/stride_requests.py +30 -1
  5. {strideutils-0.3.13 → strideutils-0.3.15}/README.md +0 -0
  6. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils/Makefile +0 -0
  7. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils/__init__.py +0 -0
  8. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils/coingecko.py +0 -0
  9. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils/config_examples/strideutils_config.yaml.example +0 -0
  10. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils/config_examples/strideutils_secrets.yaml.example +0 -0
  11. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils/cryptography.py +0 -0
  12. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils/exec_tx.py +0 -0
  13. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils/invariant_helpers.py +0 -0
  14. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils/run_safely.py +0 -0
  15. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils/sheets_connector.py +0 -0
  16. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils/slack_connector.py +0 -0
  17. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils/stride_alerts.py +0 -0
  18. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils/stride_upstash.py +0 -0
  19. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils/twilio_connector.py +0 -0
  20. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils/types.py +0 -0
  21. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils-stubs/__init__.pyi +0 -0
  22. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils-stubs/coingecko.pyi +0 -0
  23. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils-stubs/cryptography.pyi +0 -0
  24. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils-stubs/exec_tx.pyi +0 -0
  25. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils-stubs/invariant_helpers.pyi +0 -0
  26. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils-stubs/run_safely.pyi +0 -0
  27. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils-stubs/sheets_connector.pyi +0 -0
  28. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils-stubs/slack_connector.pyi +0 -0
  29. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils-stubs/stride_alerts.pyi +0 -0
  30. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils-stubs/stride_config.pyi +0 -0
  31. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils-stubs/stride_requests.pyi +0 -0
  32. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils-stubs/stride_upstash.pyi +0 -0
  33. {strideutils-0.3.13 → strideutils-0.3.15}/strideutils-stubs/twilio_connector.pyi +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: strideutils
3
- Version: 0.3.13
3
+ Version: 0.3.15
4
4
  Summary:
5
5
  Author: Your Name
6
6
  Author-email: you@example.com
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "strideutils"
3
- version = "0.3.13"
3
+ version = "0.3.15"
4
4
  description = ""
5
5
  authors = ["Your Name <you@example.com>"]
6
6
  readme = "README.md"
@@ -78,6 +78,7 @@ class ChainConfig(ConfigObj):
78
78
  ticker: str = ""
79
79
  api_endpoint: str = ""
80
80
  rpc_endpoint: str = ""
81
+ evm_chain: bool = False
81
82
 
82
83
  def __repr__(self) -> str:
83
84
  return f"ChainConfig(name={self.name}, id={self.id})"
@@ -154,6 +155,7 @@ class AppChainsConfig(ConfigObj):
154
155
  agoric: ChainConfig = field(default_factory=ChainConfig)
155
156
  sei: ChainConfig = field(default_factory=ChainConfig)
156
157
  noble: ChainConfig = field(default_factory=ChainConfig)
158
+ forma: ChainConfig = field(default_factory=ChainConfig)
157
159
 
158
160
 
159
161
  @dataclass(repr=False)
@@ -68,6 +68,7 @@ def request(
68
68
  url: str,
69
69
  headers: dict = {},
70
70
  params: Union[dict, List[Tuple[str, str]]] = {},
71
+ data: Optional[str] = None,
71
72
  block_height: int = 0,
72
73
  cache_response: bool = False,
73
74
  _cache: Dict[str, Any] = {},
@@ -96,7 +97,7 @@ def request(
96
97
  if type(params) is dict:
97
98
  params = list(params.items())
98
99
 
99
- resp = requests_session.get(url, headers=headers, params=params)
100
+ resp = requests_session.get(url, headers=headers, params=params, data=data)
100
101
  if not resp.ok: # resp.ok is true if state_code is less than 400
101
102
  print(f"Error fetching {url}: {resp.status_code} {resp.json()}")
102
103
  raise Exception(f"Error fetching {url}: {resp.status_code} {resp.json()}")
@@ -1218,3 +1219,31 @@ def get_empirical_annual_fees(ticker: str) -> float:
1218
1219
  stride_upstash.get("sheet_STRD_STAKING_ST{}_DOLLARS".format(ticker.upper()), db_name="frontend") or "0"
1219
1220
  )
1220
1221
  return float(cast(str, empirical_dollar_fees))
1222
+
1223
+
1224
+ def query_evm_method(method: str, params: list[str], rpc_endpoint: str) -> str:
1225
+ """
1226
+ Generic querier for evm contract calls
1227
+ Returns a hex endcoded response specific to the contract call
1228
+ """
1229
+ headers = {"Content-Type": "application/json"}
1230
+ payload = {
1231
+ "jsonrpc": "2.0",
1232
+ "method": method,
1233
+ "params": params,
1234
+ "id": 1,
1235
+ }
1236
+
1237
+ response = request(rpc_endpoint, headers=headers, data=json.dumps(payload))
1238
+ return response["result"]
1239
+
1240
+
1241
+ def get_evm_balance(address: str, rpc_endpoint: str) -> int:
1242
+ """
1243
+ Queries the native token balance of an evm address
1244
+ Address should be a hex address with an 0x prefix
1245
+ """
1246
+ params = [address, "latest"]
1247
+ balance_raw = query_evm_method("eth_getBalance", params=params, rpc_endpoint=rpc_endpoint)
1248
+ balance = int(balance_raw, 16)
1249
+ return balance
File without changes