@usherlabs/cex-broker 0.2.52 → 0.3.1

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 (147) hide show
  1. package/README.md +116 -8
  2. package/dist/commands/cli.js +1515 -467
  3. package/dist/index.js +1516 -468
  4. package/dist/index.js.map +31 -26
  5. package/dist/proto/node.descriptor.ts +3 -1
  6. package/dist/proto/node.proto +2 -0
  7. package/package.json +5 -28
  8. package/dist/commands/cex-canonical-orderbook-export.d.ts +0 -23
  9. package/dist/commands/cex-canonical-orderbook-export.js +0 -34275
  10. package/dist/commands/cex-canonical-orderbook-export.js.map +0 -266
  11. package/dist/commands/market-data-vendor-backfill.d.ts +0 -24
  12. package/dist/commands/market-data-vendor-backfill.js +0 -34930
  13. package/dist/commands/market-data-vendor-backfill.js.map +0 -268
  14. package/dist/handlers/execute-action/context.d.ts +0 -50
  15. package/dist/handlers/execute-action/deposit.d.ts +0 -2
  16. package/dist/handlers/execute-action/handler.d.ts +0 -19
  17. package/dist/handlers/execute-action/index.d.ts +0 -10
  18. package/dist/handlers/execute-action/internal-transfer.d.ts +0 -2
  19. package/dist/handlers/execute-action/order-book-call.d.ts +0 -3
  20. package/dist/handlers/execute-action/orders.d.ts +0 -2
  21. package/dist/handlers/execute-action/pass-through.d.ts +0 -2
  22. package/dist/handlers/execute-action/perp-config.d.ts +0 -2
  23. package/dist/handlers/execute-action/registry.d.ts +0 -5
  24. package/dist/handlers/execute-action/treasury-call.d.ts +0 -2
  25. package/dist/handlers/execute-action/withdraw.d.ts +0 -2
  26. package/dist/handlers/subscribe/broker-lifecycle.d.ts +0 -13
  27. package/dist/handlers/subscribe/handler.d.ts +0 -20
  28. package/dist/handlers/subscribe/index.d.ts +0 -2
  29. package/dist/handlers/types.d.ts +0 -23
  30. package/dist/helpers/account-balance-archive-poller.d.ts +0 -19
  31. package/dist/helpers/auth.d.ts +0 -5
  32. package/dist/helpers/balance-update-archive-consumer.d.ts +0 -16
  33. package/dist/helpers/binance-user-data-normalization.d.ts +0 -3
  34. package/dist/helpers/binance-user-data-stream.d.ts +0 -58
  35. package/dist/helpers/broker-execution-archive/capture.d.ts +0 -41
  36. package/dist/helpers/broker-execution-archive/index.d.ts +0 -7
  37. package/dist/helpers/broker-execution-archive/journal-export.d.ts +0 -20
  38. package/dist/helpers/broker-execution-archive/loss-journal.d.ts +0 -36
  39. package/dist/helpers/broker-execution-archive/redact.d.ts +0 -7
  40. package/dist/helpers/broker-execution-archive/rows.d.ts +0 -134
  41. package/dist/helpers/broker-execution-archive/types.d.ts +0 -26
  42. package/dist/helpers/broker-execution-archive/withdrawal-observation-tracker.d.ts +0 -23
  43. package/dist/helpers/broker-execution-archive/writer.d.ts +0 -105
  44. package/dist/helpers/broker.d.ts +0 -38
  45. package/dist/helpers/canonical-orderbook-export/exact-selection.d.ts +0 -21
  46. package/dist/helpers/canonical-orderbook-export/exporter.d.ts +0 -26
  47. package/dist/helpers/canonical-orderbook-export/parquet-projection.d.ts +0 -19
  48. package/dist/helpers/constants.d.ts +0 -36
  49. package/dist/helpers/deposit-archive-poller.d.ts +0 -66
  50. package/dist/helpers/deposit.d.ts +0 -5
  51. package/dist/helpers/exchange-credentials.d.ts +0 -10
  52. package/dist/helpers/fill-archive-poller.d.ts +0 -42
  53. package/dist/helpers/grpc/broker.d.ts +0 -5
  54. package/dist/helpers/grpc/callbacks.d.ts +0 -9
  55. package/dist/helpers/grpc/payload.d.ts +0 -9
  56. package/dist/helpers/grpc/status.d.ts +0 -8
  57. package/dist/helpers/index.d.ts +0 -44
  58. package/dist/helpers/logger.d.ts +0 -13
  59. package/dist/helpers/market-data-archive/canonical-orderbook.d.ts +0 -20
  60. package/dist/helpers/market-data-archive/capture-context.d.ts +0 -53
  61. package/dist/helpers/market-data-archive/capture-contract.d.ts +0 -30
  62. package/dist/helpers/market-data-archive/capture.d.ts +0 -22
  63. package/dist/helpers/market-data-archive/index.d.ts +0 -13
  64. package/dist/helpers/market-data-archive/legacy-migration.d.ts +0 -37
  65. package/dist/helpers/market-data-archive/ohlcv-bar-tracker.d.ts +0 -11
  66. package/dist/helpers/market-data-archive/ohlcv-bootstrap.d.ts +0 -1
  67. package/dist/helpers/market-data-archive/ohlcv-history.d.ts +0 -8
  68. package/dist/helpers/market-data-archive/orderbook-depth.d.ts +0 -5
  69. package/dist/helpers/market-data-archive/orderbook-sampler.d.ts +0 -12
  70. package/dist/helpers/market-data-archive/parse-stream.d.ts +0 -26
  71. package/dist/helpers/market-data-archive/rows.d.ts +0 -14
  72. package/dist/helpers/market-data-archive/types.d.ts +0 -83
  73. package/dist/helpers/market-data-preparation/conformance-fixtures.d.ts +0 -128
  74. package/dist/helpers/market-data-preparation/contracts.d.ts +0 -2970
  75. package/dist/helpers/market-data-preparation/file-job.d.ts +0 -38
  76. package/dist/helpers/market-data-preparation/required-clock-qualification.d.ts +0 -43
  77. package/dist/helpers/market-data-preparation/source-tape-dependencies.d.ts +0 -19
  78. package/dist/helpers/market-data-preparation/source-tape-operation.d.ts +0 -109
  79. package/dist/helpers/market-data-source-forensics.d.ts +0 -400
  80. package/dist/helpers/market-data-vendor-backfill/archive-reader.d.ts +0 -26
  81. package/dist/helpers/market-data-vendor-backfill/batching.d.ts +0 -10
  82. package/dist/helpers/market-data-vendor-backfill/conformance-fixtures.d.ts +0 -78
  83. package/dist/helpers/market-data-vendor-backfill/contracts.d.ts +0 -358
  84. package/dist/helpers/market-data-vendor-backfill/core.d.ts +0 -101
  85. package/dist/helpers/market-data-vendor-backfill/cryptohftdata.d.ts +0 -118
  86. package/dist/helpers/market-data-vendor-backfill/forwarder-client.d.ts +0 -25
  87. package/dist/helpers/market-data-vendor-backfill/identity.d.ts +0 -10
  88. package/dist/helpers/market-data-vendor-backfill/manifests.d.ts +0 -61
  89. package/dist/helpers/market-data-vendor-backfill/promotion.d.ts +0 -10
  90. package/dist/helpers/market-data-vendor-backfill/qualification.d.ts +0 -20
  91. package/dist/helpers/market-data-vendor-backfill/selection.d.ts +0 -30
  92. package/dist/helpers/market-data-vendor-backfill/semantic-verification.d.ts +0 -25
  93. package/dist/helpers/market-type.d.ts +0 -16
  94. package/dist/helpers/order-activity-tracker.d.ts +0 -22
  95. package/dist/helpers/order-book.d.ts +0 -79
  96. package/dist/helpers/order-telemetry.d.ts +0 -50
  97. package/dist/helpers/otel.d.ts +0 -83
  98. package/dist/helpers/passive-order.d.ts +0 -8
  99. package/dist/helpers/public-market-data-feed/identity.d.ts +0 -12
  100. package/dist/helpers/public-market-data-feed/index.d.ts +0 -5
  101. package/dist/helpers/public-market-data-feed/orderbook-coalescing-evidence.d.ts +0 -79
  102. package/dist/helpers/public-market-data-feed/orderbook-profile.d.ts +0 -54
  103. package/dist/helpers/public-market-data-feed/subscriber-buffer.d.ts +0 -31
  104. package/dist/helpers/public-market-data-feed/supervisor.d.ts +0 -82
  105. package/dist/helpers/shared/errors.d.ts +0 -14
  106. package/dist/helpers/shared/guards.d.ts +0 -2
  107. package/dist/helpers/source-tape-sandbox.d.ts +0 -82
  108. package/dist/helpers/source-tape.d.ts +0 -165
  109. package/dist/helpers/stream-health-publisher.d.ts +0 -41
  110. package/dist/helpers/trace-context.d.ts +0 -8
  111. package/dist/helpers/transfer-network.d.ts +0 -12
  112. package/dist/helpers/travel-rule-deposit-reconciler.d.ts +0 -159
  113. package/dist/helpers/travel-rule.d.ts +0 -75
  114. package/dist/helpers/treasury-discovery.d.ts +0 -17
  115. package/dist/helpers/user-asset-archive-poller.d.ts +0 -19
  116. package/dist/helpers/user-data-stream-supervisor.d.ts +0 -27
  117. package/dist/helpers/verity.d.ts +0 -5
  118. package/dist/index.d.ts +0 -56
  119. package/dist/market-data-preparation/fixtures/conformance-v3.json +0 -621
  120. package/dist/market-data-preparation/policies/capability-policy.json +0 -39
  121. package/dist/market-data-preparation/policies/resource-policy.json +0 -16
  122. package/dist/market-data-preparation/policies/source-tape-capability-v1.json +0 -35
  123. package/dist/market-data-preparation/schema-manifest.json +0 -66
  124. package/dist/market-data-preparation/schemas/archive-selection-v1.schema.json +0 -224
  125. package/dist/market-data-preparation/schemas/backfill-request-v1.schema.json +0 -166
  126. package/dist/market-data-preparation/schemas/backfill-result-v2.schema.json +0 -212
  127. package/dist/market-data-preparation/schemas/canonical-orderbook-export-request-v1.schema.json +0 -61
  128. package/dist/market-data-preparation/schemas/canonical-orderbook-export-result-v2.schema.json +0 -252
  129. package/dist/market-data-preparation/schemas/order-book-depth-summary-parquet-projection-v1.schema.json +0 -256
  130. package/dist/market-data-preparation/schemas/order-book-levels-parquet-projection-v1.schema.json +0 -220
  131. package/dist/market-data-preparation/schemas/preparation-product-pin-v2.schema.json +0 -176
  132. package/dist/market-data-preparation/schemas/promotion-receipt-v1.schema.json +0 -175
  133. package/dist/market-data-preparation/schemas/required-clock-v1.schema.json +0 -47
  134. package/dist/market-data-preparation/schemas/source-forensics-ledger-v1.schema.json +0 -463
  135. package/dist/market-data-preparation/schemas/source-qualification-record-v1.schema.json +0 -394
  136. package/dist/market-data-preparation.d.ts +0 -11
  137. package/dist/market-data-preparation.js +0 -37488
  138. package/dist/market-data-preparation.js.map +0 -277
  139. package/dist/market-data-vendor-backfill.d.ts +0 -21
  140. package/dist/market-data-vendor-backfill.js +0 -22463
  141. package/dist/market-data-vendor-backfill.js.map +0 -199
  142. package/dist/proto/node.descriptor.d.ts +0 -127
  143. package/dist/proto-loader-options.d.ts +0 -7
  144. package/dist/proto-package-definition.d.ts +0 -2
  145. package/dist/schemas/action-payloads.d.ts +0 -88
  146. package/dist/server.d.ts +0 -10
  147. package/dist/types.d.ts +0 -100
