diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 93e0152e..e5c87c22 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -106,7 +106,7 @@ dependencies = [ [[package]] name = "aptos-protos" version = "1.1.2" -source = "git+https://github.com/aptos-labs/aptos-core.git?rev=af0dcea7144225a709e4f595e58f8026b99e901c#af0dcea7144225a709e4f595e58f8026b99e901c" +source = "git+https://github.com/aptos-labs/aptos-core.git?rev=6cec53ad4123e8f18a49dff35a5c7b9c2cce7728#6cec53ad4123e8f18a49dff35a5c7b9c2cce7728" dependencies = [ "futures-core", "pbjson", @@ -746,9 +746,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" dependencies = [ "futures-channel", "futures-core", @@ -761,9 +761,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ "futures-core", "futures-sink", @@ -771,15 +771,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-executor" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" dependencies = [ "futures-core", "futures-task", @@ -788,15 +788,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-macro" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", @@ -805,21 +805,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" [[package]] name = "futures-task" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] name = "futures-util" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures-channel", "futures-core", diff --git a/rust/Cargo.toml b/rust/Cargo.toml index ca56d178..1a4799a8 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -25,7 +25,8 @@ aptos-moving-average = { path = "moving-average" } anyhow = "1.0.62" async-trait = "0.1.53" -aptos-protos = { git = "https://github.com/aptos-labs/aptos-core.git", rev = "af0dcea7144225a709e4f595e58f8026b99e901c" } +# Special cut for randomnet. +aptos-protos = { git = "https://github.com/aptos-labs/aptos-core.git", rev = "6cec53ad4123e8f18a49dff35a5c7b9c2cce7728" } backtrace = "0.3.58" base64 = "0.13.0" bb8 = "0.8.1" @@ -44,9 +45,9 @@ diesel_migrations = { version = "2.1.0", features = ["postgres"] } diesel_async_migrations = { git = "https://github.com/niroco/diesel_async_migrations", rev = "11f331b73c5cfcc894380074f748d8fda710ac12" } enum_dispatch = "0.3.12" field_count = "0.1.1" -futures = "0.3.24" # Previously futures v0.3.23 caused some consensus network_tests to fail. We now pin the dependency to v0.3.24. -futures-core = "0.3.25" -futures-util = "0.3.21" +futures = "0.3.29" # Previously futures v0.3.23 caused some consensus network_tests to fail. We now pin the dependency to v0.3.24. +futures-core = "0.3.29" +futures-util = "0.3.29" gcloud-sdk = { version = "0.20.4", features = [ "google-cloud-bigquery-storage-v1", ] } diff --git a/rust/processor/src/models/default_models/transactions.rs b/rust/processor/src/models/default_models/transactions.rs index 828d1c85..1f5146d4 100644 --- a/rust/processor/src/models/default_models/transactions.rs +++ b/rust/processor/src/models/default_models/transactions.rs @@ -215,6 +215,21 @@ impl Transaction { vec![], vec![], ), + TxnData::Validator(_validator_txn) => ( + Self::from_transaction_info( + transaction_info, + None, + None, + version, + transaction_type, + 0, + block_height, + epoch, + ), + None, + vec![], + vec![], + ), } } diff --git a/rust/processor/src/models/user_transactions_models/signatures.rs b/rust/processor/src/models/user_transactions_models/signatures.rs index 691a0538..b6e1c5cc 100644 --- a/rust/processor/src/models/user_transactions_models/signatures.rs +++ b/rust/processor/src/models/user_transactions_models/signatures.rs @@ -10,7 +10,8 @@ use crate::{ use anyhow::{Context, Result}; use aptos_protos::transaction::v1::{ account_signature::Signature as AccountSignatureEnum, - any_signature::Type as AnySignatureTypeEnumPb, signature::Signature as SignatureEnum, + any_signature::{Signature as AnySignaturePb, Type as AnySignatureTypeEnumPb}, + signature::Signature as SignatureEnum, AccountSignature as ProtoAccountSignature, Ed25519Signature as Ed25519SignaturePB, FeePayerSignature as ProtoFeePayerSignature, MultiAgentSignature as ProtoMultiAgentSignature, MultiEd25519Signature as MultiEd25519SignaturePb, MultiKeySignature as MultiKeySignaturePb, @@ -353,6 +354,12 @@ impl Signature { "".to_string() }, }; + let signature_bytes = match signature.signature.as_ref().unwrap() { + AnySignaturePb::Ed25519(sig) => sig.signature.as_slice(), + AnySignaturePb::Secp256k1Ecdsa(sig) => sig.signature.as_slice(), + AnySignaturePb::Webauthn(sig) => sig.signature.as_slice(), + AnySignaturePb::Zkid(sig) => sig.signature.as_slice(), + }; Self { transaction_version, transaction_block_height, @@ -365,7 +372,7 @@ impl Signature { ), threshold: 1, public_key_indices: serde_json::Value::Array(vec![]), - signature: format!("0x{}", hex::encode(signature.signature.as_slice())), + signature: format!("0x{}", hex::encode(signature_bytes)), multi_agent_index, multi_sig_index: 0, } @@ -394,7 +401,19 @@ impl Signature { .unwrap() .public_key .clone(); - let signature_bytes = signature.signature.as_ref().unwrap().signature.clone(); + let signature_bytes = match signature + .signature + .as_ref() + .unwrap() + .signature + .as_ref() + .unwrap() + { + AnySignaturePb::Ed25519(sig) => sig.signature.as_slice(), + AnySignaturePb::Secp256k1Ecdsa(sig) => sig.signature.as_slice(), + AnySignaturePb::Webauthn(sig) => sig.signature.as_slice(), + AnySignaturePb::Zkid(sig) => sig.signature.as_slice(), + }; let type_ = match AnySignatureTypeEnumPb::try_from( signature.signature.as_ref().unwrap().r#type, ) { @@ -421,7 +440,7 @@ impl Signature { type_, public_key: format!("0x{}", hex::encode(public_key.as_slice())), threshold: s.signatures_required as i64, - signature: format!("0x{}", hex::encode(signature_bytes.as_slice())), + signature: format!("0x{}", hex::encode(signature_bytes)), public_key_indices: serde_json::Value::Array( public_key_indices .iter()