strideutils 0.3.11__tar.gz → 0.3.13__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.11 → strideutils-0.3.13}/PKG-INFO +2 -1
  2. {strideutils-0.3.11 → strideutils-0.3.13}/pyproject.toml +2 -1
  3. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils/config_examples/strideutils_secrets.yaml.example +5 -1
  4. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils/stride_config.py +4 -0
  5. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils/stride_requests.py +28 -0
  6. {strideutils-0.3.11 → strideutils-0.3.13}/README.md +0 -0
  7. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils/Makefile +0 -0
  8. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils/__init__.py +0 -0
  9. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils/coingecko.py +0 -0
  10. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils/config_examples/strideutils_config.yaml.example +0 -0
  11. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils/cryptography.py +0 -0
  12. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils/exec_tx.py +0 -0
  13. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils/invariant_helpers.py +0 -0
  14. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils/run_safely.py +0 -0
  15. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils/sheets_connector.py +0 -0
  16. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils/slack_connector.py +0 -0
  17. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils/stride_alerts.py +0 -0
  18. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils/stride_upstash.py +0 -0
  19. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils/twilio_connector.py +0 -0
  20. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils/types.py +0 -0
  21. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils-stubs/__init__.pyi +0 -0
  22. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils-stubs/coingecko.pyi +0 -0
  23. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils-stubs/cryptography.pyi +0 -0
  24. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils-stubs/exec_tx.pyi +0 -0
  25. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils-stubs/invariant_helpers.pyi +0 -0
  26. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils-stubs/run_safely.pyi +0 -0
  27. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils-stubs/sheets_connector.pyi +0 -0
  28. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils-stubs/slack_connector.pyi +0 -0
  29. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils-stubs/stride_alerts.pyi +0 -0
  30. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils-stubs/stride_config.pyi +0 -0
  31. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils-stubs/stride_requests.pyi +0 -0
  32. {strideutils-0.3.11 → strideutils-0.3.13}/strideutils-stubs/stride_upstash.pyi +0 -0
  33. {strideutils-0.3.11 → strideutils-0.3.13}/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.11
3
+ Version: 0.3.13
4
4
  Summary:
5
5
  Author: Your Name
6
6
  Author-email: you@example.com
@@ -9,6 +9,7 @@ Classifier: Programming Language :: Python :: 3
9
9
  Classifier: Programming Language :: Python :: 3.11
10
10
  Classifier: Programming Language :: Python :: 3.12
11
11
  Requires-Dist: bech32 (>=1.2.0)
12
+ Requires-Dist: boto3 (>=1.34.115,<2.0.0)
12
13
  Requires-Dist: google-api-python-client (>=2.100.0)
13
14
  Requires-Dist: google-auth-httplib2 (>=0.1.1)
14
15
  Requires-Dist: google-auth-oauthlib (>=1.1.0)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "strideutils"
3
- version = "0.3.11"
3
+ version = "0.3.13"
4
4
  description = ""
5
5
  authors = ["Your Name <you@example.com>"]
6
6
  readme = "README.md"
@@ -24,6 +24,7 @@ tabulate = ">=0.9.0"
24
24
  pyyaml = ">=6.0.1"
25
25
  python-dateutil = ">=2.8.2"
26
26
  pycryptodome = ">=3.20.0"
27
+ boto3 = "^1.34.115"
27
28
 
28
29
  [tool.poetry.group.dev.dependencies]
29
30
  pytest = "^8.1.1"
@@ -21,4 +21,8 @@ SLACK_PACKET_FAILURE_CHANNEL_ID:
21
21
  NUMIA_API_TOKEN:
22
22
  UPSTASH_PUBLIC_PASSWORD:
23
23
  UPSTASH_STRIDE_FRONTEND_PASSWORD:
24
- UPSTASH_STRIDE_BACKEND_PASSWORD:
24
+ UPSTASH_STRIDE_BACKEND_PASSWORD:
25
+
26
+ # AWS
27
+ AWS_ACCESS_KEY_ID:
28
+ AWS_SECRET_ACCESS_KEY:
@@ -197,6 +197,10 @@ class Config(ConfigObj):
197
197
  NUMIA_API_TOKEN: str = ""
198
198
  founders: List[str] = field(default_factory=lambda: ['riley', 'aidan', 'vishal'])
199
199
 
200
+ # AWS
201
+ AWS_ACCESS_KEY_ID: str = ""
202
+ AWS_SECRET_ACCESS_KEY: str = ""
203
+
200
204
  # Chain configs
201
205
  stride: StrideChainConfig = field(default_factory=StrideChainConfig)
202
206
  host_zones: HostChainsConfig = field(default_factory=HostChainsConfig)
@@ -37,6 +37,7 @@ PENDING_ICQ_QUERY = "Stride-Labs/stride/interchainquery/pending_queries"
37
37
  RATE_LIMIT_QUERY = "Stride-Labs/ibc-rate-limiting/ratelimit/ratelimits"
38
38
  DEPOSIT_RECORDS_QUERY = "Stride-Labs/stride/records/deposit_record_by_host_zone/{chain_id}"
39
39
  UNBONDING_RECORDS_QUERY = "Stride-Labs/stride/records/epoch_unbonding_record"
40
+ REDEMPTION_RECORDS_QUERY = "Stride-Labs/stride/records/user_redemption_record"
40
41
  LSM_RECORDS_QUERY = "Stride-Labs/stride/stakeibc/lsm_deposits"
41
42
  CALLBACK_DATA_QUERY = "Stride-Labs/stride/icacallbacks/callback_data"
42
43
 
@@ -381,6 +382,33 @@ def get_unbonded_records(
381
382
  return filtered_unbonding_records
382
383
 
383
384
 
385
+ def get_user_redemption_records(chain_id: Optional[str] = None) -> list[dict]:
386
+ """
387
+ Queries all user redemption records with optional chain_id filter
388
+
389
+ [
390
+ {
391
+ "id": "comdex-1.601.comdex1fq0klaec7s59drpl93w6yycgqqtd3d38d34zn0",
392
+ "receiver": "comdex1fq0klaec7s59drpl93w6yycgqqtd3d38d34zn0",
393
+ "native_token_amount": "63303481323",
394
+ "denom": "ucmdx",
395
+ "host_zone_id": "comdex-1",
396
+ "epoch_number": "601",
397
+ "claim_is_pending": false,
398
+ "st_token_amount": "51025461480"
399
+ },
400
+ ...
401
+ """
402
+ url = f"{config.stride.api_endpoint}/{REDEMPTION_RECORDS_QUERY}"
403
+ redemption_records = query_list_with_pagination(url, rel_key="user_redemption_record", max_pages=50)
404
+
405
+ if not chain_id:
406
+ return redemption_records
407
+
408
+ redemption_records = [rr for rr in redemption_records if rr["host_zone_id"] == chain_id]
409
+ return redemption_records
410
+
411
+
384
412
  def get_lsm_deposit_records(chain_id: str) -> List[Dict[str, Any]]:
385
413
  """
386
414
  Queries all the LSM deposit records
File without changes