From 09db6c6bf97a8cdc8bbca108dcf797314574bf04 Mon Sep 17 00:00:00 2001 From: Kirill Fomichev Date: Wed, 8 Mar 2023 11:50:03 -0300 Subject: [PATCH] Update solana =1.15.2 (#79) Co-authored-by: linuskendall --- Cargo.lock | 612 ++++-- Cargo.toml | 6 - ci/rust-version.sh | 4 +- golang/Makefile | 4 +- golang/README.md | 13 + golang/proto/geyser.pb.go | 479 ++--- golang/proto/geyser_grpc.pb.go | 2 +- golang/proto/solana-storage-v1.15.2.pb.go | 1887 +++++++++++++++++ proto/geyser.proto | 2 +- ....13.proto => solana-storage-v1.15.2.proto} | 13 +- rust-toolchain.toml | 2 +- rust/client/client.rs | 10 +- solana-geyser-grpc/Cargo.toml | 8 +- solana-geyser-grpc/src/grpc.rs | 2 +- solana-geyser-grpc/src/proto.rs | 14 +- 15 files changed, 2595 insertions(+), 463 deletions(-) create mode 100644 golang/proto/solana-storage-v1.15.2.pb.go rename proto/{solana-storage-v1.14.13.proto => solana-storage-v1.15.2.proto} (89%) diff --git a/Cargo.lock b/Cargo.lock index f98db93..a880352 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -104,6 +104,97 @@ version = "1.0.62" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1485d4d2cc45e7b201ee3767015c96faa5904387c9d87c6efdd0fb511f12d305" +[[package]] +name = "ark-bn254" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea691771ebbb28aea556c044e2e5c5227398d840cee0c34d4d20fa8eb2689e8c" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-std", +] + +[[package]] +name = "ark-ec" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dea978406c4b1ca13c2db2373b05cc55429c3575b8b21f1b9ee859aa5b03dd42" +dependencies = [ + "ark-ff", + "ark-serialize", + "ark-std", + "derivative", + "num-traits", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b3235cc41ee7a12aaaf2c575a2ad7b46713a8a50bda2fc3b003a04845c05dd6" +dependencies = [ + "ark-ff-asm", + "ark-ff-macros", + "ark-serialize", + "ark-std", + "derivative", + "num-bigint", + "num-traits", + "paste", + "rustc_version 0.3.3", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44" +dependencies = [ + "quote", + "syn", +] + +[[package]] +name = "ark-ff-macros" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" +dependencies = [ + "num-bigint", + "num-traits", + "quote", + "syn", +] + +[[package]] +name = "ark-serialize" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6c2b318ee6e10f8c2853e73a83adc0ccb88995aa978d8a3408d492ab2ee671" +dependencies = [ + "ark-std", + "digest 0.9.0", +] + +[[package]] +name = "ark-std" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + +[[package]] +name = "array-bytes" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ad284aeb45c13f2fb4f084de4a420ebf447423bdf9386c0540ce33cb3ef4b8c" + [[package]] name = "arrayref" version = "0.3.6" @@ -116,6 +207,12 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" +[[package]] +name = "ascii" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" + [[package]] name = "assert_matches" version = "1.5.0" @@ -461,7 +558,7 @@ version = "8.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "031718ddb8f78aa5def78a09e90defe30151d1f6c672f937af4dd916429ed996" dependencies = [ - "semver", + "semver 1.0.16", "serde", "toml", "url", @@ -566,6 +663,19 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "combine" +version = "3.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da3da6baa321ec19e1cc41d31bf599f00c783d0517095cdaf0332e3fe8d20680" +dependencies = [ + "ascii", + "byteorder", + "either", + "memchr", + "unreachable", +] + [[package]] name = "console_error_panic_hook" version = "0.1.7" @@ -762,12 +872,58 @@ dependencies = [ "syn", ] +[[package]] +name = "darling" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0808e1bd8671fb44a113a14e13497557533369847788fa2ae912b6ebfce9fa8" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "001d80444f28e193f30c2f293455da62dcf9a6b29918a4253152ae2b1de592cb" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b36230598a2d5de7ec1c6f51f72d8a99a9208daff41de2084d06e3fd3ea56685" +dependencies = [ + "darling_core", + "quote", + "syn", +] + [[package]] name = "derivation-path" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e5c37193a1db1d8ed868c03ec7b152175f26160a5b740e5e484143877e0adf0" +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "digest" version = "0.9.0" @@ -855,11 +1011,11 @@ dependencies = [ [[package]] name = "enum-iterator" -version = "0.8.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2953d1df47ac0eb70086ccabf0275aa8da8591a28bd358ee2b52bd9f9e3ff9e9" +checksum = "9ea166b3f7dc1032f7866d13f8d8e02c8d87507b61750176b86554964dc6a7bf" dependencies = [ - "enum-iterator-derive 0.8.1", + "enum-iterator-derive 1.1.0", ] [[package]] @@ -875,9 +1031,9 @@ dependencies = [ [[package]] name = "enum-iterator-derive" -version = "0.8.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8958699f9359f0b04e691a13850d48b7de329138023876d07cbd024c2c820598" +checksum = "828de45d0ca18782232dfb8f3ea9cc428e8ced380eb26a520baaacfc70de39ce" dependencies = [ "proc-macro2", "quote", @@ -1160,6 +1316,17 @@ dependencies = [ "url", ] +[[package]] +name = "goblin" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7666983ed0dd8d21a6f6576ee00053ca0926fb281a5522577a4dbd0f1b54143" +dependencies = [ + "log", + "plain", + "scroll", +] + [[package]] name = "h2" version = "0.3.15" @@ -1179,6 +1346,15 @@ dependencies = [ "tracing", ] +[[package]] +name = "hash32" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" +dependencies = [ + "byteorder", +] + [[package]] name = "hashbrown" version = "0.11.2" @@ -1376,6 +1552,12 @@ dependencies = [ "cxx-build", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "0.3.0" @@ -1651,18 +1833,18 @@ dependencies = [ [[package]] name = "memoffset" -version = "0.6.5" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" dependencies = [ "autocfg", ] [[package]] name = "memoffset" -version = "0.7.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" dependencies = [ "autocfg", ] @@ -1730,6 +1912,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "num-bigint" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-derive" version = "0.3.3" @@ -1838,6 +2031,12 @@ dependencies = [ "windows-sys 0.42.0", ] +[[package]] +name = "paste" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" + [[package]] name = "pbkdf2" version = "0.4.0" @@ -1862,6 +2061,16 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" +[[package]] +name = "pest" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbc7bc69c062e492337d74d59b120c274fd3d261b6bf6d3207d499b4b379c41a" +dependencies = [ + "thiserror", + "ucd-trie", +] + [[package]] name = "petgraph" version = "0.6.2" @@ -1910,6 +2119,12 @@ version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" +[[package]] +name = "plain" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" + [[package]] name = "polyval" version = "0.5.3" @@ -2292,19 +2507,34 @@ dependencies = [ "winapi", ] +[[package]] +name = "rustc-demangle" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" + [[package]] name = "rustc-hash" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc_version" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +dependencies = [ + "semver 0.11.0", +] + [[package]] name = "rustc_version" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver", + "semver 1.0.16", ] [[package]] @@ -2387,6 +2617,26 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" +[[package]] +name = "scroll" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da" +dependencies = [ + "scroll_derive", +] + +[[package]] +name = "scroll_derive" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdbda6ac5cd1321e724fa9cee216f3a61885889b896f073b8f82322789c5250e" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "sct" version = "0.7.0" @@ -2420,6 +2670,15 @@ dependencies = [ "libc", ] +[[package]] +name = "semver" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" +dependencies = [ + "semver-parser", +] + [[package]] name = "semver" version = "1.0.16" @@ -2429,6 +2688,15 @@ dependencies = [ "serde", ] +[[package]] +name = "semver-parser" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +dependencies = [ + "pest", +] + [[package]] name = "serde" version = "1.0.152" @@ -2481,6 +2749,28 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_with" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d904179146de381af4c93d3af6ca4984b3152db687dacb9c3c35e86f39809c" +dependencies = [ + "serde", + "serde_with_macros", +] + +[[package]] +name = "serde_with_macros" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1966009f3c05f095697c537312f5415d1e3ed31ce0a56942bac4c771c5c335e" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "sha2" version = "0.9.9" @@ -2570,8 +2860,9 @@ dependencies = [ [[package]] name = "solana-account-decoder" -version = "1.14.15" -source = "git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2#3891feedce26dc7ebfe41f02b798c4b51cf7694c" +version = "1.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7e4ac2e5e6474d17f19341df43c62b62ee1e362bae9b06bc30223252dd4a362" dependencies = [ "Inflector", "base64 0.13.1", @@ -2585,7 +2876,6 @@ dependencies = [ "solana-address-lookup-table-program", "solana-config-program", "solana-sdk", - "solana-vote-program", "spl-token", "spl-token-2022", "thiserror", @@ -2594,19 +2884,20 @@ dependencies = [ [[package]] name = "solana-address-lookup-table-program" -version = "1.14.15" -source = "git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2#3891feedce26dc7ebfe41f02b798c4b51cf7694c" +version = "1.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baac6a0dfc38f64e5e5e178e9eeade05ef1a2c644c95062523c6bc21f19f8866" dependencies = [ "bincode", "bytemuck", "log", "num-derive", "num-traits", - "rustc_version", + "rustc_version 0.4.0", "serde", - "solana-frozen-abi 1.14.15 (git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2)", - "solana-frozen-abi-macro 1.14.15 (git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2)", - "solana-program 1.14.15 (git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2)", + "solana-frozen-abi", + "solana-frozen-abi-macro", + "solana-program", "solana-program-runtime", "solana-sdk", "thiserror", @@ -2614,8 +2905,9 @@ dependencies = [ [[package]] name = "solana-config-program" -version = "1.14.15" -source = "git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2#3891feedce26dc7ebfe41f02b798c4b51cf7694c" +version = "1.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebb520c573b28060cadd8ae0fa6ae116cf74dac01078bc437d8b3e3ab00efd22" dependencies = [ "bincode", "chrono", @@ -2627,9 +2919,9 @@ dependencies = [ [[package]] name = "solana-frozen-abi" -version = "1.14.15" +version = "1.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f651fd3d06d9aa6c66d2ceb7230278ddad59403dc1cc4abf82a69970dc6f631d" +checksum = "48f7051cccdf891ac2603cdd295eb651529fe2b678b6b3af60b82dec9a9b3b06" dependencies = [ "ahash", "blake3", @@ -2648,70 +2940,26 @@ dependencies = [ "memmap2", "once_cell", "rand_core 0.6.4", - "rustc_version", + "rustc_version 0.4.0", "serde", "serde_bytes", "serde_derive", "serde_json", "sha2 0.10.6", - "solana-frozen-abi-macro 1.14.15 (registry+https://github.com/rust-lang/crates.io-index)", - "subtle", - "thiserror", -] - -[[package]] -name = "solana-frozen-abi" -version = "1.14.15" -source = "git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2#3891feedce26dc7ebfe41f02b798c4b51cf7694c" -dependencies = [ - "ahash", - "blake3", - "block-buffer 0.9.0", - "bs58", - "bv", - "byteorder", - "cc", - "either", - "generic-array", - "getrandom 0.1.16", - "hashbrown 0.12.3", - "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.14.15 (git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2)", + "solana-frozen-abi-macro", "subtle", "thiserror", ] [[package]] name = "solana-frozen-abi-macro" -version = "1.14.15" +version = "1.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301bb4bd66f592d4b799db0fb0ed1ae9fc7a8453476961faef1223127091574b" +checksum = "06395428329810ade1d2518a7e75d8a6f02d01fe548aabb60ff1ba6a2eaebbe5" dependencies = [ "proc-macro2", "quote", - "rustc_version", - "syn", -] - -[[package]] -name = "solana-frozen-abi-macro" -version = "1.14.15" -source = "git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2#3891feedce26dc7ebfe41f02b798c4b51cf7694c" -dependencies = [ - "proc-macro2", - "quote", - "rustc_version", + "rustc_version 0.4.0", "syn", ] @@ -2763,8 +3011,9 @@ dependencies = [ [[package]] name = "solana-geyser-plugin-interface" -version = "1.14.15" -source = "git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2#3891feedce26dc7ebfe41f02b798c4b51cf7694c" +version = "1.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "713bc7a232a8c1e939983994d531c7e2ca9953a76d5d96a476f7462744b16f07" dependencies = [ "log", "solana-sdk", @@ -2774,8 +3023,9 @@ dependencies = [ [[package]] name = "solana-logger" -version = "1.14.15" -source = "git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2#3891feedce26dc7ebfe41f02b798c4b51cf7694c" +version = "1.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "170714ca3612e4df75f57c2c14c8ab74654b3b66f668986aeed456cedcf24446" dependencies = [ "env_logger 0.9.3", "lazy_static", @@ -2784,8 +3034,9 @@ dependencies = [ [[package]] name = "solana-measure" -version = "1.14.15" -source = "git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2#3891feedce26dc7ebfe41f02b798c4b51cf7694c" +version = "1.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52b03528be5a0fbbe4c06a4e1758d155363b51f7c782435b1eb1d4804ab124e3" dependencies = [ "log", "solana-sdk", @@ -2793,8 +3044,9 @@ dependencies = [ [[package]] name = "solana-metrics" -version = "1.14.15" -source = "git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2#3891feedce26dc7ebfe41f02b798c4b51cf7694c" +version = "1.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc5ff9cbbe50e9918576ff46b4e38d9a946c33fc442982ce7ff397a3b851922a" dependencies = [ "crossbeam-channel", "gethostname", @@ -2806,10 +3058,14 @@ dependencies = [ [[package]] name = "solana-program" -version = "1.14.15" +version = "1.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5a52d34820e44c56a23ef540a9c996873885c4834e7e36bc5901990c675603c" +checksum = "1ae9f0fa7db3a4e90fa0df2723ac8cbc042e579cf109cd0380bc5a8c88bed924" dependencies = [ + "ark-bn254", + "ark-ec", + "ark-ff", + "array-bytes", "base64 0.13.1", "bincode", "bitflags", @@ -2830,13 +3086,14 @@ dependencies = [ "libc", "libsecp256k1", "log", - "memoffset 0.6.5", + "memoffset 0.8.0", + "num-bigint", "num-derive", "num-traits", "parking_lot", "rand 0.7.3", "rand_chacha 0.2.2", - "rustc_version", + "rustc_version 0.4.0", "rustversion", "serde", "serde_bytes", @@ -2844,57 +3101,9 @@ dependencies = [ "serde_json", "sha2 0.10.6", "sha3 0.10.6", - "solana-frozen-abi 1.14.15 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-frozen-abi-macro 1.14.15 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-sdk-macro 1.14.15 (registry+https://github.com/rust-lang/crates.io-index)", - "thiserror", - "tiny-bip39", - "wasm-bindgen", - "zeroize", -] - -[[package]] -name = "solana-program" -version = "1.14.15" -source = "git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2#3891feedce26dc7ebfe41f02b798c4b51cf7694c" -dependencies = [ - "base64 0.13.1", - "bincode", - "bitflags", - "blake3", - "borsh", - "borsh-derive", - "bs58", - "bv", - "bytemuck", - "cc", - "console_error_panic_hook", - "console_log", - "curve25519-dalek", - "getrandom 0.2.8", - "itertools", - "js-sys", - "lazy_static", - "libc", - "libsecp256k1", - "log", - "memoffset 0.6.5", - "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.6", - "solana-frozen-abi 1.14.15 (git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2)", - "solana-frozen-abi-macro 1.14.15 (git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2)", - "solana-sdk-macro 1.14.15 (git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2)", + "solana-frozen-abi", + "solana-frozen-abi-macro", + "solana-sdk-macro", "thiserror", "tiny-bip39", "wasm-bindgen", @@ -2903,13 +3112,14 @@ dependencies = [ [[package]] name = "solana-program-runtime" -version = "1.14.15" -source = "git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2#3891feedce26dc7ebfe41f02b798c4b51cf7694c" +version = "1.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbb3250dc9a0abc87693437ae0bb3eb02603396dcf7698c06f77c33b2c0291ca" dependencies = [ "base64 0.13.1", "bincode", "eager", - "enum-iterator 0.8.1", + "enum-iterator 1.3.0", "itertools", "libc", "libloading", @@ -2917,20 +3127,22 @@ dependencies = [ "num-derive", "num-traits", "rand 0.7.3", - "rustc_version", + "rustc_version 0.4.0", "serde", - "solana-frozen-abi 1.14.15 (git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2)", - "solana-frozen-abi-macro 1.14.15 (git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2)", + "solana-frozen-abi", + "solana-frozen-abi-macro", "solana-measure", "solana-metrics", "solana-sdk", + "solana_rbpf", "thiserror", ] [[package]] name = "solana-sdk" -version = "1.14.15" -source = "git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2#3891feedce26dc7ebfe41f02b798c4b51cf7694c" +version = "1.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbefda9f9bda78fd9d91ae21c38d9693e94d5979838fb69b70c6addb8dab953f" dependencies = [ "assert_matches", "base64 0.13.1", @@ -2955,23 +3167,25 @@ dependencies = [ "memmap2", "num-derive", "num-traits", + "num_enum", "pbkdf2 0.11.0", "qstring", "rand 0.7.3", "rand_chacha 0.2.2", - "rustc_version", + "rustc_version 0.4.0", "rustversion", "serde", "serde_bytes", "serde_derive", "serde_json", + "serde_with", "sha2 0.10.6", "sha3 0.10.6", - "solana-frozen-abi 1.14.15 (git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2)", - "solana-frozen-abi-macro 1.14.15 (git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2)", + "solana-frozen-abi", + "solana-frozen-abi-macro", "solana-logger", - "solana-program 1.14.15 (git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2)", - "solana-sdk-macro 1.14.15 (git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2)", + "solana-program", + "solana-sdk-macro", "thiserror", "uriparse", "wasm-bindgen", @@ -2979,21 +3193,9 @@ dependencies = [ [[package]] name = "solana-sdk-macro" -version = "1.14.15" +version = "1.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a7f28d94a4ed37c6eb7c62221da0e2206f11af051e91c045f2cce60111d3020" -dependencies = [ - "bs58", - "proc-macro2", - "quote", - "rustversion", - "syn", -] - -[[package]] -name = "solana-sdk-macro" -version = "1.14.15" -source = "git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2#3891feedce26dc7ebfe41f02b798c4b51cf7694c" +checksum = "f809319358d5da7c3a0ac08ebf4d87b21170d928dbb7260254e8f3061f7f9e0e" dependencies = [ "bs58", "proc-macro2", @@ -3004,8 +3206,9 @@ dependencies = [ [[package]] name = "solana-transaction-status" -version = "1.14.15" -source = "git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2#3891feedce26dc7ebfe41f02b798c4b51cf7694c" +version = "1.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b803e356fc2de0074866a6da007e721c950e754747e761a263b7f9e4c17edefa" dependencies = [ "Inflector", "base64 0.13.1", @@ -3019,10 +3222,7 @@ dependencies = [ "serde_json", "solana-account-decoder", "solana-address-lookup-table-program", - "solana-measure", - "solana-metrics", "solana-sdk", - "solana-vote-program", "spl-associated-token-account", "spl-memo", "spl-token", @@ -3030,31 +3230,11 @@ dependencies = [ "thiserror", ] -[[package]] -name = "solana-vote-program" -version = "1.14.15" -source = "git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2#3891feedce26dc7ebfe41f02b798c4b51cf7694c" -dependencies = [ - "bincode", - "log", - "num-derive", - "num-traits", - "rustc_version", - "serde", - "serde_derive", - "solana-frozen-abi 1.14.15 (git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2)", - "solana-frozen-abi-macro 1.14.15 (git+https://github.com/rpcpool/solana-public.git?tag=v1.14.15-geyser-block-v2)", - "solana-metrics", - "solana-program-runtime", - "solana-sdk", - "thiserror", -] - [[package]] name = "solana-zk-token-sdk" -version = "1.14.15" +version = "1.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b25e1c3a45dfb9e4307cd5f655e0fb2efc64eb5011e517a8f6abc9c88c44566" +checksum = "9a290aa32014e007b03f952d5b784433d95636c65a3fb08d19dc5658a450941c" dependencies = [ "aes-gcm-siv", "arrayref", @@ -3074,13 +3254,32 @@ dependencies = [ "serde", "serde_json", "sha3 0.9.1", - "solana-program 1.14.15 (registry+https://github.com/rust-lang/crates.io-index)", + "solana-program", "solana-sdk", "subtle", "thiserror", "zeroize", ] +[[package]] +name = "solana_rbpf" +version = "0.2.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4e9e5085099858adba23d0a0b5298da8803f89999cb567ecafab9c916cdf53d" +dependencies = [ + "byteorder", + "combine", + "goblin", + "hash32", + "libc", + "log", + "rand 0.8.5", + "rustc-demangle", + "scroll", + "thiserror", + "winapi", +] + [[package]] name = "spin" version = "0.5.2" @@ -3097,7 +3296,7 @@ dependencies = [ "borsh", "num-derive", "num-traits", - "solana-program 1.14.15 (registry+https://github.com/rust-lang/crates.io-index)", + "solana-program", "spl-token", "spl-token-2022", "thiserror", @@ -3109,7 +3308,7 @@ version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd0dc6f70db6bacea7ff25870b016a65ba1d1b6013536f08e4fd79a8f9005325" dependencies = [ - "solana-program 1.14.15 (registry+https://github.com/rust-lang/crates.io-index)", + "solana-program", ] [[package]] @@ -3123,7 +3322,7 @@ dependencies = [ "num-derive", "num-traits", "num_enum", - "solana-program 1.14.15 (registry+https://github.com/rust-lang/crates.io-index)", + "solana-program", "thiserror", ] @@ -3138,7 +3337,7 @@ dependencies = [ "num-derive", "num-traits", "num_enum", - "solana-program 1.14.15 (registry+https://github.com/rust-lang/crates.io-index)", + "solana-program", "solana-zk-token-sdk", "spl-memo", "spl-token", @@ -3591,6 +3790,12 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +[[package]] +name = "ucd-trie" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81" + [[package]] name = "unicode-bidi" version = "0.3.10" @@ -3634,6 +3839,15 @@ dependencies = [ "subtle", ] +[[package]] +name = "unreachable" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" +dependencies = [ + "void", +] + [[package]] name = "untrusted" version = "0.7.1" @@ -3678,7 +3892,7 @@ dependencies = [ "enum-iterator 0.7.0", "getset", "git2", - "rustc_version", + "rustc_version 0.4.0", "rustversion", "sysinfo", "thiserror", @@ -3691,6 +3905,12 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +[[package]] +name = "void" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" + [[package]] name = "want" version = "0.3.0" diff --git a/Cargo.toml b/Cargo.toml index dc209d4..fc5571b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,12 +4,6 @@ members = [ "rust", ] -[patch.crates-io] -solana-geyser-plugin-interface = { git = "https://github.com/rpcpool/solana-public.git", tag = "v1.14.15-geyser-block-v2" } -solana-logger = { git = "https://github.com/rpcpool/solana-public.git", tag = "v1.14.15-geyser-block-v2" } -solana-sdk = { git = "https://github.com/rpcpool/solana-public.git", tag = "v1.14.15-geyser-block-v2" } -solana-transaction-status = { git = "https://github.com/rpcpool/solana-public.git", tag = "v1.14.15-geyser-block-v2" } - [profile.release] debug = true lto = true diff --git a/ci/rust-version.sh b/ci/rust-version.sh index 9e792aa..554e713 100755 --- a/ci/rust-version.sh +++ b/ci/rust-version.sh @@ -23,7 +23,7 @@ if [[ -n $RUST_STABLE_VERSION ]]; then stable_version="$RUST_STABLE_VERSION" else - stable_version=1.60.0 + stable_version=1.66.1 fi if [[ -n $RUST_NIGHTLY_VERSION ]]; then @@ -91,7 +91,7 @@ export rust_nightly_docker_image=solanalabs/rust-nightly:"$nightly_version" if [[ -n $RUST_STABLE_VERSION ]]; then stable_version="$RUST_STABLE_VERSION" else - stable_version=1.60.0 + stable_version=1.66.1 fi if [[ -n $RUST_NIGHTLY_VERSION ]]; then diff --git a/golang/Makefile b/golang/Makefile index 981057b..edaa50c 100644 --- a/golang/Makefile +++ b/golang/Makefile @@ -1,2 +1,2 @@ -protoc: - protoc --go_out=./proto --go_opt=paths=source_relative --go-grpc_out=./proto --go-grpc_opt=paths=source_relative --proto_path ../proto/ ../proto/*.proto +protoc: + protoc --go_out=./proto --go_opt=paths=source_relative --go-grpc_out=./proto --go-grpc_opt=paths=source_relative --proto_path ../proto/ ../proto/*.proto diff --git a/golang/README.md b/golang/README.md index 3e62304..1475fe2 100644 --- a/golang/README.md +++ b/golang/README.md @@ -18,4 +18,17 @@ go1.17 run ./cmd/grpc-client/ -endpoint http://api.rpcpool.com:80 -x-token solana.storage.ConfirmedBlock.ConfirmedTransaction + 15, // 1: solana.storage.ConfirmedBlock.ConfirmedBlock.rewards:type_name -> solana.storage.ConfirmedBlock.Reward + 17, // 2: solana.storage.ConfirmedBlock.ConfirmedBlock.block_time:type_name -> solana.storage.ConfirmedBlock.UnixTimestamp + 18, // 3: solana.storage.ConfirmedBlock.ConfirmedBlock.block_height:type_name -> solana.storage.ConfirmedBlock.BlockHeight + 3, // 4: solana.storage.ConfirmedBlock.ConfirmedTransaction.transaction:type_name -> solana.storage.ConfirmedBlock.Transaction + 7, // 5: solana.storage.ConfirmedBlock.ConfirmedTransaction.meta:type_name -> solana.storage.ConfirmedBlock.TransactionStatusMeta + 4, // 6: solana.storage.ConfirmedBlock.Transaction.message:type_name -> solana.storage.ConfirmedBlock.Message + 5, // 7: solana.storage.ConfirmedBlock.Message.header:type_name -> solana.storage.ConfirmedBlock.MessageHeader + 11, // 8: solana.storage.ConfirmedBlock.Message.instructions:type_name -> solana.storage.ConfirmedBlock.CompiledInstruction + 6, // 9: solana.storage.ConfirmedBlock.Message.address_table_lookups:type_name -> solana.storage.ConfirmedBlock.MessageAddressTableLookup + 8, // 10: solana.storage.ConfirmedBlock.TransactionStatusMeta.err:type_name -> solana.storage.ConfirmedBlock.TransactionError + 9, // 11: solana.storage.ConfirmedBlock.TransactionStatusMeta.inner_instructions:type_name -> solana.storage.ConfirmedBlock.InnerInstructions + 12, // 12: solana.storage.ConfirmedBlock.TransactionStatusMeta.pre_token_balances:type_name -> solana.storage.ConfirmedBlock.TokenBalance + 12, // 13: solana.storage.ConfirmedBlock.TransactionStatusMeta.post_token_balances:type_name -> solana.storage.ConfirmedBlock.TokenBalance + 15, // 14: solana.storage.ConfirmedBlock.TransactionStatusMeta.rewards:type_name -> solana.storage.ConfirmedBlock.Reward + 14, // 15: solana.storage.ConfirmedBlock.TransactionStatusMeta.return_data:type_name -> solana.storage.ConfirmedBlock.ReturnData + 10, // 16: solana.storage.ConfirmedBlock.InnerInstructions.instructions:type_name -> solana.storage.ConfirmedBlock.InnerInstruction + 13, // 17: solana.storage.ConfirmedBlock.TokenBalance.ui_token_amount:type_name -> solana.storage.ConfirmedBlock.UiTokenAmount + 0, // 18: solana.storage.ConfirmedBlock.Reward.reward_type:type_name -> solana.storage.ConfirmedBlock.RewardType + 15, // 19: solana.storage.ConfirmedBlock.Rewards.rewards:type_name -> solana.storage.ConfirmedBlock.Reward + 20, // [20:20] is the sub-list for method output_type + 20, // [20:20] is the sub-list for method input_type + 20, // [20:20] is the sub-list for extension type_name + 20, // [20:20] is the sub-list for extension extendee + 0, // [0:20] is the sub-list for field type_name +} + +func init() { file_solana_storage_v1_15_2_proto_init() } +func file_solana_storage_v1_15_2_proto_init() { + if File_solana_storage_v1_15_2_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_solana_storage_v1_15_2_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfirmedBlock); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_solana_storage_v1_15_2_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfirmedTransaction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_solana_storage_v1_15_2_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Transaction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_solana_storage_v1_15_2_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Message); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_solana_storage_v1_15_2_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MessageHeader); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_solana_storage_v1_15_2_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MessageAddressTableLookup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_solana_storage_v1_15_2_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TransactionStatusMeta); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_solana_storage_v1_15_2_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TransactionError); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_solana_storage_v1_15_2_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InnerInstructions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_solana_storage_v1_15_2_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InnerInstruction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_solana_storage_v1_15_2_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CompiledInstruction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_solana_storage_v1_15_2_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TokenBalance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_solana_storage_v1_15_2_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UiTokenAmount); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_solana_storage_v1_15_2_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReturnData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_solana_storage_v1_15_2_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Reward); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_solana_storage_v1_15_2_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Rewards); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_solana_storage_v1_15_2_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UnixTimestamp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_solana_storage_v1_15_2_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BlockHeight); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_solana_storage_v1_15_2_proto_msgTypes[6].OneofWrappers = []interface{}{} + file_solana_storage_v1_15_2_proto_msgTypes[9].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_solana_storage_v1_15_2_proto_rawDesc, + NumEnums: 1, + NumMessages: 18, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_solana_storage_v1_15_2_proto_goTypes, + DependencyIndexes: file_solana_storage_v1_15_2_proto_depIdxs, + EnumInfos: file_solana_storage_v1_15_2_proto_enumTypes, + MessageInfos: file_solana_storage_v1_15_2_proto_msgTypes, + }.Build() + File_solana_storage_v1_15_2_proto = out.File + file_solana_storage_v1_15_2_proto_rawDesc = nil + file_solana_storage_v1_15_2_proto_goTypes = nil + file_solana_storage_v1_15_2_proto_depIdxs = nil +} diff --git a/proto/geyser.proto b/proto/geyser.proto index e67bc8e..1d2fc52 100644 --- a/proto/geyser.proto +++ b/proto/geyser.proto @@ -1,6 +1,6 @@ syntax = "proto3"; -import public "solana-storage-v1.14.13.proto"; +import public "solana-storage-v1.15.2.proto"; option go_package = "github.com/rpcpool/solana-geyser-grpc/golang/proto"; diff --git a/proto/solana-storage-v1.14.13.proto b/proto/solana-storage-v1.15.2.proto similarity index 89% rename from proto/solana-storage-v1.14.13.proto rename to proto/solana-storage-v1.15.2.proto index 4cf640e..7514566 100644 --- a/proto/solana-storage-v1.14.13.proto +++ b/proto/solana-storage-v1.15.2.proto @@ -74,7 +74,18 @@ message TransactionError { message InnerInstructions { uint32 index = 1; - repeated CompiledInstruction instructions = 2; + repeated InnerInstruction instructions = 2; +} + +message InnerInstruction { + uint32 program_id_index = 1; + bytes accounts = 2; + bytes data = 3; + + // Invocation stack height of an inner instruction. + // Available since Solana v1.14.6 + // Set to `None` for txs executed on earlier versions. + optional uint32 stack_height = 4; } message CompiledInstruction { diff --git a/rust-toolchain.toml b/rust-toolchain.toml index e611517..807090b 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,5 +1,5 @@ [toolchain] -channel = "1.60.0" +channel = "1.66.1" components = ["clippy", "rustfmt"] targets = [] profile = "minimal" diff --git a/rust/client/client.rs b/rust/client/client.rs index a8c137f..2f1f75e 100644 --- a/rust/client/client.rs +++ b/rust/client/client.rs @@ -1,7 +1,6 @@ use { backoff::{future::retry, ExponentialBackoff}, clap::Parser, - env_logger, futures::stream::{once, StreamExt}, log::{error, info, warn}, solana_geyser_grpc::proto::{ @@ -323,14 +322,9 @@ mod tests { async fn test_channel_invalid_token_some() { let endpoint = "http://127.0.0.1:10000".to_owned(); let x_token = "123".to_owned(); - let res: Result = RetryChannel::new(endpoint, Some(x_token.clone())); + let res: Result = RetryChannel::new(endpoint, Some(x_token)); assert!(res.is_err()); - - if let Err(Error::XToken(_)) = res { - assert!(true); - } else { - assert!(false); - } + assert!(matches!(res, Err(Error::XToken(_)))); } #[tokio::test] diff --git a/solana-geyser-grpc/Cargo.toml b/solana-geyser-grpc/Cargo.toml index 89c4889..0ea10cc 100644 --- a/solana-geyser-grpc/Cargo.toml +++ b/solana-geyser-grpc/Cargo.toml @@ -23,10 +23,10 @@ prometheus = "0.13.2" prost = "0.11.0" serde = { version = "1.0.145", features = ["derive"] } serde_json = "1.0.86" -solana-geyser-plugin-interface = "=1.14.15" -solana-logger = "=1.14.15" -solana-sdk = "=1.14.15" -solana-transaction-status = "=1.14.15" +solana-geyser-plugin-interface = "=1.15.2" +solana-logger = "=1.15.2" +solana-sdk = "=1.15.2" +solana-transaction-status = "=1.15.2" tokio = { version = "1.21.2", features = ["rt-multi-thread", "macros", "time"] } tokio-stream = "0.1.11" tonic = { version = "0.8.2", features = ["gzip", "tls", "tls-roots"] } diff --git a/solana-geyser-grpc/src/grpc.rs b/solana-geyser-grpc/src/grpc.rs index aeb1f9c..7d24583 100644 --- a/solana-geyser-grpc/src/grpc.rs +++ b/solana-geyser-grpc/src/grpc.rs @@ -152,7 +152,7 @@ pub struct MessageBlock { pub transactions: Vec, } -impl<'a> From<(MessageBlockMeta, Vec)> for MessageBlock { +impl From<(MessageBlockMeta, Vec)> for MessageBlock { fn from((blockinfo, transactions): (MessageBlockMeta, Vec)) -> Self { Self { parent_slot: blockinfo.parent_slot, diff --git a/solana-geyser-grpc/src/proto.rs b/solana-geyser-grpc/src/proto.rs index 0819268..181dbb3 100644 --- a/solana-geyser-grpc/src/proto.rs +++ b/solana-geyser-grpc/src/proto.rs @@ -28,7 +28,8 @@ mod convert { transaction_context::TransactionReturnData, }, solana_transaction_status::{ - InnerInstructions, Reward, RewardType, TransactionStatusMeta, TransactionTokenBalance, + InnerInstruction, InnerInstructions, Reward, RewardType, TransactionStatusMeta, + TransactionTokenBalance, }, }; @@ -192,6 +193,17 @@ mod convert { } } + impl From<&InnerInstruction> for super::InnerInstruction { + fn from(value: &InnerInstruction) -> Self { + Self { + program_id_index: value.instruction.program_id_index as u32, + accounts: value.instruction.accounts.clone(), + data: value.instruction.data.clone(), + stack_height: value.stack_height, + } + } + } + impl From<&TransactionTokenBalance> for super::TokenBalance { fn from(value: &TransactionTokenBalance) -> Self { Self {