ddx-python 1.1.6__tar.gz → 1.1.7__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.
- {ddx_python-1.1.6 → ddx_python-1.1.7}/Cargo.lock +3 -1
- {ddx_python-1.1.6 → ddx_python-1.1.7}/PKG-INFO +1 -3
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/macros/src/lib.rs +3 -3
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/Cargo.toml +0 -2
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/adapter.rs +18 -16
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/constants.rs +0 -6
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/execution/test_utils.rs +61 -61
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/specs/constants.rs +0 -22
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/types/request.rs +1663 -865
- ddx_python-1.1.7/ddx-operator/core/src/util/eip712.rs +925 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/Cargo.toml +3 -1
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/experiments/4443-improve-and-cleanup-unit-tests/3_test_semantics.md +2 -2
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/pyproject.toml +0 -2
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/legacy/chaos_strategies/helpers.py +7 -4
- ddx_python-1.1.7/ddx-python/fuzzing/whitebox_fuzzing/legacy/market_maker.py +721 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/legacy/market_taker.py +3 -1
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/legacy/sample_mm_auditor_bot.py +5 -1
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/market_maker.py +13 -20
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/mocks/price_feed_fuzzer.conf.json.template +0 -18
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/mocks/pyproject.toml +0 -2
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/notebooks/pyproject.toml +0 -2
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/examples/delegated_session_deny_list.py +11 -7
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/account.py +13 -10
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/execution/settlement.py +12 -21
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/execution/state.py +18 -31
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/store.py +4 -3
- ddx_python-1.1.7/ddx-python/python/tests/unit/encryption_dependency_tests.py +47 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/src/bin/stub_gen.rs +1 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/src/ddx.rs +117 -1
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/uv.lock +0 -143
- {ddx_python-1.1.6 → ddx_python-1.1.7}/pyproject.toml +1 -3
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/_rust/common/__init__.pyi +18 -1
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/_rust/common/requests/__init__.pyi +3 -3
- ddx_python-1.1.7/python/ddx/_rust/common/requests/intents.pyi +396 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/auditor/README.md +1 -1
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transaction_utils.py +12 -4
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/funding.py +31 -45
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/derivadex_client.py +1 -1
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/clients/on_chain_client.py +0 -5
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/clients/signed_client.py +1 -1
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/tests/signed_client_tests.py +13 -13
- ddx_python-1.1.7/python/ddx/rest_client/utils/encryption_utils.py +9 -0
- ddx_python-1.1.6/ddx-operator/core/src/util/eip712.rs +0 -351
- ddx_python-1.1.6/python/ddx/_rust/common/requests/intents.pyi +0 -637
- ddx_python-1.1.6/python/ddx/rest_client/utils/encryption_utils.py +0 -26
- {ddx_python-1.1.6 → ddx_python-1.1.7}/Cargo.toml +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/Cargo.toml +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/constants.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/error.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/global.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/lib.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/types/accounting.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/types/auth.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/types/contract/events.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/types/contract.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/types/exported.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/types/global.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/types/identifiers.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/types/kyc.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/types/mod.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/types/node.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/types/primitives/numbers.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/types/primitives.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/types/state.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/types/transaction.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/util/backoff.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/util/cbor.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/util/mem.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/util/mod.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/util/tokenize.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/common/src/util/tracing.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/crypto/Cargo.toml +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/crypto/src/eip712.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/crypto/src/encryption.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/crypto/src/lib.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/crypto/src/signing.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/crypto/src/test_accounts.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/ethereum/Cargo.toml +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/ethereum/src/checkpoint.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/ethereum/src/event.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/ethereum/src/lib.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/ethereum/src/log.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/macros/Cargo.toml +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/specs/Cargo.toml +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/specs/src/eval.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/specs/src/float_parser.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/specs/src/lib.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/core/specs/src/str_parser.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/execution/accounting.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/execution/error.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/execution/mod.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/execution/validation.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/lib.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/specs/index_fund.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/specs/pred_market_future.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/specs/quarterly_expiry_future.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/specs/types.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/specs.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/tree/README.md +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/tree/mod.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/tree/shared_smt.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/tree/shared_store.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/trusted_settings.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/types/accounting/balance.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/types/accounting.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/types/clock.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/types/contract_events.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/types/data_source.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/types/identifiers.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/types/mod.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/types/order.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/types/primitives/product_symbol.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/types/primitives.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/types/request/submitted_json.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/types/settlement.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/types/state/exported.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/types/state/tradable_product.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/types/state/trader.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/types/state.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/types/transaction.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/util/convert.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/util/env.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/util/ethereum.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/util/mod.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/src/util/serde.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-operator/core/tests/fixtures/signed-request-identity-vectors.json +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/AGENTS.md +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/build.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/AGENTS.md +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/Dockerfile +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/admin_cli/README.md +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/admin_cli/RUNBOOK.comprehension.md +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/admin_cli/RUNBOOK.planning.md +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/admin_cli/cli.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/admin_cli/codex_runner.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/admin_cli/comprehension/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/admin_cli/comprehension/cli.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/admin_cli/comprehension/heartbeat.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/admin_cli/comprehension/inbound.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/admin_cli/comprehension/note_edits.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/admin_cli/project.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/compose.yml +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/experiments/4443-improve-and-cleanup-unit-tests/1_matching_vs_risk_decoupling.md +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/experiments/4443-improve-and-cleanup-unit-tests/2_logic_and_sgx_cryptography_conflation.md +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/experiments/4443-improve-and-cleanup-unit-tests/engine_test_audit.md +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/experiments/4443-improve-and-cleanup-unit-tests/issues/4727.md +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/experiments/4443-improve-and-cleanup-unit-tests/issues/4728.md +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/experiments/4443-improve-and-cleanup-unit-tests/issues/4729.md +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/experiments/4443-improve-and-cleanup-unit-tests/specs.md +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/experiments/blueprint.md +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/experiments/ddx-whitepaper.md +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/pyproject.toml +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/sdlc/calendar.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/sdlc/common.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/sdlc/journal.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/sdlc/mentions.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/sdlc/pm-charter.md +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/sdlc/sync.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/sdlc/team.yml +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/sdlc/time_spent.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/tests/sdlc/conftest.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/tests/test_comprehension_protocol.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/devtools/uv.lock +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/exchange-kpis/README.md +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/exchange-kpis/exchange_kpis/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/exchange-kpis/exchange_kpis/cli.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/exchange-kpis/exchange_kpis/models.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/exchange-kpis/exchange_kpis/webhooks.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/exchange-kpis/pyproject.toml +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/exchange-kpis/uv.lock +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/README.md +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/config/marketmaker.conf.json.template +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/event.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/legacy/README.md +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/legacy/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/legacy/chaos_bot.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/legacy/chaos_strategies/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/legacy/chaos_strategies/full_suite.py +3 -3
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/legacy/chaos_strategies/large_deposit.py +3 -3
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/legacy/chaos_strategies/spawner.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/legacy/chaos_strategies/trader_bot.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/legacy/chaos_strategies/trader_bot_tests.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/legacy/config/chaos.conf.json.template +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/legacy/config/marketmaker.conf.json.template +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/legacy/config/markettaker.conf.json.template +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/legacy/sample_chaos_bot.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/test_utils/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/test_utils/test_derivadex_client.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/test_utils/test_kyc_client.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/test_utils/test_on_chain_client.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/fuzzing/whitebox_fuzzing/whitebox_derivadex_client.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/mocks/MANIFEST.in +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/mocks/README.md +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/mocks/mock_kyc.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/mocks/price_feed_fuzzer.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/notebooks/README.md +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/notebooks/auditor_replay.ipynb +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/notebooks/exchange_dashboard.ipynb +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/notebooks/frontend_dashboard.ipynb +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/notebooks/monitoring_dashboard.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/notebooks/multi_node_diverge.ipynb +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/notebooks/performance_dashboard.ipynb +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/notebooks/state_root_mismatch.ipynb +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/AGENTS.md +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/README.md +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/examples/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/examples/auditor.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/examples/deposit_usdc.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/examples/rest_quickstart.py +6 -6
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/examples/session_config.json +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/examples/ws_quickstart.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/fuzz-compose.template.ini +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/affiliate_tests.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/common_tests/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/common_tests/liquidation.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/common_tests/matching.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/common_tests/pnl_realization.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/common_tests/trade_mining.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/conftest.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/decimal/Add_000_001.csv +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/decimal/Add_100_100.csv +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/decimal/Add_111_111.csv +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/decimal/Div_100_100.csv +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/decimal/Div_101_010.csv +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/decimal/Div_110_000.csv +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/decimal/Div_111_110.csv +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/decimal/Div_111_111.csv +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/decimal/Mul_001_000.csv +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/decimal/Mul_010_111.csv +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/decimal/Mul_100_101.csv +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/decimal/Mul_110_001.csv +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/decimal/Mul_111_111.csv +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/decimal/Rem_101_101.csv +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/decimal/Rem_111_000.csv +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/decimal/Rem_111_110.csv +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/decimal/Sub_101_110.csv +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/decimal/Sub_110_011.csv +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/decimal/Sub_111_111.csv +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/futures_tests.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/general_tests.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/diagnostics.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/execution/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/execution/block.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/execution/liquidation.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/execution/listing.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/execution/matching.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/execution/trade_mining.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/execution/trader.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/execution/utils.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/market_data_driver/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/market_data_driver/custom_market_data_driver.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/market_data_driver/exchange_market_data_driver.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/market_data_driver/market_data_driver.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/market_data_driver/tick.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/matchers/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/matchers/account.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/matchers/fuzzed_account.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/matchers/tick.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/matchers/utils.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/order_book.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/harness/wallet.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/mock_transactions.json +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/perps_tests.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/python_only.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/session_tests.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/test_ddx_common.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/test_decimal.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/test_fuzz_bot_signed_request_contract.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/unit/auditor_driver_tests.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/unit/liquidation_tests.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/tests/unit/package_import_tests.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/utils/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/python/utils/utils.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/scripts/check-release-wheel.bash +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/src/decimal.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/src/h256.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/ddx-python/src/lib.rs +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/__init__.pyi +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/_rust/__init__.pyi +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/_rust/common/accounting.pyi +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/_rust/common/enums.pyi +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/_rust/common/specs.pyi +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/_rust/common/state/__init__.pyi +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/_rust/common/state/keys.pyi +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/_rust/common/transactions.pyi +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/_rust/decimal.pyi +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/_rust/h256.pyi +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/app_config/ethereum/addresses.json +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/auditor/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/auditor/auditor_driver.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/auditor/websocket_message.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/epoch_params.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/fill_context.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/item_utils.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/logging.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/market_aware_account.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/market_specs.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/trade_mining_params.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/advance_epoch.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/advance_settlement_epoch.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/all_price_checkpoints.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/cancel.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/cancel_all.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/complete_fill.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/event.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/fee_distribution.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/futures_expiry.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/genesis.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/inner/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/inner/adl_outcome.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/inner/fill.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/inner/liquidated_position.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/inner/liquidation_entry.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/inner/liquidation_fill.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/inner/outcome.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/inner/trade_fill.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/insurance_fund_update.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/insurance_fund_withdraw.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/liquidation.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/partial_fill.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/pnl_realization.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/post.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/post_order.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/price_checkpoint.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/signer_registered.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/specs_update.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/strategy_update.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/tradable_product_update.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/trade_mining.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/trader_update.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/withdraw.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/transactions/withdraw_ddx.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/common/utils.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/config.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/models/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/models/base.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/py.typed +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/realtime_client/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/realtime_client/config.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/realtime_client/models/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/realtime_client/realtime_client.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/realtime_client/tests/realtime_client_tests.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/clients/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/clients/base_client.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/clients/market_client.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/clients/system_client.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/clients/trade_client.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/constants/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/constants/endpoints.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/contracts/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/contracts/checkpoint/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/contracts/ddx/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/contracts/dummy_token/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/contracts/i_collateral/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/contracts/i_stake/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/exceptions/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/exceptions/exceptions.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/http/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/http/http_client.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/models/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/models/market.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/models/signed.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/models/system.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/models/trade.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/tests/ticker_tests.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/rest_client/utils/__init__.py +0 -0
- {ddx_python-1.1.6 → ddx_python-1.1.7}/python/ddx/utils/__init__.py +0 -0
|
@@ -3129,10 +3129,12 @@ dependencies = [
|
|
|
3129
3129
|
|
|
3130
3130
|
[[package]]
|
|
3131
3131
|
name = "ddx-python"
|
|
3132
|
-
version = "1.1.
|
|
3132
|
+
version = "1.1.7"
|
|
3133
3133
|
dependencies = [
|
|
3134
3134
|
"core-common",
|
|
3135
|
+
"core-crypto",
|
|
3135
3136
|
"core-ddx",
|
|
3137
|
+
"getrandom 0.3.4",
|
|
3136
3138
|
"pyo3",
|
|
3137
3139
|
"pyo3-stub-gen",
|
|
3138
3140
|
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ddx-python
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.7
|
|
4
4
|
Classifier: Development Status :: 4 - Beta
|
|
5
5
|
Classifier: Intended Audience :: Developers
|
|
6
6
|
Classifier: Topic :: Office/Business :: Financial :: Investment
|
|
@@ -31,8 +31,6 @@ Requires-Dist: simplejson>=3.19.2,<4
|
|
|
31
31
|
Requires-Dist: sphinx>=8.0.2,<9
|
|
32
32
|
Requires-Dist: verboselogs>=1.7,<2
|
|
33
33
|
Requires-Dist: btrees>=6.0,<7
|
|
34
|
-
Requires-Dist: ccxt>=4.3.79,<5
|
|
35
|
-
Requires-Dist: coincurve>=20.0.0,<21
|
|
36
34
|
Requires-Dist: dash-bootstrap-components>=1.6.0,<2
|
|
37
35
|
Requires-Dist: python-dotenv>=1.0.1,<2
|
|
38
36
|
Requires-Dist: sexpdata>=1.0.2,<2
|
|
@@ -124,7 +124,7 @@ pub fn nonced(input: TokenStream) -> TokenStream {
|
|
|
124
124
|
let name = s.ident;
|
|
125
125
|
let expanded = quote! {
|
|
126
126
|
impl Nonced for #name {
|
|
127
|
-
fn
|
|
127
|
+
fn get_nonce(&self) -> Nonce {
|
|
128
128
|
self.nonce
|
|
129
129
|
}
|
|
130
130
|
}
|
|
@@ -137,12 +137,12 @@ pub fn nonced(input: TokenStream) -> TokenStream {
|
|
|
137
137
|
for v in e.variants.into_iter() {
|
|
138
138
|
let vname = v.ident;
|
|
139
139
|
arms.push(parse_quote! {
|
|
140
|
-
#name::#vname(inner) => inner.
|
|
140
|
+
#name::#vname(inner) => inner.get_nonce(),
|
|
141
141
|
});
|
|
142
142
|
}
|
|
143
143
|
let expanded = quote! {
|
|
144
144
|
impl Nonced for #name {
|
|
145
|
-
fn
|
|
145
|
+
fn get_nonce(&self) -> Nonce {
|
|
146
146
|
match self {
|
|
147
147
|
#(#arms)*
|
|
148
148
|
}
|
|
@@ -13,7 +13,6 @@ default = [
|
|
|
13
13
|
"fixed_expiry_future",
|
|
14
14
|
"index_fund",
|
|
15
15
|
"pred_market_future",
|
|
16
|
-
"private_equity_perp",
|
|
17
16
|
"price_feed_fuzzer",
|
|
18
17
|
]
|
|
19
18
|
alpha1 = []
|
|
@@ -40,7 +39,6 @@ eth-base = ["alloy", "alloy-sol-types"]
|
|
|
40
39
|
multi_strategies = []
|
|
41
40
|
insurance_fund_client_req = []
|
|
42
41
|
index_fund = []
|
|
43
|
-
private_equity_perp = []
|
|
44
42
|
fixed_expiry_future = ["pyo3?/chrono"]
|
|
45
43
|
pred_market_future = ["pyo3?/chrono"]
|
|
46
44
|
|
|
@@ -224,8 +224,8 @@ mod tests {
|
|
|
224
224
|
types::{
|
|
225
225
|
request::{
|
|
226
226
|
ClientRequest, ClientSequencingOutcome, Cmd, DdxSessionDelegatedPayload,
|
|
227
|
-
OrderIntent, OrderType, PreProcessedRequest, Receipt, Request,
|
|
228
|
-
SessionAction,
|
|
227
|
+
OrderIntent, OrderIntentPayload, OrderType, PreProcessedRequest, Receipt, Request,
|
|
228
|
+
RequestWithReceipt, SessionAction,
|
|
229
229
|
},
|
|
230
230
|
transaction::ExecutionOps,
|
|
231
231
|
},
|
|
@@ -244,20 +244,22 @@ mod tests {
|
|
|
244
244
|
})
|
|
245
245
|
.expect("encode delegated payload");
|
|
246
246
|
|
|
247
|
-
Request::ClientRequest(ClientRequest::Order(OrderIntent
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
247
|
+
Request::ClientRequest(ClientRequest::Order(OrderIntent::new(
|
|
248
|
+
OrderIntentPayload {
|
|
249
|
+
symbol: "ETHP".into(),
|
|
250
|
+
strategy: Default::default(),
|
|
251
|
+
side: OrderSide::Bid,
|
|
252
|
+
order_type: OrderType::Limit { post_only: false },
|
|
253
|
+
amount: unscaled!(10),
|
|
254
|
+
price: unscaled!(200),
|
|
255
|
+
stop_price: Default::default(),
|
|
256
|
+
},
|
|
257
|
+
Default::default(),
|
|
258
|
+
0,
|
|
259
|
+
crate::types::request::DEFAULT_RECV_WINDOW_MS,
|
|
260
|
+
Some(session_key_signature),
|
|
261
|
+
Default::default(),
|
|
262
|
+
)))
|
|
261
263
|
}
|
|
262
264
|
|
|
263
265
|
#[test]
|
|
@@ -278,15 +278,9 @@ pub const COINGECKO_ID: &str = "coingecko";
|
|
|
278
278
|
// The current polling threshold is set to 10 minutes.
|
|
279
279
|
pub const COINGECKO_POLL_THRESHOLD: usize = 600;
|
|
280
280
|
|
|
281
|
-
// Gecko terminal Hostname and SPCX contract address
|
|
282
|
-
pub const GECKO_TERMINAL_ID: &str = "gecko-terminal";
|
|
283
|
-
|
|
284
281
|
// Elections Kalshi Hostname and WAS contract address
|
|
285
282
|
pub const ELECTIONS_KALSHI_ID: &str = "kalshi";
|
|
286
283
|
|
|
287
|
-
// Due to rate limit and low liquidity, we need to poll less often for SPCX
|
|
288
|
-
pub const SPCX_POLL_THRESHOLD: usize = 10;
|
|
289
|
-
|
|
290
284
|
// Default limit on strategies a trader can have
|
|
291
285
|
pub const MAX_STRATEGIES: u8 = 10;
|
|
292
286
|
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
pub use test_harness_utils::*;
|
|
3
3
|
#[cfg(feature = "test_harness")]
|
|
4
4
|
mod test_harness_utils {
|
|
5
|
-
#[cfg(feature = "private_equity_perp")]
|
|
6
|
-
use crate::specs::constants::SINGLENAMEPERP_SPCXP;
|
|
7
5
|
use crate::{
|
|
8
6
|
execution::validation::Valuation,
|
|
9
7
|
specs::{
|
|
@@ -21,7 +19,8 @@ mod test_harness_utils {
|
|
|
21
19
|
primitives::{ProductSymbol, UnderlyingSymbol},
|
|
22
20
|
request::{
|
|
23
21
|
CancelOrderIntent, DdxSessionDelegatedPayload, ModifyOrderIntent, OrderIntent,
|
|
24
|
-
OrderType, ProfileUpdateIntent, SessionAction,
|
|
22
|
+
OrderIntentPayload, OrderType, ProfileUpdateIntent, SessionAction,
|
|
23
|
+
WithdrawDDXIntent, WithdrawIntent,
|
|
25
24
|
},
|
|
26
25
|
state::BookOrder,
|
|
27
26
|
transaction::{
|
|
@@ -72,7 +71,6 @@ mod test_harness_utils {
|
|
|
72
71
|
pub const DOGEP: &str = "DOGEP";
|
|
73
72
|
pub const ETHP: &str = "ETHP";
|
|
74
73
|
pub const FUNDP: &str = "FUNDP";
|
|
75
|
-
pub const SPCXP: &str = "SPCXP";
|
|
76
74
|
#[cfg(feature = "fixed_expiry_future")]
|
|
77
75
|
pub const ETHHF: &str = "ETHHF";
|
|
78
76
|
#[cfg(feature = "fixed_expiry_future")]
|
|
@@ -131,15 +129,6 @@ mod test_harness_utils {
|
|
|
131
129
|
SPOTGATEWAY_COINGECKO.into(),
|
|
132
130
|
);
|
|
133
131
|
|
|
134
|
-
#[cfg(feature = "private_equity_perp")]
|
|
135
|
-
{
|
|
136
|
-
system_specs.insert(
|
|
137
|
-
SpecsKey::single_name_perpetual("SPCXP"),
|
|
138
|
-
SINGLENAMEPERP_SPCXP.into(),
|
|
139
|
-
);
|
|
140
|
-
system_specs.insert(SpecsKey::spot_index("SPCX"), SPOTINDEX_SPCX.into());
|
|
141
|
-
}
|
|
142
|
-
|
|
143
132
|
system_specs
|
|
144
133
|
}
|
|
145
134
|
|
|
@@ -395,20 +384,22 @@ mod test_harness_utils {
|
|
|
395
384
|
P: Into<ProductSymbol>,
|
|
396
385
|
F: Into<f64>,
|
|
397
386
|
{
|
|
398
|
-
let mut order = OrderIntent
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
387
|
+
let mut order = OrderIntent::new(
|
|
388
|
+
OrderIntentPayload {
|
|
389
|
+
symbol: symbol.into(),
|
|
390
|
+
strategy: strategy.into(),
|
|
391
|
+
side,
|
|
392
|
+
order_type: OrderType::Limit { post_only },
|
|
393
|
+
amount: Decimal::from_f64(amount.into()).unwrap().into(),
|
|
394
|
+
price: Decimal::from_f64(price.into()).unwrap().into(),
|
|
395
|
+
stop_price: Default::default(),
|
|
396
|
+
},
|
|
397
|
+
nonce(),
|
|
398
|
+
0,
|
|
399
|
+
0,
|
|
400
|
+
None,
|
|
401
|
+
Default::default(),
|
|
402
|
+
);
|
|
412
403
|
sign_order_as(&mut order, trader);
|
|
413
404
|
order
|
|
414
405
|
}
|
|
@@ -425,20 +416,22 @@ mod test_harness_utils {
|
|
|
425
416
|
P: Into<ProductSymbol>,
|
|
426
417
|
F: Into<f64>,
|
|
427
418
|
{
|
|
428
|
-
let mut order = OrderIntent
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
419
|
+
let mut order = OrderIntent::new(
|
|
420
|
+
OrderIntentPayload {
|
|
421
|
+
symbol: symbol.into(),
|
|
422
|
+
strategy: strategy.into(),
|
|
423
|
+
side,
|
|
424
|
+
order_type: OrderType::Limit { post_only: false },
|
|
425
|
+
amount: Decimal::from_f64(amount.into()).unwrap().into(),
|
|
426
|
+
price: Decimal::from_f64(price.into()).unwrap().into(),
|
|
427
|
+
stop_price: Default::default(),
|
|
428
|
+
},
|
|
429
|
+
nonce(),
|
|
430
|
+
0,
|
|
431
|
+
0,
|
|
432
|
+
None,
|
|
433
|
+
Default::default(),
|
|
434
|
+
);
|
|
442
435
|
let order_hash = order.hash_eip712();
|
|
443
436
|
let secret_key = parse_secret_key(key).unwrap();
|
|
444
437
|
let signature = sign_message(&secret_key, order_hash.into()).unwrap();
|
|
@@ -458,20 +451,22 @@ mod test_harness_utils {
|
|
|
458
451
|
P: Into<ProductSymbol>,
|
|
459
452
|
F: Into<f64>,
|
|
460
453
|
{
|
|
461
|
-
let mut order = OrderIntent
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
454
|
+
let mut order = OrderIntent::new(
|
|
455
|
+
OrderIntentPayload {
|
|
456
|
+
symbol: symbol.into(),
|
|
457
|
+
strategy: strategy.into(),
|
|
458
|
+
side,
|
|
459
|
+
order_type: OrderType::Market,
|
|
460
|
+
amount: Decimal::from_f64(amount.into()).unwrap().into(),
|
|
461
|
+
price: Default::default(),
|
|
462
|
+
stop_price: Default::default(),
|
|
463
|
+
},
|
|
464
|
+
nonce(),
|
|
465
|
+
0,
|
|
466
|
+
0,
|
|
467
|
+
None,
|
|
468
|
+
Default::default(),
|
|
469
|
+
);
|
|
475
470
|
sign_order_as(&mut order, trader);
|
|
476
471
|
order
|
|
477
472
|
}
|
|
@@ -769,6 +764,17 @@ mod test_harness_utils {
|
|
|
769
764
|
intent.signature = signature.into();
|
|
770
765
|
}
|
|
771
766
|
|
|
767
|
+
#[cfg(feature = "insurance_fund_client_req")]
|
|
768
|
+
pub fn sign_insurance_fund_withdraw_as<T: Into<TraderAddress>>(
|
|
769
|
+
intent: &mut crate::types::request::InsuranceFundWithdrawIntent,
|
|
770
|
+
signer: T,
|
|
771
|
+
) {
|
|
772
|
+
let hash = intent.hash_eip712();
|
|
773
|
+
let secret_key = get_secret_key(&signer.into()).unwrap();
|
|
774
|
+
let signature = sign_message(&secret_key, hash.into()).unwrap();
|
|
775
|
+
intent.signature = signature.into();
|
|
776
|
+
}
|
|
777
|
+
|
|
772
778
|
pub fn get_cancels(trade_outcomes: &[TradeOutcomeMeta]) -> Vec<Cancel> {
|
|
773
779
|
trade_outcomes
|
|
774
780
|
.iter()
|
|
@@ -857,12 +863,6 @@ mod fuzzer_constants {
|
|
|
857
863
|
:gateway-pricefeedfuzzer (Gateway :symbol "DDXUSDC"))
|
|
858
864
|
"#;
|
|
859
865
|
|
|
860
|
-
#[cfg(feature = "private_equity_perp")]
|
|
861
|
-
pub const SPOTINDEX_SPCX: &str = r#"
|
|
862
|
-
(SpotIndex :symbol "SPCX"
|
|
863
|
-
:gateway-pricefeedfuzzer (Gateway :symbol "SPCXUSDC"))
|
|
864
|
-
"#;
|
|
865
|
-
|
|
866
866
|
pub const SPOTGATEWAY_PRICEFEEDFUZZER: &str = r#"
|
|
867
867
|
(SpotGateway :id "pricefeedfuzzer"
|
|
868
868
|
:hostname "pricefeedfuzzer"
|
|
@@ -32,14 +32,6 @@ pub const SINGLENAMEPERP_BTCP: &str = r#"
|
|
|
32
32
|
:min-order-size 0.00001
|
|
33
33
|
)"#;
|
|
34
34
|
|
|
35
|
-
pub const SINGLENAMEPERP_SPCXP: &str = r#"
|
|
36
|
-
(SingleNamePerpetual :underlying "SPCX"
|
|
37
|
-
:tick-size 0.1
|
|
38
|
-
:max-order-notional 1000000
|
|
39
|
-
:max-taker-price-deviation 0.02
|
|
40
|
-
:min-order-size 0.0001
|
|
41
|
-
)"#;
|
|
42
|
-
|
|
43
35
|
// ============================================================================
|
|
44
36
|
// Test-only Single Name Perpetual Products
|
|
45
37
|
// ============================================================================
|
|
@@ -115,11 +107,6 @@ pub const SPOTINDEX_ETH: &str = r#"
|
|
|
115
107
|
:gateway-coinbase (Gateway :symbol "ETH-USD"))
|
|
116
108
|
"#;
|
|
117
109
|
|
|
118
|
-
pub const SPOTINDEX_SPCX: &str = r#"
|
|
119
|
-
(SpotIndex :symbol "SPCX"
|
|
120
|
-
:gateway-gecko-terminal (Gateway :symbol "0x872109274218cb50f310e2bfb160d135b502a9d5"))
|
|
121
|
-
"#;
|
|
122
|
-
|
|
123
110
|
// ============================================================================
|
|
124
111
|
// Spot Gateways
|
|
125
112
|
// ============================================================================
|
|
@@ -164,15 +151,6 @@ pub const SPOTGATEWAY_COINBASE: &str = r#"
|
|
|
164
151
|
)
|
|
165
152
|
)"#;
|
|
166
153
|
|
|
167
|
-
pub const SPOTGATEWAY_GECKO_TERMINAL: &str = r#"
|
|
168
|
-
(SpotGateway :id "gecko-terminal" :hostname "api.geckoterminal.com"
|
|
169
|
-
:port 443
|
|
170
|
-
:get-spot-price (Get
|
|
171
|
-
:query (format "/api/v2/networks/bsc/tokens/{}")
|
|
172
|
-
:reader (jq "[data.attributes.address,data.attributes.price_usd]")
|
|
173
|
-
)
|
|
174
|
-
)"#;
|
|
175
|
-
|
|
176
154
|
// ============================================================================
|
|
177
155
|
// Binary Prediction Futures
|
|
178
156
|
// ============================================================================
|