opinion-clob-sdk 0.1.13__py3-none-any.whl → 0.1.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 opinion-clob-sdk might be problematic. Click here for more details.

Files changed (73) hide show
  1. opinion_clob_sdk/__init__.py +1 -1
  2. opinion_clob_sdk/chain/py_order_utils/utils.py +32 -32
  3. opinion_clob_sdk/opinion_clob_sdk/__init__.py +1 -1
  4. opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/utils.py +32 -32
  5. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/__init__.py +1 -1
  6. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/utils.py +32 -32
  7. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/__init__.py +1 -1
  8. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/utils.py +32 -32
  9. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/__init__.py +1 -1
  10. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/utils.py +32 -32
  11. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/__init__.py +1 -1
  12. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/utils.py +32 -32
  13. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/__init__.py +1 -1
  14. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/utils.py +32 -32
  15. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/__init__.py +1 -1
  16. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/utils.py +32 -32
  17. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/__init__.py +1 -1
  18. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/utils.py +32 -32
  19. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/__init__.py +1 -1
  20. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/utils.py +32 -32
  21. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/__init__.py +1 -1
  22. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/utils.py +32 -32
  23. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/__init__.py +1 -1
  24. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/utils.py +32 -32
  25. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/__init__.py +1 -1
  26. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/utils.py +32 -32
  27. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/__init__.py +26 -0
  28. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/__init__.py +0 -0
  29. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/contract_caller.py +390 -0
  30. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/contracts/__init__.py +0 -0
  31. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/contracts/conditional_tokens.py +707 -0
  32. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/contracts/erc20.py +111 -0
  33. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/exception.py +11 -0
  34. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/__init__.py +0 -0
  35. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/builders/__init__.py +0 -0
  36. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/builders/base_builder.py +41 -0
  37. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/builders/exception.py +2 -0
  38. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/builders/order_builder.py +90 -0
  39. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/builders/order_builder_test.py +40 -0
  40. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/constants.py +2 -0
  41. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/model/__init__.py +0 -0
  42. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/model/order.py +254 -0
  43. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/model/order_type.py +9 -0
  44. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/model/sides.py +8 -0
  45. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/model/signatures.py +8 -0
  46. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/signer.py +20 -0
  47. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/utils.py +182 -0
  48. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/__init__.py +0 -0
  49. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/constants.py +19 -0
  50. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/eip712/__init__.py +176 -0
  51. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/enums.py +6 -0
  52. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/exceptions.py +94 -0
  53. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/multisend.py +347 -0
  54. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe.py +141 -0
  55. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_contracts/__init__.py +0 -0
  56. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_contracts/compatibility_fallback_handler_v1_3_0.py +327 -0
  57. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_contracts/multisend_v1_3_0.py +22 -0
  58. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_contracts/safe_v1_3_0.py +1035 -0
  59. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_contracts/utils.py +26 -0
  60. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_signature.py +364 -0
  61. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_test.py +37 -0
  62. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_tx.py +437 -0
  63. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/signatures.py +63 -0
  64. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/typing.py +17 -0
  65. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/utils.py +218 -0
  66. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/config.py +4 -0
  67. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/model.py +19 -0
  68. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/sdk.py +957 -0
  69. opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/verify_api_calls.py +135 -0
  70. {opinion_clob_sdk-0.1.13.dist-info → opinion_clob_sdk-0.1.14.dist-info}/METADATA +1 -1
  71. {opinion_clob_sdk-0.1.13.dist-info → opinion_clob_sdk-0.1.14.dist-info}/RECORD +73 -30
  72. {opinion_clob_sdk-0.1.13.dist-info → opinion_clob_sdk-0.1.14.dist-info}/WHEEL +0 -0
  73. {opinion_clob_sdk-0.1.13.dist-info → opinion_clob_sdk-0.1.14.dist-info}/top_level.txt +0 -0
@@ -12,7 +12,7 @@ from opinion_clob_sdk.chain.exception import (
12
12
  InsufficientGasBalance
13
13
  )
14
14
 
