From a676223b7c9f880f4d4b3c920d971c4498b6bd10 Mon Sep 17 00:00:00 2001 From: Arrowana Date: Sun, 19 Jul 2026 16:58:07 +1000 Subject: [PATCH 1/2] chore: Update solana crates and use low bloat crates --- Anchor.toml | 6 +- Cargo.lock | 7660 ++++++----------- Cargo.toml | 37 +- order-engine-sdk/Cargo.toml | 25 +- order-engine-sdk/src/fill.rs | 50 +- order-engine-sdk/src/transaction.rs | 10 +- programs/order-engine/Cargo.toml | 20 +- .../order-engine/src/instructions/fill.rs | 105 +- programs/order-engine/src/lib.rs | 4 +- programs/order-engine/tests/test_fill.rs | 561 +- rust-toolchain.toml | 2 +- server-example/Cargo.toml | 6 +- server-example/src/server.rs | 9 +- squads-sdk/Cargo.toml | 10 +- squads-sdk/examples/wrap_and_unwrap.rs | 14 +- squads-sdk/src/accounts.rs | 6 +- squads-sdk/src/config.rs | 2 +- squads-sdk/src/error.rs | 8 +- squads-sdk/src/lib.rs | 26 +- squads-sdk/src/pda.rs | 4 +- squads-sdk/src/serialize.rs | 6 +- squads-sdk/src/settings.rs | 2 +- squads-sdk/src/transaction.rs | 13 +- squads-sdk/src/unwrap.rs | 29 +- squads-sdk/src/wrap.rs | 26 +- 25 files changed, 3101 insertions(+), 5540 deletions(-) diff --git a/Anchor.toml b/Anchor.toml index b106988..311afea 100644 --- a/Anchor.toml +++ b/Anchor.toml @@ -1,6 +1,6 @@ [toolchain] -solana_version = "2.0.19" -anchor_version = "0.30.1-4cdb0ebe8f613f7dbbd5c4b00571139b2517898f" +solana_version = "4.0.1" +anchor_version = "1.1.2" [features] seeds = false @@ -11,4 +11,4 @@ url = "https://api.apr.dev" [provider] cluster = "mainnet" -wallet = "~/.config/solana/id.json" \ No newline at end of file +wallet = "~/.config/solana/id.json" diff --git a/Cargo.lock b/Cargo.lock index 297c237..d29ec70 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3,19 +3,20 @@ version = 4 [[package]] -name = "addr2line" -version = "0.24.2" +name = "Inflector" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" dependencies = [ - "gimli", + "lazy_static", + "regex", ] [[package]] name = "adler2" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aead" @@ -23,7 +24,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" dependencies = [ - "crypto-common", + "crypto-common 0.1.7", "generic-array", ] @@ -35,7 +36,7 @@ checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", "cipher", - "cpufeatures", + "cpufeatures 0.2.17", ] [[package]] @@ -55,68 +56,28 @@ dependencies = [ [[package]] name = "agave-feature-set" -version = "2.2.7" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "973a83d0d66d1f04647d1146a07736864f0742300b56bf2a5aadf5ce7b22fe47" +checksum = "d4790979fc2a3c1c494c9cb84e8b514da4b8c6a992a460a077b31b07657606f8" dependencies = [ "ahash", "solana-epoch-schedule", - "solana-feature-set-interface", "solana-hash", - "solana-pubkey", + "solana-keypair", + "solana-pubkey 4.2.0", "solana-sha256-hasher", -] - -[[package]] -name = "agave-precompiles" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "591ddfc881b44f1eb740b5f6b64c953ba46b003cf0cd49d56268bc70594f655d" -dependencies = [ - "agave-feature-set", - "bincode", - "bytemuck", - "digest 0.10.7", - "ed25519-dalek", - "lazy_static", - "libsecp256k1", - "openssl", - "sha3", - "solana-ed25519-program", - "solana-message", - "solana-precompile-error", - "solana-pubkey", - "solana-sdk-ids", - "solana-secp256k1-program", - "solana-secp256r1-program", + "solana-svm-feature-set", ] [[package]] name = "agave-reserved-account-keys" -version = "2.2.7" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "498ae700a5abcfe54d26333c3c1e58c729150d30166940e1f38eafbfe595237e" +checksum = "ea33710f30b13f62e6d73dbbb114117029d29539cb9439c30ef39a0736f935cc" dependencies = [ "agave-feature-set", - "lazy_static", - "solana-pubkey", - "solana-sdk-ids", -] - -[[package]] -name = "agave-transaction-view" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe519820242ff25cf40fbd44b7c3ee585674de332a1f43fc2a0923975194c472" -dependencies = [ - "solana-hash", - "solana-message", - "solana-packet", - "solana-pubkey", + "solana-pubkey 4.2.0", "solana-sdk-ids", - "solana-short-vec", - "solana-signature", - "solana-svm-transaction", ] [[package]] @@ -126,7 +87,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", - "getrandom 0.3.3", + "getrandom 0.3.4", "once_cell", "version_check", "zerocopy", @@ -134,9 +95,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] @@ -149,129 +110,131 @@ checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" [[package]] name = "alloc-stdlib" -version = "0.2.2" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +checksum = "0e76a019e91224d279006ff972f1e984179a6e9feb050adba6ce8274aef23195" dependencies = [ "alloc-no-stdlib", ] +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + [[package]] name = "anchor-attribute-access-control" -version = "0.31.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f70fd141a4d18adf11253026b32504f885447048c7494faf5fa83b01af9c0cf" +checksum = "9fc4b6b3c3f3e37a0b7d537e03a36bfb0415ee11b4443fa4190437cf26a874b6" dependencies = [ - "anchor-syn", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.119", ] [[package]] name = "anchor-attribute-account" -version = "0.31.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "715a261c57c7679581e06f07a74fa2af874ac30f86bd8ea07cca4a7e5388a064" +checksum = "48e8b1468add67e6a69732883e58d23a18be51538994adaae69c9b3fe967e6be" dependencies = [ "anchor-syn", - "bs58", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.119", ] [[package]] name = "anchor-attribute-constant" -version = "0.31.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "730d6df8ae120321c5c25e0779e61789e4b70dc8297102248902022f286102e4" +checksum = "80e1e3ade39ba05716ddc3b792859d838cccf43f5f4913ae8a163de7a2ed7f7e" dependencies = [ "anchor-syn", "quote", - "syn 1.0.109", + "syn 2.0.119", ] [[package]] name = "anchor-attribute-error" -version = "0.31.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27e6e449cc3a37b2880b74dcafb8e5a17b954c0e58e376432d7adc646fb333ef" +checksum = "d4e026f0ff09d740fd1821bbf97d9ac649c123ff92f04b9197b002494af4acf1" dependencies = [ "anchor-syn", "quote", - "syn 1.0.109", + "syn 2.0.119", ] [[package]] name = "anchor-attribute-event" -version = "0.31.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7710e4c54adf485affcd9be9adec5ef8846d9c71d7f31e16ba86ff9fc1dd49f" +checksum = "7aafc8e26eb16a0c4129661f6857c42f301859fc2ee10f4e5287d571f0ea07f5" dependencies = [ "anchor-syn", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.119", ] [[package]] name = "anchor-attribute-program" -version = "0.31.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ecfd49b2aeadeb32f35262230db402abed76ce87e27562b34f61318b2ec83c" +checksum = "6844e657ffe049b073389efb843bb281d08579b8a47ef294365f729b35ed3dca" dependencies = [ "anchor-lang-idl", "anchor-syn", "anyhow", - "bs58", "heck 0.3.3", "proc-macro2", "quote", - "serde_json", - "syn 1.0.109", + "syn 2.0.119", ] [[package]] name = "anchor-derive-accounts" -version = "0.31.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be89d160793a88495af462a7010b3978e48e30a630c91de47ce2c1d3cb7a6149" +checksum = "2c87a6769d7cf2deed8d3351d6d1d8aa05a3a07751f1418ab6b34aaa307bd34b" dependencies = [ "anchor-syn", "quote", - "syn 1.0.109", + "syn 2.0.119", ] [[package]] name = "anchor-derive-serde" -version = "0.31.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abc6ee78acb7bfe0c2dd2abc677aaa4789c0281a0c0ef01dbf6fe85e0fd9e6e4" +checksum = "1f014d99530ae48a81f710f150688c5c542fdeee3af8998010e147a64d7a697c" dependencies = [ "anchor-syn", - "borsh-derive-internal", + "proc-macro-crate", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.119", ] [[package]] name = "anchor-derive-space" -version = "0.31.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134a01c0703f6fd355a0e472c033f6f3e41fac1ef6e370b20c50f4c8d022cea7" +checksum = "33ba30c2d844e7440c491ad5f3e25f93115c6c9319df480eda460ce96030832b" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.119", ] [[package]] name = "anchor-lang" -version = "0.31.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6bab117055905e930f762c196e08f861f8dfe7241b92cee46677a3b15561a0a" +checksum = "aa6708f356398752b8d7a08fb701c9c17395e103786fb1b33615a7267a6f4774" dependencies = [ "anchor-attribute-access-control", "anchor-attribute-account", @@ -282,20 +245,55 @@ dependencies = [ "anchor-derive-accounts", "anchor-derive-serde", "anchor-derive-space", + "anchor-lang-error", "anchor-lang-idl", "base64 0.21.7", "bincode", - "borsh 0.10.4", + "borsh", "bytemuck", - "solana-program", + "const-crypto", + "solana-account-info", + "solana-clock", + "solana-cpi", + "solana-define-syscall 3.0.0", + "solana-feature-gate-interface 3.1.0", + "solana-instruction", + "solana-instructions-sysvar 3.0.1", + "solana-invoke", + "solana-loader-v3-interface 6.1.1", + "solana-msg", + "solana-program-entrypoint", + "solana-program-error", + "solana-program-memory", + "solana-program-option", + "solana-program-pack", + "solana-pubkey 3.0.0", + "solana-sdk-ids", + "solana-stake-interface 2.0.2", + "solana-system-interface 2.0.0", + "solana-sysvar 3.1.1", + "solana-sysvar-id", "thiserror 1.0.69", ] +[[package]] +name = "anchor-lang-error" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20760a8d5b7ddd1aea7a347c43c702ea4e962ccb7b9908c952e4b372b2d9e1f7" +dependencies = [ + "anchor-attribute-error", + "borsh", + "solana-msg", + "solana-program-error", + "solana-pubkey 3.0.0", +] + [[package]] name = "anchor-lang-idl" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e8599d21995f68e296265aa5ab0c3cef582fd58afec014d01bd0bce18a4418" +checksum = "47914b4290ae2bdf4ec203aa821e6eba86d7c78ef497918938038dcc6919f953" dependencies = [ "anchor-lang-idl-spec", "anyhow", @@ -318,24 +316,24 @@ dependencies = [ [[package]] name = "anchor-spl" -version = "0.31.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c08cb5d762c0694f74bd02c9a5b04ea53cefc496e2c27b3234acffca5cd076b" +checksum = "2f698a45d424351ff695df413adcb3fa603f2c791a0b4a937ebcd2e93a052c77" dependencies = [ "anchor-lang", - "spl-associated-token-account", + "spl-associated-token-account-interface", "spl-pod", - "spl-token 7.0.0", - "spl-token-2022 6.0.0", - "spl-token-group-interface 0.5.0", - "spl-token-metadata-interface 0.6.0", + "spl-token-2022-interface 2.1.0", + "spl-token-group-interface", + "spl-token-interface 2.0.0", + "spl-token-metadata-interface 0.8.0", ] [[package]] name = "anchor-syn" -version = "0.31.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dc7a6d90cc643df0ed2744862cdf180587d1e5d28936538c18fc8908489ed67" +checksum = "f8f6c61ef5b47db60700087bb6e419284b3461ba8f59040e1f6827aa9e9a5bc4" dependencies = [ "anyhow", "bs58", @@ -344,32 +342,25 @@ dependencies = [ "proc-macro2", "quote", "serde", - "serde_json", - "sha2 0.10.9", - "syn 1.0.109", + "sha2 0.11.0", + "syn 2.0.119", "thiserror 1.0.69", ] [[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - -[[package]] -name = "android_system_properties" -version = "0.1.5" +name = "ansi_term" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" dependencies = [ - "libc", + "winapi", ] [[package]] name = "anstream" -version = "0.6.18" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" dependencies = [ "anstyle", "anstyle-parse", @@ -382,77 +373,74 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.10" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" [[package]] name = "anstyle-parse" -version = "0.2.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.2" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.7" +version = "3.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", - "once_cell", - "windows-sys 0.59.0", + "once_cell_polyfill", + "windows-sys 0.61.2", ] [[package]] name = "anyhow" -version = "1.0.98" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" +checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470" [[package]] -name = "aquamarine" -version = "0.6.0" +name = "arbitrary" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f50776554130342de4836ba542aa85a4ddb361690d7e8df13774d7284c3d5c2" +checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" dependencies = [ - "include_dir", - "itertools 0.10.5", - "proc-macro-error2", - "proc-macro2", - "quote", - "syn 2.0.101", + "derive_arbitrary", ] [[package]] -name = "arbitrary" -version = "1.4.1" +name = "ark-bn254" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" +checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" dependencies = [ - "derive_arbitrary", + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-std 0.4.0", ] [[package]] name = "ark-bn254" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" +checksum = "d69eab57e8d2663efa5c63135b2af4f396d66424f88954c21104125ab6b3e6bc" dependencies = [ - "ark-ec", - "ark-ff", - "ark-std", + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-std 0.5.0", ] [[package]] @@ -461,10 +449,10 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" dependencies = [ - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", + "ark-ff 0.4.2", + "ark-poly 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", "derivative", "hashbrown 0.13.2", "itertools 0.10.5", @@ -472,26 +460,67 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ark-ec" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43d68f2d516162846c1238e755a7c4d131b892b70cc70c471a8e3ca3ed818fce" +dependencies = [ + "ahash", + "ark-ff 0.5.0", + "ark-poly 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "educe", + "fnv", + "hashbrown 0.15.5", + "itertools 0.13.0", + "num-bigint 0.4.8", + "num-integer", + "num-traits", + "zeroize", +] + [[package]] name = "ark-ff" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" dependencies = [ - "ark-ff-asm", - "ark-ff-macros", - "ark-serialize", - "ark-std", + "ark-ff-asm 0.4.2", + "ark-ff-macros 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", "derivative", "digest 0.10.7", "itertools 0.10.5", - "num-bigint 0.4.6", + "num-bigint 0.4.8", "num-traits", "paste", "rustc_version", "zeroize", ] +[[package]] +name = "ark-ff" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a177aba0ed1e0fbb62aa9f6d0502e9b46dad8c2eab04c14258a1212d2557ea70" +dependencies = [ + "ark-ff-asm 0.5.0", + "ark-ff-macros 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "arrayvec", + "digest 0.10.7", + "educe", + "itertools 0.13.0", + "num-bigint 0.4.8", + "num-traits", + "paste", + "zeroize", +] + [[package]] name = "ark-ff-asm" version = "0.4.2" @@ -502,42 +531,93 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "ark-ff-asm" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" +dependencies = [ + "quote", + "syn 2.0.119", +] + [[package]] name = "ark-ff-macros" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" dependencies = [ - "num-bigint 0.4.6", + "num-bigint 0.4.8", "num-traits", "proc-macro2", "quote", "syn 1.0.109", ] +[[package]] +name = "ark-ff-macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09be120733ee33f7693ceaa202ca41accd5653b779563608f1234f78ae07c4b3" +dependencies = [ + "num-bigint 0.4.8", + "num-traits", + "proc-macro2", + "quote", + "syn 2.0.119", +] + [[package]] name = "ark-poly" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" dependencies = [ - "ark-ff", - "ark-serialize", - "ark-std", + "ark-ff 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", "derivative", "hashbrown 0.13.2", ] +[[package]] +name = "ark-poly" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "579305839da207f02b89cd1679e50e67b4331e2f9294a57693e5051b7703fe27" +dependencies = [ + "ahash", + "ark-ff 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "educe", + "fnv", + "hashbrown 0.15.5", +] + [[package]] name = "ark-serialize" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" dependencies = [ - "ark-serialize-derive", - "ark-std", + "ark-serialize-derive 0.4.2", + "ark-std 0.4.0", + "digest 0.10.7", + "num-bigint 0.4.8", +] + +[[package]] +name = "ark-serialize" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f4d068aaf107ebcd7dfb52bc748f8030e0fc930ac8e360146ca54c1203088f7" +dependencies = [ + "ark-serialize-derive 0.5.0", + "ark-std 0.5.0", + "arrayvec", "digest 0.10.7", - "num-bigint 0.4.6", + "num-bigint 0.4.8", ] [[package]] @@ -551,6 +631,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "ark-serialize-derive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + [[package]] name = "ark-std" version = "0.4.0" @@ -558,7 +649,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", - "rand 0.8.5", + "rand 0.8.7", +] + +[[package]] +name = "ark-std" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" +dependencies = [ + "num-traits", + "rand 0.8.7", ] [[package]] @@ -569,9 +670,9 @@ checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" -version = "0.7.6" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +checksum = "d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56" [[package]] name = "ascii" @@ -579,45 +680,6 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" -[[package]] -name = "asn1-rs" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f6fd5ddaf0351dff5b8da21b2fb4ff8e08ddd02857f0bf69c47639106c0fff0" -dependencies = [ - "asn1-rs-derive", - "asn1-rs-impl", - "displaydoc", - "nom", - "num-traits", - "rusticata-macros", - "thiserror 1.0.69", - "time", -] - -[[package]] -name = "asn1-rs-derive" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", - "synstructure 0.12.6", -] - -[[package]] -name = "asn1-rs-impl" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "assert_matches" version = "1.5.0" @@ -647,9 +709,9 @@ dependencies = [ [[package]] name = "async-channel" -version = "2.3.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" +checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" dependencies = [ "concurrent-queue", "event-listener-strategy", @@ -659,23 +721,21 @@ dependencies = [ [[package]] name = "async-compression" -version = "0.4.23" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b37fc50485c4f3f736a4fb14199f6d5f5ba008d7f28fe710306c92780f004c07" +checksum = "e79b3f8a79cccc2898f31920fc69f304859b3bd567490f75ebf51ae1c792a9ac" dependencies = [ - "brotli", - "flate2", - "futures-core", - "memchr", + "compression-codecs", + "compression-core", "pin-project-lite", "tokio", ] [[package]] name = "async-executor" -version = "1.13.2" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb812ffb58524bdd10860d7d974e2f01cc0950c2438a74ee5ec2e2280c6c4ffa" +checksum = "c96bf972d85afc50bf5ab8fe2d54d1586b4e0b46c97c50a0c9e71e2f7bcd812a" dependencies = [ "async-task", "concurrent-queue", @@ -691,7 +751,7 @@ version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c" dependencies = [ - "async-channel 2.3.1", + "async-channel 2.5.0", "async-executor", "async-io", "async-lock", @@ -703,39 +763,38 @@ dependencies = [ [[package]] name = "async-io" -version = "2.4.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a2b323ccce0a1d90b449fd71f2a06ca7faa7c54c2751f06c9bd851fc061059" +checksum = "456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc" dependencies = [ - "async-lock", + "autocfg", "cfg-if", "concurrent-queue", "futures-io", "futures-lite", "parking", "polling", - "rustix 0.38.44", + "rustix", "slab", - "tracing", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "async-lock" -version = "3.4.0" +version = "3.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" +checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311" dependencies = [ - "event-listener 5.4.0", + "event-listener 5.4.1", "event-listener-strategy", "pin-project-lite", ] [[package]] name = "async-std" -version = "1.13.1" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "730294c1c08c2e0f85759590518f6333f0d5a0a766a27d519c1b244c3dfd8a24" +checksum = "2c8e079a4ab67ae52b7403632e4618815d6db36d2a010cfe41b02c1b1578f93b" dependencies = [ "async-attributes", "async-channel 1.9.0", @@ -766,13 +825,13 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.88" +version = "0.1.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" +checksum = "ae36dc4177970ef04fde5178d3e2429882def40e57a451f919c098f72baa6cec" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 3.0.0", ] [[package]] @@ -781,37 +840,26 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", -] - [[package]] name = "autocfg" -version = "1.4.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" [[package]] name = "axum" -version = "0.8.4" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "021e862c184ae977658b36c4500f7feac3221ca5da43e3f25bd04ab6c79a29b5" +checksum = "31b698c5f9a010f6573133b09e0de5408834d0c82f8d7475a89fc1867a71cd90" dependencies = [ "axum-core", "bytes", "form_urlencoded", "futures-util", - "http 1.3.1", - "http-body 1.0.1", + "http", + "http-body", "http-body-util", - "hyper 1.6.0", + "hyper", "hyper-util", "itoa", "matchit", @@ -819,12 +867,11 @@ dependencies = [ "mime", "percent-encoding", "pin-project-lite", - "rustversion", - "serde", + "serde_core", "serde_json", "serde_path_to_error", "serde_urlencoded", - "sync_wrapper 1.0.2", + "sync_wrapper", "tokio", "tower", "tower-layer", @@ -834,19 +881,18 @@ dependencies = [ [[package]] name = "axum-core" -version = "0.5.2" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68464cd0412f486726fb3373129ef5d2993f90c34bc2bc1c1e9943b2f4fc7ca6" +checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1" dependencies = [ "bytes", "futures-core", - "http 1.3.1", - "http-body 1.0.1", + "http", + "http-body", "http-body-util", "mime", "pin-project-lite", - "rustversion", - "sync_wrapper 1.0.2", + "sync_wrapper", "tower-layer", "tower-service", "tracing", @@ -854,52 +900,31 @@ dependencies = [ [[package]] name = "axum-extra" -version = "0.10.1" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45bf463831f5131b7d3c756525b305d40f1185b688565648a92e1392ca35713d" +checksum = "9963ff19f40c6102c76756ef0a46004c0d58957d87259fc9208ff8441c12ab96" dependencies = [ "axum", "axum-core", "bytes", "futures-util", - "http 1.3.1", - "http-body 1.0.1", + "http", + "http-body", "http-body-util", "mime", "pin-project-lite", "rustversion", - "serde", - "tower", + "serde_core", "tower-layer", "tower-service", + "tracing", ] [[package]] -name = "backtrace" -version = "0.3.75" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" -dependencies = [ - "addr2line", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", - "windows-targets 0.52.6", -] - -[[package]] -name = "base64" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" - -[[package]] -name = "base64" -version = "0.13.1" +name = "base16ct" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" [[package]] name = "base64" @@ -913,6 +938,12 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "base64ct" +version = "1.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" + [[package]] name = "bincode" version = "1.3.3" @@ -924,40 +955,35 @@ dependencies = [ [[package]] name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.9.1" +version = "2.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" -dependencies = [ - "serde", -] +checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da" [[package]] -name = "bitmaps" -version = "2.1.0" +name = "bitvec" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" +checksum = "ddcec3d12c579d40898fe0a9a358a803c23e9c52ca3c425707f81c9436211837" dependencies = [ - "typenum", + "funty", + "radium", + "tap", + "wyz", ] [[package]] name = "blake3" -version = "1.8.2" +version = "1.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" +checksum = "0aa83c34e62843d924f905e0f5c866eb1dd6545fc4d719e803d9ba6030371fce" dependencies = [ "arrayref", "arrayvec", "cc", "cfg-if", "constant_time_eq", - "digest 0.10.7", + "cpufeatures 0.3.0", + "digest 0.11.3", ] [[package]] @@ -978,13 +1004,22 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2f6c7dbe95a6ed67ad9f18e57daf93a2f034c524b99fd2b76d18fdfeb6660aa" +dependencies = [ + "hybrid-array", +] + [[package]] name = "blocking" -version = "1.6.1" +version = "1.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" +checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" dependencies = [ - "async-channel 2.3.1", + "async-channel 2.5.0", "async-task", "futures-io", "futures-lite", @@ -992,78 +1027,62 @@ dependencies = [ ] [[package]] -name = "borsh" -version = "0.10.4" +name = "blst" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "115e54d64eb62cdebad391c19efc9dce4981c690c85a33a12199d99bb9546fee" +checksum = "dcdb4c7013139a150f9fc55d123186dbfaba0d912817466282c73ac49e71fb45" dependencies = [ - "borsh-derive 0.10.4", - "hashbrown 0.13.2", + "cc", + "glob", + "threadpool", + "zeroize", ] [[package]] -name = "borsh" -version = "1.5.7" +name = "blstrs" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad8646f98db542e39fc66e68a20b2144f6a732636df7c2354e74645faaa433ce" +checksum = "7a8a8ed6fefbeef4a8c7b460e4110e12c5e22a5b7cf32621aae6ad650c4dcf29" dependencies = [ - "borsh-derive 1.5.7", - "cfg_aliases", + "blst", + "byte-slice-cast", + "ff", + "group", + "pairing", + "rand_core 0.6.4", + "serde", + "subtle", ] [[package]] -name = "borsh-derive" -version = "0.10.4" +name = "borsh" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "831213f80d9423998dd696e2c5345aba6be7a0bd8cd19e31c5243e13df1cef89" +checksum = "a88b7ea17d208c4193f2c1e6de3c35fe71f98c96982d5ced308bdcc749ff6e1f" dependencies = [ - "borsh-derive-internal", - "borsh-schema-derive-internal", - "proc-macro-crate 0.1.5", - "proc-macro2", - "syn 1.0.109", + "borsh-derive", + "bytes", + "cfg_aliases", ] [[package]] name = "borsh-derive" -version = "1.5.7" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdd1d3c0c2f5833f22386f252fe8ed005c7f59fdcddeef025c01b4c3b9fd9ac3" +checksum = "d8f347189c62a579b8cd5f80714efa178f52e461dc2e6d701d264f5ff22e566c" dependencies = [ "once_cell", - "proc-macro-crate 3.3.0", - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "borsh-derive-internal" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65d6ba50644c98714aa2a70d13d7df3cd75cd2b523a2b452bf010443800976b3" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "borsh-schema-derive-internal" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276691d96f063427be83e6692b86148e488ebba9f48f77788724ca027ba3b6d4" -dependencies = [ + "proc-macro-crate", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.119", ] [[package]] name = "brotli" -version = "8.0.1" +version = "8.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9991eea70ea4f293524138648e41ee89b0b2b12ddef3b255effa43c8056e0e0d" +checksum = "5cc91aac060a7a1e25823bdccbfb6af1875b88f17c6daac97894eed8207166b3" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -1072,9 +1091,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "5.0.0" +version = "5.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03" +checksum = "3a32acac15fe1967bc3986b2a6347dffc965602354ea6f450ad07e8bfd253583" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -1091,9 +1110,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.17.0" +version = "3.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" +checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" [[package]] name = "bv" @@ -1105,24 +1124,30 @@ dependencies = [ "serde", ] +[[package]] +name = "byte-slice-cast" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d" + [[package]] name = "bytemuck" -version = "1.23.0" +version = "1.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9134a6ef01ce4b366b50689c94f82c14bc72bc5d0386829828a2e2752ef7958c" +checksum = "d6aedf8ae72766347502cf3cb4f41cf5e9cc37d28bee90f1fdaaae15f9cf9424" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.9.3" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ecc273b49b3205b83d648f0690daa588925572cc5063745bfe547fe7ec8e1a1" +checksum = "f65693059b6b9c588b9f62fed1cedbf0a8b805631457ea162d68f0de186f3de5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.119", ] [[package]] @@ -1133,81 +1158,46 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.10.1" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" +checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04" dependencies = [ "serde", ] -[[package]] -name = "bzip2" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" -dependencies = [ - "bzip2-sys", - "libc", -] - -[[package]] -name = "bzip2-sys" -version = "0.1.13+1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225bff33b2141874fe80d71e07d6eec4f85c5c216453dd96388240f96e1acc14" -dependencies = [ - "cc", - "pkg-config", -] - -[[package]] -name = "caps" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190baaad529bcfbde9e1a19022c42781bdb6ff9de25721abdb8fd98c0807730b" -dependencies = [ - "libc", - "thiserror 1.0.69", -] - [[package]] name = "cargo_toml" -version = "0.19.2" +version = "0.22.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a98356df42a2eb1bd8f1793ae4ee4de48e384dd974ce5eac8eee802edb7492be" +checksum = "374b7c592d9c00c1f4972ea58390ac6b18cbb6ab79011f3bdc90a0b82ca06b77" dependencies = [ "serde", - "toml 0.8.22", + "toml", ] [[package]] name = "cc" -version = "1.2.23" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f4ac86a9e5bc1e2b3449ab9d7d3a6a405e3d1bb28d7b9be8614f55846ae3766" +checksum = "c89588d05638b5b4594a3348a2d6c20277e43a7f5c5202b05cc56888475a47b8" dependencies = [ + "find-msvc-tools", "jobserver", "libc", "shlex", ] -[[package]] -name = "cesu8" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" - [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "cfg_aliases" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" +checksum = "f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527" [[package]] name = "cfg_eval" @@ -1217,31 +1207,18 @@ checksum = "45565fc9416b9896014f5732ac776f810ee53a66730c17e4020c3ec064a8f88f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", -] - -[[package]] -name = "chrono" -version = "0.4.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" -dependencies = [ - "android-tzdata", - "iana-time-zone", - "js-sys", - "num-traits", - "serde", - "wasm-bindgen", - "windows-link", + "syn 2.0.119", ] [[package]] -name = "chrono-humanize" -version = "0.2.3" +name = "chacha20" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "799627e6b4d27827a814e837b9d8a504832086081806d45b1afa34dc982b023b" +checksum = "d524456ba66e72eb8b115ff89e01e497f8e6d11d78b70b1aa13c0fbd97540a81" dependencies = [ - "chrono", + "cfg-if", + "cpufeatures 0.3.0", + "rand_core 0.10.1", ] [[package]] @@ -1250,15 +1227,15 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ - "crypto-common", + "crypto-common 0.1.7", "inout", ] [[package]] name = "clap" -version = "4.5.38" +version = "4.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed93b9805f8ba930df42c2590f05453d5ec36cbb85d018868a5b24d31f6ac000" +checksum = "dd059f9da4f5c36b3787f65d38ccaab1cc315f07b01f89abc8359ee6a8205011" dependencies = [ "clap_builder", "clap_derive", @@ -1266,9 +1243,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.38" +version = "4.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "379026ff283facf611b0ea629334361c4211d1b12ee01024eec1591133b04120" +checksum = "f09628afdcc538b57f3c6341e9c8e9970f18e4a481690a64974d7023bd33548b" dependencies = [ "anstream", "anstyle", @@ -1278,27 +1255,33 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.32" +version = "4.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" +checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.119", ] [[package]] name = "clap_lex" -version = "0.7.4" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" + +[[package]] +name = "cmov" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" +checksum = "0c9ea0ac24bc397ab3c98583a3c9ba74fa56b09a4449bbe172b9b1ddb016027a" [[package]] name = "colorchoice" -version = "1.0.3" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" [[package]] name = "combine" @@ -1314,15 +1297,23 @@ dependencies = [ ] [[package]] -name = "combine" -version = "4.6.7" +name = "compression-codecs" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +checksum = "ce2548391e9c1929c21bf6aa2680af86fe4c1b33e6cea9ac1cfeec0bd11218cf" dependencies = [ - "bytes", + "brotli", + "compression-core", + "flate2", "memchr", ] +[[package]] +name = "compression-core" +version = "0.4.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc14f565cf027a105f7a44ccf9e5b424348421a1d8952a8fc9d499d313107789" + [[package]] name = "concurrent-queue" version = "2.5.0" @@ -1334,132 +1325,100 @@ dependencies = [ [[package]] name = "console" -version = "0.15.11" +version = "0.16.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" +checksum = "4fe5f465a4f6fee88fad41b85d990f84c835335e85b5d9e6e63e0d06d28cba7c" dependencies = [ "encode_unicode", "libc", - "once_cell", "unicode-width", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] -name = "console_error_panic_hook" -version = "0.1.7" +name = "const-crypto" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" +checksum = "1c06f1eb05f06cf2e380fdded278fbf056a38974299d77960555a311dcf91a52" dependencies = [ - "cfg-if", - "wasm-bindgen", + "keccak-const", + "sha2-const-stable", ] [[package]] -name = "console_log" -version = "0.2.2" +name = "const-oid" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89f72f65e8501878b8a004d5a1afb780987e2ce2b4532c562e367a72c57499f" -dependencies = [ - "log", - "web-sys", -] +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] -name = "constant_time_eq" -version = "0.3.1" +name = "const-oid" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" +checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" [[package]] -name = "core-foundation" -version = "0.9.4" +name = "constant_time_eq" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" -dependencies = [ - "core-foundation-sys", - "libc", -] +checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" [[package]] -name = "core-foundation" -version = "0.10.0" +name = "cpufeatures" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ - "core-foundation-sys", "libc", ] -[[package]] -name = "core-foundation-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - [[package]] name = "cpufeatures" -version = "0.2.17" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" dependencies = [ "libc", ] [[package]] name = "crc32fast" -version = "1.4.2" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ "cfg-if", ] [[package]] -name = "crossbeam-channel" -version = "0.5.15" +name = "crossbeam-utils" +version = "0.8.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" -dependencies = [ - "crossbeam-utils", -] +checksum = "61803da095bee82a81bb1a452ecc25d3b2f1416d1897eb86430c6159ef717c17" [[package]] -name = "crossbeam-deque" -version = "0.8.6" +name = "crunchy" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] -name = "crossbeam-epoch" -version = "0.9.18" +name = "crypto-bigint" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ - "crossbeam-utils", + "generic-array", + "rand_core 0.6.4", + "subtle", + "zeroize", ] -[[package]] -name = "crossbeam-utils" -version = "0.8.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" - -[[package]] -name = "crunchy" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" - [[package]] name = "crypto-common" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" dependencies = [ "generic-array", "rand_core 0.6.4", @@ -1467,13 +1426,12 @@ dependencies = [ ] [[package]] -name = "crypto-mac" -version = "0.8.0" +name = "crypto-common" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +checksum = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453" dependencies = [ - "generic-array", - "subtle", + "hybrid-array", ] [[package]] @@ -1486,16 +1444,12 @@ dependencies = [ ] [[package]] -name = "curve25519-dalek" -version = "3.2.0" +name = "ctutils" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" +checksum = "7d5515a3834141de9eafb9717ad39eea8247b5674e6066c404e8c4b365d2a29e" dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.5.1", - "subtle", - "zeroize", + "cmov", ] [[package]] @@ -1505,7 +1459,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "curve25519-dalek-derive", "digest 0.10.7", "fiat-crypto", @@ -1524,14 +1478,14 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.119", ] [[package]] name = "darling" -version = "0.20.11" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" +checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" dependencies = [ "darling_core", "darling_macro", @@ -1539,70 +1493,36 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.11" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" +checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" dependencies = [ - "fnv", "ident_case", "proc-macro2", "quote", "strsim", - "syn 2.0.101", + "syn 2.0.119", ] [[package]] name = "darling_macro" -version = "0.20.11" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" +checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" dependencies = [ "darling_core", "quote", - "syn 2.0.101", -] - -[[package]] -name = "dashmap" -version = "5.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" -dependencies = [ - "cfg-if", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core", - "rayon", -] - -[[package]] -name = "data-encoding" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" - -[[package]] -name = "der-parser" -version = "8.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbd676fbbab537128ef0278adb5576cf363cff6aa22a7b24effe97347cfab61e" -dependencies = [ - "asn1-rs", - "displaydoc", - "nom", - "num-bigint 0.4.6", - "num-traits", - "rusticata-macros", + "syn 2.0.119", ] [[package]] -name = "deranged" -version = "0.4.0" +name = "der" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ - "powerfmt", + "const-oid 0.9.6", + "zeroize", ] [[package]] @@ -1624,21 +1544,15 @@ dependencies = [ [[package]] name = "derive_arbitrary" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" +checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.119", ] -[[package]] -name = "difflib" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" - [[package]] name = "digest" version = "0.9.0" @@ -1655,183 +1569,166 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.4", - "crypto-common", + "const-oid 0.9.6", + "crypto-common 0.1.7", "subtle", ] [[package]] -name = "dir-diff" -version = "0.3.3" +name = "digest" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7ad16bf5f84253b50d6557681c58c3ab67c47c77d39fed9aeb56e947290bd10" +checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2" dependencies = [ - "walkdir", + "block-buffer 0.12.1", + "const-oid 0.10.2", + "crypto-common 0.2.2", + "ctutils", ] [[package]] name = "displaydoc" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +checksum = "1ac70aa55017e108007fbaf5aa0f54b021c98f92ff8af59d42eda9da96e3dd4f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.119", ] [[package]] -name = "dlopen2" -version = "0.5.0" +name = "dotenvy" +version = "0.15.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b4f5f101177ff01b8ec4ecc81eead416a8aa42819a2869311b3420fa114ffa" -dependencies = [ - "dlopen2_derive", - "libc", - "once_cell", - "winapi", -] +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" [[package]] -name = "dlopen2_derive" -version = "0.3.0" +name = "eager" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6cbae11b3de8fce2a456e8ea3dada226b35fe791f0dc1d360c0941f0bb681f3" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "dotenvy" -version = "0.15.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" - -[[package]] -name = "downcast" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" +checksum = "abe71d579d1812060163dff96056261deb5bf6729b100fa2e36a68b9649ba3d3" [[package]] -name = "eager" -version = "0.1.0" +name = "ecdsa" +version = "0.16.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abe71d579d1812060163dff96056261deb5bf6729b100fa2e36a68b9649ba3d3" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest 0.10.7", + "elliptic-curve", + "rfc6979", + "signature", + "spki", +] [[package]] name = "ed25519" -version = "1.5.3" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ + "pkcs8", "signature", ] [[package]] name = "ed25519-dalek" -version = "1.0.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" dependencies = [ - "curve25519-dalek 3.2.0", + "curve25519-dalek", "ed25519", - "rand 0.7.3", + "rand_core 0.6.4", "serde", - "sha2 0.9.9", - "zeroize", -] - -[[package]] -name = "ed25519-dalek-bip32" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d2be62a4061b872c8c0873ee4fc6f101ce7b889d039f019c5fa2af471a59908" -dependencies = [ - "derivation-path", - "ed25519-dalek", - "hmac 0.12.1", "sha2 0.10.9", + "subtle", + "zeroize", ] [[package]] name = "educe" -version = "0.4.23" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f0042ff8246a363dbe77d2ceedb073339e85a804b9a47636c6e016a9a32c05f" +checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.119", ] [[package]] name = "either" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +checksum = "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e" [[package]] -name = "encode_unicode" -version = "1.0.0" +name = "elliptic-curve" +version = "0.13.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest 0.10.7", + "ff", + "generic-array", + "group", + "pkcs8", + "rand_core 0.6.4", + "sec1", + "subtle", + "zeroize", +] [[package]] -name = "encoding_rs" -version = "0.8.35" +name = "encode_unicode" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" -dependencies = [ - "cfg-if", -] +checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" [[package]] name = "enum-iterator" -version = "1.5.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fd242f399be1da0a5354aa462d57b4ab2b4ee0683cc552f7c007d2d12d36e94" +checksum = "a4549325971814bda7a44061bf3fe7e487d447cba01e4220a4b454d630d7a016" dependencies = [ "enum-iterator-derive", ] [[package]] name = "enum-iterator-derive" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ab991c1362ac86c61ab6f556cff143daa22e5a15e4e189df818b2fd19fe65b" +checksum = "685adfa4d6f3d765a26bc5dbc936577de9abf756c1feeb3089b01dd395034842" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.119", ] [[package]] name = "enum-ordinalize" -version = "3.1.15" +version = "4.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bf1fa3f06bbff1ea5b1a9c7b14aa992a39657db60a2759457328d7e058f49ee" +checksum = "07f808d588c10e464ea6f7d3eaed500049eff30aaac103460f61828c2d65b3eb" dependencies = [ - "num-bigint 0.4.6", - "num-traits", - "proc-macro2", - "quote", - "syn 2.0.101", + "enum-ordinalize-derive", ] [[package]] -name = "env_logger" -version = "0.9.3" +name = "enum-ordinalize-derive" +version = "4.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" +checksum = "42e528e2d34ba8a67a1a650b86beae8ef69fc5fdb638016f386b973226590432" dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", + "proc-macro2", + "quote", + "syn 2.0.119", ] [[package]] @@ -1842,12 +1739,12 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.12" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -1858,9 +1755,9 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "event-listener" -version = "5.4.0" +version = "5.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" +checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" dependencies = [ "concurrent-queue", "parking", @@ -1873,27 +1770,15 @@ version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" dependencies = [ - "event-listener 5.4.0", + "event-listener 5.4.1", "pin-project-lite", ] -[[package]] -name = "fastbloom" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27cea6e7f512d43b098939ff4d5a5d6fe3db07971e1d05176fe26c642d33f5b8" -dependencies = [ - "getrandom 0.3.3", - "rand 0.9.1", - "siphasher 1.0.1", - "wide", -] - [[package]] name = "fastrand" -version = "2.3.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" [[package]] name = "feature-probe" @@ -1901,6 +1786,17 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da" +[[package]] +name = "ff" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" +dependencies = [ + "bitvec", + "rand_core 0.6.4", + "subtle", +] + [[package]] name = "fiat-crypto" version = "0.2.9" @@ -1908,49 +1804,44 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" [[package]] -name = "filetime" -version = "0.2.25" +name = "find-msvc-tools" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" + +[[package]] +name = "five8" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" +checksum = "23f76610e969fa1784327ded240f1e28a3fd9520c9cec93b636fcf62dd37f772" dependencies = [ - "cfg-if", - "libc", - "libredox", - "windows-sys 0.59.0", + "five8_core", ] [[package]] name = "five8_const" -version = "0.1.4" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26dec3da8bc3ef08f2c04f61eab298c3ab334523e55f076354d6d6f613799a7b" +checksum = "1a0f1728185f277989ca573a402716ae0beaaea3f76a8ff87ef9dd8fb19436c5" dependencies = [ "five8_core", ] [[package]] name = "five8_core" -version = "0.1.2" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2551bf44bc5f776c15044b9b94153a00198be06743e262afaaa61f11ac7523a5" +checksum = "059c31d7d36c43fe39d89e55711858b4da8be7eb6dabac23c7289b1a19489406" [[package]] name = "flate2" -version = "1.1.1" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" +checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" dependencies = [ "crc32fast", "miniz_oxide", -] - -[[package]] -name = "float-cmp" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" -dependencies = [ - "num-traits", + "zlib-rs", ] [[package]] @@ -1959,41 +1850,26 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ "percent-encoding", ] [[package]] -name = "fragile" -version = "2.0.1" +name = "funty" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.31" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +checksum = "a88cf1f829d945f548cf8fec32c61b1f202b6d93b45848602fc02af4b12ad218" dependencies = [ "futures-channel", "futures-core", @@ -2006,9 +1882,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.31" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +checksum = "262590f4fe6afeb0bc83be1daa64e52657fe185690a958af7f3ad0e92085c5ae" dependencies = [ "futures-core", "futures-sink", @@ -2016,15 +1892,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.31" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" +checksum = "2cd50c473c80f6d7c3670a752354b8e569b1a7cbfdc0419ec88e5edad85e0dc7" [[package]] name = "futures-executor" -version = "0.3.31" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +checksum = "6754879cc9f2c66f88c6e5c35344bb0bdb0708b0352b1201815667c7eabc7458" dependencies = [ "futures-core", "futures-task", @@ -2033,15 +1909,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.31" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" +checksum = "4577ecaa3c4f96589d473f679a71b596316f6641bc350038b962a5daf0085d7a" [[package]] name = "futures-lite" -version = "2.6.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" +checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" dependencies = [ "fastrand", "futures-core", @@ -2052,38 +1928,32 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.31" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +checksum = "2d6d3cde68c518367be28956066ddfef33813991b77a55005a69dae04bf3b10b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.119", ] [[package]] name = "futures-sink" -version = "0.3.31" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" +checksum = "e34418ac499d6305c2fb5ad0ed2f6ac998c5f8ca209b4510f7f94242c647e307" [[package]] name = "futures-task" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" - -[[package]] -name = "futures-timer" -version = "3.0.3" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" +checksum = "b231ed28831efb4a61a08580c4bc233ec56bc009f4cd8f52da2c3cb97df0c109" [[package]] name = "futures-util" -version = "0.3.31" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +checksum = "a77a90a256fce34da66415271e30f94ee91c57b04b8a2c042d9cf3220179deaa" dependencies = [ "futures-channel", "futures-core", @@ -2093,7 +1963,6 @@ dependencies = [ "futures-task", "memchr", "pin-project-lite", - "pin-utils", "slab", ] @@ -2105,63 +1974,53 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", -] - -[[package]] -name = "gethostname" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e" -dependencies = [ - "libc", - "winapi", + "zeroize", ] [[package]] name = "getrandom" -version = "0.1.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" dependencies = [ "cfg-if", "js-sys", "libc", - "wasi 0.9.0+wasi-snapshot-preview1", + "wasi", "wasm-bindgen", ] [[package]] name = "getrandom" -version = "0.2.16" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ "cfg-if", - "js-sys", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "wasm-bindgen", + "r-efi 5.3.0", + "wasip2", ] [[package]] name = "getrandom" -version = "0.3.3" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099" dependencies = [ "cfg-if", "js-sys", "libc", - "r-efi", - "wasi 0.14.2+wasi-0.2.4", + "r-efi 6.0.0", + "rand_core 0.10.1", "wasm-bindgen", ] [[package]] -name = "gimli" -version = "0.31.1" +name = "glob" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "gloo-timers" @@ -2176,49 +2035,23 @@ dependencies = [ ] [[package]] -name = "governor" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a7f542ee6b35af73b06abc0dad1c1bae89964e4e253bc4b587b91c9637867b" -dependencies = [ - "cfg-if", - "dashmap", - "futures", - "futures-timer", - "no-std-compat", - "nonzero_ext", - "parking_lot", - "portable-atomic", - "quanta", - "rand 0.8.5", - "smallvec", - "spinning_top", -] - -[[package]] -name = "h2" -version = "0.3.26" +name = "group" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http 0.2.12", - "indexmap", - "slab", - "tokio", - "tokio-util 0.7.15", - "tracing", + "ff", + "rand 0.8.7", + "rand_core 0.6.4", + "rand_xorshift", + "subtle", ] [[package]] name = "hash32" -version = "0.2.1" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" +checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" dependencies = [ "byteorder", ] @@ -2234,15 +2067,18 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.5" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ + "allocator-api2", +] [[package]] name = "hashbrown" -version = "0.15.3" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" [[package]] name = "heck" @@ -2253,12 +2089,6 @@ dependencies = [ "unicode-segmentation", ] -[[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" @@ -2267,40 +2097,9 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - -[[package]] -name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - -[[package]] -name = "hermit-abi" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" - -[[package]] -name = "histogram" -version = "0.6.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12cb882ccb290b8646e554b157ab0b71e64e8d5bef775cd66b6531e52d302669" - -[[package]] -name = "hmac" -version = "0.8.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" -dependencies = [ - "crypto-mac", - "digest 0.9.0", -] +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hmac" @@ -2311,70 +2110,36 @@ dependencies = [ "digest 0.10.7", ] -[[package]] -name = "hmac-drbg" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" -dependencies = [ - "digest 0.9.0", - "generic-array", - "hmac 0.8.1", -] - -[[package]] -name = "http" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - [[package]] name = "http" -version = "1.3.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" +checksum = "6970f50e31d6fc17d3fa27329444bfa74e196cf62e95052a3f6fee181dba6425" dependencies = [ "bytes", - "fnv", "itoa", ] [[package]] name = "http-body" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -dependencies = [ - "bytes", - "http 0.2.12", - "pin-project-lite", -] - -[[package]] -name = "http-body" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +checksum = "ca2a8f2913ee65f60facd6a5905613afaa448497a0230cc41ce022d93290bc2c" dependencies = [ "bytes", - "http 1.3.1", + "http", ] [[package]] name = "http-body-util" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +checksum = "e9f41fd6a08e4d4ec69df65976da761afd5ad5e58a9d4acb46bd1c953a9e3ff2" dependencies = [ "bytes", "futures-core", - "http 1.3.1", - "http-body 1.0.1", + "http", + "http-body", "pin-project-lite", ] @@ -2391,116 +2156,83 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] -name = "humantime" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f" - -[[package]] -name = "hyper" -version = "0.14.32" +name = "hybrid-array" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" +checksum = "818356c5132c1fede50f837ca96afbe78ff42413047f4abb886217845e1b6c8c" dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http 0.2.12", - "http-body 0.4.6", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", + "typenum", ] [[package]] name = "hyper" -version = "1.6.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" +checksum = "55281c53a1894c864990125767da440a4e630446785086f52523b20033b74498" dependencies = [ + "atomic-waker", "bytes", "futures-channel", - "futures-util", - "http 1.3.1", - "http-body 1.0.1", + "futures-core", + "http", + "http-body", "httparse", "httpdate", "itoa", "pin-project-lite", "smallvec", "tokio", + "want", ] [[package]] name = "hyper-rustls" -version = "0.24.2" +version = "0.27.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +checksum = "33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f" dependencies = [ - "futures-util", - "http 0.2.12", - "hyper 0.14.32", - "rustls 0.21.12", + "http", + "hyper", + "hyper-util", + "rustls", "tokio", "tokio-rustls", + "tower-service", + "webpki-roots", ] [[package]] name = "hyper-util" -version = "0.1.11" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497bbc33a26fdd4af9ed9c70d63f61cf56a938375fbb32df34db9b1cd6d643f2" +checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" dependencies = [ + "base64 0.22.1", "bytes", + "futures-channel", "futures-util", - "http 1.3.1", - "http-body 1.0.1", - "hyper 1.6.0", + "http", + "http-body", + "hyper", + "ipnet", + "libc", + "percent-encoding", "pin-project-lite", + "socket2", "tokio", "tower-service", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "log", - "wasm-bindgen", - "windows-core", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", + "tracing", ] [[package]] name = "icu_collections" -version = "2.0.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" +checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c" dependencies = [ "displaydoc", "potential_utf", + "utf8_iter", "yoke", "zerofrom", "zerovec", @@ -2508,9 +2240,9 @@ dependencies = [ [[package]] name = "icu_locale_core" -version = "2.0.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" +checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" dependencies = [ "displaydoc", "litemap", @@ -2521,11 +2253,10 @@ dependencies = [ [[package]] name = "icu_normalizer" -version = "2.0.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" +checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4" dependencies = [ - "displaydoc", "icu_collections", "icu_normalizer_data", "icu_properties", @@ -2536,42 +2267,38 @@ dependencies = [ [[package]] name = "icu_normalizer_data" -version = "2.0.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" +checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38" [[package]] name = "icu_properties" -version = "2.0.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2549ca8c7241c82f59c80ba2a6f415d931c5b58d24fb8412caa1a1f02c49139a" +checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de" dependencies = [ - "displaydoc", "icu_collections", "icu_locale_core", "icu_properties_data", "icu_provider", - "potential_utf", "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "2.0.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8197e866e47b68f8f7d95249e172903bec06004b18b2937f1095d40a0c57de04" +checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14" [[package]] name = "icu_provider" -version = "2.0.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" +checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" dependencies = [ "displaydoc", "icu_locale_core", - "stable_deref_trait", - "tinystr", "writeable", "yoke", "zerofrom", @@ -2587,9 +2314,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "1.0.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ "idna_adapter", "smallvec", @@ -2598,76 +2325,36 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +checksum = "cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714" dependencies = [ "icu_normalizer", "icu_properties", ] -[[package]] -name = "im" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0acd33ff0285af998aaf9b57342af478078f53492322fafc47450e09397e0e9" -dependencies = [ - "bitmaps", - "rand_core 0.6.4", - "rand_xoshiro", - "rayon", - "serde", - "sized-chunks", - "typenum", - "version_check", -] - -[[package]] -name = "include_dir" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" -dependencies = [ - "include_dir_macros", -] - -[[package]] -name = "include_dir_macros" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" -dependencies = [ - "proc-macro2", - "quote", -] - -[[package]] -name = "index_list" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f05caee923b644542e92a659bfceb868a4053fb7d4230ef2141931e8b01e91a" - [[package]] name = "indexmap" -version = "2.9.0" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" dependencies = [ "equivalent", - "hashbrown 0.15.3", + "hashbrown 0.17.1", "serde", + "serde_core", ] [[package]] name = "indicatif" -version = "0.17.11" +version = "0.18.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "183b3088984b400f4cfac3620d5e076c84da5364016b4f49473de574b2586235" +checksum = "9433806cd6b4ec1aba79c021c7e4c58fb4c3b9977c085062e611ac929998fb0c" dependencies = [ "console", - "number_prefix", "portable-atomic", "unicode-width", + "unit-prefix", "web-time", ] @@ -2682,15 +2369,15 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.11.0" +version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" +checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" [[package]] name = "is_terminal_polyfill" -version = "1.70.1" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" [[package]] name = "itertools" @@ -2712,58 +2399,46 @@ dependencies = [ [[package]] name = "itertools" -version = "0.14.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" dependencies = [ "either", ] [[package]] -name = "itoa" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" - -[[package]] -name = "jni" -version = "0.21.1" +name = "itertools" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" dependencies = [ - "cesu8", - "cfg-if", - "combine 4.6.7", - "jni-sys", - "log", - "thiserror 1.0.69", - "walkdir", - "windows-sys 0.45.0", + "either", ] [[package]] -name = "jni-sys" -version = "0.3.0" +name = "itoa" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" [[package]] name = "jobserver" -version = "0.1.33" +version = "0.1.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" +checksum = "1c00acbd29eabad4a2392fa0e921c874934dbbf4194312ad20f04a0ed67a3cb3" dependencies = [ - "getrandom 0.3.3", + "getrandom 0.4.3", "libc", ] [[package]] name = "js-sys" -version = "0.3.77" +version = "0.3.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +checksum = "53b44bfcdb3f8d5837a46dae1ca9660a837176eee74a28b229bc626816589102" dependencies = [ - "once_cell", + "cfg-if", + "futures-util", "wasm-bindgen", ] @@ -2782,15 +2457,35 @@ dependencies = [ "serde_json", ] +[[package]] +name = "k256" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" +dependencies = [ + "cfg-if", + "ecdsa", + "elliptic-curve", + "once_cell", + "sha2 0.10.9", + "signature", +] + [[package]] name = "keccak" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +checksum = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653" dependencies = [ - "cpufeatures", + "cpufeatures 0.2.17", ] +[[package]] +name = "keccak-const" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d8d8ce877200136358e0bbff3a77965875db3af755a11e1fa6b1b3e2df13ea" + [[package]] name = "kv-log-macro" version = "1.0.7" @@ -2808,45 +2503,38 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.172" +version = "0.2.186" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" +checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" [[package]] -name = "libredox" -version = "0.1.3" +name = "libm" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" -dependencies = [ - "bitflags 2.9.1", - "libc", - "redox_syscall", -] +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "libsecp256k1" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9d220bc1feda2ac231cb78c3d26f27676b8cf82c96971f7aeef3d0cf2797c73" +checksum = "e79019718125edc905a079a70cfa5f3820bc76139fc91d6f9abc27ea2a887139" dependencies = [ "arrayref", - "base64 0.12.3", + "base64 0.22.1", "digest 0.9.0", - "hmac-drbg", "libsecp256k1-core", "libsecp256k1-gen-ecmult", "libsecp256k1-gen-genmult", - "rand 0.7.3", + "rand 0.8.7", "serde", "sha2 0.9.9", - "typenum", ] [[package]] name = "libsecp256k1-core" -version = "0.2.2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0f6ab710cec28cef759c5f18671a27dae2a5f952cdaaee1d8e2908cb2478a80" +checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" dependencies = [ "crunchy", "digest 0.9.0", @@ -2855,18 +2543,18 @@ dependencies = [ [[package]] name = "libsecp256k1-gen-ecmult" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccab96b584d38fac86a83f07e659f0deafd0253dc096dab5a36d53efe653c5c3" +checksum = "3038c808c55c87e8a172643a7d87187fc6c4174468159cb3090659d55bcb4809" dependencies = [ "libsecp256k1-core", ] [[package]] name = "libsecp256k1-gen-genmult" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67abfe149395e3aa1c48a2beb32b068e2334402df8181f818d3aee2b304c4f5d" +checksum = "3db8d6ba2cec9eacc40e6e8ccc98931840301f1006e95647ceb2dd5c3aa06f7c" dependencies = [ "libsecp256k1-core", ] @@ -2877,45 +2565,114 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c9a85a9752c549ceb7578064b4ed891179d20acd85f27318573b64d2d7ee7ee" dependencies = [ - "ark-bn254", - "ark-ff", - "num-bigint 0.4.6", + "ark-bn254 0.4.0", + "ark-ff 0.4.2", + "num-bigint 0.4.8", "thiserror 1.0.69", ] [[package]] -name = "linux-raw-sys" -version = "0.4.15" +name = "light-poseidon" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" +checksum = "47a1ccadd0bb5a32c196da536fd72c59183de24a055f6bf0513bf845fefab862" +dependencies = [ + "ark-bn254 0.5.0", + "ark-ff 0.5.0", + "num-bigint 0.4.8", + "thiserror 1.0.69", +] [[package]] name = "linux-raw-sys" -version = "0.9.4" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "litemap" -version = "0.8.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" +checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0" + +[[package]] +name = "litesvm" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75f63c450e355f92115e6ef13177bd53e22a0ffc16638d81ae282c1379c5364a" +dependencies = [ + "agave-feature-set", + "agave-reserved-account-keys", + "ansi_term", + "indexmap", + "itertools 0.14.0", + "log", + "serde", + "solana-account 4.3.1", + "solana-address 2.6.1", + "solana-address-lookup-table-interface", + "solana-builtins", + "solana-clock", + "solana-compute-budget", + "solana-compute-budget-instruction", + "solana-epoch-rewards", + "solana-epoch-schedule", + "solana-feature-gate-interface 4.0.0", + "solana-fee", + "solana-fee-structure", + "solana-hash", + "solana-instruction", + "solana-instruction-error", + "solana-instructions-sysvar 4.0.0", + "solana-keypair", + "solana-last-restart-slot", + "solana-loader-v3-interface 8.0.1", + "solana-loader-v4-interface", + "solana-message", + "solana-native-token", + "solana-nonce", + "solana-nonce-account", + "solana-precompile-error", + "solana-program-error", + "solana-program-runtime", + "solana-rent 4.3.0", + "solana-sdk-ids", + "solana-sha256-hasher", + "solana-signature", + "solana-signer", + "solana-slot-hashes", + "solana-slot-history", + "solana-stake-history", + "solana-svm-callback", + "solana-svm-log-collector", + "solana-svm-timings", + "solana-svm-transaction", + "solana-syscalls", + "solana-system-interface 3.2.0", + "solana-system-program", + "solana-sysvar 4.1.0", + "solana-sysvar-id", + "solana-transaction", + "solana-transaction-context", + "solana-transaction-error", + "thiserror 2.0.19", + "wincode", +] [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" dependencies = [ - "autocfg", "scopeguard", ] [[package]] name = "log" -version = "0.4.27" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" +checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad" dependencies = [ "value-bag", ] @@ -2926,32 +2683,13 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" -[[package]] -name = "lz4" -version = "1.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a20b523e860d03443e98350ceaac5e71c6ba89aea7d960769ec3ce37f4de5af4" -dependencies = [ - "lz4-sys", -] - -[[package]] -name = "lz4-sys" -version = "1.11.1+lz4-1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bd8c0d6c6ed0cd30b3652886bb8711dc4bb01d637a68105a3d5158039b418e6" -dependencies = [ - "cc", - "libc", -] - [[package]] name = "matchers" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" dependencies = [ - "regex-automata 0.1.10", + "regex-automata", ] [[package]] @@ -2962,27 +2700,9 @@ checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" [[package]] name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "memmap2" -version = "0.5.10" +version = "2.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" -dependencies = [ - "libc", -] - -[[package]] -name = "memoffset" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" -dependencies = [ - "autocfg", -] +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" [[package]] name = "merlin" @@ -3012,192 +2732,91 @@ dependencies = [ "unicase", ] -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - [[package]] name = "miniz_oxide" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", + "simd-adler32", ] [[package]] name = "mio" -version = "1.0.3" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +checksum = "30d65c71f1ce40ab09135ce117d742b9f8a19ff91a41a8b57ed50bc2de59c427" dependencies = [ "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", + "wasi", + "windows-sys 0.61.2", ] [[package]] -name = "mockall" -version = "0.11.4" +name = "nu-ansi-term" +version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c84490118f2ee2d74570d114f3d0493cbf02790df303d2707606c3e14e07c96" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "cfg-if", - "downcast", - "fragile", - "lazy_static", - "mockall_derive", - "predicates", - "predicates-tree", + "windows-sys 0.61.2", ] [[package]] -name = "mockall_derive" -version = "0.11.4" +name = "num" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ce75669015c4f47b289fd4d4f56e894e4c96003ffdf3ac51313126f94c6cbb" +checksum = "b8536030f9fea7127f841b45bb6243b27255787fb4eb83958aa1ef9d2fdc0c36" dependencies = [ - "cfg-if", - "proc-macro2", - "quote", - "syn 1.0.109", + "num-bigint 0.2.6", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", ] [[package]] -name = "modular-bitfield" -version = "0.11.2" +name = "num-bigint" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a53d79ba8304ac1c4f9eb3b9d281f21f7be9d4626f72ce7df4ad8fbde4f38a74" +checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" dependencies = [ - "modular-bitfield-impl", - "static_assertions", + "autocfg", + "num-integer", + "num-traits", ] [[package]] -name = "modular-bitfield-impl" -version = "0.11.2" +name = "num-bigint" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a7d5f7076603ebc68de2dc6a650ec331a062a13abaa346975be747bbfa4b789" +checksum = "c89e69e7e0f03bea5ef08013795c25018e101932225a656383bd384495ecc367" dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "num-integer", + "num-traits", ] [[package]] -name = "nix" -version = "0.29.0" +name = "num-complex" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95" dependencies = [ - "bitflags 2.9.1", - "cfg-if", - "cfg_aliases", - "libc", - "memoffset", + "autocfg", + "num-traits", ] [[package]] -name = "no-std-compat" -version = "0.4.1" +name = "num-derive" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c" - -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "nonzero_ext" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21" - -[[package]] -name = "normalize-line-endings" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" - -[[package]] -name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi", -] - -[[package]] -name = "num" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8536030f9fea7127f841b45bb6243b27255787fb4eb83958aa1ef9d2fdc0c36" -dependencies = [ - "num-bigint 0.2.6", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" -dependencies = [ - "num-integer", - "num-traits", -] - -[[package]] -name = "num-complex" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95" -dependencies = [ - "autocfg", - "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-derive" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] [[package]] name = "num-integer" @@ -3210,11 +2829,10 @@ dependencies = [ [[package]] name = "num-iter" -version = "0.1.45" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +checksum = "c92800bd69a1eac91786bcfe9da64a897eb72911b8dc3095decbd07429e8048b" dependencies = [ - "autocfg", "num-integer", "num-traits", ] @@ -3238,68 +2856,52 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", + "libm", ] [[package]] name = "num_cpus" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" dependencies = [ - "hermit-abi 0.3.9", + "hermit-abi", "libc", ] [[package]] name = "num_enum" -version = "0.7.3" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" +checksum = "5d0bca838442ec211fa11de3a8b0e0e8f3a4522575b5c4c06ed722e005036f26" dependencies = [ "num_enum_derive", + "rustversion", ] [[package]] name = "num_enum_derive" -version = "0.7.3" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" +checksum = "680998035259dcfcafe653688bf2aa6d3e2dc05e98be6ab46afb089dc84f1df8" dependencies = [ - "proc-macro-crate 3.3.0", + "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.101", -] - -[[package]] -name = "number_prefix" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" - -[[package]] -name = "object" -version = "0.36.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" -dependencies = [ - "memchr", + "syn 2.0.119", ] [[package]] -name = "oid-registry" -version = "0.6.1" +name = "once_cell" +version = "1.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff" -dependencies = [ - "asn1-rs", -] +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" [[package]] -name = "once_cell" -version = "1.21.3" +name = "once_cell_polyfill" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] name = "opaque-debug" @@ -3307,93 +2909,29 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" -[[package]] -name = "openssl" -version = "0.10.72" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da" -dependencies = [ - "bitflags 2.9.1", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - -[[package]] -name = "openssl-probe" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" - -[[package]] -name = "openssl-src" -version = "300.5.0+3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8ce546f549326b0e6052b649198487d91320875da901e7bd11a06d1ee3f9c2f" -dependencies = [ - "cc", -] - -[[package]] -name = "openssl-sys" -version = "0.9.108" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e145e1651e858e820e4860f7b9c5e169bc1d8ce1c86043be79fa7b7634821847" -dependencies = [ - "cc", - "libc", - "openssl-src", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "opentelemetry" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6105e89802af13fdf48c49d7646d3b533a70e536d818aae7e78ba0433d01acb8" -dependencies = [ - "async-trait", - "crossbeam-channel", - "futures-channel", - "futures-executor", - "futures-util", - "js-sys", - "lazy_static", - "percent-encoding", - "pin-project", - "rand 0.8.5", - "thiserror 1.0.69", -] - [[package]] name = "order-engine" version = "0.1.0" dependencies = [ - "agave-feature-set", "anchor-lang", "anchor-spl", "assert_matches", "bincode", "itertools 0.14.0", - "solana-program-test", - "solana-sdk", - "spl-token-2022 9.0.0", - "spl-token-client", + "litesvm", + "solana-account 4.3.1", + "solana-instruction", + "solana-instruction-error", + "solana-keypair", + "solana-native-token", + "solana-program-pack", + "solana-signer", + "solana-system-interface 3.2.0", + "solana-transaction", + "solana-transaction-error", + "spl-associated-token-account-interface", + "spl-token-2022-interface 3.1.1", + "spl-token-interface 3.0.0", "test-case", ] @@ -3403,18 +2941,29 @@ version = "0.1.0" dependencies = [ "agave-reserved-account-keys", "anchor-lang", - "anchor-spl", "anyhow", "base64 0.22.1", "bincode", - "solana-sdk", + "solana-borsh", + "solana-compute-budget-interface", + "solana-hash", + "solana-instruction", + "solana-message", + "solana-system-interface 3.2.0", + "solana-transaction", + "spl-associated-token-account-interface", + "spl-token-2022-interface 3.1.1", + "spl-token-interface 3.0.0", ] [[package]] -name = "overload" -version = "0.1.1" +name = "pairing" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +checksum = "81fec4625e73cf41ef4bb6846cafa6d44736525f442ba45e407c4a000a13996f" +dependencies = [ + "group", +] [[package]] name = "parking" @@ -3424,9 +2973,9 @@ checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" dependencies = [ "lock_api", "parking_lot_core", @@ -3434,15 +2983,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -3451,6 +3000,12 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" +[[package]] +name = "pastey" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ee67f1008b1ba2321834326597b8e186293b049a023cdef258527550b9935b4" + [[package]] name = "pbkdf2" version = "0.11.0" @@ -3460,20 +3015,11 @@ dependencies = [ "digest 0.10.7", ] -[[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 = "percent-encoding" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "percentage" @@ -3484,31 +3030,11 @@ dependencies = [ "num", ] -[[package]] -name = "pin-project" -version = "1.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - [[package]] name = "pin-project-lite" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" [[package]] name = "pin-utils" @@ -3518,34 +3044,43 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "piper" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" +checksum = "c835479a4443ded371d6c535cbfd8d31ad92c5d23ae9770a61bc155e4992a3c1" dependencies = [ "atomic-waker", "fastrand", "futures-io", ] +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + [[package]] name = "pkg-config" -version = "0.3.32" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" +checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" [[package]] name = "polling" -version = "3.7.4" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" +checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" dependencies = [ "cfg-if", "concurrent-queue", - "hermit-abi 0.4.0", + "hermit-abi", "pin-project-lite", - "rustix 0.38.44", - "tracing", - "windows-sys 0.59.0", + "rustix", + "windows-sys 0.61.2", ] [[package]] @@ -3555,32 +3090,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "opaque-debug", "universal-hash", ] [[package]] name = "portable-atomic" -version = "1.11.0" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" +checksum = "3d20d5497ef88037a52ff98267d066e7f11fcc5e99bbfbd58a42336193aacec3" [[package]] name = "potential_utf" -version = "0.1.2" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564" dependencies = [ "zerovec", ] -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - [[package]] name = "ppv-lite86" version = "0.2.21" @@ -3590,80 +3119,20 @@ dependencies = [ "zerocopy", ] -[[package]] -name = "predicates" -version = "2.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" -dependencies = [ - "difflib", - "float-cmp", - "itertools 0.10.5", - "normalize-line-endings", - "predicates-core", - "regex", -] - -[[package]] -name = "predicates-core" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa" - -[[package]] -name = "predicates-tree" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c" -dependencies = [ - "predicates-core", - "termtree", -] - -[[package]] -name = "proc-macro-crate" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" -dependencies = [ - "toml 0.5.11", -] - [[package]] name = "proc-macro-crate" -version = "3.3.0" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" +checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" dependencies = [ "toml_edit", ] -[[package]] -name = "proc-macro-error-attr2" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" -dependencies = [ - "proc-macro2", - "quote", -] - -[[package]] -name = "proc-macro-error2" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" -dependencies = [ - "proc-macro-error-attr2", - "proc-macro2", - "quote", -] - [[package]] name = "proc-macro2" -version = "1.0.95" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" dependencies = [ "unicode-ident", ] @@ -3685,29 +3154,14 @@ checksum = "9e2e25ee72f5b24d773cae88422baddefff7714f97aab68d96fe2b6fc4a28fb2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.119", ] [[package]] -name = "quanta" -version = "0.12.5" +name = "quinn" +version = "0.11.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bd1fe6824cea6538803de3ff1bc0cf3949024db3d43c9643024bfb33a807c0e" -dependencies = [ - "crossbeam-utils", - "libc", - "once_cell", - "raw-cpuid", - "wasi 0.11.0+wasi-snapshot-preview1", - "web-sys", - "winapi", -] - -[[package]] -name = "quinn" -version = "0.11.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "626214629cda6781b6dc1d316ba307189c85ba657213ce642d9c77670f8202c8" +checksum = "0c1a41e437b6bbd489372cd4971de128e85c855f56c57f283d20ff016cf7c0a8" dependencies = [ "bytes", "cfg_aliases", @@ -3715,9 +3169,9 @@ dependencies = [ "quinn-proto", "quinn-udp", "rustc-hash", - "rustls 0.23.27", + "rustls", "socket2", - "thiserror 2.0.12", + "thiserror 2.0.19", "tokio", "tracing", "web-time", @@ -3725,22 +3179,21 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.12" +version = "0.11.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49df843a9161c85bb8aae55f101bc0bac8bcafd637a620d9122fd7e0b2f7422e" +checksum = "2f4bfc015262b9df63c8845072ce59068853ff5872180c2ce2f13038b970e560" dependencies = [ "bytes", - "fastbloom", - "getrandom 0.3.3", + "getrandom 0.4.3", "lru-slab", - "rand 0.9.1", + "rand 0.10.2", + "rand_pcg", "ring", "rustc-hash", - "rustls 0.23.27", + "rustls", "rustls-pki-types", - "rustls-platform-verifier", "slab", - "thiserror 2.0.12", + "thiserror 2.0.19", "tinyvec", "tracing", "web-time", @@ -3748,51 +3201,50 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.12" +version = "0.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee4e529991f949c5e25755532370b8af5d114acae52326361d68d47af64aa842" +checksum = "35a133f956daabe89a61a685c2649f13d82d5aa4bd5d12d1277e1072a21c0694" dependencies = [ "cfg_aliases", "libc", "once_cell", "socket2", "tracing", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "quote" -version = "1.0.40" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" dependencies = [ "proc-macro2", ] [[package]] name = "r-efi" -version = "5.2.0" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] -name = "rand" -version = "0.7.3" +name = "r-efi" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc", -] +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" [[package]] name = "rand" -version = "0.8.5" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +checksum = "22f6172bdec972074665ed81ed53b71da00bfc44b65a753cfde883ec4c702a1a" dependencies = [ "libc", "rand_chacha 0.3.1", @@ -3801,22 +3253,23 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.1" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" +checksum = "b9ef1d0d795eb7d84685bca4f72f3649f064e6641543d3a8c415898726a57b41" dependencies = [ "rand_chacha 0.9.0", - "rand_core 0.9.3", + "rand_core 0.9.5", ] [[package]] -name = "rand_chacha" -version = "0.2.2" +name = "rand" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +checksum = "c7f5fa3a058cd35567ef9bfa5e75732bee0f9e4c55fa90477bef2dfcdbc4be80" dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", + "chacha20", + "getrandom 0.4.3", + "rand_core 0.10.1", ] [[package]] @@ -3836,16 +3289,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core 0.9.3", -] - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom 0.1.16", + "rand_core 0.9.5", ] [[package]] @@ -3854,175 +3298,143 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.16", + "getrandom 0.2.17", ] [[package]] name = "rand_core" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" -dependencies = [ - "getrandom 0.3.3", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "rand_xoshiro" -version = "0.6.0" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" dependencies = [ - "rand_core 0.6.4", + "getrandom 0.3.4", ] [[package]] -name = "raw-cpuid" -version = "11.5.0" +name = "rand_core" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6df7ab838ed27997ba19a4664507e6f82b41fe6e20be42929332156e5e85146" -dependencies = [ - "bitflags 2.9.1", -] +checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" [[package]] -name = "rayon" -version = "1.10.0" +name = "rand_pcg" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +checksum = "caa0f4137e1c0a72f4c651489402276c8e8e1cf081f3b0ba156d2cbeef09e86a" dependencies = [ - "either", - "rayon-core", + "rand_core 0.10.1", ] [[package]] -name = "rayon-core" -version = "1.12.1" +name = "rand_xorshift" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" dependencies = [ - "crossbeam-deque", - "crossbeam-utils", + "rand_core 0.6.4", ] [[package]] name = "redox_syscall" -version = "0.5.12" +version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.9.1", + "bitflags", ] [[package]] name = "regex" -version = "1.11.1" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.9", - "regex-syntax 0.8.5", -] - -[[package]] -name = "regex-automata" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax 0.6.29", + "regex-automata", + "regex-syntax", ] [[package]] name = "regex-automata" -version = "0.4.9" +version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +checksum = "8fcfdb36bda0c880c5931cdc7a2bcdc8ba4556847b9d912bca70bc94708711ad" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.5", + "regex-syntax", ] [[package]] name = "regex-syntax" -version = "0.6.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - -[[package]] -name = "regex-syntax" -version = "0.8.5" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" [[package]] name = "reqwest" -version = "0.11.27" +version = "0.12.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" dependencies = [ - "async-compression", - "base64 0.21.7", + "base64 0.22.1", "bytes", - "encoding_rs", + "futures-channel", "futures-core", "futures-util", - "h2", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.32", + "http", + "http-body", + "http-body-util", + "hyper", "hyper-rustls", - "ipnet", + "hyper-util", "js-sys", "log", - "mime", - "mime_guess", - "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.12", - "rustls-pemfile", + "quinn", + "rustls", + "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", - "sync_wrapper 0.1.2", - "system-configuration", + "sync_wrapper", "tokio", "tokio-rustls", - "tokio-util 0.7.15", + "tower", + "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots 0.25.4", - "winreg", + "webpki-roots", ] [[package]] name = "reqwest-middleware" -version = "0.2.5" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a735987236a8e238bf0296c7e351b999c188ccc11477f311b82b55c93984216" +checksum = "57f17d28a6e6acfe1733fe24bcd30774d13bffa4b8a22535b4c8c98423088d4e" dependencies = [ "anyhow", "async-trait", - "http 0.2.12", + "http", "reqwest", "serde", - "task-local-extensions", "thiserror 1.0.69", + "tower-service", +] + +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", ] [[package]] @@ -4033,7 +3445,7 @@ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.16", + "getrandom 0.2.17", "libc", "untrusted", "windows-sys 0.52.0", @@ -4041,9 +3453,9 @@ dependencies = [ [[package]] name = "rust-embed" -version = "8.7.2" +version = "8.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "025908b8682a26ba8d12f6f2d66b987584a4a87bc024abc5bbc12553a8cd178a" +checksum = "e9e7760e252aaba7b09f4be00e36476cf585bdb68a53552ac954cdf504ab4bc9" dependencies = [ "rust-embed-impl", "rust-embed-utils", @@ -4052,38 +3464,39 @@ dependencies = [ [[package]] name = "rust-embed-impl" -version = "8.7.2" +version = "8.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6065f1a4392b71819ec1ea1df1120673418bf386f50de1d6f54204d836d4349c" +checksum = "3bcfc4d6f53af43755f7a723e4b6b8794fcce052a178dd8c6c1dadc5f5343097" dependencies = [ + "mime_guess", "proc-macro2", "quote", "rust-embed-utils", - "syn 2.0.101", + "syn 2.0.119", "walkdir", ] [[package]] name = "rust-embed-utils" -version = "8.7.2" +version = "8.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6cc0c81648b20b70c491ff8cce00c1c3b223bb8ed2b5d41f0e54c6c4c0a3594" +checksum = "42ffa149f6aa81b58a5b3011d01a857c4ed12c7a732d2c51947a4c7c692185f0" dependencies = [ - "sha2 0.10.9", + "sha2 0.11.0", "walkdir", ] [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "b74b56ffa8bb2830709a538c2cbcae9aa062db0d2a42563bfb09bdaae44020eb" [[package]] name = "rustc-hash" -version = "2.1.1" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" +checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d" [[package]] name = "rustc_version" @@ -4094,140 +3507,48 @@ dependencies = [ "semver", ] -[[package]] -name = "rusticata-macros" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" -dependencies = [ - "nom", -] - -[[package]] -name = "rustix" -version = "0.38.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" -dependencies = [ - "bitflags 2.9.1", - "errno", - "libc", - "linux-raw-sys 0.4.15", - "windows-sys 0.59.0", -] - [[package]] name = "rustix" -version = "1.0.7" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ - "bitflags 2.9.1", + "bitflags", "errno", "libc", - "linux-raw-sys 0.9.4", - "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", - "rustls-webpki 0.101.7", - "sct", + "linux-raw-sys", + "windows-sys 0.61.2", ] [[package]] name = "rustls" -version = "0.23.27" +version = "0.23.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321" +checksum = "3c54fcab019b409d04215d3a17cb438fd7fbf192ee61461f20f4fe18704bc138" dependencies = [ "once_cell", "ring", "rustls-pki-types", - "rustls-webpki 0.103.3", + "rustls-webpki", "subtle", "zeroize", ] -[[package]] -name = "rustls-native-certs" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" -dependencies = [ - "openssl-probe", - "rustls-pki-types", - "schannel", - "security-framework", -] - -[[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-pki-types" -version = "1.12.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" +checksum = "764899a24af3980067ee14bc143654f297b22eaebfe3c7b6b211920a5a59b046" dependencies = [ "web-time", "zeroize", ] -[[package]] -name = "rustls-platform-verifier" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19787cda76408ec5404443dc8b31795c87cd8fec49762dc75fa727740d34acc1" -dependencies = [ - "core-foundation 0.10.0", - "core-foundation-sys", - "jni", - "log", - "once_cell", - "rustls 0.23.27", - "rustls-native-certs", - "rustls-platform-verifier-android", - "rustls-webpki 0.103.3", - "security-framework", - "security-framework-sys", - "webpki-root-certs 0.26.11", - "windows-sys 0.59.0", -] - -[[package]] -name = "rustls-platform-verifier-android" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" - -[[package]] -name = "rustls-webpki" -version = "0.101.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "rustls-webpki" -version = "0.103.3" +version = "0.103.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" +checksum = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e" dependencies = [ "ring", "rustls-pki-types", @@ -4236,24 +3557,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.20" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" +checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f" [[package]] name = "ryu" -version = "1.0.20" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" - -[[package]] -name = "safe_arch" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b02de82ddbe1b636e6170c21be622223aea188ef2e139be0a5b219ec215323" -dependencies = [ - "bytemuck", -] +checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" [[package]] name = "same-file" @@ -4264,15 +3576,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "schannel" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" -dependencies = [ - "windows-sys 0.59.0", -] - [[package]] name = "scopeguard" version = "1.2.0" @@ -4280,59 +3583,32 @@ 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", - "untrusted", -] - -[[package]] -name = "security-framework" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" -dependencies = [ - "bitflags 2.9.1", - "core-foundation 0.10.0", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.14.0" +name = "sec1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ - "core-foundation-sys", - "libc", + "base16ct", + "der", + "generic-array", + "pkcs8", + "subtle", + "zeroize", ] [[package]] name = "semver" -version = "1.0.26" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" - -[[package]] -name = "seqlock" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5c67b6f14ecc5b86c66fa63d76b5092352678545a8a3cdae80aef5128371910" -dependencies = [ - "parking_lot", -] +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" [[package]] name = "serde" -version = "1.0.219" +version = "1.0.229" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" dependencies = [ + "serde_core", "serde_derive", ] @@ -4347,53 +3623,65 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.17" +version = "0.11.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96" +checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8" dependencies = [ "serde", + "serde_core", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.219" +version = "1.0.229" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 3.0.0", ] [[package]] name = "serde_json" -version = "1.0.140" +version = "1.0.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9" dependencies = [ "itoa", "memchr", - "ryu", "serde", + "serde_core", + "zmij", ] [[package]] name = "serde_path_to_error" -version = "0.1.17" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59fab13f937fa393d08645bf3a84bdfe86e296747b506ada67bb15f10f218b2a" +checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457" dependencies = [ "itoa", "serde", + "serde_core", ] [[package]] name = "serde_spanned" -version = "0.6.8" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +checksum = "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -4410,25 +3698,24 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.12.0" +version = "3.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa" +checksum = "76a5c54c7310e7b8b9577c286d7e399ddd876c3e12b3ed917a8aabc4b96e9e8c" dependencies = [ - "serde", - "serde_derive", + "serde_core", "serde_with_macros", ] [[package]] name = "serde_with_macros" -version = "3.12.0" +version = "3.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" +checksum = "84d57bc0c8b9a17920c178daa6bb924850d54a9c97ab45194bb8c17ad66bb660" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.119", ] [[package]] @@ -4442,37 +3729,24 @@ dependencies = [ "bytes", "clap", "dotenvy", - "futures", "order-engine-sdk", "serde", "serde_json", - "solana-rpc-client", - "solana-sdk", - "thiserror 2.0.12", + "solana-keypair", + "solana-signer", + "thiserror 2.0.19", "tokio", "tower", "tower-http", "tracing", "tracing-subscriber", "utoipa", - "utoipa-axum", "utoipa-swagger-ui", "utoipauto", "uuid", "webhook-api", ] -[[package]] -name = "sha1" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest 0.10.7", -] - [[package]] name = "sha2" version = "0.9.9" @@ -4481,7 +3755,7 @@ checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" dependencies = [ "block-buffer 0.9.0", "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "digest 0.9.0", "opaque-debug", ] @@ -4493,15 +3767,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "digest 0.10.7", ] +[[package]] +name = "sha2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.0", + "digest 0.11.3", +] + +[[package]] +name = "sha2-const-stable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f179d4e11094a893b82fff208f74d448a7512f99f5a0acbd5c679b705f83ed9" + [[package]] name = "sha3" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +checksum = "77fd7028345d415a4034cf8777cd4f8ab1851274233b45f84e3d955502d93874" dependencies = [ "digest 0.10.7", "keccak", @@ -4518,190 +3809,195 @@ dependencies = [ [[package]] name = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" - -[[package]] -name = "signal-hook" -version = "0.3.18" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" -dependencies = [ - "libc", - "signal-hook-registry", -] +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" [[package]] name = "signal-hook-registry" -version = "1.4.5" +version = "1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" dependencies = [ + "errno", "libc", ] [[package]] name = "signature" -version = "1.6.4" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest 0.10.7", + "rand_core 0.6.4", +] [[package]] name = "simd-adler32" -version = "0.3.7" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" +checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" [[package]] -name = "siphasher" -version = "0.3.11" +name = "slab" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] -name = "siphasher" -version = "1.0.1" +name = "smallvec" +version = "1.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" +checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90" [[package]] -name = "sized-chunks" +name = "socket2" version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" +checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4" dependencies = [ - "bitmaps", - "typenum", + "libc", + "windows-sys 0.61.2", ] [[package]] -name = "slab" -version = "0.4.9" +name = "solana-account" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +checksum = "efc0ed36decb689413b9da5d57f2be49eea5bebb3cf7897015167b0c4336e731" dependencies = [ - "autocfg", + "solana-account-info", + "solana-clock", + "solana-instruction-error", + "solana-pubkey 4.2.0", + "solana-sdk-ids", ] [[package]] -name = "smallvec" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" - -[[package]] -name = "socket2" -version = "0.5.9" +name = "solana-account" +version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" +checksum = "385cad928d576683db3afef1b88d00a31a7126cc9f6f3f0c9f6b2d181437f53c" dependencies = [ - "libc", - "windows-sys 0.52.0", + "bincode", + "serde", + "serde_bytes", + "serde_derive", + "solana-account-info", + "solana-clock", + "solana-instruction-error", + "solana-pubkey 4.2.0", + "solana-sdk-ids", + "solana-sysvar 4.1.0", ] [[package]] -name = "solana-account" -version = "2.2.1" +name = "solana-account-decoder" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f949fe4edaeaea78c844023bfc1c898e0b1f5a100f8a8d2d0f85d0a7b090258" +checksum = "1daf7a9ad1ba8952f79d02ff2ff2f75d789bfb9c33aa53da4a377de86c5da02e" dependencies = [ + "Inflector", + "base64 0.22.1", "bincode", + "bs58", + "bv", "serde", - "serde_bytes", - "serde_derive", - "solana-account-info", + "serde_json", + "solana-account 4.3.1", + "solana-account-decoder-client-types", + "solana-address-lookup-table-interface", "solana-clock", + "solana-config-interface", + "solana-epoch-schedule", + "solana-fee-calculator", "solana-instruction", - "solana-pubkey", + "solana-loader-v3-interface 7.0.0", + "solana-nonce", + "solana-program-option", + "solana-program-pack", + "solana-pubkey 4.2.0", + "solana-rent 4.3.0", "solana-sdk-ids", - "solana-sysvar", + "solana-slot-hashes", + "solana-slot-history", + "solana-stake-interface 3.1.0", + "solana-sysvar 4.1.0", + "solana-vote-interface", + "spl-generic-token", + "spl-token-2022-interface 2.1.0", + "spl-token-group-interface", + "spl-token-interface 2.0.0", + "spl-token-metadata-interface 0.8.0", + "thiserror 2.0.19", + "zstd", ] [[package]] name = "solana-account-decoder-client-types" -version = "2.2.7" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c5d7d0f1581d98a869f2569122ded67e0735f3780d787b3e7653bdcd1708a2" +checksum = "02c4eb99bb799650f2c6cb7291d93cf6db05e956320f3c772e58ca49f8b6192e" dependencies = [ "base64 0.22.1", "bs58", "serde", - "serde_derive", "serde_json", - "solana-account", - "solana-pubkey", + "solana-account 4.3.1", + "solana-pubkey 4.2.0", "zstd", ] [[package]] name = "solana-account-info" -version = "2.2.1" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0c17d606a298a205fae325489fbed88ee6dc4463c111672172327e741c8905d" +checksum = "a9cf16495d9eb53e3d04e72366a33bb1c20c24e78c171d8b8f5978357b63ae95" dependencies = [ - "bincode", - "serde", + "solana-address 2.6.1", "solana-program-error", "solana-program-memory", - "solana-pubkey", ] [[package]] -name = "solana-accounts-db" -version = "2.2.7" +name = "solana-address" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "611e285c3d1c7ea383498a7a55d462a475614af9e3201fa9bf78a18b9f49ad67" +checksum = "a2ecac8e1b7f74c2baa9e774c42817e3e75b20787134b76cc4d45e8a604488f5" dependencies = [ - "ahash", - "bincode", - "blake3", - "bv", + "solana-address 2.6.1", +] + +[[package]] +name = "solana-address" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39c93e262f671bf402e1040e4a7e40b05d81da5956c7681948c975a0997517bb" +dependencies = [ + "borsh", "bytemuck", "bytemuck_derive", - "bzip2", - "crossbeam-channel", - "dashmap", - "index_list", - "indexmap", - "itertools 0.12.1", - "lazy_static", - "log", - "lz4", - "memmap2", - "modular-bitfield", - "num_cpus", - "num_enum", - "rand 0.8.5", - "rayon", - "seqlock", + "curve25519-dalek", + "five8", + "five8_const", "serde", "serde_derive", - "smallvec", - "solana-bucket-map", - "solana-clock", - "solana-hash", - "solana-inline-spl", - "solana-lattice-hash", - "solana-measure", - "solana-metrics", - "solana-nohash-hasher", - "solana-pubkey", - "solana-rayon-threadlimit", - "solana-sdk", - "solana-svm-transaction", - "solana-transaction-context", - "static_assertions", - "tar", - "tempfile", - "thiserror 2.0.12", + "sha2-const-stable", + "solana-atomic-u64", + "solana-define-syscall 5.1.0", + "solana-nullable", + "solana-program-error", + "solana-sanitize", + "solana-sha256-hasher", + "wincode", ] [[package]] name = "solana-address-lookup-table-interface" -version = "2.2.2" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1673f67efe870b64a65cb39e6194be5b26527691ce5922909939961a6e6b395" +checksum = "115b4f773acc4f3f3cb986b0d335e9845c0368c82b0940410935bc11ae065578" dependencies = [ "bincode", "bytemuck", @@ -4709,242 +4005,154 @@ dependencies = [ "serde_derive", "solana-clock", "solana-instruction", - "solana-pubkey", + "solana-instruction-error", + "solana-pubkey 4.2.0", "solana-sdk-ids", "solana-slot-hashes", ] -[[package]] -name = "solana-address-lookup-table-program" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20ba90bbe1e9a7354763520ae5fa5f610712250a65891cf54d490b1fcc486244" -dependencies = [ - "agave-feature-set", - "bincode", - "bytemuck", - "log", - "num-derive", - "num-traits", - "solana-address-lookup-table-interface", - "solana-bincode", - "solana-clock", - "solana-instruction", - "solana-log-collector", - "solana-packet", - "solana-program-runtime", - "solana-pubkey", - "solana-system-interface", - "solana-transaction-context", - "thiserror 2.0.12", -] - [[package]] name = "solana-atomic-u64" -version = "2.2.1" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52e52720efe60465b052b9e7445a01c17550666beec855cce66f44766697bc2" +checksum = "085db4906d89324cef2a30840d59eaecf3d4231c560ec7c9f6614a93c652f501" dependencies = [ "parking_lot", ] [[package]] -name = "solana-banks-client" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f32510172470e5d3c2c4fbb125024fe715bb903a368df0085a1098f3b693bd" -dependencies = [ - "borsh 1.5.7", - "futures", - "solana-banks-interface", - "solana-program", - "solana-sdk", - "solana-transaction-context", - "tarpc", - "thiserror 2.0.12", - "tokio", - "tokio-serde", -] - -[[package]] -name = "solana-banks-interface" -version = "2.2.7" +name = "solana-big-mod-exp" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d07549f0e8d1dbe90117f1595ed77539e3766d3203b3b5c47f999a80c3c754e" +checksum = "30c80fb6d791b3925d5ec4bf23a7c169ef5090c013059ec3ed7d0b2c04efa085" dependencies = [ - "serde", - "serde_derive", - "solana-sdk", - "solana-transaction-context", - "tarpc", + "num-bigint 0.4.8", + "num-traits", + "solana-define-syscall 3.0.0", ] [[package]] -name = "solana-banks-server" -version = "2.2.7" +name = "solana-bincode" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb80a4350984a3c140b99d444e2b92ee8decac88a8def73cd0ca02e655eb3463" +checksum = "278a1a5bad62cd9da89ac8d4b7ec444e83caa8ae96aa656dfc27684b28d49a5d" dependencies = [ - "agave-feature-set", "bincode", - "crossbeam-channel", - "futures", - "solana-banks-interface", - "solana-client", - "solana-runtime", - "solana-runtime-transaction", - "solana-sdk", - "solana-send-transaction-service", - "solana-svm", - "tarpc", - "tokio", - "tokio-serde", + "serde_core", + "solana-instruction-error", ] [[package]] -name = "solana-big-mod-exp" -version = "2.2.1" +name = "solana-blake3-hasher" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75db7f2bbac3e62cfd139065d15bcda9e2428883ba61fc8d27ccb251081e7567" +checksum = "7116e1d942a2432ca3f514625104757ab8a56233787e95144c93950029e31176" dependencies = [ - "num-bigint 0.4.6", - "num-traits", - "solana-define-syscall", + "blake3", + "solana-define-syscall 4.0.1", + "solana-hash", ] [[package]] -name = "solana-bincode" -version = "2.2.1" +name = "solana-bls-signatures" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19a3787b8cf9c9fe3dd360800e8b70982b9e5a8af9e11c354b6665dd4a003adc" +checksum = "654ea8d31bbb4b0b9c28f9c545edb32691de27d4e2fc0e252c1ff47da50c5f2a" dependencies = [ - "bincode", + "base64 0.22.1", + "blst", + "blstrs", + "cfg_eval", + "ff", + "group", + "pairing", + "rand 0.8.7", "serde", - "solana-instruction", + "serde_json", + "serde_with", + "thiserror 2.0.19", + "wincode", + "zeroize", ] [[package]] -name = "solana-blake3-hasher" -version = "2.2.1" +name = "solana-bls12-381-syscall" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1a0801e25a1b31a14494fc80882a036be0ffd290efc4c2d640bfcca120a4672" +checksum = "28a699aa5e660203c17c18ceaef0eff78c67fd5193f4dbe90a07148e06030ab6" dependencies = [ - "blake3", - "solana-define-syscall", - "solana-hash", - "solana-sanitize", + "blst", + "blstrs", + "bytemuck", + "bytemuck_derive", + "group", + "pairing", ] [[package]] name = "solana-bn254" -version = "2.2.2" +version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4420f125118732833f36facf96a27e7b78314b2d642ba07fa9ffdacd8d79e243" +checksum = "62ff13a8867fcc7b0f1114764e1bf6191b4551dcaf93729ddc676cd4ec6abc9f" dependencies = [ - "ark-bn254", - "ark-ec", - "ark-ff", - "ark-serialize", + "ark-bn254 0.5.0", + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-serialize 0.5.0", "bytemuck", - "solana-define-syscall", - "thiserror 2.0.12", + "solana-define-syscall 5.1.0", + "thiserror 2.0.19", ] [[package]] name = "solana-borsh" -version = "2.2.1" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "718333bcd0a1a7aed6655aa66bef8d7fb047944922b2d3a18f49cbc13e73d004" +checksum = "c04abbae16f57178a163125805637b8a076175bb5c0002fb04f4792bea901cf7" dependencies = [ - "borsh 0.10.4", - "borsh 1.5.7", + "borsh", ] [[package]] name = "solana-bpf-loader-program" -version = "2.2.7" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1732daafbfb0b265998fb55ec223680b95a241eea9209c76427a55491bf4903" +checksum = "073e0a6555480e8f783f930299a5660c2296c8961d9b3a2adaf585561e2d59b9" dependencies = [ - "agave-feature-set", - "agave-precompiles", "bincode", - "libsecp256k1", "qualifier_attr", - "scopeguard", - "solana-account", - "solana-account-info", - "solana-big-mod-exp", + "solana-account 4.3.1", "solana-bincode", - "solana-blake3-hasher", - "solana-bn254", "solana-clock", - "solana-compute-budget", - "solana-cpi", - "solana-curve25519", - "solana-hash", "solana-instruction", - "solana-keccak-hasher", - "solana-loader-v3-interface", - "solana-loader-v4-interface", - "solana-log-collector", - "solana-measure", + "solana-loader-v3-interface 7.0.0", "solana-packet", - "solana-poseidon", - "solana-program-entrypoint", - "solana-program-memory", "solana-program-runtime", - "solana-pubkey", + "solana-pubkey 4.2.0", "solana-sbpf", "solana-sdk-ids", - "solana-secp256k1-recover", - "solana-sha256-hasher", - "solana-stable-layout", - "solana-system-interface", - "solana-sysvar", - "solana-sysvar-id", - "solana-timings", + "solana-svm-feature-set", + "solana-svm-log-collector", + "solana-svm-measure", + "solana-svm-type-overrides", + "solana-syscalls", + "solana-system-interface 3.2.0", "solana-transaction-context", - "solana-type-overrides", - "thiserror 2.0.12", -] - -[[package]] -name = "solana-bucket-map" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063cbccec587c959c8381b6f334588b512e31d44afe993020f5e2999572f8dcd" -dependencies = [ - "bv", - "bytemuck", - "bytemuck_derive", - "log", - "memmap2", - "modular-bitfield", - "num_enum", - "rand 0.8.5", - "solana-clock", - "solana-measure", - "solana-pubkey", - "tempfile", ] [[package]] name = "solana-builtins" -version = "2.2.7" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31cf8956aa23f0837856697c26f74aa76397c8536bce886837d8cf59c06e140a" +checksum = "d0e54d03edadcb2f38bdb8b6524380a858f5ad51654db1f71eccc3fb5dc4d492" dependencies = [ "agave-feature-set", - "solana-address-lookup-table-program", "solana-bpf-loader-program", "solana-compute-budget-program", - "solana-config-program", - "solana-loader-v4-program", + "solana-hash", "solana-program-runtime", - "solana-pubkey", + "solana-pubkey 4.2.0", "solana-sdk-ids", - "solana-stake-program", "solana-system-program", "solana-vote-program", "solana-zk-elgamal-proof-program", @@ -4953,123 +4161,36 @@ dependencies = [ [[package]] name = "solana-builtins-default-costs" -version = "2.2.7" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b17a9aaf602cc61c84932675690fa61d711b5a4879789b74a3162ffcbd255177" +checksum = "a63b9b3ae7b09c32f7f15d83e875dbf8715d0853c2354e3306316158f19d9c90" dependencies = [ "agave-feature-set", "ahash", - "lazy_static", - "log", - "qualifier_attr", - "solana-address-lookup-table-program", - "solana-bpf-loader-program", - "solana-compute-budget-program", - "solana-config-program", - "solana-loader-v4-program", - "solana-pubkey", + "solana-pubkey 4.2.0", "solana-sdk-ids", - "solana-stake-program", - "solana-system-program", - "solana-vote-program", -] - -[[package]] -name = "solana-client" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32a6ae5a74f13425eb0f8503b9a2c0bf59581e98deeee2d0555dfe6f05502c9" -dependencies = [ - "async-trait", - "bincode", - "dashmap", - "futures", - "futures-util", - "indexmap", - "indicatif", - "log", - "quinn", - "rayon", - "solana-account", - "solana-client-traits", - "solana-commitment-config", - "solana-connection-cache", - "solana-epoch-info", - "solana-hash", - "solana-instruction", - "solana-keypair", - "solana-measure", - "solana-message", - "solana-pubkey", - "solana-pubsub-client", - "solana-quic-client", - "solana-quic-definitions", - "solana-rpc-client", - "solana-rpc-client-api", - "solana-rpc-client-nonce-utils", - "solana-signature", - "solana-signer", - "solana-streamer", - "solana-thin-client", - "solana-time-utils", - "solana-tpu-client", - "solana-transaction", - "solana-transaction-error", - "solana-udp-client", - "thiserror 2.0.12", - "tokio", -] - -[[package]] -name = "solana-client-traits" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83f0071874e629f29e0eb3dab8a863e98502ac7aba55b7e0df1803fc5cac72a7" -dependencies = [ - "solana-account", - "solana-commitment-config", - "solana-epoch-info", - "solana-hash", - "solana-instruction", - "solana-keypair", - "solana-message", - "solana-pubkey", - "solana-signature", - "solana-signer", - "solana-system-interface", - "solana-transaction", - "solana-transaction-error", ] [[package]] name = "solana-clock" -version = "2.2.1" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c2177a1b9fe8326004f1151a5acd124420b737811080b1035df31349e4d892" +checksum = "f0acdace90d96e2c9e70d681465b4fe888b6bcf27c354ae9774e9f8a3b72923d" dependencies = [ "serde", "serde_derive", + "solana-get-sysvar", "solana-sdk-ids", "solana-sdk-macro", "solana-sysvar-id", -] - -[[package]] -name = "solana-cluster-type" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ace9fea2daa28354d107ea879cff107181d85cd4e0f78a2bedb10e1a428c97e" -dependencies = [ - "serde", - "serde_derive", - "solana-hash", + "wincode", ] [[package]] name = "solana-commitment-config" -version = "2.2.1" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac49c4dde3edfa832de1697e9bcdb7c3b3f7cb7a1981b7c62526c8bb6700fb73" +checksum = "1517aa49dcfa9cb793ef90e7aac81346d62ca4a546bb1a754030a033e3972e1c" dependencies = [ "serde", "serde_derive", @@ -5077,209 +4198,146 @@ dependencies = [ [[package]] name = "solana-compute-budget" -version = "2.2.7" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7da7ab5302549d9c6bf399c69a7072abeca78d252d9b7a146be34bf6f8b51e6" +checksum = "1770e5aeba2f5ec75b2d89031780c760dcf8352a061430f5e74eab1ad9f3b132" dependencies = [ "solana-fee-structure", - "solana-program-entrypoint", + "solana-program-runtime", ] [[package]] name = "solana-compute-budget-instruction" -version = "2.2.7" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73d8b8697c1cd4e183999162a7c1cb7d7f5674f9e802f97d5d2e439bd7f683f0" +checksum = "d3ad15d715b0c4e21f6b591f126b7fa8070aadf0d75fcd89bc4c98afc9e5f8f6" dependencies = [ "agave-feature-set", - "log", "solana-borsh", "solana-builtins-default-costs", "solana-compute-budget", "solana-compute-budget-interface", "solana-instruction", "solana-packet", - "solana-pubkey", + "solana-pubkey 4.2.0", "solana-sdk-ids", "solana-svm-transaction", "solana-transaction-error", - "thiserror 2.0.12", ] [[package]] name = "solana-compute-budget-interface" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a5df17b195d312b66dccdde9beec6709766d8230cb4718c4c08854f780d0309" +checksum = "8292c436b269ad23cecc8b24f7da3ab07ca111661e25e00ce0e1d22771951ab9" dependencies = [ - "borsh 1.5.7", - "serde", - "serde_derive", + "borsh", "solana-instruction", "solana-sdk-ids", ] [[package]] name = "solana-compute-budget-program" -version = "2.2.7" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf5179f59ab76e2441cfc10e185185326dd4f9389c7acb140b286128f8721c26" +checksum = "653943375fb64b11bcfda0c22280aa87f04902d2c25d0117e91f9788a31ed3db" dependencies = [ - "qualifier_attr", "solana-program-runtime", ] [[package]] -name = "solana-config-program" -version = "2.2.7" +name = "solana-config-interface" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4072ff53d982deb87be1c15136b0aa9ead472f15eaefdd23d8174d49371e0112" +checksum = "63e401ae56aed512821cc7a0adaa412ff97fecd2dff4602be7b1330d2daec0c4" dependencies = [ "bincode", - "chrono", "serde", "serde_derive", - "solana-account", - "solana-bincode", + "solana-account 3.4.0", "solana-instruction", - "solana-log-collector", - "solana-packet", - "solana-program-runtime", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-sdk-ids", "solana-short-vec", - "solana-stake-interface", - "solana-system-interface", - "solana-transaction-context", + "solana-system-interface 2.0.0", ] [[package]] -name = "solana-connection-cache" -version = "2.2.7" +name = "solana-cpi" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240bc217ca05f3e1d1d88f1cfda14b785a02288a630419e4a0ecd6b4fa5094b7" +checksum = "4dea26709d867aada85d0d3617db0944215c8bb28d3745b912de7db13a23280c" dependencies = [ - "async-trait", - "bincode", - "crossbeam-channel", - "futures-util", - "indexmap", - "log", - "rand 0.8.5", - "rayon", - "solana-keypair", - "solana-measure", - "solana-metrics", - "solana-net-utils", - "solana-time-utils", - "solana-transaction-error", - "thiserror 2.0.12", - "tokio", + "solana-account-info", + "solana-define-syscall 4.0.1", + "solana-instruction", + "solana-program-error", + "solana-pubkey 4.2.0", + "solana-stable-layout", ] [[package]] -name = "solana-cost-model" -version = "2.2.7" +name = "solana-curve25519" +version = "3.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb844530eafa481dc45f434e1684b09fcb594b3a72896caa969ef53df1ed653" +checksum = "5aff7432cdf2ec6a44ac06b4d64d2ee006f6c0066d6456e032a7fe25be40cd5c" dependencies = [ - "agave-feature-set", - "ahash", - "lazy_static", - "log", - "solana-bincode", - "solana-borsh", - "solana-builtins-default-costs", - "solana-clock", - "solana-compute-budget", - "solana-compute-budget-instruction", - "solana-compute-budget-interface", - "solana-fee-structure", - "solana-metrics", - "solana-packet", - "solana-pubkey", - "solana-runtime-transaction", - "solana-sdk-ids", - "solana-svm-transaction", - "solana-system-interface", - "solana-transaction-error", - "solana-vote-program", -] - -[[package]] -name = "solana-cpi" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dc71126edddc2ba014622fc32d0f5e2e78ec6c5a1e0eb511b85618c09e9ea11" -dependencies = [ - "solana-account-info", - "solana-define-syscall", - "solana-instruction", - "solana-program-error", - "solana-pubkey", - "solana-stable-layout", + "bytemuck", + "bytemuck_derive", + "curve25519-dalek", + "solana-define-syscall 3.0.0", + "subtle", + "thiserror 2.0.19", ] [[package]] name = "solana-curve25519" -version = "2.2.7" +version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0cf33066cc9a741ff4cc4d171a4a816ea06f9826516b7360d997179a1b3244f" +checksum = "14b4d2a4bf0d0b0a86c22111917e86e8bd39a7b31420fb2c7d73eb83761fc7af" dependencies = [ "bytemuck", "bytemuck_derive", - "curve25519-dalek 4.1.3", - "solana-define-syscall", + "curve25519-dalek", + "solana-define-syscall 5.1.0", "subtle", - "thiserror 2.0.12", + "thiserror 2.0.19", ] [[package]] -name = "solana-decode-error" -version = "2.3.0" +name = "solana-define-syscall" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c781686a18db2f942e70913f7ca15dc120ec38dcab42ff7557db2c70c625a35" -dependencies = [ - "num-traits", -] +checksum = "f9697086a4e102d28a156b8d6b521730335d6951bd39a5e766512bbe09007cee" [[package]] name = "solana-define-syscall" -version = "2.2.1" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57e5b1c0bc1d4a4d10c88a4100499d954c09d3fecfae4912c1a074dff68b1738" + +[[package]] +name = "solana-define-syscall" +version = "5.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf784bb2cb3e02cac9801813c30187344228d2ae952534902108f6150573a33d" +checksum = "21e14a4f604117f379840956a8fc8695e4c84f5b0ebed192f31f60d9b85d581d" [[package]] name = "solana-derivation-path" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "939756d798b25c5ec3cca10e06212bdca3b1443cb9bb740a38124f58b258737b" +checksum = "ff71743072690fdbdfcdc37700ae1cb77485aaad49019473a81aee099b1e0b8c" dependencies = [ "derivation-path", "qstring", "uriparse", ] -[[package]] -name = "solana-ed25519-program" -version = "2.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d0fc717048fdbe5d2ee7d673d73e6a30a094002f4a29ca7630ac01b6bddec04" -dependencies = [ - "bytemuck", - "bytemuck_derive", - "ed25519-dalek", - "solana-feature-set", - "solana-instruction", - "solana-precompile-error", - "solana-sdk-ids", -] - [[package]] name = "solana-epoch-info" -version = "2.2.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ef6f0b449290b0b9f32973eefd95af35b01c5c0c34c569f936c34c5b20d77b" +checksum = "e093c84f6ece620a6b10cd036574b0cd51944231ab32d81f80f76d54aba833e6" dependencies = [ "serde", "serde_derive", @@ -5287,111 +4345,71 @@ dependencies = [ [[package]] name = "solana-epoch-rewards" -version = "2.2.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b575d3dd323b9ea10bb6fe89bf6bf93e249b215ba8ed7f68f1a3633f384db7" +checksum = "daf7eb4986b0b1d6f562b21f75a836f1a6df6e00c275efcef50aab5c144dc59e" dependencies = [ "serde", "serde_derive", + "solana-get-sysvar", "solana-hash", "solana-sdk-ids", "solana-sdk-macro", "solana-sysvar-id", -] - -[[package]] -name = "solana-epoch-rewards-hasher" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c5fd2662ae7574810904585fd443545ed2b568dbd304b25a31e79ccc76e81b" -dependencies = [ - "siphasher 0.3.11", - "solana-hash", - "solana-pubkey", + "wincode", ] [[package]] name = "solana-epoch-schedule" -version = "2.2.1" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fce071fbddecc55d727b1d7ed16a629afe4f6e4c217bc8d00af3b785f6f67ed" +checksum = "8116e6ffa6002237d5ab5edcbda17f9ba66b6742c45a89c9fb40a94dbacd4c1d" dependencies = [ "serde", "serde_derive", + "solana-get-sysvar", + "solana-program-error", "solana-sdk-ids", "solana-sdk-macro", "solana-sysvar-id", + "wincode", ] [[package]] -name = "solana-example-mocks" -version = "2.2.1" +name = "solana-feature-gate-interface" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84461d56cbb8bb8d539347151e0525b53910102e4bced875d49d5139708e39d3" +checksum = "75ca9b5cbb6f500f7fd73db5bd95640f71a83f04d6121a0e59a43b202dca2731" dependencies = [ - "serde", - "serde_derive", - "solana-address-lookup-table-interface", - "solana-clock", - "solana-hash", - "solana-instruction", - "solana-keccak-hasher", - "solana-message", - "solana-nonce", - "solana-pubkey", + "solana-program-error", + "solana-pubkey 4.2.0", "solana-sdk-ids", - "solana-system-interface", - "thiserror 2.0.12", ] [[package]] name = "solana-feature-gate-interface" -version = "2.2.1" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f9c7fbf3e58b64a667c5f35e90af580538a95daea7001ff7806c0662d301bdf" +checksum = "bd7545e02f91da1d6996f32b18f7796aa01e0682f8f3a7434b82cd1a10448add" dependencies = [ "bincode", "serde", "serde_derive", - "solana-account", + "solana-account 4.3.1", "solana-account-info", "solana-instruction", "solana-program-error", - "solana-pubkey", - "solana-rent", + "solana-pubkey 4.2.0", + "solana-rent 4.3.0", "solana-sdk-ids", - "solana-system-interface", -] - -[[package]] -name = "solana-feature-set" -version = "2.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93b93971e289d6425f88e6e3cb6668c4b05df78b3c518c249be55ced8efd6b6d" -dependencies = [ - "ahash", - "lazy_static", - "solana-epoch-schedule", - "solana-hash", - "solana-pubkey", - "solana-sha256-hasher", -] - -[[package]] -name = "solana-feature-set-interface" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02007757246e40f10aa936dae4fa27efbf8dbd6a59575a12ccc802c1aea6e708" -dependencies = [ - "ahash", - "solana-pubkey", + "solana-system-interface 3.2.0", ] [[package]] name = "solana-fee" -version = "2.2.7" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c2ee19fe65b4564b0bf7436f5a609871ddc8fc32b8507c648e46b670052819" +checksum = "a5fbffe004ec900267fc0bcf0c3b532c01905e6c4e3f318562718d1cdf6db939" dependencies = [ "agave-feature-set", "solana-fee-structure", @@ -5400,848 +4418,449 @@ dependencies = [ [[package]] name = "solana-fee-calculator" -version = "2.2.1" +version = "3.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89bc408da0fb3812bc3008189d148b4d3e08252c79ad810b245482a3f70cd8d" +checksum = "ef67f01cc6a0c72e99a08d0d484683f995de4c80e9568728fa77d1537f9b7e09" dependencies = [ "log", "serde", "serde_derive", + "wincode", ] [[package]] name = "solana-fee-structure" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f45f94a88efdb512805563181dfa1c85c60a21b6e6d602bf24a2ea88f9399d6e" -dependencies = [ - "serde", - "serde_derive", - "solana-message", - "solana-native-token", -] - -[[package]] -name = "solana-genesis-config" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "968dabd2b92d57131473eddbd475339da530e14f54397386abf303de3a2595a2" -dependencies = [ - "bincode", - "chrono", - "memmap2", - "serde", - "serde_derive", - "solana-account", - "solana-clock", - "solana-cluster-type", - "solana-epoch-schedule", - "solana-fee-calculator", - "solana-hash", - "solana-inflation", - "solana-keypair", - "solana-logger", - "solana-native-token", - "solana-poh-config", - "solana-pubkey", - "solana-rent", - "solana-sdk-ids", - "solana-sha256-hasher", - "solana-shred-version", - "solana-signer", - "solana-time-utils", -] +checksum = "5e2abdb1223eea8ec64136f39cb1ffcf257e00f915c957c35c0dd9e3f4e700b0" [[package]] -name = "solana-hard-forks" -version = "2.2.1" +name = "solana-get-sysvar" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c28371f878e2ead55611d8ba1b5fb879847156d04edea13693700ad1a28baf" +checksum = "ef3bc859fc036ed490146793557386cbfae614ebba4adc704c37d94350824ed4" dependencies = [ - "serde", - "serde_derive", + "solana-address 2.6.1", + "solana-define-syscall 5.1.0", + "solana-program-error", ] [[package]] name = "solana-hash" -version = "2.2.1" +version = "4.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf7bcb14392900fe02e4e34e90234fbf0c673d4e327888410ba99fa2ba0f4e99" +checksum = "6f4c847893a2ea50b4ae3ca723b124e07cd0544fecea3598f785168f9b78333f" dependencies = [ - "borsh 1.5.7", - "bs58", "bytemuck", "bytemuck_derive", - "js-sys", + "five8", "serde", "serde_derive", "solana-atomic-u64", "solana-sanitize", - "wasm-bindgen", + "wincode", ] +[[package]] +name = "solana-hash-512" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ce934b02bab639341f2fd62c3e7e3c39dcceb47f0196b7630ed1f82ecb704bd" + [[package]] name = "solana-inflation" -version = "2.2.1" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf104167e42e747602b88e02b25cacfc5de699c3b7cbba60d3250437e6a22ed" + +[[package]] +name = "solana-instruction" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23eef6a09eb8e568ce6839573e4966850e85e9ce71e6ae1a6c930c1c43947de3" +checksum = "37ebb0ffd19263051bc3f683fcc086134b8ff23af894dcb63f7563c7137b42f1" dependencies = [ + "bincode", "serde", "serde_derive", + "solana-define-syscall 5.1.0", + "solana-instruction-error", + "solana-pubkey 4.2.0", + "wincode", ] [[package]] -name = "solana-inline-spl" -version = "2.2.7" +name = "solana-instruction-error" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaac98c150932bba4bfbef5b52fae9ef445f767d66ded2f1398382149bc94f69" +checksum = "3b7d34343838343a3755b7dfb1e438d94c6db2263b519cfe3c2257af932b6e93" dependencies = [ - "bytemuck", - "solana-pubkey", + "num-traits", + "serde", + "serde_derive", + "solana-program-error", ] [[package]] -name = "solana-instruction" -version = "2.2.1" +name = "solana-instructions-sysvar" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce496a475e5062ba5de97215ab39d9c358f9c9df4bb7f3a45a1f1a8bd9065ed" +checksum = "9e0732294560e88ecdb2bbc656e67383e9f88c78ec09469cef172f0d28cd1bcd" dependencies = [ - "bincode", - "borsh 1.5.7", - "getrandom 0.2.16", - "js-sys", - "num-traits", - "serde", - "serde_derive", - "solana-define-syscall", - "solana-pubkey", - "wasm-bindgen", + "bitflags", + "solana-account-info", + "solana-instruction", + "solana-instruction-error", + "solana-program-error", + "solana-sanitize", + "solana-sdk-ids", + "solana-serialize-utils", + "solana-sysvar-id", ] [[package]] name = "solana-instructions-sysvar" -version = "2.2.1" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "427f2d0d6dc0bb49f16cef5e7f975180d2e80aab9bdd3b2af68e2d029ec63f43" +checksum = "e38363a181313d607f7a118df2b401bb27b477a0104b09283cbf504f5f0f00cc" dependencies = [ - "bitflags 2.9.1", + "bitflags", "solana-account-info", "solana-instruction", + "solana-instruction-error", "solana-program-error", - "solana-pubkey", "solana-sanitize", "solana-sdk-ids", "solana-serialize-utils", "solana-sysvar-id", ] +[[package]] +name = "solana-invoke" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4065031f5c7dd29ef5f5003c1a353011eeabbafa6c5a5033da0cedbfca824b94" +dependencies = [ + "solana-account-info", + "solana-define-syscall 3.0.0", + "solana-instruction", + "solana-program-entrypoint", + "solana-stable-layout", +] + [[package]] name = "solana-keccak-hasher" -version = "2.2.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7aeb957fbd42a451b99235df4942d96db7ef678e8d5061ef34c9b34cae12f79" +checksum = "ed1c0d16d6fdeba12291a1f068cdf0d479d9bff1141bf44afd7aa9d485f65ef8" dependencies = [ "sha3", - "solana-define-syscall", + "solana-define-syscall 4.0.1", "solana-hash", - "solana-sanitize", ] [[package]] name = "solana-keypair" -version = "2.2.1" +version = "3.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dbb7042c2e0c561afa07242b2099d55c57bd1b1da3b6476932197d84e15e3e4" +checksum = "263d614c12aa267a3278703175fd6440552ca61bc960b5a02a4482720c53438b" dependencies = [ - "bs58", "ed25519-dalek", - "ed25519-dalek-bip32", - "rand 0.7.3", - "solana-derivation-path", - "solana-pubkey", - "solana-seed-derivable", + "five8", + "five8_core", + "rand 0.9.5", + "solana-address 2.6.1", "solana-seed-phrase", "solana-signature", "solana-signer", - "wasm-bindgen", ] [[package]] name = "solana-last-restart-slot" -version = "2.2.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a6360ac2fdc72e7463565cd256eedcf10d7ef0c28a1249d261ec168c1b55cdd" +checksum = "c22474b83d3c7c318e1c3a725784fc2d1d03b728e36369e58ce48769a61ed85e" dependencies = [ "serde", "serde_derive", + "solana-get-sysvar", "solana-sdk-ids", "solana-sdk-macro", "solana-sysvar-id", + "wincode", ] [[package]] -name = "solana-lattice-hash" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45cf3899226bc7b729b13d7f65e34120eb5bc9b83b1d2aadfdcbd84473db9030" -dependencies = [ - "base64 0.22.1", - "blake3", - "bs58", - "bytemuck", -] - -[[package]] -name = "solana-loader-v2-interface" -version = "2.2.1" +name = "solana-loader-v3-interface" +version = "6.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8ab08006dad78ae7cd30df8eea0539e207d08d91eaefb3e1d49a446e1c49654" +checksum = "2e0538d4dbc9022e01616f1c58f2db98ece739c5d5ed4a2ef8737a953e76a2d4" dependencies = [ "serde", "serde_bytes", "serde_derive", "solana-instruction", - "solana-pubkey", + "solana-pubkey 4.2.0", "solana-sdk-ids", + "solana-system-interface 3.2.0", ] [[package]] name = "solana-loader-v3-interface" -version = "3.0.0" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4be76cfa9afd84ca2f35ebc09f0da0f0092935ccdac0595d98447f259538c2" +checksum = "68029ab11d9c891d4ce23ada75745e40f983c5674af366f447b672569634231b" dependencies = [ "serde", "serde_bytes", "serde_derive", "solana-instruction", - "solana-pubkey", + "solana-pubkey 4.2.0", "solana-sdk-ids", - "solana-system-interface", ] [[package]] -name = "solana-loader-v4-interface" -version = "2.2.1" +name = "solana-loader-v3-interface" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "706a777242f1f39a83e2a96a2a6cb034cb41169c6ecbee2cf09cb873d9659e7e" +checksum = "362b468fbde4c20521b9ff5ef743bc0d9b410455a5a92a8b29fd46954e89345f" dependencies = [ - "serde", - "serde_bytes", - "serde_derive", "solana-instruction", - "solana-pubkey", + "solana-pubkey 4.2.0", "solana-sdk-ids", - "solana-system-interface", + "solana-system-interface 3.2.0", + "wincode", ] [[package]] -name = "solana-loader-v4-program" -version = "2.2.7" +name = "solana-loader-v4-interface" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ae52276c26e48d494affc7730c2c1e837ae794519e48ab6b22ed3ccf4751f32" +checksum = "e4c948b33ff81fa89699911b207059e493defdba9647eaf18f23abdf3674e0fb" dependencies = [ - "log", - "qualifier_attr", - "solana-account", - "solana-bincode", - "solana-bpf-loader-program", - "solana-compute-budget", "solana-instruction", - "solana-loader-v3-interface", - "solana-loader-v4-interface", - "solana-log-collector", - "solana-measure", - "solana-packet", - "solana-program-runtime", - "solana-pubkey", - "solana-sbpf", + "solana-pubkey 3.0.0", "solana-sdk-ids", - "solana-transaction-context", - "solana-type-overrides", ] [[package]] -name = "solana-log-collector" -version = "2.2.7" +name = "solana-message" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45d5713845622a6059a172ea390c2a7f7eb50355cfb0cfa18a38a18ecb39c2f1" +checksum = "f4a54f3f9057e67d521ef4faffbcbf2b11dc4a9021ea937a5983d05c7e28406e" dependencies = [ - "log", + "blake3", + "serde", + "serde_derive", + "solana-address 2.6.1", + "solana-hash", + "solana-instruction", + "solana-sanitize", + "solana-sdk-ids", + "solana-short-vec", + "solana-transaction-error", + "wincode", ] [[package]] -name = "solana-logger" -version = "2.3.1" +name = "solana-msg" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db8e777ec1afd733939b532a42492d888ec7c88d8b4127a5d867eb45c6eb5cd5" +checksum = "726b7cbbc6be6f1c6f29146ac824343b9415133eee8cce156452ad1db93f8008" dependencies = [ - "env_logger", - "lazy_static", - "libc", - "log", - "signal-hook", + "solana-define-syscall 5.1.0", ] [[package]] -name = "solana-measure" -version = "2.2.7" +name = "solana-native-token" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9566e754d9b9bcdee7b4aae38e425d47abf8e4f00057208868cb3ab9bee7feae" +checksum = "ae8dd4c280dca9d046139eb5b7a5ac9ad10403fbd64964c7d7571214950d758f" [[package]] -name = "solana-message" -version = "2.2.1" +name = "solana-nonce" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "268486ba8a294ed22a4d7c1ec05f540c3dbe71cfa7c6c54b6d4d13668d895678" +checksum = "d95dbc9f2e33b6c10e231df15cb2a3bff9ea7eab6347f9e316fe75c97fd67bbb" dependencies = [ - "bincode", - "blake3", - "lazy_static", "serde", "serde_derive", - "solana-bincode", + "solana-fee-calculator", "solana-hash", - "solana-instruction", - "solana-pubkey", - "solana-sanitize", - "solana-sdk-ids", - "solana-short-vec", - "solana-system-interface", - "solana-transaction-error", - "wasm-bindgen", + "solana-pubkey 4.2.0", + "solana-sha256-hasher", + "wincode", ] [[package]] -name = "solana-metrics" -version = "2.2.7" +name = "solana-nonce-account" +version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02311660a407de41df2d5ef4e4118dac7b51cfe81a52362314ea51b091ee4150" +checksum = "b81bf7e2aa8c443724051507c1007d0b6d9c34b70925d3232dc78f5ca485209e" dependencies = [ - "crossbeam-channel", - "gethostname", - "lazy_static", - "log", - "reqwest", - "solana-clock", - "solana-cluster-type", - "solana-sha256-hasher", - "solana-time-utils", - "thiserror 2.0.12", + "solana-account 4.3.1", + "solana-hash", + "solana-nonce", + "solana-sdk-ids", + "wincode", ] [[package]] -name = "solana-msg" -version = "2.2.1" +name = "solana-nullable" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f36a1a14399afaabc2781a1db09cb14ee4cc4ee5c7a5a3cfcc601811379a8092" +checksum = "ec7b49f68ccea949a6ea75f485dbe2e17cf4c1d894ed262371d584269359e1a0" dependencies = [ - "solana-define-syscall", -] - -[[package]] -name = "solana-native-token" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33e9de00960197412e4be3902a6cd35e60817c511137aca6c34c66cd5d4017ec" - -[[package]] -name = "solana-net-utils" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c27f0e0bbb972456ed255f81135378ecff3a380252ced7274fa965461ab99977" -dependencies = [ - "anyhow", - "bincode", - "bytes", - "crossbeam-channel", - "itertools 0.12.1", - "log", - "nix", - "rand 0.8.5", - "serde", - "serde_derive", - "socket2", - "solana-serde", - "tokio", - "url", -] - -[[package]] -name = "solana-nohash-hasher" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b8a731ed60e89177c8a7ab05fe0f1511cedd3e70e773f288f9de33a9cfdc21e" - -[[package]] -name = "solana-nonce" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "703e22eb185537e06204a5bd9d509b948f0066f2d1d814a6f475dafb3ddf1325" -dependencies = [ - "serde", - "serde_derive", - "solana-fee-calculator", - "solana-hash", - "solana-pubkey", - "solana-sha256-hasher", -] - -[[package]] -name = "solana-nonce-account" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde971a20b8dbf60144d6a84439dda86b5466e00e2843091fe731083cda614da" -dependencies = [ - "solana-account", - "solana-hash", - "solana-nonce", - "solana-sdk-ids", -] - -[[package]] -name = "solana-offchain-message" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b526398ade5dea37f1f147ce55dae49aa017a5d7326606359b0445ca8d946581" -dependencies = [ - "num_enum", - "solana-hash", - "solana-packet", - "solana-pubkey", - "solana-sanitize", - "solana-sha256-hasher", - "solana-signature", - "solana-signer", + "borsh", + "bytemuck", ] [[package]] name = "solana-packet" -version = "2.2.1" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "004f2d2daf407b3ec1a1ca5ec34b3ccdfd6866dd2d3c7d0715004a96e4b6d127" +checksum = "43a2a582d7863548f047f49aa3745c076cfa9e1364baa080ef0c1210f0e4ebda" dependencies = [ - "bincode", - "bitflags 2.9.1", - "cfg_eval", - "serde", - "serde_derive", - "serde_with", -] - -[[package]] -name = "solana-perf" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97222a3fda48570754ce114e43ca56af34741098c357cb8d3cb6695751e60330" -dependencies = [ - "ahash", - "bincode", - "bv", - "caps", - "curve25519-dalek 4.1.3", - "dlopen2", - "fnv", - "lazy_static", - "libc", - "log", - "nix", - "rand 0.8.5", - "rayon", - "serde", - "solana-hash", - "solana-message", - "solana-metrics", - "solana-packet", - "solana-pubkey", - "solana-rayon-threadlimit", - "solana-sdk-ids", - "solana-short-vec", - "solana-signature", - "solana-time-utils", -] - -[[package]] -name = "solana-poh-config" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d650c3b4b9060082ac6b0efbbb66865089c58405bfb45de449f3f2b91eccee75" -dependencies = [ - "serde", - "serde_derive", + "bitflags", + "solana-pubkey 4.2.0", ] [[package]] name = "solana-poseidon" -version = "2.2.7" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a31fc6ac2590217b63ecab02f23df0d5a38ecaa3e69d7194f57a0f30645e9d9" +checksum = "737b8ab25bf4cc8e618f80f1fe40709b2ace708bc764a36b8a4c81eea8c07034" dependencies = [ - "ark-bn254", - "light-poseidon", - "solana-define-syscall", - "thiserror 2.0.12", + "ark-bn254 0.4.0", + "ark-bn254 0.5.0", + "light-poseidon 0.2.0", + "light-poseidon 0.4.0", + "solana-define-syscall 4.0.1", + "thiserror 2.0.19", ] [[package]] name = "solana-precompile-error" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ff64daa2933c22982b323d88d0cdf693201ef56ac381ae16737fd5f579e07d6" -dependencies = [ - "num-traits", - "solana-decode-error", -] - -[[package]] -name = "solana-precompiles" -version = "2.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36e92768a57c652edb0f5d1b30a7d0bc64192139c517967c18600debe9ae3832" -dependencies = [ - "lazy_static", - "solana-ed25519-program", - "solana-feature-set", - "solana-message", - "solana-precompile-error", - "solana-pubkey", - "solana-sdk-ids", - "solana-secp256k1-program", - "solana-secp256r1-program", -] - -[[package]] -name = "solana-presigner" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81a57a24e6a4125fc69510b6774cd93402b943191b6cddad05de7281491c90fe" -dependencies = [ - "solana-pubkey", - "solana-signature", - "solana-signer", -] - -[[package]] -name = "solana-program" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "586469467e93ceb79048f8d8e3a619bf61d05396ee7de95cb40280301a589d05" +checksum = "cafcd950de74c6c39d55dc8ca108bbb007799842ab370ef26cf45a34453c31e1" dependencies = [ - "bincode", - "blake3", - "borsh 0.10.4", - "borsh 1.5.7", - "bs58", - "bytemuck", - "console_error_panic_hook", - "console_log", - "getrandom 0.2.16", - "lazy_static", - "log", - "memoffset", - "num-bigint 0.4.6", - "num-derive", "num-traits", - "rand 0.8.5", - "serde", - "serde_bytes", - "serde_derive", - "solana-account-info", - "solana-address-lookup-table-interface", - "solana-atomic-u64", - "solana-big-mod-exp", - "solana-bincode", - "solana-blake3-hasher", - "solana-borsh", - "solana-clock", - "solana-cpi", - "solana-decode-error", - "solana-define-syscall", - "solana-epoch-rewards", - "solana-epoch-schedule", - "solana-example-mocks", - "solana-feature-gate-interface", - "solana-fee-calculator", - "solana-hash", - "solana-instruction", - "solana-instructions-sysvar", - "solana-keccak-hasher", - "solana-last-restart-slot", - "solana-loader-v2-interface", - "solana-loader-v3-interface", - "solana-loader-v4-interface", - "solana-message", - "solana-msg", - "solana-native-token", - "solana-nonce", - "solana-program-entrypoint", - "solana-program-error", - "solana-program-memory", - "solana-program-option", - "solana-program-pack", - "solana-pubkey", - "solana-rent", - "solana-sanitize", - "solana-sdk-ids", - "solana-sdk-macro", - "solana-secp256k1-recover", - "solana-serde-varint", - "solana-serialize-utils", - "solana-sha256-hasher", - "solana-short-vec", - "solana-slot-hashes", - "solana-slot-history", - "solana-stable-layout", - "solana-stake-interface", - "solana-system-interface", - "solana-sysvar", - "solana-sysvar-id", - "solana-vote-interface", - "thiserror 2.0.12", - "wasm-bindgen", ] [[package]] name = "solana-program-entrypoint" -version = "2.2.1" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "473ffe73c68d93e9f2aa726ad2985fe52760052709aaab188100a42c618060ec" +checksum = "84c9b0a1ff494e05f503a08b3d51150b73aa639544631e510279d6375f290997" dependencies = [ "solana-account-info", - "solana-msg", + "solana-define-syscall 4.0.1", "solana-program-error", - "solana-pubkey", + "solana-pubkey 4.2.0", ] [[package]] name = "solana-program-error" -version = "2.2.2" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ee2e0217d642e2ea4bee237f37bd61bb02aec60da3647c48ff88f6556ade775" +checksum = "4f04fa578707b3612b095f0c8e19b66a1233f7c42ca8082fcb3b745afcc0add6" dependencies = [ - "borsh 1.5.7", - "num-traits", - "serde", - "serde_derive", - "solana-decode-error", - "solana-instruction", - "solana-msg", - "solana-pubkey", + "borsh", ] [[package]] name = "solana-program-memory" -version = "2.2.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b0268f6c89825fb634a34bd0c3b8fdaeaecfc3728be1d622a8ee6dd577b60d4" +checksum = "4068648649653c2c50546e9a7fb761791b5ab0cda054c771bb5808d3a4b9eb52" dependencies = [ - "num-traits", - "solana-define-syscall", + "solana-define-syscall 4.0.1", ] [[package]] name = "solana-program-option" -version = "2.2.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc677a2e9bc616eda6dbdab834d463372b92848b2bfe4a1ed4e4b4adba3397d0" +checksum = "7a88006a9b8594088cec9027ab77caaaa258a2aaa2083d3f086c44b42e50aeab" [[package]] name = "solana-program-pack" -version = "2.2.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "319f0ef15e6e12dc37c597faccb7d62525a509fec5f6975ecb9419efddeb277b" +checksum = "3d7701cb15b90667ae1c89ef4ac35a59c61e66ce58ddee13d729472af7f41d59" dependencies = [ "solana-program-error", ] [[package]] name = "solana-program-runtime" -version = "2.2.7" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbbde7b061921dcff2bf8e0f1af120fa94f2fb0e3a1c2ec1e7900432bb72cbcd" +checksum = "d0364032ca71f9be2ffab27791cd6535dbe9d2990da0e2346e99013a9bcb57f4" dependencies = [ - "agave-feature-set", - "agave-precompiles", "base64 0.22.1", "bincode", - "enum-iterator", - "itertools 0.12.1", + "cfg-if", + "itertools 0.14.0", "log", "percentage", - "rand 0.8.5", + "rand 0.9.5", "serde", - "solana-account", + "solana-account 4.3.1", + "solana-account-info", "solana-clock", - "solana-compute-budget", "solana-epoch-rewards", "solana-epoch-schedule", + "solana-fee-structure", "solana-hash", "solana-instruction", "solana-last-restart-slot", - "solana-log-collector", - "solana-measure", - "solana-metrics", - "solana-pubkey", - "solana-rent", + "solana-loader-v3-interface 7.0.0", + "solana-program-entrypoint", + "solana-pubkey 4.2.0", + "solana-rent 4.3.0", "solana-sbpf", "solana-sdk-ids", "solana-slot-hashes", "solana-stable-layout", - "solana-sysvar", + "solana-stake-interface 3.1.0", + "solana-svm-callback", + "solana-svm-feature-set", + "solana-svm-log-collector", + "solana-svm-measure", + "solana-svm-timings", + "solana-svm-transaction", + "solana-svm-type-overrides", + "solana-system-interface 3.2.0", + "solana-sysvar 4.1.0", "solana-sysvar-id", - "solana-timings", - "solana-transaction-context", - "solana-type-overrides", - "thiserror 2.0.12", -] - -[[package]] -name = "solana-program-test" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd21a4746c9cda16b24158d9a9b15252adbea192e06be2c2b6c66ba39435c339" -dependencies = [ - "agave-feature-set", - "assert_matches", - "async-trait", - "base64 0.22.1", - "bincode", - "chrono-humanize", - "crossbeam-channel", - "log", - "serde", - "solana-accounts-db", - "solana-banks-client", - "solana-banks-interface", - "solana-banks-server", - "solana-bpf-loader-program", - "solana-compute-budget", - "solana-inline-spl", - "solana-instruction", - "solana-log-collector", - "solana-logger", - "solana-program-runtime", - "solana-runtime", - "solana-sbpf", - "solana-sdk", - "solana-sdk-ids", - "solana-svm", - "solana-timings", "solana-transaction-context", - "solana-vote-program", - "thiserror 2.0.12", - "tokio", + "thiserror 2.0.19", ] [[package]] name = "solana-pubkey" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40db1ff5a0f8aea2c158d78ab5f2cf897848964251d1df42fef78efd3c85b863" -dependencies = [ - "borsh 0.10.4", - "borsh 1.5.7", - "bs58", - "bytemuck", - "bytemuck_derive", - "curve25519-dalek 4.1.3", - "five8_const", - "getrandom 0.2.16", - "js-sys", - "num-traits", - "rand 0.8.5", - "serde", - "serde_derive", - "solana-atomic-u64", - "solana-decode-error", - "solana-define-syscall", - "solana-sanitize", - "solana-sha256-hasher", - "wasm-bindgen", -] - -[[package]] -name = "solana-pubsub-client" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9633402b60b93f903d37c940a8ce0c1afc790b5a8678aaa8304f9099adf108b" -dependencies = [ - "crossbeam-channel", - "futures-util", - "log", - "reqwest", - "semver", - "serde", - "serde_derive", - "serde_json", - "solana-account-decoder-client-types", - "solana-clock", - "solana-pubkey", - "solana-rpc-client-api", - "solana-signature", - "thiserror 2.0.12", - "tokio", - "tokio-stream", - "tokio-tungstenite", - "tungstenite", - "url", -] - -[[package]] -name = "solana-quic-client" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "826ec34b8d4181f0c46efaa84c6b7992a459ca129f21506656d79a1e62633d4b" -dependencies = [ - "async-lock", - "async-trait", - "futures", - "itertools 0.12.1", - "lazy_static", - "log", - "quinn", - "quinn-proto", - "rustls 0.23.27", - "solana-connection-cache", - "solana-keypair", - "solana-measure", - "solana-metrics", - "solana-net-utils", - "solana-pubkey", - "solana-quic-definitions", - "solana-rpc-client-api", - "solana-signer", - "solana-streamer", - "solana-tls-utils", - "solana-transaction-error", - "thiserror 2.0.12", - "tokio", -] - -[[package]] -name = "solana-quic-definitions" -version = "2.2.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e606feac5110eb5d8afaa43ccaeea3ec49ccec36773387930b5ba545e745aea2" +checksum = "8909d399deb0851aa524420beeb5646b115fd253ef446e35fe4504c904da3941" dependencies = [ - "solana-keypair", + "solana-address 1.1.0", ] [[package]] -name = "solana-rayon-threadlimit" -version = "2.2.7" +name = "solana-pubkey" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "423c912a1a68455fe4ed5175cf94eb8965e061cd257973c9a5659e2bf4ea8371" +checksum = "7db719574990de7e8b0f55a8593ac92a5ccb42c8ce67b3e4bf05b139d5d9ee71" dependencies = [ - "lazy_static", - "num_cpus", + "solana-address 2.6.1", ] [[package]] name = "solana-rent" -version = "2.2.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1aea8fdea9de98ca6e8c2da5827707fb3842833521b528a713810ca685d2480" +checksum = "e860d5499a705369778647e97d760f7670adfb6fc8419dd3d568deccd46d5487" dependencies = [ "serde", "serde_derive", @@ -6251,1321 +4870,904 @@ dependencies = [ ] [[package]] -name = "solana-rent-collector" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c1e19f5d5108b0d824244425e43bc78bbb9476e2199e979b0230c9f632d3bf4" -dependencies = [ - "serde", - "serde_derive", - "solana-account", - "solana-clock", - "solana-epoch-schedule", - "solana-genesis-config", - "solana-pubkey", - "solana-rent", - "solana-sdk-ids", -] - -[[package]] -name = "solana-rent-debits" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f6f9113c6003492e74438d1288e30cffa8ccfdc2ef7b49b9e816d8034da18cd" -dependencies = [ - "solana-pubkey", - "solana-reward-info", -] - -[[package]] -name = "solana-reserved-account-keys" -version = "2.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4b22ea19ca2a3f28af7cd047c914abf833486bf7a7c4a10fc652fff09b385b1" -dependencies = [ - "lazy_static", - "solana-feature-set", - "solana-pubkey", - "solana-sdk-ids", -] - -[[package]] -name = "solana-reward-info" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18205b69139b1ae0ab8f6e11cdcb627328c0814422ad2482000fa2ca54ae4a2f" -dependencies = [ - "serde", - "serde_derive", -] - -[[package]] -name = "solana-rpc-client" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3313bc969e1a8681f19a74181d301e5f91e5cc5a60975fb42e793caa9768f22e" -dependencies = [ - "async-trait", - "base64 0.22.1", - "bincode", - "bs58", - "indicatif", - "log", - "reqwest", - "reqwest-middleware", - "semver", - "serde", - "serde_derive", - "serde_json", - "solana-account", - "solana-account-decoder-client-types", - "solana-clock", - "solana-commitment-config", - "solana-epoch-info", - "solana-epoch-schedule", - "solana-feature-gate-interface", - "solana-hash", - "solana-instruction", - "solana-message", - "solana-pubkey", - "solana-rpc-client-api", - "solana-signature", - "solana-transaction", - "solana-transaction-error", - "solana-transaction-status-client-types", - "solana-version", - "tokio", -] - -[[package]] -name = "solana-rpc-client-api" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dc3276b526100d0f55a7d1db2366781acdc75ce9fe4a9d1bc9c85a885a503f8" -dependencies = [ - "anyhow", - "base64 0.22.1", - "bs58", - "jsonrpc-core", - "reqwest", - "reqwest-middleware", - "semver", - "serde", - "serde_derive", - "serde_json", - "solana-account", - "solana-account-decoder-client-types", - "solana-clock", - "solana-commitment-config", - "solana-fee-calculator", - "solana-inflation", - "solana-inline-spl", - "solana-pubkey", - "solana-signer", - "solana-transaction-error", - "solana-transaction-status-client-types", - "solana-version", - "thiserror 2.0.12", -] - -[[package]] -name = "solana-rpc-client-nonce-utils" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "294874298fb4e52729bb0229e0cdda326d4393b7122b92823aa46e99960cb920" -dependencies = [ - "solana-account", - "solana-commitment-config", - "solana-hash", - "solana-message", - "solana-nonce", - "solana-pubkey", - "solana-rpc-client", - "solana-sdk-ids", - "thiserror 2.0.12", -] - -[[package]] -name = "solana-runtime" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be703a6c2a363663c642407ea6d474109c21760502c9c26e60c88e0665c3e859" -dependencies = [ - "agave-feature-set", - "agave-precompiles", - "agave-reserved-account-keys", - "ahash", - "aquamarine", - "arrayref", - "base64 0.22.1", - "bincode", - "blake3", - "bv", - "bytemuck", - "bzip2", - "crossbeam-channel", - "dashmap", - "dir-diff", - "flate2", - "fnv", - "im", - "index_list", - "itertools 0.12.1", - "lazy_static", - "libc", - "log", - "lz4", - "memmap2", - "mockall", - "modular-bitfield", - "num-derive", - "num-traits", - "num_cpus", - "num_enum", - "percentage", - "qualifier_attr", - "rand 0.8.5", - "rayon", - "regex", - "serde", - "serde_derive", - "serde_json", - "serde_with", - "solana-accounts-db", - "solana-bpf-loader-program", - "solana-bucket-map", - "solana-builtins", - "solana-compute-budget", - "solana-compute-budget-instruction", - "solana-config-program", - "solana-cost-model", - "solana-fee", - "solana-inline-spl", - "solana-lattice-hash", - "solana-measure", - "solana-metrics", - "solana-nohash-hasher", - "solana-nonce-account", - "solana-perf", - "solana-program", - "solana-program-runtime", - "solana-pubkey", - "solana-rayon-threadlimit", - "solana-runtime-transaction", - "solana-sdk", - "solana-stake-program", - "solana-svm", - "solana-svm-rent-collector", - "solana-svm-transaction", - "solana-timings", - "solana-transaction-context", - "solana-transaction-status-client-types", - "solana-unified-scheduler-logic", - "solana-version", - "solana-vote", - "solana-vote-program", - "static_assertions", - "strum 0.24.1", - "strum_macros 0.24.3", - "symlink", - "tar", - "tempfile", - "thiserror 2.0.12", - "zstd", -] - -[[package]] -name = "solana-runtime-transaction" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5c1f6b65bcf3498b2c20e062a18de978ebf9ef773be823bc42329b2ec6ef7da" -dependencies = [ - "agave-transaction-view", - "log", - "solana-compute-budget", - "solana-compute-budget-instruction", - "solana-hash", - "solana-message", - "solana-pubkey", - "solana-sdk-ids", - "solana-signature", - "solana-svm-transaction", - "solana-transaction", - "solana-transaction-error", - "thiserror 2.0.12", -] - -[[package]] -name = "solana-sanitize" -version = "2.2.1" +name = "solana-rent" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f1bc1357b8188d9c4a3af3fc55276e56987265eb7ad073ae6f8180ee54cecf" +checksum = "39f0d780bf8e8a1fe8b5b5fce1acad6b209485b86dec246e7523d5e4a8b7c7fc" +dependencies = [ + "serde", + "serde_derive", + "solana-get-sysvar", + "solana-sdk-ids", + "solana-sdk-macro", + "solana-sysvar-id", + "wincode", +] [[package]] -name = "solana-sbpf" -version = "0.10.0" +name = "solana-reward-info" +version = "6.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66a3ce7a0f4d6830124ceb2c263c36d1ee39444ec70146eb49b939e557e72b96" +checksum = "dc553b782111862cd6c56bdeba696dcba9722a42154ef1248c5a06ca1d983797" dependencies = [ - "byteorder", - "combine 3.8.1", - "hash32", - "libc", - "log", - "rand 0.8.5", - "rustc-demangle", - "thiserror 1.0.69", - "winapi", + "serde", + "serde_derive", + "wincode", ] [[package]] -name = "solana-sdk" -version = "2.2.2" +name = "solana-rpc-client" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8af90d2ce445440e0548fa4a5f96fe8b265c22041a68c942012ffadd029667d" +checksum = "849a4576002de8ba30ebb60aa4067b82643b23907be874786473736c616c24ec" dependencies = [ + "async-trait", + "base64 0.22.1", "bincode", "bs58", - "getrandom 0.1.16", - "js-sys", + "futures", + "indicatif", + "log", + "reqwest", + "reqwest-middleware", + "semver", "serde", "serde_json", - "solana-account", - "solana-bn254", - "solana-client-traits", - "solana-cluster-type", + "solana-account 4.3.1", + "solana-account-decoder", + "solana-account-decoder-client-types", + "solana-clock", "solana-commitment-config", - "solana-compute-budget-interface", - "solana-decode-error", - "solana-derivation-path", - "solana-ed25519-program", "solana-epoch-info", - "solana-epoch-rewards-hasher", - "solana-feature-set", - "solana-fee-structure", - "solana-genesis-config", - "solana-hard-forks", - "solana-inflation", + "solana-epoch-schedule", + "solana-feature-gate-interface 4.0.0", + "solana-hash", "solana-instruction", - "solana-keypair", "solana-message", - "solana-native-token", - "solana-nonce-account", - "solana-offchain-message", - "solana-packet", - "solana-poh-config", - "solana-precompile-error", - "solana-precompiles", - "solana-presigner", - "solana-program", - "solana-program-memory", - "solana-pubkey", - "solana-quic-definitions", - "solana-rent-collector", - "solana-rent-debits", - "solana-reserved-account-keys", - "solana-reward-info", - "solana-sanitize", - "solana-sdk-ids", - "solana-sdk-macro", - "solana-secp256k1-program", - "solana-secp256k1-recover", - "solana-secp256r1-program", - "solana-seed-derivable", - "solana-seed-phrase", - "solana-serde", - "solana-serde-varint", - "solana-short-vec", - "solana-shred-version", + "solana-pubkey 4.2.0", + "solana-rpc-client-api", "solana-signature", - "solana-signer", - "solana-system-transaction", - "solana-time-utils", "solana-transaction", - "solana-transaction-context", "solana-transaction-error", - "solana-validator-exit", - "thiserror 2.0.12", - "wasm-bindgen", + "solana-transaction-status-client-types", + "solana-version", + "solana-vote-interface", + "tokio", ] [[package]] -name = "solana-sdk-ids" -version = "2.2.1" +name = "solana-rpc-client-api" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5d8b9cc68d5c88b062a33e23a6466722467dde0035152d8fb1afbcdf350a5f" +checksum = "147f376d3770f495f0bd9158467198cbb399c9a7395ea35ed587061a1a59e61d" dependencies = [ - "solana-pubkey", + "anyhow", + "jsonrpc-core", + "reqwest", + "reqwest-middleware", + "serde", + "serde_json", + "solana-clock", + "solana-rpc-client-types", + "solana-signer", + "solana-transaction-error", + "solana-transaction-status-client-types", + "thiserror 2.0.19", ] [[package]] -name = "solana-sdk-macro" -version = "2.2.1" +name = "solana-rpc-client-types" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86280da8b99d03560f6ab5aca9de2e38805681df34e0bb8f238e69b29433b9df" +checksum = "ae18406ee879a0d91da081313f591d1b3e1c370e010c63ee1b1a3741db88693e" dependencies = [ + "base64 0.22.1", "bs58", - "proc-macro2", - "quote", - "syn 2.0.101", + "semver", + "serde", + "serde_json", + "solana-account-decoder-client-types", + "solana-address 2.6.1", + "solana-clock", + "solana-commitment-config", + "solana-fee-calculator", + "solana-inflation", + "solana-reward-info", + "solana-transaction", + "solana-transaction-error", + "solana-transaction-status-client-types", + "solana-version", + "thiserror 2.0.19", ] [[package]] -name = "solana-secp256k1-program" -version = "2.2.1" +name = "solana-sanitize" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0a1caa972414cc78122c32bdae65ac5fe89df7db598585a5cde19d16a20280a" -dependencies = [ - "bincode", - "digest 0.10.7", - "libsecp256k1", - "serde", - "serde_derive", - "sha3", - "solana-feature-set", - "solana-instruction", - "solana-precompile-error", - "solana-sdk-ids", -] +checksum = "dcf09694a0fc14e5ffb18f9b7b7c0f15ecb6eac5b5610bf76a1853459d19daf9" [[package]] -name = "solana-secp256k1-recover" -version = "2.2.1" +name = "solana-sbpf" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baa3120b6cdaa270f39444f5093a90a7b03d296d362878f7a6991d6de3bbe496" +checksum = "7f84c593fa3d4131045b606dec5acf9d8eac73791bc786ca9911057aec8f43ec" dependencies = [ - "borsh 1.5.7", - "libsecp256k1", - "solana-define-syscall", - "thiserror 2.0.12", + "byteorder", + "combine", + "hash32", + "libc", + "log", + "rand 0.8.7", + "rustc-demangle", + "thiserror 2.0.19", + "winapi", ] [[package]] -name = "solana-secp256r1-program" -version = "2.2.2" +name = "solana-sdk-ids" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cda2aa1bbaceda14763c4f142a00b486f2f262cfd901bd0410649ad0404d5f7" +checksum = "def234c1956ff616d46c9dd953f251fa7096ddbaa6d52b165218de97882b7280" dependencies = [ - "bytemuck", - "openssl", - "solana-feature-set", - "solana-instruction", - "solana-precompile-error", - "solana-sdk-ids", + "solana-address 2.6.1", ] [[package]] -name = "solana-security-txt" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "468aa43b7edb1f9b7b7b686d5c3aeb6630dc1708e86e31343499dd5c4d775183" - -[[package]] -name = "solana-seed-derivable" -version = "2.2.1" +name = "solana-sdk-macro" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3beb82b5adb266c6ea90e5cf3967235644848eac476c5a1f2f9283a143b7c97f" +checksum = "8765316242300c48242d84a41614cb3388229ec353ba464f6fe62a733e41806f" dependencies = [ - "solana-derivation-path", + "bs58", + "proc-macro2", + "quote", + "syn 2.0.119", ] [[package]] -name = "solana-seed-phrase" -version = "2.2.1" +name = "solana-secp256k1-recover" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36187af2324f079f65a675ec22b31c24919cb4ac22c79472e85d819db9bbbc15" +checksum = "e3a1ad3ed7846631c88c71c5d2f21a2ecb6b61da333d9be173b6b061b35609ae" dependencies = [ - "hmac 0.12.1", - "pbkdf2", - "sha2 0.10.9", + "k256", + "solana-define-syscall 5.1.0", + "thiserror 2.0.19", ] [[package]] -name = "solana-send-transaction-service" -version = "2.2.7" +name = "solana-seed-derivable" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37a2a9dab16a9f7d11e06ee6f34ed7ce27923ae480c806513324b5620c73f09e" +checksum = "ff7bdb72758e3bec33ed0e2658a920f1f35dfb9ed576b951d20d63cb61ecd95c" dependencies = [ - "crossbeam-channel", - "itertools 0.12.1", - "log", - "solana-client", - "solana-connection-cache", - "solana-measure", - "solana-metrics", - "solana-runtime", - "solana-sdk", - "solana-tpu-client", - "tokio", + "solana-derivation-path", ] [[package]] -name = "solana-serde" -version = "2.2.1" +name = "solana-seed-phrase" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1931484a408af466e14171556a47adaa215953c7f48b24e5f6b0282763818b04" +checksum = "dc905b200a95f2ea9146e43f2a7181e3aeb55de6bc12afb36462d00a3c7310de" dependencies = [ - "serde", + "hmac", + "pbkdf2", + "sha2 0.10.9", ] [[package]] name = "solana-serde-varint" -version = "2.2.1" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc07d00200d82e6def2f7f7a45738e3406b17fe54a18adcf0defa16a97ccadb" +checksum = "950e5b83e839dc0f92c66afc124bb8f40e89bc90f0579e8ec5499296d27f54e3" dependencies = [ "serde", ] [[package]] name = "solana-serialize-utils" -version = "2.2.1" +version = "3.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "817a284b63197d2b27afdba829c5ab34231da4a9b4e763466a003c40ca4f535e" +checksum = "761357b0853c9623bf12c1d2314b3d6160a85b087b84c45224fb85766d22616b" dependencies = [ - "solana-instruction", - "solana-pubkey", + "solana-instruction-error", + "solana-pubkey 4.2.0", "solana-sanitize", ] [[package]] name = "solana-sha256-hasher" -version = "2.2.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0037386961c0d633421f53560ad7c80675c0447cba4d1bb66d60974dd486c7ea" +checksum = "db7dc3011ea4c0334aaaa7e7128cb390ecf546b28d412e9bf2064680f57f588f" dependencies = [ "sha2 0.10.9", - "solana-define-syscall", + "solana-define-syscall 4.0.1", "solana-hash", ] [[package]] -name = "solana-short-vec" -version = "2.2.1" +name = "solana-sha512-hasher" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c54c66f19b9766a56fa0057d060de8378676cb64987533fa088861858fc5a69" +checksum = "11e10e103ab5bd52af341e7bc2f4123a2f4e66bb7ba4e6ca40f1e00cd6314e02" dependencies = [ - "serde", + "sha2 0.10.9", + "solana-define-syscall 5.1.0", + "solana-hash-512", ] [[package]] -name = "solana-shred-version" -version = "2.2.1" +name = "solana-short-vec" +version = "3.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afd3db0461089d1ad1a78d9ba3f15b563899ca2386351d38428faa5350c60a98" +checksum = "7d8250a4495aad49ad20556a607da53bdcb20de78da10b65afbf918b7f1de647" dependencies = [ - "solana-hard-forks", - "solana-hash", - "solana-sha256-hasher", + "serde_core", + "wincode", ] [[package]] name = "solana-signature" -version = "2.2.1" +version = "3.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47d251c8f3dc015f320b4161daac7f108156c837428e5a8cc61136d25beb11d6" +checksum = "b0364c7577c3c82a693ce28a1febc8d1b5d1b0a175fdc2114ae6186b69effe1e" dependencies = [ - "bs58", "ed25519-dalek", - "rand 0.8.5", + "five8", "serde", "serde-big-array", "serde_derive", "solana-sanitize", + "wincode", ] [[package]] name = "solana-signer" -version = "2.2.1" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c41991508a4b02f021c1342ba00bcfa098630b213726ceadc7cb032e051975b" +checksum = "520bd6021163ee517f4bdc7ae03ded904f97e11320001ba0b3355f45eb14f558" dependencies = [ - "solana-pubkey", + "solana-pubkey 4.2.0", "solana-signature", "solana-transaction-error", ] [[package]] name = "solana-slot-hashes" -version = "2.2.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c8691982114513763e88d04094c9caa0376b867a29577939011331134c301ce" +checksum = "5c7ce2b4b8911bf2db3de7b6266e67bfc21a6a9f8c566fb096d9782ca2ad16ee" dependencies = [ "serde", "serde_derive", + "solana-get-sysvar", "solana-hash", "solana-sdk-ids", "solana-sysvar-id", + "wincode", ] [[package]] name = "solana-slot-history" -version = "2.2.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97ccc1b2067ca22754d5283afb2b0126d61eae734fc616d23871b0943b0d935e" +checksum = "40427c04d3e808493cb5e3d1a97cef84d7c15cb6f89b15c5684d0d4027105600" dependencies = [ "bv", "serde", "serde_derive", + "solana-get-sysvar", "solana-sdk-ids", "solana-sysvar-id", + "wincode", ] [[package]] name = "solana-stable-layout" -version = "2.2.1" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f14f7d02af8f2bc1b5efeeae71bc1c2b7f0f65cd75bcc7d8180f2c762a57f54" +checksum = "c9f6a291ba063a37780af29e7db14bdd3dc447584d8ba5b3fc4b88e2bbc982fa" dependencies = [ "solana-instruction", - "solana-pubkey", + "solana-pubkey 4.2.0", +] + +[[package]] +name = "solana-stake-history" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c736a6aa0e53b9d264d90b06589fc0996f49f882f3e71842ed754fc57ffc1a43" +dependencies = [ + "serde", + "serde_derive", + "solana-clock", + "solana-get-sysvar", + "solana-sdk-ids", + "solana-sysvar-id", + "wincode", ] [[package]] name = "solana-stake-interface" -version = "1.2.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5269e89fde216b4d7e1d1739cf5303f8398a1ff372a81232abbee80e554a838c" +checksum = "b9bc26191b533f9a6e5a14cca05174119819ced680a80febff2f5051a713f0db" dependencies = [ - "borsh 0.10.4", - "borsh 1.5.7", "num-traits", "serde", "serde_derive", "solana-clock", "solana-cpi", - "solana-decode-error", "solana-instruction", "solana-program-error", - "solana-pubkey", - "solana-system-interface", + "solana-pubkey 3.0.0", + "solana-system-interface 2.0.0", + "solana-sysvar 3.1.1", "solana-sysvar-id", ] [[package]] -name = "solana-stake-program" -version = "2.2.7" +name = "solana-stake-interface" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "625c4872588e2a61166b6ece633be5de388dcc170294d717649e8963fae9468c" +checksum = "f49eb5c77484214c3484921e2cdda79d185373118b5458c1b2df0f1a04c3bc30" dependencies = [ - "agave-feature-set", - "bincode", - "log", - "solana-account", - "solana-bincode", + "num-traits", + "serde", + "serde_derive", "solana-clock", - "solana-config-program", - "solana-genesis-config", + "solana-cpi", "solana-instruction", - "solana-log-collector", - "solana-native-token", - "solana-packet", - "solana-program-runtime", - "solana-pubkey", - "solana-rent", - "solana-sdk-ids", - "solana-stake-interface", - "solana-sysvar", - "solana-transaction-context", - "solana-type-overrides", - "solana-vote-interface", + "solana-program-error", + "solana-pubkey 4.2.0", + "solana-system-interface 3.2.0", + "solana-sysvar 4.1.0", + "solana-sysvar-id", ] [[package]] -name = "solana-streamer" -version = "2.2.7" +name = "solana-svm-callback" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1eaf5b216717d1d551716f3190878d028c689dabac40c8889767cead7e447481" +checksum = "7d50ab466a202b3ec768d0d1f808c570822b4d2492801772359b9509baf1e8c6" dependencies = [ - "async-channel 1.9.0", - "bytes", - "crossbeam-channel", - "dashmap", - "futures", - "futures-util", - "governor", - "histogram", - "indexmap", - "itertools 0.12.1", - "libc", - "log", - "nix", - "pem", - "percentage", - "quinn", - "quinn-proto", - "rand 0.8.5", - "rustls 0.23.27", - "smallvec", - "socket2", - "solana-keypair", - "solana-measure", - "solana-metrics", - "solana-net-utils", - "solana-packet", - "solana-perf", - "solana-pubkey", - "solana-quic-definitions", - "solana-signature", - "solana-signer", - "solana-time-utils", - "solana-tls-utils", - "solana-transaction-error", - "solana-transaction-metrics-tracker", - "thiserror 2.0.12", - "tokio", - "tokio-util 0.7.15", - "x509-parser", + "solana-account 4.3.1", + "solana-clock", + "solana-precompile-error", + "solana-pubkey 4.2.0", ] [[package]] -name = "solana-svm" -version = "2.2.7" +name = "solana-svm-feature-set" +version = "4.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35320ec1b4460e2f748c9ebb6c42eb3069f8d85ec46a185ae9b5628430f3c606" + +[[package]] +name = "solana-svm-log-collector" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "095be71c750f85287f37366e1975236b08dff2e02ec482473c975868d67fc542" +checksum = "f5ba1a825b27776f6a92fae44613d5e7f906f0c56e542bbbe1a6746eb168daff" dependencies = [ - "agave-feature-set", - "agave-precompiles", - "ahash", - "itertools 0.12.1", "log", - "percentage", - "serde", - "serde_derive", - "solana-account", - "solana-bpf-loader-program", - "solana-clock", - "solana-compute-budget", - "solana-compute-budget-instruction", - "solana-fee-structure", +] + +[[package]] +name = "solana-svm-measure" +version = "4.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41ec9c705bec0fc99b9220e62fbae9fb0a297b9a95ff411badce934103a92ec7" + +[[package]] +name = "solana-svm-timings" +version = "4.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b72896172acdbce474662e876fdd413092893599156500cc68840abea649441" +dependencies = [ + "eager", + "enum-iterator", + "solana-pubkey 4.2.0", +] + +[[package]] +name = "solana-svm-transaction" +version = "4.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "998e6d7d1197d29a77d3701ae273cfc3e95e79978546faa4d28af637ef5211e7" +dependencies = [ "solana-hash", - "solana-instruction", - "solana-instructions-sysvar", - "solana-loader-v4-program", - "solana-log-collector", - "solana-measure", "solana-message", - "solana-nonce", - "solana-nonce-account", - "solana-program", - "solana-program-runtime", - "solana-pubkey", - "solana-rent", - "solana-rent-debits", - "solana-sdk", + "solana-pubkey 4.2.0", "solana-sdk-ids", - "solana-svm-rent-collector", - "solana-svm-transaction", - "solana-timings", - "solana-transaction-context", - "solana-transaction-error", - "solana-type-overrides", - "thiserror 2.0.12", + "solana-signature", + "solana-transaction", ] [[package]] -name = "solana-svm-rent-collector" -version = "2.2.7" +name = "solana-svm-type-overrides" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee563c1edcf5551b8b5acd86eb9383939a1d9591693c33e74a006dab4baaeb44" +checksum = "128cad78148dbd90e61a0bdf54706a24c356e858d85f2674dd7755eac594a4df" dependencies = [ - "solana-sdk", - "solana-transaction-context", + "rand 0.9.5", ] [[package]] -name = "solana-svm-transaction" -version = "2.2.7" +name = "solana-syscalls" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "221865f7355d5b0827c2d46dd53996361f6cf0c21919b965caa4ba6a1feb6b3a" +checksum = "f2788d359af16fac879c081bc0b725e8a200702156af92e75e2c18346fcde332" dependencies = [ + "bincode", + "libsecp256k1", + "num-traits", + "solana-account 4.3.1", + "solana-account-info", + "solana-big-mod-exp", + "solana-blake3-hasher", + "solana-bls12-381-syscall", + "solana-bn254", + "solana-clock", + "solana-cpi", + "solana-curve25519 4.0.1", "solana-hash", - "solana-message", - "solana-pubkey", + "solana-hash-512", + "solana-instruction", + "solana-keccak-hasher", + "solana-poseidon", + "solana-program-entrypoint", + "solana-program-runtime", + "solana-pubkey 4.2.0", + "solana-sbpf", "solana-sdk-ids", - "solana-signature", - "solana-transaction", + "solana-secp256k1-recover", + "solana-sha256-hasher", + "solana-sha512-hasher", + "solana-stable-layout", + "solana-stake-interface 3.1.0", + "solana-svm-feature-set", + "solana-svm-log-collector", + "solana-svm-type-overrides", + "solana-sysvar 4.1.0", + "solana-sysvar-id", + "solana-transaction-context", + "thiserror 2.0.19", ] [[package]] name = "solana-system-interface" -version = "1.0.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94d7c18cb1a91c6be5f5a8ac9276a1d7c737e39a21beba9ea710ab4b9c63bc90" +checksum = "4e1790547bfc3061f1ee68ea9d8dc6c973c02a163697b24263a8e9f2e6d4afa2" dependencies = [ - "js-sys", "num-traits", "serde", "serde_derive", - "solana-decode-error", "solana-instruction", - "solana-pubkey", - "wasm-bindgen", + "solana-msg", + "solana-program-error", + "solana-pubkey 3.0.0", +] + +[[package]] +name = "solana-system-interface" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55b54965bf0b76fa8e2b35376583efddd4d916618cfe595bf48c7d7b55a9e628" +dependencies = [ + "num-traits", + "serde", + "serde_derive", + "solana-address 2.6.1", + "solana-instruction", + "solana-msg", + "solana-program-error", + "wincode", ] [[package]] name = "solana-system-program" -version = "2.2.7" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efb0185e546f18f26451d274e018e5c4fd699c9765fbd69cbcbdb3475a6cb5bd" +checksum = "64154747d8e97a2ac1869e7633b9d5b8cac01d1ca99cf05f5910eb4b5718fbbc" dependencies = [ "bincode", "log", - "serde", - "serde_derive", - "solana-account", + "solana-account 4.3.1", "solana-bincode", + "solana-fee-calculator", "solana-instruction", - "solana-log-collector", "solana-nonce", "solana-nonce-account", "solana-packet", "solana-program-runtime", - "solana-pubkey", + "solana-pubkey 4.2.0", "solana-sdk-ids", - "solana-system-interface", - "solana-sysvar", + "solana-svm-log-collector", + "solana-system-interface 3.2.0", + "solana-sysvar 4.1.0", "solana-transaction-context", - "solana-type-overrides", -] - -[[package]] -name = "solana-system-transaction" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bd98a25e5bcba8b6be8bcbb7b84b24c2a6a8178d7fb0e3077a916855ceba91a" -dependencies = [ - "solana-hash", - "solana-keypair", - "solana-message", - "solana-pubkey", - "solana-signer", - "solana-system-interface", - "solana-transaction", ] [[package]] name = "solana-sysvar" -version = "2.2.1" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf6b44740d7f0c9f375d045c165bc0aab4a90658f92d6835aeb0649afaeaff9a" +checksum = "6690d3dd88f15c21edff68eb391ef8800df7a1f5cec84ee3e8d1abf05affdf74" dependencies = [ "base64 0.22.1", "bincode", - "bytemuck", - "bytemuck_derive", "lazy_static", "serde", "serde_derive", "solana-account-info", "solana-clock", - "solana-define-syscall", + "solana-define-syscall 4.0.1", "solana-epoch-rewards", "solana-epoch-schedule", "solana-fee-calculator", "solana-hash", "solana-instruction", - "solana-instructions-sysvar", "solana-last-restart-slot", "solana-program-entrypoint", "solana-program-error", "solana-program-memory", - "solana-pubkey", - "solana-rent", - "solana-sanitize", + "solana-pubkey 4.2.0", + "solana-rent 3.1.0", "solana-sdk-ids", "solana-sdk-macro", "solana-slot-hashes", "solana-slot-history", - "solana-stake-interface", "solana-sysvar-id", ] [[package]] -name = "solana-sysvar-id" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5762b273d3325b047cfda250787f8d796d781746860d5d0a746ee29f3e8812c1" -dependencies = [ - "solana-pubkey", - "solana-sdk-ids", -] - -[[package]] -name = "solana-thin-client" -version = "2.2.7" +name = "solana-sysvar" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "255bda447fbff4526b6b19b16b3652281ec2b7c4952d019b369a5f4a9dba4e5c" +checksum = "ada7045bbfdd802af08fbc9c7e2b56ddabb20599d22e4c3840fcef5e7afb8324" dependencies = [ + "base64 0.22.1", "bincode", - "log", - "rayon", - "solana-account", - "solana-client-traits", + "lazy_static", + "serde", + "serde_derive", + "solana-account-info", "solana-clock", - "solana-commitment-config", - "solana-connection-cache", - "solana-epoch-info", + "solana-define-syscall 5.1.0", + "solana-epoch-rewards", + "solana-epoch-schedule", + "solana-fee-calculator", + "solana-get-sysvar", "solana-hash", "solana-instruction", - "solana-keypair", - "solana-message", - "solana-pubkey", - "solana-rpc-client", - "solana-rpc-client-api", - "solana-signature", - "solana-signer", - "solana-system-interface", - "solana-transaction", - "solana-transaction-error", -] - -[[package]] -name = "solana-time-utils" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6af261afb0e8c39252a04d026e3ea9c405342b08c871a2ad8aa5448e068c784c" - -[[package]] -name = "solana-timings" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d08862987485af7e3864b0ab9d4febeccaa34f1e982f08af9fa0460782d10773" -dependencies = [ - "eager", - "enum-iterator", - "solana-pubkey", -] - -[[package]] -name = "solana-tls-utils" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6f227b3813b6c26c8ed38910b90a0b641baedb2ad075ea51ccfbff1992ee394" -dependencies = [ - "rustls 0.23.27", - "solana-keypair", - "solana-pubkey", - "solana-signer", - "x509-parser", + "solana-last-restart-slot", + "solana-program-entrypoint", + "solana-program-error", + "solana-program-memory", + "solana-pubkey 4.2.0", + "solana-rent 4.3.0", + "solana-sdk-ids", + "solana-sdk-macro", + "solana-slot-hashes", + "solana-slot-history", + "solana-stake-history", + "solana-sysvar-id", + "wincode", ] [[package]] -name = "solana-tpu-client" -version = "2.2.7" +name = "solana-sysvar-id" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc74ecb664add683a18bb9f484a30ca8c9d71f3addcd3a771eaaaaec12125fd" +checksum = "17358d1e9a13e5b9c2264d301102126cf11a47fd394cdf3dec174fe7bc96e1de" dependencies = [ - "async-trait", - "bincode", - "futures-util", - "indexmap", - "indicatif", - "log", - "rayon", - "solana-client-traits", - "solana-clock", - "solana-commitment-config", - "solana-connection-cache", - "solana-epoch-info", - "solana-measure", - "solana-message", - "solana-net-utils", - "solana-pubkey", - "solana-pubsub-client", - "solana-quic-definitions", - "solana-rpc-client", - "solana-rpc-client-api", - "solana-signature", - "solana-signer", - "solana-transaction", - "solana-transaction-error", - "thiserror 2.0.12", - "tokio", + "solana-address 2.6.1", + "solana-sdk-ids", ] [[package]] name = "solana-transaction" -version = "2.2.2" +version = "4.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abec848d081beb15a324c633cd0e0ab33033318063230389895cae503ec9b544" +checksum = "6aa9b0f8543b99e1cb7db16a7c1a392139d82db57a90d262fb0a394807337bec" dependencies = [ - "bincode", "serde", "serde_derive", - "solana-bincode", - "solana-feature-set", + "solana-address 2.6.1", "solana-hash", "solana-instruction", - "solana-keypair", + "solana-instruction-error", "solana-message", - "solana-precompiles", - "solana-pubkey", "solana-sanitize", "solana-sdk-ids", "solana-short-vec", "solana-signature", "solana-signer", - "solana-system-interface", "solana-transaction-error", - "wasm-bindgen", + "wincode", ] [[package]] name = "solana-transaction-context" -version = "2.2.1" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5022de04cbba05377f68bf848c8c1322ead733f88a657bf792bb40f3257b8218" +checksum = "3ffd061d881fb2c182078e6ca6094fe113e50edbec224c4f8999747eb643cd02" dependencies = [ "bincode", "serde", - "serde_derive", - "solana-account", + "solana-account 4.3.1", "solana-instruction", - "solana-pubkey", - "solana-rent", - "solana-signature", + "solana-instructions-sysvar 3.0.1", + "solana-pubkey 4.2.0", + "solana-rent 4.3.0", + "solana-sbpf", + "solana-sdk-ids", ] [[package]] name = "solana-transaction-error" -version = "2.2.1" +version = "3.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222a9dc8fdb61c6088baab34fc3a8b8473a03a7a5fd404ed8dd502fa79b67cb1" +checksum = "a949797bc1ac31836d0070e791083028a8c2e0d493fa4cf51c0bed7a04c65c22" dependencies = [ "serde", "serde_derive", - "solana-instruction", + "solana-instruction-error", "solana-sanitize", ] -[[package]] -name = "solana-transaction-metrics-tracker" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4c03abfcb923aaf71c228e81b54a804aa224a48577477d8e1096c3a1429d21b" -dependencies = [ - "base64 0.22.1", - "bincode", - "lazy_static", - "log", - "rand 0.8.5", - "solana-packet", - "solana-perf", - "solana-short-vec", - "solana-signature", -] - [[package]] name = "solana-transaction-status-client-types" -version = "2.2.7" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4aaef59e8a54fc3a2dabfd85c32e35493c5e228f9d1efbcdcdc3c0819dddf7fd" +checksum = "be5aafaae40f808411265e0de673c1dc2b8a68bf4ad4d38ba7e141d5232a5f23" dependencies = [ "base64 0.22.1", "bincode", "bs58", "serde", - "serde_derive", "serde_json", "solana-account-decoder-client-types", "solana-commitment-config", + "solana-instruction", "solana-message", "solana-reward-info", "solana-signature", "solana-transaction", "solana-transaction-context", "solana-transaction-error", - "thiserror 2.0.12", -] - -[[package]] -name = "solana-type-overrides" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72735ae2d80d5556400b8fbb552688b3ac1413cd6c29e85db83d24ffe825a7f9" -dependencies = [ - "lazy_static", - "rand 0.8.5", -] - -[[package]] -name = "solana-udp-client" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d3e085a6adf81d51f678624934ffe266bd45a1c105849992b1af933c80bbf19" -dependencies = [ - "async-trait", - "solana-connection-cache", - "solana-keypair", - "solana-net-utils", - "solana-streamer", - "solana-transaction-error", - "thiserror 2.0.12", - "tokio", -] - -[[package]] -name = "solana-unified-scheduler-logic" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccc4e998f9185355afcd5119c8b3715f00ac836460faedceac6a73840fc2621d" -dependencies = [ - "assert_matches", - "solana-pubkey", - "solana-runtime-transaction", - "solana-transaction", - "static_assertions", + "thiserror 2.0.19", + "wincode", ] -[[package]] -name = "solana-validator-exit" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bbf6d7a3c0b28dd5335c52c0e9eae49d0ae489a8f324917faf0ded65a812c1d" - [[package]] name = "solana-version" -version = "2.2.7" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a58e01912dc3d5ff4391fe49476461b3b9ebc4215f3713d2fe3ffcfeda7f8e2" +checksum = "a33921090d55beb8dcded76d80982dd4eb02c8bc8115bad8a9aeb901531c10df" dependencies = [ "agave-feature-set", + "rand 0.9.5", "semver", "serde", - "serde_derive", "solana-sanitize", "solana-serde-varint", ] -[[package]] -name = "solana-vote" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f696980f793a5d7019d9da049bb9f18f109fcc14d9f7db568064f0ed5158273" -dependencies = [ - "itertools 0.12.1", - "log", - "serde", - "serde_derive", - "solana-account", - "solana-bincode", - "solana-clock", - "solana-hash", - "solana-instruction", - "solana-packet", - "solana-pubkey", - "solana-sdk-ids", - "solana-signature", - "solana-svm-transaction", - "solana-transaction", - "solana-vote-interface", - "thiserror 2.0.12", -] - [[package]] name = "solana-vote-interface" -version = "2.2.3" +version = "6.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b630547b7f12ee742e1c5069951fedba0fe5cbd4786f6342a779384e2b11f71" +checksum = "13a7a204b455a53fe8c9a26a6885391a5896835e06694dbe0cf37c580f82f128" dependencies = [ "bincode", + "cfg_eval", "num-derive", "num-traits", "serde", "serde_derive", + "serde_with", "solana-clock", - "solana-decode-error", "solana-hash", "solana-instruction", - "solana-pubkey", - "solana-rent", + "solana-instruction-error", + "solana-pubkey 4.2.0", + "solana-rent 4.3.0", "solana-sdk-ids", "solana-serde-varint", "solana-serialize-utils", "solana-short-vec", - "solana-system-interface", + "solana-system-interface 3.2.0", ] [[package]] name = "solana-vote-program" -version = "2.2.7" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27cb01906f935beee9d64a6a7881a583b55c8ffe4f767b9b19b687a68cd7cf47" +checksum = "16d772aa219b97b0cd9ec512c9330179714e3bb6231df4a8b81981b6c88f85f1" dependencies = [ "agave-feature-set", "bincode", "log", - "num-derive", - "num-traits", - "serde", - "serde_derive", - "solana-account", + "solana-account 4.3.1", "solana-bincode", + "solana-bls-signatures", "solana-clock", "solana-epoch-schedule", "solana-hash", "solana-instruction", - "solana-keypair", "solana-packet", "solana-program-runtime", - "solana-pubkey", - "solana-rent", + "solana-pubkey 4.2.0", + "solana-rent 4.3.0", "solana-sdk-ids", - "solana-signer", "solana-slot-hashes", - "solana-transaction", + "solana-system-interface 3.2.0", "solana-transaction-context", "solana-vote-interface", - "thiserror 2.0.12", ] [[package]] -name = "solana-zk-elgamal-proof-program" -version = "2.2.7" +name = "solana-zero-copy" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea15126ebdc7e270c50d43884369af9f51d2308156d46a18e351522a164844d" +dependencies = [ + "borsh", + "bytemuck", + "bytemuck_derive", +] + +[[package]] +name = "solana-zk-elgamal-proof-interface" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d352601fa721288f0a3a2b48c930aa6badb83c95cab47b5b14015a2915f04995" +checksum = "d8da7f01db2148a1dc16261ff1dc6f3930a1e255a33cece4f1b56658694f27f7" dependencies = [ "bytemuck", + "bytemuck_derive", "num-derive", "num-traits", + "solana-address 2.6.1", + "solana-instruction", + "solana-sdk-ids", + "solana-zk-sdk-pod", +] + +[[package]] +name = "solana-zk-elgamal-proof-program" +version = "4.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8d841aa9791a275535f676c9403413c66da7c1bb1c867d3575b58f4e5b881ef" +dependencies = [ + "bytemuck", "solana-instruction", - "solana-log-collector", "solana-program-runtime", "solana-sdk-ids", - "solana-zk-sdk", + "solana-svm-log-collector", + "solana-zk-sdk 5.0.1", ] [[package]] name = "solana-zk-sdk" -version = "2.2.7" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35a153bff0be31a58dacd7f40bc37fc80f5bb7cb3f38fb62e7a2777a8b48de25" +checksum = "9602bcb1f7af15caef92b91132ec2347e1c51a72ecdbefdaefa3eac4b8711475" dependencies = [ "aes-gcm-siv", "base64 0.22.1", "bincode", "bytemuck", "bytemuck_derive", - "curve25519-dalek 4.1.3", + "curve25519-dalek", + "getrandom 0.2.17", "itertools 0.12.1", "js-sys", - "lazy_static", "merlin", "num-derive", "num-traits", - "rand 0.8.5", + "rand 0.8.7", "serde", "serde_derive", "serde_json", "sha3", "solana-derivation-path", "solana-instruction", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-sdk-ids", "solana-seed-derivable", "solana-seed-phrase", "solana-signature", "solana-signer", "subtle", - "thiserror 2.0.12", - "wasm-bindgen", - "zeroize", -] - -[[package]] -name = "solana-zk-token-proof-program" -version = "2.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4086b331151047f6be5c71210e6690f3a4de222ccf43c90ec715ea60e860189" -dependencies = [ - "agave-feature-set", - "bytemuck", - "num-derive", - "num-traits", - "solana-instruction", - "solana-log-collector", - "solana-program-runtime", - "solana-sdk-ids", - "solana-zk-token-sdk", + "thiserror 2.0.19", + "wasm-bindgen", + "zeroize", ] [[package]] -name = "solana-zk-token-sdk" -version = "2.2.7" +name = "solana-zk-sdk" +version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06d91b7c7651e776b848b67b6b58f032566be4cd554e6f6283bdf415e3a70b61" +checksum = "09670ff59f60e6ddc2209c2e4353992a9b9f01d4e244f3e9d67bd5146e33d388" dependencies = [ "aes-gcm-siv", "base64 0.22.1", "bincode", "bytemuck", "bytemuck_derive", - "curve25519-dalek 4.1.3", - "itertools 0.12.1", - "lazy_static", + "curve25519-dalek", + "itertools 0.14.0", "merlin", "num-derive", "num-traits", - "rand 0.8.5", + "rand 0.8.7", "serde", "serde_derive", "serde_json", "sha3", - "solana-curve25519", + "solana-address 2.6.1", "solana-derivation-path", "solana-instruction", - "solana-pubkey", "solana-sdk-ids", "solana-seed-derivable", "solana-seed-phrase", "solana-signature", "solana-signer", "subtle", - "thiserror 2.0.12", + "thiserror 2.0.19", "zeroize", ] [[package]] -name = "spinning_top" -version = "0.3.0" +name = "solana-zk-sdk-pod" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d96d2d1d716fb500937168cc09353ffdc7a012be8475ac7308e1bdf0e3923300" +checksum = "a800583b7a4cea3e851686af162cc6e4712eef97fa91dfa9aca2459b95c84777" dependencies = [ - "lock_api", + "base64 0.22.1", + "bytemuck", + "bytemuck_derive", + "solana-nullable", + "thiserror 2.0.19", ] [[package]] -name = "spl-associated-token-account" -version = "6.0.0" +name = "solana-zk-token-proof-program" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76fee7d65013667032d499adc3c895e286197a35a0d3a4643c80e7fd3e9969e3" +checksum = "e4841d6e055847c84d011d187cbad022ea4f8832c85a61a1aa220c192bd4dfd0" dependencies = [ - "borsh 1.5.7", - "num-derive", - "num-traits", - "solana-program", - "spl-associated-token-account-client", - "spl-token 7.0.0", - "spl-token-2022 6.0.0", - "thiserror 1.0.69", + "solana-program-runtime", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", ] [[package]] -name = "spl-associated-token-account-client" +name = "spl-associated-token-account-interface" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6f8349dbcbe575f354f9a533a21f272f3eb3808a49e2fdc1c34393b88ba76cb" +checksum = "e6433917b60441d68d99a17e121d9db0ea15a9a69c0e5afa34649cf5ba12612f" dependencies = [ "solana-instruction", - "solana-pubkey", + "solana-pubkey 3.0.0", ] [[package]] name = "spl-discriminator" -version = "0.4.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7398da23554a31660f17718164e31d31900956054f54f52d5ec1be51cb4f4b3" +checksum = "e597c5ff9ed7c74a54dbc47bae2f06e4db8c98f4356ad280200dc11878266db1" dependencies = [ "bytemuck", "solana-program-error", @@ -7581,230 +5783,57 @@ checksum = "d9e8418ea6269dcfb01c712f0444d2c75542c04448b480e87de59d2865edc750" dependencies = [ "quote", "spl-discriminator-syn", - "syn 2.0.101", + "syn 2.0.119", ] [[package]] name = "spl-discriminator-syn" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c1f05593b7ca9eac7caca309720f2eafb96355e037e6d373b909a80fe7b69b9" +checksum = "5d1dbc82ab91422345b6df40a79e2b78c7bce1ebb366da323572dd60b7076b67" dependencies = [ "proc-macro2", "quote", "sha2 0.10.9", - "syn 2.0.101", + "syn 2.0.119", "thiserror 1.0.69", ] [[package]] -name = "spl-elgamal-registry" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce0f668975d2b0536e8a8fd60e56a05c467f06021dae037f1d0cfed0de2e231d" -dependencies = [ - "bytemuck", - "solana-program", - "solana-zk-sdk", - "spl-pod", - "spl-token-confidential-transfer-proof-extraction 0.2.1", -] - -[[package]] -name = "spl-elgamal-registry" -version = "0.3.0" +name = "spl-generic-token" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56cc66fe64651a48c8deb4793d8a5deec8f8faf19f355b9df294387bc5a36b5f" +checksum = "233df81b75ab99b42f002b5cdd6e65a7505ffa930624f7096a7580a56765e9cf" dependencies = [ "bytemuck", - "solana-account-info", - "solana-cpi", - "solana-instruction", - "solana-msg", - "solana-program-entrypoint", - "solana-program-error", - "solana-pubkey", - "solana-rent", - "solana-sdk-ids", - "solana-security-txt", - "solana-system-interface", - "solana-sysvar", - "solana-zk-sdk", - "spl-pod", - "spl-token-confidential-transfer-proof-extraction 0.4.0", -] - -[[package]] -name = "spl-memo" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f09647c0974e33366efeb83b8e2daebb329f0420149e74d3a4bd2c08cf9f7cb" -dependencies = [ - "solana-account-info", - "solana-instruction", - "solana-msg", - "solana-program-entrypoint", - "solana-program-error", - "solana-pubkey", + "solana-pubkey 3.0.0", ] [[package]] name = "spl-pod" -version = "0.5.1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d994afaf86b779104b4a95ba9ca75b8ced3fdb17ee934e38cb69e72afbe17799" +checksum = "2f9c6e142cdf1e7e77f480053ec9f0ce989890768ddf91f619b50f39d1b456f5" dependencies = [ - "borsh 1.5.7", + "borsh", "bytemuck", "bytemuck_derive", "num-derive", "num-traits", - "solana-decode-error", - "solana-msg", + "num_enum", "solana-program-error", "solana-program-option", - "solana-pubkey", - "solana-zk-sdk", - "thiserror 2.0.12", -] - -[[package]] -name = "spl-program-error" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d39b5186f42b2b50168029d81e58e800b690877ef0b30580d107659250da1d1" -dependencies = [ - "num-derive", - "num-traits", - "solana-program", - "spl-program-error-derive 0.4.1", - "thiserror 1.0.69", -] - -[[package]] -name = "spl-program-error" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cdebc8b42553070b75aa5106f071fef2eb798c64a7ec63375da4b1f058688c6" -dependencies = [ - "num-derive", - "num-traits", - "solana-decode-error", - "solana-msg", - "solana-program-error", - "spl-program-error-derive 0.5.0", - "thiserror 2.0.12", -] - -[[package]] -name = "spl-program-error-derive" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d375dd76c517836353e093c2dbb490938ff72821ab568b545fd30ab3256b3e" -dependencies = [ - "proc-macro2", - "quote", - "sha2 0.10.9", - "syn 2.0.101", -] - -[[package]] -name = "spl-program-error-derive" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2539e259c66910d78593475540e8072f0b10f0f61d7607bbf7593899ed52d0" -dependencies = [ - "proc-macro2", - "quote", - "sha2 0.10.9", - "syn 2.0.101", -] - -[[package]] -name = "spl-record" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1288810a85bbe7e62ee3c6f7b8119e8c1016e90351411d12e4132e98c7ca7344" -dependencies = [ - "bytemuck", - "num-derive", - "num-traits", - "solana-account-info", - "solana-decode-error", - "solana-instruction", - "solana-msg", - "solana-program-entrypoint", - "solana-program-error", - "solana-program-pack", - "solana-pubkey", - "solana-rent", - "thiserror 1.0.69", -] - -[[package]] -name = "spl-tlv-account-resolution" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd99ff1e9ed2ab86e3fd582850d47a739fec1be9f4661cba1782d3a0f26805f3" -dependencies = [ - "bytemuck", - "num-derive", - "num-traits", - "solana-account-info", - "solana-decode-error", - "solana-instruction", - "solana-msg", - "solana-program-error", - "solana-pubkey", - "spl-discriminator", - "spl-pod", - "spl-program-error 0.6.0", - "spl-type-length-value 0.7.0", - "thiserror 1.0.69", -] - -[[package]] -name = "spl-tlv-account-resolution" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1408e961215688715d5a1063cbdcf982de225c45f99c82b4f7d7e1dd22b998d7" -dependencies = [ - "bytemuck", - "num-derive", - "num-traits", - "solana-account-info", - "solana-decode-error", - "solana-instruction", - "solana-msg", - "solana-program-error", - "solana-pubkey", - "spl-discriminator", - "spl-pod", - "spl-program-error 0.7.0", - "spl-type-length-value 0.8.0", - "thiserror 2.0.12", + "solana-pubkey 3.0.0", + "solana-zero-copy", + "solana-zk-sdk 4.0.0", + "thiserror 2.0.19", ] [[package]] -name = "spl-token" -version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed320a6c934128d4f7e54fe00e16b8aeaecf215799d060ae14f93378da6dc834" -dependencies = [ - "arrayref", - "bytemuck", - "num-derive", - "num-traits", - "num_enum", - "solana-program", - "thiserror 1.0.69", -] - -[[package]] -name = "spl-token" -version = "8.0.0" +name = "spl-token-2022-interface" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053067c6a82c705004f91dae058b11b4780407e9ccd6799dc9e7d0fab5f242da" +checksum = "2fcd81188211f4b3c8a5eba7fd534c7142f9dd026123b3472492782cc72f4dc6" dependencies = [ "arrayref", "bytemuck", @@ -7812,368 +5841,216 @@ dependencies = [ "num-traits", "num_enum", "solana-account-info", - "solana-cpi", - "solana-decode-error", "solana-instruction", - "solana-msg", - "solana-program-entrypoint", "solana-program-error", - "solana-program-memory", "solana-program-option", "solana-program-pack", - "solana-pubkey", - "solana-rent", + "solana-pubkey 3.0.0", "solana-sdk-ids", - "solana-sysvar", - "thiserror 2.0.12", -] - -[[package]] -name = "spl-token-2022" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b27f7405010ef816587c944536b0eafbcc35206ab6ba0f2ca79f1d28e488f4f" -dependencies = [ - "arrayref", - "bytemuck", - "num-derive", - "num-traits", - "num_enum", - "solana-program", - "solana-security-txt", - "solana-zk-sdk", - "spl-elgamal-registry 0.1.1", - "spl-memo", + "solana-zk-sdk 4.0.0", "spl-pod", - "spl-token 7.0.0", - "spl-token-confidential-transfer-ciphertext-arithmetic 0.2.1", - "spl-token-confidential-transfer-proof-extraction 0.2.1", - "spl-token-confidential-transfer-proof-generation 0.2.0", - "spl-token-group-interface 0.5.0", - "spl-token-metadata-interface 0.6.0", - "spl-transfer-hook-interface 0.9.0", - "spl-type-length-value 0.7.0", - "thiserror 1.0.69", + "spl-token-confidential-transfer-proof-extraction 0.5.1", + "spl-token-confidential-transfer-proof-generation", + "spl-token-group-interface", + "spl-token-metadata-interface 0.8.0", + "spl-type-length-value", + "thiserror 2.0.19", ] [[package]] -name = "spl-token-2022" -version = "9.0.0" +name = "spl-token-2022-interface" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707d8237d17d857246b189d0fb278797dcd7cf6219374547791b231fd35a8cc8" +checksum = "821d96d034ea31c4965d182c742153c491ae0abee531331b55771086c5030d86" dependencies = [ "arrayref", "bytemuck", + "getrandom 0.2.17", "num-derive", "num-traits", "num_enum", "solana-account-info", - "solana-clock", - "solana-cpi", - "solana-decode-error", + "solana-address 2.6.1", "solana-instruction", - "solana-msg", - "solana-native-token", - "solana-program-entrypoint", + "solana-nullable", "solana-program-error", - "solana-program-memory", "solana-program-option", "solana-program-pack", - "solana-pubkey", - "solana-rent", "solana-sdk-ids", - "solana-security-txt", - "solana-system-interface", - "solana-sysvar", - "solana-zk-sdk", - "spl-elgamal-registry 0.3.0", - "spl-memo", - "spl-pod", - "spl-token 8.0.0", - "spl-token-confidential-transfer-ciphertext-arithmetic 0.3.0", - "spl-token-confidential-transfer-proof-extraction 0.4.0", - "spl-token-confidential-transfer-proof-generation 0.4.0", - "spl-token-group-interface 0.6.0", - "spl-token-metadata-interface 0.7.0", - "spl-transfer-hook-interface 0.10.0", - "spl-type-length-value 0.8.0", - "thiserror 2.0.12", -] - -[[package]] -name = "spl-token-client" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c063f31347dec4286beec6e568c70059d27295c1b013711c26c84d52a60a1e7" -dependencies = [ - "async-trait", - "bincode", - "bytemuck", - "futures", - "futures-util", - "solana-banks-interface", - "solana-program-test", - "solana-rpc-client", - "solana-rpc-client-api", - "solana-sdk", - "spl-associated-token-account-client", - "spl-elgamal-registry 0.3.0", - "spl-memo", - "spl-record", - "spl-token 8.0.0", - "spl-token-2022 9.0.0", - "spl-token-confidential-transfer-proof-extraction 0.4.0", - "spl-token-confidential-transfer-proof-generation 0.4.0", - "spl-token-group-interface 0.6.0", - "spl-token-metadata-interface 0.7.0", - "spl-transfer-hook-interface 0.10.0", - "thiserror 2.0.12", -] - -[[package]] -name = "spl-token-confidential-transfer-ciphertext-arithmetic" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "170378693c5516090f6d37ae9bad2b9b6125069be68d9acd4865bbe9fc8499fd" -dependencies = [ - "base64 0.22.1", - "bytemuck", - "solana-curve25519", - "solana-zk-sdk", -] - -[[package]] -name = "spl-token-confidential-transfer-ciphertext-arithmetic" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94ab20faf7b5edaa79acd240e0f21d5a2ef936aa99ed98f698573a2825b299c4" -dependencies = [ - "base64 0.22.1", - "bytemuck", - "solana-curve25519", - "solana-zk-sdk", -] - -[[package]] -name = "spl-token-confidential-transfer-proof-extraction" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eff2d6a445a147c9d6dd77b8301b1e116c8299601794b558eafa409b342faf96" -dependencies = [ - "bytemuck", - "solana-curve25519", - "solana-program", - "solana-zk-sdk", - "spl-pod", - "thiserror 2.0.12", + "solana-zero-copy", + "solana-zk-elgamal-proof-interface", + "solana-zk-sdk-pod", + "spl-token-confidential-transfer-proof-extraction 0.6.1", + "spl-token-group-interface", + "spl-token-metadata-interface 1.0.1", + "spl-type-length-value", + "thiserror 2.0.19", ] [[package]] name = "spl-token-confidential-transfer-proof-extraction" -version = "0.4.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bedc4675c80409a004da46978674e4073c65c4b1c611bf33d120381edeffe036" +checksum = "879a9ebad0d77383d3ea71e7de50503554961ff0f4ef6cbca39ad126e6f6da3a" dependencies = [ "bytemuck", "solana-account-info", - "solana-curve25519", + "solana-curve25519 3.1.14", "solana-instruction", - "solana-instructions-sysvar", + "solana-instructions-sysvar 3.0.1", "solana-msg", "solana-program-error", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-sdk-ids", - "solana-zk-sdk", + "solana-zk-sdk 4.0.0", "spl-pod", - "thiserror 2.0.12", -] - -[[package]] -name = "spl-token-confidential-transfer-proof-generation" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8627184782eec1894de8ea26129c61303f1f0adeed65c20e0b10bc584f09356d" -dependencies = [ - "curve25519-dalek 4.1.3", - "solana-zk-sdk", - "thiserror 1.0.69", + "thiserror 2.0.19", ] [[package]] -name = "spl-token-confidential-transfer-proof-generation" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae5b124840d4aed474cef101d946a798b806b46a509ee4df91021e1ab1cef3ef" -dependencies = [ - "curve25519-dalek 4.1.3", - "solana-zk-sdk", - "thiserror 2.0.12", -] - -[[package]] -name = "spl-token-group-interface" -version = "0.5.0" +name = "spl-token-confidential-transfer-proof-extraction" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d595667ed72dbfed8c251708f406d7c2814a3fa6879893b323d56a10bedfc799" +checksum = "0c1a845ec724e807643a04f1d43439ee3571dd913848112ac76aa90b850eaf7c" dependencies = [ "bytemuck", - "num-derive", - "num-traits", - "solana-decode-error", + "solana-account-info", + "solana-address 2.6.1", + "solana-curve25519 4.0.1", "solana-instruction", + "solana-instructions-sysvar 3.0.1", "solana-msg", "solana-program-error", - "solana-pubkey", - "spl-discriminator", - "spl-pod", - "thiserror 1.0.69", + "solana-sdk-ids", + "solana-zk-elgamal-proof-interface", + "solana-zk-sdk-pod", + "thiserror 2.0.19", ] [[package]] -name = "spl-token-group-interface" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5597b4cd76f85ce7cd206045b7dc22da8c25516573d42d267c8d1fd128db5129" -dependencies = [ - "bytemuck", - "num-derive", - "num-traits", - "solana-decode-error", - "solana-instruction", - "solana-msg", - "solana-program-error", - "solana-pubkey", - "spl-discriminator", - "spl-pod", - "thiserror 2.0.12", +name = "spl-token-confidential-transfer-proof-generation" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0cd59fce3dc00f563c6fa364d67c3f200d278eae681f4dc250240afcfe044b1" +dependencies = [ + "curve25519-dalek", + "solana-zk-sdk 4.0.0", + "thiserror 2.0.19", ] [[package]] -name = "spl-token-metadata-interface" -version = "0.6.0" +name = "spl-token-group-interface" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfb9c89dbc877abd735f05547dcf9e6e12c00c11d6d74d8817506cab4c99fdbb" +checksum = "841cbd6f2322d02719be4da1affedbe6495b1048b7b985ec9796032564026e22" dependencies = [ - "borsh 1.5.7", + "bytemuck", "num-derive", "num-traits", - "solana-borsh", - "solana-decode-error", + "num_enum", + "solana-address 2.6.1", "solana-instruction", - "solana-msg", + "solana-nullable", "solana-program-error", - "solana-pubkey", + "solana-zero-copy", "spl-discriminator", - "spl-pod", - "spl-type-length-value 0.7.0", - "thiserror 1.0.69", + "thiserror 2.0.19", ] [[package]] -name = "spl-token-metadata-interface" -version = "0.7.0" +name = "spl-token-interface" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "304d6e06f0de0c13a621464b1fd5d4b1bebf60d15ca71a44d3839958e0da16ee" +checksum = "8c564ac05a7c8d8b12e988a37d82695b5ba4db376d07ea98bc4882c81f96c7f3" dependencies = [ - "borsh 1.5.7", + "arrayref", + "bytemuck", "num-derive", "num-traits", - "solana-borsh", - "solana-decode-error", + "num_enum", "solana-instruction", - "solana-msg", "solana-program-error", - "solana-pubkey", - "spl-discriminator", - "spl-pod", - "spl-type-length-value 0.8.0", - "thiserror 2.0.12", + "solana-program-option", + "solana-program-pack", + "solana-pubkey 3.0.0", + "solana-sdk-ids", + "thiserror 2.0.19", ] [[package]] -name = "spl-transfer-hook-interface" -version = "0.9.0" +name = "spl-token-interface" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4aa7503d52107c33c88e845e1351565050362c2314036ddf19a36cd25137c043" +checksum = "7143c4e676984047a400e2fbd7ac29a1659f2b1b52b897cfde19316b562e4589" dependencies = [ "arrayref", "bytemuck", "num-derive", "num-traits", - "solana-account-info", - "solana-cpi", - "solana-decode-error", + "num_enum", "solana-instruction", - "solana-msg", "solana-program-error", - "solana-pubkey", - "spl-discriminator", - "spl-pod", - "spl-program-error 0.6.0", - "spl-tlv-account-resolution 0.9.0", - "spl-type-length-value 0.7.0", - "thiserror 1.0.69", + "solana-program-option", + "solana-program-pack", + "solana-pubkey 3.0.0", + "solana-sdk-ids", + "thiserror 2.0.19", ] [[package]] -name = "spl-transfer-hook-interface" -version = "0.10.0" +name = "spl-token-metadata-interface" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7e905b849b6aba63bde8c4badac944ebb6c8e6e14817029cbe1bc16829133bd" +checksum = "9c467c7c3bd056f8fe60119e7ec34ddd6f23052c2fa8f1f51999098063b72676" dependencies = [ - "arrayref", - "bytemuck", + "borsh", "num-derive", "num-traits", - "solana-account-info", - "solana-cpi", - "solana-decode-error", + "solana-borsh", "solana-instruction", - "solana-msg", "solana-program-error", - "solana-pubkey", + "solana-pubkey 3.0.0", "spl-discriminator", "spl-pod", - "spl-program-error 0.7.0", - "spl-tlv-account-resolution 0.10.0", - "spl-type-length-value 0.8.0", - "thiserror 2.0.12", + "spl-type-length-value", + "thiserror 2.0.19", ] [[package]] -name = "spl-type-length-value" -version = "0.7.0" +name = "spl-token-metadata-interface" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba70ef09b13af616a4c987797870122863cba03acc4284f226a4473b043923f9" +checksum = "3d3d96f175e7022ff200464dfa75a3708a4e9b70c83c4ecd04fe52ee479f4fef" dependencies = [ - "bytemuck", + "borsh", "num-derive", "num-traits", - "solana-account-info", - "solana-decode-error", - "solana-msg", + "num_enum", + "solana-address 2.6.1", + "solana-borsh", + "solana-instruction", + "solana-nullable", "solana-program-error", "spl-discriminator", - "spl-pod", - "thiserror 1.0.69", + "spl-type-length-value", + "thiserror 2.0.19", ] [[package]] name = "spl-type-length-value" -version = "0.8.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d417eb548214fa822d93f84444024b4e57c13ed6719d4dcc68eec24fb481e9f5" +checksum = "2504631748c48d2a937414d64a12dcac4588d34bd07d355d648619c189d29435" dependencies = [ "bytemuck", "num-derive", "num-traits", + "num_enum", "solana-account-info", - "solana-decode-error", - "solana-msg", "solana-program-error", + "solana-zero-copy", "spl-discriminator", - "spl-pod", - "thiserror 2.0.12", + "thiserror 2.0.19", ] [[package]] @@ -8183,23 +6060,23 @@ dependencies = [ "base64 0.22.1", "bincode", "sha2 0.10.9", - "solana-client", - "solana-sdk", - "thiserror 2.0.12", + "solana-compute-budget-interface", + "solana-hash", + "solana-instruction", + "solana-message", + "solana-pubkey 4.2.0", + "solana-rpc-client", + "solana-signer", + "solana-transaction", + "thiserror 2.0.19", "tokio", ] [[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" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "strsim" @@ -8207,35 +6084,13 @@ 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 0.24.3", -] - [[package]] name = "strum" version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" dependencies = [ - "strum_macros 0.26.4", -] - -[[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", + "strum_macros", ] [[package]] @@ -8248,7 +6103,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.101", + "syn 2.0.119", ] [[package]] @@ -8257,12 +6112,6 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" -[[package]] -name = "symlink" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7973cce6668464ea31f176d85b13c7ab3bba2cb3b77a2ed26abd7801688010a" - [[package]] name = "syn" version = "1.0.109" @@ -8276,9 +6125,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.101" +version = "2.0.119" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" dependencies = [ "proc-macro2", "quote", @@ -8286,27 +6135,23 @@ dependencies = [ ] [[package]] -name = "sync_wrapper" -version = "0.1.2" +name = "syn" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +checksum = "f2fac314a64dc9a36e61a9eb4261a5e9bbfbc922b27e518af97bc32b926cf967" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] [[package]] name = "sync_wrapper" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" - -[[package]] -name = "synstructure" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-xid", + "futures-core", ] [[package]] @@ -8317,112 +6162,14 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", -] - -[[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 = "tar" -version = "0.4.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a" -dependencies = [ - "filetime", - "libc", - "xattr", -] - -[[package]] -name = "tarpc" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38a012bed6fb9681d3bf71ffaa4f88f3b4b9ed3198cda6e4c8462d24d4bb80" -dependencies = [ - "anyhow", - "fnv", - "futures", - "humantime", - "opentelemetry", - "pin-project", - "rand 0.8.5", - "serde", - "static_assertions", - "tarpc-plugins", - "thiserror 1.0.69", - "tokio", - "tokio-serde", - "tokio-util 0.6.10", - "tracing", - "tracing-opentelemetry", -] - -[[package]] -name = "tarpc-plugins" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ee42b4e559f17bce0385ebf511a7beb67d5cc33c12c96b7f4e9789919d9c10f" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "task-local-extensions" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba323866e5d033818e3240feeb9f7db2c4296674e4d9e16b97b7bf8f490434e8" -dependencies = [ - "pin-utils", -] - -[[package]] -name = "tempfile" -version = "3.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" -dependencies = [ - "fastrand", - "getrandom 0.3.3", - "once_cell", - "rustix 1.0.7", - "windows-sys 0.59.0", -] - -[[package]] -name = "termcolor" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" -dependencies = [ - "winapi-util", + "syn 2.0.119", ] [[package]] -name = "termtree" -version = "0.5.1" +name = "tap" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "test-case" @@ -8442,7 +6189,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.119", ] [[package]] @@ -8453,7 +6200,7 @@ checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.119", "test-case-core", ] @@ -8468,11 +6215,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.12" +version = "2.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +checksum = "09a43598840e33d5b0331f38c5e30d13bb11c11210a4b58f0d9b18a5a5eefcd9" dependencies = [ - "thiserror-impl 2.0.12", + "thiserror-impl 2.0.19", ] [[package]] @@ -8483,66 +6230,43 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.119", ] [[package]] name = "thiserror-impl" -version = "2.0.12" +version = "2.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +checksum = "43cbfe0cf76104d42a574802844187e84a305e531ed54455f11fbde0f10541cd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 3.0.0", ] [[package]] name = "thread_local" -version = "1.1.8" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +checksum = "1ad99c4c6d32803332c548b1af0540b357b3f5fc0be8f6c6bfe8b2e6ae784070" dependencies = [ "cfg-if", - "once_cell", -] - -[[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" +name = "threadpool" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" dependencies = [ - "num-conv", - "time-core", + "num_cpus", ] [[package]] name = "tinystr" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" +checksum = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d" dependencies = [ "displaydoc", "zerovec", @@ -8550,9 +6274,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.9.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" +checksum = "bb4ebadaa0af04fab11ae01eb5f9fdb5f9c5b875506e210e71c07873528baa7f" dependencies = [ "tinyvec_macros", ] @@ -8565,11 +6289,10 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.45.0" +version = "1.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165" +checksum = "d988bcd52dbe076d3d46903332f58c912b87a2c49b1428419a5845154762ffee" dependencies = [ - "backtrace", "bytes", "libc", "mio", @@ -8578,160 +6301,113 @@ dependencies = [ "signal-hook-registry", "socket2", "tokio-macros", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "tokio-macros" -version = "2.5.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" +checksum = "6328af13490e73a9b4694030fafd93f8c8c6a9dede33e821c3fc63eddf8042ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.119", ] [[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-serde" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "911a61637386b789af998ee23f50aa30d5fd7edcec8d6d3dedae5e5815205466" -dependencies = [ - "bincode", - "bytes", - "educe", - "futures-core", - "futures-sink", - "pin-project", - "serde", - "serde_json", -] - -[[package]] -name = "tokio-stream" -version = "0.1.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" -dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "tokio-tungstenite" -version = "0.20.1" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" +checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" dependencies = [ - "futures-util", - "log", - "rustls 0.21.12", + "rustls", "tokio", - "tokio-rustls", - "tungstenite", - "webpki-roots 0.25.4", ] [[package]] name = "tokio-util" -version = "0.6.10" +version = "0.7.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36943ee01a6d67977dd3f84a5a1d2efeb4ada3a1ae771cadfaa535d9d9fc6507" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" dependencies = [ "bytes", "futures-core", "futures-sink", - "log", "pin-project-lite", - "slab", "tokio", ] [[package]] -name = "tokio-util" -version = "0.7.15" +name = "toml" +version = "0.9.12+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" +checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863" dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", + "indexmap", + "serde_core", + "serde_spanned", + "toml_datetime 0.7.5+spec-1.1.0", + "toml_parser", + "toml_writer", + "winnow 0.7.15", ] [[package]] -name = "toml" -version = "0.5.11" +name = "toml_datetime" +version = "0.7.5+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" dependencies = [ - "serde", + "serde_core", ] [[package]] -name = "toml" -version = "0.8.22" +name = "toml_datetime" +version = "1.1.1+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae" +checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit", + "serde_core", ] [[package]] -name = "toml_datetime" -version = "0.6.9" +name = "toml_edit" +version = "0.25.13+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3" +checksum = "6975367e4d2ef766d86af01ffad14b622fecc8d4357a998fbc4deb6e9bacaf9b" dependencies = [ - "serde", + "indexmap", + "toml_datetime 1.1.1+spec-1.1.0", + "toml_parser", + "winnow 1.0.4", ] [[package]] -name = "toml_edit" -version = "0.22.26" +name = "toml_parser" +version = "1.1.2+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" +checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526" dependencies = [ - "indexmap", - "serde", - "serde_spanned", - "toml_datetime", - "toml_write", - "winnow", + "winnow 1.0.4", ] [[package]] -name = "toml_write" -version = "0.1.1" +name = "toml_writer" +version = "1.1.2+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076" +checksum = "7d56353a2a665ad0f41a421187180aab746c8c325620617ad883a99a1cbe66d2" [[package]] name = "tower" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" dependencies = [ "futures-core", "futures-util", "pin-project-lite", - "sync_wrapper 1.0.2", + "sync_wrapper", "tokio", "tower-layer", "tower-service", @@ -8740,19 +6416,26 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.4" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fdb0c213ca27a9f57ab69ddb290fd80d970922355b83ae380b395d3986b8a2e" +checksum = "4cfcf7e2740e6fc6d4d688b4ef00650406bb94adf4731e43c096c3a19fe40840" dependencies = [ - "bitflags 2.9.1", + "async-compression", + "bitflags", "bytes", - "http 1.3.1", - "http-body 1.0.1", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", "pin-project-lite", "tokio", + "tokio-util", + "tower", "tower-layer", "tower-service", "tracing", + "url", "uuid", ] @@ -8770,9 +6453,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.41" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "log", "pin-project-lite", @@ -8782,20 +6465,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.28" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.119", ] [[package]] name = "tracing-core" -version = "0.1.33" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", "valuable", @@ -8812,29 +6495,16 @@ dependencies = [ "tracing-core", ] -[[package]] -name = "tracing-opentelemetry" -version = "0.17.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbbe89715c1dbbb790059e2565353978564924ee85017b5fff365c872ff6721f" -dependencies = [ - "once_cell", - "opentelemetry", - "tracing", - "tracing-core", - "tracing-subscriber", -] - [[package]] name = "tracing-subscriber" -version = "0.3.19" +version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" +checksum = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319" dependencies = [ "matchers", "nu-ansi-term", "once_cell", - "regex", + "regex-automata", "sharded-slab", "smallvec", "thread_local", @@ -8849,62 +6519,41 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" -[[package]] -name = "tungstenite" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" -dependencies = [ - "byteorder", - "bytes", - "data-encoding", - "http 0.2.12", - "httparse", - "log", - "rand 0.8.5", - "rustls 0.21.12", - "sha1", - "thiserror 1.0.69", - "url", - "utf-8", - "webpki-roots 0.24.0", -] - [[package]] name = "typenum" -version = "1.18.0" +version = "1.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" +checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20" [[package]] name = "unicase" -version = "2.8.1" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" +checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142" [[package]] name = "unicode-ident" -version = "1.0.18" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] name = "unicode-segmentation" -version = "1.12.0" +version = "1.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" +checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8" [[package]] name = "unicode-width" -version = "0.2.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" +checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" [[package]] -name = "unicode-xid" -version = "0.2.6" +name = "unit-prefix" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" +checksum = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3" [[package]] name = "universal-hash" @@ -8912,7 +6561,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ - "crypto-common", + "crypto-common 0.1.7", "subtle", ] @@ -8943,21 +6592,16 @@ dependencies = [ [[package]] name = "url" -version = "2.5.4" +version = "2.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" dependencies = [ "form_urlencoded", "idna", "percent-encoding", + "serde", ] -[[package]] -name = "utf-8" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" - [[package]] name = "utf8_iter" version = "1.0.4" @@ -8972,9 +6616,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "utoipa" -version = "5.3.1" +version = "5.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435c6f69ef38c9017b4b4eea965dfb91e71e53d869e896db40d1cf2441dd75c0" +checksum = "8bde15df68e80b16c7d16b9616e80770ad158988daa56a27dccd1e55558b0160" dependencies = [ "indexmap", "serde", @@ -8982,36 +6626,23 @@ dependencies = [ "utoipa-gen", ] -[[package]] -name = "utoipa-axum" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c25bae5bccc842449ec0c5ddc5cbb6a3a1eaeac4503895dc105a1138f8234a0" -dependencies = [ - "axum", - "paste", - "tower-layer", - "tower-service", - "utoipa", -] - [[package]] name = "utoipa-gen" -version = "5.3.1" +version = "5.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a77d306bc75294fd52f3e99b13ece67c02c1a2789190a6f31d32f736624326f7" +checksum = "6ba0b99ee52df3028635d93840c797102da61f8a7bb3cf751032455895b52ef8" dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.101", + "syn 2.0.119", ] [[package]] name = "utoipa-swagger-ui" -version = "9.0.0" +version = "9.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "161166ec520c50144922a625d8bc4925cc801b2dda958ab69878527c0e5c5d61" +checksum = "d047458f1b5b65237c2f6dc6db136945667f40a7668627b3490b9513a3d43a55" dependencies = [ "axum", "base64 0.22.1", @@ -9042,7 +6673,7 @@ checksum = "268d76aaebb80eba79240b805972e52d7d410d4bcc52321b951318b0f440cd60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.119", ] [[package]] @@ -9053,17 +6684,19 @@ checksum = "382673bda1d05c85b4550d32fd4192ccd4cffe9a908543a0795d1e7682b36246" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.119", "utoipauto-core", ] [[package]] name = "uuid" -version = "1.16.0" +version = "1.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" +checksum = "bf3923a6f5c4c6382e0b653c4117f48d631ea17f38ed86e2a828e6f7412f5239" dependencies = [ - "getrandom 0.3.3", + "getrandom 0.4.3", + "js-sys", + "wasm-bindgen", ] [[package]] @@ -9074,15 +6707,9 @@ checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "value-bag" -version = "1.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "943ce29a8a743eb10d6082545d861b24f9d1b160b7d741e0f2cdf726bec909c5" - -[[package]] -name = "vcpkg" -version = "0.2.15" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" +checksum = "5dd4ec1eb1d240636e354a30110a1dfcb37047169a4d9bd6d9d3469df574b5c4" [[package]] name = "version_check" @@ -9117,69 +6744,47 @@ dependencies = [ [[package]] name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] -name = "wasi" -version = "0.14.2+wasi-0.2.4" +name = "wasip2" +version = "1.0.4+wasi-0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +checksum = "b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487" dependencies = [ - "wit-bindgen-rt", + "wit-bindgen", ] [[package]] name = "wasm-bindgen" -version = "0.2.100" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +checksum = "4b067c0c11094aef6b7a801c1e34a26affafdf3d051dba08456b868789aaf9a4" dependencies = [ "cfg-if", "once_cell", "rustversion", "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" -dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn 2.0.101", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.50" +version = "0.4.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" +checksum = "c62df1340f32221cb9c54d6a27b030e3dba64361d4a95bed55f9aacb44da291d" dependencies = [ - "cfg-if", "js-sys", - "once_cell", "wasm-bindgen", - "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.100" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +checksum = "167ce5e579f6bcf889c4f7175a8a5a585de84e8ff93976ce393efa5f2837aab1" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -9187,31 +6792,31 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.100" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +checksum = "f3997c7839262f4ef12cf90b818d6340c18e80f263f1a94bf157d0ec4420380e" dependencies = [ + "bumpalo", "proc-macro2", "quote", - "syn 2.0.101", - "wasm-bindgen-backend", + "syn 2.0.119", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.100" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +checksum = "dc1b4cb0cc549fcf58d7dfc081778139b3d283a081644e833e84682ad71cea24" dependencies = [ "unicode-ident", ] [[package]] name = "web-sys" -version = "0.3.77" +version = "0.3.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +checksum = "8622dcb61c0bcc9fffa6938bed81210af2da9a7e4a1a834b2e37a59b6dfb6141" dependencies = [ "js-sys", "wasm-bindgen", @@ -9233,51 +6838,17 @@ version = "0.1.0" dependencies = [ "serde", "serde_json", - "strum 0.26.3", + "strum", "utoipa", ] -[[package]] -name = "webpki-root-certs" -version = "0.26.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75c7f0ef91146ebfb530314f5f1d24528d7f0767efbfd31dce919275413e393e" -dependencies = [ - "webpki-root-certs 1.0.0", -] - -[[package]] -name = "webpki-root-certs" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01a83f7e1a9f8712695c03eabe9ed3fbca0feff0152f33f12593e5a6303cb1a4" -dependencies = [ - "rustls-pki-types", -] - -[[package]] -name = "webpki-roots" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b291546d5d9d1eab74f069c77749f2cb8504a12caa20f0f2de93ddbf6f411888" -dependencies = [ - "rustls-webpki 0.101.7", -] - [[package]] name = "webpki-roots" -version = "0.25.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" - -[[package]] -name = "wide" -version = "0.7.32" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41b5576b9a81633f3e8df296ce0063042a73507636cbe956c61133dd7034ab22" +checksum = "7dcd9d09a39985f5344844e66b0c530a33843579125f23e21e9f0f220850f22a" dependencies = [ - "bytemuck", - "safe_arch", + "rustls-pki-types", ] [[package]] @@ -9298,11 +6869,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -9312,81 +6883,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "windows-core" -version = "0.61.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46ec44dc15085cea82cf9c78f85a9114c463a369786585ad2882d1ff0b0acf40" -dependencies = [ - "windows-implement", - "windows-interface", - "windows-link", - "windows-result", - "windows-strings", -] - -[[package]] -name = "windows-implement" -version = "0.60.0" +name = "wincode" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" +checksum = "66d967db7705dc29120bb6e8ce5b5a2e27734ed5976d1c904e95bd238d1c3c5a" dependencies = [ + "bv", + "pastey", "proc-macro2", "quote", - "syn 2.0.101", + "thiserror 2.0.19", + "wincode-derive", ] [[package]] -name = "windows-interface" -version = "0.59.1" +name = "wincode-derive" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" +checksum = "15ab90b719560d0fda79c74550ad1c948d17b118765942838055ebaf34d67071" dependencies = [ + "darling", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.119", ] [[package]] name = "windows-link" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" - -[[package]] -name = "windows-result" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b895b5356fc36103d0f64dd1e94dfa7ac5633f1c9dd6e80fe9ec4adef69e09d" -dependencies = [ - "windows-link", -] - -[[package]] -name = "windows-strings" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a7ab927b2637c19b3dbe0965e75d8f2d30bdd697a1516191cad2ec4df8fb28a" -dependencies = [ - "windows-link", -] - -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" [[package]] name = "windows-sys" @@ -9394,46 +6920,16 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.6", + "windows-targets", ] [[package]] name = "windows-sys" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-targets" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" 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", + "windows-link", ] [[package]] @@ -9442,64 +6938,28 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", "windows_i686_gnullvm", - "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", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", ] -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" - -[[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.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" - -[[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.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" - -[[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" @@ -9512,72 +6972,24 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" -[[package]] -name = "windows_i686_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" - -[[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.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" - -[[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.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" - -[[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.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - -[[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" @@ -9586,73 +6998,46 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.7.10" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" -dependencies = [ - "memchr", -] +checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" [[package]] -name = "winreg" -version = "0.50.0" +name = "winnow" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +checksum = "23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81" dependencies = [ - "cfg-if", - "windows-sys 0.48.0", + "memchr", ] [[package]] -name = "wit-bindgen-rt" -version = "0.39.0" +name = "wit-bindgen" +version = "0.57.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" -dependencies = [ - "bitflags 2.9.1", -] +checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" [[package]] name = "writeable" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" - -[[package]] -name = "x509-parser" -version = "0.14.0" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8" -dependencies = [ - "asn1-rs", - "base64 0.13.1", - "data-encoding", - "der-parser", - "lazy_static", - "nom", - "oid-registry", - "rusticata-macros", - "thiserror 1.0.69", - "time", -] +checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4" [[package]] -name = "xattr" -version = "1.5.0" +name = "wyz" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d65cbf2f12c15564212d48f4e3dfb87923d25d611f2aed18f4cb23f0413d89e" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" dependencies = [ - "libc", - "rustix 1.0.7", + "tap", ] [[package]] name = "yoke" -version = "0.8.0" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" +checksum = "709fe23a0424b6a435d82152b1bd3fdfb0833487d5fa90d05d42762a9891fef5" dependencies = [ - "serde", "stable_deref_trait", "yoke-derive", "zerofrom", @@ -9660,82 +7045,82 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.8.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" +checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", - "synstructure 0.13.2", + "syn 2.0.119", + "synstructure", ] [[package]] name = "zerocopy" -version = "0.8.25" +version = "0.8.54" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" +checksum = "b7cbbc0a705a0fd05cc3676525980d2bf5a9bc4adac6d6475209a7887cf59d19" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.25" +version = "0.8.54" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" +checksum = "e2e817b7b52d0c7358d3246da9d69935ebb18116b2b102b4230dac079b4862f5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.119", ] [[package]] name = "zerofrom" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +checksum = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", - "synstructure 0.13.2", + "syn 2.0.119", + "synstructure", ] [[package]] name = "zeroize" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +checksum = "e13c156562582aa81c60cb29407084cdb54c4164760106ab78e6c5b0858cf64e" dependencies = [ "zeroize_derive", ] [[package]] name = "zeroize_derive" -version = "1.4.2" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +checksum = "3c50655cbb0fe3fc43170059e702f1ce5e19b84cec58dc87b037a09935c2f328" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.119", ] [[package]] name = "zerotrie" -version = "0.2.2" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +checksum = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf" dependencies = [ "displaydoc", "yoke", @@ -9744,9 +7129,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.2" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" +checksum = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239" dependencies = [ "yoke", "zerofrom", @@ -9755,37 +7140,46 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.11.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" +checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.119", ] [[package]] name = "zip" -version = "2.4.2" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fabe6324e908f85a1c52063ce7aa26b68dcb7eb6dbc83a2d148403c9bc3eba50" +checksum = "12598812502ed0105f607f941c386f43d441e00148fce9dec3ca5ffb0bde9308" dependencies = [ "arbitrary", "crc32fast", - "crossbeam-utils", - "displaydoc", "flate2", "indexmap", "memchr", - "thiserror 2.0.12", "zopfli", ] +[[package]] +name = "zlib-rs" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b142a20ec14a91d5bc708c1dc21b080c550113d8aa77afa29635673a65dd02c5" + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" + [[package]] name = "zopfli" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edfc5ee405f504cd4984ecc6f14d02d55cfda60fa4b689434ef4102aae150cd7" +checksum = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249" dependencies = [ "bumpalo", "crc32fast", @@ -9813,9 +7207,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.15+zstd.1.5.7" +version = "2.0.16+zstd.1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237" +checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index aca9a62..a7680c4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,9 +9,9 @@ edition = "2021" overflow-checks = true [workspace.dependencies] -anyhow = "1.0.95" -anchor-lang = "0.31" -anchor-spl = "0.31" +anyhow = "1" +anchor-lang = "1" +anchor-spl = "1" async-std = { version = "1.13", features = ["attributes", "tokio1"] } assert_matches = "1.5.0" axum = "0.8.1" @@ -20,7 +20,7 @@ base64 = "0.22.1" blake2 = "0.10.6" bytes = { version = "1.10.0", features = ["serde"] } bincode = "1.3.3" -clap = { version = "^4.5", features = ["cargo", "derive", "env"] } +clap = { version = "4.5", features = ["cargo", "derive", "env"] } diesel_migrations = "2.2.0" futures = "0.3.31" reqwest = { version = "0.12", features = [ @@ -28,14 +28,27 @@ reqwest = { version = "0.12", features = [ "json", "blocking", ] } -solana-client = "~2" -solana-transaction-status = "~2" -solana-program = "~2" -solana-program-test = "~2" -solana-rpc-client = "~2" -solana-sdk = "~2" -spl-token-client = { version = "0.16.0", default-features = false } -spl-token-2022 = { version = "9.0.0" } +solana-program = "4.0" +solana-rpc-client = "4.1" +solana-account = "4.3" +solana-borsh = "3.0" +solana-compute-budget-interface = { version = "3.0", features = ["borsh"] } +solana-hash = { version = "4.5", features = ["atomic"] } +solana-instruction = "3.4" +solana-instruction-error = "2.4" +solana-keypair = "3.1" +solana-message = { version = "4.3", features = ["wincode"] } +solana-native-token = "3.0" +solana-program-pack = "3.1" +solana-pubkey = "4.2" +solana-signer = "3.0" +solana-system-interface = { version = "3.2", features = ["bincode"] } +solana-transaction = { version = "4.1", features = ["serde", "wincode"] } +solana-transaction-error = "3.3" +litesvm = "0.14.0" +spl-associated-token-account-interface = "2.0" +spl-token-interface = "3.0" +spl-token-2022-interface = "3.1" serde = { version = "^1.0", features = ["derive"] } serde_json = "^1.0" diff --git a/order-engine-sdk/Cargo.toml b/order-engine-sdk/Cargo.toml index e6a54bd..fe80d82 100644 --- a/order-engine-sdk/Cargo.toml +++ b/order-engine-sdk/Cargo.toml @@ -3,11 +3,30 @@ name = "order-engine-sdk" version = "0.1.0" edition.workspace = true +[features] +idl-build = ["anchor-lang/idl-build"] + +[lints.rust.unexpected_cfgs] +level = "warn" +check-cfg = [ + 'cfg(target_os, values("solana"))', +] + [dependencies] anchor-lang = { workspace = true } -anchor-spl = { workspace = true } -solana-sdk = { workspace = true } -agave-reserved-account-keys = "~2" +solana-borsh = { workspace = true } +solana-compute-budget-interface = { workspace = true } +solana-instruction = { workspace = true } +solana-message = { workspace = true } +solana-system-interface = { workspace = true } +solana-transaction = { workspace = true } +spl-associated-token-account-interface = { workspace = true } +spl-token-interface = { workspace = true } +spl-token-2022-interface = { workspace = true } +agave-reserved-account-keys = { version = "4.1.2", features = ["agave-unstable-api"] } base64 = { workspace = true } bincode = { workspace = true } anyhow = { workspace = true } + +[dev-dependencies] +solana-hash = { workspace = true } diff --git a/order-engine-sdk/src/fill.rs b/order-engine-sdk/src/fill.rs index 7a9cb9a..be9600f 100644 --- a/order-engine-sdk/src/fill.rs +++ b/order-engine-sdk/src/fill.rs @@ -1,20 +1,16 @@ use crate::order_engine; -use anchor_lang::{pubkey, AnchorDeserialize, Discriminator}; -use anchor_spl::{ - associated_token::{self, get_associated_token_address_with_program_id}, - token::{self, spl_token::instruction::TokenInstruction}, - token_2022, -}; +use anchor_lang::{prelude::Pubkey, pubkey, AnchorDeserialize, Discriminator}; use anyhow::{anyhow, bail, ensure, Context, Result}; -use solana_sdk::{ - borsh1::try_from_slice_unchecked, - compute_budget::{self, ComputeBudgetInstruction}, - message::SanitizedMessage, - pubkey::Pubkey, - system_instruction::SystemInstruction, - system_program, - sysvar::instructions::BorrowedInstruction, +use solana_borsh::v1::try_from_slice_unchecked; +use solana_compute_budget_interface::{self as compute_budget, ComputeBudgetInstruction}; +use solana_instruction::BorrowedInstruction; +use solana_message::SanitizedMessage; +use solana_system_interface::{instruction::SystemInstruction, program as system_program}; +use spl_associated_token_account_interface::{ + address::get_associated_token_address_with_program_id, program as associated_token, }; +use spl_token_2022_interface as token_2022; +use spl_token_interface::{self as token, instruction::TokenInstruction}; const LIGHTHOUSE_PROGRAM_ID: Pubkey = pubkey!("L2TExMFKdjpN9kozasaurPirfHy9P8sbXoAN1qA3S95"); const NATIVE_MINT: Pubkey = pubkey!("So11111111111111111111111111111111111111112"); @@ -534,15 +530,12 @@ mod tests { use std::collections::HashSet; use super::*; - use anchor_lang::{prelude::*, InstructionData, ToAccountMetas}; - use solana_sdk::{ - hash::Hash, - instruction::Instruction, - message::{ - v0::{self, LoadedAddresses}, - SanitizedVersionedMessage, SimpleAddressLoader, VersionedMessage, - }, - system_program, + use anchor_lang::{prelude::*, system_program, InstructionData, ToAccountMetas}; + use solana_hash::Hash; + use solana_instruction::{AccountMeta, Instruction}; + use solana_message::{ + v0::{self, LoadedAddresses}, + SanitizedVersionedMessage, SimpleAddressLoader, VersionedMessage, }; fn make_sanitized_transaction( @@ -774,7 +767,7 @@ mod tests { amount: u64, decimals: u8, ) -> Instruction { - anchor_spl::token::spl_token::instruction::transfer_checked( + token::instruction::transfer_checked( &token_program, &source, &mint, @@ -886,7 +879,8 @@ mod tests { out_amount, expire_at, ); - let transfer_ix = solana_sdk::system_instruction::transfer(&taker, &receiver, out_amount); + let transfer_ix = + solana_system_interface::instruction::transfer(&taker, &receiver, out_amount); let msg = make_sanitized_transaction( &maker, @@ -1213,7 +1207,7 @@ mod tests { 200, 1_000, ); - let transfer_ix = solana_sdk::system_instruction::transfer(&taker, &receiver, 200); + let transfer_ix = solana_system_interface::instruction::transfer(&taker, &receiver, 200); let msg = make_sanitized_transaction( &maker, @@ -1309,11 +1303,11 @@ mod tests { // ── integrator-fee validation ──────────────────────────────────────────────────────── fn sync_native_ix(account: Pubkey) -> Instruction { - anchor_spl::token::spl_token::instruction::sync_native(&token::ID, &account).unwrap() + token::instruction::sync_native(&token::ID, &account).unwrap() } fn system_transfer_ix(from: Pubkey, to: Pubkey, lamports: u64) -> Instruction { - solana_sdk::system_instruction::transfer(&from, &to, lamports) + solana_system_interface::instruction::transfer(&from, &to, lamports) } #[test] diff --git a/order-engine-sdk/src/transaction.rs b/order-engine-sdk/src/transaction.rs index 04ef999..dde15af 100644 --- a/order-engine-sdk/src/transaction.rs +++ b/order-engine-sdk/src/transaction.rs @@ -2,13 +2,11 @@ use agave_reserved_account_keys::ReservedAccountKeys; use anyhow::{anyhow, Result}; use base64::prelude::*; use bincode; -use solana_sdk::{ - message::{ - v0::LoadedAddresses, SanitizedMessage, SanitizedVersionedMessage, SimpleAddressLoader, - VersionedMessage, - }, - transaction::VersionedTransaction, +use solana_message::{ + v0::LoadedAddresses, SanitizedMessage, SanitizedVersionedMessage, SimpleAddressLoader, + VersionedMessage, }; +use solana_transaction::versioned::VersionedTransaction; pub struct TransactionDetails { pub versioned_transaction: VersionedTransaction, diff --git a/programs/order-engine/Cargo.toml b/programs/order-engine/Cargo.toml index cdb91ac..d98d888 100644 --- a/programs/order-engine/Cargo.toml +++ b/programs/order-engine/Cargo.toml @@ -29,14 +29,24 @@ check-cfg = [ [dependencies] anchor-lang = { workspace = true } anchor-spl = { workspace = true } -spl-token-2022 = { workspace = true, features = ["no-entrypoint"] } +solana-program-pack = { workspace = true } +solana-system-interface = { workspace = true } +spl-token-interface = { workspace = true } +spl-token-2022-interface = { workspace = true } [dev-dependencies] -solana-sdk = { workspace = true } -solana-program-test = { workspace = true } -agave-feature-set = "~2" +solana-account = { workspace = true } +solana-instruction = { workspace = true } +solana-instruction-error = { workspace = true } +solana-keypair = { workspace = true } +solana-native-token = { workspace = true } +solana-signer = { workspace = true } +solana-system-interface = { workspace = true } +solana-transaction = { workspace = true } +solana-transaction-error = { workspace = true } +litesvm = { workspace = true } +spl-associated-token-account-interface = { workspace = true } bincode = { workspace = true } -spl-token-client = { workspace = true, default-features = false } assert_matches = { workspace = true } itertools = { workspace = true } test-case = { workspace = true } diff --git a/programs/order-engine/src/instructions/fill.rs b/programs/order-engine/src/instructions/fill.rs index a5a42a8..bb63fbc 100644 --- a/programs/order-engine/src/instructions/fill.rs +++ b/programs/order-engine/src/instructions/fill.rs @@ -1,23 +1,84 @@ -use anchor_lang::{prelude::*, solana_program::program_pack::Pack, system_program}; +use anchor_lang::{ + prelude::*, + solana_program::program::{invoke, invoke_signed}, + system_program, +}; use anchor_spl::{ - associated_token::spl_associated_token_account::tools::account::create_pda_account, - token::{ - self, - spl_token::{self, native_mint}, - }, + token::{self}, token_interface::{self, spl_pod::primitives::PodU16, TokenAccount, TokenInterface}, }; -use spl_token_2022::{ - self, +use solana_program_pack::Pack; +use solana_system_interface::instruction as system_instruction; +use spl_token_2022_interface::{ + self as spl_token_2022, extension::{transfer_fee::TransferFeeConfig, BaseStateWithExtensions, StateWithExtensions}, }; +use spl_token_interface::{self as spl_token, native_mint}; use crate::error::OrderEngineError; pub const TEMPORARY_WSOL_TOKEN_ACCOUNT: &[u8] = b"temporary-wsol-token-account"; -pub fn handle_fill<'c: 'info, 'info>( - ctx: Context<'_, '_, 'c, 'info, Fill<'info>>, +fn create_pda_account<'info>( + payer: &AccountInfo<'info>, + rent: &Rent, + space: usize, + owner: &Pubkey, + system_program: &AccountInfo<'info>, + new_pda_account: &AccountInfo<'info>, + new_pda_signer_seeds: &[&[u8]], +) -> Result<()> { + if new_pda_account.lamports() > 0 { + let required_lamports = rent + .minimum_balance(space) + .max(1) + .saturating_sub(new_pda_account.lamports()); + + if required_lamports > 0 { + invoke( + &system_instruction::transfer(payer.key, new_pda_account.key, required_lamports), + &[ + payer.clone(), + new_pda_account.clone(), + system_program.clone(), + ], + )?; + } + + invoke_signed( + &system_instruction::allocate(new_pda_account.key, space as u64), + &[new_pda_account.clone(), system_program.clone()], + &[new_pda_signer_seeds], + )?; + + invoke_signed( + &system_instruction::assign(new_pda_account.key, owner), + &[new_pda_account.clone(), system_program.clone()], + &[new_pda_signer_seeds], + )?; + } else { + invoke_signed( + &system_instruction::create_account( + payer.key, + new_pda_account.key, + rent.minimum_balance(space).max(1), + space as u64, + owner, + ), + &[ + payer.clone(), + new_pda_account.clone(), + system_program.clone(), + ], + &[new_pda_signer_seeds], + )?; + } + + Ok(()) +} + +pub fn handle_fill<'info>( + ctx: Context<'info, Fill<'info>>, input_amount: u64, output_amount: u64, expire_at: i64, @@ -33,7 +94,7 @@ pub fn handle_fill<'c: 'info, 'info>( system_program::transfer( CpiContext::new( - ctx.accounts.system_program.to_account_info(), + ctx.accounts.system_program.key(), system_program::Transfer { from: ctx.accounts.taker.to_account_info(), to: ctx.accounts.maker.to_account_info(), @@ -47,7 +108,7 @@ pub fn handle_fill<'c: 'info, 'info>( system_program::transfer( CpiContext::new( - ctx.accounts.system_program.to_account_info(), + ctx.accounts.system_program.key(), system_program::Transfer { from: ctx.accounts.taker.to_account_info(), to: maker_input_mint_token_account.to_account_info(), @@ -56,7 +117,7 @@ pub fn handle_fill<'c: 'info, 'info>( input_amount, )?; token::sync_native(CpiContext::new( - ctx.accounts.input_token_program.to_account_info(), + ctx.accounts.input_token_program.key(), token::SyncNative { account: maker_input_mint_token_account.to_account_info(), }, @@ -96,7 +157,7 @@ pub fn handle_fill<'c: 'info, 'info>( system_program::transfer( CpiContext::new( - ctx.accounts.system_program.to_account_info(), + ctx.accounts.system_program.key(), system_program::Transfer { from: ctx.accounts.maker.to_account_info(), to: ctx.accounts.taker.to_account_info(), @@ -125,7 +186,7 @@ pub fn handle_fill<'c: 'info, 'info>( system_program::transfer( CpiContext::new( - ctx.accounts.system_program.to_account_info(), + ctx.accounts.system_program.key(), system_program::Transfer { from: ctx.accounts.maker.to_account_info(), to: taker_output_mint_token_account.to_account_info(), @@ -134,7 +195,7 @@ pub fn handle_fill<'c: 'info, 'info>( output_amount, )?; token::sync_native(CpiContext::new( - ctx.accounts.output_token_program.to_account_info(), + ctx.accounts.output_token_program.key(), token::SyncNative { account: taker_output_mint_token_account.to_account_info(), }, @@ -186,7 +247,7 @@ fn transfer<'info>( match decimals_for_transfer_checked { Some(decimals) => token_interface::transfer_checked( CpiContext::new( - token_program, + *token_program.key, token_interface::TransferChecked { from, mint, @@ -199,7 +260,7 @@ fn transfer<'info>( ), None => token::transfer( CpiContext::new( - token_program, + *token_program.key, token::Transfer { from, to, @@ -289,7 +350,7 @@ fn unwrap_sol<'info>( new_pda_signer_seeds, )?; token::initialize_account3(CpiContext::new( - token_program.to_account_info(), + *token_program.key, token::InitializeAccount3 { account: temporary_wsol_token_account.clone(), mint: wsol_mint, @@ -299,7 +360,7 @@ fn unwrap_sol<'info>( token::transfer( CpiContext::new( - token_program.clone(), + *token_program.key, token::Transfer { from: sender_token_account.clone(), to: temporary_wsol_token_account.clone(), @@ -311,7 +372,7 @@ fn unwrap_sol<'info>( // Close temporary wsol token account into the maker token::close_account(CpiContext::new( - token_program.to_account_info(), + *token_program.key, token::CloseAccount { account: temporary_wsol_token_account.clone(), destination: maker.clone(), @@ -323,7 +384,7 @@ fn unwrap_sol<'info>( // Transfer native sol to receipient system_program::transfer( CpiContext::new( - system_program, + *system_program.key, system_program::Transfer { from: maker, to: receiver, diff --git a/programs/order-engine/src/lib.rs b/programs/order-engine/src/lib.rs index e5960fa..1ef90d1 100644 --- a/programs/order-engine/src/lib.rs +++ b/programs/order-engine/src/lib.rs @@ -18,8 +18,8 @@ declare_id!("61DFfeTKM7trxYcPQCM78bJ794ddZprZpAwAnLiwTpYH"); pub mod order_engine { use super::*; - pub fn fill<'c: 'info, 'info>( - ctx: Context<'_, '_, 'c, 'info, Fill<'info>>, + pub fn fill<'info>( + ctx: Context<'info, Fill<'info>>, input_amount: u64, output_amount: u64, expire_at: i64, diff --git a/programs/order-engine/tests/test_fill.rs b/programs/order-engine/tests/test_fill.rs index 77e3c89..f81cb91 100644 --- a/programs/order-engine/tests/test_fill.rs +++ b/programs/order-engine/tests/test_fill.rs @@ -1,39 +1,33 @@ -use std::sync::Arc; +use std::path::PathBuf; -use agave_feature_set::bpf_account_data_direct_mapping; -use anchor_lang::{ - prelude::*, - solana_program::{self, instruction::Instruction}, - system_program, InstructionData, -}; -use anchor_spl::token::spl_token::native_mint; +use anchor_lang::{prelude::*, system_program, InstructionData}; use assert_matches::assert_matches; use itertools::Itertools; -use solana_program_test::{ - tokio::{self, sync::Mutex}, - BanksClient, BanksClientError, ProgramTest, -}; -use solana_sdk::{ - native_token::LAMPORTS_PER_SOL, signature::Keypair, signer::Signer, system_instruction, - transaction::Transaction, transaction::TransactionError, +use litesvm::{types::FailedTransactionMetadata, LiteSVM}; +use solana_account::Account; +use solana_instruction::{error::InstructionError, Instruction}; +use solana_keypair::Keypair; +use solana_native_token::LAMPORTS_PER_SOL; +use solana_program_pack::Pack; +use solana_signer::Signer; +use solana_system_interface::instruction as system_instruction; +use solana_transaction::Transaction; +use solana_transaction_error::TransactionError; +use spl_associated_token_account_interface::{ + address::get_associated_token_address_with_program_id, + instruction::create_associated_token_account, }; -use spl_token_client::{ - client::{ - ProgramBanksClient, ProgramBanksClientProcessTransaction, SendTransaction, - SimulateTransaction, - }, - token::{ExtensionInitializationParams, Token}, +use spl_token_2022_interface::{ + self as spl_token_2022, + extension::{transfer_fee, ExtensionType, StateWithExtensions}, }; +use spl_token_interface as spl_token; use test_case::test_case; -async fn get_amount_or_lamports( - token: &Token, - user: Pubkey, - token_account: &Option, -) -> u64 { +fn get_amount_or_lamports(svm: &LiteSVM, user: Pubkey, token_account: &Option) -> u64 { match token_account { - Some(token_account) => token.get_amount(token_account).await, - None => token.get_account(user).await.unwrap().lamports, + Some(token_account) => token_account_amount(svm, token_account), + None => svm.get_account(&user).unwrap().lamports, } } @@ -48,16 +42,15 @@ async fn get_amount_or_lamports( #[test_case(TestMode { taker_accounts: Accounts { input: AccountKind::Token, output: AccountKind::NativeMint }, maker_accounts: Accounts { input: AccountKind::Token, output: AccountKind::NativeMint }, ..Default::default()})] #[test_case(TestMode { taker_accounts: Accounts { input: AccountKind::Token, output: AccountKind::Token }, maker_accounts: Accounts { input: AccountKind::Token, output: AccountKind::Token }, input_mint_extensions: Some(vec![ExtensionInitializationParams::TransferFeeConfig { transfer_fee_config_authority: None, withdraw_withheld_authority: None, transfer_fee_basis_points: 0, maximum_fee: 0 }]), ..Default::default()})] #[test_case(TestMode { taker_accounts: Accounts { input: AccountKind::Token, output: AccountKind::Token }, maker_accounts: Accounts { input: AccountKind::Token, output: AccountKind::Token }, output_mint_extensions: Some(vec![ExtensionInitializationParams::TransferFeeConfig { transfer_fee_config_authority: None, withdraw_withheld_authority: None, transfer_fee_basis_points: 0, maximum_fee: 0 }]), ..Default::default()})] -#[test_case(TestMode { taker_accounts: Accounts { input: AccountKind::Token, output: AccountKind::Token }, maker_accounts: Accounts { input: AccountKind::Token, output: AccountKind::Token }, input_mint_extensions: Some(vec![ExtensionInitializationParams::TransferFeeConfig { transfer_fee_config_authority: None, withdraw_withheld_authority: None, transfer_fee_basis_points: 100, maximum_fee: u64::MAX }]), expected_error: Some(TransactionError::InstructionError(0, solana_sdk::instruction::InstructionError::Custom(u32::from(order_engine::error::OrderEngineError::Token2022MintExtensionNotSupported)))), ..Default::default()})] -#[test_case(TestMode { taker_accounts: Accounts { input: AccountKind::Token, output: AccountKind::Token }, maker_accounts: Accounts { input: AccountKind::Token, output: AccountKind::Token }, input_mint_extensions: Some(vec![ExtensionInitializationParams::NonTransferable]), expected_error: Some(TransactionError::InstructionError(0, solana_sdk::instruction::InstructionError::Custom(anchor_spl::token_2022::spl_token_2022::error::TokenError::NonTransferable as u32))), ..Default::default()})] -#[tokio::test] -async fn test_fill(test_mode: TestMode) { +#[test_case(TestMode { taker_accounts: Accounts { input: AccountKind::Token, output: AccountKind::Token }, maker_accounts: Accounts { input: AccountKind::Token, output: AccountKind::Token }, input_mint_extensions: Some(vec![ExtensionInitializationParams::TransferFeeConfig { transfer_fee_config_authority: None, withdraw_withheld_authority: None, transfer_fee_basis_points: 100, maximum_fee: u64::MAX }]), expected_error: Some(TransactionError::InstructionError(0, InstructionError::Custom(u32::from(order_engine::error::OrderEngineError::Token2022MintExtensionNotSupported)))), ..Default::default()})] +#[test_case(TestMode { taker_accounts: Accounts { input: AccountKind::Token, output: AccountKind::Token }, maker_accounts: Accounts { input: AccountKind::Token, output: AccountKind::Token }, input_mint_extensions: Some(vec![ExtensionInitializationParams::NonTransferable]), expected_error: Some(TransactionError::InstructionError(0, InstructionError::Custom(spl_token_2022::error::TokenError::NonTransferable as u32))), ..Default::default()})] +fn test_fill(test_mode: TestMode) { let expected_error = test_mode.expected_error.clone(); - let test_environment = prepare_test(test_mode).await; + let mut test_environment = prepare_test(test_mode); let fill_instruction = test_environment.create_fill_instruction(); let TestEnvironment { - banks_client, + svm, payer, taker_keypair, maker_keypair, @@ -65,78 +58,69 @@ async fn test_fill(test_mode: TestMode) { output_amount, maker, taker, - // TODO: Maker assertions taker_input_mint_token_account, maker_input_mint_token_account, taker_output_mint_token_account, maker_output_mint_token_account, - input_token, - output_token, .. - } = test_environment; + } = &mut test_environment; - let taker_balance_reader = BalanceReader::new(&input_token, taker, &None); - let taker_input_balance_reader = - BalanceReader::new(&input_token, taker, &taker_input_mint_token_account); - let taker_output_balance_reader = - BalanceReader::new(&output_token, taker, &taker_output_mint_token_account); + let before_taker_balance = get_amount_or_lamports(svm, *taker, &None); + let before_taker_input_amount = + get_amount_or_lamports(svm, *taker, taker_input_mint_token_account); + let before_taker_output_amount = + get_amount_or_lamports(svm, *taker, taker_output_mint_token_account); - let before_taker_balance = taker_balance_reader.get_balance().await; - let before_taker_input_amount = taker_input_balance_reader.get_balance().await; - let before_taker_output_amount = taker_output_balance_reader.get_balance().await; + let before_maker_balance = get_amount_or_lamports(svm, *maker, &None); + let before_maker_input_amount = + get_amount_or_lamports(svm, *maker, maker_input_mint_token_account); + let before_maker_output_amount = + get_amount_or_lamports(svm, *maker, maker_output_mint_token_account); - let maker_balance_reader = BalanceReader::new(&input_token, taker, &None); - let maker_input_balance_reader = - BalanceReader::new(&input_token, maker, &maker_input_mint_token_account); - let maker_output_balance_reader = - BalanceReader::new(&output_token, maker, &maker_output_mint_token_account); - - let before_maker_balance = maker_balance_reader.get_balance().await; - let before_maker_input_amount = maker_input_balance_reader.get_balance().await; - let before_maker_output_amount = maker_output_balance_reader.get_balance().await; - - // Maker fills + // Maker fills. let result = process_instructions( &[fill_instruction], - &payer, // To simplify accounting we make the payer another keypair, this has no impact on the fill instruction - &[&taker_keypair, &maker_keypair], - &banks_client, - ) - .await; + payer, + &[taker_keypair, maker_keypair], + svm, + ); match expected_error { Some(expected_error) => { - let BanksClientError::TransactionError(transaction_error) = result.unwrap_err() else { - panic!("The error was not a transaction error"); - }; + let FailedTransactionMetadata { + err: transaction_error, + .. + } = result.unwrap_err(); assert_eq!(transaction_error, expected_error); return; } None => { - assert_matches!(result, Ok(())); + assert_matches!(result, Ok(_)); } } - let after_taker_balance = taker_balance_reader.get_balance().await; - let after_taker_input_amount = taker_input_balance_reader.get_balance().await; - let after_taker_output_amount = taker_output_balance_reader.get_balance().await; + let after_taker_balance = get_amount_or_lamports(svm, *taker, &None); + let after_taker_input_amount = + get_amount_or_lamports(svm, *taker, taker_input_mint_token_account); + let after_taker_output_amount = + get_amount_or_lamports(svm, *taker, taker_output_mint_token_account); - let after_maker_balance = maker_balance_reader.get_balance().await; - let after_maker_input_amount = maker_input_balance_reader.get_balance().await; - let after_maker_output_amount = maker_output_balance_reader.get_balance().await; + let after_maker_balance = get_amount_or_lamports(svm, *maker, &None); + let after_maker_input_amount = + get_amount_or_lamports(svm, *maker, maker_input_mint_token_account); + let after_maker_output_amount = + get_amount_or_lamports(svm, *maker, maker_output_mint_token_account); - println!("{before_taker_input_amount} {after_taker_input_amount}"); assert_eq!( before_taker_input_amount.checked_sub(after_taker_input_amount), - Some(input_amount) + Some(*input_amount) ); - println!("{after_taker_output_amount:?} {before_taker_output_amount:?}"); assert_eq!( after_taker_output_amount.checked_sub(before_taker_output_amount), - Some(output_amount) + Some(*output_amount) ); - // The native sol balance is not already checked so assert no change + // The native sol balance is not already checked so assert no change. if taker_input_mint_token_account.is_none() && taker_output_mint_token_account.is_none() { assert_eq!(before_taker_balance, after_taker_balance); } @@ -144,47 +128,23 @@ async fn test_fill(test_mode: TestMode) { println!("{after_maker_input_amount} {before_maker_input_amount}"); assert_eq!( after_maker_input_amount.checked_sub(before_maker_input_amount), - Some(input_amount) + Some(*input_amount) ); println!("{before_maker_output_amount:?} {after_maker_output_amount:?}"); assert_eq!( before_maker_output_amount.checked_sub(after_maker_output_amount), - Some(output_amount) + Some(*output_amount) ); - // The native sol balance is not already checked so assert no change + // The native sol balance is not already checked so assert no change. if maker_input_mint_token_account.is_none() && maker_output_mint_token_account.is_none() { assert_eq!(before_maker_balance, after_maker_balance); } } -struct BalanceReader<'a> { - token: &'a Token, - user: Pubkey, - token_account: &'a Option, -} - -impl<'a> BalanceReader<'a> { - fn new( - token: &'a Token, - user: Pubkey, - token_account: &'a Option, - ) -> Self { - Self { - token, - user, - token_account, - } - } - - async fn get_balance(&self) -> u64 { - get_amount_or_lamports(self.token, self.user, self.token_account).await - } -} - struct TestEnvironment { - banks_client: Arc>, - payer: Arc, + svm: LiteSVM, + payer: Keypair, taker_keypair: Keypair, maker_keypair: Keypair, input_amount: u64, @@ -201,8 +161,6 @@ struct TestEnvironment { output_mint: Pubkey, output_token_program: Pubkey, temporary_wsol_token_account: Option, - input_token: Token, - output_token: Token, } impl TestEnvironment { @@ -276,6 +234,50 @@ struct Accounts { output: AccountKind, } +#[derive(Clone, Debug, PartialEq)] +enum ExtensionInitializationParams { + TransferFeeConfig { + transfer_fee_config_authority: Option, + withdraw_withheld_authority: Option, + transfer_fee_basis_points: u16, + maximum_fee: u64, + }, + NonTransferable, +} + +impl ExtensionInitializationParams { + fn extension(&self) -> ExtensionType { + match self { + Self::TransferFeeConfig { .. } => ExtensionType::TransferFeeConfig, + Self::NonTransferable => ExtensionType::NonTransferable, + } + } + + fn instruction(&self, token_program_id: &Pubkey, mint: &Pubkey) -> Instruction { + match self { + Self::TransferFeeConfig { + transfer_fee_config_authority, + withdraw_withheld_authority, + transfer_fee_basis_points, + maximum_fee, + } => transfer_fee::instruction::initialize_transfer_fee_config( + token_program_id, + mint, + transfer_fee_config_authority.as_ref(), + withdraw_withheld_authority.as_ref(), + *transfer_fee_basis_points, + *maximum_fee, + ) + .unwrap(), + Self::NonTransferable => spl_token_2022::instruction::initialize_non_transferable_mint( + token_program_id, + mint, + ) + .unwrap(), + } + } +} + #[derive(Default)] struct TestMode { taker_accounts: Accounts, @@ -285,17 +287,37 @@ struct TestMode { output_mint_extensions: Option>, } +struct TestToken { + mint: Pubkey, + program_id: Pubkey, +} + +impl TestToken { + fn new(mint: Pubkey, program_id: Pubkey) -> Self { + Self { mint, program_id } + } + + fn get_associated_token_address(&self, owner: &Pubkey) -> Pubkey { + get_associated_token_address_with_program_id(owner, &self.mint, &self.program_id) + } +} + const TEST_AIRDROP: u64 = 5 * LAMPORTS_PER_SOL; -async fn prepare_test(test_mode: TestMode) -> TestEnvironment { - let mut pt = ProgramTest::new( - "order_engine", - order_engine::ID, - anchor_processor!(order_engine), - ); - pt.deactivate_feature(bpf_account_data_direct_mapping::ID); +fn prepare_test(test_mode: TestMode) -> TestEnvironment { + let mut svm = LiteSVM::new(); + ensure_native_mint(&mut svm); + let program_path = order_engine_program_path(); + svm.add_program_from_file(order_engine::ID, &program_path) + .unwrap_or_else(|error| { + panic!( + "failed to load order_engine program from {}: {error}. Build the SBF program first, for example with `cargo build-sbf --manifest-path programs/order-engine/Cargo.toml --sbf-out-dir target/deploy`.", + program_path.display() + ) + }); - let (banks_client, payer, _) = pt.start().await; + let payer = Keypair::new(); + svm.airdrop(&payer.pubkey(), TEST_AIRDROP * 10).unwrap(); let taker_keypair = Keypair::new(); let taker = taker_keypair.pubkey(); @@ -303,15 +325,7 @@ async fn prepare_test(test_mode: TestMode) -> TestEnvironment { let maker_keypair = Keypair::new(); let maker = maker_keypair.pubkey(); - let payer = Arc::new(payer); - - let banks_client = Arc::new(Mutex::new(banks_client)); - let client = Arc::new(ProgramBanksClient::new_from_client( - banks_client.clone(), - ProgramBanksClientProcessTransaction, - )); - - // Fund the taker and the maker + // Fund the taker and the maker. process_and_assert_ok( &[ system_instruction::transfer(&payer.pubkey(), &taker, TEST_AIRDROP), @@ -319,9 +333,8 @@ async fn prepare_test(test_mode: TestMode) -> TestEnvironment { ], &payer, &[&payer], - &banks_client, - ) - .await; + &mut svm, + ); let (mut mint_a_keypair, mut mint_a, mut mint_b_keypair, mut mint_b) = { let mint_a_keypair = Keypair::new(); @@ -333,15 +346,15 @@ async fn prepare_test(test_mode: TestMode) -> TestEnvironment { let mut uses_temporary_wsol_token_account = false; - // Taker order construction, taker wants some token b for some token a - // Using a rate of 1 LST => 150 USDC + // Taker order construction, taker wants some token b for some token a. + // Using a rate of 1 LST => 150 USDC. let input_amount = 1_000_000_000; let output_amount = 150_000_000; let TestMode { taker_accounts, maker_accounts, - expected_error, + expected_error: _, input_mint_extensions, output_mint_extensions, } = test_mode; @@ -377,7 +390,7 @@ async fn prepare_test(test_mode: TestMode) -> TestEnvironment { }, ) => { mint_a_keypair = None; - mint_a = native_mint::ID; + mint_a = spl_token::native_mint::ID; } ( Accounts { @@ -400,7 +413,7 @@ async fn prepare_test(test_mode: TestMode) -> TestEnvironment { }, ) => { mint_b_keypair = None; - mint_b = native_mint::ID; + mint_b = spl_token::native_mint::ID; } ( Accounts { @@ -423,7 +436,7 @@ async fn prepare_test(test_mode: TestMode) -> TestEnvironment { }, ) => { mint_a_keypair = None; - mint_a = native_mint::ID; + mint_a = spl_token::native_mint::ID; uses_temporary_wsol_token_account = true; } ( @@ -447,59 +460,43 @@ async fn prepare_test(test_mode: TestMode) -> TestEnvironment { }, ) => { mint_b_keypair = None; - mint_b = native_mint::ID; + mint_b = spl_token::native_mint::ID; uses_temporary_wsol_token_account = true; } _ => panic!("Invalid combo"), }; - // Setup 2 mints + // Setup 2 mints. let token_a_program_id = if input_mint_extensions.is_some() { - anchor_spl::token_2022::ID + spl_token_2022::ID } else { - anchor_spl::token::ID + spl_token::ID }; - let token_a = Token::new( - client.clone(), - &token_a_program_id, - &mint_a, - Some(9), - payer.clone(), - ); + let token_a = TestToken::new(mint_a, token_a_program_id); if let Some(mint_a_keypair) = &mint_a_keypair { - token_a - .create_mint( - &payer.pubkey(), - None, - input_mint_extensions.unwrap_or_default(), - &[mint_a_keypair], - ) - .await - .unwrap(); + create_mint( + &mut svm, + &payer, + mint_a_keypair, + token_a_program_id, + input_mint_extensions.unwrap_or_default(), + ); } let token_b_program_id = if output_mint_extensions.is_some() { - anchor_spl::token_2022::ID + spl_token_2022::ID } else { - anchor_spl::token::ID + spl_token::ID }; - let token_b = Token::new( - client.clone(), - &token_b_program_id, - &mint_b, - Some(9), - payer.clone(), - ); + let token_b = TestToken::new(mint_b, token_b_program_id); if let Some(mint_b_keypair) = &mint_b_keypair { - token_b - .create_mint( - &payer.pubkey(), - None, - output_mint_extensions.unwrap_or_default(), - &[mint_b_keypair], - ) - .await - .unwrap(); + create_mint( + &mut svm, + &payer, + mint_b_keypair, + token_b_program_id, + output_mint_extensions.unwrap_or_default(), + ); } let amount_with_account_kinds = [Some(input_amount), None, None, Some(output_amount)] @@ -527,26 +524,23 @@ async fn prepare_test(test_mode: TestMode) -> TestEnvironment { ]) .zip(amount_with_account_kinds) { - println!("{user} {} {:?}", token.get_address(), amount_with_kind.1); + println!("{user} {} {:?}", token.mint, amount_with_kind.1); let ata = token.get_associated_token_address(&user); let set_ata = match amount_with_kind { (amount, AccountKind::Token) => { - token.create_associated_token_account(&user).await.unwrap(); + create_ata(&mut svm, &payer, &user, token); if let Some(amount) = amount { - token - .mint_to(&ata, &payer.pubkey(), amount, &[&payer]) - .await - .unwrap(); + mint_to(&mut svm, &payer, token, &ata, amount); } true } (None, AccountKind::NativeMint) => { - token.create_associated_token_account(&user).await.unwrap(); + create_ata(&mut svm, &payer, &user, token); true } (Some(amount), AccountKind::NativeMint) => { - // Send enough + // Send enough. process_and_assert_ok( &[system_instruction::transfer( &payer.pubkey(), @@ -555,14 +549,13 @@ async fn prepare_test(test_mode: TestMode) -> TestEnvironment { )], &payer, &[&payer], - &banks_client, - ) - .await; - token.create_associated_token_account(&user).await.unwrap(); + &mut svm, + ); + create_ata(&mut svm, &payer, &user, token); true } (_, AccountKind::NativeSol) => { - // Nothing to setup + // Nothing to setup. false } }; @@ -584,7 +577,7 @@ async fn prepare_test(test_mode: TestMode) -> TestEnvironment { }; TestEnvironment { - banks_client, + svm, payer, taker_keypair, maker_keypair, @@ -596,34 +589,159 @@ async fn prepare_test(test_mode: TestMode) -> TestEnvironment { maker_input_mint_token_account, taker_output_mint_token_account, maker_output_mint_token_account, - input_mint: *token_a.get_address(), + input_mint: token_a.mint, input_token_program: token_a_program_id, - output_mint: *token_b.get_address(), + output_mint: token_b.mint, output_token_program: token_b_program_id, - input_token: token_a, - output_token: token_b, temporary_wsol_token_account, } } -pub async fn process_and_assert_ok( +fn ensure_native_mint(svm: &mut LiteSVM) { + let mut data = vec![0; spl_token::state::Mint::LEN]; + spl_token::state::Mint::pack( + spl_token::state::Mint { + decimals: spl_token::native_mint::DECIMALS, + is_initialized: true, + ..Default::default() + }, + &mut data, + ) + .unwrap(); + + svm.set_account( + spl_token::native_mint::ID, + Account { + lamports: svm.minimum_balance_for_rent_exemption(data.len()), + data, + owner: spl_token::ID, + executable: false, + rent_epoch: 0, + }, + ) + .unwrap(); +} + +fn order_engine_program_path() -> PathBuf { + let mut path = PathBuf::from(env!("CARGO_MANIFEST_DIR")); + path.push("../../target/deploy/order_engine.so"); + path +} + +fn create_mint( + svm: &mut LiteSVM, + payer: &Keypair, + mint: &Keypair, + token_program_id: Pubkey, + extension_initialization_params: Vec, +) { + let extension_types = extension_initialization_params + .iter() + .map(ExtensionInitializationParams::extension) + .collect::>(); + let space = if token_program_id == spl_token_2022::ID { + ExtensionType::try_calculate_account_len::(&extension_types) + .unwrap() + } else { + spl_token::state::Mint::LEN + }; + let mut instructions = vec![system_instruction::create_account( + &payer.pubkey(), + &mint.pubkey(), + svm.minimum_balance_for_rent_exemption(space), + space as u64, + &token_program_id, + )]; + + for params in extension_initialization_params { + instructions.push(params.instruction(&token_program_id, &mint.pubkey())); + } + + let initialize_mint_instruction = if token_program_id == spl_token_2022::ID { + spl_token_2022::instruction::initialize_mint( + &token_program_id, + &mint.pubkey(), + &payer.pubkey(), + None, + 9, + ) + .unwrap() + } else { + spl_token::instruction::initialize_mint( + &token_program_id, + &mint.pubkey(), + &payer.pubkey(), + None, + 9, + ) + .unwrap() + }; + instructions.push(initialize_mint_instruction); + + process_and_assert_ok(&instructions, payer, &[payer, mint], svm); +} + +fn create_ata(svm: &mut LiteSVM, payer: &Keypair, owner: &Pubkey, token: &TestToken) { + process_and_assert_ok( + &[create_associated_token_account( + &payer.pubkey(), + owner, + &token.mint, + &token.program_id, + )], + payer, + &[payer], + svm, + ); +} + +fn mint_to( + svm: &mut LiteSVM, + payer: &Keypair, + token: &TestToken, + token_account: &Pubkey, + amount: u64, +) { + let instruction = if token.program_id == spl_token_2022::ID { + spl_token_2022::instruction::mint_to( + &token.program_id, + &token.mint, + token_account, + &payer.pubkey(), + &[], + amount, + ) + .unwrap() + } else { + spl_token::instruction::mint_to( + &token.program_id, + &token.mint, + token_account, + &payer.pubkey(), + &[], + amount, + ) + .unwrap() + }; + process_and_assert_ok(&[instruction], payer, &[payer], svm); +} + +pub fn process_and_assert_ok( instructions: &[Instruction], payer: &Keypair, signers: &[&Keypair], - banks_client: &Mutex, + svm: &mut LiteSVM, ) { - let result = process_instructions(instructions, payer, signers, banks_client).await; - assert_matches!(result, Ok(())); + let result = process_instructions(instructions, payer, signers, svm); + assert_matches!(result, Ok(_)); } -pub async fn process_instructions( + +pub fn process_instructions( instructions: &[Instruction], payer: &Keypair, signers: &[&Keypair], - banks_client: &Mutex, -) -> std::result::Result<(), BanksClientError> { - let mut banks_client = banks_client.lock().await; - let recent_blockhash = banks_client.get_latest_blockhash().await.unwrap(); - + svm: &mut LiteSVM, +) -> std::result::Result { let mut all_signers = vec![payer]; all_signers.extend_from_slice(signers); @@ -631,41 +749,24 @@ pub async fn process_instructions( instructions, Some(&payer.pubkey()), &all_signers, - recent_blockhash, + svm.latest_blockhash(), ); println!("TX size: {}", bincode::serialize(&tx).unwrap().len()); - banks_client.process_transaction(tx).await + svm.send_transaction(tx) } -/// Workaround from anchor issue https://github.com/coral-xyz/anchor/issues/2738#issuecomment-2230683481 -#[macro_export] -macro_rules! anchor_processor { - ($program:ident) => {{ - fn entry( - program_id: &solana_program::pubkey::Pubkey, - accounts: &[solana_program::account_info::AccountInfo], - instruction_data: &[u8], - ) -> solana_program::entrypoint::ProgramResult { - let accounts = Box::leak(Box::new(accounts.to_vec())); - - $program::entry(program_id, accounts, instruction_data) - } - - solana_program_test::processor!(entry) - }}; -} - -trait TokenExtra { - async fn get_amount(&self, account: &Pubkey) -> u64; -} - -impl TokenExtra for Token -where - T: SendTransaction + SimulateTransaction, -{ - async fn get_amount(&self, account: &Pubkey) -> u64 { - self.get_account_info(account).await.unwrap().base.amount +fn token_account_amount(svm: &LiteSVM, account: &Pubkey) -> u64 { + let account = svm.get_account(account).unwrap(); + if account.owner == spl_token_2022::ID { + StateWithExtensions::::unpack(&account.data) + .unwrap() + .base + .amount + } else { + spl_token::state::Account::unpack(&account.data) + .unwrap() + .amount } } diff --git a/rust-toolchain.toml b/rust-toolchain.toml index b8889a3..d72668b 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "1.87.0" +channel = "1.91.0" diff --git a/server-example/Cargo.toml b/server-example/Cargo.toml index 4d55b9f..71a2e79 100644 --- a/server-example/Cargo.toml +++ b/server-example/Cargo.toml @@ -10,7 +10,6 @@ axum = { workspace = true } axum-extra = { workspace = true } bytes = { workspace = true, features = ["serde"] } clap = { workspace = true, features = ["cargo", "derive", "env"] } -futures = { workspace = true } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } thiserror = { workspace = true } @@ -30,8 +29,7 @@ webhook-api = { path = "../webhook-api" } order-engine-sdk = { path = "../order-engine-sdk" } utoipa = { workspace = true, features = ["axum_extras", "debug"] } utoipa-swagger-ui = { workspace = true, features = ["axum"] } -utoipa-axum = { workspace = true, features = ["debug"] } -solana-sdk = { workspace = true } +solana-keypair = { workspace = true } +solana-signer = { workspace = true } dotenvy = { workspace = true } utoipauto = { workspace = true } -solana-rpc-client = { workspace = true } diff --git a/server-example/src/server.rs b/server-example/src/server.rs index cb93af0..c0accf5 100644 --- a/server-example/src/server.rs +++ b/server-example/src/server.rs @@ -10,11 +10,8 @@ use anyhow::Result; use order_engine_sdk::transaction::{ deserialize_transaction_base64_into_transaction_details, TransactionDetails, }; -use solana_rpc_client::rpc_client::SerializableTransaction; -use solana_sdk::{ - signature::Keypair, - signer::{EncodableKey, Signer}, -}; +use solana_keypair::Keypair; +use solana_signer::{EncodableKey, Signer}; use thiserror::Error; use utoipa::OpenApi; use utoipa_swagger_ui::SwaggerUi; @@ -280,7 +277,7 @@ async fn example_swap( )); } } - let signature = versioned_transaction.get_signature().to_string(); + let signature = versioned_transaction.signatures[0].to_string(); // ======================================== // broadcast the transaction diff --git a/squads-sdk/Cargo.toml b/squads-sdk/Cargo.toml index 325bcc7..0a27f95 100644 --- a/squads-sdk/Cargo.toml +++ b/squads-sdk/Cargo.toml @@ -7,9 +7,15 @@ edition = { workspace = true } base64 = { workspace = true } bincode = { workspace = true } sha2 = { workspace = true } -solana-sdk = { workspace = true } +solana-compute-budget-interface = { workspace = true } +solana-hash = { workspace = true } +solana-instruction = { workspace = true } +solana-message = { workspace = true } +solana-pubkey = { workspace = true } +solana-signer = { workspace = true } +solana-transaction = { workspace = true } thiserror = { workspace = true } [dev-dependencies] -solana-client = { workspace = true } +solana-rpc-client = { workspace = true } tokio = { workspace = true, features = ["rt-multi-thread", "macros"] } diff --git a/squads-sdk/examples/wrap_and_unwrap.rs b/squads-sdk/examples/wrap_and_unwrap.rs index 3208190..663e478 100644 --- a/squads-sdk/examples/wrap_and_unwrap.rs +++ b/squads-sdk/examples/wrap_and_unwrap.rs @@ -6,12 +6,9 @@ //! //! Requires mainnet RPC access (for the blockhash). -use solana_client::nonblocking::rpc_client::RpcClient; -use solana_sdk::{ - commitment_config::CommitmentConfig, - instruction::{AccountMeta, Instruction}, - pubkey, -}; +use solana_instruction::{AccountMeta, Instruction}; +use solana_pubkey::pubkey; +use solana_rpc_client::nonblocking::rpc_client::RpcClient; use squads_sdk::{build_squads_wrapped_transaction, unwrap_transaction, SquadsWrapConfig}; @@ -52,10 +49,9 @@ async fn main() { }; let recent_blockhash = rpc - .get_latest_blockhash_with_commitment(CommitmentConfig::confirmed()) + .get_latest_blockhash() .await - .expect("failed to get blockhash") - .0; + .expect("failed to get blockhash"); // Wrap it. The result has null signatures — members sign it before submitting. let wrapped_tx = build_squads_wrapped_transaction( diff --git a/squads-sdk/src/accounts.rs b/squads-sdk/src/accounts.rs index 0a632e4..57a8a48 100644 --- a/squads-sdk/src/accounts.rs +++ b/squads-sdk/src/accounts.rs @@ -1,9 +1,7 @@ use std::collections::HashMap; -use solana_sdk::{ - instruction::{AccountMeta, Instruction}, - pubkey::Pubkey, -}; +use solana_instruction::{AccountMeta, Instruction}; +use solana_pubkey::Pubkey; use crate::error::{Result, SquadsSdkError}; diff --git a/squads-sdk/src/config.rs b/squads-sdk/src/config.rs index 54de39f..29cdb2e 100644 --- a/squads-sdk/src/config.rs +++ b/squads-sdk/src/config.rs @@ -1,4 +1,4 @@ -use solana_sdk::pubkey::Pubkey; +use solana_pubkey::Pubkey; use crate::error::{Result, SquadsSdkError}; use crate::pda::derive_vault_pda; diff --git a/squads-sdk/src/error.rs b/squads-sdk/src/error.rs index b58da67..85a856d 100644 --- a/squads-sdk/src/error.rs +++ b/squads-sdk/src/error.rs @@ -37,14 +37,14 @@ pub enum SquadsSdkError { SolanaError(String), } -impl From for SquadsSdkError { - fn from(e: solana_sdk::signer::SignerError) -> Self { +impl From for SquadsSdkError { + fn from(e: solana_signer::SignerError) -> Self { SquadsSdkError::SolanaError(e.to_string()) } } -impl From for SquadsSdkError { - fn from(e: solana_sdk::message::CompileError) -> Self { +impl From for SquadsSdkError { + fn from(e: solana_message::CompileError) -> Self { SquadsSdkError::SolanaError(e.to_string()) } } diff --git a/squads-sdk/src/lib.rs b/squads-sdk/src/lib.rs index 24ea025..760bb57 100644 --- a/squads-sdk/src/lib.rs +++ b/squads-sdk/src/lib.rs @@ -9,12 +9,11 @@ pub mod unwrap; pub mod wrap; use sha2::{Digest, Sha256}; -use solana_sdk::message::VersionedMessage; -use solana_sdk::pubkey::Pubkey; -use solana_sdk::transaction::VersionedTransaction; +use solana_message::VersionedMessage; +use solana_pubkey::{pubkey, Pubkey}; +use solana_transaction::versioned::VersionedTransaction; -pub const SQUADS_PROGRAM_ID: Pubkey = - solana_sdk::pubkey!("SMRTzfY6DfH5ik3TKiyLFfXexV8uSG3d2UksSCYdunG"); +pub const SQUADS_PROGRAM_ID: Pubkey = pubkey!("SMRTzfY6DfH5ik3TKiyLFfXexV8uSG3d2UksSCYdunG"); pub const EXECUTE_TX_SYNC_V2_DISCRIMINATOR: [u8; 8] = [90, 81, 187, 81, 39, 70, 128, 78]; @@ -74,9 +73,8 @@ mod tests { #[test] fn is_squads_transaction_detects_wrapped_tx() { - use solana_sdk::{ - hash::Hash, instruction::AccountMeta, instruction::Instruction, pubkey::Pubkey, - }; + use solana_hash::Hash; + use solana_instruction::{AccountMeta, Instruction}; let settings = Pubkey::new_unique(); let vault = Pubkey::new_unique(); @@ -109,14 +107,10 @@ mod tests { #[test] fn is_squads_transaction_rejects_plain_tx() { - use solana_sdk::{ - compute_budget::ComputeBudgetInstruction, - hash::Hash, - message::{self, VersionedMessage}, - pubkey::Pubkey, - signature::NullSigner, - transaction::VersionedTransaction, - }; + use solana_compute_budget_interface::ComputeBudgetInstruction; + use solana_hash::Hash; + use solana_message::{self as message, VersionedMessage}; + use solana_signer::null_signer::NullSigner; let payer = Pubkey::new_unique(); let message = message::v0::Message::try_compile( diff --git a/squads-sdk/src/pda.rs b/squads-sdk/src/pda.rs index 1c51ee2..690fe6b 100644 --- a/squads-sdk/src/pda.rs +++ b/squads-sdk/src/pda.rs @@ -1,4 +1,4 @@ -use solana_sdk::pubkey::Pubkey; +use solana_pubkey::Pubkey; use crate::SQUADS_PROGRAM_ID; @@ -68,7 +68,7 @@ mod tests { #[test] fn derive_vault_pda_matches_on_chain_program() { - use solana_sdk::pubkey; + use solana_pubkey::pubkey; // Known settings PDA → vault PDA pair from mainnet let settings_pda = pubkey!("8QJmMPTmRJSLsGxjAXYDquEtWjVaKvBK8HVvV4Mcn1gB"); let expected_vault = pubkey!("HviMBVH4L84zW7xKL8oSPcDbXrjLVyRkCiYUjcVCVACE"); diff --git a/squads-sdk/src/serialize.rs b/squads-sdk/src/serialize.rs index f07c4d5..fda5b76 100644 --- a/squads-sdk/src/serialize.rs +++ b/squads-sdk/src/serialize.rs @@ -1,9 +1,7 @@ use std::collections::HashMap; -use solana_sdk::{ - instruction::{AccountMeta, Instruction}, - pubkey::Pubkey, -}; +use solana_instruction::{AccountMeta, Instruction}; +use solana_pubkey::Pubkey; use crate::error::{Result, SquadsSdkError}; diff --git a/squads-sdk/src/settings.rs b/squads-sdk/src/settings.rs index a54258a..e291e79 100644 --- a/squads-sdk/src/settings.rs +++ b/squads-sdk/src/settings.rs @@ -1,4 +1,4 @@ -use solana_sdk::pubkey::Pubkey; +use solana_pubkey::Pubkey; use crate::error::{Result, SquadsSdkError}; diff --git a/squads-sdk/src/transaction.rs b/squads-sdk/src/transaction.rs index 8cb63e5..aa1e3e9 100644 --- a/squads-sdk/src/transaction.rs +++ b/squads-sdk/src/transaction.rs @@ -1,11 +1,8 @@ -use solana_sdk::{ - compute_budget, - instruction::{AccountMeta, CompiledInstruction, Instruction}, - message::VersionedMessage, - transaction::VersionedTransaction, -}; - use base64::{prelude::BASE64_STANDARD, Engine}; +use solana_compute_budget_interface as compute_budget; +use solana_instruction::{AccountMeta, Instruction}; +use solana_message::{compiled_instruction::CompiledInstruction, VersionedMessage}; +use solana_transaction::versioned::VersionedTransaction; use crate::error::{Result, SquadsSdkError}; @@ -21,6 +18,7 @@ pub fn decode_transaction_base64(b64: &str) -> Result { pub fn compiled_instructions(message: &VersionedMessage) -> &[CompiledInstruction] { match message { VersionedMessage::V0(v0) => &v0.instructions, + VersionedMessage::V1(v1) => &v1.instructions, VersionedMessage::Legacy(legacy) => &legacy.instructions, } } @@ -32,6 +30,7 @@ pub fn compiled_instructions(message: &VersionedMessage) -> &[CompiledInstructio pub fn uses_address_lookup_tables(message: &VersionedMessage) -> bool { match message { VersionedMessage::V0(v0) => !v0.address_table_lookups.is_empty(), + VersionedMessage::V1(_) => false, VersionedMessage::Legacy(_) => false, } } diff --git a/squads-sdk/src/unwrap.rs b/squads-sdk/src/unwrap.rs index 343c769..40bd9d5 100644 --- a/squads-sdk/src/unwrap.rs +++ b/squads-sdk/src/unwrap.rs @@ -1,9 +1,7 @@ -use solana_sdk::{ - instruction::{AccountMeta, Instruction}, - message::VersionedMessage, - pubkey::Pubkey, - transaction::VersionedTransaction, -}; +use solana_instruction::{AccountMeta, Instruction}; +use solana_message::VersionedMessage; +use solana_pubkey::Pubkey; +use solana_transaction::versioned::VersionedTransaction; use crate::{ error::{Result, SquadsSdkError}, @@ -174,7 +172,8 @@ pub fn unwrap_transaction_base64(tx_b64: &str) -> Result { mod tests { use super::*; use crate::{config::SquadsWrapConfig, wrap::build_squads_wrapped_transaction}; - use solana_sdk::{hash::Hash, pubkey}; + use solana_hash::Hash; + use solana_pubkey::pubkey; fn test_pubkeys() -> (Pubkey, Pubkey, Pubkey, Pubkey, Pubkey, Pubkey, Pubkey) { ( @@ -257,11 +256,9 @@ mod tests { #[test] fn unwrap_rejects_non_squads_transaction() { - use solana_sdk::{ - compute_budget::ComputeBudgetInstruction, - message::{self, VersionedMessage}, - signature::NullSigner, - }; + use solana_compute_budget_interface::ComputeBudgetInstruction; + use solana_message::{self as message, VersionedMessage}; + use solana_signer::null_signer::NullSigner; let payer = Pubkey::new_unique(); let message = message::v0::Message::try_compile( @@ -284,12 +281,8 @@ mod tests { #[test] fn unwrap_rejects_alt_messages() { - use solana_sdk::{ - address_lookup_table::AddressLookupTableAccount, - instruction::Instruction, - message::{v0::Message, VersionedMessage}, - signature::NullSigner, - }; + use solana_message::{v0::Message, AddressLookupTableAccount, VersionedMessage}; + use solana_signer::null_signer::NullSigner; let (_settings, _vault, member_a, _member_b, swap_program, token_program, user_ata) = test_pubkeys(); diff --git a/squads-sdk/src/wrap.rs b/squads-sdk/src/wrap.rs index e9a7f5b..e153014 100644 --- a/squads-sdk/src/wrap.rs +++ b/squads-sdk/src/wrap.rs @@ -1,14 +1,11 @@ use base64::{prelude::BASE64_STANDARD, Engine}; -use solana_sdk::{ - compute_budget, - compute_budget::ComputeBudgetInstruction, - hash::Hash, - instruction::{AccountMeta, Instruction}, - message::{self, VersionedMessage}, - pubkey::Pubkey, - signature::NullSigner, - transaction::VersionedTransaction, -}; +use solana_compute_budget_interface::{self as compute_budget, ComputeBudgetInstruction}; +use solana_hash::Hash; +use solana_instruction::{AccountMeta, Instruction}; +use solana_message::{self as message, VersionedMessage}; +use solana_pubkey::Pubkey; +use solana_signer::null_signer::NullSigner; +use solana_transaction::versioned::VersionedTransaction; use crate::{ accounts::compile_remaining_accounts, @@ -234,9 +231,7 @@ pub fn can_wrap( #[cfg(test)] mod tests { use super::*; - use solana_sdk::{ - hash::Hash, instruction::AccountMeta, instruction::Instruction, pubkey, pubkey::Pubkey, - }; + use solana_pubkey::pubkey; use crate::accounts::compile_remaining_accounts; @@ -664,10 +659,7 @@ mod tests { #[test] fn wrap_transaction_base64_rejects_alt_transactions() { - use solana_sdk::{ - address_lookup_table::AddressLookupTableAccount, message::v0::Message, - signature::NullSigner, - }; + use solana_message::{v0::Message, AddressLookupTableAccount}; let (settings, vault, member_a, member_b, _, swap_program, token_program, user_ata) = test_pubkeys(); From be04c83f2b3dd6d86128b9cf12c6ed0e52265baa Mon Sep 17 00:00:00 2001 From: Arrowana Date: Sun, 19 Jul 2026 20:03:14 +1000 Subject: [PATCH 2/2] feat: Use unwrap lamports to simplify order engine and deprecate temp wsol token account --- Cargo.lock | 1 - idls/order_engine.json | 9 +- programs/order-engine/Cargo.toml | 4 +- .../order-engine/src/instructions/fill.rs | 174 +++--------------- programs/order-engine/src/lib.rs | 3 - programs/order-engine/tests/test_fill.rs | 101 ++++++---- 6 files changed, 93 insertions(+), 199 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d29ec70..975951d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2916,7 +2916,6 @@ dependencies = [ "anchor-lang", "anchor-spl", "assert_matches", - "bincode", "itertools 0.14.0", "litesvm", "solana-account 4.3.1", diff --git a/idls/order_engine.json b/idls/order_engine.json index 04d35b5..4f6bc06 100644 --- a/idls/order_engine.json +++ b/idls/order_engine.json @@ -91,12 +91,5 @@ "code": 6001, "name": "MissingTemporaryWrappedSolTokenAccount" } - ], - "constants": [ - { - "name": "TEMPORARY_WSOL_TOKEN_ACCOUNT", - "type": "bytes", - "value": "[116, 101, 109, 112, 111, 114, 97, 114, 121, 45, 119, 115, 111, 108, 45, 116, 111, 107, 101, 110, 45, 97, 99, 99, 111, 117, 110, 116]" - } ] -} \ No newline at end of file +} diff --git a/programs/order-engine/Cargo.toml b/programs/order-engine/Cargo.toml index d98d888..83eae75 100644 --- a/programs/order-engine/Cargo.toml +++ b/programs/order-engine/Cargo.toml @@ -29,8 +29,6 @@ check-cfg = [ [dependencies] anchor-lang = { workspace = true } anchor-spl = { workspace = true } -solana-program-pack = { workspace = true } -solana-system-interface = { workspace = true } spl-token-interface = { workspace = true } spl-token-2022-interface = { workspace = true } @@ -40,13 +38,13 @@ solana-instruction = { workspace = true } solana-instruction-error = { workspace = true } solana-keypair = { workspace = true } solana-native-token = { workspace = true } +solana-program-pack = { workspace = true } solana-signer = { workspace = true } solana-system-interface = { workspace = true } solana-transaction = { workspace = true } solana-transaction-error = { workspace = true } litesvm = { workspace = true } spl-associated-token-account-interface = { workspace = true } -bincode = { workspace = true } assert_matches = { workspace = true } itertools = { workspace = true } test-case = { workspace = true } diff --git a/programs/order-engine/src/instructions/fill.rs b/programs/order-engine/src/instructions/fill.rs index bb63fbc..1ef1b32 100644 --- a/programs/order-engine/src/instructions/fill.rs +++ b/programs/order-engine/src/instructions/fill.rs @@ -1,14 +1,8 @@ -use anchor_lang::{ - prelude::*, - solana_program::program::{invoke, invoke_signed}, - system_program, -}; +use anchor_lang::{prelude::*, solana_program::program::invoke, system_program}; use anchor_spl::{ token::{self}, token_interface::{self, spl_pod::primitives::PodU16, TokenAccount, TokenInterface}, }; -use solana_program_pack::Pack; -use solana_system_interface::instruction as system_instruction; use spl_token_2022_interface::{ self as spl_token_2022, extension::{transfer_fee::TransferFeeConfig, BaseStateWithExtensions, StateWithExtensions}, @@ -17,66 +11,6 @@ use spl_token_interface::{self as spl_token, native_mint}; use crate::error::OrderEngineError; -pub const TEMPORARY_WSOL_TOKEN_ACCOUNT: &[u8] = b"temporary-wsol-token-account"; - -fn create_pda_account<'info>( - payer: &AccountInfo<'info>, - rent: &Rent, - space: usize, - owner: &Pubkey, - system_program: &AccountInfo<'info>, - new_pda_account: &AccountInfo<'info>, - new_pda_signer_seeds: &[&[u8]], -) -> Result<()> { - if new_pda_account.lamports() > 0 { - let required_lamports = rent - .minimum_balance(space) - .max(1) - .saturating_sub(new_pda_account.lamports()); - - if required_lamports > 0 { - invoke( - &system_instruction::transfer(payer.key, new_pda_account.key, required_lamports), - &[ - payer.clone(), - new_pda_account.clone(), - system_program.clone(), - ], - )?; - } - - invoke_signed( - &system_instruction::allocate(new_pda_account.key, space as u64), - &[new_pda_account.clone(), system_program.clone()], - &[new_pda_signer_seeds], - )?; - - invoke_signed( - &system_instruction::assign(new_pda_account.key, owner), - &[new_pda_account.clone(), system_program.clone()], - &[new_pda_signer_seeds], - )?; - } else { - invoke_signed( - &system_instruction::create_account( - payer.key, - new_pda_account.key, - rent.minimum_balance(space).max(1), - space as u64, - owner, - ), - &[ - payer.clone(), - new_pda_account.clone(), - system_program.clone(), - ], - &[new_pda_signer_seeds], - )?; - } - - Ok(()) -} - pub fn handle_fill<'info>( ctx: Context<'info, Fill<'info>>, input_amount: u64, @@ -127,14 +61,10 @@ pub fn handle_fill<'info>( require_keys_eq!(ctx.accounts.input_mint.key(), native_mint::ID); unwrap_sol( - ctx.accounts.maker.to_account_info(), ctx.accounts.taker.to_account_info(), taker_input_mint_token_account.to_account_info(), - None, - ctx.remaining_accounts.iter().next(), - ctx.accounts.input_mint.to_account_info(), + ctx.accounts.maker.to_account_info(), ctx.accounts.input_token_program.to_account_info(), - ctx.accounts.system_program.to_account_info(), input_amount, )?; } @@ -170,14 +100,10 @@ pub fn handle_fill<'info>( require_keys_eq!(ctx.accounts.output_mint.key(), native_mint::ID); unwrap_sol( - ctx.accounts.maker.to_account_info(), ctx.accounts.maker.to_account_info(), maker_output_mint_token_account.to_account_info(), - Some(ctx.accounts.taker.to_account_info()), - ctx.remaining_accounts.iter().next(), - ctx.accounts.output_mint.to_account_info(), + ctx.accounts.taker.to_account_info(), ctx.accounts.output_token_program.to_account_info(), - ctx.accounts.system_program.to_account_info(), output_amount, )?; } @@ -315,84 +241,34 @@ pub struct Fill<'info> { pub system_program: Program<'info, System>, } -#[allow(clippy::too_many_arguments)] fn unwrap_sol<'info>( - maker: AccountInfo<'info>, - sender: AccountInfo<'info>, + authority: AccountInfo<'info>, sender_token_account: AccountInfo<'info>, - receiver: Option>, - temporary_wsol_token_account: Option<&AccountInfo<'info>>, - wsol_mint: AccountInfo<'info>, + receiver: AccountInfo<'info>, token_program: AccountInfo<'info>, - system_program: AccountInfo<'info>, amount: u64, ) -> Result<()> { - let temporary_wsol_token_account = temporary_wsol_token_account - .ok_or(OrderEngineError::MissingTemporaryWrappedSolTokenAccount)?; - - let (expected_temporary_wsol_token_account, bump) = Pubkey::find_program_address( - &[TEMPORARY_WSOL_TOKEN_ACCOUNT, maker.key.as_ref()], - &crate::ID, - ); - require_keys_eq!( - temporary_wsol_token_account.key(), - expected_temporary_wsol_token_account - ); - let new_pda_signer_seeds: &[&[u8]] = - &[TEMPORARY_WSOL_TOKEN_ACCOUNT, maker.key.as_ref(), &[bump]]; - create_pda_account( - &maker, - &Rent::get()?, - spl_token::state::Account::LEN, - &spl_token::ID, - &system_program, - temporary_wsol_token_account, - new_pda_signer_seeds, - )?; - token::initialize_account3(CpiContext::new( - *token_program.key, - token::InitializeAccount3 { - account: temporary_wsol_token_account.clone(), - mint: wsol_mint, - authority: maker.clone(), - }, - ))?; - - token::transfer( - CpiContext::new( - *token_program.key, - token::Transfer { - from: sender_token_account.clone(), - to: temporary_wsol_token_account.clone(), - authority: sender.clone(), - }, - ), - amount, - )?; - - // Close temporary wsol token account into the maker - token::close_account(CpiContext::new( - *token_program.key, - token::CloseAccount { - account: temporary_wsol_token_account.clone(), - destination: maker.clone(), - authority: maker.clone(), - }, - ))?; + let instruction = if token_program.key.eq(&spl_token_2022::ID) { + spl_token_2022::instruction::unwrap_lamports( + token_program.key, + sender_token_account.key, + receiver.key, + authority.key, + &[], + Some(amount), + )? + } else { + spl_token::instruction::unwrap_lamports( + token_program.key, + sender_token_account.key, + receiver.key, + authority.key, + &[], + Some(amount), + )? + }; - if let Some(receiver) = receiver { - // Transfer native sol to receipient - system_program::transfer( - CpiContext::new( - *system_program.key, - system_program::Transfer { - from: maker, - to: receiver, - }, - ), - amount, - )?; - } + invoke(&instruction, &[sender_token_account, receiver, authority])?; Ok(()) } diff --git a/programs/order-engine/src/lib.rs b/programs/order-engine/src/lib.rs index 1ef90d1..9945940 100644 --- a/programs/order-engine/src/lib.rs +++ b/programs/order-engine/src/lib.rs @@ -5,9 +5,6 @@ mod instructions; use instructions::*; -#[constant] -pub const TEMPORARY_WSOL_TOKEN_ACCOUNT: &[u8] = instructions::TEMPORARY_WSOL_TOKEN_ACCOUNT; - #[cfg(not(feature = "production"))] declare_id!("RderEngine111111111111111111111111111111112"); diff --git a/programs/order-engine/tests/test_fill.rs b/programs/order-engine/tests/test_fill.rs index f81cb91..c70ba11 100644 --- a/programs/order-engine/tests/test_fill.rs +++ b/programs/order-engine/tests/test_fill.rs @@ -45,6 +45,7 @@ fn get_amount_or_lamports(svm: &LiteSVM, user: Pubkey, token_account: &Option { let FailedTransactionMetadata { err: transaction_error, + meta, .. } = result.unwrap_err(); + println!( + "CU_USAGE case=\"{test_case_label}\" status=expected_error cu={} err={transaction_error:?}", + meta.compute_units_consumed + ); assert_eq!(transaction_error, expected_error); return; } None => { - assert_matches!(result, Ok(_)); + let meta = result.unwrap(); + println!( + "CU_USAGE case=\"{test_case_label}\" status=ok cu={}", + meta.compute_units_consumed + ); } } @@ -125,12 +135,10 @@ fn test_fill(test_mode: TestMode) { assert_eq!(before_taker_balance, after_taker_balance); } - println!("{after_maker_input_amount} {before_maker_input_amount}"); assert_eq!( after_maker_input_amount.checked_sub(before_maker_input_amount), Some(*input_amount) ); - println!("{before_maker_output_amount:?} {after_maker_output_amount:?}"); assert_eq!( before_maker_output_amount.checked_sub(after_maker_output_amount), Some(*output_amount) @@ -160,7 +168,6 @@ struct TestEnvironment { input_token_program: Pubkey, output_mint: Pubkey, output_token_program: Pubkey, - temporary_wsol_token_account: Option, } impl TestEnvironment { @@ -178,7 +185,6 @@ impl TestEnvironment { input_token_program, output_mint, output_token_program, - temporary_wsol_token_account, .. } = self; let mut data = order_engine::instruction::Fill { @@ -192,7 +198,7 @@ impl TestEnvironment { let fee_bps: u16 = 0; data.extend(fee_bps.to_le_bytes()); - let mut instruction = Instruction { + Instruction { program_id: order_engine::ID, accounts: order_engine::accounts::Fill { maker: *maker, @@ -209,18 +215,11 @@ impl TestEnvironment { } .to_account_metas(None), data, - }; - if let Some(temporary_wsol_token_account) = temporary_wsol_token_account { - instruction - .accounts - .push(AccountMeta::new(*temporary_wsol_token_account, false)); } - - instruction } } -#[derive(Default, Debug)] +#[derive(Clone, Copy, Default, Debug)] enum AccountKind { #[default] Token, @@ -228,12 +227,28 @@ enum AccountKind { NativeSol, } -#[derive(Default)] +impl AccountKind { + fn label(self) -> &'static str { + match self { + Self::Token => "token", + Self::NativeMint => "wsol", + Self::NativeSol => "sol", + } + } +} + +#[derive(Clone, Copy, Default)] struct Accounts { input: AccountKind, output: AccountKind, } +impl Accounts { + fn label(self) -> String { + format!("{}->{}", self.input.label(), self.output.label()) + } +} + #[derive(Clone, Debug, PartialEq)] enum ExtensionInitializationParams { TransferFeeConfig { @@ -246,6 +261,17 @@ enum ExtensionInitializationParams { } impl ExtensionInitializationParams { + fn label(&self) -> String { + match self { + Self::TransferFeeConfig { + transfer_fee_basis_points, + maximum_fee, + .. + } => format!("transfer_fee_bps_{transfer_fee_basis_points}_max_{maximum_fee}"), + Self::NonTransferable => "non_transferable".to_string(), + } + } + fn extension(&self) -> ExtensionType { match self { Self::TransferFeeConfig { .. } => ExtensionType::TransferFeeConfig, @@ -287,6 +313,31 @@ struct TestMode { output_mint_extensions: Option>, } +impl TestMode { + fn label(&self) -> String { + fn extensions_label(extensions: &Option>) -> String { + extensions + .as_ref() + .map(|extensions| { + extensions + .iter() + .map(ExtensionInitializationParams::label) + .join("+") + }) + .unwrap_or_else(|| "none".to_string()) + } + + format!( + "taker:{} maker:{} input_ext:{} output_ext:{} expected_error:{}", + self.taker_accounts.label(), + self.maker_accounts.label(), + extensions_label(&self.input_mint_extensions), + extensions_label(&self.output_mint_extensions), + self.expected_error.is_some() + ) + } +} + struct TestToken { mint: Pubkey, program_id: Pubkey, @@ -344,8 +395,6 @@ fn prepare_test(test_mode: TestMode) -> TestEnvironment { (Some(mint_a_keypair), mint_a, Some(mint_b_keypair), mint_b) }; - let mut uses_temporary_wsol_token_account = false; - // Taker order construction, taker wants some token b for some token a. // Using a rate of 1 LST => 150 USDC. let input_amount = 1_000_000_000; @@ -437,7 +486,6 @@ fn prepare_test(test_mode: TestMode) -> TestEnvironment { ) => { mint_a_keypair = None; mint_a = spl_token::native_mint::ID; - uses_temporary_wsol_token_account = true; } ( Accounts { @@ -461,7 +509,6 @@ fn prepare_test(test_mode: TestMode) -> TestEnvironment { ) => { mint_b_keypair = None; mint_b = spl_token::native_mint::ID; - uses_temporary_wsol_token_account = true; } _ => panic!("Invalid combo"), }; @@ -524,7 +571,6 @@ fn prepare_test(test_mode: TestMode) -> TestEnvironment { ]) .zip(amount_with_account_kinds) { - println!("{user} {} {:?}", token.mint, amount_with_kind.1); let ata = token.get_associated_token_address(&user); let set_ata = match amount_with_kind { (amount, AccountKind::Token) => { @@ -564,18 +610,6 @@ fn prepare_test(test_mode: TestMode) -> TestEnvironment { } } - let temporary_wsol_token_account = if uses_temporary_wsol_token_account { - Some( - Pubkey::find_program_address( - &[order_engine::TEMPORARY_WSOL_TOKEN_ACCOUNT, maker.as_ref()], - &order_engine::ID, - ) - .0, - ) - } else { - None - }; - TestEnvironment { svm, payer, @@ -593,7 +627,6 @@ fn prepare_test(test_mode: TestMode) -> TestEnvironment { input_token_program: token_a_program_id, output_mint: token_b.mint, output_token_program: token_b_program_id, - temporary_wsol_token_account, } } @@ -752,8 +785,6 @@ pub fn process_instructions( svm.latest_blockhash(), ); - println!("TX size: {}", bincode::serialize(&tx).unwrap().len()); - svm.send_transaction(tx) }