@@ -1,37 +0,0 @@
1
- import type { BrokerArchiveRow, BrokerArchiveSource } from "../broker-execution-archive/types";
2
- export type LegacyOrderBookSnapshot = {
3
- source?: BrokerArchiveSource;
4
- deployment_id: string;
5
- account_selector?: string;
6
- exchange: string;
7
- asset_type: "spot" | "swap" | "future";
8
- symbol: string;
9
- event_time_ms: number;
10
- received_time_ms: number;
11
- depth_limit: number;
12
- bids_price: number[];
13
- bids_size: number[];
14
- asks_price: number[];
15
- asks_size: number[];
16
- sequence?: number;
17
- };
18
- export type LegacyCandle = {
19
- source?: BrokerArchiveSource;
20
- deployment_id: string;
21
- account_selector?: string;
22
- exchange: string;
23
- asset_type: "spot" | "swap" | "future";
24
- symbol: string;
25
- timeframe: string;
26
- open_time_ms: number;
27
- open: number;
28
- high: number;
29
- low: number;
30
- close: number;
31
- volume: number;
32
- quote_volume?: number;
33
- is_closed: 0 | 1;
34
- broker_version: number;
35
- };
36
- export declare function buildLegacyOrderBookMigrationRows(legacy: LegacyOrderBookSnapshot): BrokerArchiveRow[];
37
- export declare function buildLegacyOhlcvMigrationRow(legacy: LegacyCandle): BrokerArchiveRow;
@@ -1,11 +0,0 @@
1
- import type { OhlcvArchiveCandidate, ParsedOhlcvBar } from "./types";
2
- export declare function parseOhlcvBar(value: unknown): ParsedOhlcvBar | null;
3
- export declare function extractOhlcvBars(payload: unknown): ParsedOhlcvBar[];
4
- export declare function extractLatestOhlcvBar(payload: unknown): ParsedOhlcvBar | null;
5
- export declare class OhlcvBarTracker {
6
- private lastOpenTimeMs;
7
- private lastBar;
8
- process(payload: unknown, brokerVersion: number): OhlcvArchiveCandidate[];
9
- private processSingleBar;
10
- private processBatch;
11
- }
@@ -1 +0,0 @@
1
- export declare function resolveOhlcvBootstrapLimit(optionValue: string | undefined): number;
@@ -1,8 +0,0 @@
1
- import type { Exchange } from "@usherlabs/ccxt";
2
- import type { BrokerExecutionArchiver } from "../broker-execution-archive/writer";
3
- import type { OtelMetrics } from "../otel";
4
- import type { OhlcvBarTracker } from "./ohlcv-bar-tracker";
5
- import type { OhlcvArchiveInput } from "./types";
6
- export declare function bootstrapOhlcvHistory(broker: Exchange, archiver: BrokerExecutionArchiver | undefined, otelMetrics: OtelMetrics | undefined, tracker: OhlcvBarTracker, input: OhlcvArchiveInput, options?: {
7
- bootstrapLimit?: string;
8
- }): Promise<unknown | null>;
@@ -1,5 +0,0 @@
1
- export declare function getOrderbookArchiveDepthLimit(): number;
2
- export declare function splitOrderBookSide(levels: number[][], limit: number): {
3
- prices: number[];
4
- sizes: number[];
5
- };
@@ -1,12 +0,0 @@
1
- export declare function getOrderbookIntervalMs(): number;
2
- export declare function isMarketArchiveEnabled(): boolean;
3
- export declare class OrderbookSampler {
4
- private readonly intervalMs;
5
- private lastEmitMs;
6
- constructor(intervalMs?: number);
7
- shouldEmit(nowMs?: number): boolean;
8
- }
9
- /** @deprecated Use getOrderbookIntervalMs */
10
- export declare const getOrderbookTobIntervalMs: typeof getOrderbookIntervalMs;
11
- /** @deprecated Use OrderbookSampler */
12
- export declare const OrderbookTobSampler: typeof OrderbookSampler;
@@ -1,26 +0,0 @@
1
- export type ParsedTrade = {
2
- tradeId: string;
3
- eventTimeMs: number;
4
- side: string;
5
- price: number;
6
- amount: number;
7
- cost?: number;
8
- takerOrMaker?: string;
9
- };
10
- export type ParsedTicker = {
11
- eventTimeMs: number;
12
- last?: number;
13
- bid?: number;
14
- ask?: number;
15
- high?: number;
16
- low?: number;
17
- open?: number;
18
- close?: number;
19
- baseVolume?: number;
20
- quoteVolume?: number;
21
- change?: number;
22
- percentage?: number;
23
- };
24
- export declare function parseTrade(value: unknown, fallbackMs?: number): ParsedTrade | null;
25
- export declare function extractTrades(payload: unknown, fallbackMs?: number): ParsedTrade[];
26
- export declare function parseTicker(value: unknown, fallbackMs: number): ParsedTicker | null;
@@ -1,14 +0,0 @@
1
- import type { BrokerArchiveRow } from "../broker-execution-archive/types";
2
- import type { ParsedTicker, ParsedTrade } from "./parse-stream";
3
- import type { CexStreamArchiveInput, MarketCaptureContext, ParsedOhlcvBar, RawCapture } from "./types";
4
- export declare function buildCanonicalCexStreamEventRow(context: MarketCaptureContext, rawCapture: RawCapture): BrokerArchiveRow;
5
- export declare function buildCanonicalTickerEventRow(context: MarketCaptureContext, rawCapture: RawCapture, ticker: ParsedTicker): BrokerArchiveRow;
6
- export declare function buildCanonicalTradeRow(context: MarketCaptureContext, rawCapture: RawCapture, trade: ParsedTrade): BrokerArchiveRow;
7
- export declare function buildCanonicalOhlcvRow(input: {
8
- context: MarketCaptureContext;
9
- rawCapture: RawCapture;
10
- bar: ParsedOhlcvBar;
11
- isClosed: boolean;
12
- brokerVersion: number;
13
- }): BrokerArchiveRow;
14
- export declare function buildCexStreamEventRow(input: CexStreamArchiveInput): BrokerArchiveRow;
@@ -1,83 +0,0 @@
1
- import type { BrokerArchiveRow, BrokerArchiveSource } from "../broker-execution-archive/types";
2
- import type { BrokerMarketType } from "../market-type";
3
- import type { NormalizedOrderBookSnapshot } from "../order-book";
4
- export type MarketArchiveSource = BrokerArchiveSource | "external_backfill";
5
- export type MarketArchiveTable = "market_data.orderbook_snapshots" | "market_data.candles" | "market_data.cex_stream_events" | "market_data.cex_ticker_events" | "market_data.cex_trades" | "market_data.cex_ohlcv" | "market_data.cex_order_book_levels" | "market_data.cex_order_book_depth_summary";
6
- export type CexStreamType = "BALANCE" | "ORDERS" | "ORDERBOOK" | "TRADES" | "TICKER" | "OHLCV";
7
- export type ParsedOhlcvBar = {
8
- openTimeMs: number;
9
- open: number;
10
- high: number;
11
- low: number;
12
- close: number;
13
- volume: number;
14
- quoteVolume?: number;
15
- };
16
- export type OhlcvArchiveCandidate = {
17
- bar: ParsedOhlcvBar;
18
- isClosed: boolean;
19
- brokerVersion: number;
20
- };
21
- export type MarketArchiveContext = {
22
- source?: BrokerArchiveSource;
23
- exchange: string;
24
- symbol: string;
25
- assetType: BrokerMarketType;
26
- timeframe?: string;
27
- accountSelector?: string;
28
- deploymentId: string;
29
- };
30
- export type CaptureFeed = "ORDERBOOK" | "TICKER" | "TRADES" | "OHLCV";
31
- export type CaptureSourceMode = "broker_live_stream_v1" | "broker_live_sampling_v1" | "broker_current_snapshot_v1" | "broker_bootstrap_fetch_v1" | "external_ccxt_fallback_v1" | "external_hummingbot_fallback_v1" | "legacy_migration_v1" | "historical_vendor_orderbook_v1" | "vendor_historical_backfill_v1";
32
- export type CaptureOrigin = "production_capture" | "vendor_historical_backfill";
33
- export type RawCaptureScope = "ccxt_normalized_object" | "broker_visible_payload" | "exchange_wire_frame" | "vendor_normalized_dataset_file";
34
- export type MarketCaptureContext = Omit<MarketArchiveContext, "source"> & {
35
- source: MarketArchiveSource;
36
- captureBundleId: string;
37
- feed: CaptureFeed;
38
- provider: string;
39
- sourceMode: CaptureSourceMode;
40
- schemaVersion: string;
41
- checksumAlgorithm: string;
42
- provenanceComplete: boolean;
43
- tradingPair?: string;
44
- sourceSymbol?: string;
45
- };
46
- export type RawCapture = {
47
- rawCaptureId: string;
48
- rawCaptureScope: RawCaptureScope;
49
- rawChecksum: string;
50
- redactedPayload: unknown;
51
- eventTimeMs: number;
52
- receivedTimeMs: number;
53
- checksumAlgorithm: string;
54
- };
55
- export type OrderbookArchiveInput = MarketArchiveContext & {
56
- snapshot: NormalizedOrderBookSnapshot;
57
- };
58
- /** @deprecated Use OrderbookArchiveInput */
59
- export type OrderbookSnapshotArchiveInput = OrderbookArchiveInput;
60
- /** @deprecated Use OrderbookArchiveInput */
61
- export type OrderbookTobArchiveInput = OrderbookArchiveInput;
62
- export type OhlcvArchiveInput = MarketArchiveContext & {
63
- payload: unknown;
64
- receivedTimestamp: number;
65
- timeframe: string;
66
- sourceMode?: "broker_live_stream_v1" | "broker_bootstrap_fetch_v1";
67
- };
68
- export type TradesArchiveInput = MarketArchiveContext & {
69
- payload: unknown;
70
- receivedTimestamp: number;
71
- };
72
- export type TickerArchiveInput = MarketArchiveContext & {
73
- payload: unknown;
74
- receivedTimestamp: number;
75
- };
76
- export type CexStreamArchiveInput = MarketArchiveContext & {
77
- streamType: CexStreamType;
78
- payload: unknown;
79
- receivedTimestamp: number;
80
- eventTimeMs?: number;
81
- };
82
- export declare function isMarketArchiveTable(table: string): table is MarketArchiveTable;
83
- export type { BrokerArchiveRow };
@@ -1,128 +0,0 @@
1
- export declare const PREPARATION_CONFORMANCE_FIXTURES: Readonly<{
2
- fixture_id: "cex-market-data-preparation-conformance/v3";
3
- documents: Readonly<{
4
- backfill_result: import("./contracts").BackfillJobResultV2Wire;
5
- canonical_orderbook_export_request: import("./contracts").CanonicalOrderBookExportRequestWire;
6
- canonical_orderbook_export_result: import("./contracts").CanonicalOrderBookExportResultWire;
7
- preparation_product_pin: import("./contracts").PreparationProductPinWire;
8
- library_operations: Readonly<{
9
- required_clock_qualification: Readonly<{
10
- operation_id: "market-data-required-clock-qualification/v1";
11
- attempt_id: "arb-usdt-required-clock-conformance";
12
- request: {
13
- idempotency_key: string;
14
- schema_id: string;
15
- request_id: string;
16
- attempt_id: string;
17
- scope: {
18
- exchange: string;
19
- trading_pair: string;
20
- market_type: "spot";
21
- feed: "ORDERBOOK";
22
- };
23
- window: {
24
- start_at: string;
25
- end_at: string;
26
- };
27
- depth: number;
28
- construction_mode: "sampled_top_n_snapshot";
29
- source_policy: "authoritative_window";
30
- target: {
31
- environment: string;
32
- cluster: string;
33
- };
34
- coverage_policy: {
35
- policy_id: "prior-asof-strict/v1";
36
- max_asof_lag_ms: number;
37
- future_rows: "reject";
38
- missing_required_event: "fail";
39
- };
40
- required_clock: {
41
- schema_id: string;
42
- clock_id: string;
43
- file_name: string;
44
- clock_sha256: string;
45
- event_count: number;
46
- };
47
- initial_selection: import("../market-data-vendor-backfill/contracts").ArchiveSelectionWire;
48
- expected_canonical_schema: {
49
- schema_id: string;
50
- schema_sha256: string;
51
- };
52
- product_pins: {
53
- capability_policy: {
54
- policy_id: "market-data-vendor-backfill-capabilities/v3";
55
- policy_sha256: string;
56
- };
57
- resource_policy: {
58
- policy_id: "market-data-vendor-backfill-resources/v2";
59
- policy_sha256: string;
60
- };
61
- };
62
- production_authorization_id: string;
63
- };
64
- required_clock: import("../market-data-vendor-backfill/contracts").RequiredClockWire;
65
- artifacts: Readonly<{
66
- ledger_file_name: "required-clock-ledger.json";
67
- qualification_record_file_name: "required-clock-qualification.json";
68
- }>;
69
- }>;
70
- source_tape: Readonly<{
71
- operation_id: "market-data-source-tape/v1";
72
- attempt_id: "arb-usdt-source-tape-conformance";
73
- request_id: string;
74
- scope: {
75
- exchange: string;
76
- trading_pair: string;
77
- market_type: "spot";
78
- feed: "ORDERBOOK";
79
- };
80
- window: {
81
- start_at: string;
82
- end_at: string;
83
- };
84
- depth: 100;
85
- target: Readonly<{
86
- environment: "sandbox";
87
- cluster: "cex-archive-local";
88
- }>;
89
- production_authorization_id: string;
90
- expected_canonical_schema: {
91
- schema_id: string;
92
- schema_sha256: string;
93
- };
94
- product_pins: Readonly<{
95
- source_tape_capability: Readonly<{
96
- policy_id: string;
97
- policy_sha256: string;
98
- }>;
99
- resource_policy: Readonly<{
100
- policy_id: "market-data-vendor-backfill-resources/v2";
101
- policy_sha256: string;
102
- }>;
103
- adapter_policy: Readonly<{
104
- policy_id: "cryptohftdata-orderbook-adapter/v1";
105
- policy_sha256: string;
106
- }>;
107
- acquisition_policy: Readonly<{
108
- policy_id: "cryptohftdata-hourly-acquisition/v2";
109
- policy_sha256: string;
110
- }>;
111
- }>;
112
- artifacts: Readonly<{
113
- ledger_file_name: "source-tape-ledger.json";
114
- qualification_record_file_name: "source-tape-qualification.json";
115
- exporter_result_file_name: "source-tape-export-result.json";
116
- }>;
117
- }>;
118
- }>;
119
- }>;
120
- identities: Readonly<{
121
- manifest_sha256: string;
122
- backfill_result_sha256: string;
123
- selection_sha256: string;
124
- export_result_sha256: string;
125
- product_pin_sha256: string;
126
- library_operations_sha256: string;
127
- }>;
128
- }>;