Fix: Enum Inheritance for OrderType/AssetType #153
+4
−3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
Fixes incorrect enum inheritance -
OrderTypeandAssetTypeinherited fromenumerate(built-in function) instead ofEnumclass. Caused type checker errors and broken enum functionality. I noticed this after it was flagged by my type checker when building something downstream.Changes
from enum import Enumtopy_clob_client/clob_types.pyOrderType(enumerate):→OrderType(str, Enum):(line 13)AssetType(enumerate):→AssetType(str, Enum):(line 181)helpers.py:147now uses.valuefor URL query paramsTechnical
enumerateis a function, not a class. Multiple inheritance fromstrandEnumprovides:URL builder needed update:
__str__()on proper Enum returns"AssetType.COLLATERAL"not"COLLATERAL". Now use.valueto extract string.Note:
StrEnumexists (Python 3.11+) butstr, Enumensures older version support.Testing
pytest -sormake test- all 82 tests pass locallyType
Bug fix/behavior correction
Status
[WIP]if necessary (changes not yet made).