ddx-python 1.0.0__tar.gz → 1.0.1__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 (404) hide show
  1. {ddx_python-1.0.0 → ddx_python-1.0.1}/Cargo.lock +1 -1
  2. {ddx_python-1.0.0 → ddx_python-1.0.1}/PKG-INFO +1 -1
  3. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/constants.rs +5 -0
  4. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/execution/test_utils.rs +1 -0
  5. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/specs.rs +10 -1
  6. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/types/accounting.rs +1 -0
  7. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/types/state/exported.rs +5 -1
  8. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/types/state/tradable_product.rs +10 -1
  9. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/Cargo.toml +1 -1
  10. {ddx_python-1.0.0 → ddx_python-1.0.1/ddx-python}/python/ddx/__init__.py +17 -10
  11. {ddx_python-1.0.0 → ddx_python-1.0.1}/pyproject.toml +1 -1
  12. {ddx_python-1.0.0/ddx-python → ddx_python-1.0.1}/python/ddx/__init__.py +17 -10
  13. {ddx_python-1.0.0 → ddx_python-1.0.1}/Cargo.toml +0 -0
  14. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/common/Cargo.toml +0 -0
  15. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/common/src/constants.rs +0 -0
  16. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/common/src/error.rs +0 -0
  17. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/common/src/global.rs +0 -0
  18. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/common/src/lib.rs +0 -0
  19. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/common/src/types/accounting.rs +0 -0
  20. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/common/src/types/auth.rs +0 -0
  21. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/common/src/types/contract.rs +0 -0
  22. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/common/src/types/exported.rs +0 -0
  23. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/common/src/types/global.rs +0 -0
  24. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/common/src/types/identifiers.rs +0 -0
  25. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/common/src/types/mod.rs +0 -0
  26. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/common/src/types/node.rs +0 -0
  27. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/common/src/types/primitives/numbers.rs +0 -0
  28. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/common/src/types/primitives.rs +0 -0
  29. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/common/src/types/state.rs +0 -0
  30. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/common/src/types/transaction.rs +0 -0
  31. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/common/src/util/backoff.rs +0 -0
  32. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/common/src/util/mem.rs +0 -0
  33. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/common/src/util/mod.rs +0 -0
  34. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/common/src/util/tokenize.rs +0 -0
  35. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/common/src/util/tracing.rs +0 -0
  36. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/crypto/Cargo.toml +0 -0
  37. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/crypto/src/eip712.rs +0 -0
  38. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/crypto/src/encryption.rs +0 -0
  39. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/crypto/src/lib.rs +0 -0
  40. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/crypto/src/signing.rs +0 -0
  41. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/crypto/src/test_accounts.rs +0 -0
  42. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/macros/Cargo.toml +0 -0
  43. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/macros/src/lib.rs +0 -0
  44. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/specs/Cargo.toml +0 -0
  45. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/specs/src/eval.rs +0 -0
  46. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/specs/src/float_parser.rs +0 -0
  47. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/specs/src/lib.rs +0 -0
  48. {ddx_python-1.0.0 → ddx_python-1.0.1}/core/specs/src/str_parser.rs +0 -0
  49. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/Cargo.toml +0 -0
  50. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/execution/accounting.rs +0 -0
  51. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/execution/error.rs +0 -0
  52. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/execution/mod.rs +0 -0
  53. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/execution/validation.rs +0 -0
  54. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/lib.rs +0 -0
  55. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/specs/index_fund.rs +0 -0
  56. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/specs/quarterly_expiry_future.rs +0 -0
  57. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/specs/types.rs +0 -0
  58. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/tree/README.md +0 -0
  59. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/tree/mod.rs +0 -0
  60. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/tree/shared_smt.rs +0 -0
  61. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/tree/shared_store.rs +0 -0
  62. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/trusted_settings.rs +0 -0
  63. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/types/accounting/balance.rs +0 -0
  64. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/types/checkpoint.rs +0 -0
  65. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/types/clock.rs +0 -0
  66. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/types/contract_events.rs +0 -0
  67. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/types/ethereum.rs +0 -0
  68. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/types/identifiers.rs +0 -0
  69. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/types/mod.rs +0 -0
  70. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/types/primitives.rs +0 -0
  71. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/types/request.rs +0 -0
  72. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/types/state/trader.rs +0 -0
  73. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/types/state.rs +0 -0
  74. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/types/transaction.rs +0 -0
  75. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/util/convert.rs +0 -0
  76. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/util/eip712.rs +0 -0
  77. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/util/env.rs +0 -0
  78. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/util/mod.rs +0 -0
  79. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-operator/core/src/util/serde.rs +0 -0
  80. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/README.md +0 -0
  81. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/ddx_python_fuzzing.egg-info/PKG-INFO +0 -0
  82. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/ddx_python_fuzzing.egg-info/SOURCES.txt +0 -0
  83. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/ddx_python_fuzzing.egg-info/dependency_links.txt +0 -0
  84. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/ddx_python_fuzzing.egg-info/requires.txt +0 -0
  85. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/ddx_python_fuzzing.egg-info/top_level.txt +0 -0
  86. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/pyproject.toml +0 -0
  87. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/whitebox_fuzzing/auditor/auditor.py +0 -0
  88. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/whitebox_fuzzing/auditor.conf.json.template +0 -0
  89. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/whitebox_fuzzing/chaos.conf.json.template +0 -0
  90. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/whitebox_fuzzing/marketmaker.conf.json.template +0 -0
  91. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/whitebox_fuzzing/markettaker.conf.json.template +0 -0
  92. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/whitebox_fuzzing/sample_strategies/README.md +0 -0
  93. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/whitebox_fuzzing/sample_strategies/__init__.py +0 -0
  94. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/whitebox_fuzzing/sample_strategies/chaos_bot.py +0 -0
  95. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/whitebox_fuzzing/sample_strategies/chaos_strategies/__init__.py +0 -0
  96. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/whitebox_fuzzing/sample_strategies/chaos_strategies/full_suite.py +0 -0
  97. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/whitebox_fuzzing/sample_strategies/chaos_strategies/helpers.py +0 -0
  98. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/whitebox_fuzzing/sample_strategies/chaos_strategies/large_deposit.py +0 -0
  99. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/whitebox_fuzzing/sample_strategies/chaos_strategies/spawner.py +0 -0
  100. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/whitebox_fuzzing/sample_strategies/chaos_strategies/trader_bot.py +0 -0
  101. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/whitebox_fuzzing/sample_strategies/market_maker.py +0 -0
  102. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/whitebox_fuzzing/sample_strategies/market_taker.py +0 -0
  103. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/whitebox_fuzzing/sample_strategies/sample_chaos_bot.py +0 -0
  104. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/whitebox_fuzzing/sample_strategies/sample_mm_auditor_bot.py +0 -0
  105. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/whitebox_fuzzing/test_utils/__init__.py +0 -0
  106. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/whitebox_fuzzing/test_utils/test_derivadex_client.py +0 -0
  107. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/whitebox_fuzzing/test_utils/test_kyc_client.py +0 -0
  108. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/fuzzing/whitebox_fuzzing/test_utils/test_on_chain_client.py +0 -0
  109. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/mocks/MANIFEST.in +0 -0
  110. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/mocks/README.md +0 -0
  111. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/mocks/ddx_python_mocks.egg-info/PKG-INFO +0 -0
  112. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/mocks/ddx_python_mocks.egg-info/SOURCES.txt +0 -0
  113. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/mocks/ddx_python_mocks.egg-info/dependency_links.txt +0 -0
  114. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/mocks/ddx_python_mocks.egg-info/requires.txt +0 -0
  115. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/mocks/ddx_python_mocks.egg-info/top_level.txt +0 -0
  116. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/mocks/mock_kyc.py +0 -0
  117. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/mocks/price_feed_fuzzer.conf.json.template +0 -0
  118. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/mocks/price_feed_fuzzer.py +0 -0
  119. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/mocks/pyproject.toml +0 -0
  120. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/notebooks/README.md +0 -0
  121. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/notebooks/auditor_replay.ipynb +0 -0
  122. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/notebooks/ddx_python_notebooks.egg-info/PKG-INFO +0 -0
  123. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/notebooks/ddx_python_notebooks.egg-info/SOURCES.txt +0 -0
  124. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/notebooks/ddx_python_notebooks.egg-info/dependency_links.txt +0 -0
  125. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/notebooks/ddx_python_notebooks.egg-info/requires.txt +0 -0
  126. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/notebooks/ddx_python_notebooks.egg-info/top_level.txt +0 -0
  127. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/notebooks/exchange_dashboard.ipynb +0 -0
  128. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/notebooks/frontend_dashboard.ipynb +0 -0
  129. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/notebooks/monitoring_dashboard.py +0 -0
  130. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/notebooks/multi_node_diverge.ipynb +0 -0
  131. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/notebooks/performance_dashboard.ipynb +0 -0
  132. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/notebooks/pyproject.toml +0 -0
  133. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/notebooks/state_root_mismatch.ipynb +0 -0
  134. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/README.md +0 -0
  135. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/_rust/__init__.pyi +0 -0
  136. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/_rust/common/__init__.pyi +0 -0
  137. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/_rust/common/accounting.pyi +0 -0
  138. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/_rust/common/enums.pyi +0 -0
  139. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/_rust/common/requests/__init__.pyi +0 -0
  140. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/_rust/common/requests/intents.pyi +0 -0
  141. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/_rust/common/specs.pyi +0 -0
  142. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/_rust/common/state/__init__.pyi +0 -0
  143. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/_rust/common/state/keys.pyi +0 -0
  144. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/_rust/common/transactions.pyi +0 -0
  145. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/_rust/decimal.pyi +0 -0
  146. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/_rust/h256.pyi +0 -0
  147. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/app_config/addresses.json +0 -0
  148. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/auditor/README.md +0 -0
  149. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/auditor/__init__.py +0 -0
  150. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/auditor/auditor_driver.py +0 -0
  151. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/auditor/websocket_message.py +0 -0
  152. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/__init__.py +0 -0
  153. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/epoch_params.py +0 -0
  154. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/fill_context.py +0 -0
  155. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/item_utils.py +0 -0
  156. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/logging.py +0 -0
  157. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/market_specs.py +0 -0
  158. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/trade_mining_params.py +0 -0
  159. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transaction_utils.py +0 -0
  160. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/__init__.py +0 -0
  161. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/advance_epoch.py +0 -0
  162. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/advance_settlement_epoch.py +0 -0
  163. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/all_price_checkpoints.py +0 -0
  164. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/cancel.py +0 -0
  165. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/cancel_all.py +0 -0
  166. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/complete_fill.py +0 -0
  167. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/disaster_recovery.py +0 -0
  168. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/event.py +0 -0
  169. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/fee_distribution.py +0 -0
  170. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/funding.py +0 -0
  171. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/futures_expiry.py +0 -0
  172. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/genesis.py +0 -0
  173. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/inner/__init__.py +0 -0
  174. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/inner/adl_outcome.py +0 -0
  175. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/inner/fill.py +0 -0
  176. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/inner/liquidated_position.py +0 -0
  177. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/inner/liquidation_entry.py +0 -0
  178. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/inner/liquidation_fill.py +0 -0
  179. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/inner/outcome.py +0 -0
  180. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/inner/trade_fill.py +0 -0
  181. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/insurance_fund_update.py +0 -0
  182. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/insurance_fund_withdraw.py +0 -0
  183. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/liquidation.py +0 -0
  184. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/partial_fill.py +0 -0
  185. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/pnl_realization.py +0 -0
  186. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/post.py +0 -0
  187. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/post_order.py +0 -0
  188. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/price_checkpoint.py +0 -0
  189. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/signer_registered.py +0 -0
  190. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/specs_update.py +0 -0
  191. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/strategy_update.py +0 -0
  192. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/tradable_product_update.py +0 -0
  193. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/trade_mining.py +0 -0
  194. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/trader_update.py +0 -0
  195. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/withdraw.py +0 -0
  196. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/transactions/withdraw_ddx.py +0 -0
  197. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/common/utils.py +0 -0
  198. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/config.py +0 -0
  199. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/derivadex_client.py +0 -0
  200. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/py.typed +0 -0
  201. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/realtime_client/__init__.py +0 -0
  202. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/realtime_client/config.py +0 -0
  203. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/realtime_client/logs/pytest.log +0 -0
  204. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/realtime_client/models/__init__.py +0 -0
  205. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/realtime_client/realtime_client.py +0 -0
  206. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/realtime_client/tests/realtime_client_tests.py +0 -0
  207. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/__init__.py +0 -0
  208. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/clients/__init__.py +0 -0
  209. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/clients/base_client.py +0 -0
  210. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/clients/market_client.py +0 -0
  211. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/clients/on_chain_client.py +0 -0
  212. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/clients/signed_client.py +0 -0
  213. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/clients/system_client.py +0 -0
  214. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/clients/trade_client.py +0 -0
  215. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/constants/__init__.py +0 -0
  216. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/constants/endpoints.py +0 -0
  217. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/contracts/__init__.py +0 -0
  218. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/contracts/checkpoint/__init__.py +0 -0
  219. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/contracts/ddx/__init__.py +0 -0
  220. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/contracts/dummy_token/__init__.py +0 -0
  221. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/contracts/i_collateral/__init__.py +0 -0
  222. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/contracts/i_stake/__init__.py +0 -0
  223. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/exceptions/__init__.py +0 -0
  224. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/exceptions/exceptions.py +0 -0
  225. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/http/__init__.py +0 -0
  226. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/http/http_client.py +0 -0
  227. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/models/__init__.py +0 -0
  228. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/models/market.py +0 -0
  229. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/models/signed.py +0 -0
  230. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/models/system.py +0 -0
  231. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/models/trade.py +0 -0
  232. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/utils/__init__.py +0 -0
  233. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/ddx/rest_client/utils/encryption_utils.py +0 -0
  234. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/examples/__init__.py +0 -0
  235. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/examples/deposit_usdc.py +0 -0
  236. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/examples/rest_quickstart.py +0 -0
  237. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/examples/ws_quickstart.py +0 -0
  238. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/fuzz-compose.template.ini +0 -0
  239. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/__init__.py +0 -0
  240. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/common_tests/__init__.py +0 -0
  241. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/common_tests/liquidation.py +0 -0
  242. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/common_tests/matching.py +0 -0
  243. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/common_tests/pnl_realization.py +0 -0
  244. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/common_tests/trade_mining.py +0 -0
  245. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/conftest.py +0 -0
  246. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/decimal/Add_000_001.csv +0 -0
  247. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/decimal/Add_100_100.csv +0 -0
  248. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/decimal/Add_111_111.csv +0 -0
  249. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/decimal/Div_100_100.csv +0 -0
  250. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/decimal/Div_101_010.csv +0 -0
  251. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/decimal/Div_110_000.csv +0 -0
  252. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/decimal/Div_111_110.csv +0 -0
  253. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/decimal/Div_111_111.csv +0 -0
  254. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/decimal/Mul_001_000.csv +0 -0
  255. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/decimal/Mul_010_111.csv +0 -0
  256. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/decimal/Mul_100_101.csv +0 -0
  257. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/decimal/Mul_110_001.csv +0 -0
  258. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/decimal/Mul_111_111.csv +0 -0
  259. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/decimal/Rem_101_101.csv +0 -0
  260. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/decimal/Rem_111_000.csv +0 -0
  261. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/decimal/Rem_111_110.csv +0 -0
  262. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/decimal/Sub_101_110.csv +0 -0
  263. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/decimal/Sub_110_011.csv +0 -0
  264. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/decimal/Sub_111_111.csv +0 -0
  265. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/futures_tests.py +0 -0
  266. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/general_tests.py +0 -0
  267. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/__init__.py +0 -0
  268. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/account.py +0 -0
  269. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/execution/__init__.py +0 -0
  270. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/execution/block.py +0 -0
  271. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/execution/liquidation.py +0 -0
  272. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/execution/listing.py +0 -0
  273. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/execution/matching.py +0 -0
  274. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/execution/settlement.py +0 -0
  275. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/execution/state.py +0 -0
  276. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/execution/trade_mining.py +0 -0
  277. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/execution/trader.py +0 -0
  278. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/execution/utils.py +0 -0
  279. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/market_aware_account.py +0 -0
  280. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/market_data_driver/__init__.py +0 -0
  281. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/market_data_driver/custom_market_data_driver.py +0 -0
  282. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/market_data_driver/exchange_market_data_driver.py +0 -0
  283. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/market_data_driver/market_data_driver.py +0 -0
  284. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/market_data_driver/tick.py +0 -0
  285. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/matchers/__init__.py +0 -0
  286. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/matchers/account.py +0 -0
  287. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/matchers/fuzzed_account.py +0 -0
  288. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/matchers/tick.py +0 -0
  289. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/matchers/utils.py +0 -0
  290. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/order_book.py +0 -0
  291. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/store.py +0 -0
  292. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/harness/wallet.py +0 -0
  293. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/logs/pytest.log +0 -0
  294. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/mock_transactions.json +0 -0
  295. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/perps_tests.py +0 -0
  296. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/python_only.py +0 -0
  297. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/test_ddx_common.py +0 -0
  298. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/tests/test_decimal.py +0 -0
  299. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/utils/__init__.py +0 -0
  300. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/python/utils/utils.py +0 -0
  301. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/src/bin/stub_gen.rs +0 -0
  302. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/src/ddx.rs +0 -0
  303. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/src/decimal.rs +0 -0
  304. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/src/h256.rs +0 -0
  305. {ddx_python-1.0.0 → ddx_python-1.0.1}/ddx-python/src/lib.rs +0 -0
  306. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/_rust/__init__.pyi +0 -0
  307. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/_rust/common/__init__.pyi +0 -0
  308. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/_rust/common/accounting.pyi +0 -0
  309. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/_rust/common/enums.pyi +0 -0
  310. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/_rust/common/requests/__init__.pyi +0 -0
  311. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/_rust/common/requests/intents.pyi +0 -0
  312. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/_rust/common/specs.pyi +0 -0
  313. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/_rust/common/state/__init__.pyi +0 -0
  314. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/_rust/common/state/keys.pyi +0 -0
  315. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/_rust/common/transactions.pyi +0 -0
  316. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/_rust/decimal.pyi +0 -0
  317. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/_rust/h256.pyi +0 -0
  318. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/app_config/addresses.json +0 -0
  319. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/auditor/README.md +0 -0
  320. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/auditor/__init__.py +0 -0
  321. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/auditor/auditor_driver.py +0 -0
  322. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/auditor/websocket_message.py +0 -0
  323. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/__init__.py +0 -0
  324. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/epoch_params.py +0 -0
  325. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/fill_context.py +0 -0
  326. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/item_utils.py +0 -0
  327. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/logging.py +0 -0
  328. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/market_specs.py +0 -0
  329. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/trade_mining_params.py +0 -0
  330. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transaction_utils.py +0 -0
  331. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/__init__.py +0 -0
  332. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/advance_epoch.py +0 -0
  333. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/advance_settlement_epoch.py +0 -0
  334. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/all_price_checkpoints.py +0 -0
  335. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/cancel.py +0 -0
  336. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/cancel_all.py +0 -0
  337. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/complete_fill.py +0 -0
  338. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/disaster_recovery.py +0 -0
  339. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/event.py +0 -0
  340. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/fee_distribution.py +0 -0
  341. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/funding.py +0 -0
  342. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/futures_expiry.py +0 -0
  343. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/genesis.py +0 -0
  344. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/inner/__init__.py +0 -0
  345. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/inner/adl_outcome.py +0 -0
  346. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/inner/fill.py +0 -0
  347. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/inner/liquidated_position.py +0 -0
  348. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/inner/liquidation_entry.py +0 -0
  349. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/inner/liquidation_fill.py +0 -0
  350. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/inner/outcome.py +0 -0
  351. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/inner/trade_fill.py +0 -0
  352. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/insurance_fund_update.py +0 -0
  353. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/insurance_fund_withdraw.py +0 -0
  354. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/liquidation.py +0 -0
  355. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/partial_fill.py +0 -0
  356. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/pnl_realization.py +0 -0
  357. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/post.py +0 -0
  358. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/post_order.py +0 -0
  359. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/price_checkpoint.py +0 -0
  360. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/signer_registered.py +0 -0
  361. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/specs_update.py +0 -0
  362. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/strategy_update.py +0 -0
  363. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/tradable_product_update.py +0 -0
  364. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/trade_mining.py +0 -0
  365. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/trader_update.py +0 -0
  366. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/withdraw.py +0 -0
  367. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/transactions/withdraw_ddx.py +0 -0
  368. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/common/utils.py +0 -0
  369. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/config.py +0 -0
  370. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/derivadex_client.py +0 -0
  371. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/py.typed +0 -0
  372. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/realtime_client/__init__.py +0 -0
  373. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/realtime_client/config.py +0 -0
  374. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/realtime_client/logs/pytest.log +0 -0
  375. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/realtime_client/models/__init__.py +0 -0
  376. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/realtime_client/realtime_client.py +0 -0
  377. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/realtime_client/tests/realtime_client_tests.py +0 -0
  378. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/__init__.py +0 -0
  379. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/clients/__init__.py +0 -0
  380. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/clients/base_client.py +0 -0
  381. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/clients/market_client.py +0 -0
  382. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/clients/on_chain_client.py +0 -0
  383. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/clients/signed_client.py +0 -0
  384. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/clients/system_client.py +0 -0
  385. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/clients/trade_client.py +0 -0
  386. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/constants/__init__.py +0 -0
  387. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/constants/endpoints.py +0 -0
  388. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/contracts/__init__.py +0 -0
  389. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/contracts/checkpoint/__init__.py +0 -0
  390. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/contracts/ddx/__init__.py +0 -0
  391. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/contracts/dummy_token/__init__.py +0 -0
  392. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/contracts/i_collateral/__init__.py +0 -0
  393. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/contracts/i_stake/__init__.py +0 -0
  394. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/exceptions/__init__.py +0 -0
  395. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/exceptions/exceptions.py +0 -0
  396. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/http/__init__.py +0 -0
  397. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/http/http_client.py +0 -0
  398. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/models/__init__.py +0 -0
  399. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/models/market.py +0 -0
  400. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/models/signed.py +0 -0
  401. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/models/system.py +0 -0
  402. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/models/trade.py +0 -0
  403. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/utils/__init__.py +0 -0
  404. {ddx_python-1.0.0 → ddx_python-1.0.1}/python/ddx/rest_client/utils/encryption_utils.py +0 -0
