architect-api 5.0.1

Architect.xyz Trading Platform API
Documentation
#[cfg(feature = "tonic")]
fn build_grpc_stubs() {
    use std::path::PathBuf;
    let json_codec = "crate::grpc::json_codec::JsonCodec";
    let json_health_service = tonic_build::manual::Service::builder()
        .name("Health")
        .package("json.architect")
        .method(
            tonic_build::manual::Method::builder()
                .name("check")
                .route_name("Check")
                .input_type("crate::grpc::health::HealthCheckRequest")
                .output_type("crate::grpc::health::HealthCheckResponse")
                .codec_path(json_codec)
                .build(),
        )
        .build();
    let json_symbology_service = tonic_build::manual::Service::builder()
        .name("Symbology")
        .package("json.architect")
        .method(
            tonic_build::manual::Method::builder()
                .name("symbology_snapshot")
                .route_name("SymbologySnapshot")
                .input_type("crate::external::symbology::SymbologySnapshotRequest")
                .output_type("crate::external::symbology::SymbologySnapshot")
                .codec_path(json_codec)
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("subscribe_symbology_updates")
                .route_name("SubscribeSymbologyUpdates")
                .input_type(
                    "crate::external::symbology::SubscribeSymbologyUpdatesRequest",
                )
                .output_type("crate::external::symbology::SymbologyUpdate")
                .server_streaming()
                .codec_path(json_codec)
                .build(),
        )
        .build();
    let json_symbology_v2_service = tonic_build::manual::Service::builder()
        .name("SymbologyV2")
        .package("json.architect")
        .method(
            tonic_build::manual::Method::builder()
                .name("symbology_v2")
                .route_name("SymbologyV2")
                .input_type("crate::symbology_v2::protocol::SymbologyV2Request")
                .output_type("crate::symbology_v2::protocol::SymbologySnapshot")
                .codec_path(json_codec)
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("subscribe_symbology_v2")
                .route_name("SubscribeSymbologyV2")
                .input_type("crate::symbology_v2::protocol::SubscribeSymbologyV2")
                .output_type("crate::symbology_v2::protocol::SymbologyUpdate")
                .server_streaming()
                .codec_path(json_codec)
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("upload_symbology_v2")
                .route_name("UploadSymbologyV2")
                .input_type("crate::symbology_v2::protocol::UploadSymbologyV2Request")
                .output_type("crate::symbology_v2::protocol::UploadSymbologyV2Response")
                .codec_path(json_codec)
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("prune_expired_symbols")
                .route_name("PruneExpiredSymbols")
                .input_type("crate::symbology_v2::protocol::PruneExpiredSymbolsRequest")
                .output_type("crate::symbology_v2::protocol::PruneExpiredSymbolsResponse")
                .codec_path(json_codec)
                .build(),
        )
        .build();
    let json_marketdata_service = tonic_build::manual::Service::builder()
        .name("Marketdata")
        .package("json.architect")
        .method(
            tonic_build::manual::Method::builder()
                .name("l1_book_snapshot")
                .route_name("L1BookSnapshot")
                .input_type("crate::external::marketdata::L1BookSnapshotRequest")
                .output_type("crate::external::marketdata::L1BookSnapshot")
                .codec_path(json_codec)
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("l1_book_snapshots")
                .route_name("L1BookSnapshots")
                .input_type("crate::external::marketdata::L1BookSnapshotsRequest")
                .output_type("crate::external::marketdata::L1BookSnapshots")
                .codec_path(json_codec)
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("subscribe_l1_book_snapshots")
                .route_name("SubscribeL1BookSnapshots")
                .input_type(
                    "crate::external::marketdata::SubscribeL1BookSnapshotsRequest",
                )
                .output_type("crate::external::marketdata::L1BookSnapshot")
                .server_streaming()
                .codec_path(json_codec)
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("subscribe_l2_book_updates")
                .route_name("SubscribeL2BookUpdates")
                .input_type("crate::external::marketdata::SubscribeL2BookUpdatesRequest")
                .output_type("crate::external::marketdata::L2BookUpdate")
                .server_streaming()
                .codec_path(json_codec)
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("l2_book_snapshot")
                .route_name("L2BookSnapshot")
                .input_type("crate::external::marketdata::L2BookSnapshotRequest")
                .output_type("crate::external::marketdata::L2BookSnapshot")
                .codec_path(json_codec)
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("subscribe_candles")
                .route_name("SubscribeCandles")
                .input_type("crate::external::marketdata::SubscribeCandlesRequest")
                .output_type("crate::external::marketdata::Candle")
                .server_streaming()
                .codec_path(json_codec)
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("subscribe_many_candles")
                .route_name("SubscribeManyCandles")
                .input_type("crate::external::marketdata::SubscribeManyCandlesRequest")
                .output_type("crate::external::marketdata::Candle")
                .server_streaming()
                .codec_path(json_codec)
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("subscribe_trades")
                .route_name("SubscribeTrades")
                .input_type("crate::external::marketdata::SubscribeTradesRequest")
                .output_type("crate::external::marketdata::Trade")
                .server_streaming()
                .codec_path(json_codec)
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("market_status")
                .route_name("MarketStatus")
                .input_type("crate::external::marketdata::MarketStatusRequest")
                .output_type("crate::external::marketdata::MarketStatus")
                .codec_path(json_codec)
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("ticker")
                .route_name("Ticker")
                .input_type("crate::external::marketdata::TickerRequest")
                .output_type("crate::external::marketdata::Ticker")
                .codec_path(json_codec)
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("subscribe_tickers")
                .route_name("SubscribeTickers")
                .input_type("crate::external::marketdata::SubscribeTickersRequest")
                .output_type("crate::external::marketdata::TickerUpdate")
                .server_streaming()
                .codec_path(json_codec)
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("subscribe_liquidations")
                .route_name("SubscribeLiquidations")
                .input_type("crate::external::marketdata::SubscribeLiquidationsRequest")
                .output_type("crate::external::marketdata::Liquidation")
                .codec_path(json_codec)
                .server_streaming()
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("exchange_specific_fields")
                .route_name("ExchangeSpecificFields")
                .input_type("crate::external::marketdata::ExchangeSpecificFieldsRequest")
                .output_type("crate::external::marketdata::ExchangeSpecificFields")
                .codec_path(json_codec)
                .build(),
        )
        .build();
    let json_marketdata_snapshots_service = tonic_build::manual::Service::builder()
        .name("MarketdataSnapshots")
        .package("json.architect")
        .method(
            tonic_build::manual::Method::builder()
                .name("marketdata_snapshot")
                .route_name("MarketdataSnapshot")
                .input_type(
                    "crate::external::marketdata_snapshots::MarketdataSnapshotRequest",
                )
                .output_type("crate::external::marketdata_snapshots::MarketdataSnapshot")
                .codec_path(json_codec)
                .build(),
        )
        .method(
            tonic_build::manual::Method::builder()
                .name("marketdata_snapshots")
                .route_name("MarketdataSnapshots")
                .input_type(
                    "crate::external::marketdata_snapshots::MarketdataSnapshotsRequest",
                )
                .output_type(
                    "crate::external::marketdata_snapshots::MarketdataSnapshotsResponse",
                )
                .codec_path(json_codec)
                .build(),
        )
        .build();
    let json_orderflow_service = tonic_build::manual::Service::builder()
        .name("Orderflow")
        .package("json.architect")
        .method(
            tonic_build::manual::Method::builder()
                .name("orderflow")
                .route_name("Orderflow")
                .input_type("crate::orderflow_v2::OrderflowRequest")
                .output_type("crate::orderflow_v2::OrderflowResponse")
                .client_streaming()
                .server_streaming()
                .codec_path(json_codec)
                .build(),
        )
        .build();
    let mut schema_gen_dir = PathBuf::from(std::env::var("CARGO_MANIFEST_DIR").unwrap());
    schema_gen_dir.push("schema/generated");
    schema_builder::manual::Builder::new()
        .rewrite_crate("architect_api")
        .out_dir(schema_gen_dir)
        .compile(&[
            &json_health_service,
            &json_symbology_service,
            &json_symbology_v2_service,
            &json_marketdata_service,
            &json_marketdata_snapshots_service,
            &json_orderflow_service,
        ]);
    tonic_build::manual::Builder::new().compile(&[
        json_health_service,
        json_symbology_service,
        json_symbology_v2_service,
        json_marketdata_service,
        json_marketdata_snapshots_service,
        json_orderflow_service,
    ]);
}

fn main() {
    #[cfg(feature = "tonic")]
    build_grpc_stubs();
}