From 34232f756557c455691c08ea4dab3806de425776 Mon Sep 17 00:00:00 2001 From: Andy Golay Date: Mon, 30 Jun 2025 09:50:18 +0200 Subject: [PATCH 1/2] feat: events are indexed against local network --- .../postgres-basic-events-example/Cargo.toml | 3 +- .../postgres-basic-events-example/README.md | 127 ++++++++++++++++-- .../postgres-basic-events-example/diesel.toml | 9 ++ .../example-config.yaml | 27 +++- .../migrations/.keep | 0 .../down.sql | 6 + .../up.sql | 36 +++++ .../run-processor.sh | 42 ++++++ .../src/db/schema.rs | 68 +++++++++- .../postgres-basic-events-example/src/main.rs | 113 ++++------------ .../src/schema.rs | 19 +++ .../temp-config.yaml | 29 ++++ 12 files changed, 380 insertions(+), 99 deletions(-) create mode 100644 examples/postgres-basic-events-example/diesel.toml create mode 100644 examples/postgres-basic-events-example/migrations/.keep create mode 100644 examples/postgres-basic-events-example/migrations/00000000000000_diesel_initial_setup/down.sql create mode 100644 examples/postgres-basic-events-example/migrations/00000000000000_diesel_initial_setup/up.sql create mode 100755 examples/postgres-basic-events-example/run-processor.sh create mode 100644 examples/postgres-basic-events-example/src/schema.rs create mode 100644 examples/postgres-basic-events-example/temp-config.yaml diff --git a/examples/postgres-basic-events-example/Cargo.toml b/examples/postgres-basic-events-example/Cargo.toml index 34a778a0..4e5cf60f 100644 --- a/examples/postgres-basic-events-example/Cargo.toml +++ b/examples/postgres-basic-events-example/Cargo.toml @@ -13,7 +13,8 @@ rust-version = { workspace = true } [dependencies] anyhow = { workspace = true } -aptos-indexer-processor-sdk = { workspace = true } +aptos-indexer-processor-sdk = { git = "https://github.com/aptos-labs/aptos-indexer-processor-sdk.git", tag = "aptos-indexer-processor-sdk-v2.1.1", features = ["postgres_partial"] } +processor = { git = "https://github.com/aptos-labs/aptos-indexer-processors-v2.git", package = "processor" } async-trait = { workspace = true } clap = { workspace = true } diesel = { workspace = true } diff --git a/examples/postgres-basic-events-example/README.md b/examples/postgres-basic-events-example/README.md index 0eb49b39..c8ea4209 100644 --- a/examples/postgres-basic-events-example/README.md +++ b/examples/postgres-basic-events-example/README.md @@ -1,11 +1,122 @@ -# Example Postgres events processor +# Multi-Processor Example -## About +This example demonstrates how to run different Aptos indexer processors using the `aptos-indexer-processors-v2` repository. -A basic processor that indexes events into Postgres. It uses the `process_function` utility function. +## Overview -## How to use -1. Install Postgres and Diesel CLI -2. Construct a `config.yaml` file. You can see `postgres-basic-events-example/example-config.yaml` as an example. -3. cd ~/aptos-indexer-processors-sdk/example -4. cargo run -p postgres-basic-events-example -- -c postgres-basic-events-example/example-config.yaml +This example uses the standard processors from the [aptos-indexer-processors-v2](https://github.com/aptos-labs/aptos-indexer-processors-v2) repository, which provides pre-built processors for various Aptos data types. + +## Available Processors + +The following processors are available: + +- **events_processor** - Processes events from transactions +- **user_transaction_processor** - Processes user transactions +- **account_transactions_processor** - Processes account transaction history +- **token_v2_processor** - Processes token v2 data +- **fungible_asset_processor** - Processes fungible asset data +- **default_processor** - Processes general transaction data +- **ans_processor** - Processes Aptos Name Service data +- **stake_processor** - Processes staking data +- **objects_processor** - Processes object data +- **monitoring_processor** - Processes monitoring data +- **gas_fee_processor** - Processes gas fee data +- **account_restoration_processor** - Processes account restoration data + +## Setup + +1. **Database Setup**: Make sure PostgreSQL is running and the database is set up: + ```bash + # Run migrations to create necessary tables + diesel migration run + ``` + +2. **Configuration**: Update `example-config.yaml` with your database connection and gRPC endpoint: + ```yaml + server_config: + postgres_config: + connection_string: postgresql://username@localhost:5432/database_name + transaction_stream_config: + indexer_grpc_data_service_address: "https://grpc.testnet.aptoslabs.com:443" + auth_token: "your_auth_token" + ``` + +## Running Processors + +### Method 1: Using the Script + +Use the provided script to run any processor: + +```bash +# Run events processor +./run-processor.sh events_processor + +# Run user transaction processor +./run-processor.sh user_transaction_processor + +# Run token v2 processor +./run-processor.sh token_v2_processor +``` + +### Method 2: Manual Configuration + +1. Edit `example-config.yaml` and change the processor type: + ```yaml + processor_config: + type: events_processor # Change this to any processor type + ``` + +2. Run the processor: + ```bash + cargo run --release -- -c example-config.yaml + ``` + +### Method 3: Multiple Processors + +To run multiple processors simultaneously, you can: + +1. Create separate config files for each processor +2. Run multiple instances in parallel +3. Use different databases or schemas for each processor + +Example: +```bash +# Terminal 1 +cargo run --release -- -c events-config.yaml + +# Terminal 2 +cargo run --release -- -c user-transaction-config.yaml + +# Terminal 3 +cargo run --release -- -c token-v2-config.yaml +``` + +## Configuration Options + +Each processor can be configured with: + +- **channel_size**: Size of the processing channel (default: 1000) +- **processor_mode**: Processing mode (default, backfill, testing) +- **starting_version**: Starting transaction version +- **ending_version**: Ending transaction version (for backfill mode) + +## Database Tables + +Each processor creates its own set of tables in the database. The exact schema depends on the processor type. Check the processor documentation for details. + +## Troubleshooting + +1. **Version Conflicts**: If you encounter version conflicts, make sure you're using the correct SDK version as specified in `Cargo.toml` + +2. **Database Connection**: Ensure PostgreSQL is running and the connection string is correct + +3. **gRPC Endpoint**: Use a valid Aptos gRPC endpoint (testnet, mainnet, or local) + +4. **Auth Token**: Get a valid auth token from Aptos Labs + +## Next Steps + +- Explore the processor source code in the [aptos-indexer-processors-v2](https://github.com/aptos-labs/aptos-indexer-processors-v2) repository +- Create custom processors for your specific needs +- Set up monitoring and alerting for your processors +- Configure backup and recovery procedures diff --git a/examples/postgres-basic-events-example/diesel.toml b/examples/postgres-basic-events-example/diesel.toml new file mode 100644 index 00000000..1f8e65f9 --- /dev/null +++ b/examples/postgres-basic-events-example/diesel.toml @@ -0,0 +1,9 @@ +# For documentation on how to configure this file, +# see https://diesel.rs/guides/configuring-diesel-cli + +[print_schema] +file = "src/schema.rs" +custom_type_derives = ["diesel::query_builder::QueryId", "Clone"] + +[migrations_directory] +dir = "/Users/andygmove/Downloads/repos/aptos-indexer-processor-sdk/examples/postgres-basic-events-example/migrations" diff --git a/examples/postgres-basic-events-example/example-config.yaml b/examples/postgres-basic-events-example/example-config.yaml index b9af85eb..2aaf267f 100644 --- a/examples/postgres-basic-events-example/example-config.yaml +++ b/examples/postgres-basic-events-example/example-config.yaml @@ -1,10 +1,29 @@ # This is a template yaml for the processor health_check_port: 8085 server_config: + # Processor configuration - change the "type" field to run different processors + processor_config: + type: events_processor # Change this to run different processors: + # - user_transaction_processor + # - account_transactions_processor + # - token_v2_processor + # - fungible_asset_processor + # - default_processor + # - ans_processor + # - stake_processor + # - objects_processor + # - monitoring_processor + # - gas_fee_processor + # - account_restoration_processor + channel_size: 1000 transaction_stream_config: - indexer_grpc_data_service_address: "https://grpc.mainnet.aptoslabs.com:443" - auth_token: "AUTH_TOKEN" + indexer_grpc_data_service_address: "http://localhost:30734" + auth_token: "aptoslabs_Ezn5rAco37V_KnVv8Q3n79KwX1NJ9V8TqnftYGGCFJbeH" request_name_header: "events-processor" starting_version: 0 - postgres_config: - connection_string: postgresql://postgres:@localhost:5432/example + db_config: + type: postgres_config + connection_string: postgresql://andygmove@localhost:5432/postgres + processor_mode: + type: default + initial_starting_version: 0 diff --git a/examples/postgres-basic-events-example/migrations/.keep b/examples/postgres-basic-events-example/migrations/.keep new file mode 100644 index 00000000..e69de29b diff --git a/examples/postgres-basic-events-example/migrations/00000000000000_diesel_initial_setup/down.sql b/examples/postgres-basic-events-example/migrations/00000000000000_diesel_initial_setup/down.sql new file mode 100644 index 00000000..a9f52609 --- /dev/null +++ b/examples/postgres-basic-events-example/migrations/00000000000000_diesel_initial_setup/down.sql @@ -0,0 +1,6 @@ +-- This file was automatically created by Diesel to setup helper functions +-- and other internal bookkeeping. This file is safe to edit, any future +-- changes will be added to existing projects as new migrations. + +DROP FUNCTION IF EXISTS diesel_manage_updated_at(_tbl regclass); +DROP FUNCTION IF EXISTS diesel_set_updated_at(); diff --git a/examples/postgres-basic-events-example/migrations/00000000000000_diesel_initial_setup/up.sql b/examples/postgres-basic-events-example/migrations/00000000000000_diesel_initial_setup/up.sql new file mode 100644 index 00000000..d68895b1 --- /dev/null +++ b/examples/postgres-basic-events-example/migrations/00000000000000_diesel_initial_setup/up.sql @@ -0,0 +1,36 @@ +-- This file was automatically created by Diesel to setup helper functions +-- and other internal bookkeeping. This file is safe to edit, any future +-- changes will be added to existing projects as new migrations. + + + + +-- Sets up a trigger for the given table to automatically set a column called +-- `updated_at` whenever the row is modified (unless `updated_at` was included +-- in the modified columns) +-- +-- # Example +-- +-- ```sql +-- CREATE TABLE users (id SERIAL PRIMARY KEY, updated_at TIMESTAMP NOT NULL DEFAULT NOW()); +-- +-- SELECT diesel_manage_updated_at('users'); +-- ``` +CREATE OR REPLACE FUNCTION diesel_manage_updated_at(_tbl regclass) RETURNS VOID AS $$ +BEGIN + EXECUTE format('CREATE TRIGGER set_updated_at BEFORE UPDATE ON %s + FOR EACH ROW EXECUTE PROCEDURE diesel_set_updated_at()', _tbl); +END; +$$ LANGUAGE plpgsql; + +CREATE OR REPLACE FUNCTION diesel_set_updated_at() RETURNS trigger AS $$ +BEGIN + IF ( + NEW IS DISTINCT FROM OLD AND + NEW.updated_at IS NOT DISTINCT FROM OLD.updated_at + ) THEN + NEW.updated_at := current_timestamp; + END IF; + RETURN NEW; +END; +$$ LANGUAGE plpgsql; diff --git a/examples/postgres-basic-events-example/run-processor.sh b/examples/postgres-basic-events-example/run-processor.sh new file mode 100755 index 00000000..401f574e --- /dev/null +++ b/examples/postgres-basic-events-example/run-processor.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +# Script to run different Aptos indexer processors +# Usage: ./run-processor.sh +# Example: ./run-processor.sh events_processor + +if [ $# -eq 0 ]; then + echo "Usage: $0 " + echo "" + echo "Available processor types:" + echo " events_processor" + echo " user_transaction_processor" + echo " account_transactions_processor" + echo " token_v2_processor" + echo " fungible_asset_processor" + echo " default_processor" + echo " ans_processor" + echo " stake_processor" + echo " objects_processor" + echo " monitoring_processor" + echo " gas_fee_processor" + echo " account_restoration_processor" + echo "" + echo "Example: $0 events_processor" + exit 1 +fi + +PROCESSOR_TYPE=$1 +CONFIG_FILE="example-config.yaml" +TEMP_CONFIG="temp-config.yaml" + +# Create a temporary config file with the specified processor type +sed "s/type: events_processor/type: $PROCESSOR_TYPE/" "$CONFIG_FILE" > "$TEMP_CONFIG" + +echo "Running $PROCESSOR_TYPE with config: $TEMP_CONFIG" +echo "Press Ctrl+C to stop" + +# Run the processor +cargo run --release -- -c "$TEMP_CONFIG" + +# Clean up +rm -f "$TEMP_CONFIG" \ No newline at end of file diff --git a/examples/postgres-basic-events-example/src/db/schema.rs b/examples/postgres-basic-events-example/src/db/schema.rs index ee59cb10..d6dd158f 100644 --- a/examples/postgres-basic-events-example/src/db/schema.rs +++ b/examples/postgres-basic-events-example/src/db/schema.rs @@ -18,4 +18,70 @@ diesel::table! { } } -diesel::allow_tables_to_appear_in_same_query!(events,); +diesel::table! { + coin (id) { + id -> Int8, + data -> Jsonb, + } +} +diesel::table! { + token (id) { + id -> Int8, + data -> Jsonb, + } +} +diesel::table! { + token_v2 (id) { + id -> Int8, + data -> Jsonb, + } +} +diesel::table! { + user_transaction (id) { + id -> Int8, + data -> Jsonb, + } +} +diesel::table! { + account_transactions (id) { + id -> Int8, + data -> Jsonb, + } +} +diesel::table! { + fungible_asset (id) { + id -> Int8, + data -> Jsonb, + } +} +diesel::table! { + transaction_metadata (id) { + id -> Int8, + data -> Jsonb, + } +} +diesel::table! { + ans (id) { + id -> Int8, + data -> Jsonb, + } +} +diesel::table! { + default_table (id) { + id -> Int8, + data -> Jsonb, + } +} + +diesel::allow_tables_to_appear_in_same_query!( + events, + coin, + token, + token_v2, + user_transaction, + account_transactions, + fungible_asset, + transaction_metadata, + ans, + default_table, +); diff --git a/examples/postgres-basic-events-example/src/main.rs b/examples/postgres-basic-events-example/src/main.rs index 82c55463..be4fee5f 100644 --- a/examples/postgres-basic-events-example/src/main.rs +++ b/examples/postgres-basic-events-example/src/main.rs @@ -1,92 +1,35 @@ -use crate::events_model::EventModel; use anyhow::Result; -use aptos_indexer_processor_sdk::{ - aptos_protos::transaction::v1::transaction::TxnData, - postgres::{ - basic_processor::process, - utils::database::{execute_in_chunks, MAX_DIESEL_PARAM_SIZE}, - }, -}; -use diesel::{pg::Pg, query_builder::QueryFragment}; -use diesel_migrations::{embed_migrations, EmbeddedMigrations}; -use field_count::FieldCount; -use rayon::prelude::*; -use tracing::{error, info, warn}; - -pub mod events_model; -#[path = "db/schema.rs"] -pub mod schema; - -const MIGRATIONS: EmbeddedMigrations = embed_migrations!("src/db/migrations"); - -fn insert_events_query( - items_to_insert: Vec, -) -> impl QueryFragment + diesel::query_builder::QueryId + Send { - use crate::schema::events::dsl::*; - diesel::insert_into(crate::schema::events::table) - .values(items_to_insert) - .on_conflict((transaction_version, event_index)) - .do_nothing() -} +use aptos_indexer_processor_sdk::server_framework::ServerArgs; +use clap::Parser; +use processor::config::indexer_processor_config::IndexerProcessorConfig; #[tokio::main] async fn main() -> Result<()> { - process( - "events_processor".to_string(), - MIGRATIONS, - async |transactions, conn_pool| { - let events = transactions - .par_iter() - .map(|txn| { - let txn_version = txn.version as i64; - let block_height = txn.block_height as i64; - let txn_data = match txn.txn_data.as_ref() { - Some(data) => data, - None => { - warn!( - transaction_version = txn_version, - "Transaction data doesn't exist" - ); - return vec![]; - }, - }; - let default = vec![]; - let raw_events = match txn_data { - TxnData::BlockMetadata(tx_inner) => &tx_inner.events, - TxnData::Genesis(tx_inner) => &tx_inner.events, - TxnData::User(tx_inner) => &tx_inner.events, - _ => &default, - }; + let args = ServerArgs::parse(); - EventModel::from_events(raw_events, txn_version, block_height) - }) - .flatten() - .collect::>(); + // Run the processor specified in the config file + // To run different processors, modify the config file: + // - Change "type: events_processor" to "type: user_transaction_processor" + // - Change "type: events_processor" to "type: account_transactions_processor" + // - Change "type: events_processor" to "type: token_v2_processor" + // - Change "type: events_processor" to "type: fungible_asset_processor" + // - Change "type: events_processor" to "type: default_processor" + // - etc. + // + // Available processor types from aptos-indexer-processors-v2: + // - events_processor + // - user_transaction_processor + // - account_transactions_processor + // - token_v2_processor + // - fungible_asset_processor + // - default_processor + // - ans_processor + // - stake_processor + // - objects_processor + // - monitoring_processor + // - gas_fee_processor + // - account_restoration_processor - // Store events in the database - let execute_res = execute_in_chunks( - conn_pool.clone(), - insert_events_query, - &events, - MAX_DIESEL_PARAM_SIZE / EventModel::field_count(), - ) - .await; - match execute_res { - Ok(_) => { - info!( - "Events version [{}, {}] stored successfully", - transactions.first().unwrap().version, - transactions.last().unwrap().version - ); - Ok(()) - }, - Err(e) => { - error!("Failed to store events: {:?}", e); - Err(e) - }, - } - }, - ) - .await?; - Ok(()) + args.run::(tokio::runtime::Handle::current()) + .await } diff --git a/examples/postgres-basic-events-example/src/schema.rs b/examples/postgres-basic-events-example/src/schema.rs new file mode 100644 index 00000000..9112dae3 --- /dev/null +++ b/examples/postgres-basic-events-example/src/schema.rs @@ -0,0 +1,19 @@ +// @generated automatically by Diesel CLI. + +diesel::table! { + events (transaction_version, event_index) { + sequence_number -> Int8, + creation_number -> Int8, + #[max_length = 66] + account_address -> Varchar, + transaction_version -> Int8, + transaction_block_height -> Int8, + #[sql_name = "type"] + type_ -> Text, + data -> Jsonb, + inserted_at -> Timestamp, + event_index -> Int8, + #[max_length = 300] + indexed_type -> Varchar, + } +} diff --git a/examples/postgres-basic-events-example/temp-config.yaml b/examples/postgres-basic-events-example/temp-config.yaml new file mode 100644 index 00000000..2aaf267f --- /dev/null +++ b/examples/postgres-basic-events-example/temp-config.yaml @@ -0,0 +1,29 @@ +# This is a template yaml for the processor +health_check_port: 8085 +server_config: + # Processor configuration - change the "type" field to run different processors + processor_config: + type: events_processor # Change this to run different processors: + # - user_transaction_processor + # - account_transactions_processor + # - token_v2_processor + # - fungible_asset_processor + # - default_processor + # - ans_processor + # - stake_processor + # - objects_processor + # - monitoring_processor + # - gas_fee_processor + # - account_restoration_processor + channel_size: 1000 + transaction_stream_config: + indexer_grpc_data_service_address: "http://localhost:30734" + auth_token: "aptoslabs_Ezn5rAco37V_KnVv8Q3n79KwX1NJ9V8TqnftYGGCFJbeH" + request_name_header: "events-processor" + starting_version: 0 + db_config: + type: postgres_config + connection_string: postgresql://andygmove@localhost:5432/postgres + processor_mode: + type: default + initial_starting_version: 0 From 1abcbe2dec9d980531890df3e533736797f63974 Mon Sep 17 00:00:00 2001 From: Andy Golay Date: Mon, 30 Jun 2025 09:52:38 +0200 Subject: [PATCH 2/2] Add multi-processor support with aptos-indexer-processors-v2 --- Cargo.toml | 3 + .../postgres/db/processor_metadata_schema.rs | 5 +- examples/Cargo.lock | 1381 ++++++++++++++++- 3 files changed, 1314 insertions(+), 75 deletions(-) create mode 100644 Cargo.toml diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 00000000..ef81baec --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,3 @@ +[dependencies] +aptos-indexer-processors-v2 = { git = "https://github.com/aptos-labs/aptos-indexer-processors-v2.git" } +# ... existing dependencies ... \ No newline at end of file diff --git a/aptos-indexer-processors-sdk/sdk/src/postgres/db/processor_metadata_schema.rs b/aptos-indexer-processors-sdk/sdk/src/postgres/db/processor_metadata_schema.rs index ee9528ed..310daf69 100644 --- a/aptos-indexer-processors-sdk/sdk/src/postgres/db/processor_metadata_schema.rs +++ b/aptos-indexer-processors-sdk/sdk/src/postgres/db/processor_metadata_schema.rs @@ -17,5 +17,8 @@ pub mod processor_metadata { } } - diesel::allow_tables_to_appear_in_same_query!(ledger_infos, processor_status,); + diesel::allow_tables_to_appear_in_same_query!( + ledger_infos, + processor_status, + ); } diff --git a/examples/Cargo.lock b/examples/Cargo.lock index 699267ee..a55f331c 100644 --- a/examples/Cargo.lock +++ b/examples/Cargo.lock @@ -24,6 +24,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", + "const-random", "getrandom 0.2.15", "once_cell", "serde", @@ -40,6 +41,27 @@ dependencies = [ "memchr", ] +[[package]] +name = "allocative" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fac2ce611db8b8cee9b2aa886ca03c924e9da5e5295d0dbd0526e5d0b0710f7" +dependencies = [ + "allocative_derive", + "ctor", +] + +[[package]] +name = "allocative_derive" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe233a377643e0fc1a56421d7c90acdec45c291b30345eb9f08e8d0ddce5a4ab" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.99", +] + [[package]] name = "android-tzdata" version = "0.1.1" @@ -120,6 +142,7 @@ checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" [[package]] name = "aptos-indexer-processor-sdk" version = "0.1.0" +source = "git+https://github.com/aptos-labs/aptos-indexer-processor-sdk.git?tag=aptos-indexer-processor-sdk-v2.1.1#6eb78b8fdadae14551e886185105ad5fffa29f2d" dependencies = [ "ahash", "anyhow", @@ -128,7 +151,7 @@ dependencies = [ "aptos-system-utils", "async-trait", "autometrics", - "axum", + "axum 0.7.9", "backtrace", "bcs", "bigdecimal", @@ -158,7 +181,7 @@ dependencies = [ "serde_yaml", "sha2 0.9.9", "tempfile", - "thiserror", + "thiserror 1.0.69", "tiny-keccak", "tokio", "tokio-postgres", @@ -171,6 +194,7 @@ dependencies = [ [[package]] name = "aptos-indexer-transaction-stream" version = "0.1.0" +source = "git+https://github.com/aptos-labs/aptos-indexer-processor-sdk.git?tag=aptos-indexer-processor-sdk-v2.1.1#6eb78b8fdadae14551e886185105ad5fffa29f2d" dependencies = [ "anyhow", "aptos-moving-average", @@ -180,11 +204,11 @@ dependencies = [ "futures-util", "once_cell", "prometheus", - "prost", + "prost 0.13.5", "sample", "serde", "tokio", - "tonic", + "tonic 0.12.3", "tracing", "url", ] @@ -192,6 +216,7 @@ dependencies = [ [[package]] name = "aptos-moving-average" version = "0.1.0" +source = "git+https://github.com/aptos-labs/aptos-indexer-processor-sdk.git?tag=aptos-indexer-processor-sdk-v2.1.1#6eb78b8fdadae14551e886185105ad5fffa29f2d" dependencies = [ "chrono", ] @@ -215,9 +240,9 @@ version = "1.3.1" source = "git+https://github.com/aptos-labs/aptos-core.git?rev=2dd9c73b27fdcbe78c7391fd43c9a5d00b93e686#2dd9c73b27fdcbe78c7391fd43c9a5d00b93e686" dependencies = [ "pbjson", - "prost", + "prost 0.13.5", "serde", - "tonic", + "tonic 0.12.3", ] [[package]] @@ -251,11 +276,11 @@ dependencies = [ "derive_builder", "memchr", "once_cell", - "prost", + "prost 0.13.5", "serde", "serde_json", "serde_yaml", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -264,6 +289,17 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +[[package]] +name = "async-channel" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" +dependencies = [ + "concurrent-queue", + "event-listener", + "futures-core", +] + [[package]] name = "async-mutex" version = "1.4.0" @@ -335,7 +371,7 @@ dependencies = [ "prometheus", "prometheus-client", "spez", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -351,6 +387,34 @@ dependencies = [ "syn 2.0.99", ] +[[package]] +name = "axum" +version = "0.6.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" +dependencies = [ + "async-trait", + "axum-core 0.3.4", + "bitflags 1.3.2", + "bytes", + "futures-util", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.32", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "sync_wrapper 0.1.2", + "tower 0.4.13", + "tower-layer", + "tower-service", +] + [[package]] name = "axum" version = "0.7.9" @@ -358,7 +422,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" dependencies = [ "async-trait", - "axum-core", + "axum-core 0.4.5", "bytes", "futures-util", "http 1.2.0", @@ -377,7 +441,7 @@ dependencies = [ "serde_json", "serde_path_to_error", "serde_urlencoded", - "sync_wrapper", + "sync_wrapper 1.0.2", "tokio", "tower 0.5.2", "tower-layer", @@ -385,6 +449,23 @@ dependencies = [ "tracing", ] +[[package]] +name = "axum-core" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http 0.2.12", + "http-body 0.4.6", + "mime", + "rustversion", + "tower-layer", + "tower-service", +] + [[package]] name = "axum-core" version = "0.4.5" @@ -400,7 +481,7 @@ dependencies = [ "mime", "pin-project-lite", "rustversion", - "sync_wrapper", + "sync_wrapper 1.0.2", "tower-layer", "tower-service", "tracing", @@ -418,7 +499,7 @@ dependencies = [ "miniz_oxide", "object", "rustc-demangle", - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -439,6 +520,12 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "base64ct" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" + [[package]] name = "bb8" version = "0.8.6" @@ -457,7 +544,7 @@ version = "0.1.4" source = "git+https://github.com/aptos-labs/bcs.git?rev=d31fab9d81748e2594be5cd5cdf845786a30562d#d31fab9d81748e2594be5cd5cdf845786a30562d" dependencies = [ "serde", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -537,6 +624,19 @@ version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" +[[package]] +name = "canonical_json" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f89083fd014d71c47a718d7f4ac050864dac8587668dbe90baf9e261064c5710" +dependencies = [ + "hex", + "regex", + "serde", + "serde_json", + "thiserror 1.0.69", +] + [[package]] name = "cc" version = "1.2.16" @@ -603,7 +703,7 @@ version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "quote", "syn 2.0.99", @@ -621,6 +721,61 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "const-oid" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" + +[[package]] +name = "const-random" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" +dependencies = [ + "const-random-macro", +] + +[[package]] +name = "const-random-macro" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" +dependencies = [ + "getrandom 0.2.15", + "once_cell", + "tiny-keccak", +] + +[[package]] +name = "const_format" +version = "0.2.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd" +dependencies = [ + "const_format_proc_macros", +] + +[[package]] +name = "const_format_proc_macros" +version = "0.2.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + [[package]] name = "core-foundation" version = "0.9.4" @@ -705,6 +860,16 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" +[[package]] +name = "crypto-bigint" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +dependencies = [ + "generic-array", + "subtle", +] + [[package]] name = "crypto-common" version = "0.1.6" @@ -715,6 +880,16 @@ dependencies = [ "typenum", ] +[[package]] +name = "ctor" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" +dependencies = [ + "quote", + "syn 1.0.109", +] + [[package]] name = "darling" version = "0.20.10" @@ -770,6 +945,27 @@ dependencies = [ "syn 2.0.99", ] +[[package]] +name = "der" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +dependencies = [ + "const-oid", + "crypto-bigint", + "pem-rfc7468", +] + +[[package]] +name = "deranged" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" +dependencies = [ + "powerfmt", + "serde", +] + [[package]] name = "derivative" version = "2.2.0" @@ -923,7 +1119,7 @@ checksum = "139ae9aca7527f85f26dd76483eb38533fd84bd571065da1739656ef71c5ff5b" dependencies = [ "darling", "either", - "heck", + "heck 0.5.0", "proc-macro2", "quote", "syn 2.0.99", @@ -962,6 +1158,27 @@ version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +[[package]] +name = "encoding_rs" +version = "0.8.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "enum_dispatch" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd" +dependencies = [ + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.99", +] + [[package]] name = "equivalent" version = "1.0.2" @@ -1225,7 +1442,7 @@ dependencies = [ "cfg-if", "libc", "wasi 0.13.3+wasi-0.2.2", - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -1240,6 +1457,124 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" +[[package]] +name = "google-cloud-auth" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "931bedb2264cb00f914b0a6a5c304e34865c34306632d3932e0951a073e4a67d" +dependencies = [ + "async-trait", + "base64 0.21.7", + "google-cloud-metadata", + "google-cloud-token", + "home", + "jsonwebtoken", + "reqwest", + "serde", + "serde_json", + "thiserror 1.0.69", + "time", + "tokio", + "tracing", + "urlencoding", +] + +[[package]] +name = "google-cloud-gax" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8bdaaa4bc036e8318274d1b25f0f2265b3e95418b765fd1ea1c7ef938fd69bd" +dependencies = [ + "google-cloud-token", + "http 0.2.12", + "thiserror 1.0.69", + "tokio", + "tokio-retry", + "tonic 0.9.2", + "tower 0.4.13", + "tracing", +] + +[[package]] +name = "google-cloud-googleapis" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a3b24a3f57be08afc02344e693afb55e48172c9c2ab86ff3fdb8efff550e4b9" +dependencies = [ + "prost 0.11.9", + "prost-types", + "tonic 0.9.2", +] + +[[package]] +name = "google-cloud-metadata" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96e4ad0802d3f416f62e7ce01ac1460898ee0efc98f8b45cd4aab7611607012f" +dependencies = [ + "reqwest", + "thiserror 1.0.69", + "tokio", +] + +[[package]] +name = "google-cloud-pubsub" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "095b104502b6e1abbad9b9768af944b9202e032dbc7f0947d3c30d4191761071" +dependencies = [ + "async-channel", + "async-stream", + "google-cloud-auth", + "google-cloud-gax", + "google-cloud-googleapis", + "google-cloud-token", + "prost-types", + "thiserror 1.0.69", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "google-cloud-storage" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22c57ca1d971d7c6f852c02eda4e87e88b1247b6ed8be9fa5b2768c68b0f2ca5" +dependencies = [ + "async-stream", + "base64 0.21.7", + "bytes", + "futures-util", + "google-cloud-auth", + "google-cloud-metadata", + "google-cloud-token", + "hex", + "once_cell", + "percent-encoding", + "regex", + "reqwest", + "ring 0.16.20", + "rsa", + "serde", + "serde_json", + "sha2 0.10.8", + "thiserror 1.0.69", + "time", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "google-cloud-token" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f49c12ba8b21d128a2ce8585955246977fbce4415f680ebf9199b6f9d6d725f" +dependencies = [ + "async-trait", +] + [[package]] name = "h2" version = "0.3.26" @@ -1278,6 +1613,17 @@ dependencies = [ "tracing", ] +[[package]] +name = "half" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" +dependencies = [ + "cfg-if", + "crunchy", + "num-traits", +] + [[package]] name = "hashbrown" version = "0.12.3" @@ -1293,12 +1639,24 @@ dependencies = [ "ahash", ] +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" + [[package]] name = "hashbrown" version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + [[package]] name = "heck" version = "0.5.0" @@ -1332,6 +1690,15 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "home" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" +dependencies = [ + "windows-sys 0.59.0", +] + [[package]] name = "http" version = "0.2.12" @@ -1445,6 +1812,18 @@ dependencies = [ "want", ] +[[package]] +name = "hyper-timeout" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" +dependencies = [ + "hyper 0.14.32", + "pin-project-lite", + "tokio", + "tokio-io-timeout", +] + [[package]] name = "hyper-timeout" version = "0.5.2" @@ -1459,7 +1838,20 @@ dependencies = [ ] [[package]] -name = "hyper-util" +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper 0.14.32", + "native-tls", + "tokio", + "tokio-native-tls", +] + +[[package]] +name = "hyper-util" version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" @@ -1687,6 +2079,7 @@ dependencies = [ [[package]] name = "instrumented-channel" version = "0.1.0" +source = "git+https://github.com/aptos-labs/aptos-indexer-processor-sdk.git?tag=aptos-indexer-processor-sdk-v2.1.1#6eb78b8fdadae14551e886185105ad5fffa29f2d" dependencies = [ "delegate", "derive_builder", @@ -1696,6 +2089,18 @@ dependencies = [ "prometheus-client", ] +[[package]] +name = "integer-encoding" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02" + +[[package]] +name = "ipnet" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" + [[package]] name = "is-terminal" version = "0.4.16" @@ -1713,6 +2118,24 @@ version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + [[package]] name = "itertools" version = "0.14.0" @@ -1767,6 +2190,20 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "jsonwebtoken" +version = "8.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" +dependencies = [ + "base64 0.21.7", + "pem", + "ring 0.16.20", + "serde", + "serde_json", + "simple_asn1", +] + [[package]] name = "kanal" version = "0.1.0-pre8" @@ -1777,11 +2214,23 @@ dependencies = [ "lock_api", ] +[[package]] +name = "keccak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +dependencies = [ + "cpufeatures", +] + [[package]] name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin 0.9.8", +] [[package]] name = "libc" @@ -1849,6 +2298,15 @@ version = "0.4.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e" +[[package]] +name = "lz4_flex" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08ab2867e3eeeca90e844d1940eab391c9dc5228783db2ed999acbc0a9ed375a" +dependencies = [ + "twox-hash 2.1.1", +] + [[package]] name = "mach2" version = "0.4.2" @@ -1920,7 +2378,7 @@ dependencies = [ "metrics", "metrics-util", "quanta", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -1976,6 +2434,16 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +[[package]] +name = "mime_guess" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +dependencies = [ + "mime", + "unicase", +] + [[package]] name = "miniz_oxide" version = "0.8.5" @@ -2061,6 +2529,19 @@ dependencies = [ "winapi", ] +[[package]] +name = "num" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" +dependencies = [ + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + [[package]] name = "num-bigint" version = "0.4.6" @@ -2071,6 +2552,38 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-bigint-dig" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" +dependencies = [ + "byteorder", + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.5", + "smallvec", + "zeroize", +] + +[[package]] +name = "num-complex" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-format" version = "0.4.4" @@ -2090,6 +2603,27 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.19" @@ -2097,6 +2631,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", + "libm", ] [[package]] @@ -2186,7 +2721,7 @@ dependencies = [ "js-sys", "once_cell", "pin-project-lite", - "thiserror", + "thiserror 1.0.69", "urlencoding", ] @@ -2216,8 +2751,17 @@ dependencies = [ "glob", "once_cell", "opentelemetry", - "ordered-float", - "thiserror", + "ordered-float 4.6.0", + "thiserror 1.0.69", +] + +[[package]] +name = "ordered-float" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" +dependencies = [ + "num-traits", ] [[package]] @@ -2255,9 +2799,49 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-targets", + "windows-targets 0.52.6", +] + +[[package]] +name = "parquet" +version = "52.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e977b9066b4d3b03555c22bdc442f3fadebd96a39111249113087d0edb2691cd" +dependencies = [ + "ahash", + "bytes", + "chrono", + "futures", + "half", + "hashbrown 0.14.5", + "lz4_flex", + "num", + "num-bigint", + "paste", + "seq-macro", + "thrift", + "tokio", + "twox-hash 1.6.3", ] +[[package]] +name = "parquet_derive" +version = "52.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e57262f900bc3e93755be67e0fc4e2fcdae416b563472528e413c6e0a52ee81" +dependencies = [ + "parquet", + "proc-macro2", + "quote", + "syn 2.0.99", +] + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + [[package]] name = "pbjson" version = "0.5.1" @@ -2268,6 +2852,24 @@ dependencies = [ "serde", ] +[[package]] +name = "pem" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" +dependencies = [ + "base64 0.13.1", +] + +[[package]] +name = "pem-rfc7468" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01de5d978f34aa4b2296576379fcc416034702fd94117c56ffd8a1a767cefb30" +dependencies = [ + "base64ct", +] + [[package]] name = "percent-encoding" version = "2.3.1" @@ -2334,6 +2936,28 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkcs1" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a78f66c04ccc83dd4486fd46c33896f4e17b24a7a3a6400dedc48ed0ddd72320" +dependencies = [ + "der", + "pkcs8", + "zeroize", +] + +[[package]] +name = "pkcs8" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +dependencies = [ + "der", + "spki", + "zeroize", +] + [[package]] name = "pkg-config" version = "0.3.32" @@ -2357,6 +2981,7 @@ dependencies = [ "diesel", "diesel_migrations", "field_count", + "processor", "rayon", "serde", "serde_json", @@ -2405,6 +3030,12 @@ dependencies = [ "postgres-protocol", ] +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "pprof" version = "0.11.1" @@ -2425,7 +3056,7 @@ dependencies = [ "smallvec", "symbolic-demangle", "tempfile", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -2481,6 +3112,64 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "processor" +version = "0.1.0" +source = "git+https://github.com/aptos-labs/aptos-indexer-processors-v2.git#7fb086b8c6961f2449461a9cdafdfafe517be281" +dependencies = [ + "ahash", + "allocative", + "allocative_derive", + "anyhow", + "aptos-indexer-processor-sdk", + "async-trait", + "bcs", + "bigdecimal", + "bitflags 2.9.0", + "canonical_json", + "chrono", + "clap", + "const_format", + "diesel", + "diesel-async", + "diesel_migrations", + "enum_dispatch", + "field_count", + "futures", + "futures-util", + "google-cloud-googleapis", + "google-cloud-pubsub", + "google-cloud-storage", + "hex", + "hyper 0.14.32", + "itertools 0.12.1", + "jemallocator", + "lazy_static", + "log", + "native-tls", + "num_cpus", + "once_cell", + "parquet", + "parquet_derive", + "postgres-native-tls", + "prometheus", + "prost 0.13.5", + "rayon", + "regex", + "serde", + "serde_json", + "sha2 0.10.8", + "sha3", + "strum", + "tiny-keccak", + "tokio", + "tokio-postgres", + "tonic 0.12.3", + "tracing", + "unescape", + "url", +] + [[package]] name = "prometheus" version = "0.13.4" @@ -2493,7 +3182,7 @@ dependencies = [ "memchr", "parking_lot", "protobuf", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -2519,6 +3208,16 @@ dependencies = [ "syn 2.0.99", ] +[[package]] +name = "prost" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" +dependencies = [ + "bytes", + "prost-derive 0.11.9", +] + [[package]] name = "prost" version = "0.13.5" @@ -2526,7 +3225,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" dependencies = [ "bytes", - "prost-derive", + "prost-derive 0.13.5", +] + +[[package]] +name = "prost-derive" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" +dependencies = [ + "anyhow", + "itertools 0.10.5", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] @@ -2536,12 +3248,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" dependencies = [ "anyhow", - "itertools", + "itertools 0.14.0", "proc-macro2", "quote", "syn 2.0.99", ] +[[package]] +name = "prost-types" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" +dependencies = [ + "prost 0.11.9", +] + [[package]] name = "protobuf" version = "2.28.0" @@ -2744,33 +3465,111 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] -name = "rgb" -version = "0.8.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a" -dependencies = [ - "bytemuck", -] - -[[package]] -name = "ring" -version = "0.17.12" +name = "reqwest" +version = "0.11.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed9b823fa29b721a59671b41d6b06e66b29e0628e207e8b1c3ceeda701ec928d" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" dependencies = [ - "cc", - "cfg-if", - "getrandom 0.2.15", - "libc", - "untrusted", - "windows-sys 0.52.0", -] - -[[package]] -name = "rstack" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7df9d3ebd4f17b52e6134efe2fa20021c80688cbe823d481a729a993b730493" + "base64 0.21.7", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.32", + "hyper-tls", + "ipnet", + "js-sys", + "log", + "mime", + "mime_guess", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls-pemfile 1.0.4", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 0.1.2", + "system-configuration", + "tokio", + "tokio-native-tls", + "tokio-util", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "winreg", +] + +[[package]] +name = "rgb" +version = "0.8.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin 0.5.2", + "untrusted 0.7.1", + "web-sys", + "winapi", +] + +[[package]] +name = "ring" +version = "0.17.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed9b823fa29b721a59671b41d6b06e66b29e0628e207e8b1c3ceeda701ec928d" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.15", + "libc", + "untrusted 0.9.0", + "windows-sys 0.52.0", +] + +[[package]] +name = "rsa" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cf22754c49613d2b3b119f0e5d46e34a2c628a937e3024b8762de4e7d8c710b" +dependencies = [ + "byteorder", + "digest 0.10.7", + "num-bigint-dig", + "num-integer", + "num-iter", + "num-traits", + "pkcs1", + "pkcs8", + "rand_core 0.6.4", + "smallvec", + "subtle", + "zeroize", +] + +[[package]] +name = "rstack" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7df9d3ebd4f17b52e6134efe2fa20021c80688cbe823d481a729a993b730493" dependencies = [ "cfg-if", "dw", @@ -2813,6 +3612,18 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "rustls" +version = "0.21.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" +dependencies = [ + "log", + "ring 0.17.12", + "rustls-webpki 0.101.7", + "sct", +] + [[package]] name = "rustls" version = "0.23.23" @@ -2821,9 +3632,9 @@ checksum = "47796c98c480fce5406ef69d1c76378375492c3b0a0de587be0c1d9feb12f395" dependencies = [ "log", "once_cell", - "ring", + "ring 0.17.12", "rustls-pki-types", - "rustls-webpki", + "rustls-webpki 0.102.8", "subtle", "zeroize", ] @@ -2840,6 +3651,15 @@ dependencies = [ "security-framework 3.2.0", ] +[[package]] +name = "rustls-pemfile" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64 0.21.7", +] + [[package]] name = "rustls-pemfile" version = "2.2.0" @@ -2855,15 +3675,35 @@ version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" +[[package]] +name = "rustls-webpki" +version = "0.100.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6a5fc258f1c1276dfe3016516945546e2d5383911efc0fc4f1cdc5df3a4ae3" +dependencies = [ + "ring 0.16.20", + "untrusted 0.7.1", +] + +[[package]] +name = "rustls-webpki" +version = "0.101.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +dependencies = [ + "ring 0.17.12", + "untrusted 0.9.0", +] + [[package]] name = "rustls-webpki" version = "0.102.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" dependencies = [ - "ring", + "ring 0.17.12", "rustls-pki-types", - "untrusted", + "untrusted 0.9.0", ] [[package]] @@ -2881,6 +3721,7 @@ checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "sample" version = "0.1.0" +source = "git+https://github.com/aptos-labs/aptos-indexer-processor-sdk.git?tag=aptos-indexer-processor-sdk-v2.1.1#6eb78b8fdadae14551e886185105ad5fffa29f2d" dependencies = [ "tracing", ] @@ -2909,6 +3750,16 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "sct" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +dependencies = [ + "ring 0.17.12", + "untrusted 0.9.0", +] + [[package]] name = "security-framework" version = "2.11.1" @@ -2945,6 +3796,12 @@ dependencies = [ "libc", ] +[[package]] +name = "seq-macro" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc711410fbe7399f390ca1c3b60ad0f53f80e95c5eb935e52268a0e2cd49acc" + [[package]] name = "serde" version = "1.0.218" @@ -3045,6 +3902,16 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "sha3" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +dependencies = [ + "digest 0.10.7", + "keccak", +] + [[package]] name = "sharded-slab" version = "0.1.7" @@ -3069,6 +3936,18 @@ dependencies = [ "libc", ] +[[package]] +name = "simple_asn1" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb" +dependencies = [ + "num-bigint", + "num-traits", + "thiserror 2.0.12", + "time", +] + [[package]] name = "siphasher" version = "1.0.1" @@ -3117,12 +3996,40 @@ dependencies = [ "syn 2.0.99", ] +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] +name = "spki" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +dependencies = [ + "base64ct", + "der", +] + [[package]] name = "stable_deref_trait" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + [[package]] name = "str_stack" version = "0.1.0" @@ -3146,6 +4053,28 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" +[[package]] +name = "strum" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 1.0.109", +] + [[package]] name = "subtle" version = "2.6.1" @@ -3197,6 +4126,12 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + [[package]] name = "sync_wrapper" version = "1.0.2" @@ -3214,6 +4149,27 @@ dependencies = [ "syn 2.0.99", ] +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation 0.9.4", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tempfile" version = "3.18.0" @@ -3240,7 +4196,16 @@ version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +dependencies = [ + "thiserror-impl 2.0.12", ] [[package]] @@ -3254,6 +4219,17 @@ dependencies = [ "syn 2.0.99", ] +[[package]] +name = "thiserror-impl" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.99", +] + [[package]] name = "thread_local" version = "1.1.8" @@ -3264,6 +4240,48 @@ dependencies = [ "once_cell", ] +[[package]] +name = "thrift" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e54bc85fc7faa8bc175c4bab5b92ba8d9a3ce893d0e9f42cc455c8ab16a9e09" +dependencies = [ + "byteorder", + "integer-encoding", + "ordered-float 2.10.1", +] + +[[package]] +name = "time" +version = "0.3.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" + +[[package]] +name = "time-macros" +version = "0.2.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" +dependencies = [ + "num-conv", + "time-core", +] + [[package]] name = "tiny-keccak" version = "2.0.2" @@ -3316,6 +4334,16 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "tokio-io-timeout" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" +dependencies = [ + "pin-project-lite", + "tokio", +] + [[package]] name = "tokio-macros" version = "2.5.0" @@ -3363,13 +4391,34 @@ dependencies = [ "whoami", ] +[[package]] +name = "tokio-retry" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f" +dependencies = [ + "pin-project", + "rand 0.8.5", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +dependencies = [ + "rustls 0.21.12", + "tokio", +] + [[package]] name = "tokio-rustls" version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" dependencies = [ - "rustls", + "rustls 0.23.23", "tokio", ] @@ -3456,6 +4505,39 @@ dependencies = [ "winnow 0.7.3", ] +[[package]] +name = "tonic" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a" +dependencies = [ + "async-stream", + "async-trait", + "axum 0.6.20", + "base64 0.21.7", + "bytes", + "flate2", + "futures-core", + "futures-util", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.32", + "hyper-timeout 0.4.1", + "percent-encoding", + "pin-project", + "prost 0.11.9", + "rustls-pemfile 1.0.4", + "tokio", + "tokio-rustls 0.24.1", + "tokio-stream", + "tower 0.4.13", + "tower-layer", + "tower-service", + "tracing", + "webpki-roots", +] + [[package]] name = "tonic" version = "0.12.3" @@ -3464,7 +4546,7 @@ checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" dependencies = [ "async-stream", "async-trait", - "axum", + "axum 0.7.9", "base64 0.22.1", "bytes", "flate2", @@ -3473,16 +4555,16 @@ dependencies = [ "http-body 1.0.1", "http-body-util", "hyper 1.6.0", - "hyper-timeout", + "hyper-timeout 0.5.2", "hyper-util", "percent-encoding", "pin-project", - "prost", + "prost 0.13.5", "rustls-native-certs", - "rustls-pemfile", + "rustls-pemfile 2.2.0", "socket2", "tokio", - "tokio-rustls", + "tokio-rustls 0.26.2", "tokio-stream", "tower 0.4.13", "tower-layer", @@ -3520,7 +4602,7 @@ dependencies = [ "futures-core", "futures-util", "pin-project-lite", - "sync_wrapper", + "sync_wrapper 1.0.2", "tokio", "tower-layer", "tower-service", @@ -3620,12 +4702,40 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +[[package]] +name = "twox-hash" +version = "1.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" +dependencies = [ + "cfg-if", + "static_assertions", +] + +[[package]] +name = "twox-hash" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b907da542cbced5261bd3256de1b3a1bf340a3d37f93425a07362a1d687de56" + [[package]] name = "typenum" version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" +[[package]] +name = "unescape" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccb97dac3243214f8d8507998906ca3e2e0b900bf9bf4870477f125b82e68f6e" + +[[package]] +name = "unicase" +version = "2.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" + [[package]] name = "unicode-bidi" version = "0.3.18" @@ -3653,6 +4763,18 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + [[package]] name = "untrusted" version = "0.9.0" @@ -3775,6 +4897,19 @@ dependencies = [ "wasm-bindgen-shared", ] +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" +dependencies = [ + "cfg-if", + "js-sys", + "once_cell", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "wasm-bindgen-macro" version = "0.2.100" @@ -3807,6 +4942,19 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "wasm-streams" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + [[package]] name = "web-sys" version = "0.3.77" @@ -3817,6 +4965,15 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "webpki-roots" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338" +dependencies = [ + "rustls-webpki 0.100.3", +] + [[package]] name = "whoami" version = "1.5.2" @@ -3856,7 +5013,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -3865,13 +5022,22 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6dccfd733ce2b1753b03b6d3c65edf020262ea35e20ccdf3e288043e6dd620e3" +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + [[package]] name = "windows-sys" version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -3880,7 +5046,22 @@ version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" dependencies = [ - "windows-targets", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", ] [[package]] @@ -3889,28 +5070,46 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + [[package]] name = "windows_aarch64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -3923,24 +5122,48 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + [[package]] name = "windows_i686_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + [[package]] name = "windows_x86_64_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + [[package]] name = "windows_x86_64_msvc" version = "0.52.6" @@ -3965,6 +5188,16 @@ dependencies = [ "memchr", ] +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + [[package]] name = "wit-bindgen-rt" version = "0.33.0"