opinion-clob-sdk 0.1.5__py3-none-any.whl → 0.1.6__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.
- opinion_clob_sdk/__init__.py +1 -1
- opinion_clob_sdk/opinion_clob_sdk/__init__.py +1 -1
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/__init__.py +1 -1
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/__init__.py +1 -1
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/__init__.py +1 -1
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/__init__.py +26 -0
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/__init__.py +0 -0
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/contract_caller.py +390 -0
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/contracts/__init__.py +0 -0
- 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
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/contracts/erc20.py +111 -0
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/exception.py +11 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/utils.py +109 -0
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/__init__.py +0 -0
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/constants.py +19 -0
- 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
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/enums.py +6 -0
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/exceptions.py +94 -0
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/multisend.py +347 -0
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe.py +141 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/signatures.py +63 -0
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/typing.py +17 -0
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/utils.py +218 -0
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/config.py +4 -0
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/model.py +19 -0
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/sdk.py +950 -0
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/sdk.py +14 -11
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/sdk.py +14 -11
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/verify_api_calls.py +135 -0
- opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/sdk.py +14 -11
- opinion_clob_sdk/opinion_clob_sdk/sdk.py +14 -11
- opinion_clob_sdk/sdk.py +14 -11
- {opinion_clob_sdk-0.1.5.dist-info → opinion_clob_sdk-0.1.6.dist-info}/METADATA +1 -1
- {opinion_clob_sdk-0.1.5.dist-info → opinion_clob_sdk-0.1.6.dist-info}/RECORD +57 -14
- {opinion_clob_sdk-0.1.5.dist-info → opinion_clob_sdk-0.1.6.dist-info}/WHEEL +0 -0
- {opinion_clob_sdk-0.1.5.dist-info → opinion_clob_sdk-0.1.6.dist-info}/top_level.txt +0 -0
|
@@ -314,7 +314,7 @@ class Client:
|
|
|
314
314
|
|
|
315
315
|
result = self.market_api.openapi_market_get(
|
|
316
316
|
apikey=self.api_key,
|
|
317
|
-
|
|
317
|
+
market_type=topic_type.value if topic_type else None,
|
|
318
318
|
page=page,
|
|
319
319
|
limit=limit,
|
|
320
320
|
chain_id=str(self.chain_id),
|
|
@@ -376,8 +376,15 @@ class Client:
|
|
|
376
376
|
logging.error(f"API error: {e}")
|
|
377
377
|
raise OpenApiError(f"Failed to get categorical market: {e}")
|
|
378
378
|
|
|
379
|
-
def get_price_history(self, token_id, interval="
|
|
380
|
-
"""Get price history/candlestick data for a token
|
|
379
|
+
def get_price_history(self, token_id, interval="1h", start_at=None, end_at=None):
|
|
380
|
+
"""Get price history/candlestick data for a token
|
|
381
|
+
|
|
382
|
+
Args:
|
|
383
|
+
token_id: Token ID
|
|
384
|
+
interval: Price data interval: 1m, 1h, 1d, 1w, max (default: 1h)
|
|
385
|
+
start_at: Start timestamp in Unix seconds (optional)
|
|
386
|
+
end_at: End timestamp in Unix seconds (optional)
|
|
387
|
+
"""
|
|
381
388
|
try:
|
|
382
389
|
if not token_id:
|
|
383
390
|
raise InvalidParamError(MISSING_TOKEN_ID_MSG)
|
|
@@ -389,8 +396,8 @@ class Client:
|
|
|
389
396
|
apikey=self.api_key,
|
|
390
397
|
token_id=token_id,
|
|
391
398
|
interval=interval,
|
|
392
|
-
|
|
393
|
-
|
|
399
|
+
start_at=start_at,
|
|
400
|
+
end_at=end_at
|
|
394
401
|
)
|
|
395
402
|
return result
|
|
396
403
|
except InvalidParamError as e:
|
|
@@ -901,15 +908,11 @@ class Client:
|
|
|
901
908
|
logging.error(f"API error: {e}")
|
|
902
909
|
raise OpenApiError(f"Failed to get positions: {e}")
|
|
903
910
|
|
|
904
|
-
def get_my_balances(self
|
|
905
|
-
"""Get user's balances"""
|
|
911
|
+
def get_my_balances(self):
|
|
912
|
+
"""Get user's balances (uses authenticated user from apikey)"""
|
|
906
913
|
try:
|
|
907
|
-
if not wallet_address:
|
|
908
|
-
wallet_address = self.contract_caller.signer.address()
|
|
909
|
-
|
|
910
914
|
result = self.market_api.openapi_user_balance_get(
|
|
911
915
|
apikey=self.api_key,
|
|
912
|
-
wallet_address=wallet_address,
|
|
913
916
|
chain_id=str(self.chain_id)
|
|
914
917
|
)
|
|
915
918
|
return result
|
|
@@ -314,7 +314,7 @@ class Client:
|
|
|
314
314
|
|
|
315
315
|
result = self.market_api.openapi_market_get(
|
|
316
316
|
apikey=self.api_key,
|
|
317
|
-
|
|
317
|
+
market_type=topic_type.value if topic_type else None,
|
|
318
318
|
page=page,
|
|
319
319
|
limit=limit,
|
|
320
320
|
chain_id=str(self.chain_id),
|
|
@@ -376,8 +376,15 @@ class Client:
|
|
|
376
376
|
logging.error(f"API error: {e}")
|
|
377
377
|
raise OpenApiError(f"Failed to get categorical market: {e}")
|
|
378
378
|
|
|
379
|
-
def get_price_history(self, token_id, interval="
|
|
380
|
-
"""Get price history/candlestick data for a token
|
|
379
|
+
def get_price_history(self, token_id, interval="1h", start_at=None, end_at=None):
|
|
380
|
+
"""Get price history/candlestick data for a token
|
|
381
|
+
|
|
382
|
+
Args:
|
|
383
|
+
token_id: Token ID
|
|
384
|
+
interval: Price data interval: 1m, 1h, 1d, 1w, max (default: 1h)
|
|
385
|
+
start_at: Start timestamp in Unix seconds (optional)
|
|
386
|
+
end_at: End timestamp in Unix seconds (optional)
|
|
387
|
+
"""
|
|
381
388
|
try:
|
|
382
389
|
if not token_id:
|
|
383
390
|
raise InvalidParamError(MISSING_TOKEN_ID_MSG)
|
|
@@ -389,8 +396,8 @@ class Client:
|
|
|
389
396
|
apikey=self.api_key,
|
|
390
397
|
token_id=token_id,
|
|
391
398
|
interval=interval,
|
|
392
|
-
|
|
393
|
-
|
|
399
|
+
start_at=start_at,
|
|
400
|
+
end_at=end_at
|
|
394
401
|
)
|
|
395
402
|
return result
|
|
396
403
|
except InvalidParamError as e:
|
|
@@ -901,15 +908,11 @@ class Client:
|
|
|
901
908
|
logging.error(f"API error: {e}")
|
|
902
909
|
raise OpenApiError(f"Failed to get positions: {e}")
|
|
903
910
|
|
|
904
|
-
def get_my_balances(self
|
|
905
|
-
"""Get user's balances"""
|
|
911
|
+
def get_my_balances(self):
|
|
912
|
+
"""Get user's balances (uses authenticated user from apikey)"""
|
|
906
913
|
try:
|
|
907
|
-
if not wallet_address:
|
|
908
|
-
wallet_address = self.contract_caller.signer.address()
|
|
909
|
-
|
|
910
914
|
result = self.market_api.openapi_user_balance_get(
|
|
911
915
|
apikey=self.api_key,
|
|
912
|
-
wallet_address=wallet_address,
|
|
913
916
|
chain_id=str(self.chain_id)
|
|
914
917
|
)
|
|
915
918
|
return result
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Verification script to check all API method signatures in opinion_clob_sdk
|
|
3
|
+
This script validates that all API calls pass the correct parameters to opinion_api
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import inspect
|
|
7
|
+
from opinion_api.api.prediction_market_api import PredictionMarketApi
|
|
8
|
+
from opinion_api.api.user_api import UserApi
|
|
9
|
+
|
|
10
|
+
# Expected API calls with required parameters
|
|
11
|
+
EXPECTED_API_CALLS = {
|
|
12
|
+
# Market API calls
|
|
13
|
+
'openapi_quote_token_get': ['apikey', 'chain_id'], # chain_id should be str
|
|
14
|
+
'openapi_market_get': ['apikey', 'chain_id'], # chain_id should be str
|
|
15
|
+
'openapi_market_market_id_get': ['apikey', 'market_id'],
|
|
16
|
+
'openapi_market_categorical_market_id_get': ['apikey', 'market_id'],
|
|
17
|
+
'openapi_token_price_history_get': ['apikey', 'token_id', 'interval', 'start_time', 'bars'],
|
|
18
|
+
'openapi_token_orderbook_get': ['apikey', 'token_id'],
|
|
19
|
+
'openapi_token_latest_price_get': ['apikey', 'token_id'],
|
|
20
|
+
'openapi_token_fee_rates_get': ['apikey', 'token_id'],
|
|
21
|
+
'openapi_order_post': ['apikey', 'v2_add_order_req'],
|
|
22
|
+
'openapi_order_cancel_post': ['apikey', 'openapi_cancel_order_request_open_api'],
|
|
23
|
+
'openapi_order_get': ['apikey', 'chain_id'], # chain_id should be str
|
|
24
|
+
'openapi_order_order_id_get': ['apikey', 'order_id'],
|
|
25
|
+
'openapi_positions_get': ['apikey', 'chain_id'], # chain_id should be str
|
|
26
|
+
'openapi_user_balance_get': ['apikey', 'wallet_address', 'chain_id'], # chain_id should be str
|
|
27
|
+
'openapi_trade_get': ['apikey', 'chain_id'], # chain_id should be str
|
|
28
|
+
|
|
29
|
+
# User API calls
|
|
30
|
+
'openapi_user_auth_get': ['apikey'],
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
def verify_api_signatures():
|
|
34
|
+
"""Verify that all API methods have the expected signatures"""
|
|
35
|
+
errors = []
|
|
36
|
+
|
|
37
|
+
# Check PredictionMarketApi methods
|
|
38
|
+
for method_name, expected_params in EXPECTED_API_CALLS.items():
|
|
39
|
+
if method_name == 'openapi_user_auth_get':
|
|
40
|
+
continue # This is in UserApi
|
|
41
|
+
|
|
42
|
+
if not hasattr(PredictionMarketApi, method_name):
|
|
43
|
+
errors.append(f"❌ Method {method_name} not found in PredictionMarketApi")
|
|
44
|
+
continue
|
|
45
|
+
|
|
46
|
+
method = getattr(PredictionMarketApi, method_name)
|
|
47
|
+
sig = inspect.signature(method)
|
|
48
|
+
params = list(sig.parameters.keys())
|
|
49
|
+
|
|
50
|
+
# Remove 'self' from params
|
|
51
|
+
if 'self' in params:
|
|
52
|
+
params.remove('self')
|
|
53
|
+
|
|
54
|
+
# Check if all expected params are in the signature
|
|
55
|
+
for expected_param in expected_params:
|
|
56
|
+
if expected_param not in params:
|
|
57
|
+
errors.append(f"❌ {method_name}: missing parameter '{expected_param}'")
|
|
58
|
+
|
|
59
|
+
# Check UserApi methods
|
|
60
|
+
if hasattr(UserApi, 'openapi_user_auth_get'):
|
|
61
|
+
method = getattr(UserApi, 'openapi_user_auth_get')
|
|
62
|
+
sig = inspect.signature(method)
|
|
63
|
+
params = list(sig.parameters.keys())
|
|
64
|
+
|
|
65
|
+
if 'self' in params:
|
|
66
|
+
params.remove('self')
|
|
67
|
+
|
|
68
|
+
if 'apikey' not in params:
|
|
69
|
+
errors.append("❌ openapi_user_auth_get: missing parameter 'apikey'")
|
|
70
|
+
else:
|
|
71
|
+
errors.append("❌ Method openapi_user_auth_get not found in UserApi")
|
|
72
|
+
|
|
73
|
+
return errors
|
|
74
|
+
|
|
75
|
+
def check_sdk_calls():
|
|
76
|
+
"""Check that SDK methods call the API with correct parameters"""
|
|
77
|
+
import re
|
|
78
|
+
|
|
79
|
+
# Read sdk.py
|
|
80
|
+
with open('/Users/nikli/Work/openapi/openapi/python_sdk/opinion_clob_sdk/sdk.py', 'r') as f:
|
|
81
|
+
sdk_content = f.read()
|
|
82
|
+
|
|
83
|
+
issues = []
|
|
84
|
+
|
|
85
|
+
# Find all API calls in SDK
|
|
86
|
+
api_call_pattern = r'self\.(market_api|user_api)\.(\w+)\((.*?)\)'
|
|
87
|
+
matches = re.finditer(api_call_pattern, sdk_content, re.MULTILINE | re.DOTALL)
|
|
88
|
+
|
|
89
|
+
for match in matches:
|
|
90
|
+
api_type = match.group(1)
|
|
91
|
+
method_name = match.group(2)
|
|
92
|
+
params_str = match.group(3)
|
|
93
|
+
|
|
94
|
+
# Check for apikey parameter
|
|
95
|
+
if 'apikey=' not in params_str:
|
|
96
|
+
issues.append(f"⚠️ {method_name}: missing apikey parameter")
|
|
97
|
+
elif 'apikey=self.api_key' not in params_str:
|
|
98
|
+
issues.append(f"⚠️ {method_name}: apikey should be self.api_key")
|
|
99
|
+
|
|
100
|
+
# Check for chain_id parameter (should be str)
|
|
101
|
+
if 'chain_id=' in params_str:
|
|
102
|
+
if 'chain_id=str(self.chain_id)' not in params_str:
|
|
103
|
+
issues.append(f"⚠️ {method_name}: chain_id should be str(self.chain_id)")
|
|
104
|
+
|
|
105
|
+
return issues
|
|
106
|
+
|
|
107
|
+
if __name__ == '__main__':
|
|
108
|
+
print("=" * 70)
|
|
109
|
+
print("Verifying API Signatures in opinion_api")
|
|
110
|
+
print("=" * 70)
|
|
111
|
+
|
|
112
|
+
errors = verify_api_signatures()
|
|
113
|
+
if errors:
|
|
114
|
+
for error in errors:
|
|
115
|
+
print(error)
|
|
116
|
+
print(f"\n❌ Found {len(errors)} signature issues")
|
|
117
|
+
else:
|
|
118
|
+
print("✅ All API signatures verified successfully")
|
|
119
|
+
|
|
120
|
+
print("\n" + "=" * 70)
|
|
121
|
+
print("Checking SDK API Calls")
|
|
122
|
+
print("=" * 70)
|
|
123
|
+
|
|
124
|
+
issues = check_sdk_calls()
|
|
125
|
+
if issues:
|
|
126
|
+
for issue in issues:
|
|
127
|
+
print(issue)
|
|
128
|
+
print(f"\n⚠️ Found {len(issues)} potential issues in SDK calls")
|
|
129
|
+
else:
|
|
130
|
+
print("✅ All SDK API calls verified successfully")
|
|
131
|
+
|
|
132
|
+
if not errors and not issues:
|
|
133
|
+
print("\n" + "=" * 70)
|
|
134
|
+
print("🎉 All verifications passed!")
|
|
135
|
+
print("=" * 70)
|
|
@@ -314,7 +314,7 @@ class Client:
|
|
|
314
314
|
|
|
315
315
|
result = self.market_api.openapi_market_get(
|
|
316
316
|
apikey=self.api_key,
|
|
317
|
-
|
|
317
|
+
market_type=topic_type.value if topic_type else None,
|
|
318
318
|
page=page,
|
|
319
319
|
limit=limit,
|
|
320
320
|
chain_id=str(self.chain_id),
|
|
@@ -376,8 +376,15 @@ class Client:
|
|
|
376
376
|
logging.error(f"API error: {e}")
|
|
377
377
|
raise OpenApiError(f"Failed to get categorical market: {e}")
|
|
378
378
|
|
|
379
|
-
def get_price_history(self, token_id, interval="
|
|
380
|
-
"""Get price history/candlestick data for a token
|
|
379
|
+
def get_price_history(self, token_id, interval="1h", start_at=None, end_at=None):
|
|
380
|
+
"""Get price history/candlestick data for a token
|
|
381
|
+
|
|
382
|
+
Args:
|
|
383
|
+
token_id: Token ID
|
|
384
|
+
interval: Price data interval: 1m, 1h, 1d, 1w, max (default: 1h)
|
|
385
|
+
start_at: Start timestamp in Unix seconds (optional)
|
|
386
|
+
end_at: End timestamp in Unix seconds (optional)
|
|
387
|
+
"""
|
|
381
388
|
try:
|
|
382
389
|
if not token_id:
|
|
383
390
|
raise InvalidParamError(MISSING_TOKEN_ID_MSG)
|
|
@@ -389,8 +396,8 @@ class Client:
|
|
|
389
396
|
apikey=self.api_key,
|
|
390
397
|
token_id=token_id,
|
|
391
398
|
interval=interval,
|
|
392
|
-
|
|
393
|
-
|
|
399
|
+
start_at=start_at,
|
|
400
|
+
end_at=end_at
|
|
394
401
|
)
|
|
395
402
|
return result
|
|
396
403
|
except InvalidParamError as e:
|
|
@@ -901,15 +908,11 @@ class Client:
|
|
|
901
908
|
logging.error(f"API error: {e}")
|
|
902
909
|
raise OpenApiError(f"Failed to get positions: {e}")
|
|
903
910
|
|
|
904
|
-
def get_my_balances(self
|
|
905
|
-
"""Get user's balances"""
|
|
911
|
+
def get_my_balances(self):
|
|
912
|
+
"""Get user's balances (uses authenticated user from apikey)"""
|
|
906
913
|
try:
|
|
907
|
-
if not wallet_address:
|
|
908
|
-
wallet_address = self.contract_caller.signer.address()
|
|
909
|
-
|
|
910
914
|
result = self.market_api.openapi_user_balance_get(
|
|
911
915
|
apikey=self.api_key,
|
|
912
|
-
wallet_address=wallet_address,
|
|
913
916
|
chain_id=str(self.chain_id)
|
|
914
917
|
)
|
|
915
918
|
return result
|
|
@@ -314,7 +314,7 @@ class Client:
|
|
|
314
314
|
|
|
315
315
|
result = self.market_api.openapi_market_get(
|
|
316
316
|
apikey=self.api_key,
|
|
317
|
-
|
|
317
|
+
market_type=topic_type.value if topic_type else None,
|
|
318
318
|
page=page,
|
|
319
319
|
limit=limit,
|
|
320
320
|
chain_id=str(self.chain_id),
|
|
@@ -376,8 +376,15 @@ class Client:
|
|
|
376
376
|
logging.error(f"API error: {e}")
|
|
377
377
|
raise OpenApiError(f"Failed to get categorical market: {e}")
|
|
378
378
|
|
|
379
|
-
def get_price_history(self, token_id, interval="
|
|
380
|
-
"""Get price history/candlestick data for a token
|
|
379
|
+
def get_price_history(self, token_id, interval="1h", start_at=None, end_at=None):
|
|
380
|
+
"""Get price history/candlestick data for a token
|
|
381
|
+
|
|
382
|
+
Args:
|
|
383
|
+
token_id: Token ID
|
|
384
|
+
interval: Price data interval: 1m, 1h, 1d, 1w, max (default: 1h)
|
|
385
|
+
start_at: Start timestamp in Unix seconds (optional)
|
|
386
|
+
end_at: End timestamp in Unix seconds (optional)
|
|
387
|
+
"""
|
|
381
388
|
try:
|
|
382
389
|
if not token_id:
|
|
383
390
|
raise InvalidParamError(MISSING_TOKEN_ID_MSG)
|
|
@@ -389,8 +396,8 @@ class Client:
|
|
|
389
396
|
apikey=self.api_key,
|
|
390
397
|
token_id=token_id,
|
|
391
398
|
interval=interval,
|
|
392
|
-
|
|
393
|
-
|
|
399
|
+
start_at=start_at,
|
|
400
|
+
end_at=end_at
|
|
394
401
|
)
|
|
395
402
|
return result
|
|
396
403
|
except InvalidParamError as e:
|
|
@@ -901,15 +908,11 @@ class Client:
|
|
|
901
908
|
logging.error(f"API error: {e}")
|
|
902
909
|
raise OpenApiError(f"Failed to get positions: {e}")
|
|
903
910
|
|
|
904
|
-
def get_my_balances(self
|
|
905
|
-
"""Get user's balances"""
|
|
911
|
+
def get_my_balances(self):
|
|
912
|
+
"""Get user's balances (uses authenticated user from apikey)"""
|
|
906
913
|
try:
|
|
907
|
-
if not wallet_address:
|
|
908
|
-
wallet_address = self.contract_caller.signer.address()
|
|
909
|
-
|
|
910
914
|
result = self.market_api.openapi_user_balance_get(
|
|
911
915
|
apikey=self.api_key,
|
|
912
|
-
wallet_address=wallet_address,
|
|
913
916
|
chain_id=str(self.chain_id)
|
|
914
917
|
)
|
|
915
918
|
return result
|
opinion_clob_sdk/sdk.py
CHANGED
|
@@ -314,7 +314,7 @@ class Client:
|
|
|
314
314
|
|
|
315
315
|
result = self.market_api.openapi_market_get(
|
|
316
316
|
apikey=self.api_key,
|
|
317
|
-
|
|
317
|
+
market_type=topic_type.value if topic_type else None,
|
|
318
318
|
page=page,
|
|
319
319
|
limit=limit,
|
|
320
320
|
chain_id=str(self.chain_id),
|
|
@@ -376,8 +376,15 @@ class Client:
|
|
|
376
376
|
logging.error(f"API error: {e}")
|
|
377
377
|
raise OpenApiError(f"Failed to get categorical market: {e}")
|
|
378
378
|
|
|
379
|
-
def get_price_history(self, token_id, interval="
|
|
380
|
-
"""Get price history/candlestick data for a token
|
|
379
|
+
def get_price_history(self, token_id, interval="1h", start_at=None, end_at=None):
|
|
380
|
+
"""Get price history/candlestick data for a token
|
|
381
|
+
|
|
382
|
+
Args:
|
|
383
|
+
token_id: Token ID
|
|
384
|
+
interval: Price data interval: 1m, 1h, 1d, 1w, max (default: 1h)
|
|
385
|
+
start_at: Start timestamp in Unix seconds (optional)
|
|
386
|
+
end_at: End timestamp in Unix seconds (optional)
|
|
387
|
+
"""
|
|
381
388
|
try:
|
|
382
389
|
if not token_id:
|
|
383
390
|
raise InvalidParamError(MISSING_TOKEN_ID_MSG)
|
|
@@ -389,8 +396,8 @@ class Client:
|
|
|
389
396
|
apikey=self.api_key,
|
|
390
397
|
token_id=token_id,
|
|
391
398
|
interval=interval,
|
|
392
|
-
|
|
393
|
-
|
|
399
|
+
start_at=start_at,
|
|
400
|
+
end_at=end_at
|
|
394
401
|
)
|
|
395
402
|
return result
|
|
396
403
|
except InvalidParamError as e:
|
|
@@ -901,15 +908,11 @@ class Client:
|
|
|
901
908
|
logging.error(f"API error: {e}")
|
|
902
909
|
raise OpenApiError(f"Failed to get positions: {e}")
|
|
903
910
|
|
|
904
|
-
def get_my_balances(self
|
|
905
|
-
"""Get user's balances"""
|
|
911
|
+
def get_my_balances(self):
|
|
912
|
+
"""Get user's balances (uses authenticated user from apikey)"""
|
|
906
913
|
try:
|
|
907
|
-
if not wallet_address:
|
|
908
|
-
wallet_address = self.contract_caller.signer.address()
|
|
909
|
-
|
|
910
914
|
result = self.market_api.openapi_user_balance_get(
|
|
911
915
|
apikey=self.api_key,
|
|
912
|
-
wallet_address=wallet_address,
|
|
913
916
|
chain_id=str(self.chain_id)
|
|
914
917
|
)
|
|
915
918
|
return result
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
opinion_clob_sdk/__init__.py,sha256=
|
|
1
|
+
opinion_clob_sdk/__init__.py,sha256=6caJl3CeO_qbCcOqAAp69dE9XQR2W6sX0z5g7YSDeaU,624
|
|
2
2
|
opinion_clob_sdk/config.py,sha256=JoQvyK5IAnPiwwB8YZsmUtdEr-5hW2YG6iz1pOnLvDk,139
|
|
3
3
|
opinion_clob_sdk/model.py,sha256=UBrdsg3FtSV1xl3pihkXwv_frI2w2z68VI0cpv2LQh0,287
|
|
4
|
-
opinion_clob_sdk/sdk.py,sha256=
|
|
4
|
+
opinion_clob_sdk/sdk.py,sha256=u9MFg4LXdlNMo49rbkFMAzWY3m8UMDA8gZt2UQh8LJI,39276
|
|
5
5
|
opinion_clob_sdk/verify_api_calls.py,sha256=MU4NEyfQ5hDmFJ0lT8g7KXVdlZ0cBtFyBTCbhhfI6a4,5031
|
|
6
6
|
opinion_clob_sdk/chain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
7
|
opinion_clob_sdk/chain/contract_caller.py,sha256=AKCD1ZvLTbJX_YWFJecRtZ4Pi7L3_20Q7YOSGfAolEY,17148
|
|
@@ -41,10 +41,10 @@ opinion_clob_sdk/chain/safe/safe_contracts/compatibility_fallback_handler_v1_3_0
|
|
|
41
41
|
opinion_clob_sdk/chain/safe/safe_contracts/multisend_v1_3_0.py,sha256=8oGhNkS2k2Cy5pG6YNt_BKytS3AEtPeXv4rkyXv_p0M,380
|
|
42
42
|
opinion_clob_sdk/chain/safe/safe_contracts/safe_v1_3_0.py,sha256=YCUWTpf_pR44iUUkDl42f3n2YXSVGlTBcvMtReN7rlM,21922
|
|
43
43
|
opinion_clob_sdk/chain/safe/safe_contracts/utils.py,sha256=xnW8JSq8tVMfvZ4lhT-L96P3Usjs2zrZ5jzrNZvFHjc,631
|
|
44
|
-
opinion_clob_sdk/opinion_clob_sdk/__init__.py,sha256=
|
|
44
|
+
opinion_clob_sdk/opinion_clob_sdk/__init__.py,sha256=6caJl3CeO_qbCcOqAAp69dE9XQR2W6sX0z5g7YSDeaU,624
|
|
45
45
|
opinion_clob_sdk/opinion_clob_sdk/config.py,sha256=JoQvyK5IAnPiwwB8YZsmUtdEr-5hW2YG6iz1pOnLvDk,139
|
|
46
46
|
opinion_clob_sdk/opinion_clob_sdk/model.py,sha256=UBrdsg3FtSV1xl3pihkXwv_frI2w2z68VI0cpv2LQh0,287
|
|
47
|
-
opinion_clob_sdk/opinion_clob_sdk/sdk.py,sha256=
|
|
47
|
+
opinion_clob_sdk/opinion_clob_sdk/sdk.py,sha256=u9MFg4LXdlNMo49rbkFMAzWY3m8UMDA8gZt2UQh8LJI,39276
|
|
48
48
|
opinion_clob_sdk/opinion_clob_sdk/verify_api_calls.py,sha256=MU4NEyfQ5hDmFJ0lT8g7KXVdlZ0cBtFyBTCbhhfI6a4,5031
|
|
49
49
|
opinion_clob_sdk/opinion_clob_sdk/chain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
50
50
|
opinion_clob_sdk/opinion_clob_sdk/chain/contract_caller.py,sha256=AKCD1ZvLTbJX_YWFJecRtZ4Pi7L3_20Q7YOSGfAolEY,17148
|
|
@@ -84,10 +84,10 @@ opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_contracts/compatibility_fallba
|
|
|
84
84
|
opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_contracts/multisend_v1_3_0.py,sha256=8oGhNkS2k2Cy5pG6YNt_BKytS3AEtPeXv4rkyXv_p0M,380
|
|
85
85
|
opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_contracts/safe_v1_3_0.py,sha256=YCUWTpf_pR44iUUkDl42f3n2YXSVGlTBcvMtReN7rlM,21922
|
|
86
86
|
opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_contracts/utils.py,sha256=xnW8JSq8tVMfvZ4lhT-L96P3Usjs2zrZ5jzrNZvFHjc,631
|
|
87
|
-
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/__init__.py,sha256=
|
|
87
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/__init__.py,sha256=6caJl3CeO_qbCcOqAAp69dE9XQR2W6sX0z5g7YSDeaU,624
|
|
88
88
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/config.py,sha256=JoQvyK5IAnPiwwB8YZsmUtdEr-5hW2YG6iz1pOnLvDk,139
|
|
89
89
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/model.py,sha256=UBrdsg3FtSV1xl3pihkXwv_frI2w2z68VI0cpv2LQh0,287
|
|
90
|
-
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/sdk.py,sha256=
|
|
90
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/sdk.py,sha256=u9MFg4LXdlNMo49rbkFMAzWY3m8UMDA8gZt2UQh8LJI,39276
|
|
91
91
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/verify_api_calls.py,sha256=MU4NEyfQ5hDmFJ0lT8g7KXVdlZ0cBtFyBTCbhhfI6a4,5031
|
|
92
92
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
93
93
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/contract_caller.py,sha256=AKCD1ZvLTbJX_YWFJecRtZ4Pi7L3_20Q7YOSGfAolEY,17148
|
|
@@ -127,10 +127,11 @@ opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_contracts/com
|
|
|
127
127
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_contracts/multisend_v1_3_0.py,sha256=8oGhNkS2k2Cy5pG6YNt_BKytS3AEtPeXv4rkyXv_p0M,380
|
|
128
128
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_contracts/safe_v1_3_0.py,sha256=YCUWTpf_pR44iUUkDl42f3n2YXSVGlTBcvMtReN7rlM,21922
|
|
129
129
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_contracts/utils.py,sha256=xnW8JSq8tVMfvZ4lhT-L96P3Usjs2zrZ5jzrNZvFHjc,631
|
|
130
|
-
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/__init__.py,sha256=
|
|
130
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/__init__.py,sha256=6caJl3CeO_qbCcOqAAp69dE9XQR2W6sX0z5g7YSDeaU,624
|
|
131
131
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/config.py,sha256=JoQvyK5IAnPiwwB8YZsmUtdEr-5hW2YG6iz1pOnLvDk,139
|
|
132
132
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/model.py,sha256=UBrdsg3FtSV1xl3pihkXwv_frI2w2z68VI0cpv2LQh0,287
|
|
133
|
-
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/sdk.py,sha256=
|
|
133
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/sdk.py,sha256=u9MFg4LXdlNMo49rbkFMAzWY3m8UMDA8gZt2UQh8LJI,39276
|
|
134
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/verify_api_calls.py,sha256=MU4NEyfQ5hDmFJ0lT8g7KXVdlZ0cBtFyBTCbhhfI6a4,5031
|
|
134
135
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
135
136
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/contract_caller.py,sha256=AKCD1ZvLTbJX_YWFJecRtZ4Pi7L3_20Q7YOSGfAolEY,17148
|
|
136
137
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/exception.py,sha256=6SSx4T_WZL8BxzRbfGSDp6eGD4zJ5ACeBB58DlrpmoA,234
|
|
@@ -169,10 +170,10 @@ opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/s
|
|
|
169
170
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_contracts/multisend_v1_3_0.py,sha256=8oGhNkS2k2Cy5pG6YNt_BKytS3AEtPeXv4rkyXv_p0M,380
|
|
170
171
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_contracts/safe_v1_3_0.py,sha256=YCUWTpf_pR44iUUkDl42f3n2YXSVGlTBcvMtReN7rlM,21922
|
|
171
172
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_contracts/utils.py,sha256=xnW8JSq8tVMfvZ4lhT-L96P3Usjs2zrZ5jzrNZvFHjc,631
|
|
172
|
-
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/__init__.py,sha256=
|
|
173
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/__init__.py,sha256=6caJl3CeO_qbCcOqAAp69dE9XQR2W6sX0z5g7YSDeaU,624
|
|
173
174
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/config.py,sha256=JoQvyK5IAnPiwwB8YZsmUtdEr-5hW2YG6iz1pOnLvDk,139
|
|
174
175
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/model.py,sha256=UBrdsg3FtSV1xl3pihkXwv_frI2w2z68VI0cpv2LQh0,287
|
|
175
|
-
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/sdk.py,sha256=
|
|
176
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/sdk.py,sha256=u9MFg4LXdlNMo49rbkFMAzWY3m8UMDA8gZt2UQh8LJI,39276
|
|
176
177
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
177
178
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/contract_caller.py,sha256=AKCD1ZvLTbJX_YWFJecRtZ4Pi7L3_20Q7YOSGfAolEY,17148
|
|
178
179
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/exception.py,sha256=6SSx4T_WZL8BxzRbfGSDp6eGD4zJ5ACeBB58DlrpmoA,234
|
|
@@ -211,7 +212,49 @@ opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob
|
|
|
211
212
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_contracts/multisend_v1_3_0.py,sha256=8oGhNkS2k2Cy5pG6YNt_BKytS3AEtPeXv4rkyXv_p0M,380
|
|
212
213
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_contracts/safe_v1_3_0.py,sha256=YCUWTpf_pR44iUUkDl42f3n2YXSVGlTBcvMtReN7rlM,21922
|
|
213
214
|
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_contracts/utils.py,sha256=xnW8JSq8tVMfvZ4lhT-L96P3Usjs2zrZ5jzrNZvFHjc,631
|
|
214
|
-
opinion_clob_sdk
|
|
215
|
-
opinion_clob_sdk
|
|
216
|
-
opinion_clob_sdk
|
|
217
|
-
opinion_clob_sdk
|
|
215
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/__init__.py,sha256=6caJl3CeO_qbCcOqAAp69dE9XQR2W6sX0z5g7YSDeaU,624
|
|
216
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/config.py,sha256=JoQvyK5IAnPiwwB8YZsmUtdEr-5hW2YG6iz1pOnLvDk,139
|
|
217
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/model.py,sha256=UBrdsg3FtSV1xl3pihkXwv_frI2w2z68VI0cpv2LQh0,287
|
|
218
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/sdk.py,sha256=u9MFg4LXdlNMo49rbkFMAzWY3m8UMDA8gZt2UQh8LJI,39276
|
|
219
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
220
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/contract_caller.py,sha256=AKCD1ZvLTbJX_YWFJecRtZ4Pi7L3_20Q7YOSGfAolEY,17148
|
|
221
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/exception.py,sha256=6SSx4T_WZL8BxzRbfGSDp6eGD4zJ5ACeBB58DlrpmoA,234
|
|
222
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
223
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/contracts/conditional_tokens.py,sha256=P_MpetUKMNnT_hchZ0A9q7-g_ZKjkOr-BLldPXB4J7o,13998
|
|
224
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/contracts/erc20.py,sha256=C56GdZeMxcgdJTmMQKSfA8xHzDdNT71SaNf6xhJIVMY,2843
|
|
225
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
226
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/constants.py,sha256=afsZ0OahGbCzNPE2rXKU1k8gQymkh4ODLKh4KPklvnA,70
|
|
227
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/signer.py,sha256=NAMHcMREbRUgrz1-28sqpPoMD8LkRJSyUn7-FLUkYsM,447
|
|
228
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/py_order_utils/utils.py,sha256=-sf0Vq16bJ8eAc-p63r0TLqtbQkKWEQ6ccSAoQy1r7M,3837
|
|
229
|
+
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,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
230
|
+
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,sha256=lw925Mz6MerqCyXNgonhNP-495gZPm_me4HtlhyhVHM,1272
|
|
231
|
+
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,sha256=525fSH8Q241VjxdllBkWi3DiW_-6I1AmG-iHwZBTp4E,47
|
|
232
|
+
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,sha256=NybKbNhRd1jceSjtp6lL9x1DjDzJ4ClhsAK2zS58P4c,2968
|
|
233
|
+
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,sha256=0xPLO9rEDsw_s3UQiooquEarvFe8KneafiaY6PgkLIo,1773
|
|
234
|
+
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,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
235
|
+
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,sha256=fI2NhqX_cdUmZivliki4rHXJCxQQY5ykjh8a58FFfPE,5852
|
|
236
|
+
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,sha256=kYXJ0Ikk3Qnr00yCIfrtJibFve8DUjNSJ_xiLw7IphY,185
|
|
237
|
+
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,sha256=FZVZnutyLmgiNCVoz-1fjxxFzhH3z24xy5BY6pkIfs8,177
|
|
238
|
+
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,sha256=lKoqi7gVay9NjCv_2QTdelP4EFy61Ez0UeY1ytOmooM,224
|
|
239
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
240
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/constants.py,sha256=H4UKUXJxR9pvwRHU4WM1p6wZ6yGjApOpWfEMYj-W_iE,572
|
|
241
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/enums.py,sha256=aP9-PfC97ZYtX0dKOYKAyxITVrCDMIAY2_mHMdU8IJM,90
|
|
242
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/exceptions.py,sha256=kp0jfnP93JyEkEgwPERL6MZ9D8ozbioURcKjMwSLjgE,1498
|
|
243
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/multisend.py,sha256=l-lWlb7jSzmNCyFbpAr-d8SYEKM4QRm_h0tF53T3CzE,12659
|
|
244
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe.py,sha256=OO-010or-qCCwCSTSh4qKGmoSwEsL2IYECW8IYmSmKQ,5216
|
|
245
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_signature.py,sha256=W1Xn73DSzE3PZ6ITyikhdWhosY3wdey-scX0Jci037I,12559
|
|
246
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_test.py,sha256=pbCYOLa_6cQbC0KOA7t41ItunauhHfgN7uneENfMXPk,1384
|
|
247
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_tx.py,sha256=QxKzv0EA7uwjakFMDVoDLrzYlZANpEhblPBQ7ZcF9zE,17211
|
|
248
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/signatures.py,sha256=8l6t6R21E9Mj4_USagIp1GiUlJmAp0Cqq9VpB7Zk960,1978
|
|
249
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/typing.py,sha256=wytgXXRbpyccM_HxpQLeDzfo40Ch_K-Z_ivORb-eNZo,419
|
|
250
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/utils.py,sha256=1u4yKwMCvfOlg9NsWbsM2WszQoO1wd6D2Z2aGAb1jjo,6469
|
|
251
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/eip712/__init__.py,sha256=ge0S6t2RtFc_mLFr4D93l6WLS2EONKgkuPGkcP_nDJ4,5915
|
|
252
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
253
|
+
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,sha256=_aENMzhiQgKSzXxn-TnVFWE84lIgDv1Iiw-VdIC1IMw,5968
|
|
254
|
+
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,sha256=8oGhNkS2k2Cy5pG6YNt_BKytS3AEtPeXv4rkyXv_p0M,380
|
|
255
|
+
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,sha256=YCUWTpf_pR44iUUkDl42f3n2YXSVGlTBcvMtReN7rlM,21922
|
|
256
|
+
opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/opinion_clob_sdk/chain/safe/safe_contracts/utils.py,sha256=xnW8JSq8tVMfvZ4lhT-L96P3Usjs2zrZ5jzrNZvFHjc,631
|
|
257
|
+
opinion_clob_sdk-0.1.6.dist-info/METADATA,sha256=7_Jb8Lm_licGEHAKPi0DNQE7yL48ptfadz-K7QXFTdw,2776
|
|
258
|
+
opinion_clob_sdk-0.1.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
259
|
+
opinion_clob_sdk-0.1.6.dist-info/top_level.txt,sha256=4gH76GRX1WZSc3b146FfxE6BAxggJD8y3NMEHUOSPA0,17
|
|
260
|
+
opinion_clob_sdk-0.1.6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|