diff --git a/Cargo.lock b/Cargo.lock index fd109c4c..0f009b7a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -53,11 +53,71 @@ dependencies = [ "zeroize", ] +[[package]] +name = "agave-feature-set" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e37f8cd072eae70213ca32490fd957d1206baf738066636ef172b97fba8cd88" +dependencies = [ + "ahash 0.8.11", + "solana-epoch-schedule", + "solana-hash", + "solana-pubkey", + "solana-sha256-hasher", + "solana-svm-feature-set", +] + +[[package]] +name = "agave-io-uring" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03ce523f0ffe853c0713733245a462cd02a7cecce1f9a215355186560356bb65" +dependencies = [ + "io-uring", + "libc", + "log", + "slab", + "smallvec", +] + +[[package]] +name = "agave-precompiles" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eada8e7002611de60a440624f69390c0e3fb50c41a423aaf80247e423c392068" +dependencies = [ + "agave-feature-set", + "bincode", + "digest 0.10.7", + "ed25519-dalek", + "libsecp256k1", + "openssl", + "sha3", + "solana-ed25519-program", + "solana-message", + "solana-precompile-error", + "solana-pubkey", + "solana-sdk-ids", + "solana-secp256k1-program", + "solana-secp256r1-program", +] + +[[package]] +name = "agave-reserved-account-keys" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60ea327ab5fd481d946c379168733cc6cecf3fcef045dd344a97255212efda6f" +dependencies = [ + "agave-feature-set", + "solana-pubkey", + "solana-sdk-ids", +] + [[package]] name = "agave-transaction-view" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4778fd549144e8776fb7ac04e7dac598546f0d4cb0b25e336cb0a7d93120ddb9" +checksum = "db77262bab31fcd14b9e711d43753da5444fc440ebd1a9380c25ed108251bd59" dependencies = [ "solana-hash", "solana-message", @@ -69,6 +129,17 @@ dependencies = [ "solana-svm-transaction", ] +[[package]] +name = "ahash" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +dependencies = [ + "getrandom 0.2.15", + "once_cell", + "version_check", +] + [[package]] name = "ahash" version = "0.8.11" @@ -123,9 +194,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.95" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" +checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" [[package]] name = "aquamarine" @@ -359,9 +430,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.86" +version = "0.1.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "644dd749086bf3771a2fbc5f256fdb982d53f011c7d5d560304eafeecebce79d" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", @@ -412,12 +483,6 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - [[package]] name = "base64" version = "0.22.1" @@ -448,12 +513,6 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - [[package]] name = "bitflags" version = "2.8.0" @@ -474,9 +533,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.5.5" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8ee0c1824c4dea5b5f81736aff91bae041d2c07ee1192bec91054e10e3e601e" +checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" dependencies = [ "arrayref", "arrayvec", @@ -516,11 +575,11 @@ dependencies = [ [[package]] name = "borsh" -version = "1.5.5" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5430e3be710b68d984d1391c854eb431a9d548640711faa54eecb1df93db91cc" +checksum = "ad8646f98db542e39fc66e68a20b2144f6a732636df7c2354e74645faaa433ce" dependencies = [ - "borsh-derive 1.5.5", + "borsh-derive 1.5.7", "cfg_aliases", ] @@ -539,9 +598,9 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "1.5.5" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8b668d39970baad5356d7c83a86fee3a539e6f93bf6764c97368243e17a0487" +checksum = "fdd1d3c0c2f5833f22386f252fe8ed005c7f59fdcddeef025c01b4c3b9fd9ac3" dependencies = [ "once_cell", "proc-macro-crate 3.2.0", @@ -620,18 +679,18 @@ dependencies = [ [[package]] name = "bytemuck" -version = "1.21.0" +version = "1.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3" +checksum = "5c76a5792e44e4abe34d3abf15636779261d45a7450612059293d1d2cfc63422" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.8.1" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fa76293b4f7bb636ab88fd78228235b5248b4d05cc589aed610f954af5d7c7a" +checksum = "7ecc273b49b3205b83d648f0690daa588925572cc5063745bfe547fe7ec8e1a1" dependencies = [ "proc-macro2", "quote", @@ -649,6 +708,9 @@ name = "bytes" version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9" +dependencies = [ + "serde", +] [[package]] name = "bzip2" @@ -728,10 +790,7 @@ checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" dependencies = [ "android-tzdata", "iana-time-zone", - "js-sys", "num-traits", - "serde", - "wasm-bindgen", "windows-targets 0.52.6", ] @@ -827,9 +886,9 @@ checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "core-foundation" -version = "0.9.4" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" dependencies = [ "core-foundation-sys", "libc", @@ -1206,15 +1265,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" -[[package]] -name = "encoding_rs" -version = "0.8.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" -dependencies = [ - "cfg-if", -] - [[package]] name = "enum-iterator" version = "1.5.0" @@ -1304,6 +1354,18 @@ dependencies = [ "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.1", + "rand 0.9.1", + "siphasher 1.0.1", + "wide", +] + [[package]] name = "fastrand" version = "2.3.0" @@ -1334,6 +1396,15 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "five8" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75b8549488b4715defcb0d8a8a1c1c76a80661b5fa106b4ca0e7fce59d7d875" +dependencies = [ + "five8_core", +] + [[package]] name = "five8_const" version = "0.1.4" @@ -1349,6 +1420,12 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2551bf44bc5f776c15044b9b94153a00198be06743e262afaaa61f11ac7523a5" +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + [[package]] name = "flate2" version = "1.0.35" @@ -1526,10 +1603,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" dependencies = [ "cfg-if", - "js-sys", "libc", "wasi 0.9.0+wasi-snapshot-preview1", - "wasm-bindgen", ] [[package]] @@ -1552,8 +1627,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi 0.13.3+wasi-0.2.2", + "wasm-bindgen", "windows-targets 0.52.6", ] @@ -1584,31 +1661,21 @@ dependencies = [ ] [[package]] -name = "h2" -version = "0.3.26" +name = "hash32" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap", - "slab", - "tokio", - "tokio-util 0.7.13", - "tracing", + "byteorder", ] [[package]] -name = "hash32" -version = "0.2.1" +name = "hashbrown" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" dependencies = [ - "byteorder", + "ahash 0.7.8", ] [[package]] @@ -1617,7 +1684,7 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash", + "ahash 0.8.11", ] [[package]] @@ -1632,6 +1699,15 @@ version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "heck" version = "0.4.1" @@ -1655,9 +1731,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.9" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "histogram" @@ -1706,14 +1782,37 @@ dependencies = [ "itoa", ] +[[package]] +name = "http" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + [[package]] name = "http-body" -version = "0.4.6" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http 1.3.1", +] + +[[package]] +name = "http-body-util" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", - "http", + "futures-core", + "http 1.3.1", + "http-body", "pin-project-lite", ] @@ -1723,12 +1822,6 @@ version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a" -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - [[package]] name = "humantime" version = "2.1.0" @@ -1737,40 +1830,62 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.32" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" dependencies = [ "bytes", "futures-channel", - "futures-core", "futures-util", - "h2", - "http", + "http 1.3.1", "http-body", "httparse", - "httpdate", "itoa", "pin-project-lite", - "socket2", + "smallvec", "tokio", - "tower-service", - "tracing", "want", ] [[package]] name = "hyper-rustls" -version = "0.24.2" +version = "0.27.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" +dependencies = [ + "http 1.3.1", + "hyper", + "hyper-util", + "rustls 0.23.28", + "rustls-pki-types", + "tokio", + "tokio-rustls 0.26.2", + "tower-service", + "webpki-roots 1.0.1", +] + +[[package]] +name = "hyper-util" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +checksum = "dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb" dependencies = [ + "base64 0.22.1", + "bytes", + "futures-channel", + "futures-core", "futures-util", - "http", + "http 1.3.1", + "http-body", "hyper", - "rustls 0.21.12", + "ipnet", + "libc", + "percent-encoding", + "pin-project-lite", + "socket2", "tokio", - "tokio-rustls", + "tower-service", + "tracing", ] [[package]] @@ -1976,17 +2091,11 @@ dependencies = [ "quote", ] -[[package]] -name = "index_list" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa38453685e5fe724fd23ff6c1a158c1e2ca21ce0c2718fa11e96e70e99fd4de" - [[package]] name = "indexmap" -version = "2.7.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" +checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" dependencies = [ "equivalent", "hashbrown 0.15.2", @@ -2014,12 +2123,33 @@ dependencies = [ "generic-array", ] +[[package]] +name = "io-uring" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b86e202f00093dcba4275d4636b93ef9dd75d025ae560d2521b45ea28ab49013" +dependencies = [ + "bitflags", + "cfg-if", + "libc", +] + [[package]] name = "ipnet" version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" +[[package]] +name = "iri-string" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "itertools" version = "0.10.5" @@ -2046,16 +2176,18 @@ checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "jni" -version = "0.19.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" dependencies = [ "cesu8", + "cfg-if", "combine 4.6.7", "jni-sys", "log", "thiserror 1.0.69", "walkdir", + "windows-sys 0.45.0", ] [[package]] @@ -2098,6 +2230,16 @@ dependencies = [ "serde_json", ] +[[package]] +name = "kaigan" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ba15de5aeb137f0f65aa3bf82187647f1285abfe5b20c80c2c37f7007ad519a" +dependencies = [ + "borsh 0.10.4", + "serde", +] + [[package]] name = "keccak" version = "0.1.5" @@ -2115,9 +2257,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.169" +version = "0.2.174" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" +checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" [[package]] name = "libredox" @@ -2125,7 +2267,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.8.0", + "bitflags", "libc", "redox_syscall", ] @@ -2220,9 +2362,24 @@ dependencies = [ [[package]] name = "log" -version = "0.4.25" +version = "0.4.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" + +[[package]] +name = "lru" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" +dependencies = [ + "hashbrown 0.12.3", +] + +[[package]] +name = "lru-slab" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" [[package]] name = "lz4" @@ -2258,6 +2415,15 @@ dependencies = [ "libc", ] +[[package]] +name = "memmap2" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" +dependencies = [ + "libc", +] + [[package]] name = "memoffset" version = "0.9.1" @@ -2279,22 +2445,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[package]] -name = "mime_guess" -version = "2.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" -dependencies = [ - "mime", - "unicase", -] - [[package]] name = "minimal-lexical" version = "0.2.1" @@ -2371,27 +2521,29 @@ dependencies = [ [[package]] name = "mollusk-svm" -version = "0.1.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdd69eeb49efb56a6da89cb095260d327ed585031c1d9f7c2aa70633621e1d2e" +checksum = "cb0e7e32613895f01f6bc8f71df52bce66a01c0ab0d0af9f1cef358257102d70" dependencies = [ + "agave-feature-set", + "agave-precompiles", "bincode", "mollusk-svm-error", "mollusk-svm-keys", + "mollusk-svm-result", "solana-account", "solana-bpf-loader-program", "solana-clock", "solana-compute-budget", "solana-epoch-rewards", "solana-epoch-schedule", - "solana-feature-set", - "solana-fee-structure", "solana-hash", "solana-instruction", - "solana-loader-v3-interface", + "solana-loader-v3-interface 3.0.0", + "solana-loader-v4-interface", "solana-log-collector", "solana-logger", - "solana-precompiles", + "solana-precompile-error", "solana-program-error", "solana-program-runtime", "solana-pubkey", @@ -2399,6 +2551,7 @@ dependencies = [ "solana-sdk-ids", "solana-slot-hashes", "solana-stake-interface", + "solana-svm-callback", "solana-system-program", "solana-sysvar", "solana-sysvar-id", @@ -2408,37 +2561,95 @@ dependencies = [ [[package]] name = "mollusk-svm-error" -version = "0.1.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c8d71e29fb7e0047f3cffec055bc931011a7abfa3c1954fb18612d28a7c1f9" +checksum = "4533f8eccc6395c89e23b3b07f3ecd95619049e803a6c8f9a129fef25afe50f2" dependencies = [ "solana-pubkey", "thiserror 1.0.69", ] [[package]] -name = "mollusk-svm-keys" -version = "0.1.0" +name = "mollusk-svm-fuzz-fixture" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c08779697eeb0a288ec9338edf8b7a74417818aaef11fdadb5ebb0a3fe9075b" +checksum = "fec0542f3da1f7577778b818710b03a9a147ea779f70da11b04c8c394e469835" dependencies = [ - "mollusk-svm-error", + "agave-feature-set", + "mollusk-svm-fuzz-fs", + "prost", + "prost-build", + "serde", "solana-account", + "solana-clock", + "solana-compute-budget", + "solana-epoch-rewards", + "solana-epoch-schedule", + "solana-hash", "solana-instruction", + "solana-keccak-hasher", "solana-pubkey", - "solana-transaction-context", + "solana-rent", + "solana-slot-hashes", + "solana-stake-interface", + "which", ] [[package]] -name = "nix" -version = "0.29.0" +name = "mollusk-svm-fuzz-fs" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +checksum = "b6f0481fd410e56968c9709ae1243d063e095271b1c5814c0dc0bb0cc6a6a87d" dependencies = [ - "bitflags 2.8.0", - "cfg-if", - "cfg_aliases", - "libc", + "bs58", + "prost", + "serde", + "serde_json", + "solana-keccak-hasher", +] + +[[package]] +name = "mollusk-svm-keys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd327a6fded74b546195b51b15119c6d8b591f80b2297c8a7dffd64c4ab7860e" +dependencies = [ + "mollusk-svm-error", + "solana-account", + "solana-instruction", + "solana-pubkey", + "solana-transaction-context", +] + +[[package]] +name = "mollusk-svm-result" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9457290a846a2f962e793a3c551139d059052d4d19f850be1ddacf16119af70" +dependencies = [ + "solana-account", + "solana-instruction", + "solana-program-error", + "solana-pubkey", + "solana-rent", +] + +[[package]] +name = "multimap" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" + +[[package]] +name = "nix" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" +dependencies = [ + "bitflags", + "cfg-if", + "cfg_aliases", + "libc", "memoffset", ] @@ -2575,11 +2786,11 @@ dependencies = [ [[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 0.5.2", "libc", ] @@ -2646,7 +2857,7 @@ version = "0.10.72" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da" dependencies = [ - "bitflags 2.8.0", + "bitflags", "cfg-if", "foreign-types", "libc", @@ -2672,6 +2883,15 @@ 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.107" @@ -2680,6 +2900,7 @@ checksum = "8288979acd84749c744a9014b4382d42b8f7b2592847b5afb2ed29e5d16ede07" dependencies = [ "cc", "libc", + "openssl-src", "pkg-config", "vcpkg", ] @@ -2771,6 +2992,16 @@ dependencies = [ "num", ] +[[package]] +name = "petgraph" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +dependencies = [ + "fixedbitset", + "indexmap", +] + [[package]] name = "pin-project" version = "1.1.9" @@ -2833,9 +3064,19 @@ dependencies = [ "num-traits", "pinocchio", "pinocchio-log", + "solana-instruction", + "solana-keypair", + "solana-program-error", + "solana-program-option", + "solana-program-pack", "solana-program-test", - "solana-sdk", - "spl-token 4.0.2", + "solana-pubkey", + "solana-signature", + "solana-signer", + "solana-system-interface", + "solana-transaction", + "solana-transaction-error", + "spl-token 8.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "spl-token-2022", "spl-token-interface", ] @@ -2965,7 +3206,7 @@ checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.8.0", + "bitflags", "lazy_static", "num-traits", "rand 0.8.5", @@ -2977,6 +3218,59 @@ dependencies = [ "unarray", ] +[[package]] +name = "prost" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001" +dependencies = [ + "bytes", + "prost-derive", +] + +[[package]] +name = "prost-build" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5" +dependencies = [ + "bytes", + "heck 0.3.3", + "itertools 0.10.5", + "lazy_static", + "log", + "multimap", + "petgraph", + "prost", + "prost-types", + "regex", + "tempfile", + "which", +] + +[[package]] +name = "prost-derive" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe" +dependencies = [ + "anyhow", + "itertools 0.10.5", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "prost-types" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a" +dependencies = [ + "bytes", + "prost", +] + [[package]] name = "qstring" version = "0.7.2" @@ -3020,38 +3314,42 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quinn" -version = "0.11.6" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" +checksum = "626214629cda6781b6dc1d316ba307189c85ba657213ce642d9c77670f8202c8" dependencies = [ "bytes", + "cfg_aliases", "pin-project-lite", "quinn-proto", "quinn-udp", "rustc-hash", - "rustls 0.23.22", + "rustls 0.23.28", "socket2", - "thiserror 2.0.11", + "thiserror 2.0.12", "tokio", "tracing", + "web-time", ] [[package]] name = "quinn-proto" -version = "0.11.9" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" +checksum = "49df843a9161c85bb8aae55f101bc0bac8bcafd637a620d9122fd7e0b2f7422e" dependencies = [ "bytes", - "getrandom 0.2.15", - "rand 0.8.5", + "fastbloom", + "getrandom 0.3.1", + "lru-slab", + "rand 0.9.1", "ring", "rustc-hash", - "rustls 0.23.22", + "rustls 0.23.28", "rustls-pki-types", "rustls-platform-verifier", "slab", - "thiserror 2.0.11", + "thiserror 2.0.12", "tinyvec", "tracing", "web-time", @@ -3104,6 +3402,16 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "rand" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", +] + [[package]] name = "rand_chacha" version = "0.2.2" @@ -3124,6 +3432,16 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "rand_chacha" +version = "0.9.0" +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" @@ -3142,6 +3460,15 @@ dependencies = [ "getrandom 0.2.15", ] +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.1", +] + [[package]] name = "rand_hc" version = "0.2.0" @@ -3175,7 +3502,7 @@ version = "11.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6928fa44c097620b706542d428957635951bade7143269085389d42c8a4927e" dependencies = [ - "bitflags 2.8.0", + "bitflags", ] [[package]] @@ -3204,7 +3531,7 @@ version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ - "bitflags 2.8.0", + "bitflags", ] [[package]] @@ -3238,61 +3565,59 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "reqwest" -version = "0.11.27" +version = "0.12.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +checksum = "cbc931937e6ca3a06e3b6c0aa7841849b160a90351d6ab467a8b9b9959767531" dependencies = [ "async-compression", - "base64 0.21.7", + "base64 0.22.1", "bytes", - "encoding_rs", + "futures-channel", "futures-core", "futures-util", - "h2", - "http", + "http 1.3.1", "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 1.0.4", + "quinn", + "rustls 0.23.28", + "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper", - "system-configuration", "tokio", - "tokio-rustls", - "tokio-util 0.7.13", + "tokio-rustls 0.26.2", + "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 1.0.1", ] [[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", + "http 1.3.1", "reqwest", "serde", - "task-local-extensions", "thiserror 1.0.69", + "tower-service", ] [[package]] @@ -3345,7 +3670,7 @@ version = "0.38.43" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6" dependencies = [ - "bitflags 2.8.0", + "bitflags", "errno", "libc", "linux-raw-sys 0.4.15", @@ -3358,7 +3683,7 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dade4812df5c384711475be5fcd8c162555352945401aed22a35bffeab61f657" dependencies = [ - "bitflags 2.8.0", + "bitflags", "errno", "libc", "linux-raw-sys 0.9.2", @@ -3379,49 +3704,30 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.22" +version = "0.23.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb9263ab4eb695e42321db096e3b8fbd715a59b154d5c88d82db2175b681ba7" +checksum = "7160e3e10bf4535308537f3c4e1641468cd0e485175d6163087c0393c7d46643" dependencies = [ "once_cell", "ring", "rustls-pki-types", - "rustls-webpki 0.102.8", + "rustls-webpki 0.103.3", "subtle", "zeroize", ] [[package]] name = "rustls-native-certs" -version = "0.7.3" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5" +checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" dependencies = [ "openssl-probe", - "rustls-pemfile 2.2.0", "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-pemfile" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" -dependencies = [ - "rustls-pki-types", -] - [[package]] name = "rustls-pki-types" version = "1.11.0" @@ -3433,23 +3739,23 @@ dependencies = [ [[package]] name = "rustls-platform-verifier" -version = "0.4.0" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c7dc240fec5517e6c4eab3310438636cfe6391dfc345ba013109909a90d136" +checksum = "19787cda76408ec5404443dc8b31795c87cd8fec49762dc75fa727740d34acc1" dependencies = [ "core-foundation", "core-foundation-sys", "jni", "log", "once_cell", - "rustls 0.23.22", + "rustls 0.23.28", "rustls-native-certs", "rustls-platform-verifier-android", - "rustls-webpki 0.102.8", + "rustls-webpki 0.103.3", "security-framework", "security-framework-sys", "webpki-root-certs", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -3470,9 +3776,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.102.8" +version = "0.103.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" dependencies = [ "ring", "rustls-pki-types", @@ -3503,6 +3809,15 @@ version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +[[package]] +name = "safe_arch" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96b02de82ddbe1b636e6170c21be622223aea188ef2e139be0a5b219ec215323" +dependencies = [ + "bytemuck", +] + [[package]] name = "same-file" version = "1.0.6" @@ -3554,15 +3869,14 @@ checksum = "478f121bb72bbf63c52c93011ea1791dca40140dfe13f8336c4c5ac952c33aa9" [[package]] name = "security-framework" -version = "2.11.1" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" dependencies = [ - "bitflags 2.8.0", + "bitflags", "core-foundation", "core-foundation-sys", "libc", - "num-bigint 0.4.6", "security-framework-sys", ] @@ -3593,9 +3907,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.217" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] @@ -3620,9 +3934,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.217" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", @@ -3631,9 +3945,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.138" +version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ "itoa", "memchr", @@ -3761,6 +4075,16 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +[[package]] +name = "signal-hook" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" +dependencies = [ + "libc", + "signal-hook-registry", +] + [[package]] name = "signal-hook-registry" version = "1.4.2" @@ -3782,6 +4106,12 @@ version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" +[[package]] +name = "siphasher" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" + [[package]] name = "sized-chunks" version = "0.6.5" @@ -3803,15 +4133,15 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.2" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "socket2" -version = "0.5.8" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" dependencies = [ "libc", "windows-sys 0.52.0", @@ -3824,6 +4154,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f949fe4edaeaea78c844023bfc1c898e0b1f5a100f8a8d2d0f85d0a7b090258" dependencies = [ "bincode", + "qualifier_attr", "serde", "serde_bytes", "serde_derive", @@ -3837,9 +4168,9 @@ dependencies = [ [[package]] name = "solana-account-decoder-client-types" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58ad44260b45eb8c75005fbe361186136e52e2cf0de2139f530295f04f9521ad" +checksum = "6ccc2edc7ba4cbdcc0e5c0099cae5253d2d2d3aa83612d5d324526c128c43d93" dependencies = [ "base64 0.22.1", "bs58", @@ -3853,9 +4184,9 @@ dependencies = [ [[package]] name = "solana-account-info" -version = "2.2.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0c17d606a298a205fae325489fbed88ee6dc4463c111672172327e741c8905d" +checksum = "c8f5152a288ef1912300fc6efa6c2d1f9bb55d9398eb6c72326360b8063987da" dependencies = [ "bincode", "serde", @@ -3866,11 +4197,12 @@ dependencies = [ [[package]] name = "solana-accounts-db" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b7c93e9f9184f8c785da2136e84adb4123e45297890ec1d39baa2f693bc83c3" +checksum = "1480350850c9c6817e3a9c19cfe6a3400cacb60d31e4a94d5179c03bfe54a04e" dependencies = [ - "ahash", + "agave-io-uring", + "ahash 0.8.11", "bincode", "blake3", "bv", @@ -3879,13 +4211,12 @@ dependencies = [ "bzip2", "crossbeam-channel", "dashmap", - "index_list", "indexmap", + "io-uring", "itertools 0.12.1", - "lazy_static", "log", "lz4", - "memmap2", + "memmap2 0.9.5", "modular-bitfield", "num_cpus", "num_enum", @@ -3894,23 +4225,39 @@ dependencies = [ "seqlock", "serde", "serde_derive", + "slab", "smallvec", + "solana-account", + "solana-address-lookup-table-interface", "solana-bucket-map", "solana-clock", + "solana-epoch-schedule", + "solana-fee-calculator", + "solana-genesis-config", "solana-hash", - "solana-inline-spl", "solana-lattice-hash", "solana-measure", + "solana-message", "solana-metrics", "solana-nohash-hasher", "solana-pubkey", "solana-rayon-threadlimit", - "solana-sdk", + "solana-rent-collector", + "solana-reward-info", + "solana-sha256-hasher", + "solana-slot-hashes", "solana-svm-transaction", + "solana-system-interface", + "solana-sysvar", + "solana-time-utils", + "solana-transaction", + "solana-transaction-context", + "solana-transaction-error", + "spl-generic-token", "static_assertions", "tar", "tempfile", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] @@ -3930,31 +4277,6 @@ dependencies = [ "solana-slot-hashes", ] -[[package]] -name = "solana-address-lookup-table-program" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bffd21cefb44a61a051f5f36bdb8863b619754e057099506a73cabd8716b10d4" -dependencies = [ - "bincode", - "bytemuck", - "log", - "num-derive", - "num-traits", - "solana-address-lookup-table-interface", - "solana-bincode", - "solana-clock", - "solana-feature-set", - "solana-instruction", - "solana-log-collector", - "solana-packet", - "solana-program-runtime", - "solana-pubkey", - "solana-system-interface", - "solana-transaction-context", - "thiserror 2.0.11", -] - [[package]] name = "solana-atomic-u64" version = "2.2.1" @@ -3966,50 +4288,78 @@ dependencies = [ [[package]] name = "solana-banks-client" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57b8593f50e34f44ed168dccbac0a9b8e43e138ac75102dac6635fbdfff88d1e" +checksum = "10794b21e0885313d3db95d6c6baac1377acdcc9adecc035c7010c16b1648ba7" dependencies = [ - "borsh 1.5.5", + "borsh 1.5.7", "futures", + "solana-account", "solana-banks-interface", - "solana-program", - "solana-sdk", + "solana-clock", + "solana-commitment-config", + "solana-hash", + "solana-message", + "solana-program-pack", + "solana-pubkey", + "solana-rent", + "solana-signature", + "solana-sysvar", + "solana-transaction", + "solana-transaction-context", + "solana-transaction-error", "tarpc", - "thiserror 2.0.11", + "thiserror 2.0.12", "tokio", "tokio-serde", ] [[package]] name = "solana-banks-interface" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "414f5d83bf9aa83d5a387959d0849bd4a3df86f8b09219278f964688710faeb4" +checksum = "f7cbc7fc9e79e7b5c165e76153798ae7792479d96eb81adf4ba6ee730ec1de5e" dependencies = [ "serde", "serde_derive", - "solana-sdk", + "solana-account", + "solana-clock", + "solana-commitment-config", + "solana-hash", + "solana-message", + "solana-pubkey", + "solana-signature", + "solana-transaction", + "solana-transaction-context", + "solana-transaction-error", "tarpc", ] [[package]] name = "solana-banks-server" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f3a1c619d54d4a8c30802b4ac6f572a293914e592f2c3e904be3cdacbb22333" +checksum = "0231ad096c6a1dd02fd6f2197cf25d44d6d360029fc8d91a8775020c0cf9be8e" dependencies = [ + "agave-feature-set", "bincode", "crossbeam-channel", "futures", + "solana-account", "solana-banks-interface", "solana-client", - "solana-feature-set", + "solana-clock", + "solana-commitment-config", + "solana-hash", + "solana-message", + "solana-pubkey", "solana-runtime", "solana-runtime-transaction", - "solana-sdk", "solana-send-transaction-service", + "solana-signature", "solana-svm", + "solana-transaction", + "solana-transaction-error", "tarpc", "tokio", "tokio-serde", @@ -4051,9 +4401,9 @@ dependencies = [ [[package]] name = "solana-bn254" -version = "2.2.1" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9abc69625158faaab02347370b91c0d8e0fe347bf9287239f0fbe8f5864d91da" +checksum = "4420f125118732833f36facf96a27e7b78314b2d642ba07fa9ffdacd8d79e243" dependencies = [ "ark-bn254", "ark-ec", @@ -4061,7 +4411,7 @@ dependencies = [ "ark-serialize", "bytemuck", "solana-define-syscall", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] @@ -4071,17 +4421,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "718333bcd0a1a7aed6655aa66bef8d7fb047944922b2d3a18f49cbc13e73d004" dependencies = [ "borsh 0.10.4", - "borsh 1.5.5", + "borsh 1.5.7", ] [[package]] name = "solana-bpf-loader-program" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f452bd2217eb46f24a828c7408c9e4fef2cc1767656560ca26006e20febf4068" +checksum = "b6a99ca73fc03e2107ccdff67dbae950b90595f3a613fad0725e2b4d73b0fd7a" dependencies = [ "bincode", "libsecp256k1", + "num-traits", "qualifier_attr", "scopeguard", "solana-account", @@ -4091,22 +4442,18 @@ dependencies = [ "solana-blake3-hasher", "solana-bn254", "solana-clock", - "solana-compute-budget", "solana-cpi", "solana-curve25519", - "solana-feature-set", "solana-hash", "solana-instruction", "solana-keccak-hasher", - "solana-loader-v3-interface", + "solana-loader-v3-interface 5.0.0", "solana-loader-v4-interface", "solana-log-collector", "solana-measure", "solana-packet", "solana-poseidon", - "solana-precompiles", "solana-program-entrypoint", - "solana-program-memory", "solana-program-runtime", "solana-pubkey", "solana-sbpf", @@ -4114,26 +4461,26 @@ dependencies = [ "solana-secp256k1-recover", "solana-sha256-hasher", "solana-stable-layout", + "solana-svm-feature-set", "solana-system-interface", "solana-sysvar", "solana-sysvar-id", "solana-timings", "solana-transaction-context", "solana-type-overrides", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "solana-bucket-map" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daf96e6e1d0f3a66be62587ff675c7feaa630f827c2e1514ecf4ea48940436a9" +checksum = "2a8446c1982817ec9c0a4a0e49e117e952c16a7a7a1ee3a78e2d3d94ba2b330e" dependencies = [ "bv", "bytemuck", "bytemuck_derive", - "log", - "memmap2", + "memmap2 0.9.5", "modular-bitfield", "num_enum", "rand 0.8.5", @@ -4145,15 +4492,14 @@ dependencies = [ [[package]] name = "solana-builtins" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2586a702f2d78f6d9cba627c63757deb9e7944cc0531e689100bd71473618f16" +checksum = "6d9b6daf4c3f040e759be5423c7c090a395308b92e38284f598ebbf2d4bf91eb" dependencies = [ - "solana-address-lookup-table-program", + "agave-feature-set", "solana-bpf-loader-program", "solana-compute-budget-program", - "solana-config-program", - "solana-feature-set", + "solana-hash", "solana-loader-v4-program", "solana-program-runtime", "solana-pubkey", @@ -4167,19 +4513,15 @@ dependencies = [ [[package]] name = "solana-builtins-default-costs" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aff717901cb7ed2ae65a69994d2e758b0468e84d460e60a793a0c862a2c254bc" +checksum = "9e82f07e53ec1ae9f62b498c3aba806b569f829a1a128116c1e38e4463ee9203" dependencies = [ - "ahash", - "lazy_static", + "agave-feature-set", + "ahash 0.8.11", "log", - "qualifier_attr", - "solana-address-lookup-table-program", "solana-bpf-loader-program", "solana-compute-budget-program", - "solana-config-program", - "solana-feature-set", "solana-loader-v4-program", "solana-pubkey", "solana-sdk-ids", @@ -4190,9 +4532,9 @@ dependencies = [ [[package]] name = "solana-client" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c77e1bdc6d727070a3ddfb571cfaf4a8e46a4d81049fd8510c7fe12a40b4768" +checksum = "389e364c2c44c1605ba127a4931fdcff69dc040088a34e39cb0a99ad80534e5f" dependencies = [ "async-trait", "bincode", @@ -4230,7 +4572,7 @@ dependencies = [ "solana-transaction", "solana-transaction-error", "solana-udp-client", - "thiserror 2.0.11", + "thiserror 2.0.12", "tokio", ] @@ -4257,9 +4599,9 @@ dependencies = [ [[package]] name = "solana-clock" -version = "2.2.1" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c2177a1b9fe8326004f1151a5acd124420b737811080b1035df31349e4d892" +checksum = "1bb482ab70fced82ad3d7d3d87be33d466a3498eb8aa856434ff3c0dfc2e2e31" dependencies = [ "serde", "serde_derive", @@ -4291,87 +4633,73 @@ dependencies = [ [[package]] name = "solana-compute-budget" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57e9b1dc0a5a63ea68e08ff2cac13c92e86cfe8e6c31421dd795e8c3df78de39" +checksum = "43cd35fd27b9614fb7581189b1b5f267ab8443183c50289f7fb05aa3154781d6" dependencies = [ "solana-fee-structure", - "solana-program-entrypoint", + "solana-program-runtime", ] [[package]] name = "solana-compute-budget-instruction" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c66d536fe93ff372340151b053d003f9d2a0d695c65fd28c11224f629a5e1da7" +checksum = "4bee7eb0aa0946acde44e60f59d8880bd06d5b2e45523343bab8174fd0591587" dependencies = [ + "agave-feature-set", "log", "solana-borsh", "solana-builtins-default-costs", "solana-compute-budget", "solana-compute-budget-interface", - "solana-feature-set", "solana-instruction", "solana-packet", "solana-pubkey", "solana-sdk-ids", "solana-svm-transaction", "solana-transaction-error", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "solana-compute-budget-interface" -version = "2.2.1" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a5df17b195d312b66dccdde9beec6709766d8230cb4718c4c08854f780d0309" +checksum = "8432d2c4c22d0499aa06d62e4f7e333f81777b3d7c96050ae9e5cb71a8c3aee4" dependencies = [ - "borsh 1.5.5", - "serde", - "serde_derive", + "borsh 1.5.7", "solana-instruction", "solana-sdk-ids", ] [[package]] name = "solana-compute-budget-program" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd0daef640520980f40b578367dd4ca1181e592b36b4959c04f13a617701ac6" +checksum = "3397158500ef259885ae48282d9c575acc247682cdf8b5c83f21bf5b8dd1c666" dependencies = [ - "qualifier_attr", "solana-program-runtime", ] [[package]] -name = "solana-config-program" -version = "2.2.0" +name = "solana-config-program-client" +version = "0.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0f6a00ecb0eb3e4c68186a26216deb6c2376929f235fc9f3fd59e5745df937a" +checksum = "53aceac36f105fd4922e29b4f0c1f785b69d7b3e7e387e384b8985c8e0c3595e" dependencies = [ "bincode", - "chrono", + "borsh 0.10.4", + "kaigan", "serde", - "serde_derive", - "solana-account", - "solana-bincode", - "solana-instruction", - "solana-log-collector", - "solana-packet", - "solana-program-runtime", - "solana-pubkey", - "solana-sdk-ids", - "solana-short-vec", - "solana-stake-interface", - "solana-system-interface", - "solana-transaction-context", + "solana-program", ] [[package]] name = "solana-connection-cache" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcdc19eff90b17e022a5642b7ab0d3fe5c8dc251cb9d2b032dc73bd25fa4171e" +checksum = "bbee2b71acc894d060fd03abd9026b190ca5c12b89ae0f50d08f75c1556e5668" dependencies = [ "async-trait", "bincode", @@ -4384,21 +4712,20 @@ dependencies = [ "solana-keypair", "solana-measure", "solana-metrics", - "solana-net-utils", "solana-time-utils", "solana-transaction-error", - "thiserror 2.0.11", + "thiserror 2.0.12", "tokio", ] [[package]] name = "solana-cost-model" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fa9756128d456489956fc3b105d0ba6d5434e00200303103c13b1587f3ffc0c" +checksum = "2e6c33c799de085d425f14d00b9420cd4ca71a9eb3ea6b281d8727d7689d361e" dependencies = [ - "ahash", - "lazy_static", + "agave-feature-set", + "ahash 0.8.11", "log", "solana-bincode", "solana-borsh", @@ -4407,7 +4734,6 @@ dependencies = [ "solana-compute-budget", "solana-compute-budget-instruction", "solana-compute-budget-interface", - "solana-feature-set", "solana-fee-structure", "solana-metrics", "solana-packet", @@ -4436,32 +4762,32 @@ dependencies = [ [[package]] name = "solana-curve25519" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28e46b297431ab5a67b99d9aba1e7cff16105e4d44e1c0b92c916935d86b2424" +checksum = "10aa190d9f47432e255edd9aaddd21aa78c31be0e639c8463427d0fe5e6919a0" dependencies = [ "bytemuck", "bytemuck_derive", "curve25519-dalek 4.1.3", "solana-define-syscall", "subtle", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "solana-decode-error" -version = "2.2.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a6a6383af236708048f8bd8d03db8ca4ff7baf4a48e5d580f4cce545925470" +checksum = "8c781686a18db2f942e70913f7ca15dc120ec38dcab42ff7557db2c70c625a35" dependencies = [ "num-traits", ] [[package]] name = "solana-define-syscall" -version = "2.2.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf784bb2cb3e02cac9801813c30187344228d2ae952534902108f6150573a33d" +checksum = "2ae3e2abcf541c8122eafe9a625d4d194b4023c20adde1e251f94e056bb1aee2" [[package]] name = "solana-derivation-path" @@ -4476,9 +4802,9 @@ dependencies = [ [[package]] name = "solana-ed25519-program" -version = "2.2.1" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c0c4dfce08d71d8f1e9b7d1b4e2c7101a8109903ad481acbbc1119a73d459f2" +checksum = "a1feafa1691ea3ae588f99056f4bdd1293212c7ece28243d7da257c443e84753" dependencies = [ "bytemuck", "bytemuck_derive", @@ -4519,7 +4845,7 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96c5fd2662ae7574810904585fd443545ed2b568dbd304b25a31e79ccc76e81b" dependencies = [ - "siphasher", + "siphasher 0.3.11", "solana-hash", "solana-pubkey", ] @@ -4555,14 +4881,14 @@ dependencies = [ "solana-pubkey", "solana-sdk-ids", "solana-system-interface", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "solana-feature-gate-interface" -version = "2.2.1" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f9c7fbf3e58b64a667c5f35e90af580538a95daea7001ff7806c0662d301bdf" +checksum = "43f5c5382b449e8e4e3016fb05e418c53d57782d8b5c30aa372fc265654b956d" dependencies = [ "bincode", "serde", @@ -4583,7 +4909,7 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89e1d3b52b4a014efeaaab67f14e40af3972a4be61c523d612860db8e3145529" dependencies = [ - "ahash", + "ahash 0.8.11", "lazy_static", "solana-epoch-schedule", "solana-hash", @@ -4593,11 +4919,11 @@ dependencies = [ [[package]] name = "solana-fee" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e7af7739e65896d4ac160230949dce021c9ee8c1ce26cb13bebbec01cd9c95" +checksum = "56b680549ee9bb80b95c5fe4ee4f287a49016b50178c6c9cfc84a41c47681355" dependencies = [ - "solana-feature-set", + "agave-feature-set", "solana-fee-structure", "solana-svm-transaction", ] @@ -4615,9 +4941,9 @@ dependencies = [ [[package]] name = "solana-fee-structure" -version = "2.2.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f45f94a88efdb512805563181dfa1c85c60a21b6e6d602bf24a2ea88f9399d6e" +checksum = "33adf673581c38e810bf618f745bf31b683a0a4a4377682e6aaac5d9a058dd4e" dependencies = [ "serde", "serde_derive", @@ -4633,7 +4959,7 @@ checksum = "968dabd2b92d57131473eddbd475339da530e14f54397386abf303de3a2595a2" dependencies = [ "bincode", "chrono", - "memmap2", + "memmap2 0.5.10", "serde", "serde_derive", "solana-account", @@ -4668,14 +4994,14 @@ dependencies = [ [[package]] name = "solana-hash" -version = "2.2.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf7bcb14392900fe02e4e34e90234fbf0c673d4e327888410ba99fa2ba0f4e99" +checksum = "b5b96e9f0300fa287b545613f007dfe20043d7812bee255f418c1eb649c93b63" dependencies = [ - "borsh 1.5.5", - "bs58", + "borsh 1.5.7", "bytemuck", "bytemuck_derive", + "five8", "js-sys", "serde", "serde_derive", @@ -4694,24 +5020,14 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "solana-inline-spl" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f623a26022a600a64fc233412808d79c5a135952eee643c127c4b42aa089b8aa" -dependencies = [ - "bytemuck", - "solana-pubkey", -] - [[package]] name = "solana-instruction" -version = "2.2.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce496a475e5062ba5de97215ab39d9c358f9c9df4bb7f3a45a1f1a8bd9065ed" +checksum = "47298e2ce82876b64f71e9d13a46bc4b9056194e7f9937ad3084385befa50885" dependencies = [ "bincode", - "borsh 1.5.5", + "borsh 1.5.7", "getrandom 0.2.15", "js-sys", "num-traits", @@ -4724,11 +5040,11 @@ dependencies = [ [[package]] name = "solana-instructions-sysvar" -version = "2.2.1" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "427f2d0d6dc0bb49f16cef5e7f975180d2e80aab9bdd3b2af68e2d029ec63f43" +checksum = "e0e85a6fad5c2d0c4f5b91d34b8ca47118fc593af706e523cdbedf846a954f57" dependencies = [ - "bitflags 2.8.0", + "bitflags", "solana-account-info", "solana-instruction", "solana-program-error", @@ -4753,13 +5069,13 @@ dependencies = [ [[package]] name = "solana-keypair" -version = "2.2.1" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dbb7042c2e0c561afa07242b2099d55c57bd1b1da3b6476932197d84e15e3e4" +checksum = "bd3f04aa1a05c535e93e121a95f66e7dcccf57e007282e8255535d24bf1e98bb" dependencies = [ - "bs58", "ed25519-dalek", "ed25519-dalek-bip32", + "five8", "rand 0.7.3", "solana-derivation-path", "solana-pubkey", @@ -4785,9 +5101,9 @@ dependencies = [ [[package]] name = "solana-lattice-hash" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "450482255f6951d21bb4b8987a794b0da751b492108e74567f945ccde809039d" +checksum = "3889c5e094143b3217fcf4941ff76cdf3c9d9d147c9e2888b3ddfaaf64637adc" dependencies = [ "base64 0.22.1", "blake3", @@ -4824,6 +5140,21 @@ dependencies = [ "solana-system-interface", ] +[[package]] +name = "solana-loader-v3-interface" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f7162a05b8b0773156b443bccd674ea78bb9aa406325b467ea78c06c99a63a2" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction", + "solana-pubkey", + "solana-sdk-ids", + "solana-system-interface", +] + [[package]] name = "solana-loader-v4-interface" version = "2.2.1" @@ -4841,18 +5172,17 @@ dependencies = [ [[package]] name = "solana-loader-v4-program" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "885258f9506b74d0bd72aea1b8c0492e2f28af625fba914b07cd7ca892d38465" +checksum = "861dc7091245ce952bc6e67aab81bffce74bec0ef53e78cd36392f0d971f31f5" dependencies = [ "log", "qualifier_attr", "solana-account", "solana-bincode", "solana-bpf-loader-program", - "solana-compute-budget", "solana-instruction", - "solana-loader-v3-interface", + "solana-loader-v3-interface 5.0.0", "solana-loader-v4-interface", "solana-log-collector", "solana-measure", @@ -4867,35 +5197,37 @@ dependencies = [ [[package]] name = "solana-log-collector" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05db948a307b55c553f6b8a23439b4be619a65552ffc4c88caa5d7dd4bd53001" +checksum = "bd14278584de89cefb3156a5dedf4a6f7c750d3650c35cbd5ca76c3fe95df168" dependencies = [ "log", ] [[package]] name = "solana-logger" -version = "2.2.1" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "593dbcb81439d37b02757e90bd9ab56364de63f378c55db92a6fbd6a2e47ab36" +checksum = "db8e777ec1afd733939b532a42492d888ec7c88d8b4127a5d867eb45c6eb5cd5" dependencies = [ "env_logger", "lazy_static", + "libc", "log", + "signal-hook", ] [[package]] name = "solana-measure" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "504bfa21b291ad23edf2a9499929b653004f8585acbd32ee1ce186403a2d092d" +checksum = "fb49766dc3d3ba9cddaf436488c561277aa8193c6e7c43d2d36801e83d1dc168" [[package]] name = "solana-message" -version = "2.2.1" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "268486ba8a294ed22a4d7c1ec05f540c3dbe71cfa7c6c54b6d4d13668d895678" +checksum = "1796aabce376ff74bf89b78d268fa5e683d7d7a96a0a4e4813ec34de49d5314b" dependencies = [ "bincode", "blake3", @@ -4916,20 +5248,18 @@ dependencies = [ [[package]] name = "solana-metrics" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77daa9b73989b40c5e3c6ab9c8b9a9aa6facf209db8743dd37834975355baf53" +checksum = "97f1144695f5ab380e19aa805b742be7801937c2b06828a0731d0783e5ae065a" dependencies = [ "crossbeam-channel", "gethostname", - "lazy_static", "log", "reqwest", - "solana-clock", "solana-cluster-type", "solana-sha256-hasher", "solana-time-utils", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] @@ -4943,20 +5273,19 @@ dependencies = [ [[package]] name = "solana-native-token" -version = "2.2.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33e9de00960197412e4be3902a6cd35e60817c511137aca6c34c66cd5d4017ec" +checksum = "61515b880c36974053dd499c0510066783f0cc6ac17def0c7ef2a244874cf4a9" [[package]] name = "solana-net-utils" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "797b3c3534d999e868e5859392976619653b3bc679e7e729019b462c775bb498" +checksum = "8ae5e20f495ded51ec2b47c5f5e03bd04e6de901b5eb2ced99d09cc9d0f6195e" dependencies = [ "anyhow", "bincode", "bytes", - "crossbeam-channel", "itertools 0.12.1", "log", "nix", @@ -5001,22 +5330,6 @@ dependencies = [ "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", -] - [[package]] name = "solana-packet" version = "2.2.1" @@ -5024,7 +5337,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "004f2d2daf407b3ec1a1ca5ec34b3ccdfd6866dd2d3c7d0715004a96e4b6d127" dependencies = [ "bincode", - "bitflags 2.8.0", + "bitflags", "cfg_eval", "serde", "serde_derive", @@ -5033,18 +5346,18 @@ dependencies = [ [[package]] name = "solana-perf" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "682214ffa84ad08fe3a3a013fc0a487596b007027777fa7d7f865d8dcd3d808c" +checksum = "b5dec1d5c5ee1d312b4aface72d961fc55b6a91a44fb8ab9559294f81367c3dd" dependencies = [ - "ahash", + "ahash 0.8.11", "bincode", "bv", + "bytes", "caps", "curve25519-dalek 4.1.3", "dlopen2", "fnv", - "lazy_static", "libc", "log", "nix", @@ -5075,54 +5388,26 @@ dependencies = [ [[package]] name = "solana-poseidon" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "360635ce7e20eec1cf9b400d2d962580bca34562bee8e0a34825f26565a4f5ea" +checksum = "19c46462870411f80a235ed89e987439743bc3cb6099f312ea327a0393b6baed" dependencies = [ "ark-bn254", "light-poseidon", "solana-define-syscall", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "solana-precompile-error" -version = "2.2.1" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ff64daa2933c22982b323d88d0cdf693201ef56ac381ae16737fd5f579e07d6" +checksum = "4d87b2c1f5de77dfe2b175ee8dd318d196aaca4d0f66f02842f80c852811f9f8" dependencies = [ "num-traits", "solana-decode-error", ] -[[package]] -name = "solana-precompiles" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a460ab805ec063802105b463ecb5eb02c3ffe469e67a967eea8a6e778e0bc06" -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" @@ -5132,7 +5417,7 @@ dependencies = [ "bincode", "blake3", "borsh 0.10.4", - "borsh 1.5.5", + "borsh 1.5.7", "bs58", "bytemuck", "console_error_panic_hook", @@ -5170,7 +5455,7 @@ dependencies = [ "solana-keccak-hasher", "solana-last-restart-slot", "solana-loader-v2-interface", - "solana-loader-v3-interface", + "solana-loader-v3-interface 3.0.0", "solana-loader-v4-interface", "solana-message", "solana-msg", @@ -5199,15 +5484,15 @@ dependencies = [ "solana-sysvar", "solana-sysvar-id", "solana-vote-interface", - "thiserror 2.0.11", + "thiserror 2.0.12", "wasm-bindgen", ] [[package]] name = "solana-program-entrypoint" -version = "2.2.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "473ffe73c68d93e9f2aa726ad2985fe52760052709aaab188100a42c618060ec" +checksum = "32ce041b1a0ed275290a5008ee1a4a6c48f5054c8a3d78d313c08958a06aedbd" dependencies = [ "solana-account-info", "solana-msg", @@ -5217,11 +5502,11 @@ dependencies = [ [[package]] name = "solana-program-error" -version = "2.2.1" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8ae2c1a8d0d4ae865882d5770a7ebca92bab9c685e43f0461682c6c05a35bfa" +checksum = "9ee2e0217d642e2ea4bee237f37bd61bb02aec60da3647c48ff88f6556ade775" dependencies = [ - "borsh 1.5.5", + "borsh 1.5.7", "num-traits", "serde", "serde_derive", @@ -5233,11 +5518,10 @@ dependencies = [ [[package]] name = "solana-program-memory" -version = "2.2.1" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b0268f6c89825fb634a34bd0c3b8fdaeaecfc3728be1d622a8ee6dd577b60d4" +checksum = "3a5426090c6f3fd6cfdc10685322fede9ca8e5af43cd6a59e98bfe4e91671712" dependencies = [ - "num-traits", "solana-define-syscall", ] @@ -5258,9 +5542,9 @@ dependencies = [ [[package]] name = "solana-program-runtime" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef8ce68ce0f2777490a7ca3662d1c793e1dd5a400c9772514025185838fc5162" +checksum = "570542d4d7c9fccf5e87a72b19d6501d8e5bdefa658073efca06d7018367571d" dependencies = [ "base64 0.22.1", "bincode", @@ -5272,37 +5556,40 @@ dependencies = [ "serde", "solana-account", "solana-clock", - "solana-compute-budget", "solana-epoch-rewards", "solana-epoch-schedule", - "solana-feature-set", + "solana-fee-structure", "solana-hash", "solana-instruction", "solana-last-restart-slot", "solana-log-collector", "solana-measure", "solana-metrics", - "solana-precompiles", + "solana-program-entrypoint", "solana-pubkey", "solana-rent", "solana-sbpf", "solana-sdk-ids", "solana-slot-hashes", "solana-stable-layout", + "solana-svm-callback", + "solana-svm-feature-set", + "solana-system-interface", "solana-sysvar", "solana-sysvar-id", "solana-timings", "solana-transaction-context", "solana-type-overrides", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "solana-program-test" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf6e241cf9090db4dde586e37607b849ab69db2bc3045855966214fa19cd3ace" +checksum = "08c091428e2afef8b7b819625a506d26bcff65d19425938e50d9fc38f9bbfcca" dependencies = [ + "agave-feature-set", "assert_matches", "async-trait", "base64 0.22.1", @@ -5311,41 +5598,66 @@ dependencies = [ "crossbeam-channel", "log", "serde", + "solana-account", + "solana-account-info", "solana-accounts-db", "solana-banks-client", "solana-banks-interface", "solana-banks-server", - "solana-bpf-loader-program", + "solana-clock", + "solana-commitment-config", "solana-compute-budget", - "solana-feature-set", - "solana-inline-spl", + "solana-epoch-rewards", + "solana-epoch-schedule", + "solana-fee-calculator", + "solana-genesis-config", + "solana-hash", "solana-instruction", + "solana-keypair", + "solana-loader-v3-interface 5.0.0", "solana-log-collector", "solana-logger", + "solana-message", + "solana-msg", + "solana-native-token", + "solana-poh-config", + "solana-program-entrypoint", + "solana-program-error", "solana-program-runtime", + "solana-pubkey", + "solana-rent", "solana-runtime", "solana-sbpf", - "solana-sdk", "solana-sdk-ids", + "solana-signer", + "solana-stable-layout", + "solana-stake-interface", "solana-svm", + "solana-system-interface", + "solana-sysvar", + "solana-sysvar-id", "solana-timings", + "solana-transaction", + "solana-transaction-context", + "solana-transaction-error", "solana-vote-program", - "thiserror 2.0.11", + "spl-generic-token", + "thiserror 2.0.12", "tokio", ] [[package]] name = "solana-pubkey" -version = "2.2.1" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40db1ff5a0f8aea2c158d78ab5f2cf897848964251d1df42fef78efd3c85b863" +checksum = "9b62adb9c3261a052ca1f999398c388f1daf558a1b492f60a6d9e64857db4ff1" dependencies = [ "borsh 0.10.4", - "borsh 1.5.5", - "bs58", + "borsh 1.5.7", "bytemuck", "bytemuck_derive", "curve25519-dalek 4.1.3", + "five8", "five8_const", "getrandom 0.2.15", "js-sys", @@ -5363,14 +5675,14 @@ dependencies = [ [[package]] name = "solana-pubsub-client" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "181d082f1fc71e3e72b4e8e1226bbfbd844d9aa053c18a5d44acf3ca3f4ce6b1" +checksum = "3ca0a70c8cae82e69f1521dc5b70007d83cee77417c6a0ee07323280693e0701" dependencies = [ "crossbeam-channel", "futures-util", + "http 0.2.12", "log", - "reqwest", "semver", "serde", "serde_derive", @@ -5378,9 +5690,9 @@ dependencies = [ "solana-account-decoder-client-types", "solana-clock", "solana-pubkey", - "solana-rpc-client-api", + "solana-rpc-client-types", "solana-signature", - "thiserror 2.0.11", + "thiserror 2.0.12", "tokio", "tokio-stream", "tokio-tungstenite", @@ -5390,19 +5702,18 @@ dependencies = [ [[package]] name = "solana-quic-client" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45ddb60775a36033662bbf70957403deba846b45783d4a5b16cdadcc11ff878a" +checksum = "c3b7d7a479ff586e7b558626535ca9ec1882e44b1d29c6b24377d6dc7b35831f" dependencies = [ "async-lock", "async-trait", "futures", "itertools 0.12.1", - "lazy_static", "log", "quinn", "quinn-proto", - "rustls 0.23.22", + "rustls 0.23.28", "solana-connection-cache", "solana-keypair", "solana-measure", @@ -5415,7 +5726,7 @@ dependencies = [ "solana-streamer", "solana-tls-utils", "solana-transaction-error", - "thiserror 2.0.11", + "thiserror 2.0.12", "tokio", ] @@ -5430,11 +5741,10 @@ dependencies = [ [[package]] name = "solana-rayon-threadlimit" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ca12616e0d5a20708797e7e57dcf1912451efd1059d64c8d9660f2e8552817c" +checksum = "f3bbebe48061b419eda35ca927186483ac128f5057d5c47880bc5084461312bd" dependencies = [ - "lazy_static", "num_cpus", ] @@ -5478,18 +5788,6 @@ dependencies = [ "solana-reward-info", ] -[[package]] -name = "solana-reserved-account-keys" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b293f4246626c0e0a991531f08848a713ada965612e99dc510963f04d12cae7" -dependencies = [ - "lazy_static", - "solana-feature-set", - "solana-pubkey", - "solana-sdk-ids", -] - [[package]] name = "solana-reward-info" version = "2.2.1" @@ -5502,14 +5800,15 @@ dependencies = [ [[package]] name = "solana-rpc-client" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "039ad5152d72bd530ecc98dc55fa36d7e16ce92b2faf58befc07d51da1b72cdb" +checksum = "9044af110f54216755c68c639c99be910f4b184a22c2a2666306dc61caeb55fa" dependencies = [ "async-trait", "base64 0.22.1", "bincode", "bs58", + "futures", "indicatif", "log", "reqwest", @@ -5535,45 +5834,37 @@ dependencies = [ "solana-transaction-error", "solana-transaction-status-client-types", "solana-version", + "solana-vote-interface", "tokio", ] [[package]] name = "solana-rpc-client-api" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80ce7f8565fc928d04ae56d69423b514c2e41566b48e828b868355c7034de4b7" +checksum = "362b2f6fd7ea69f9bb87fc3e2da6faf4a8f530011f1c5edad2454a1a79b59ada" 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-rpc-client-types", "solana-signer", "solana-transaction-error", "solana-transaction-status-client-types", - "solana-version", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "solana-rpc-client-nonce-utils" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a3adc401074f5ecd7101d48ba4b66e0698d4e41879de4bb75162f521a5233d" +checksum = "37c5aca72e11174c437b2fc10259a3b65142e39a94f3fe614be799e4678eb341" dependencies = [ "solana-account", "solana-commitment-config", @@ -5583,18 +5874,48 @@ dependencies = [ "solana-pubkey", "solana-rpc-client", "solana-sdk-ids", - "thiserror 2.0.11", + "thiserror 2.0.12", +] + +[[package]] +name = "solana-rpc-client-types" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80cf56fb87fd55878548f078c197171603f2ff58794de86169f2093895a7f479" +dependencies = [ + "base64 0.22.1", + "bs58", + "semver", + "serde", + "serde_derive", + "serde_json", + "solana-account", + "solana-account-decoder-client-types", + "solana-clock", + "solana-commitment-config", + "solana-fee-calculator", + "solana-inflation", + "solana-pubkey", + "solana-transaction-error", + "solana-transaction-status-client-types", + "solana-version", + "spl-generic-token", + "thiserror 2.0.12", ] [[package]] name = "solana-runtime" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acc5805ea88f4020c7899229d507cc3a8ca0e3afc512db173f8ec70104183d2c" +checksum = "abc2273a0ac1c5eb7c768145ab90b5e9689a368011515d708a2d5dce0f9f72c1" dependencies = [ - "ahash", + "agave-feature-set", + "agave-precompiles", + "agave-reserved-account-keys", + "ahash 0.8.11", "aquamarine", "arrayref", + "assert_matches", "base64 0.22.1", "bincode", "blake3", @@ -5607,13 +5928,11 @@ dependencies = [ "flate2", "fnv", "im", - "index_list", "itertools 0.12.1", - "lazy_static", "libc", "log", "lz4", - "memmap2", + "memmap2 0.9.5", "mockall", "modular-bitfield", "num-derive", @@ -5629,54 +5948,103 @@ dependencies = [ "serde_derive", "serde_json", "serde_with", + "solana-account", + "solana-account-info", "solana-accounts-db", + "solana-address-lookup-table-interface", "solana-bpf-loader-program", "solana-bucket-map", "solana-builtins", + "solana-client-traits", + "solana-clock", + "solana-commitment-config", "solana-compute-budget", "solana-compute-budget-instruction", - "solana-config-program", + "solana-compute-budget-interface", "solana-cost-model", - "solana-feature-set", + "solana-cpi", + "solana-ed25519-program", + "solana-epoch-info", + "solana-epoch-rewards-hasher", + "solana-epoch-schedule", + "solana-feature-gate-interface", "solana-fee", - "solana-inline-spl", + "solana-fee-calculator", + "solana-fee-structure", + "solana-genesis-config", + "solana-hard-forks", + "solana-hash", + "solana-inflation", + "solana-instruction", + "solana-keypair", "solana-lattice-hash", + "solana-loader-v3-interface 5.0.0", + "solana-loader-v4-interface", "solana-measure", + "solana-message", "solana-metrics", + "solana-native-token", "solana-nohash-hasher", + "solana-nonce", "solana-nonce-account", + "solana-packet", "solana-perf", - "solana-program", + "solana-poh-config", + "solana-precompile-error", "solana-program-runtime", "solana-pubkey", "solana-rayon-threadlimit", + "solana-rent", + "solana-rent-collector", + "solana-rent-debits", + "solana-reward-info", "solana-runtime-transaction", - "solana-sdk", + "solana-sdk-ids", + "solana-secp256k1-program", + "solana-seed-derivable", + "solana-serde", + "solana-sha256-hasher", + "solana-signature", + "solana-signer", + "solana-slot-hashes", + "solana-slot-history", + "solana-stake-interface", "solana-stake-program", "solana-svm", + "solana-svm-callback", "solana-svm-rent-collector", "solana-svm-transaction", + "solana-system-interface", + "solana-system-transaction", + "solana-sysvar", + "solana-sysvar-id", + "solana-time-utils", "solana-timings", + "solana-transaction", + "solana-transaction-context", + "solana-transaction-error", "solana-transaction-status-client-types", "solana-unified-scheduler-logic", "solana-version", "solana-vote", + "solana-vote-interface", "solana-vote-program", + "spl-generic-token", "static_assertions", "strum 0.24.1", "strum_macros 0.24.3", "symlink", "tar", "tempfile", - "thiserror 2.0.11", + "thiserror 2.0.12", "zstd", ] [[package]] name = "solana-runtime-transaction" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053c37fec5b3d291b382a6b21aac6df461da8cc2d733b3d095596129a78d72f7" +checksum = "d3361a75f0aa571cafa663053df4ff17de544d690ef163408c9f9fd36b9b96fd" dependencies = [ "agave-transaction-view", "log", @@ -5690,7 +6058,7 @@ dependencies = [ "solana-svm-transaction", "solana-transaction", "solana-transaction-error", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] @@ -5701,9 +6069,9 @@ checksum = "61f1bc1357b8188d9c4a3af3fc55276e56987265eb7ad073ae6f8180ee54cecf" [[package]] name = "solana-sbpf" -version = "0.10.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66a3ce7a0f4d6830124ceb2c263c36d1ee39444ec70146eb49b939e557e72b96" +checksum = "474a2d95dc819898ded08d24f29642d02189d3e1497bbb442a92a3997b7eb55f" dependencies = [ "byteorder", "combine 3.8.1", @@ -5712,81 +6080,10 @@ dependencies = [ "log", "rand 0.8.5", "rustc-demangle", - "thiserror 1.0.69", + "thiserror 2.0.12", "winapi", ] -[[package]] -name = "solana-sdk" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4808e8d7f3c931657e615042d4176b423e66f64dc99e3dc3c735a197e512029b" -dependencies = [ - "bincode", - "bs58", - "getrandom 0.1.16", - "js-sys", - "serde", - "serde_json", - "solana-account", - "solana-bn254", - "solana-client-traits", - "solana-cluster-type", - "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-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-signature", - "solana-signer", - "solana-system-transaction", - "solana-time-utils", - "solana-transaction", - "solana-transaction-context", - "solana-transaction-error", - "solana-validator-exit", - "thiserror 2.0.11", - "wasm-bindgen", -] - [[package]] name = "solana-sdk-ids" version = "2.2.1" @@ -5814,16 +6111,11 @@ version = "2.2.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", ] [[package]] @@ -5832,17 +6124,16 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baa3120b6cdaa270f39444f5093a90a7b03d296d362878f7a6991d6de3bbe496" dependencies = [ - "borsh 1.5.5", "libsecp256k1", "solana-define-syscall", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "solana-secp256r1-program" -version = "2.2.1" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9ea9282950921611bd9e0200da7236fbb1d4f8388942f8451bd55e9f3cb228f" +checksum = "cf903cbdc36a161533812f90acfccdb434ed48982bd5dd71f3217930572c4a80" dependencies = [ "bytemuck", "openssl", @@ -5880,21 +6171,30 @@ dependencies = [ [[package]] name = "solana-send-transaction-service" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd59874c1f709fffa4b455c524e9bd98e419ce7df0aa6a37826989fed4c06271" +checksum = "13d0c62feb00ad6da68d7faa87cda39734166b8b809f17e4f5750894ffcadc9a" dependencies = [ + "async-trait", "crossbeam-channel", "itertools 0.12.1", "log", "solana-client", + "solana-clock", "solana-connection-cache", + "solana-hash", + "solana-keypair", "solana-measure", "solana-metrics", + "solana-nonce-account", + "solana-pubkey", + "solana-quic-definitions", "solana-runtime", - "solana-sdk", - "solana-tpu-client", + "solana-signature", + "solana-time-utils", + "solana-tpu-client-next", "tokio", + "tokio-util 0.7.15", ] [[package]] @@ -5908,9 +6208,9 @@ dependencies = [ [[package]] name = "solana-serde-varint" -version = "2.2.1" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc07d00200d82e6def2f7f7a45738e3406b17fe54a18adcf0defa16a97ccadb" +checksum = "2a7e155eba458ecfb0107b98236088c3764a09ddf0201ec29e52a0be40857113" dependencies = [ "serde", ] @@ -5959,13 +6259,12 @@ dependencies = [ [[package]] name = "solana-signature" -version = "2.2.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47d251c8f3dc015f320b4161daac7f108156c837428e5a8cc61136d25beb11d6" +checksum = "64c8ec8e657aecfc187522fc67495142c12f35e55ddeca8698edbb738b8dbd8c" dependencies = [ - "bs58", "ed25519-dalek", - "rand 0.8.5", + "five8", "serde", "serde-big-array", "serde_derive", @@ -6026,7 +6325,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5269e89fde216b4d7e1d1739cf5303f8398a1ff372a81232abbee80e554a838c" dependencies = [ "borsh 0.10.4", - "borsh 1.5.5", + "borsh 1.5.7", "num-traits", "serde", "serde_derive", @@ -6042,17 +6341,17 @@ dependencies = [ [[package]] name = "solana-stake-program" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7045076ed29255f228dede3a2554755449a610e42f3694afadb59e3424920858" +checksum = "72ee3bc3fbb3c518cce3e7482e920fbc7dd12f9dd807bac40dfde3f2c6d246f1" dependencies = [ + "agave-feature-set", "bincode", "log", "solana-account", "solana-bincode", "solana-clock", - "solana-config-program", - "solana-feature-set", + "solana-config-program-client", "solana-genesis-config", "solana-instruction", "solana-log-collector", @@ -6071,9 +6370,9 @@ dependencies = [ [[package]] name = "solana-streamer" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b41e73688c30ff6016b74c4b609fc78bad08f2b2a3b53006cbc331933e7e86aa" +checksum = "9f87bb53a882dbef585c8c37dc780cb84656f7cdb9cc908d39ffdfc5aa4b0c7a" dependencies = [ "async-channel", "bytes", @@ -6093,7 +6392,7 @@ dependencies = [ "quinn", "quinn-proto", "rand 0.8.5", - "rustls 0.23.22", + "rustls 0.23.28", "smallvec", "socket2", "solana-keypair", @@ -6110,71 +6409,99 @@ dependencies = [ "solana-tls-utils", "solana-transaction-error", "solana-transaction-metrics-tracker", - "thiserror 2.0.11", + "thiserror 2.0.12", "tokio", - "tokio-util 0.7.13", + "tokio-util 0.7.15", "x509-parser", ] [[package]] name = "solana-svm" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83e74fc2cd71d75f3e311bb568604184b51e90c280040efabaa3ab3c8a2c4d85" +checksum = "7a90c9c1578deb2b0773bc5d08297ad7880d4fbf838c6d7a6dd1003b1e71c969" dependencies = [ - "ahash", + "ahash 0.8.11", "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-feature-set", "solana-fee-structure", "solana-hash", "solana-instruction", "solana-instructions-sysvar", + "solana-loader-v3-interface 5.0.0", + "solana-loader-v4-interface", "solana-loader-v4-program", "solana-log-collector", "solana-measure", "solana-message", "solana-nonce", "solana-nonce-account", - "solana-precompiles", - "solana-program", + "solana-program-entrypoint", + "solana-program-pack", "solana-program-runtime", "solana-pubkey", "solana-rent", + "solana-rent-collector", "solana-rent-debits", - "solana-sdk", "solana-sdk-ids", + "solana-slot-hashes", + "solana-svm-callback", + "solana-svm-feature-set", "solana-svm-rent-collector", "solana-svm-transaction", + "solana-system-interface", + "solana-sysvar-id", "solana-timings", "solana-transaction-context", "solana-transaction-error", "solana-type-overrides", - "thiserror 2.0.11", + "spl-generic-token", + "thiserror 2.0.12", ] +[[package]] +name = "solana-svm-callback" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff9261de81eab92a9ddc5b38868c8d99b2c584677614de562558e8abe43cf0e1" +dependencies = [ + "solana-account", + "solana-precompile-error", + "solana-pubkey", +] + +[[package]] +name = "solana-svm-feature-set" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee75d3a0d7ee9c3391bb76f7e83ca6623ae08f199c13236595d5e5d0fa760d51" + [[package]] name = "solana-svm-rent-collector" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f4387d97a27730ef97b52b81f814e3e31f869f001ede75fb53f2fcbc335c03e" +checksum = "6b3ec5b18a7a229726e907c144dc731fbf03946142ded785009d56391eea1a65" dependencies = [ - "solana-sdk", + "solana-account", + "solana-clock", + "solana-pubkey", + "solana-rent", + "solana-rent-collector", + "solana-sdk-ids", + "solana-transaction-context", + "solana-transaction-error", ] [[package]] name = "solana-svm-transaction" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11ffa8d1463d6813433cd4f31ec1c96abc85dc693f29b80986a77186dfe5e144" +checksum = "4b291dcb2683392675ce5ffc889afd41fa2b0816e70a44ec04a756eca5f41c85" dependencies = [ "solana-hash", "solana-message", @@ -6202,9 +6529,9 @@ dependencies = [ [[package]] name = "solana-system-program" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef4c7851977d6fc24c5d734b836c5c1d5c0f40d07d835c1bcc76021e325492c5" +checksum = "a8181c0c4ced76293ff813c5ae2b666b2fd7a55c6bef78a7290f610acc57b6e9" dependencies = [ "bincode", "log", @@ -6212,6 +6539,7 @@ dependencies = [ "serde_derive", "solana-account", "solana-bincode", + "solana-fee-calculator", "solana-instruction", "solana-log-collector", "solana-nonce", @@ -6243,9 +6571,9 @@ dependencies = [ [[package]] name = "solana-sysvar" -version = "2.2.1" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf6b44740d7f0c9f375d045c165bc0aab4a90658f92d6835aeb0649afaeaff9a" +checksum = "d50c92bc019c590f5e42c61939676e18d14809ed00b2a59695dd5c67ae72c097" dependencies = [ "base64 0.22.1", "bincode", @@ -6290,9 +6618,9 @@ dependencies = [ [[package]] name = "solana-thin-client" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6c6b2376c3e0a6ae5538d86818e403841b8b11861c6b39a943221c6c2164eea" +checksum = "26294de826f64d42e51067cb959d3ac2e55093c93bfcd3c43ef478ee8bc75089" dependencies = [ "bincode", "log", @@ -6325,9 +6653,9 @@ checksum = "6af261afb0e8c39252a04d026e3ea9c405342b08c871a2ad8aa5448e068c784c" [[package]] name = "solana-timings" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f59d5f154e1b2fb4aef3257af4b4823e2c2e61c3d77e52e5ef28464d37453c4" +checksum = "853b9dc0facaff981e47f21ae10da33e82db070b146ca8fda342173295cec0a8" dependencies = [ "eager", "enum-iterator", @@ -6336,11 +6664,11 @@ dependencies = [ [[package]] name = "solana-tls-utils" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a9da625758b52894dfde5d72f3b78f5141045ec5296a5acadec934dd2ccbb1b" +checksum = "d9009245c793899f07cf60377fa59ae18a86d18e7abf9f8dd664e8f869a41a4f" dependencies = [ - "rustls 0.23.22", + "rustls 0.23.28", "solana-keypair", "solana-pubkey", "solana-signer", @@ -6349,9 +6677,9 @@ dependencies = [ [[package]] name = "solana-tpu-client" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1045fd558ad215e8d2f2a0e87154444ea0dc8821a80f088dcdcf4831a510879a" +checksum = "b7d9a3c8779061232e1fb7b064fa6356f2f88cab21b9efbf464c46ac51e4a9bd" dependencies = [ "async-trait", "bincode", @@ -6377,28 +6705,52 @@ dependencies = [ "solana-signer", "solana-transaction", "solana-transaction-error", - "thiserror 2.0.11", + "thiserror 2.0.12", "tokio", ] +[[package]] +name = "solana-tpu-client-next" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3547831cbe1bf5c5e96085fd4c3b48171aca093b442f97f885d08d786f03b70b" +dependencies = [ + "async-trait", + "log", + "lru", + "quinn", + "rustls 0.23.28", + "solana-clock", + "solana-connection-cache", + "solana-keypair", + "solana-measure", + "solana-metrics", + "solana-quic-definitions", + "solana-rpc-client", + "solana-streamer", + "solana-time-utils", + "solana-tls-utils", + "solana-tpu-client", + "thiserror 2.0.12", + "tokio", + "tokio-util 0.7.15", +] + [[package]] name = "solana-transaction" -version = "2.2.1" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "753b3e9afed170e4cfc0ea1e87b5dfdc6d4a50270869414edd24c6ea1f529b29" +checksum = "80657d6088f721148f5d889c828ca60c7daeedac9a8679f9ec215e0c42bcbf41" dependencies = [ "bincode", "serde", "serde_derive", "solana-bincode", - "solana-feature-set", "solana-hash", "solana-instruction", "solana-keypair", "solana-message", - "solana-precompiles", "solana-pubkey", - "solana-reserved-account-keys", "solana-sanitize", "solana-sdk-ids", "solana-short-vec", @@ -6411,18 +6763,19 @@ dependencies = [ [[package]] name = "solana-transaction-context" -version = "2.2.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5022de04cbba05377f68bf848c8c1322ead733f88a657bf792bb40f3257b8218" +checksum = "e6e6d545a650d488b9af4edb1f278f6dabb58189be3d956bc992151b01ac8ab5" dependencies = [ "bincode", "serde", "serde_derive", "solana-account", "solana-instruction", + "solana-instructions-sysvar", "solana-pubkey", "solana-rent", - "solana-signature", + "solana-sdk-ids", ] [[package]] @@ -6439,13 +6792,12 @@ dependencies = [ [[package]] name = "solana-transaction-metrics-tracker" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7d97bffaf9515adbf3b1a04efbc9dbc815d635da684f358357e76abdbe2a4e5" +checksum = "447a1922969f9c9a7b9b6f8ec32efd6d555f7de9103f12963093ac97262e681b" dependencies = [ "base64 0.22.1", "bincode", - "lazy_static", "log", "rand 0.8.5", "solana-packet", @@ -6456,9 +6808,9 @@ dependencies = [ [[package]] name = "solana-transaction-status-client-types" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6d348cd4cd79cab56e58590a301aef5b5247ba503f94f97900db3a0f8f7ff94" +checksum = "4a683033f882aea3e9fdf98087e0aa3bc3019f923430d26fe4e66452ebdaaf69" dependencies = [ "base64 0.22.1", "bincode", @@ -6474,24 +6826,23 @@ dependencies = [ "solana-transaction", "solana-transaction-context", "solana-transaction-error", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "solana-type-overrides" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "040beb66259d485dd8623cddb8f5e8d537a8e3e0d893b84b0239423b1a6460ce" +checksum = "8e08c07caaaf9ae1c4b6ef8ec5941c8eee99ee8e401d5356a1499d110909d720" dependencies = [ - "lazy_static", "rand 0.8.5", ] [[package]] name = "solana-udp-client" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac5859430b42c8f6412d57230b2918a1cc89597cbc26b546e84fbc5277538898" +checksum = "e1ae961c235d7a33505d0ff583751794c28953080cba8a7f8bb2c137eb96b14e" dependencies = [ "async-trait", "solana-connection-cache", @@ -6499,48 +6850,44 @@ dependencies = [ "solana-net-utils", "solana-streamer", "solana-transaction-error", - "thiserror 2.0.11", + "thiserror 2.0.12", "tokio", ] [[package]] name = "solana-unified-scheduler-logic" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73db72aa7dfb35bc8715cd9990a68671e4d970fff63080c45fc44fed59f54946" +checksum = "d97be1714b9678ce00fbb964717a7a4997e39ebe4ac2dde40ac047679a092ae2" dependencies = [ "assert_matches", "solana-pubkey", "solana-runtime-transaction", "solana-transaction", "static_assertions", + "unwrap_none", ] -[[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.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45a843098ea779826eb0fb4b04c8aee3acb42ecc1f9595a9e40306e3938026d3" +checksum = "a789d6b6b58ee5f1172d03de15a7245d2f643212ee571d4025abedde5b940b33" dependencies = [ + "agave-feature-set", + "rand 0.8.5", "semver", "serde", "serde_derive", - "solana-feature-set", "solana-sanitize", "solana-serde-varint", ] [[package]] name = "solana-vote" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b1735371e033fd6c340ea8a6dfcf8992a6c05c6bf428955100697c8f8baab3e" +checksum = "cd59f794563a82d0612df866fbada8a87f4f1f0b678522f4ca4be58d0821df64" dependencies = [ "itertools 0.12.1", "log", @@ -6551,21 +6898,24 @@ dependencies = [ "solana-clock", "solana-hash", "solana-instruction", + "solana-keypair", "solana-packet", "solana-pubkey", "solana-sdk-ids", + "solana-serialize-utils", "solana-signature", + "solana-signer", "solana-svm-transaction", "solana-transaction", "solana-vote-interface", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "solana-vote-interface" -version = "2.2.1" +version = "2.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4507bb9d071fb81cfcf676f12fba3db4098f764524ef0b5567d671a81d41f3e" +checksum = "ef4f08746f154458f28b98330c0d55cb431e2de64ee4b8efc98dcbe292e0672b" dependencies = [ "bincode", "num-derive", @@ -6587,10 +6937,11 @@ dependencies = [ [[package]] name = "solana-vote-program" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4862f099c25d20857d270a2423ed4e0dd11038ad2f7f25905ff72c33c5132828" +checksum = "9ab21460f8483c32de8e07da99321bfe853e351d7e2b5d126bccc7f9696eb2f5" dependencies = [ + "agave-feature-set", "bincode", "log", "num-derive", @@ -6601,7 +6952,6 @@ dependencies = [ "solana-bincode", "solana-clock", "solana-epoch-schedule", - "solana-feature-set", "solana-hash", "solana-instruction", "solana-keypair", @@ -6615,15 +6965,16 @@ dependencies = [ "solana-transaction", "solana-transaction-context", "solana-vote-interface", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "solana-zk-elgamal-proof-program" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75248110af0908a5280adca0f8b1f7fc8b7299358a7476cfcac4ebd039bd5921" +checksum = "b09fdc5399944a6348ecebc0a0b450a9dd9ae868b0541456e33de3082d5f9c5a" dependencies = [ + "agave-feature-set", "bytemuck", "num-derive", "num-traits", @@ -6636,9 +6987,9 @@ dependencies = [ [[package]] name = "solana-zk-sdk" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26f66acae4f01a718825ae0201ea0a05ae3c9a3afb27a7eed6f0803b96da639b" +checksum = "1956de8311683b1adef202afee3b49d90d476505db47c979511dc53436cf640c" dependencies = [ "aes-gcm-siv", "base64 0.22.1", @@ -6648,7 +6999,6 @@ dependencies = [ "curve25519-dalek 4.1.3", "itertools 0.12.1", "js-sys", - "lazy_static", "merlin", "num-derive", "num-traits", @@ -6666,21 +7016,21 @@ dependencies = [ "solana-signature", "solana-signer", "subtle", - "thiserror 2.0.11", + "thiserror 2.0.12", "wasm-bindgen", "zeroize", ] [[package]] name = "solana-zk-token-proof-program" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7deadf45ab349e02ccd402f9534b7ae9ebbb7a70160f5068a09a71946be103cb" +checksum = "d25222c6f8577b6d3d866f1d4ef283fcefaf4d05f0aa2efea4b6c54ec8df434d" dependencies = [ + "agave-feature-set", "bytemuck", "num-derive", "num-traits", - "solana-feature-set", "solana-instruction", "solana-log-collector", "solana-program-runtime", @@ -6690,9 +7040,9 @@ dependencies = [ [[package]] name = "solana-zk-token-sdk" -version = "2.2.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77367202d84b62d224289ff7174ddecd737626108e5a3278deb1c3b38d050084" +checksum = "8b5bc8486657eeb34c807ff6b1fcc9c527d61112cf6e3f41fa7282fea51f5de8" dependencies = [ "aes-gcm-siv", "base64 0.22.1", @@ -6701,7 +7051,6 @@ dependencies = [ "bytemuck_derive", "curve25519-dalek 4.1.3", "itertools 0.12.1", - "lazy_static", "merlin", "num-derive", "num-traits", @@ -6720,7 +7069,7 @@ dependencies = [ "solana-signature", "solana-signer", "subtle", - "thiserror 2.0.11", + "thiserror 2.0.12", "zeroize", ] @@ -6771,17 +7120,38 @@ dependencies = [ [[package]] name = "spl-elgamal-registry" -version = "0.1.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce0f668975d2b0536e8a8fd60e56a05c467f06021dae037f1d0cfed0de2e231d" +checksum = "56cc66fe64651a48c8deb4793d8a5deec8f8faf19f355b9df294387bc5a36b5f" dependencies = [ "bytemuck", - "solana-program", + "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", ] +[[package]] +name = "spl-generic-token" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "741a62a566d97c58d33f9ed32337ceedd4e35109a686e31b1866c5dfa56abddc" +dependencies = [ + "bytemuck", + "solana-pubkey", +] + [[package]] name = "spl-memo" version = "6.0.0" @@ -6798,11 +7168,11 @@ dependencies = [ [[package]] name = "spl-pod" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41a7d5950993e1ff2680bd989df298eeb169367fb2f9deeef1f132de6e4e8016" +checksum = "d994afaf86b779104b4a95ba9ca75b8ced3fdb17ee934e38cb69e72afbe17799" dependencies = [ - "borsh 1.5.5", + "borsh 1.5.7", "bytemuck", "bytemuck_derive", "num-derive", @@ -6813,27 +7183,29 @@ dependencies = [ "solana-program-option", "solana-pubkey", "solana-zk-sdk", - "thiserror 1.0.69", + "thiserror 2.0.12", ] [[package]] name = "spl-program-error" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d39b5186f42b2b50168029d81e58e800b690877ef0b30580d107659250da1d1" +checksum = "9cdebc8b42553070b75aa5106f071fef2eb798c64a7ec63375da4b1f058688c6" dependencies = [ "num-derive", "num-traits", - "solana-program", + "solana-decode-error", + "solana-msg", + "solana-program-error", "spl-program-error-derive", - "thiserror 1.0.69", + "thiserror 2.0.12", ] [[package]] name = "spl-program-error-derive" -version = "0.4.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d375dd76c517836353e093c2dbb490938ff72821ab568b545fd30ab3256b3e" +checksum = "2a2539e259c66910d78593475540e8072f0b10f0f61d7607bbf7593899ed52d0" dependencies = [ "proc-macro2", "quote", @@ -6843,9 +7215,9 @@ dependencies = [ [[package]] name = "spl-tlv-account-resolution" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd99ff1e9ed2ab86e3fd582850d47a739fec1be9f4661cba1782d3a0f26805f3" +checksum = "1408e961215688715d5a1063cbdcf982de225c45f99c82b4f7d7e1dd22b998d7" dependencies = [ "bytemuck", "num-derive", @@ -6860,59 +7232,61 @@ dependencies = [ "spl-pod", "spl-program-error", "spl-type-length-value", - "thiserror 1.0.69", -] - -[[package]] -name = "spl-token" -version = "4.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e9e171cbcb4b1f72f6d78ed1e975cb467f56825c27d09b8dd2608e4e7fc8b3b" -dependencies = [ - "arrayref", - "bytemuck", - "num-derive", - "num-traits", - "num_enum", - "solana-program", - "thiserror 1.0.69", + "thiserror 2.0.12", ] [[package]] name = "spl-token" -version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed320a6c934128d4f7e54fe00e16b8aeaecf215799d060ae14f93378da6dc834" +version = "8.0.0" dependencies = [ "arrayref", "bytemuck", + "lazy_static", + "mollusk-svm", + "mollusk-svm-fuzz-fixture", "num-derive", "num-traits", "num_enum", - "solana-program", - "thiserror 1.0.69", + "proptest", + "serial_test", + "solana-account", + "solana-account-info", + "solana-clock", + "solana-cpi", + "solana-instruction", + "solana-msg", + "solana-native-token", + "solana-program-entrypoint", + "solana-program-error", + "solana-program-memory", + "solana-program-option", + "solana-program-pack", + "solana-pubkey", + "solana-rent", + "solana-sdk-ids", + "solana-system-interface", + "solana-sysvar", + "strum 0.24.1", + "strum_macros 0.24.3", + "thiserror 2.0.12", ] [[package]] name = "spl-token" version = "8.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053067c6a82c705004f91dae058b11b4780407e9ccd6799dc9e7d0fab5f242da" dependencies = [ "arrayref", "bytemuck", - "lazy_static", - "mollusk-svm", "num-derive", "num-traits", "num_enum", - "proptest", - "serial_test", "solana-account-info", - "solana-clock", "solana-cpi", "solana-decode-error", "solana-instruction", "solana-msg", - "solana-native-token", "solana-program-entrypoint", "solana-program-error", "solana-program-memory", @@ -6920,30 +7294,45 @@ dependencies = [ "solana-program-pack", "solana-pubkey", "solana-rent", - "solana-sdk", "solana-sdk-ids", "solana-sysvar", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "spl-token-2022" -version = "7.0.0" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9048b26b0df0290f929ff91317c83db28b3ef99af2b3493dd35baa146774924c" +checksum = "707d8237d17d857246b189d0fb278797dcd7cf6219374547791b231fd35a8cc8" dependencies = [ "arrayref", "bytemuck", "num-derive", "num-traits", "num_enum", - "solana-program", + "solana-account-info", + "solana-clock", + "solana-cpi", + "solana-decode-error", + "solana-instruction", + "solana-msg", + "solana-native-token", + "solana-program-entrypoint", + "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", "spl-memo", "spl-pod", - "spl-token 7.0.0", + "spl-token 8.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "spl-token-confidential-transfer-ciphertext-arithmetic", "spl-token-confidential-transfer-proof-extraction", "spl-token-confidential-transfer-proof-generation", @@ -6951,14 +7340,14 @@ dependencies = [ "spl-token-metadata-interface", "spl-transfer-hook-interface", "spl-type-length-value", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "spl-token-confidential-transfer-ciphertext-arithmetic" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "170378693c5516090f6d37ae9bad2b9b6125069be68d9acd4865bbe9fc8499fd" +checksum = "94ab20faf7b5edaa79acd240e0f21d5a2ef936aa99ed98f698573a2825b299c4" dependencies = [ "base64 0.22.1", "bytemuck", @@ -6968,34 +7357,40 @@ dependencies = [ [[package]] name = "spl-token-confidential-transfer-proof-extraction" -version = "0.2.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eff2d6a445a147c9d6dd77b8301b1e116c8299601794b558eafa409b342faf96" +checksum = "bedc4675c80409a004da46978674e4073c65c4b1c611bf33d120381edeffe036" dependencies = [ "bytemuck", + "solana-account-info", "solana-curve25519", - "solana-program", + "solana-instruction", + "solana-instructions-sysvar", + "solana-msg", + "solana-program-error", + "solana-pubkey", + "solana-sdk-ids", "solana-zk-sdk", "spl-pod", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "spl-token-confidential-transfer-proof-generation" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e3597628b0d2fe94e7900fd17cdb4cfbb31ee35c66f82809d27d86e44b2848b" +checksum = "ae5b124840d4aed474cef101d946a798b806b46a509ee4df91021e1ab1cef3ef" dependencies = [ "curve25519-dalek 4.1.3", "solana-zk-sdk", - "thiserror 2.0.11", + "thiserror 2.0.12", ] [[package]] name = "spl-token-group-interface" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d595667ed72dbfed8c251708f406d7c2814a3fa6879893b323d56a10bedfc799" +checksum = "5597b4cd76f85ce7cd206045b7dc22da8c25516573d42d267c8d1fd128db5129" dependencies = [ "bytemuck", "num-derive", @@ -7007,7 +7402,7 @@ dependencies = [ "solana-pubkey", "spl-discriminator", "spl-pod", - "thiserror 1.0.69", + "thiserror 2.0.12", ] [[package]] @@ -7022,11 +7417,11 @@ dependencies = [ [[package]] name = "spl-token-metadata-interface" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfb9c89dbc877abd735f05547dcf9e6e12c00c11d6d74d8817506cab4c99fdbb" +checksum = "304d6e06f0de0c13a621464b1fd5d4b1bebf60d15ca71a44d3839958e0da16ee" dependencies = [ - "borsh 1.5.5", + "borsh 1.5.7", "num-derive", "num-traits", "solana-borsh", @@ -7038,14 +7433,14 @@ dependencies = [ "spl-discriminator", "spl-pod", "spl-type-length-value", - "thiserror 1.0.69", + "thiserror 2.0.12", ] [[package]] name = "spl-transfer-hook-interface" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4aa7503d52107c33c88e845e1351565050362c2314036ddf19a36cd25137c043" +checksum = "a7e905b849b6aba63bde8c4badac944ebb6c8e6e14817029cbe1bc16829133bd" dependencies = [ "arrayref", "bytemuck", @@ -7063,14 +7458,14 @@ dependencies = [ "spl-program-error", "spl-tlv-account-resolution", "spl-type-length-value", - "thiserror 1.0.69", + "thiserror 2.0.12", ] [[package]] name = "spl-type-length-value" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba70ef09b13af616a4c987797870122863cba03acc4284f226a4473b043923f9" +checksum = "d417eb548214fa822d93f84444024b4e57c13ed6719d4dcc68eec24fb481e9f5" dependencies = [ "bytemuck", "num-derive", @@ -7081,7 +7476,7 @@ dependencies = [ "solana-program-error", "spl-discriminator", "spl-pod", - "thiserror 1.0.69", + "thiserror 2.0.12", ] [[package]] @@ -7179,9 +7574,12 @@ dependencies = [ [[package]] name = "sync_wrapper" -version = "0.1.2" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] [[package]] name = "synstructure" @@ -7206,32 +7604,11 @@ dependencies = [ "syn 2.0.96", ] -[[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", - "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.43" +version = "0.4.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c65998313f8e17d0d553d28f91a0df93e4dbbbf770279c7bc21ca0f09ea1a1f6" +checksum = "1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a" dependencies = [ "filetime", "libc", @@ -7273,22 +7650,12 @@ dependencies = [ "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.18.0" +version = "3.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c317e0a526ee6120d8dabad239c8dadca62b24b6f168914bbbc8e2fb1f0e567" +checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" dependencies = [ - "cfg-if", "fastrand", "getrandom 0.3.1", "once_cell", @@ -7322,11 +7689,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.11" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" dependencies = [ - "thiserror-impl 2.0.11", + "thiserror-impl 2.0.12", ] [[package]] @@ -7342,9 +7709,9 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.11" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", @@ -7419,9 +7786,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.43.0" +version = "1.45.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e" +checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" dependencies = [ "backtrace", "bytes", @@ -7456,6 +7823,16 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-rustls" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" +dependencies = [ + "rustls 0.23.28", + "tokio", +] + [[package]] name = "tokio-serde" version = "0.8.0" @@ -7493,7 +7870,7 @@ dependencies = [ "log", "rustls 0.21.12", "tokio", - "tokio-rustls", + "tokio-rustls 0.24.1", "tungstenite", "webpki-roots 0.25.4", ] @@ -7515,9 +7892,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.13" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" +checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" dependencies = [ "bytes", "futures-core", @@ -7552,6 +7929,45 @@ dependencies = [ "winnow", ] +[[package]] +name = "tower" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-http" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" +dependencies = [ + "bitflags", + "bytes", + "futures-util", + "http 1.3.1", + "http-body", + "iri-string", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + [[package]] name = "tower-service" version = "0.3.3" @@ -7630,7 +8046,7 @@ dependencies = [ "byteorder", "bytes", "data-encoding", - "http", + "http 0.2.12", "httparse", "log", "rand 0.8.5", @@ -7654,18 +8070,18 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" -[[package]] -name = "unicase" -version = "2.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" - [[package]] name = "unicode-ident" version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +[[package]] +name = "unicode-segmentation" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + [[package]] name = "unicode-width" version = "0.2.0" @@ -7703,6 +8119,12 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" +[[package]] +name = "unwrap_none" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "461d0c5956fcc728ecc03a3a961e4adc9a7975d86f6f8371389a289517c02ca9" + [[package]] name = "uriparse" version = "0.6.4" @@ -7930,6 +8352,36 @@ version = "0.25.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" +[[package]] +name = "webpki-roots" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8782dd5a41a24eed3a4f40b606249b3e236ca61adf1f25ea4d45c73de122b502" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "which" +version = "4.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" +dependencies = [ + "either", + "libc", + "once_cell", +] + +[[package]] +name = "wide" +version = "0.7.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce5da8ecb62bcd8ec8b7ea19f69a51275e91299be594ea5cc6ef7819e16cd03" +dependencies = [ + "bytemuck", + "safe_arch", +] + [[package]] name = "winapi" version = "0.3.9" @@ -7972,11 +8424,11 @@ dependencies = [ [[package]] name = "windows-sys" -version = "0.48.0" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" dependencies = [ - "windows-targets 0.48.5", + "windows-targets 0.42.2", ] [[package]] @@ -7999,17 +8451,17 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.48.5" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" 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_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]] @@ -8030,9 +8482,9 @@ dependencies = [ [[package]] name = "windows_aarch64_gnullvm" -version = "0.48.5" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" [[package]] name = "windows_aarch64_gnullvm" @@ -8042,9 +8494,9 @@ checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" -version = "0.48.5" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" [[package]] name = "windows_aarch64_msvc" @@ -8054,9 +8506,9 @@ checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" -version = "0.48.5" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" [[package]] name = "windows_i686_gnu" @@ -8072,9 +8524,9 @@ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" -version = "0.48.5" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" [[package]] name = "windows_i686_msvc" @@ -8084,9 +8536,9 @@ checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" -version = "0.48.5" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" [[package]] name = "windows_x86_64_gnu" @@ -8096,9 +8548,9 @@ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" -version = "0.48.5" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" [[package]] name = "windows_x86_64_gnullvm" @@ -8108,9 +8560,9 @@ checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" -version = "0.48.5" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" [[package]] name = "windows_x86_64_msvc" @@ -8127,23 +8579,13 @@ dependencies = [ "memchr", ] -[[package]] -name = "winreg" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - [[package]] name = "wit-bindgen-rt" version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" dependencies = [ - "bitflags 2.8.0", + "bitflags", ] [[package]] @@ -8297,9 +8739,9 @@ dependencies = [ [[package]] name = "zstd" -version = "0.13.2" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9" +checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" dependencies = [ "zstd-safe", ] diff --git a/Cargo.toml b/Cargo.toml index 95443b6d..67766d18 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,3 +31,13 @@ config = "scripts/spellcheck.toml" pre-release-commit-message = "Publish {{crate_name}} v{{version}}" tag-message = "Publish {{crate_name}} v{{version}}" consolidate-commits = false + +[workspace.dependencies] +num-traits = "0.2" +pinocchio = "0.8.4" +solana-instruction = "2.3.0" +solana-program-error = "2.2.2" +solana-program-option = "2.2.1" +solana-program-pack = "2.2.1" +solana-pubkey = "2.4.0" +solana-system-interface = { version="1.0", features=["bincode"] } diff --git a/interface/Cargo.toml b/interface/Cargo.toml index 4906302e..a991b991 100644 --- a/interface/Cargo.toml +++ b/interface/Cargo.toml @@ -12,7 +12,7 @@ readme = "./README.md" crate-type = ["rlib"] [dependencies] -pinocchio = "0.8.4" +pinocchio = { workspace = true } pinocchio-pubkey = "0.2" [dev-dependencies] diff --git a/p-token/Cargo.toml b/p-token/Cargo.toml index 8b9fce75..b96e2250 100644 --- a/p-token/Cargo.toml +++ b/p-token/Cargo.toml @@ -15,17 +15,27 @@ crate-type = ["cdylib"] logging = [] [dependencies] -pinocchio = "0.8.4" +pinocchio = { workspace = true } pinocchio-log = { version = "0.4", default-features = false } spl-token-interface = { version = "^0", path = "../interface" } [dev-dependencies] assert_matches = "1.5.0" -num-traits = "0.2" -solana-program-test = "2.1" -solana-sdk = "2.1" -spl-token = { version="^4", features=["no-entrypoint"] } -spl-token-2022 = { version="^7", features=["no-entrypoint"] } +num-traits = { workspace = true } +solana-instruction = { workspace = true } +solana-keypair = "2.2.3" +solana-program-error = { workspace = true } +solana-program-option = { workspace = true } +solana-program-pack = { workspace = true } +solana-program-test = "2.3.2" +solana-pubkey = { workspace = true } +solana-signature = "2.3.0" +solana-signer = "2.2.1" +solana-transaction = "2.2.3" +solana-transaction-error = "2.2.1" +solana-system-interface = { workspace = true } +spl-token = { version="^8", features=["no-entrypoint"] } +spl-token-2022 = { version="^9", features=["no-entrypoint"] } [lints] workspace = true diff --git a/p-token/tests/amount_to_ui_amount.rs b/p-token/tests/amount_to_ui_amount.rs index 55bbd392..791f6fc5 100644 --- a/p-token/tests/amount_to_ui_amount.rs +++ b/p-token/tests/amount_to_ui_amount.rs @@ -3,7 +3,9 @@ mod setup; use { setup::{mint, TOKEN_PROGRAM_ID}, solana_program_test::{tokio, ProgramTest}, - solana_sdk::{pubkey::Pubkey, signature::Signer, transaction::Transaction}, + solana_pubkey::Pubkey, + solana_signer::Signer, + solana_transaction::Transaction, }; #[tokio::test] diff --git a/p-token/tests/approve.rs b/p-token/tests/approve.rs index 78c22d44..84ac94c0 100644 --- a/p-token/tests/approve.rs +++ b/p-token/tests/approve.rs @@ -2,13 +2,12 @@ mod setup; use { setup::{account, mint, TOKEN_PROGRAM_ID}, + solana_keypair::Keypair, + solana_program_pack::Pack, solana_program_test::{tokio, ProgramTest}, - solana_sdk::{ - program_pack::Pack, - pubkey::Pubkey, - signature::{Keypair, Signer}, - transaction::Transaction, - }, + solana_pubkey::Pubkey, + solana_signer::Signer, + solana_transaction::Transaction, }; #[tokio::test] diff --git a/p-token/tests/approve_checked.rs b/p-token/tests/approve_checked.rs index 7a70d927..0a3f3cab 100644 --- a/p-token/tests/approve_checked.rs +++ b/p-token/tests/approve_checked.rs @@ -2,13 +2,12 @@ mod setup; use { setup::{account, mint, TOKEN_PROGRAM_ID}, + solana_keypair::Keypair, + solana_program_pack::Pack, solana_program_test::{tokio, ProgramTest}, - solana_sdk::{ - program_pack::Pack, - pubkey::Pubkey, - signature::{Keypair, Signer}, - transaction::Transaction, - }, + solana_pubkey::Pubkey, + solana_signer::Signer, + solana_transaction::Transaction, }; #[tokio::test] diff --git a/p-token/tests/batch.rs b/p-token/tests/batch.rs index 10ffac4a..8c1128e7 100644 --- a/p-token/tests/batch.rs +++ b/p-token/tests/batch.rs @@ -2,16 +2,15 @@ mod setup; use { crate::setup::TOKEN_PROGRAM_ID, + solana_instruction::{AccountMeta, Instruction}, + solana_keypair::Keypair, + solana_program_error::ProgramError, + solana_program_pack::Pack, solana_program_test::{tokio, ProgramTest}, - solana_sdk::{ - instruction::{AccountMeta, Instruction}, - program_error::ProgramError, - program_pack::Pack, - pubkey::Pubkey, - signature::{Keypair, Signer}, - system_instruction, - transaction::Transaction, - }, + solana_pubkey::Pubkey, + solana_signer::Signer, + solana_system_interface::instruction::create_account, + solana_transaction::Transaction, }; fn batch_instruction(instructions: Vec) -> Result { @@ -57,7 +56,7 @@ async fn batch() { // Create a mint let mint_a = Keypair::new(); let mint_authority = Keypair::new(); - let create_mint_a = system_instruction::create_account( + let create_mint_a = create_account( &context.payer.pubkey(), &mint_a.pubkey(), mint_rent, @@ -76,7 +75,7 @@ async fn batch() { // Create a mint 2 with a freeze authority let mint_b = Keypair::new(); let freeze_authority = Pubkey::new_unique(); - let create_mint_b = system_instruction::create_account( + let create_mint_b = create_account( &context.payer.pubkey(), &mint_b.pubkey(), mint_rent, @@ -98,14 +97,14 @@ async fn batch() { let owner_a_ta_a = Keypair::new(); let owner_b_ta_a = Keypair::new(); - let create_owner_a_ta_a = system_instruction::create_account( + let create_owner_a_ta_a = create_account( &context.payer.pubkey(), &owner_a_ta_a.pubkey(), account_rent, account_len as u64, &TOKEN_PROGRAM_ID, ); - let create_owner_b_ta_a = system_instruction::create_account( + let create_owner_b_ta_a = create_account( &context.payer.pubkey(), &owner_b_ta_a.pubkey(), account_rent, diff --git a/p-token/tests/burn.rs b/p-token/tests/burn.rs index 92eafd03..b3184d11 100644 --- a/p-token/tests/burn.rs +++ b/p-token/tests/burn.rs @@ -2,13 +2,12 @@ mod setup; use { setup::{account, mint, TOKEN_PROGRAM_ID}, + solana_keypair::Keypair, + solana_program_pack::Pack, solana_program_test::{tokio, ProgramTest}, - solana_sdk::{ - program_pack::Pack, - pubkey::Pubkey, - signature::{Keypair, Signer}, - transaction::Transaction, - }, + solana_pubkey::Pubkey, + solana_signer::Signer, + solana_transaction::Transaction, }; #[tokio::test] diff --git a/p-token/tests/burn_checked.rs b/p-token/tests/burn_checked.rs index e6648e17..376affb8 100644 --- a/p-token/tests/burn_checked.rs +++ b/p-token/tests/burn_checked.rs @@ -2,13 +2,12 @@ mod setup; use { setup::{account, mint, TOKEN_PROGRAM_ID}, + solana_keypair::Keypair, + solana_program_pack::Pack, solana_program_test::{tokio, ProgramTest}, - solana_sdk::{ - program_pack::Pack, - pubkey::Pubkey, - signature::{Keypair, Signer}, - transaction::Transaction, - }, + solana_pubkey::Pubkey, + solana_signer::Signer, + solana_transaction::Transaction, }; #[tokio::test] diff --git a/p-token/tests/close_account.rs b/p-token/tests/close_account.rs index f6c3881c..93818239 100644 --- a/p-token/tests/close_account.rs +++ b/p-token/tests/close_account.rs @@ -2,12 +2,11 @@ mod setup; use { setup::{account, mint, TOKEN_PROGRAM_ID}, + solana_keypair::Keypair, solana_program_test::{tokio, ProgramTest}, - solana_sdk::{ - pubkey::Pubkey, - signature::{Keypair, Signer}, - transaction::Transaction, - }, + solana_pubkey::Pubkey, + solana_signer::Signer, + solana_transaction::Transaction, }; #[tokio::test] diff --git a/p-token/tests/freeze_account.rs b/p-token/tests/freeze_account.rs index e4422589..9414f562 100644 --- a/p-token/tests/freeze_account.rs +++ b/p-token/tests/freeze_account.rs @@ -2,12 +2,11 @@ mod setup; use { setup::{account, mint, TOKEN_PROGRAM_ID}, + solana_keypair::Keypair, + solana_program_pack::Pack, solana_program_test::{tokio, ProgramTest}, - solana_sdk::{ - program_pack::Pack, - signature::{Keypair, Signer}, - transaction::Transaction, - }, + solana_signer::Signer, + solana_transaction::Transaction, spl_token::state::AccountState, }; diff --git a/p-token/tests/initialize_account.rs b/p-token/tests/initialize_account.rs index 29ee3eed..97f1f8fa 100644 --- a/p-token/tests/initialize_account.rs +++ b/p-token/tests/initialize_account.rs @@ -2,14 +2,13 @@ mod setup; use { setup::{mint, TOKEN_PROGRAM_ID}, + solana_keypair::Keypair, + solana_program_pack::Pack, solana_program_test::{tokio, ProgramTest}, - solana_sdk::{ - program_pack::Pack, - pubkey::Pubkey, - signature::{Keypair, Signer}, - system_instruction, - transaction::Transaction, - }, + solana_pubkey::Pubkey, + solana_signer::Signer, + solana_system_interface::instruction::create_account, + solana_transaction::Transaction, }; #[tokio::test] @@ -51,7 +50,7 @@ async fn initialize_account() { // When a new mint account is created and initialized. let instructions = vec![ - system_instruction::create_account( + create_account( &context.payer.pubkey(), &account.pubkey(), rent.minimum_balance(account_size), diff --git a/p-token/tests/initialize_account2.rs b/p-token/tests/initialize_account2.rs index 6387355f..fbe28d30 100644 --- a/p-token/tests/initialize_account2.rs +++ b/p-token/tests/initialize_account2.rs @@ -2,14 +2,13 @@ mod setup; use { setup::{mint, TOKEN_PROGRAM_ID}, + solana_keypair::Keypair, + solana_program_pack::Pack, solana_program_test::{tokio, ProgramTest}, - solana_sdk::{ - program_pack::Pack, - pubkey::Pubkey, - signature::{Keypair, Signer}, - system_instruction, - transaction::Transaction, - }, + solana_pubkey::Pubkey, + solana_signer::Signer, + solana_system_interface::instruction::create_account, + solana_transaction::Transaction, }; #[tokio::test] @@ -51,7 +50,7 @@ async fn initialize_account2() { // When a new mint account is created and initialized. let instructions = vec![ - system_instruction::create_account( + create_account( &context.payer.pubkey(), &account.pubkey(), rent.minimum_balance(account_size), diff --git a/p-token/tests/initialize_account3.rs b/p-token/tests/initialize_account3.rs index c1a1bbd6..766dcd77 100644 --- a/p-token/tests/initialize_account3.rs +++ b/p-token/tests/initialize_account3.rs @@ -2,14 +2,13 @@ mod setup; use { setup::{mint, TOKEN_PROGRAM_ID}, + solana_keypair::Keypair, + solana_program_pack::Pack, solana_program_test::{tokio, ProgramTest}, - solana_sdk::{ - program_pack::Pack, - pubkey::Pubkey, - signature::{Keypair, Signer}, - system_instruction, - transaction::Transaction, - }, + solana_pubkey::Pubkey, + solana_signer::Signer, + solana_system_interface::instruction::create_account, + solana_transaction::Transaction, }; #[tokio::test] @@ -51,7 +50,7 @@ async fn initialize_account3() { // When a new mint account is created and initialized. let instructions = vec![ - system_instruction::create_account( + create_account( &context.payer.pubkey(), &account.pubkey(), rent.minimum_balance(account_size), diff --git a/p-token/tests/initialize_mint.rs b/p-token/tests/initialize_mint.rs index 1036f142..f6f9f5ac 100644 --- a/p-token/tests/initialize_mint.rs +++ b/p-token/tests/initialize_mint.rs @@ -2,15 +2,14 @@ mod setup; use { setup::TOKEN_PROGRAM_ID, + solana_keypair::Keypair, + solana_program_option::COption, + solana_program_pack::Pack, solana_program_test::{tokio, ProgramTest}, - solana_sdk::{ - program_option::COption, - program_pack::Pack, - pubkey::Pubkey, - signature::{Keypair, Signer}, - system_instruction, - transaction::Transaction, - }, + solana_pubkey::Pubkey, + solana_signer::Signer, + solana_system_interface::instruction::create_account, + solana_transaction::Transaction, spl_token_interface::state::mint::Mint, std::mem::size_of, }; @@ -42,7 +41,7 @@ async fn initialize_mint() { // When a new mint account is created and initialized. let instructions = vec![ - system_instruction::create_account( + create_account( &context.payer.pubkey(), &account.pubkey(), rent.minimum_balance(account_size), diff --git a/p-token/tests/initialize_mint2.rs b/p-token/tests/initialize_mint2.rs index faa9651b..2b177b21 100644 --- a/p-token/tests/initialize_mint2.rs +++ b/p-token/tests/initialize_mint2.rs @@ -2,15 +2,14 @@ mod setup; use { setup::TOKEN_PROGRAM_ID, + solana_keypair::Keypair, + solana_program_option::COption, + solana_program_pack::Pack, solana_program_test::{tokio, ProgramTest}, - solana_sdk::{ - program_option::COption, - program_pack::Pack, - pubkey::Pubkey, - signature::{Keypair, Signer}, - system_instruction, - transaction::Transaction, - }, + solana_pubkey::Pubkey, + solana_signer::Signer, + solana_system_interface::instruction::create_account, + solana_transaction::Transaction, spl_token_interface::state::mint::Mint, std::mem::size_of, }; @@ -42,7 +41,7 @@ async fn initialize_mint2() { // When a new mint account is created and initialized. let instructions = vec![ - system_instruction::create_account( + create_account( &context.payer.pubkey(), &account.pubkey(), rent.minimum_balance(account_size), diff --git a/p-token/tests/initialize_multisig.rs b/p-token/tests/initialize_multisig.rs index a52ed9f0..322994da 100644 --- a/p-token/tests/initialize_multisig.rs +++ b/p-token/tests/initialize_multisig.rs @@ -2,14 +2,13 @@ mod setup; use { setup::TOKEN_PROGRAM_ID, + solana_keypair::Keypair, + solana_program_pack::Pack, solana_program_test::{tokio, ProgramTest}, - solana_sdk::{ - program_pack::Pack, - pubkey::Pubkey, - signature::{Keypair, Signer}, - system_instruction, - transaction::Transaction, - }, + solana_pubkey::Pubkey, + solana_signer::Signer, + solana_system_interface::instruction::create_account, + solana_transaction::Transaction, spl_token::state::Multisig, }; @@ -40,7 +39,7 @@ async fn initialize_multisig() { // When a new multisig account is created and initialized. let instructions = vec![ - system_instruction::create_account( + create_account( &context.payer.pubkey(), &multisig.pubkey(), rent.minimum_balance(Multisig::LEN), diff --git a/p-token/tests/initialize_multisig2.rs b/p-token/tests/initialize_multisig2.rs index 19a7bd30..78aa7af9 100644 --- a/p-token/tests/initialize_multisig2.rs +++ b/p-token/tests/initialize_multisig2.rs @@ -2,14 +2,13 @@ mod setup; use { setup::TOKEN_PROGRAM_ID, + solana_keypair::Keypair, + solana_program_pack::Pack, solana_program_test::{tokio, ProgramTest}, - solana_sdk::{ - program_pack::Pack, - pubkey::Pubkey, - signature::{Keypair, Signer}, - system_instruction, - transaction::Transaction, - }, + solana_pubkey::Pubkey, + solana_signer::Signer, + solana_system_interface::instruction::create_account, + solana_transaction::Transaction, spl_token::state::Multisig, }; @@ -40,7 +39,7 @@ async fn initialize_multisig2() { // When a new multisig account is created and initialized. let instructions = vec![ - system_instruction::create_account( + create_account( &context.payer.pubkey(), &multisig.pubkey(), rent.minimum_balance(Multisig::LEN), diff --git a/p-token/tests/mint_to.rs b/p-token/tests/mint_to.rs index cb576ee7..375a434a 100644 --- a/p-token/tests/mint_to.rs +++ b/p-token/tests/mint_to.rs @@ -2,13 +2,12 @@ mod setup; use { setup::{account, mint, TOKEN_PROGRAM_ID}, + solana_keypair::Keypair, + solana_program_pack::Pack, solana_program_test::{tokio, ProgramTest}, - solana_sdk::{ - program_pack::Pack, - pubkey::Pubkey, - signature::{Keypair, Signer}, - transaction::Transaction, - }, + solana_pubkey::Pubkey, + solana_signer::Signer, + solana_transaction::Transaction, }; #[tokio::test] diff --git a/p-token/tests/mint_to_checked.rs b/p-token/tests/mint_to_checked.rs index 579ad1a3..77803dd4 100644 --- a/p-token/tests/mint_to_checked.rs +++ b/p-token/tests/mint_to_checked.rs @@ -2,13 +2,12 @@ mod setup; use { setup::{account, mint, TOKEN_PROGRAM_ID}, + solana_keypair::Keypair, + solana_program_pack::Pack, solana_program_test::{tokio, ProgramTest}, - solana_sdk::{ - program_pack::Pack, - pubkey::Pubkey, - signature::{Keypair, Signer}, - transaction::Transaction, - }, + solana_pubkey::Pubkey, + solana_signer::Signer, + solana_transaction::Transaction, }; #[tokio::test] diff --git a/p-token/tests/revoke.rs b/p-token/tests/revoke.rs index ee2433fa..398379fc 100644 --- a/p-token/tests/revoke.rs +++ b/p-token/tests/revoke.rs @@ -2,13 +2,12 @@ mod setup; use { setup::{account, mint, TOKEN_PROGRAM_ID}, + solana_keypair::Keypair, + solana_program_pack::Pack, solana_program_test::{tokio, ProgramTest}, - solana_sdk::{ - program_pack::Pack, - pubkey::Pubkey, - signature::{Keypair, Signer}, - transaction::Transaction, - }, + solana_pubkey::Pubkey, + solana_signer::Signer, + solana_transaction::Transaction, }; #[tokio::test] diff --git a/p-token/tests/set_authority.rs b/p-token/tests/set_authority.rs index f8137360..3b2e2f68 100644 --- a/p-token/tests/set_authority.rs +++ b/p-token/tests/set_authority.rs @@ -2,14 +2,13 @@ mod setup; use { setup::{mint, TOKEN_PROGRAM_ID}, + solana_keypair::Keypair, + solana_program_option::COption, + solana_program_pack::Pack, solana_program_test::{tokio, ProgramTest}, - solana_sdk::{ - program_option::COption, - program_pack::Pack, - pubkey::Pubkey, - signature::{Keypair, Signer}, - transaction::Transaction, - }, + solana_pubkey::Pubkey, + solana_signer::Signer, + solana_transaction::Transaction, spl_token::instruction::AuthorityType, }; diff --git a/p-token/tests/setup/account.rs b/p-token/tests/setup/account.rs index f7734cf6..90ddc9a0 100644 --- a/p-token/tests/setup/account.rs +++ b/p-token/tests/setup/account.rs @@ -1,9 +1,7 @@ use { - solana_program_test::ProgramTestContext, - solana_sdk::{ - pubkey::Pubkey, signature::Keypair, signer::Signer, system_instruction, - transaction::Transaction, - }, + solana_keypair::Keypair, solana_program_test::ProgramTestContext, solana_pubkey::Pubkey, + solana_signer::Signer, solana_system_interface::instruction::create_account, + solana_transaction::Transaction, }; pub async fn initialize( @@ -23,7 +21,7 @@ pub async fn initialize( initialize_ix.program_id = *program_id; let instructions = vec![ - system_instruction::create_account( + create_account( &context.payer.pubkey(), &account.pubkey(), rent.minimum_balance(account_size), diff --git a/p-token/tests/setup/mint.rs b/p-token/tests/setup/mint.rs index 14b07359..2269032f 100644 --- a/p-token/tests/setup/mint.rs +++ b/p-token/tests/setup/mint.rs @@ -1,9 +1,11 @@ use { + solana_keypair::Keypair, + solana_program_error::ProgramError, solana_program_test::{BanksClientError, ProgramTestContext}, - solana_sdk::{ - program_error::ProgramError, pubkey::Pubkey, signature::Keypair, signer::Signer, - system_instruction, transaction::Transaction, - }, + solana_pubkey::Pubkey, + solana_signer::Signer, + solana_system_interface::instruction::create_account, + solana_transaction::Transaction, spl_token_interface::state::mint::Mint, std::mem::size_of, }; @@ -34,7 +36,7 @@ pub async fn initialize( // Create a new account and initialize as a mint. let instructions = vec![ - system_instruction::create_account( + create_account( &context.payer.pubkey(), &account.pubkey(), rent.minimum_balance(account_size), diff --git a/p-token/tests/setup/mod.rs b/p-token/tests/setup/mod.rs index c607de27..461dc27e 100644 --- a/p-token/tests/setup/mod.rs +++ b/p-token/tests/setup/mod.rs @@ -1,4 +1,4 @@ -use solana_sdk::pubkey::Pubkey; +use solana_pubkey::Pubkey; #[allow(dead_code)] pub mod account; diff --git a/p-token/tests/thaw_account.rs b/p-token/tests/thaw_account.rs index bb70a3a9..9d922cf7 100644 --- a/p-token/tests/thaw_account.rs +++ b/p-token/tests/thaw_account.rs @@ -2,12 +2,11 @@ mod setup; use { setup::{account, mint, TOKEN_PROGRAM_ID}, + solana_keypair::Keypair, + solana_program_pack::Pack, solana_program_test::{tokio, ProgramTest}, - solana_sdk::{ - program_pack::Pack, - signature::{Keypair, Signer}, - transaction::Transaction, - }, + solana_signer::Signer, + solana_transaction::Transaction, spl_token::state::AccountState, }; diff --git a/p-token/tests/transfer.rs b/p-token/tests/transfer.rs index c414654f..0b153852 100644 --- a/p-token/tests/transfer.rs +++ b/p-token/tests/transfer.rs @@ -2,13 +2,12 @@ mod setup; use { setup::{account, mint, TOKEN_PROGRAM_ID}, + solana_keypair::Keypair, + solana_program_pack::Pack, solana_program_test::{tokio, ProgramTest}, - solana_sdk::{ - program_pack::Pack, - pubkey::Pubkey, - signature::{Keypair, Signer}, - transaction::Transaction, - }, + solana_pubkey::Pubkey, + solana_signer::Signer, + solana_transaction::Transaction, }; #[tokio::test] diff --git a/p-token/tests/transfer_checked.rs b/p-token/tests/transfer_checked.rs index 11f1d13a..c25d526c 100644 --- a/p-token/tests/transfer_checked.rs +++ b/p-token/tests/transfer_checked.rs @@ -2,13 +2,12 @@ mod setup; use { setup::{account, mint, TOKEN_PROGRAM_ID}, + solana_keypair::Keypair, + solana_program_pack::Pack, solana_program_test::{tokio, ProgramTest}, - solana_sdk::{ - program_pack::Pack, - pubkey::Pubkey, - signature::{Keypair, Signer}, - transaction::Transaction, - }, + solana_pubkey::Pubkey, + solana_signer::Signer, + solana_transaction::Transaction, }; #[tokio::test] diff --git a/p-token/tests/ui_amount_to_amount.rs b/p-token/tests/ui_amount_to_amount.rs index d0059d34..9c41eb03 100644 --- a/p-token/tests/ui_amount_to_amount.rs +++ b/p-token/tests/ui_amount_to_amount.rs @@ -3,7 +3,9 @@ mod setup; use { setup::{mint, TOKEN_PROGRAM_ID}, solana_program_test::{tokio, ProgramTest}, - solana_sdk::{pubkey::Pubkey, signature::Signer, transaction::Transaction}, + solana_pubkey::Pubkey, + solana_signer::Signer, + solana_transaction::Transaction, }; #[tokio::test] diff --git a/p-token/tests/withdraw_excess_lamports.rs b/p-token/tests/withdraw_excess_lamports.rs index dc39630c..ca60f026 100644 --- a/p-token/tests/withdraw_excess_lamports.rs +++ b/p-token/tests/withdraw_excess_lamports.rs @@ -5,15 +5,15 @@ mod setup; use { assert_matches::assert_matches, setup::{mint, TOKEN_PROGRAM_ID}, + solana_instruction::error::InstructionError, + solana_keypair::Keypair, + solana_program_pack::Pack, solana_program_test::{tokio, BanksClientError, ProgramTest}, - solana_sdk::{ - instruction::InstructionError, - program_pack::Pack, - pubkey::Pubkey, - signature::{Keypair, Signer}, - system_instruction, - transaction::{Transaction, TransactionError}, - }, + solana_pubkey::Pubkey, + solana_signer::Signer, + solana_system_interface::instruction::create_account, + solana_transaction::Transaction, + solana_transaction_error::TransactionError, spl_token_interface::state::{account::Account, mint::Mint, multisig::Multisig}, std::mem::size_of, }; @@ -48,7 +48,7 @@ async fn withdraw_excess_lamports_from_mint() { // And we initialize a mint account with excess lamports. let instructions = vec![ - system_instruction::create_account( + create_account( &context.payer.pubkey(), &account.pubkey(), rent.minimum_balance(account_size) + excess_lamports, @@ -155,7 +155,7 @@ async fn withdraw_excess_lamports_from_account() { // When a new mint account is created and initialized. let instructions = vec![ - system_instruction::create_account( + create_account( &context.payer.pubkey(), &account.pubkey(), rent.minimum_balance(account_size) + excess_lamports, @@ -253,7 +253,7 @@ async fn withdraw_excess_lamports_from_multisig() { // And we initialize the multisig account. let instructions = vec![ - system_instruction::create_account( + create_account( &context.payer.pubkey(), &multisig.pubkey(), rent.minimum_balance(account_size) + excess_lamports, @@ -348,7 +348,7 @@ async fn fail_withdraw_excess_lamports_from_mint_wrong_authority() { // And we initialize a mint account with excess lamports. let instructions = vec![ - system_instruction::create_account( + create_account( &context.payer.pubkey(), &account.pubkey(), rent.minimum_balance(account_size) + excess_lamports, @@ -461,7 +461,7 @@ async fn fail_withdraw_excess_lamports_from_account_wrong_authority() { // When a new mint account is created and initialized. let instructions = vec![ - system_instruction::create_account( + create_account( &context.payer.pubkey(), &account.pubkey(), rent.minimum_balance(account_size) + excess_lamports, @@ -565,7 +565,7 @@ async fn fail_withdraw_excess_lamports_from_multisig_wrong_authority() { // And we initialize the multisig account. let instructions = vec![ - system_instruction::create_account( + create_account( &context.payer.pubkey(), &multisig.pubkey(), rent.minimum_balance(account_size) + excess_lamports, @@ -669,7 +669,7 @@ async fn fail_withdraw_excess_lamports_from_multisig_missing_signer() { // And we initialize the multisig account. let instructions = vec![ - system_instruction::create_account( + create_account( &context.payer.pubkey(), &multisig.pubkey(), rent.minimum_balance(account_size) + excess_lamports, @@ -769,7 +769,7 @@ async fn withdraw_excess_lamports_from_mint_with_no_authority() { // And we initialize a mint account with excess lamports. let instructions = vec![ - system_instruction::create_account( + create_account( &context.payer.pubkey(), &mint_account.pubkey(), rent.minimum_balance(account_size) + excess_lamports, @@ -897,7 +897,7 @@ async fn fail_withdraw_excess_lamports_from_mint_with_authority_and_mint_as_sign // And we initialize a mint account with excess lamports. let instructions = vec![ - system_instruction::create_account( + create_account( &context.payer.pubkey(), &mint_account.pubkey(), rent.minimum_balance(account_size) + excess_lamports, @@ -997,7 +997,7 @@ async fn fail_withdraw_excess_lamports_from_mint_with_no_authority_and_authority // And we initialize a mint account with excess lamports. let instructions = vec![ - system_instruction::create_account( + create_account( &context.payer.pubkey(), &mint_account.pubkey(), rent.minimum_balance(account_size) + excess_lamports, diff --git a/program/Cargo.toml b/program/Cargo.toml index 817d57d6..ac22db99 100644 --- a/program/Cargo.toml +++ b/program/Cargo.toml @@ -15,32 +15,38 @@ test-sbf = [] arrayref = "0.3.9" bytemuck = "1.20.0" num-derive = "0.4" -num-traits = "0.2" +num-traits = { workspace = true } num_enum = "0.7.3" -solana-account-info = "2.2.0" -solana-cpi = "2.2.0" -solana-decode-error = "2.2.0" -solana-instruction = "2.2.0" -solana-msg = "2.2.0" -solana-program-entrypoint = "2.2.0" -solana-program-error = "2.2.0" -solana-program-memory = "2.2.0" -solana-program-option = "2.2.0" -solana-program-pack = "2.2.0" -solana-pubkey = { version = "2.2.0", features = ["bytemuck"] } -solana-rent = "2.2.0" -solana-sdk-ids = "2.2.0" -solana-sysvar = { version = "2.2.0", features = ["bincode"] } +solana-account-info = "2.3.0" +solana-cpi = "2.2.1" +solana-instruction = { workspace = true } +solana-msg = "2.2.1" +solana-program-entrypoint = "2.3.0" +solana-program-error = { workspace = true } +solana-program-memory = "2.3.1" +solana-program-option = { workspace = true } +solana-program-pack = { workspace = true } +solana-pubkey = { workspace = true, features = ["bytemuck"] } +solana-rent = "2.2.1" +solana-sdk-ids = "2.2.1" +solana-sysvar = { version = "2.2.2", features = ["bincode"] } thiserror = "2.0" [dev-dependencies] lazy_static = "1.5.0" -mollusk-svm = "0.1.0" +mollusk-svm = "0.3.0" +mollusk-svm-fuzz-fixture = "0.3.0" proptest = "1.5" serial_test = "3.2.0" -solana-clock = "2.2.1" +solana-account = "2.2.1" +solana-account-info = "2.3.0" +solana-clock = "2.2.2" solana-native-token = "2.2.1" -solana-sdk = "2.2.1" +solana-program-entrypoint = "2.3.0" +solana-rent = { version = "2.2.1", features = ["sysvar"] } +solana-system-interface = { version="1.0", features=["bincode"] } +strum = "0.24" +strum_macros = "0.24" [lib] crate-type = ["cdylib", "lib"] diff --git a/program/src/entrypoint.rs b/program/src/entrypoint.rs index ad18ed4c..12a92d77 100644 --- a/program/src/entrypoint.rs +++ b/program/src/entrypoint.rs @@ -3,7 +3,8 @@ use { crate::{error::TokenError, processor::Processor}, solana_account_info::AccountInfo, - solana_program_error::{PrintProgramError, ProgramResult}, + solana_msg::msg, + solana_program_error::{ProgramResult, ToStr}, solana_pubkey::Pubkey, }; @@ -15,7 +16,7 @@ fn process_instruction( ) -> ProgramResult { if let Err(error) = Processor::process(program_id, accounts, instruction_data) { // catch the error so we can print it - error.print::(); + msg!(error.to_str::()); return Err(error); } Ok(()) diff --git a/program/src/error.rs b/program/src/error.rs index d371cf91..82a28724 100644 --- a/program/src/error.rs +++ b/program/src/error.rs @@ -2,13 +2,12 @@ use { num_derive::FromPrimitive, - solana_decode_error::DecodeError, - solana_msg::msg, - solana_program_error::{PrintProgramError, ProgramError}, + solana_program_error::{ProgramError, ToStr}, thiserror::Error, }; /// Errors that may be returned by the Token program. +#[cfg_attr(test, derive(strum_macros::FromRepr, strum_macros::EnumIter))] #[derive(Clone, Debug, Eq, Error, FromPrimitive, PartialEq)] pub enum TokenError { // 0 @@ -84,56 +83,84 @@ impl From for ProgramError { ProgramError::Custom(e as u32) } } -impl DecodeError for TokenError { - fn type_of() -> &'static str { - "TokenError" + +impl TryFrom for TokenError { + type Error = ProgramError; + fn try_from(error: u32) -> Result { + match error { + 0 => Ok(TokenError::NotRentExempt), + 1 => Ok(TokenError::InsufficientFunds), + 2 => Ok(TokenError::InvalidMint), + 3 => Ok(TokenError::MintMismatch), + 4 => Ok(TokenError::OwnerMismatch), + 5 => Ok(TokenError::FixedSupply), + 6 => Ok(TokenError::AlreadyInUse), + 7 => Ok(TokenError::InvalidNumberOfProvidedSigners), + 8 => Ok(TokenError::InvalidNumberOfRequiredSigners), + 9 => Ok(TokenError::UninitializedState), + 10 => Ok(TokenError::NativeNotSupported), + 11 => Ok(TokenError::NonNativeHasBalance), + 12 => Ok(TokenError::InvalidInstruction), + 13 => Ok(TokenError::InvalidState), + 14 => Ok(TokenError::Overflow), + 15 => Ok(TokenError::AuthorityTypeNotSupported), + 16 => Ok(TokenError::MintCannotFreeze), + 17 => Ok(TokenError::AccountFrozen), + 18 => Ok(TokenError::MintDecimalsMismatch), + 19 => Ok(TokenError::NonNativeNotSupported), + _ => Err(ProgramError::InvalidArgument), + } } } -impl PrintProgramError for TokenError { - fn print(&self) - where - E: 'static - + std::error::Error - + DecodeError - + PrintProgramError - + num_traits::FromPrimitive, - { +impl ToStr for TokenError { + fn to_str(&self) -> &'static str { match self { - TokenError::NotRentExempt => msg!("Error: Lamport balance below rent-exempt threshold"), - TokenError::InsufficientFunds => msg!("Error: insufficient funds"), - TokenError::InvalidMint => msg!("Error: Invalid Mint"), - TokenError::MintMismatch => msg!("Error: Account not associated with this Mint"), - TokenError::OwnerMismatch => msg!("Error: owner does not match"), - TokenError::FixedSupply => msg!("Error: the total supply of this token is fixed"), - TokenError::AlreadyInUse => msg!("Error: account or token already in use"), + TokenError::NotRentExempt => "Error: Lamport balance below rent-exempt threshold", + TokenError::InsufficientFunds => "Error: insufficient funds", + TokenError::InvalidMint => "Error: Invalid Mint", + TokenError::MintMismatch => "Error: Account not associated with this Mint", + TokenError::OwnerMismatch => "Error: owner does not match", + TokenError::FixedSupply => "Error: the total supply of this token is fixed", + TokenError::AlreadyInUse => "Error: account or token already in use", TokenError::InvalidNumberOfProvidedSigners => { - msg!("Error: Invalid number of provided signers") + "Error: Invalid number of provided signers" } TokenError::InvalidNumberOfRequiredSigners => { - msg!("Error: Invalid number of required signers") - } - TokenError::UninitializedState => msg!("Error: State is uninitialized"), - TokenError::NativeNotSupported => { - msg!("Error: Instruction does not support native tokens") + "Error: Invalid number of required signers" } + TokenError::UninitializedState => "Error: State is uninitialized", + TokenError::NativeNotSupported => "Error: Instruction does not support native tokens", TokenError::NonNativeHasBalance => { - msg!("Error: Non-native account can only be closed if its balance is zero") + "Error: Non-native account can only be closed if its balance is zero" } - TokenError::InvalidInstruction => msg!("Error: Invalid instruction"), - TokenError::InvalidState => msg!("Error: Invalid account state for operation"), - TokenError::Overflow => msg!("Error: Operation overflowed"), + TokenError::InvalidInstruction => "Error: Invalid instruction", + TokenError::InvalidState => "Error: Invalid account state for operation", + TokenError::Overflow => "Error: Operation overflowed", TokenError::AuthorityTypeNotSupported => { - msg!("Error: Account does not support specified authority type") - } - TokenError::MintCannotFreeze => msg!("Error: This token mint cannot freeze accounts"), - TokenError::AccountFrozen => msg!("Error: Account is frozen"), - TokenError::MintDecimalsMismatch => { - msg!("Error: decimals different from the Mint decimals") + "Error: Account does not support specified authority type" } + TokenError::MintCannotFreeze => "Error: This token mint cannot freeze accounts", + TokenError::AccountFrozen => "Error: Account is frozen", + TokenError::MintDecimalsMismatch => "Error: decimals different from the Mint decimals", TokenError::NonNativeNotSupported => { - msg!("Error: Instruction does not support non-native tokens") + "Error: Instruction does not support non-native tokens" } } } } + +#[cfg(test)] +mod test { + use {super::*, strum::IntoEnumIterator}; + #[test] + fn test_parse_error_from_primitive_exhaustive() { + for variant in TokenError::iter() { + let variant_u32 = variant as u32; + assert_eq!( + TokenError::from_repr(variant_u32 as usize).unwrap(), + TokenError::try_from(variant_u32).unwrap() + ); + } + } +} diff --git a/program/src/lib.rs b/program/src/lib.rs index 2690a46f..c989e4ca 100644 --- a/program/src/lib.rs +++ b/program/src/lib.rs @@ -24,7 +24,7 @@ pub mod solana_program { pub use solana_instruction::{AccountMeta, Instruction}; } pub mod program_error { - pub use solana_program_error::{PrintProgramError, ProgramError}; + pub use solana_program_error::ProgramError; } pub mod program_option { pub use solana_program_option::COption; diff --git a/program/src/native_mint.rs b/program/src/native_mint.rs index ef0eb57e..756d068c 100644 --- a/program/src/native_mint.rs +++ b/program/src/native_mint.rs @@ -8,16 +8,13 @@ solana_pubkey::declare_id!("So11111111111111111111111111111111111111112"); #[cfg(test)] mod tests { - use {super::*, solana_native_token::*}; + use {super::*, solana_native_token::sol_str_to_lamports}; #[test] fn test_decimals() { - assert!( - (lamports_to_sol(42) - crate::amount_to_ui_amount(42, DECIMALS)).abs() < f64::EPSILON - ); assert_eq!( - sol_to_lamports(42.), - crate::ui_amount_to_amount(42., DECIMALS) + sol_str_to_lamports("42.").unwrap(), + crate::try_ui_amount_into_amount("42.".to_string(), DECIMALS).unwrap() ); } } diff --git a/program/src/processor.rs b/program/src/processor.rs index 555ceec2..d19efbda 100644 --- a/program/src/processor.rs +++ b/program/src/processor.rs @@ -1041,7 +1041,7 @@ mod tests { use { super::*, solana_clock::Epoch, - solana_program_error::PrintProgramError, + solana_program_error::ToStr, std::sync::{Arc, RwLock}, }; @@ -1056,7 +1056,7 @@ mod tests { #[test] fn test_print_error() { let error = return_token_error_as_program_error(); - error.print::(); + error.to_str::(); } #[test] diff --git a/program/tests/assert_instruction_count.rs b/program/tests/assert_instruction_count.rs index 0fda1229..de303e18 100644 --- a/program/tests/assert_instruction_count.rs +++ b/program/tests/assert_instruction_count.rs @@ -2,11 +2,9 @@ mod setup; use { mollusk_svm::{result::Check, Mollusk}, - solana_sdk::{ - account::{Account as SolanaAccount, ReadableAccount}, - program_pack::Pack, - pubkey::Pubkey, - }, + solana_account::{Account as SolanaAccount, ReadableAccount}, + solana_program_pack::Pack, + solana_pubkey::Pubkey, spl_token::{ id, instruction, state::{Account, Mint}, diff --git a/program/tests/close_account.rs b/program/tests/close_account.rs index 17f03548..ce995121 100644 --- a/program/tests/close_account.rs +++ b/program/tests/close_account.rs @@ -2,13 +2,12 @@ mod setup; use { mollusk_svm::{result::Check, Mollusk}, - solana_sdk::{ - account::{Account as SolanaAccount, ReadableAccount}, - program_error::ProgramError, - program_pack::Pack, - pubkey::Pubkey, - system_instruction, system_program, - }, + solana_account::{Account as SolanaAccount, ReadableAccount}, + solana_program_error::ProgramError, + solana_program_pack::Pack, + solana_pubkey::Pubkey, + solana_sdk_ids::system_program, + solana_system_interface::instruction::{create_account, transfer}, spl_token::{instruction, state::Account}, }; @@ -36,7 +35,7 @@ fn success_init_after_close_account() { &[Check::success()], ), ( - &system_instruction::create_account( + &create_account( &owner, &account, 1_000_000_000, @@ -96,7 +95,7 @@ fn fail_init_after_close_account() { &[Check::success()], ), ( - &system_instruction::transfer(&owner, &account, 1_000_000_000), + &transfer(&owner, &account, 1_000_000_000), &[Check::success()], ), ( diff --git a/program/tests/processor.rs b/program/tests/processor.rs index 7466e555..ad7c5db5 100644 --- a/program/tests/processor.rs +++ b/program/tests/processor.rs @@ -3,18 +3,15 @@ use { mollusk_svm::{result::Check, Mollusk}, serial_test::serial, - solana_sdk::{ - account::{create_account_for_test, Account as SolanaAccount, ReadableAccount}, - account_info::{AccountInfo, IntoAccountInfo}, - entrypoint::ProgramResult, - instruction::Instruction, - program_error::ProgramError, - program_option::COption, - program_pack::Pack, - pubkey::Pubkey, - rent::Rent, - sysvar::rent, - }, + solana_account::{create_account_for_test, Account as SolanaAccount, ReadableAccount}, + solana_account_info::{AccountInfo, IntoAccountInfo}, + solana_instruction::Instruction, + solana_program_error::{ProgramError, ProgramResult}, + solana_program_option::COption, + solana_program_pack::Pack, + solana_pubkey::Pubkey, + solana_rent::Rent, + solana_sdk_ids::sysvar::rent, spl_token::{ error::TokenError, instruction::{ diff --git a/program/tests/setup.rs b/program/tests/setup.rs index 00677240..7f2f238b 100644 --- a/program/tests/setup.rs +++ b/program/tests/setup.rs @@ -1,7 +1,8 @@ use { - solana_sdk::{ - account::Account as SolanaAccount, program_pack::Pack, pubkey::Pubkey, rent::Rent, - }, + solana_account::Account as SolanaAccount, + solana_program_pack::Pack, + solana_pubkey::Pubkey, + solana_rent::Rent, spl_token::state::{Account, AccountState, Mint}, };