@@ -2892,7 +2892,7 @@ dependencies = [
2892
2892
 
2893
2893
  [[package]]
2894
2894
  name = "ddx-python"
2895
- version = "1.0.0"
2895
+ version = "1.0.1"
2896
2896
  dependencies = [
2897
2897
  "core-common",
2898
2898
  "core-ddx",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ddx-python
3
- Version: 1.0.0
3
+ Version: 1.0.1
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Classifier: Programming Language :: Python :: Implementation :: PyPy
@@ -288,6 +288,11 @@ pub const COINGECKO_HOSTNAME: &str = "api.coingecko.com";
288
288
  pub const DDX_CONTRACT_ADDRESS: &str = "0x3a880652f47bfaa771908c07dd8673a787daed3a";
289
289
  pub const COINGECKO_POLL_THRESHOLD: usize = 60;
290
290
 
291
+ // Gecko terminal Hostname and SPCX contract address
292
+ pub const GECKO_TERMINAL_HOSTNAME: &str = "api.geckoterminal.com";
293
+ pub const SPCX_CONTRACT_ADDRESS: &str = "0x872109274218cb50f310e2bfb160d135b502a9d5";
294
+ pub const SPCX_POLL_THRESHOLD: usize = 2;
295
+
291
296
  // Default limit on strategies a trader can have
292
297
  pub const MAX_STRATEGIES: u8 = 10;
293
298
 
@@ -53,6 +53,7 @@ pub const BTCP: &str = "BTCP";
53
53
  pub const DOGEP: &str = "DOGEP";
54
54
  pub const ETHP: &str = "ETHP";
55
55
  pub const FUNDP: &str = "FUNDP";
56
+ pub const SPCXP: &str = "SPCXP";
56
57
  #[cfg(feature = "fixed_expiry_future")]
57
58
  pub const ETHFH: &str = "ETHFH";
58
59
  #[cfg(feature = "fixed_expiry_future")]
@@ -25,7 +25,9 @@ use crate::specs::index_fund::IndexFundPerpetual;
25
25
  #[cfg(feature = "fixed_expiry_future")]
26
26
  use crate::specs::quarterly_expiry_future::QuarterlyExpiryFuture;
27
27
  use crate::{
28
- constants::{COINGECKO_HOSTNAME, DDX_CONTRACT_ADDRESS},
28
+ constants::{
29
+ COINGECKO_HOSTNAME, DDX_CONTRACT_ADDRESS, GECKO_TERMINAL_HOSTNAME, SPCX_CONTRACT_ADDRESS,
30
+ },
29
31
  types::primitives::UnderlyingSymbol,
30
32
  };
31
33
  use chrono::{DateTime, TimeZone, Utc};
@@ -136,6 +138,7 @@ impl MarketGateway {
136
138
  .find_map(|(k, v)| {
137
139
  if v.as_str() == source_symbol
138
140
  || (v.as_str() == DDX_CONTRACT_ADDRESS && source_symbol == "DDX")
141
+ || (v.as_str() == SPCX_CONTRACT_ADDRESS && source_symbol == "SPCX")
139
142
  {
140
143
  Some(*k)
141
144
  } else {
@@ -156,6 +159,9 @@ impl MarketGateway {
156
159
  if self.hostname == COINGECKO_HOSTNAME {
157
160
  return Ok(DDX_CONTRACT_ADDRESS.to_string());
158
161
  }
162
+ if self.hostname == GECKO_TERMINAL_HOSTNAME {
163
+ return Ok(SPCX_CONTRACT_ADDRESS.to_string());
164
+ }
159
165
  // NOTE: Assuming running these regexes is cheap enough not to bother with caching.
160
166
  // This only takes the first transformation
161
167
  if let Some(tr) = self.transforms.first() {
@@ -214,6 +220,9 @@ impl MarketGateway {
214
220
  let (source_symbol, price): (String, Decimal) = if self.hostname == COINGECKO_HOSTNAME {
215
221
  let price: Decimal = serde_json::from_str(&content)?;
216
222
  ("DDX".to_string(), price)
223
+ } else if self.hostname == GECKO_TERMINAL_HOSTNAME {
224
+ let price: Decimal = serde_json::from_str(&content)?;
225
+ ("SPCX".to_string(), price)
217
226
  } else {
218
227
  serde_json::from_str(&content)?
219
228
  };
@@ -586,6 +586,7 @@ pub enum MarkPriceKind {
586
586
  }
587
587
 
588
588
  /// Metadata for calculating the mark price, along with the current index price
589
+ #[cfg_eval]
589
590
  #[cfg_attr(feature = "python", gen_stub_pyclass_enum, pyclass(frozen, eq))]
590
591
  #[derive(Debug, Clone, PartialEq, Deserialize, Serialize, AbiToken, Eq, Copy)]
591
592
  #[serde(tag = "t", content = "c")]
@@ -99,6 +99,7 @@ pub mod python {
99
99
  inner: RustProductSymbol,
100
100
  }
101
101
 
102
+ #[cfg_eval]
102
103
  #[gen_stub_pymethods]
103
104
  #[pymethods]
104
105
  impl ProductSymbol {
@@ -309,6 +310,7 @@ pub mod python {
309
310
  impl MarkPriceMetadata {
310
311
  #[getter]
311
312
  fn ema(&self) -> Option<UnscaledI128> {
313
+ #[allow(unreachable_patterns)]
312
314
  match self {
313
315
  MarkPriceMetadata::Ema(ema) => Some(*ema),
314
316
  _ => None,
@@ -355,6 +357,7 @@ pub mod python {
355
357
  }
356
358
  }
357
359
 
360
+ #[cfg_eval]
358
361
  #[gen_stub_pymethods]
359
362
  #[pymethods]
360
363
  impl TradableProductParameters {
@@ -386,6 +389,7 @@ pub mod python {
386
389
  inner: RustSettlementAction,
387
390
  }
388
391
 
392
+ #[cfg_eval]
389
393
  #[allow(non_upper_case_globals)]
390
394
  #[gen_stub_pymethods]
391
395
  #[pymethods]
@@ -1617,7 +1621,7 @@ pub mod python {
1617
1621
  #[classmethod]
1618
1622
  fn from_genesis(
1619
1623
  _cls: &Bound<'_, PyType>,
1620
- py: Python,
1624
+ _py: Python,
1621
1625
  insurance_fund_cap: Balance,
1622
1626
  ddx_fee_pool: UnscaledI128,
1623
1627
  specs: &Bound<'_, PyAny>,
@@ -21,6 +21,10 @@ use serde::{Deserialize, Serialize};
21
21
 
22
22
  use super::{ITEM_TRADABLE_PRODUCT, VoidableItem};
23
23
 
24
+ #[cfg_eval]
25
+ // Since pyclass doesn't allow for empty enums, to support non "fixed_expiry_future" situations, we
26
+ // add a dummy `Empty` variant. This can be removed once pyo3 supports empty enums or we add
27
+ // another non feature-gated variant.
24
28
  #[cfg_attr(
25
29
  feature = "python",
26
30
  gen_stub_pyclass_enum,
@@ -32,6 +36,8 @@ use super::{ITEM_TRADABLE_PRODUCT, VoidableItem};
32
36
  #[serde(tag = "t", content = "c")]
33
37
  #[non_exhaustive]
34
38
  pub enum TradableProductParameters {
39
+ // empty tuple variant used because pyo3 does not support unit variants
40
+ Empty(),
35
41
  #[cfg(feature = "fixed_expiry_future")]
36
42
  QuarterlyExpiryFuture(Quarter),
37
43
  }
@@ -130,7 +136,10 @@ impl TradableProductKey {
130
136
  if let Some(_parameters) = &self.parameters {
131
137
  #[cfg(feature = "fixed_expiry_future")]
132
138
  {
133
- let TradableProductParameters::QuarterlyExpiryFuture(quarter) = _parameters;
139
+ let TradableProductParameters::QuarterlyExpiryFuture(quarter) = _parameters else {
140
+ // See note in the definition of `TradableProductParameters`.
141
+ unreachable!()
142
+ };
134
143
  bytes.push(*quarter as u8);
135
144
  }
136
145
  #[cfg(not(feature = "fixed_expiry_future"))]
@@ -1,7 +1,7 @@
1
1
  [package]
2
2
  name = "ddx-python"
3
3
  # NOTE: The maturin.bash build script replaces this by the SEMVER env variable for distribution.
4
- version = "1.0.0"
4
+ version = "1.0.1"
5
5
  edition = "2021"
6
6
 
7
7
  [lib]
@@ -8,7 +8,7 @@ Responsibilities:
8
8
  * In development/editable mode (when APP_SHARE is set), prepend the
9
9
  on-disk wheel directory so that `import ddx._rust` resolves locally.
10
10
  * Re-export all public symbols from the Rust extension module,
11
- plus Python helpers `load_mainnet` and `load_testnet`.
11
+ plus Python helpers `reinit_operator_context` and `load_testnet`.
12
12
  * Configure the application data directory via APP_CONFIG and
13
13
  enforce CONTRACT_DEPLOYMENT when a custom config is used.
14
14
  * Define constants like `DDX_APPLICATION_ID`.
@@ -26,25 +26,32 @@ if share := os.environ.get("APP_SHARE"):
26
26
  wheel_dir = os.path.join(share, "ddx", "wheels", "ddx")
27
27
  _pkg.__path__.insert(0, wheel_dir)
28
28
 
29
- # Step 3: Import the Rust extension and re-export its public API
30
- import ddx._rust as _rust # noqa: F401,F403
31
-
32
- __doc__ = _rust.__doc__ # mirror the Rust module's docstring
33
- __all__ = list(getattr(_rust, "__all__", []))
34
- __all__.extend(["load_mainnet", "load_testnet"])
35
-
36
- # Step 4: Application configuration
29
+ # Step 3: Application configuration
37
30
  from .config import *
38
31
 
39
32
  if "APP_CONFIG" not in os.environ:
40
33
  default_cfg = files("ddx") / "app_config"
41
34
  os.environ["APP_CONFIG"] = str(default_cfg)
42
- load_mainnet()
35
+
36
+ # To use testnet or other environments in the default `app_config` set that variable upfront.
37
+ # Otherwise, it defaults to "derivadex" (mainnet).
38
+ if not os.environ.get("CONTRACT_DEPLOYMENT"):
39
+ os.environ["CONTRACT_DEPLOYMENT"] = "derivadex"
40
+
41
+ reinit_operator_context()
43
42
  else:
44
43
  # HACK: This happens during the docker build state when validating the install.
45
44
  if not os.environ.get("CONTRACT_DEPLOYMENT"):
46
45
  os.environ["CONTRACT_DEPLOYMENT"] = "snapshot"
47
46
 
47
+ # Step 4: Import the Rust extension and re-export its public API
48
+ # This internally reads APP_CONFIG nd CONTRACT_DEPLOYMENT so it must be done after step 3.
49
+ import ddx._rust as _rust # noqa: F401,F403
50
+
51
+ __doc__ = _rust.__doc__ # mirror the Rust module's docstring
52
+ __all__ = list(getattr(_rust, "__all__", []))
53
+ __all__.extend(["load_mainnet", "load_testnet"])
54
+
48
55
  # Step 5: Constants
49
56
  from eth_abi.utils.padding import zpad32_right
50
57
 
@@ -5,7 +5,7 @@ build-backend = "maturin"
5
5
  [project]
6
6
  name = "ddx-python"
7
7
  # NOTE: The maturin.bash build script replaces this by the SEMVER env variable for distribution.
8
- version = "1.0.0"
8
+ version = "1.0.1"
9
9
  requires-python = ">=3.10"
10
10
  classifiers = [
11
11
  "Programming Language :: Rust",
@@ -8,7 +8,7 @@ Responsibilities:
8
8
  * In development/editable mode (when APP_SHARE is set), prepend the
9
9
  on-disk wheel directory so that `import ddx._rust` resolves locally.
10
10
  * Re-export all public symbols from the Rust extension module,
11
- plus Python helpers `load_mainnet` and `load_testnet`.
11
+ plus Python helpers `reinit_operator_context` and `load_testnet`.
12
12
  * Configure the application data directory via APP_CONFIG and
13
13
  enforce CONTRACT_DEPLOYMENT when a custom config is used.
14
14
  * Define constants like `DDX_APPLICATION_ID`.
@@ -26,25 +26,32 @@ if share := os.environ.get("APP_SHARE"):
26
26
  wheel_dir = os.path.join(share, "ddx", "wheels", "ddx")
27
27
  _pkg.__path__.insert(0, wheel_dir)
28
28
 
29
- # Step 3: Import the Rust extension and re-export its public API
30
- import ddx._rust as _rust # noqa: F401,F403
31
-
32
- __doc__ = _rust.__doc__ # mirror the Rust module's docstring
33
- __all__ = list(getattr(_rust, "__all__", []))
34
- __all__.extend(["load_mainnet", "load_testnet"])
35
-
36
- # Step 4: Application configuration
29
+ # Step 3: Application configuration
37
30
  from .config import *
38
31
 
39
32
  if "APP_CONFIG" not in os.environ:
40
33
  default_cfg = files("ddx") / "app_config"
41
34
  os.environ["APP_CONFIG"] = str(default_cfg)
42
- load_mainnet()
35
+
36
+ # To use testnet or other environments in the default `app_config` set that variable upfront.
37
+ # Otherwise, it defaults to "derivadex" (mainnet).
38
+ if not os.environ.get("CONTRACT_DEPLOYMENT"):
39
+ os.environ["CONTRACT_DEPLOYMENT"] = "derivadex"
40
+
41
+ reinit_operator_context()
43
42
  else:
44
43
  # HACK: This happens during the docker build state when validating the install.
45
44
  if not os.environ.get("CONTRACT_DEPLOYMENT"):
46
45
  os.environ["CONTRACT_DEPLOYMENT"] = "snapshot"
47
46
 
47
+ # Step 4: Import the Rust extension and re-export its public API
48
+ # This internally reads APP_CONFIG nd CONTRACT_DEPLOYMENT so it must be done after step 3.
49
+ import ddx._rust as _rust # noqa: F401,F403
50
+
51
+ __doc__ = _rust.__doc__ # mirror the Rust module's docstring
52
+ __all__ = list(getattr(_rust, "__all__", []))
53
+ __all__.extend(["load_mainnet", "load_testnet"])
54
+
48
55
  # Step 5: Constants
49
56
  from eth_abi.utils.padding import zpad32_right
50
57
 
File without changes