From f5844c14388d9474f49ae564ebab625794bfe641 Mon Sep 17 00:00:00 2001 From: segfaultdoctor <17258903+segfaultdoc@users.noreply.github.com> Date: Wed, 27 Sep 2023 23:13:42 -0400 Subject: [PATCH 1/3] update sol deps --- Cargo.lock | 71 +++++++++++++++++++++++++++--------------------------- Cargo.toml | 16 ++++++------ 2 files changed, 44 insertions(+), 43 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d4bddd4..c43d5ce 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -464,7 +464,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4114279215a005bc675e386011e594e1d9b800918cea18fcadadcce864a2046b" dependencies = [ "borsh-derive 0.10.3", - "hashbrown 0.12.3", + "hashbrown 0.13.2", ] [[package]] @@ -2751,9 +2751,9 @@ dependencies = [ [[package]] name = "solana-account-decoder" -version = "1.16.5" +version = "1.16.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b3b5782ae2ea0206115e5353cb8708ef4130123b0250f0fd983e0ff4e234ea4" +checksum = "f0ada16ccd5ca6884ae28b716211c4f09d22225a9ebde14eccd4f605cc321e42" dependencies = [ "Inflector", "base64 0.21.2", @@ -2775,9 +2775,9 @@ dependencies = [ [[package]] name = "solana-address-lookup-table-program" -version = "1.16.5" +version = "1.16.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acf51fb7b53405fd5af275d0df02128416dc271807b02eb942727cc97b57d0d0" +checksum = "248b435722d18100b70bb8f09fd38b8a8c46031a0de86f6b31768f64cf4092c5" dependencies = [ "bincode", "bytemuck", @@ -2796,9 +2796,9 @@ dependencies = [ [[package]] name = "solana-config-program" -version = "1.16.5" +version = "1.16.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13818f85d7f6b8dac260c43962a6cd606d623ea0942b43c37ee375f2a8138afa" +checksum = "e0622d8798d060c84883572483f214b0d5c1640450e4322483cfe2e72823a6d7" dependencies = [ "bincode", "chrono", @@ -2810,9 +2810,9 @@ dependencies = [ [[package]] name = "solana-frozen-abi" -version = "1.16.5" +version = "1.16.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15610c43f150a99322c295c903cc521fa6921002ceed29fc419b7832c4ce4a4c" +checksum = "0e74d294241df12a73a229e38a819e810d54234da494c3d43f8a1a828631047d" dependencies = [ "ahash 0.8.3", "blake3", @@ -2843,9 +2843,9 @@ dependencies = [ [[package]] name = "solana-frozen-abi-macro" -version = "1.16.5" +version = "1.16.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6f5a146d452c451b052034ac9bb3fe7fe323fe0c891c3e71dcda50d944c5ad1" +checksum = "4dabde7fbd88a68eb083ae9d6d5f6855b7ba1bfc45d200c786b1b448ac49da5f" dependencies = [ "proc-macro2", "quote", @@ -2855,9 +2855,9 @@ dependencies = [ [[package]] name = "solana-geyser-plugin-interface" -version = "1.16.5" +version = "1.16.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29343e859ae6e821c9a38f66338817a9742227db9b40c81ddefb03ac962d09f" +checksum = "908cad0de1330b6b05d6cb6a9f5004df22a9fe46529d6bf6839835ba345ef966" dependencies = [ "log", "solana-sdk", @@ -2867,9 +2867,9 @@ dependencies = [ [[package]] name = "solana-logger" -version = "1.16.5" +version = "1.16.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9302be0d873cdd53768fae0eb0edb339337831fab45490fae0c2871ef720ad31" +checksum = "24dc0037a389d782c8de3c6f509b74efa1d60523ef9e5561cefe41f1a354fee0" dependencies = [ "env_logger", "lazy_static", @@ -2878,9 +2878,9 @@ dependencies = [ [[package]] name = "solana-measure" -version = "1.16.5" +version = "1.16.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dae1b9ce4af26a2fb24992226b57f26f312a76d89e48f52572cdbf4f5f40ec99" +checksum = "19563c27f12801e0e65b42d0f216db1d910dfeaad88d8f1335dd6369697eda60" dependencies = [ "log", "solana-sdk", @@ -2888,9 +2888,9 @@ dependencies = [ [[package]] name = "solana-metrics" -version = "1.16.5" +version = "1.16.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5a450b75836dccea96ed135ca43af1bc9c96e309cee08835d0217e6c717b21c" +checksum = "7f74c557e821c7ff48c9b4ef4ab3a296918d7fb745e3f2e820ebdb38e8e3555b" dependencies = [ "crossbeam-channel", "gethostname", @@ -2902,9 +2902,9 @@ dependencies = [ [[package]] name = "solana-program" -version = "1.16.5" +version = "1.16.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad3f1977e6bf4f3f2bbf3d8988c58b8729c6aa1086b908eb50b138ddc6a812c" +checksum = "3a2faeb9c89b354b547a229e3b39fa8fd6d11c78362ba8580f0c4721739725b6" dependencies = [ "ark-bn254", "ark-ec", @@ -2916,6 +2916,7 @@ dependencies = [ "bitflags", "blake3", "borsh 0.10.3", + "borsh 0.9.3", "bs58", "bv", "bytemuck", @@ -2956,9 +2957,9 @@ dependencies = [ [[package]] name = "solana-program-runtime" -version = "1.16.5" +version = "1.16.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77b02d32f763d4cfcc8451745591c85498951dfa0049cae0b24fb23ac9c691c9" +checksum = "9f65907a405764cda63be89335ffd2138ade18f065e5cae09d20adab7fb09502" dependencies = [ "base64 0.21.2", "bincode", @@ -2984,9 +2985,9 @@ dependencies = [ [[package]] name = "solana-sdk" -version = "1.16.5" +version = "1.16.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e86f3523fa2612c7c7748b6fdbc16006e84a2bfda06c5835c9389bdf151621" +checksum = "57f4046d0d487e3d79be809ff29c63c1484793956e6ccbc5d3307b0aafbf989d" dependencies = [ "assert_matches", "base64 0.21.2", @@ -3037,9 +3038,9 @@ dependencies = [ [[package]] name = "solana-sdk-macro" -version = "1.16.5" +version = "1.16.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3673ef415e5d2673f00b78b4115536144c98f3253cc07b63b0df6b42720dc6" +checksum = "760fdfd4b7edb02fd9173a6dcec899ffae06ac21b66b65f8c7c5f3d17b12fa64" dependencies = [ "bs58", "proc-macro2", @@ -3050,9 +3051,9 @@ dependencies = [ [[package]] name = "solana-transaction-status" -version = "1.16.5" +version = "1.16.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae10df99518431cedaaa4ffe339582523dea40af76bf9151c9c7799971fb9df2" +checksum = "8bdf7379a72c051d7879f1c36cfdab5fed0653a2a613718bc5d343e44e603401" dependencies = [ "Inflector", "base64 0.21.2", @@ -3076,9 +3077,9 @@ dependencies = [ [[package]] name = "solana-vote-program" -version = "1.16.5" +version = "1.16.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cca8888b77f196b95b4c71b7330ef65f953d74284418ddc74d18e5f86aaf2092" +checksum = "dfde11af84827c25b484baf1743b5d0db068af32cf2e4f533148a2d2a31c2263" dependencies = [ "bincode", "log", @@ -3098,9 +3099,9 @@ dependencies = [ [[package]] name = "solana-zk-token-sdk" -version = "1.16.5" +version = "1.16.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "796023a165cc5c656a951ce667d746e24f599bfa76e0b4cc1e07513578d4322d" +checksum = "3bdec366a15133a70a8dfc4f027b5d0f508bd7cb46af11971076c9ebaf9ede2d" dependencies = [ "aes-gcm-siv", "base64 0.21.2", @@ -3127,9 +3128,9 @@ dependencies = [ [[package]] name = "solana_rbpf" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3082ec3a1d4ef7879eb5b84916d5acde057abd59733eec3647e0ab8885283ef" +checksum = "17d4ba1e58947346e360fabde0697029d36ba83c42f669199b16a8931313cf29" dependencies = [ "byteorder", "combine", diff --git a/Cargo.toml b/Cargo.toml index 2113c38..a1e69ad 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -35,14 +35,14 @@ rand = "0.8" serde = "1.0.160" serde_derive = "1.0.160" serde_json = "1.0.96" -solana-account-decoder = "1.16.5" -solana-geyser-plugin-interface = "1.16.5" -solana-logger = "1.16.5" -solana-metrics = "1.16.5" -solana-program = "1.16.5" -solana-sdk = "1.16.5" -solana-transaction-status = "1.16.5" -solana-vote-program = "1.16.5" +solana-account-decoder = "1.16.14" +solana-geyser-plugin-interface = "1.16.14" +solana-logger = "1.16.14" +solana-metrics = "1.16.14" +solana-program = "1.16.14" +solana-sdk = "1.16.14" +solana-transaction-status = "1.16.14" +solana-vote-program = "1.16.14" thiserror = "1.0.40" tokio = { version = "~1.14.1", features = ["rt-multi-thread"] } tokio-stream = "0.1" From 2a1e61e73e4ad260e439fb1e67514a06b0784082 Mon Sep 17 00:00:00 2001 From: segfaultdoctor <17258903+segfaultdoc@users.noreply.github.com> Date: Wed, 27 Sep 2023 23:17:09 -0400 Subject: [PATCH 2/3] wip --- proto/proto/transaction_by_addr.proto | 1 + proto/src/convert.rs | 3 +++ 2 files changed, 4 insertions(+) diff --git a/proto/proto/transaction_by_addr.proto b/proto/proto/transaction_by_addr.proto index 800ed40..8678dc3 100644 --- a/proto/proto/transaction_by_addr.proto +++ b/proto/proto/transaction_by_addr.proto @@ -60,6 +60,7 @@ enum TransactionErrorType { MAX_LOADED_ACCOUNTS_DATA_SIZE_EXCEEDED = 32; INVALID_LOADED_ACCOUNTS_DATA_SIZE_LIMIT = 33; RESANITIZATION_NEEDED = 34; + UNBALANCED_TRANSACTION = 36; } message InstructionError { diff --git a/proto/src/convert.rs b/proto/src/convert.rs index 2da10c2..6390191 100644 --- a/proto/src/convert.rs +++ b/proto/src/convert.rs @@ -908,6 +908,9 @@ impl From for tx_by_addr::TransactionError { } TransactionError::ResanitizationNeeded => { tx_by_addr::TransactionErrorType::ResanitizationNeeded + }, + TransactionError::UnbalancedTransaction => { + tx_by_addr::TransactionErrorType::UnbalancedTransaction } } as i32, instruction_error: match transaction_error { From f4372c3ebf1d0d349c3ae8f91b75e7341c5ed11d Mon Sep 17 00:00:00 2001 From: segfaultdoctor <17258903+segfaultdoc@users.noreply.github.com> Date: Thu, 28 Sep 2023 00:03:02 -0400 Subject: [PATCH 3/3] wip --- Cargo.lock | 668 +++++++++++++++++++++++++++++++++++++++++----- Cargo.toml | 12 + client/Cargo.toml | 4 + client/src/lib.rs | 6 + proto/Cargo.toml | 6 + proto/src/lib.rs | 14 + server/Cargo.toml | 11 +- server/src/lib.rs | 26 ++ 8 files changed, 682 insertions(+), 65 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c43d5ce..57fab36 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -101,6 +101,156 @@ dependencies = [ "alloc-no-stdlib", ] +[[package]] +name = "anchor-attribute-access-control" +version = "0.24.2" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "anchor-syn", + "anyhow", + "proc-macro2", + "quote", + "regex", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-account" +version = "0.24.2" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "anchor-syn", + "anyhow", + "bs58 0.4.0", + "proc-macro2", + "quote", + "rustversion", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-constant" +version = "0.24.2" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "anchor-syn", + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-error" +version = "0.24.2" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "anchor-syn", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-event" +version = "0.24.2" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "anchor-syn", + "anyhow", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-interface" +version = "0.24.2" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "anchor-syn", + "anyhow", + "heck 0.3.3", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-program" +version = "0.24.2" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "anchor-syn", + "anyhow", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-state" +version = "0.24.2" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "anchor-syn", + "anyhow", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-derive-accounts" +version = "0.24.2" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "anchor-syn", + "anyhow", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-lang" +version = "0.24.2" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "anchor-attribute-access-control", + "anchor-attribute-account", + "anchor-attribute-constant", + "anchor-attribute-error", + "anchor-attribute-event", + "anchor-attribute-interface", + "anchor-attribute-program", + "anchor-attribute-state", + "anchor-derive-accounts", + "arrayref", + "base64 0.13.1", + "bincode", + "borsh 0.10.3", + "bytemuck", + "solana-program 1.16.15", + "thiserror", +] + +[[package]] +name = "anchor-syn" +version = "0.24.2" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "anyhow", + "bs58 0.3.1", + "heck 0.3.3", + "proc-macro2", + "proc-macro2-diagnostics", + "quote", + "serde", + "serde_json", + "sha2 0.9.9", + "syn 1.0.109", + "thiserror", +] + [[package]] name = "android_system_properties" version = "0.1.5" @@ -378,6 +528,12 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + [[package]] name = "base64" version = "0.21.2" @@ -558,6 +714,12 @@ dependencies = [ "alloc-stdlib", ] +[[package]] +name = "bs58" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "476e9cd489f9e121e02ffa6014a8ef220ecb15c05ed23fc34cca13925dc283fb" + [[package]] name = "bs58" version = "0.4.0" @@ -673,7 +835,7 @@ version = "4.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0177313f9f02afc995627906bbd8967e2be069f5261954222dac78290c2b9014" dependencies = [ - "heck", + "heck 0.4.1", "proc-macro-error", "proc-macro2", "quote", @@ -1191,7 +1353,8 @@ dependencies = [ "rand 0.8.5", "serde", "serde_json", - "solana-sdk", + "solana-sdk 1.16.14", + "solana-sdk 1.16.15", "thiserror", "tokio", "tonic", @@ -1202,7 +1365,7 @@ dependencies = [ name = "geyser-grpc-plugin-server" version = "0.1.0" dependencies = [ - "bs58", + "bs58 0.4.0", "crossbeam-channel", "futures-util", "jito-geyser-protos", @@ -1213,13 +1376,19 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "solana-geyser-plugin-interface", - "solana-logger", - "solana-metrics", - "solana-program", - "solana-sdk", - "solana-transaction-status", - "solana-vote-program", + "solana-geyser-plugin-interface 1.16.14", + "solana-geyser-plugin-interface 1.16.15", + "solana-logger 1.16.14", + "solana-logger 1.16.15", + "solana-metrics 1.16.14", + "solana-metrics 1.16.15", + "solana-program 1.16.14", + "solana-program 1.16.15", + "solana-sdk 1.16.14", + "solana-sdk 1.16.15", + "solana-transaction-status 1.16.14", + "solana-vote-program 1.16.14", + "solana-vote-program 1.16.15", "thiserror", "tokio", "tokio-stream", @@ -1294,6 +1463,15 @@ dependencies = [ "ahash 0.8.3", ] +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "heck" version = "0.4.1" @@ -1571,7 +1749,7 @@ dependencies = [ "geyser-grpc-plugin-client", "jito-geyser-protos", "prost-types", - "solana-sdk", + "solana-sdk 1.16.14", "tokio", "toml_datetime", "tonic", @@ -1586,9 +1764,12 @@ dependencies = [ "prost", "prost-types", "serde", - "solana-account-decoder", - "solana-sdk", - "solana-transaction-status", + "solana-account-decoder 1.16.14", + "solana-account-decoder 1.16.15", + "solana-sdk 1.16.14", + "solana-sdk 1.16.15", + "solana-transaction-status 1.16.14", + "solana-transaction-status 1.16.15", "tonic", "tonic-build", ] @@ -2191,6 +2372,19 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "proc-macro2-diagnostics" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bf29726d67464d49fa6224a1d07936a8c08bb3fba727c7493f6cf1616fdaada" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", + "yansi", +] + [[package]] name = "prost" version = "0.11.9" @@ -2208,7 +2402,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" dependencies = [ "bytes", - "heck", + "heck 0.4.1", "itertools", "lazy_static", "log", @@ -2758,15 +2952,38 @@ dependencies = [ "Inflector", "base64 0.21.2", "bincode", - "bs58", + "bs58 0.4.0", + "bv", + "lazy_static", + "serde", + "serde_derive", + "serde_json", + "solana-address-lookup-table-program 1.16.14", + "solana-config-program 1.16.14", + "solana-sdk 1.16.14", + "spl-token", + "spl-token-2022", + "thiserror", + "zstd", +] + +[[package]] +name = "solana-account-decoder" +version = "1.16.15" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "Inflector", + "base64 0.21.2", + "bincode", + "bs58 0.4.0", "bv", "lazy_static", "serde", "serde_derive", "serde_json", - "solana-address-lookup-table-program", - "solana-config-program", - "solana-sdk", + "solana-address-lookup-table-program 1.16.15", + "solana-config-program 1.16.15", + "solana-sdk 1.16.15", "spl-token", "spl-token-2022", "thiserror", @@ -2786,11 +3003,31 @@ dependencies = [ "num-traits", "rustc_version", "serde", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-program", - "solana-program-runtime", - "solana-sdk", + "solana-frozen-abi 1.16.14", + "solana-frozen-abi-macro 1.16.14", + "solana-program 1.16.14", + "solana-program-runtime 1.16.14", + "solana-sdk 1.16.14", + "thiserror", +] + +[[package]] +name = "solana-address-lookup-table-program" +version = "1.16.15" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "bincode", + "bytemuck", + "log", + "num-derive", + "num-traits", + "rustc_version", + "serde", + "solana-frozen-abi 1.16.15", + "solana-frozen-abi-macro 1.16.15", + "solana-program 1.16.15", + "solana-program-runtime 1.16.15", + "solana-sdk 1.16.15", "thiserror", ] @@ -2804,8 +3041,21 @@ dependencies = [ "chrono", "serde", "serde_derive", - "solana-program-runtime", - "solana-sdk", + "solana-program-runtime 1.16.14", + "solana-sdk 1.16.14", +] + +[[package]] +name = "solana-config-program" +version = "1.16.15" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "bincode", + "chrono", + "serde", + "serde_derive", + "solana-program-runtime 1.16.15", + "solana-sdk 1.16.15", ] [[package]] @@ -2817,7 +3067,39 @@ dependencies = [ "ahash 0.8.3", "blake3", "block-buffer 0.10.4", - "bs58", + "bs58 0.4.0", + "bv", + "byteorder", + "cc", + "either", + "generic-array", + "getrandom 0.1.16", + "im", + "lazy_static", + "log", + "memmap2", + "once_cell", + "rand_core 0.6.4", + "rustc_version", + "serde", + "serde_bytes", + "serde_derive", + "serde_json", + "sha2 0.10.6", + "solana-frozen-abi-macro 1.16.14", + "subtle", + "thiserror", +] + +[[package]] +name = "solana-frozen-abi" +version = "1.16.15" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "ahash 0.8.3", + "blake3", + "block-buffer 0.10.4", + "bs58 0.4.0", "bv", "byteorder", "cc", @@ -2836,7 +3118,7 @@ dependencies = [ "serde_derive", "serde_json", "sha2 0.10.6", - "solana-frozen-abi-macro", + "solana-frozen-abi-macro 1.16.15", "subtle", "thiserror", ] @@ -2853,6 +3135,17 @@ dependencies = [ "syn 2.0.16", ] +[[package]] +name = "solana-frozen-abi-macro" +version = "1.16.15" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "proc-macro2", + "quote", + "rustc_version", + "syn 2.0.16", +] + [[package]] name = "solana-geyser-plugin-interface" version = "1.16.14" @@ -2860,8 +3153,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "908cad0de1330b6b05d6cb6a9f5004df22a9fe46529d6bf6839835ba345ef966" dependencies = [ "log", - "solana-sdk", - "solana-transaction-status", + "solana-sdk 1.16.14", + "solana-transaction-status 1.16.14", + "thiserror", +] + +[[package]] +name = "solana-geyser-plugin-interface" +version = "1.16.15" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "log", + "solana-sdk 1.16.15", + "solana-transaction-status 1.16.15", "thiserror", ] @@ -2876,6 +3180,16 @@ dependencies = [ "log", ] +[[package]] +name = "solana-logger" +version = "1.16.15" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "env_logger", + "lazy_static", + "log", +] + [[package]] name = "solana-measure" version = "1.16.14" @@ -2883,7 +3197,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19563c27f12801e0e65b42d0f216db1d910dfeaad88d8f1335dd6369697eda60" dependencies = [ "log", - "solana-sdk", + "solana-sdk 1.16.14", +] + +[[package]] +name = "solana-measure" +version = "1.16.15" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "log", + "solana-sdk 1.16.15", ] [[package]] @@ -2897,7 +3220,20 @@ dependencies = [ "lazy_static", "log", "reqwest", - "solana-sdk", + "solana-sdk 1.16.14", +] + +[[package]] +name = "solana-metrics" +version = "1.16.15" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "crossbeam-channel", + "gethostname", + "lazy_static", + "log", + "reqwest", + "solana-sdk 1.16.15", ] [[package]] @@ -2917,7 +3253,61 @@ dependencies = [ "blake3", "borsh 0.10.3", "borsh 0.9.3", - "bs58", + "bs58 0.4.0", + "bv", + "bytemuck", + "cc", + "console_error_panic_hook", + "console_log", + "curve25519-dalek", + "getrandom 0.2.9", + "itertools", + "js-sys", + "lazy_static", + "libc", + "libsecp256k1", + "log", + "memoffset 0.9.0", + "num-bigint 0.4.3", + "num-derive", + "num-traits", + "parking_lot", + "rand 0.7.3", + "rand_chacha 0.2.2", + "rustc_version", + "rustversion", + "serde", + "serde_bytes", + "serde_derive", + "serde_json", + "sha2 0.10.6", + "sha3 0.10.8", + "solana-frozen-abi 1.16.14", + "solana-frozen-abi-macro 1.16.14", + "solana-sdk-macro 1.16.14", + "thiserror", + "tiny-bip39", + "wasm-bindgen", + "zeroize", +] + +[[package]] +name = "solana-program" +version = "1.16.15" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "ark-bn254", + "ark-ec", + "ark-ff", + "ark-serialize", + "array-bytes", + "base64 0.21.2", + "bincode", + "bitflags", + "blake3", + "borsh 0.10.3", + "borsh 0.9.3", + "bs58 0.4.0", "bv", "bytemuck", "cc", @@ -2946,9 +3336,9 @@ dependencies = [ "serde_json", "sha2 0.10.6", "sha3 0.10.8", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-sdk-macro", + "solana-frozen-abi 1.16.15", + "solana-frozen-abi-macro 1.16.15", + "solana-sdk-macro 1.16.15", "thiserror", "tiny-bip39", "wasm-bindgen", @@ -2974,11 +3364,38 @@ dependencies = [ "rand 0.7.3", "rustc_version", "serde", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-measure", - "solana-metrics", - "solana-sdk", + "solana-frozen-abi 1.16.14", + "solana-frozen-abi-macro 1.16.14", + "solana-measure 1.16.14", + "solana-metrics 1.16.14", + "solana-sdk 1.16.14", + "solana_rbpf", + "thiserror", +] + +[[package]] +name = "solana-program-runtime" +version = "1.16.15" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "base64 0.21.2", + "bincode", + "eager", + "enum-iterator", + "itertools", + "libc", + "log", + "num-derive", + "num-traits", + "percentage", + "rand 0.7.3", + "rustc_version", + "serde", + "solana-frozen-abi 1.16.15", + "solana-frozen-abi-macro 1.16.15", + "solana-measure 1.16.15", + "solana-metrics 1.16.15", + "solana-sdk 1.16.15", "solana_rbpf", "thiserror", ] @@ -2994,7 +3411,60 @@ dependencies = [ "bincode", "bitflags", "borsh 0.10.3", - "bs58", + "bs58 0.4.0", + "bytemuck", + "byteorder", + "chrono", + "derivation-path", + "digest 0.10.7", + "ed25519-dalek", + "ed25519-dalek-bip32", + "generic-array", + "hmac 0.12.1", + "itertools", + "js-sys", + "lazy_static", + "libsecp256k1", + "log", + "memmap2", + "num-derive", + "num-traits", + "num_enum 0.6.1", + "pbkdf2 0.11.0", + "qstring", + "rand 0.7.3", + "rand_chacha 0.2.2", + "rustc_version", + "rustversion", + "serde", + "serde_bytes", + "serde_derive", + "serde_json", + "serde_with", + "sha2 0.10.6", + "sha3 0.10.8", + "solana-frozen-abi 1.16.14", + "solana-frozen-abi-macro 1.16.14", + "solana-logger 1.16.14", + "solana-program 1.16.14", + "solana-sdk-macro 1.16.14", + "thiserror", + "uriparse", + "wasm-bindgen", +] + +[[package]] +name = "solana-sdk" +version = "1.16.15" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "anchor-lang", + "assert_matches", + "base64 0.21.2", + "bincode", + "bitflags", + "borsh 0.10.3", + "bs58 0.4.0", "bytemuck", "byteorder", "chrono", @@ -3026,11 +3496,11 @@ dependencies = [ "serde_with", "sha2 0.10.6", "sha3 0.10.8", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-logger", - "solana-program", - "solana-sdk-macro", + "solana-frozen-abi 1.16.15", + "solana-frozen-abi-macro 1.16.15", + "solana-logger 1.16.15", + "solana-program 1.16.15", + "solana-sdk-macro 1.16.15", "thiserror", "uriparse", "wasm-bindgen", @@ -3042,7 +3512,19 @@ version = "1.16.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "760fdfd4b7edb02fd9173a6dcec899ffae06ac21b66b65f8c7c5f3d17b12fa64" dependencies = [ - "bs58", + "bs58 0.4.0", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.16", +] + +[[package]] +name = "solana-sdk-macro" +version = "1.16.15" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "bs58 0.4.0", "proc-macro2", "quote", "rustversion", @@ -3059,15 +3541,40 @@ dependencies = [ "base64 0.21.2", "bincode", "borsh 0.9.3", - "bs58", + "bs58 0.4.0", + "lazy_static", + "log", + "serde", + "serde_derive", + "serde_json", + "solana-account-decoder 1.16.14", + "solana-address-lookup-table-program 1.16.14", + "solana-sdk 1.16.14", + "spl-associated-token-account", + "spl-memo", + "spl-token", + "spl-token-2022", + "thiserror", +] + +[[package]] +name = "solana-transaction-status" +version = "1.16.15" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "Inflector", + "base64 0.21.2", + "bincode", + "borsh 0.9.3", + "bs58 0.4.0", "lazy_static", "log", "serde", "serde_derive", "serde_json", - "solana-account-decoder", - "solana-address-lookup-table-program", - "solana-sdk", + "solana-account-decoder 1.16.15", + "solana-address-lookup-table-program 1.16.15", + "solana-sdk 1.16.15", "spl-associated-token-account", "spl-memo", "spl-token", @@ -3088,12 +3595,33 @@ dependencies = [ "rustc_version", "serde", "serde_derive", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-metrics", - "solana-program", - "solana-program-runtime", - "solana-sdk", + "solana-frozen-abi 1.16.14", + "solana-frozen-abi-macro 1.16.14", + "solana-metrics 1.16.14", + "solana-program 1.16.14", + "solana-program-runtime 1.16.14", + "solana-sdk 1.16.14", + "thiserror", +] + +[[package]] +name = "solana-vote-program" +version = "1.16.15" +source = "git+https://github.com/jito-foundation/jito-solana.git?rev=2a7dcc95483c50172545756685f842124d0d8032#2a7dcc95483c50172545756685f842124d0d8032" +dependencies = [ + "bincode", + "log", + "num-derive", + "num-traits", + "rustc_version", + "serde", + "serde_derive", + "solana-frozen-abi 1.16.15", + "solana-frozen-abi-macro 1.16.15", + "solana-metrics 1.16.15", + "solana-program 1.16.15", + "solana-program-runtime 1.16.15", + "solana-sdk 1.16.15", "thiserror", ] @@ -3119,8 +3647,8 @@ dependencies = [ "serde", "serde_json", "sha3 0.9.1", - "solana-program", - "solana-sdk", + "solana-program 1.16.14", + "solana-sdk 1.16.14", "subtle", "thiserror", "zeroize", @@ -3161,7 +3689,7 @@ dependencies = [ "borsh 0.9.3", "num-derive", "num-traits", - "solana-program", + "solana-program 1.16.14", "spl-token", "spl-token-2022", "thiserror", @@ -3173,7 +3701,7 @@ version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd0dc6f70db6bacea7ff25870b016a65ba1d1b6013536f08e4fd79a8f9005325" dependencies = [ - "solana-program", + "solana-program 1.16.14", ] [[package]] @@ -3187,7 +3715,7 @@ dependencies = [ "num-derive", "num-traits", "num_enum 0.5.11", - "solana-program", + "solana-program 1.16.14", "thiserror", ] @@ -3202,7 +3730,7 @@ dependencies = [ "num-derive", "num-traits", "num_enum 0.5.11", - "solana-program", + "solana-program 1.16.14", "solana-zk-token-sdk", "spl-memo", "spl-token", @@ -3587,6 +4115,12 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "unicode-segmentation" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" + [[package]] name = "universal-hash" version = "0.4.1" @@ -3970,6 +4504,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "yansi" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" + [[package]] name = "zeroize" version = "1.3.0" diff --git a/Cargo.toml b/Cargo.toml index a1e69ad..e91ad12 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,6 +26,16 @@ crossbeam-channel = "0.5.8" futures-util = "0.3.28" geyser-grpc-plugin-client = { path = "client" } jito-geyser-protos = { path = "proto" } + +jito-solana-account-decoder = { git = "https://github.com/jito-foundation/jito-solana.git", rev = "2a7dcc95483c50172545756685f842124d0d8032", package = "solana-account-decoder" } +jito-solana-geyser-plugin-interface = { git = "https://github.com/jito-foundation/jito-solana.git", rev = "2a7dcc95483c50172545756685f842124d0d8032", package = "solana-geyser-plugin-interface" } +jito-solana-logger = { git = "https://github.com/jito-foundation/jito-solana.git", rev = "2a7dcc95483c50172545756685f842124d0d8032", package = "solana-logger" } +jito-solana-metrics = { git = "https://github.com/jito-foundation/jito-solana.git", rev = "2a7dcc95483c50172545756685f842124d0d8032", package = "solana-metrics" } +jito-solana-program = { git = "https://github.com/jito-foundation/jito-solana.git", rev = "2a7dcc95483c50172545756685f842124d0d8032", package = "solana-program" } +jito-solana-sdk = { git = "https://github.com/jito-foundation/jito-solana.git", rev = "2a7dcc95483c50172545756685f842124d0d8032", package = "solana-sdk" } +jito-solana-transaction-status = { git = "https://github.com/jito-foundation/jito-solana.git", rev = "2a7dcc95483c50172545756685f842124d0d8032", package = "solana-transaction-status" } +jito-solana-vote-program = { git = "https://github.com/jito-foundation/jito-solana.git", rev = "2a7dcc95483c50172545756685f842124d0d8032", package = "solana-vote-program" } + log = "0.4" lru = "0.8" # keep old version due to MSRV of 1.60 once_cell = "1.17.1" @@ -35,6 +45,7 @@ rand = "0.8" serde = "1.0.160" serde_derive = "1.0.160" serde_json = "1.0.96" + solana-account-decoder = "1.16.14" solana-geyser-plugin-interface = "1.16.14" solana-logger = "1.16.14" @@ -43,6 +54,7 @@ solana-program = "1.16.14" solana-sdk = "1.16.14" solana-transaction-status = "1.16.14" solana-vote-program = "1.16.14" + thiserror = "1.0.40" tokio = { version = "~1.14.1", features = ["rt-multi-thread"] } tokio-stream = "0.1" diff --git a/client/Cargo.toml b/client/Cargo.toml index 17e487d..1b5e4ae 100644 --- a/client/Cargo.toml +++ b/client/Cargo.toml @@ -7,6 +7,7 @@ edition = { workspace = true } [dependencies] jito-geyser-protos = { workspace = true } +jito-solana-sdk = { workspace = true, optional = true } log = { workspace = true } lru = { workspace = true } prost = { workspace = true } @@ -21,3 +22,6 @@ tonic = { workspace = true, features = ["tls"] } [build-dependencies] tonic-build = { workspace = true } + +[features] +jito-solana = ["jito-solana-sdk"] diff --git a/client/src/lib.rs b/client/src/lib.rs index b54a8b6..697f1e1 100644 --- a/client/src/lib.rs +++ b/client/src/lib.rs @@ -2,6 +2,12 @@ pub mod geyser_consumer; pub mod interceptor; pub mod types; +#[cfg(not(feature = "jito-solana"))] +extern crate solana_sdk; + +#[cfg(feature = "jito-solana")] +extern crate jito_solana_sdk as solana_sdk; + use std::{ str::FromStr, sync::{atomic::AtomicBool, Arc}, diff --git a/proto/Cargo.toml b/proto/Cargo.toml index d411cee..65c0b4e 100644 --- a/proto/Cargo.toml +++ b/proto/Cargo.toml @@ -8,6 +8,9 @@ description = "Jito's Solana geyser protobufs and helper libraries" [dependencies] bincode = { workspace = true } +jito-solana-account-decoder = { workspace = true, optional = true } +jito-solana-sdk = { workspace = true, optional = true } +jito-solana-transaction-status = { workspace = true, optional = true } prost = { workspace = true } prost-types = { workspace = true } serde = { workspace = true } @@ -18,3 +21,6 @@ tonic = { workspace = true } [build-dependencies] tonic-build = { workspace = true } + +[features] +jito-solana = ["jito-solana-account-decoder", "jito-solana-sdk", "jito-solana-transaction-status"] diff --git a/proto/src/lib.rs b/proto/src/lib.rs index 52900c7..12ea8a3 100644 --- a/proto/src/lib.rs +++ b/proto/src/lib.rs @@ -13,6 +13,20 @@ use solana_transaction_status::{ InnerInstructions, Reward, RewardType, TransactionStatusMeta, TransactionTokenBalance, }; +#[cfg(not(feature = "jito-solana"))] +extern crate solana_account_decoder; +#[cfg(not(feature = "jito-solana"))] +extern crate solana_sdk; +#[cfg(not(feature = "jito-solana"))] +extern crate solana_transaction_status; + +#[cfg(feature = "jito-solana")] +extern crate jito_solana_account_decoder as solana_account_decoder; +#[cfg(feature = "jito-solana")] +extern crate jito_solana_sdk as solana_sdk; +#[cfg(feature = "jito-solana")] +extern crate jito_solana_transaction_status as solana_transaction_status; + pub mod convert; // NOTE: Jito added diff --git a/server/Cargo.toml b/server/Cargo.toml index d62ef3d..c4a1dcd 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -12,7 +12,13 @@ crate-type = ["cdylib", "rlib"] bs58 = { workspace = true } crossbeam-channel = { workspace = true } futures-util = { workspace = true } -jito-geyser-protos = { workspace = true } +jito-geyser-protos = { workspace = true } +jito-solana-geyser-plugin-interface = { workspace = true, optional = true } +jito-solana-logger = { workspace = true, optional = true } +jito-solana-metrics = { workspace = true, optional = true } +jito-solana-program = { workspace = true, optional = true } +jito-solana-sdk = { workspace = true, optional = true } +jito-solana-vote-program = { workspace = true, optional = true } log = { workspace = true } once_cell = { workspace = true } prost = { workspace = true } @@ -38,3 +44,6 @@ tonic-build = { workspace = true } [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] + +[features] +jito-solana = ["jito-solana-geyser-plugin-interface", "jito-solana-logger", "jito-solana-metrics", "jito-solana-program", "jito-solana-sdk", "jito-solana-vote-program"] \ No newline at end of file diff --git a/server/src/lib.rs b/server/src/lib.rs index 41aeadf..80bcab9 100644 --- a/server/src/lib.rs +++ b/server/src/lib.rs @@ -1,3 +1,29 @@ pub mod geyser_grpc_plugin; pub mod server; pub(crate) mod subscription_stream; + +#[cfg(not(feature = "jito-solana"))] +extern crate solana_geyser_plugin_interface; +#[cfg(not(feature = "jito-solana"))] +extern crate solana_logger; +#[cfg(not(feature = "jito-solana"))] +extern crate solana_metrics; +#[cfg(not(feature = "jito-solana"))] +extern crate solana_program; +#[cfg(not(feature = "jito-solana"))] +extern crate solana_sdk; +#[cfg(not(feature = "jito-solana"))] +extern crate solana_vote_program; + +#[cfg(feature = "jito-solana")] +extern crate jito_solana_geyser_plugin_interface as solana_geyser_plugin_interface; +#[cfg(feature = "jito-solana")] +extern crate jito_solana_logger as solana_logger; +#[cfg(feature = "jito-solana")] +extern crate jito_solana_metrics as solana_metrics; +#[cfg(feature = "jito-solana")] +extern crate jito_solana_program as solana_program; +#[cfg(feature = "jito-solana")] +extern crate jito_solana_sdk as solana_sdk; +#[cfg(feature = "jito-solana")] +extern crate jito_solana_vote_program as solana_vote_program;