15
- __version__ = "0.1.13"
15
+ __version__ = "0.1.14"
16
16
  __all__ = [
17
17
  "Client",
18
18
  "TopicStatus",
@@ -77,8 +77,8 @@ def calculate_order_amounts(price: float, maker_amount: int, side: OrderSide, de
77
77
  """
78
78
  Calculate the maker and taker amounts based on the price and side.
79
79
 
80
- Uses precise Decimal arithmetic to ensure precision within 6 significant digits
81
- (matching the matching engine's precision limit).
80
+ Uses precise Decimal arithmetic to ensure precision within 4 significant digits
81
+ (to stay well within the matching engine's 6-digit precision limit).
82
82
 
83
83
  Args:
84
84
  price: The price of the order (between 0.001 and 0.999)
@@ -113,59 +113,59 @@ def calculate_order_amounts(price: float, maker_amount: int, side: OrderSide, de
113
113
 
114
114
  if side == OrderSide.BUY:
115
115
  # For BUY: price = maker/taker
116
- # Goal: Calculate taker and maker with only 6 significant digits each
117
- # to match the matching engine's precision requirement
116
+ # Goal: Calculate taker and maker with only 4 significant digits each
117
+ # to stay well within the matching engine's 6-digit precision limit
118
118
  #
119
119
  # Strategy:
120
- # 1. Round maker_amount to 6 significant digits
121
- # 2. Calculate taker = round(maker_6digit / price) to 6 significant digits
122
- # 3. Recalculate maker = round(taker_6digit * price) to verify precision
120
+ # 1. Round maker_amount to 4 significant digits
121
+ # 2. Calculate taker = round(maker_4digit / price) to 4 significant digits
122
+ # 3. Recalculate maker = round(taker_4digit * price) to verify precision
123
123
  #
124
- # This ensures: maker_6digit / taker_6digit = price (exact match within 6 digits)
124
+ # This ensures: maker_4digit / taker_4digit = price (exact match within 4 digits)
125
125
 
126
- # Step 1: Round maker to 6 significant digits
127
- maker_6digit = round_to_significant_digits(maker_amount, 6)
126
+ # Step 1: Round maker to 4 significant digits
127
+ maker_4digit = round_to_significant_digits(maker_amount, 4)
128
128
 
129
129
  # Step 2: Calculate taker = maker / price
130
- exact_taker = Decimal(str(maker_6digit)) / price_decimal
130
+ exact_taker = Decimal(str(maker_4digit)) / price_decimal
131
131
  taker_amount = int(exact_taker)
132
132
 
133
- # Step 3: Round taker to 6 significant digits
134
- taker_6digit = round_to_significant_digits(taker_amount, 6)
133
+ # Step 3: Round taker to 4 significant digits
134
+ taker_4digit = round_to_significant_digits(taker_amount, 4)
135
135
 
136
- # Step 4: Recalculate maker using 6-digit taker to ensure precision
137
- recalculated_maker_decimal = Decimal(str(taker_6digit)) * price_decimal
136
+ # Step 4: Recalculate maker using 4-digit taker to ensure precision
137
+ recalculated_maker_decimal = Decimal(str(taker_4digit)) * price_decimal
138
138
  recalculated_maker_amount = int(recalculated_maker_decimal)
139
139
 
140
- # Step 5: Round recalculated maker to 6 significant digits
141
- recalculated_maker_6digit = round_to_significant_digits(recalculated_maker_amount, 6)
140
+ # Step 5: Round recalculated maker to 4 significant digits
141
+ recalculated_maker_4digit = round_to_significant_digits(recalculated_maker_amount, 4)
142
142
 
143
- # Use the 6-digit values
144
- taker_amount = taker_6digit
145
- recalculated_maker_amount = recalculated_maker_6digit
143
+ # Use the 4-digit values
144
+ taker_amount = taker_4digit
145
+ recalculated_maker_amount = recalculated_maker_4digit
146
146
 
147
147
  else: # SELL
148
148
  # For SELL: price = taker/maker
149
- # Goal: Calculate taker and maker with only 6 significant digits each
149
+ # Goal: Calculate taker and maker with only 4 significant digits each
150
150
  #
151
151
  # Strategy:
152
- # 1. Round maker_amount to 6 significant digits
153
- # 2. Calculate taker = round(maker_6digit * price) to 6 significant digits
154
- # 3. This ensures: taker_6digit / maker_6digit = price (exact match within 6 digits)
152
+ # 1. Round maker_amount to 4 significant digits
153
+ # 2. Calculate taker = round(maker_4digit * price) to 4 significant digits
154
+ # 3. This ensures: taker_4digit / maker_4digit = price (exact match within 4 digits)
155
155
 
156
- # Step 1: Round maker to 6 significant digits
157
- maker_6digit = round_to_significant_digits(maker_amount, 6)
156
+ # Step 1: Round maker to 4 significant digits
157
+ maker_4digit = round_to_significant_digits(maker_amount, 4)
158
158
 
159
159
  # Step 2: Calculate taker = maker * price
160
- exact_taker = Decimal(str(maker_6digit)) * price_decimal
160
+ exact_taker = Decimal(str(maker_4digit)) * price_decimal
161
161
  taker_amount = int(exact_taker)
162
162
 
163
- # Step 3: Round taker to 6 significant digits
164
- taker_6digit = round_to_significant_digits(taker_amount, 6)
163
+ # Step 3: Round taker to 4 significant digits
164
+ taker_4digit = round_to_significant_digits(taker_amount, 4)
165
165
 
166
- # Use the 6-digit values
167
- taker_amount = taker_6digit
168
- recalculated_maker_amount = maker_6digit
166
+ # Use the 4-digit values
167
+ taker_amount = taker_4digit
168
+ recalculated_maker_amount = maker_4digit
169
169
 
170
170
  # Ensure amounts are at least 1
171
171
  taker_amount = int(max(1, taker_amount))
@@ -12,7 +12,7 @@ from opinion_clob_sdk.chain.exception import (
12
12
  InsufficientGasBalance
13
13
  )
14
14
 
15
- __version__ = "0.1.13"
15
+ __version__ = "0.1.14"
16
16
  __all__ = [
17
17
  "Client",
18
18
  "TopicStatus",
@@ -77,8 +77,8 @@ def calculate_order_amounts(price: float, maker_amount: int, side: OrderSide, de
77
77
  """
78
78
  Calculate the maker and taker amounts based on the price and side.
79
79
 
80
- Uses precise Decimal arithmetic to ensure precision within 6 significant digits
81
- (matching the matching engine's precision limit).
80
+ Uses precise Decimal arithmetic to ensure precision within 4 significant digits
81
+ (to stay well within the matching engine's 6-digit precision limit).
82
82
 
83
83
  Args:
84
84
  price: The price of the order (between 0.001 and 0.999)
@@ -113,59 +113,59 @@ def calculate_order_amounts(price: float, maker_amount: int, side: OrderSide, de
113
113
 
114
114
  if side == OrderSide.BUY:
115
115
  # For BUY: price = maker/taker
116
- # Goal: Calculate taker and maker with only 6 significant digits each
117
- # to match the matching engine's precision requirement
116
+ # Goal: Calculate taker and maker with only 4 significant digits each
117
+ # to stay well within the matching engine's 6-digit precision limit
118
118
  #
119
119
  # Strategy:
120
- # 1. Round maker_amount to 6 significant digits
121
- # 2. Calculate taker = round(maker_6digit / price) to 6 significant digits
122
- # 3. Recalculate maker = round(taker_6digit * price) to verify precision
120
+ # 1. Round maker_amount to 4 significant digits
121
+ # 2. Calculate taker = round(maker_4digit / price) to 4 significant digits
122
+ # 3. Recalculate maker = round(taker_4digit * price) to verify precision
123
123
  #
124
- # This ensures: maker_6digit / taker_6digit = price (exact match within 6 digits)
124
+ # This ensures: maker_4digit / taker_4digit = price (exact match within 4 digits)
125
125
 
126
- # Step 1: Round maker to 6 significant digits
127
- maker_6digit = round_to_significant_digits(maker_amount, 6)
126
+ # Step 1: Round maker to 4 significant digits
127
+ maker_4digit = round_to_significant_digits(maker_amount, 4)
128
128
 
129
129
  # Step 2: Calculate taker = maker / price
130
- exact_taker = Decimal(str(maker_6digit)) / price_decimal
130
+ exact_taker = Decimal(str(maker_4digit)) / price_decimal
131
131
  taker_amount = int(exact_taker)
132
132
 
133
- # Step 3: Round taker to 6 significant digits
134
- taker_6digit = round_to_significant_digits(taker_amount, 6)
133
+ # Step 3: Round taker to 4 significant digits
134
+ taker_4digit = round_to_significant_digits(taker_amount, 4)
135
135
 
136
- # Step 4: Recalculate maker using 6-digit taker to ensure precision
137
- recalculated_maker_decimal = Decimal(str(taker_6digit)) * price_decimal
136
+ # Step 4: Recalculate maker using 4-digit taker to ensure precision
137
+ recalculated_maker_decimal = Decimal(str(taker_4digit)) * price_decimal
138
138
  recalculated_maker_amount = int(recalculated_maker_decimal)
139
139
 
140
- # Step 5: Round recalculated maker to 6 significant digits
141
- recalculated_maker_6digit = round_to_significant_digits(recalculated_maker_amount, 6)
140
+ # Step 5: Round recalculated maker to 4 significant digits
141
+ recalculated_maker_4digit = round_to_significant_digits(recalculated_maker_amount, 4)
142
142
 
143
- # Use the 6-digit values
144
- taker_amount = taker_6digit
145
- recalculated_maker_amount = recalculated_maker_6digit
143
+ # Use the 4-digit values
144
+ taker_amount = taker_4digit
145
+ recalculated_maker_amount = recalculated_maker_4digit
146
146
 
147
147
  else: # SELL
148
148
  # For SELL: price = taker/maker
149
- # Goal: Calculate taker and maker with only 6 significant digits each
149
+ # Goal: Calculate taker and maker with only 4 significant digits each
150
150
  #
151
151
  # Strategy:
152
- # 1. Round maker_amount to 6 significant digits
153
- # 2. Calculate taker = round(maker_6digit * price) to 6 significant digits
154
- # 3. This ensures: taker_6digit / maker_6digit = price (exact match within 6 digits)
152
+ # 1. Round maker_amount to 4 significant digits
153
+ # 2. Calculate taker = round(maker_4digit * price) to 4 significant digits
154
+ # 3. This ensures: taker_4digit / maker_4digit = price (exact match within 4 digits)
155
155
 
156
- # Step 1: Round maker to 6 significant digits
157
- maker_6digit = round_to_significant_digits(maker_amount, 6)
156
+ # Step 1: Round maker to 4 significant digits
157
+ maker_4digit = round_to_significant_digits(maker_amount, 4)
158
158
 
159
159
  # Step 2: Calculate taker = maker * price
160
- exact_taker = Decimal(str(maker_6digit)) * price_decimal
160
+ exact_taker = Decimal(str(maker_4digit)) * price_decimal
161
161
  taker_amount = int(exact_taker)
162
162
 
163
- # Step 3: Round taker to 6 significant digits
164
- taker_6digit = round_to_significant_digits(taker_amount, 6)
163
+ # Step 3: Round taker to 4 significant digits
164
+ taker_4digit = round_to_significant_digits(taker_amount, 4)
165
165
 
166
- # Use the 6-digit values
167
- taker_amount = taker_6digit
168
- recalculated_maker_amount = maker_6digit
166
+ # Use the 4-digit values
167
+ taker_amount = taker_4digit
168
+ recalculated_maker_amount = maker_4digit
169
169
 
170
170
  # Ensure amounts are at least 1
171
171
  taker_amount = int(max(1, taker_amount))
@@ -12,7 +12,7 @@ from opinion_clob_sdk.chain.exception import (
12
12
  InsufficientGasBalance
13
13
  )
14
14
 
15
- __version__ = "0.1.13"
15
+ __version__ = "0.1.14"
16
16
  __all__ = [
17
17
  "Client",
18
18
  "TopicStatus",
@@ -77,8 +77,8 @@ def calculate_order_amounts(price: float, maker_amount: int, side: OrderSide, de
77
77
  """
78
78
  Calculate the maker and taker amounts based on the price and side.
79
79
 
80
- Uses precise Decimal arithmetic to ensure precision within 6 significant digits
81
- (matching the matching engine's precision limit).
80
+ Uses precise Decimal arithmetic to ensure precision within 4 significant digits
81
+ (to stay well within the matching engine's 6-digit precision limit).
82
82
 
83
83
  Args:
84
84
  price: The price of the order (between 0.001 and 0.999)
@@ -113,59 +113,59 @@ def calculate_order_amounts(price: float, maker_amount: int, side: OrderSide, de
113
113
 
114
114
  if side == OrderSide.BUY:
115
115
  # For BUY: price = maker/taker
116
- # Goal: Calculate taker and maker with only 6 significant digits each
117
- # to match the matching engine's precision requirement
116
+ # Goal: Calculate taker and maker with only 4 significant digits each
117
+ # to stay well within the matching engine's 6-digit precision limit
118
118
  #
119
119
  # Strategy:
120
- # 1. Round maker_amount to 6 significant digits
121
- # 2. Calculate taker = round(maker_6digit / price) to 6 significant digits
122
- # 3. Recalculate maker = round(taker_6digit * price) to verify precision
120
+ # 1. Round maker_amount to 4 significant digits
121
+ # 2. Calculate taker = round(maker_4digit / price) to 4 significant digits
122
+ # 3. Recalculate maker = round(taker_4digit * price) to verify precision
123
123
  #
124
- # This ensures: maker_6digit / taker_6digit = price (exact match within 6 digits)
124
+ # This ensures: maker_4digit / taker_4digit = price (exact match within 4 digits)
125
125
 
126
- # Step 1: Round maker to 6 significant digits
127
- maker_6digit = round_to_significant_digits(maker_amount, 6)
126
+ # Step 1: Round maker to 4 significant digits
127
+ maker_4digit = round_to_significant_digits(maker_amount, 4)
128
128
 
129
129
  # Step 2: Calculate taker = maker / price
130
- exact_taker = Decimal(str(maker_6digit)) / price_decimal
130
+ exact_taker = Decimal(str(maker_4digit)) / price_decimal
131
131
  taker_amount = int(exact_taker)
132
132
 
133
- # Step 3: Round taker to 6 significant digits
134
- taker_6digit = round_to_significant_digits(taker_amount, 6)
133
+ # Step 3: Round taker to 4 significant digits
134
+ taker_4digit = round_to_significant_digits(taker_amount, 4)
135
135
 
136
- # Step 4: Recalculate maker using 6-digit taker to ensure precision
137
- recalculated_maker_decimal = Decimal(str(taker_6digit)) * price_decimal
136
+ # Step 4: Recalculate maker using 4-digit taker to ensure precision
137
+ recalculated_maker_decimal = Decimal(str(taker_4digit)) * price_decimal
138
138
  recalculated_maker_amount = int(recalculated_maker_decimal)
139
139
 
140
- # Step 5: Round recalculated maker to 6 significant digits
141
- recalculated_maker_6digit = round_to_significant_digits(recalculated_maker_amount, 6)
140
+ # Step 5: Round recalculated maker to 4 significant digits
141
+ recalculated_maker_4digit = round_to_significant_digits(recalculated_maker_amount, 4)
142
142
 
143
- # Use the 6-digit values
144
- taker_amount = taker_6digit
145
- recalculated_maker_amount = recalculated_maker_6digit
143
+ # Use the 4-digit values
144
+ taker_amount = taker_4digit
145
+ recalculated_maker_amount = recalculated_maker_4digit
146
146
 
147
147
  else: # SELL
148
148
  # For SELL: price = taker/maker
149
- # Goal: Calculate taker and maker with only 6 significant digits each
149
+ # Goal: Calculate taker and maker with only 4 significant digits each
150
150
  #
151
151
  # Strategy:
152
- # 1. Round maker_amount to 6 significant digits
153
- # 2. Calculate taker = round(maker_6digit * price) to 6 significant digits
154
- # 3. This ensures: taker_6digit / maker_6digit = price (exact match within 6 digits)
152
+ # 1. Round maker_amount to 4 significant digits
153
+ # 2. Calculate taker = round(maker_4digit * price) to 4 significant digits
154
+ # 3. This ensures: taker_4digit / maker_4digit = price (exact match within 4 digits)
155
155
 
156
- # Step 1: Round maker to 6 significant digits
157
- maker_6digit = round_to_significant_digits(maker_amount, 6)
156
+ # Step 1: Round maker to 4 significant digits
157
+ maker_4digit = round_to_significant_digits(maker_amount, 4)
158
158
 
159
159
  # Step 2: Calculate taker = maker * price
160
- exact_taker = Decimal(str(maker_6digit)) * price_decimal
160
+ exact_taker = Decimal(str(maker_4digit)) * price_decimal
161
161
  taker_amount = int(exact_taker)
162
162
 
163
- # Step 3: Round taker to 6 significant digits
164
- taker_6digit = round_to_significant_digits(taker_amount, 6)
163
+ # Step 3: Round taker to 4 significant digits
164
+ taker_4digit = round_to_significant_digits(taker_amount, 4)
165
165
 
166
- # Use the 6-digit values
167
- taker_amount = taker_6digit
168
- recalculated_maker_amount = maker_6digit
166
+ # Use the 4-digit values
167
+ taker_amount = taker_4digit
168
+ recalculated_maker_amount = maker_4digit
169
169
 
170
170
  # Ensure amounts are at least 1
171
171
  taker_amount = int(max(1, taker_amount))
@@ -12,7 +12,7 @@ from opinion_clob_sdk.chain.exception import (
12
12
  InsufficientGasBalance
13
13
  )
14
14
 
15
- __version__ = "0.1.13"
15
+ __version__ = "0.1.14"
16
16
  __all__ = [
17
17
  "Client",
18
18
  "TopicStatus",
@@ -77,8 +77,8 @@ def calculate_order_amounts(price: float, maker_amount: int, side: OrderSide, de
77
77
  """
78
78
  Calculate the maker and taker amounts based on the price and side.
79
79
 
80
- Uses precise Decimal arithmetic to ensure precision within 6 significant digits
81
- (matching the matching engine's precision limit).
80
+ Uses precise Decimal arithmetic to ensure precision within 4 significant digits
81
+ (to stay well within the matching engine's 6-digit precision limit).
82
82
 
83
83
  Args:
84
84
  price: The price of the order (between 0.001 and 0.999)
@@ -113,59 +113,59 @@ def calculate_order_amounts(price: float, maker_amount: int, side: OrderSide, de
113
113
 
114
114
  if side == OrderSide.BUY:
115
115
  # For BUY: price = maker/taker
116
- # Goal: Calculate taker and maker with only 6 significant digits each
117
- # to match the matching engine's precision requirement
116
+ # Goal: Calculate taker and maker with only 4 significant digits each
117
+ # to stay well within the matching engine's 6-digit precision limit
118
118
  #
119
119
  # Strategy:
120
- # 1. Round maker_amount to 6 significant digits
121
- # 2. Calculate taker = round(maker_6digit / price) to 6 significant digits
122
- # 3. Recalculate maker = round(taker_6digit * price) to verify precision
120
+ # 1. Round maker_amount to 4 significant digits
121
+ # 2. Calculate taker = round(maker_4digit / price) to 4 significant digits
122
+ # 3. Recalculate maker = round(taker_4digit * price) to verify precision
123
123
  #
124
- # This ensures: maker_6digit / taker_6digit = price (exact match within 6 digits)
124
+ # This ensures: maker_4digit / taker_4digit = price (exact match within 4 digits)
125
125
 
126
- # Step 1: Round maker to 6 significant digits
127
- maker_6digit = round_to_significant_digits(maker_amount, 6)
126
+ # Step 1: Round maker to 4 significant digits
127
+ maker_4digit = round_to_significant_digits(maker_amount, 4)
128
128
 
129
129
  # Step 2: Calculate taker = maker / price
130
- exact_taker = Decimal(str(maker_6digit)) / price_decimal
130
+ exact_taker = Decimal(str(maker_4digit)) / price_decimal
131
131
  taker_amount = int(exact_taker)
132
132
 
133
- # Step 3: Round taker to 6 significant digits
134
- taker_6digit = round_to_significant_digits(taker_amount, 6)
133
+ # Step 3: Round taker to 4 significant digits
134
+ taker_4digit = round_to_significant_digits(taker_amount, 4)
135
135
 
136
- # Step 4: Recalculate maker using 6-digit taker to ensure precision
137
- recalculated_maker_decimal = Decimal(str(taker_6digit)) * price_decimal
136
+ # Step 4: Recalculate maker using 4-digit taker to ensure precision
137
+ recalculated_maker_decimal = Decimal(str(taker_4digit)) * price_decimal
138
138
  recalculated_maker_amount = int(recalculated_maker_decimal)
139
139
 
140
- # Step 5: Round recalculated maker to 6 significant digits
141
- recalculated_maker_6digit = round_to_significant_digits(recalculated_maker_amount, 6)
140
+ # Step 5: Round recalculated maker to 4 significant digits
141
+ recalculated_maker_4digit = round_to_significant_digits(recalculated_maker_amount, 4)
142
142
 
143
- # Use the 6-digit values
144
- taker_amount = taker_6digit
145
- recalculated_maker_amount = recalculated_maker_6digit
143
+ # Use the 4-digit values
144
+ taker_amount = taker_4digit
145
+ recalculated_maker_amount = recalculated_maker_4digit
146
146
 
147
147
  else: # SELL
148
148
  # For SELL: price = taker/maker
149
- # Goal: Calculate taker and maker with only 6 significant digits each
149
+ # Goal: Calculate taker and maker with only 4 significant digits each
150
150
  #
151
151
  # Strategy:
152
- # 1. Round maker_amount to 6 significant digits
153
- # 2. Calculate taker = round(maker_6digit * price) to 6 significant digits
154
- # 3. This ensures: taker_6digit / maker_6digit = price (exact match within 6 digits)
152
+ # 1. Round maker_amount to 4 significant digits
153
+ # 2. Calculate taker = round(maker_4digit * price) to 4 significant digits
154
+ # 3. This ensures: taker_4digit / maker_4digit = price (exact match within 4 digits)
155
155
 
156
- # Step 1: Round maker to 6 significant digits
157
- maker_6digit = round_to_significant_digits(maker_amount, 6)
156
+ # Step 1: Round maker to 4 significant digits
157
+ maker_4digit = round_to_significant_digits(maker_amount, 4)
158
158
 
159
159
  # Step 2: Calculate taker = maker * price
160
- exact_taker = Decimal(str(maker_6digit)) * price_decimal
160
+ exact_taker = Decimal(str(maker_4digit)) * price_decimal
161
161
  taker_amount = int(exact_taker)
162
162
 
163
- # Step 3: Round taker to 6 significant digits
164
- taker_6digit = round_to_significant_digits(taker_amount, 6)
163
+ # Step 3: Round taker to 4 significant digits
164
+ taker_4digit = round_to_significant_digits(taker_amount, 4)
165
165
 
166
- # Use the 6-digit values
167
- taker_amount = taker_6digit
168
- recalculated_maker_amount = maker_6digit
166
+ # Use the 4-digit values
167
+ taker_amount = taker_4digit
168
+ recalculated_maker_amount = maker_4digit
169
169
 
170
170
  # Ensure amounts are at least 1
171
171
  taker_amount = int(max(1, taker_amount))
@@ -12,7 +12,7 @@ from opinion_clob_sdk.chain.exception import (
12
12
  InsufficientGasBalance
13
13
  )
14
14
 
15
- __version__ = "0.1.13"
15
+ __version__ = "0.1.14"
16
16
  __all__ = [
17
17
  "Client",
18
18
  "TopicStatus",
@@ -77,8 +77,8 @@ def calculate_order_amounts(price: float, maker_amount: int, side: OrderSide, de
77
77
  """
78
78
  Calculate the maker and taker amounts based on the price and side.
79
79
 
80
- Uses precise Decimal arithmetic to ensure precision within 6 significant digits
81
- (matching the matching engine's precision limit).
80
+ Uses precise Decimal arithmetic to ensure precision within 4 significant digits
81
+ (to stay well within the matching engine's 6-digit precision limit).
82
82
 
83
83
  Args:
84
84
  price: The price of the order (between 0.001 and 0.999)
@@ -113,59 +113,59 @@ def calculate_order_amounts(price: float, maker_amount: int, side: OrderSide, de
113
113
 
114
114
  if side == OrderSide.BUY:
115
115
  # For BUY: price = maker/taker
116
- # Goal: Calculate taker and maker with only 6 significant digits each
117
- # to match the matching engine's precision requirement
116
+ # Goal: Calculate taker and maker with only 4 significant digits each
117
+ # to stay well within the matching engine's 6-digit precision limit
118
118
  #
119
119
  # Strategy:
120
- # 1. Round maker_amount to 6 significant digits
121
- # 2. Calculate taker = round(maker_6digit / price) to 6 significant digits
122
- # 3. Recalculate maker = round(taker_6digit * price) to verify precision
120
+ # 1. Round maker_amount to 4 significant digits
121
+ # 2. Calculate taker = round(maker_4digit / price) to 4 significant digits
122
+ # 3. Recalculate maker = round(taker_4digit * price) to verify precision
123
123
  #
124
- # This ensures: maker_6digit / taker_6digit = price (exact match within 6 digits)
124
+ # This ensures: maker_4digit / taker_4digit = price (exact match within 4 digits)
125
125
 
126
- # Step 1: Round maker to 6 significant digits
127
- maker_6digit = round_to_significant_digits(maker_amount, 6)
126
+ # Step 1: Round maker to 4 significant digits
127
+ maker_4digit = round_to_significant_digits(maker_amount, 4)
128
128
 
129
129
  # Step 2: Calculate taker = maker / price
130
- exact_taker = Decimal(str(maker_6digit)) / price_decimal
130
+ exact_taker = Decimal(str(maker_4digit)) / price_decimal
131
131
  taker_amount = int(exact_taker)
132
132
 
133
- # Step 3: Round taker to 6 significant digits
134
- taker_6digit = round_to_significant_digits(taker_amount, 6)
133
+ # Step 3: Round taker to 4 significant digits
134
+ taker_4digit = round_to_significant_digits(taker_amount, 4)
135
135
 
136
- # Step 4: Recalculate maker using 6-digit taker to ensure precision
137
- recalculated_maker_decimal = Decimal(str(taker_6digit)) * price_decimal
136
+ # Step 4: Recalculate maker using 4-digit taker to ensure precision
137
+ recalculated_maker_decimal = Decimal(str(taker_4digit)) * price_decimal
138
138
  recalculated_maker_amount = int(recalculated_maker_decimal)
139
139
 
140
- # Step 5: Round recalculated maker to 6 significant digits
141
- recalculated_maker_6digit = round_to_significant_digits(recalculated_maker_amount, 6)
140
+ # Step 5: Round recalculated maker to 4 significant digits
141
+ recalculated_maker_4digit = round_to_significant_digits(recalculated_maker_amount, 4)
142
142
 
143
- # Use the 6-digit values
144
- taker_amount = taker_6digit
145
- recalculated_maker_amount = recalculated_maker_6digit
143
+ # Use the 4-digit values
144
+ taker_amount = taker_4digit
145
+ recalculated_maker_amount = recalculated_maker_4digit
146
146
 
147
147
  else: # SELL
148
148
  # For SELL: price = taker/maker
149
- # Goal: Calculate taker and maker with only 6 significant digits each
149
+ # Goal: Calculate taker and maker with only 4 significant digits each
150
150
  #
151
151
  # Strategy:
152
- # 1. Round maker_amount to 6 significant digits
153
- # 2. Calculate taker = round(maker_6digit * price) to 6 significant digits
154
- # 3. This ensures: taker_6digit / maker_6digit = price (exact match within 6 digits)
152
+ # 1. Round maker_amount to 4 significant digits
153
+ # 2. Calculate taker = round(maker_4digit * price) to 4 significant digits
154
+ # 3. This ensures: taker_4digit / maker_4digit = price (exact match within 4 digits)
155
155
 
156
- # Step 1: Round maker to 6 significant digits
157
- maker_6digit = round_to_significant_digits(maker_amount, 6)
156
+ # Step 1: Round maker to 4 significant digits
157
+ maker_4digit = round_to_significant_digits(maker_amount, 4)
158
158
 
159
159
  # Step 2: Calculate taker = maker * price
160
- exact_taker = Decimal(str(maker_6digit)) * price_decimal
160
+ exact_taker = Decimal(str(maker_4digit)) * price_decimal
161
161
  taker_amount = int(exact_taker)
162
162
 
163
- # Step 3: Round taker to 6 significant digits
164
- taker_6digit = round_to_significant_digits(taker_amount, 6)
163
+ # Step 3: Round taker to 4 significant digits
164
+ taker_4digit = round_to_significant_digits(taker_amount, 4)
165
165
 
166
- # Use the 6-digit values
167
- taker_amount = taker_6digit
168
- recalculated_maker_amount = maker_6digit
166
+ # Use the 4-digit values
167
+ taker_amount = taker_4digit
168
+ recalculated_maker_amount = maker_4digit
169
169
 
170
170
  # Ensure amounts are at least 1
171
171
  taker_amount = int(max(1, taker_amount))
@@ -12,7 +12,7 @@ from opinion_clob_sdk.chain.exception import (
12
12
  InsufficientGasBalance
13
13
  )
14
14
 
15
- __version__ = "0.1.13"
15
+ __version__ = "0.1.14"
16
16
  __all__ = [
17
17
  "Client",
18
18
  "TopicStatus",