diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 8df476ee6de..06dfc99ca0b 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -124,6 +124,8 @@ jobs: with: ref: ${{ github.event.pull_request.head.sha || github.sha }} - uses: dtolnay/rust-toolchain@stable + - name: Install system dependencies + run: sudo apt-get update && sudo apt-get install -y libudev-dev - name: Free disk space run: | sudo rm -rf /usr/share/dotnet @@ -153,6 +155,8 @@ jobs: with: components: rustfmt, clippy target: wasm32-unknown-unknown + - name: Install system dependencies + run: sudo apt-get update && sudo apt-get install -y libudev-dev - name: Free disk space run: | sudo rm -rf /usr/share/dotnet diff --git a/rust/main/Cargo.lock b/rust/main/Cargo.lock index 6760deb1d05..3db8f4c9390 100644 --- a/rust/main/Cargo.lock +++ b/rust/main/Cargo.lock @@ -28,16 +28,18 @@ dependencies = [ name = "access-control" version = "0.1.0" dependencies = [ - "solana-program", + "solana-program 3.0.0", ] [[package]] name = "account-utils" version = "0.1.0" dependencies = [ - "borsh 0.9.3", - "solana-program", - "spl-type-length-value", + "borsh 1.6.0", + "solana-program 3.0.0", + "solana-system-interface 2.0.0", + "spl-discriminator 0.5.1", + "spl-type-length-value 0.6.0", ] [[package]] @@ -97,6 +99,31 @@ dependencies = [ "zeroize", ] +[[package]] +name = "agave-feature-set" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cf33c329313ce6f88702d02013def48afeff133ea897ee7071d57b8655b9af1" +dependencies = [ + "ahash 0.8.11", + "solana-epoch-schedule 3.0.0", + "solana-hash 3.1.0", + "solana-pubkey 3.0.0", + "solana-sha256-hasher 3.1.0", + "solana-svm-feature-set", +] + +[[package]] +name = "agave-reserved-account-keys" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c88b70eb0118706280ec9b63e458b227c297155e8c866a2be8e194cdb13d9896" +dependencies = [ + "agave-feature-set", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", +] + [[package]] name = "ahash" version = "0.7.8" @@ -115,6 +142,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", + "getrandom 0.2.15", "once_cell", "version_check", "zerocopy", @@ -188,7 +216,7 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9ebd144c81671193ed85aa2db9bb5e183421843e0485de8fffc07e5cf50e18a" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] @@ -199,7 +227,7 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68f6ff9e4c36858fa2c29e5284b77527b5a7466743976e1ba1f5824e16683545" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] @@ -259,16 +287,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d9b665789884a7e8fb06c84b295e923b03ca51edbb7d08f91a6a50322ecbfe6" dependencies = [ "anstyle", - "unicode-width", -] - -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi", + "unicode-width 0.1.13", ] [[package]] @@ -322,13 +341,22 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" dependencies = [ "backtrace", ] +[[package]] +name = "arc-swap" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ded5f9a03ac8f24d1b8a25101ee812cd32cdc8c50a4c50237de2c4915850e73" +dependencies = [ + "rustversion", +] + [[package]] name = "ark-bls12-381" version = "0.4.0" @@ -398,7 +426,7 @@ checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" dependencies = [ "num-bigint 0.4.6", "num-traits", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] @@ -434,7 +462,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] @@ -452,9 +480,9 @@ dependencies = [ [[package]] name = "arrayref" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" @@ -490,7 +518,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", "synstructure 0.12.6", @@ -502,16 +530,21 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] [[package]] -name = "assert_matches" -version = "1.5.0" +name = "async-channel" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" +dependencies = [ + "concurrent-queue", + "event-listener 2.5.3", + "futures-core", +] [[package]] name = "async-compression" @@ -529,9 +562,9 @@ dependencies = [ [[package]] name = "async-lock" -version = "3.4.0" +version = "3.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" +checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311" dependencies = [ "event-listener 5.3.1", "event-listener-strategy", @@ -574,18 +607,18 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] [[package]] name = "async-trait" -version = "0.1.86" +version = "0.1.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "644dd749086bf3771a2fbc5f256fdb982d53f011c7d5d560304eafeecebce79d" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -625,17 +658,6 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", -] - [[package]] name = "auto_impl" version = "0.5.0" @@ -643,7 +665,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7862e21c893d65a1650125d157eaeec691439379a1cee17ee49031b79236ada4" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] @@ -654,7 +676,7 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -1250,7 +1272,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "604fde5e028fea851ce1d8570bbdc034bec850d157f7569d10f347d06808c05c" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -1394,11 +1416,11 @@ version = "0.72.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", "cexpr", "clang-sys", "itertools 0.12.1", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "regex", "rustc-hash 2.1.1", @@ -1414,20 +1436,11 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -dependencies = [ - "serde", -] - -[[package]] -name = "bitmaps" -version = "2.1.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" dependencies = [ - "typenum", + "serde_core", ] [[package]] @@ -1469,20 +1482,20 @@ checksum = "e90f7deecfac93095eb874a40febd69427776e24e1bd7f87f33ac62d6f0174df" dependencies = [ "arrayref", "arrayvec", - "constant_time_eq 0.3.1", + "constant_time_eq", ] [[package]] name = "blake3" -version = "1.4.0" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "729b71f35bd3fa1a4c86b85d32c8b9069ea7fe14f7a53cfabb65f62d4265b888" +checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" dependencies = [ "arrayref", "arrayvec", "cc", "cfg-if", - "constant_time_eq 0.2.6", + "constant_time_eq", "digest 0.10.7", ] @@ -1492,7 +1505,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" dependencies = [ - "block-padding 0.1.5", + "block-padding", "byte-tools", "byteorder", "generic-array 0.12.4", @@ -1504,7 +1517,6 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ - "block-padding 0.2.1", "generic-array 0.14.7", ] @@ -1526,12 +1538,6 @@ dependencies = [ "byte-tools", ] -[[package]] -name = "block-padding" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" - [[package]] name = "blst" version = "0.3.15" @@ -1582,7 +1588,7 @@ dependencies = [ "hyperlocal", "log", "pin-project-lite", - "rustls 0.23.28", + "rustls 0.23.36", "rustls-native-certs 0.8.1", "rustls-pemfile 2.2.0", "rustls-pki-types", @@ -1591,7 +1597,7 @@ dependencies = [ "serde_json", "serde_repr", "serde_urlencoded", - "thiserror 2.0.12", + "thiserror 2.0.18", "tokio", "tokio-util", "tower-service", @@ -1612,69 +1618,68 @@ dependencies = [ [[package]] name = "borsh" -version = "0.9.3" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa" +checksum = "115e54d64eb62cdebad391c19efc9dce4981c690c85a33a12199d99bb9546fee" dependencies = [ - "borsh-derive 0.9.3", - "hashbrown 0.11.2", + "borsh-derive 0.10.4", + "hashbrown 0.13.2", ] [[package]] name = "borsh" -version = "1.5.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6362ed55def622cddc70a4746a68554d7b687713770de539e59a739b249f8ed" +checksum = "d1da5ab77c1437701eeff7c88d968729e7766172279eab0676857b3d63af7a6f" dependencies = [ - "borsh-derive 1.5.1", + "borsh-derive 1.6.0", "cfg_aliases", ] [[package]] name = "borsh-derive" -version = "0.9.3" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775" +checksum = "831213f80d9423998dd696e2c5345aba6be7a0bd8cd19e31c5243e13df1cef89" dependencies = [ "borsh-derive-internal", "borsh-schema-derive-internal", "proc-macro-crate 0.1.5", - "proc-macro2 1.0.93", + "proc-macro2", "syn 1.0.109", ] [[package]] name = "borsh-derive" -version = "1.5.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" +checksum = "0686c856aa6aac0c4498f936d7d6a02df690f614c03e4d906d1018062b5c5e2c" dependencies = [ "once_cell", "proc-macro-crate 3.2.0", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", - "syn_derive", ] [[package]] name = "borsh-derive-internal" -version = "0.9.3" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" +checksum = "65d6ba50644c98714aa2a70d13d7df3cd75cd2b523a2b452bf010443800976b3" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] [[package]] name = "borsh-schema-derive-internal" -version = "0.9.3" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" +checksum = "276691d96f063427be83e6692b86148e488ebba9f48f77788724ca027ba3b6d4" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] @@ -1718,9 +1723,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.19.1" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "bv" @@ -1761,27 +1766,27 @@ version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] [[package]] name = "bytemuck" -version = "1.17.1" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773d90827bc3feecfb67fab12e24de0749aad83c74b9504ecde46237b5cd24e2" +checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.7.1" +version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26" +checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -1836,14 +1841,14 @@ dependencies = [ "cainome-rs", "cainome-rs-macro", "camino", - "clap 4.5.20", + "clap", "clap_complete", "convert_case 0.8.0", "serde", "serde_json", "starknet 0.15.1", "starknet-types-core", - "thiserror 2.0.12", + "thiserror 2.0.18", "tracing", "tracing-subscriber", "url", @@ -1859,7 +1864,7 @@ dependencies = [ "serde", "serde_with", "starknet 0.15.1", - "thiserror 2.0.12", + "thiserror 2.0.18", ] [[package]] @@ -1868,7 +1873,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d272424141f0ced49ca5f40bc4b756235ee6e7c9cf6ab01f7ef5ac010f5f8864" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", "unzip-n", @@ -1899,12 +1904,12 @@ dependencies = [ "cainome-parser", "camino", "prettyplease", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "serde_json", "starknet 0.15.1", "syn 2.0.109", - "thiserror 2.0.12", + "thiserror 2.0.18", ] [[package]] @@ -1918,7 +1923,7 @@ dependencies = [ "cainome-parser", "cainome-rs", "proc-macro-error", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "serde_json", "starknet 0.14.0", @@ -1970,16 +1975,21 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.55" +version = "1.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29" +checksum = "04da6a0d40b948dfc4fa8f5bbf402b0fc1a64a28dbf7d12ffd683550f2c1b63a" dependencies = [ - "find-msvc-tools", "jobserver", "libc", "shlex", ] +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + [[package]] name = "cexpr" version = "0.6.0" @@ -2001,6 +2011,17 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" +[[package]] +name = "cfg_eval" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45565fc9416b9896014f5732ac776f810ee53a66730c17e4020c3ec064a8f88f" +dependencies = [ + "proc-macro2", + "quote 1.0.42", + "syn 2.0.109", +] + [[package]] name = "chrono" version = "0.4.38" @@ -2035,38 +2056,7 @@ checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" dependencies = [ "glob", "libc", - "libloading 0.8.5", -] - -[[package]] -name = "clap" -version = "2.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" -dependencies = [ - "ansi_term", - "atty", - "bitflags 1.3.2", - "strsim 0.8.0", - "textwrap 0.11.0", - "unicode-width", - "vec_map", -] - -[[package]] -name = "clap" -version = "3.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" -dependencies = [ - "atty", - "bitflags 1.3.2", - "clap_lex 0.2.4", - "indexmap 1.9.3", - "once_cell", - "strsim 0.10.0", - "termcolor", - "textwrap 0.16.1", + "libloading", ] [[package]] @@ -2087,7 +2077,7 @@ checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" dependencies = [ "anstream", "anstyle", - "clap_lex 0.7.2", + "clap_lex", "strsim 0.11.1", ] @@ -2097,7 +2087,7 @@ version = "4.5.36" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86bc73de94bc81e52f3bebec71bc4463e9748f7a59166663e32044669577b0e2" dependencies = [ - "clap 4.5.20", + "clap", ] [[package]] @@ -2107,20 +2097,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" dependencies = [ "heck 0.5.0", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] -[[package]] -name = "clap_lex" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" -dependencies = [ - "os_str_bytes", -] - [[package]] name = "clap_lex" version = "0.7.2" @@ -2227,7 +2208,7 @@ dependencies = [ "serde", "serde_derive", "sha2 0.10.8", - "sha3 0.10.8", + "sha3", "thiserror 1.0.63", ] @@ -2247,7 +2228,7 @@ dependencies = [ "serde", "serde_derive", "sha2 0.10.8", - "sha3 0.10.8", + "sha3", "thiserror 1.0.63", ] @@ -2306,6 +2287,16 @@ dependencies = [ "unreachable", ] +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + [[package]] name = "cometbft" version = "0.1.0-alpha.2" @@ -2314,7 +2305,7 @@ dependencies = [ "bytes", "cometbft-proto", "digest 0.10.7", - "ed25519 2.2.3", + "ed25519", "ed25519-consensus", "flex-error", "futures", @@ -2424,15 +2415,15 @@ dependencies = [ [[package]] name = "console" -version = "0.15.8" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +checksum = "03e45a4a8926227e4197636ba97a9fc9b00477e9f4bd711395687c5f0734bec4" dependencies = [ "encode_unicode", - "lazy_static", "libc", - "unicode-width", - "windows-sys 0.52.0", + "once_cell", + "unicode-width 0.2.2", + "windows-sys 0.61.2", ] [[package]] @@ -2492,12 +2483,6 @@ dependencies = [ "web-sys", ] -[[package]] -name = "const-oid" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" - [[package]] name = "const-oid" version = "0.9.6" @@ -2510,12 +2495,6 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d8a42181e0652c2997ae4d217f25b63c5337a52fd2279736e97b832fa0a3cff" -[[package]] -name = "constant_time_eq" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a53c0a4d288377e7415b53dcfc3c04da5cdc2cc95c8d5ac178b58f0b861ad6" - [[package]] name = "constant_time_eq" version = "0.3.1" @@ -2594,7 +2573,7 @@ dependencies = [ "cookie 0.18.1", "document-features", "idna 1.1.0", - "indexmap 2.9.0", + "indexmap 2.12.0", "log", "serde", "serde_derive", @@ -2739,7 +2718,7 @@ version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "029910b409398fdf81955d7301b906caf81f2c42b013ea074fbd89720229c424" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -2776,7 +2755,7 @@ version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9acd45c63d41bc9b16bc6dc7f6bd604a8c2ad29ce96c8f3c96d7fc8ef384392e" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] @@ -2787,7 +2766,7 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edd3d80310cd7b86b09dbe886f4f2ca235a5ddb8d478493c6e50e720a3b38a42" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -2858,9 +2837,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.13" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] @@ -2891,9 +2870,9 @@ dependencies = [ [[package]] name = "crc32fast" -version = "1.5.0" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", ] @@ -2906,9 +2885,9 @@ checksum = "f64009896348fc5af4222e9cf7d7d82a95a256c634ebcf61c53e4ea461422242" [[package]] name = "crossbeam-channel" -version = "0.5.13" +version = "0.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" dependencies = [ "crossbeam-utils", ] @@ -2998,16 +2977,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "crypto-mac" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" -dependencies = [ - "generic-array 0.14.7", - "subtle", -] - [[package]] name = "crypto-mac" version = "0.11.0" @@ -3075,7 +3044,6 @@ dependencies = [ "byteorder", "digest 0.9.0", "rand_core 0.5.1", - "serde", "subtle", "zeroize", ] @@ -3091,7 +3059,9 @@ dependencies = [ "curve25519-dalek-derive", "digest 0.10.7", "fiat-crypto", + "rand_core 0.6.4", "rustc_version", + "serde", "subtle", "zeroize", ] @@ -3102,7 +3072,7 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -3215,7 +3185,7 @@ dependencies = [ "darling 0.13.4", "graphql-parser", "once_cell", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "strsim 0.10.0", "syn 1.0.109", @@ -3269,7 +3239,7 @@ checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "strsim 0.10.0", "syn 1.0.109", @@ -3283,7 +3253,7 @@ checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "strsim 0.10.0", "syn 1.0.109", @@ -3297,7 +3267,7 @@ checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "strsim 0.11.1", "syn 2.0.109", @@ -3355,22 +3325,13 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" -[[package]] -name = "der" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" -dependencies = [ - "const-oid 0.7.1", -] - [[package]] name = "der" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" dependencies = [ - "const-oid 0.9.6", + "const-oid", "zeroize", ] @@ -3380,7 +3341,7 @@ version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" dependencies = [ - "const-oid 0.9.6", + "const-oid", "pem-rfc7468", "zeroize", ] @@ -3421,7 +3382,7 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] @@ -3432,7 +3393,7 @@ version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] @@ -3453,7 +3414,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c11bdc11a0c47bc7d37d582b5285da6849c96681023680b906673c5707af7b0f" dependencies = [ "darling 0.14.4", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] @@ -3475,7 +3436,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" dependencies = [ "convert_case 0.4.0", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "rustc_version", "syn 2.0.109", @@ -3496,7 +3457,7 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", "unicode-xid 0.2.5", @@ -3518,18 +3479,6 @@ dependencies = [ "thousands", ] -[[package]] -name = "dialoguer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59c6f2989294b9a498d3ad5491a79c6deb604617378e1cdc4bfc1c1361fe2f87" -dependencies = [ - "console", - "shell-words", - "tempfile", - "zeroize", -] - [[package]] name = "difflib" version = "0.4.0" @@ -3561,7 +3510,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.4", - "const-oid 0.9.6", + "const-oid", "crypto-common", "subtle", ] @@ -3613,32 +3562,32 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] [[package]] -name = "dlopen" -version = "0.1.8" +name = "dlopen2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e80ad39f814a9abe68583cd50a2d45c8a67561c3361ab8da240587dda80937" +checksum = "09b4f5f101177ff01b8ec4ecc81eead416a8aa42819a2869311b3420fa114ffa" dependencies = [ - "dlopen_derive", - "lazy_static", + "dlopen2_derive", "libc", + "once_cell", "winapi", ] [[package]] -name = "dlopen_derive" -version = "0.1.4" +name = "dlopen2_derive" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f236d9e1b1fbd81cea0f9cbdc8dcc7e8ebcd80e6659cd7cb2ad5f6c05946c581" +checksum = "a6cbae11b3de8fce2a456e8ea3dada226b35fe791f0dc1d360c0941f0bb681f3" dependencies = [ - "libc", - "quote 0.6.13", - "syn 0.15.44", + "proc-macro2", + "quote 1.0.42", + "syn 2.0.109", ] [[package]] @@ -3697,12 +3646,6 @@ version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" -[[package]] -name = "eager" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abe71d579d1812060163dff96056261deb5bf6729b100fa2e36a68b9649ba3d3" - [[package]] name = "ecdsa" version = "0.14.8" @@ -3735,19 +3678,10 @@ version = "0.1.0" dependencies = [ "getrandom 0.2.15", "hyperlane-core", - "solana-program", + "solana-program 3.0.0", "thiserror 1.0.63", ] -[[package]] -name = "ed25519" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" -dependencies = [ - "signature 1.6.4", -] - [[package]] name = "ed25519" version = "2.2.3" @@ -3771,20 +3705,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "ed25519-dalek" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek 3.2.2", - "ed25519 1.5.3", - "rand 0.7.3", - "serde", - "sha2 0.9.9", - "zeroize", -] - [[package]] name = "ed25519-dalek" version = "2.1.1" @@ -3792,7 +3712,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ "curve25519-dalek 4.1.3", - "ed25519 2.2.3", + "ed25519", + "rand_core 0.6.4", "serde", "sha2 0.10.8", "subtle", @@ -3801,12 +3722,12 @@ dependencies = [ [[package]] name = "ed25519-dalek-bip32" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d2be62a4061b872c8c0873ee4fc6f101ce7b889d039f019c5fa2af471a59908" +checksum = "6b49a684b133c4980d7ee783936af771516011c8cd15f429dbda77245e282f03" dependencies = [ "derivation-path", - "ed25519-dalek 1.0.1", + "ed25519-dalek", "hmac 0.12.1", "sha2 0.10.8", ] @@ -3833,7 +3754,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d9ce6874da5d4415896cd45ffbc4d1cfc0c4f9c079427bd870742c30f2f65a9" dependencies = [ "curve25519-dalek 4.1.3", - "ed25519 2.2.3", + "ed25519", "hashbrown 0.14.5", "hex 0.4.3", "rand_core 0.6.4", @@ -3903,9 +3824,9 @@ checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" [[package]] name = "encode_unicode" -version = "0.3.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" [[package]] name = "encoding_rs" @@ -3916,22 +3837,13 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "enum-iterator" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2953d1df47ac0eb70086ccabf0275aa8da8591a28bd358ee2b52bd9f9e3ff9e9" -dependencies = [ - "enum-iterator-derive 0.8.1", -] - [[package]] name = "enum-iterator" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9fd242f399be1da0a5354aa462d57b4ab2b4ee0683cc552f7c007d2d12d36e94" dependencies = [ - "enum-iterator-derive 1.5.0", + "enum-iterator-derive", ] [[package]] @@ -3940,18 +3852,7 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4549325971814bda7a44061bf3fe7e487d447cba01e4220a4b454d630d7a016" dependencies = [ - "enum-iterator-derive 1.5.0", -] - -[[package]] -name = "enum-iterator-derive" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8958699f9359f0b04e691a13850d48b7de329138023876d07cbd024c2c820598" -dependencies = [ - "proc-macro2 1.0.93", - "quote 1.0.42", - "syn 1.0.109", + "enum-iterator-derive", ] [[package]] @@ -3960,19 +3861,7 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "685adfa4d6f3d765a26bc5dbc936577de9abf756c1feeb3089b01dd395034842" dependencies = [ - "proc-macro2 1.0.93", - "quote 1.0.42", - "syn 2.0.109", -] - -[[package]] -name = "enum_dispatch" -version = "0.3.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd" -dependencies = [ - "once_cell", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -3993,19 +3882,6 @@ dependencies = [ "syn 0.11.11", ] -[[package]] -name = "env_logger" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" -dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", -] - [[package]] name = "equivalent" version = "1.0.1" @@ -4060,7 +3936,7 @@ dependencies = [ "serde", "serde_json", "sha2 0.10.8", - "sha3 0.10.8", + "sha3", "thiserror 1.0.63", "uuid 0.8.2", ] @@ -4077,7 +3953,7 @@ dependencies = [ "regex", "serde", "serde_json", - "sha3 0.10.8", + "sha3", "thiserror 1.0.63", "uint 0.9.5", ] @@ -4204,7 +4080,7 @@ dependencies = [ "eyre", "getrandom 0.2.15", "hex 0.4.3", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "regex", "reqwest 0.11.27", @@ -4224,7 +4100,7 @@ dependencies = [ "ethers-contract-abigen", "ethers-core", "hex 0.4.3", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "serde_json", "syn 1.0.109", @@ -4247,7 +4123,7 @@ dependencies = [ "k256 0.11.6", "once_cell", "open-fastrlp", - "proc-macro2 1.0.93", + "proc-macro2", "rand 0.8.5", "rlp 0.5.2", "rlp-derive", @@ -4450,6 +4326,18 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" +[[package]] +name = "fastbloom" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27cea6e7f512d43b098939ff4d5a5d6fe3db07971e1d05176fe26c642d33f5b8" +dependencies = [ + "getrandom 0.3.2", + "rand 0.9.1", + "siphasher 1.0.2", + "wide", +] + [[package]] name = "fastrand" version = "2.3.0" @@ -4501,34 +4389,76 @@ dependencies = [ ] [[package]] -name = "find-msvc-tools" -version = "0.1.9" +name = "five8" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" +checksum = "a75b8549488b4715defcb0d8a8a1c1c76a80661b5fa106b4ca0e7fce59d7d875" +dependencies = [ + "five8_core 0.1.2", +] [[package]] -name = "fixed-hash" -version = "0.3.2" +name = "five8" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1a683d1234507e4f3bf2736eeddf0de1dc65996dc0164d57eba0a74bcf29489" +checksum = "23f76610e969fa1784327ded240f1e28a3fd9520c9cec93b636fcf62dd37f772" dependencies = [ - "byteorder", - "heapsize", - "rand 0.5.6", - "rustc-hex", - "static_assertions 0.2.5", + "five8_core 1.0.0", ] [[package]] -name = "fixed-hash" -version = "0.8.0" +name = "five8_const" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +checksum = "26dec3da8bc3ef08f2c04f61eab298c3ab334523e55f076354d6d6f613799a7b" dependencies = [ - "byteorder", - "rand 0.8.5", - "rustc-hex", - "static_assertions 1.1.0", + "five8_core 0.1.2", +] + +[[package]] +name = "five8_const" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a0f1728185f277989ca573a402716ae0beaaea3f76a8ff87ef9dd8fb19436c5" +dependencies = [ + "five8_core 1.0.0", +] + +[[package]] +name = "five8_core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2551bf44bc5f776c15044b9b94153a00198be06743e262afaaa61f11ac7523a5" + +[[package]] +name = "five8_core" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "059c31d7d36c43fe39d89e55711858b4da8be7eb6dabac23c7289b1a19489406" + +[[package]] +name = "fixed-hash" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1a683d1234507e4f3bf2736eeddf0de1dc65996dc0164d57eba0a74bcf29489" +dependencies = [ + "byteorder", + "heapsize", + "rand 0.5.6", + "rustc-hex", + "static_assertions 0.2.5", +] + +[[package]] +name = "fixed-hash" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +dependencies = [ + "byteorder", + "rand 0.8.5", + "rustc-hex", + "static_assertions 1.1.0", ] [[package]] @@ -4544,12 +4474,12 @@ dependencies = [ [[package]] name = "flate2" -version = "1.1.9" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" +checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" dependencies = [ "crc32fast", - "miniz_oxide 0.8.9", + "miniz_oxide 0.8.0", ] [[package]] @@ -4650,7 +4580,7 @@ checksum = "e0e7e87f94417ff1a5d60e496906033c58bfe5367546621f131fe8cdabaa2671" dependencies = [ "itertools 0.10.5", "lazy_static", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "regex", "serde", @@ -4665,7 +4595,7 @@ version = "0.55.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "491f1777538b0e1d479609d0d75bca5242c7fd3394f2ddd4ea55b8c96bcc8387" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", "fuel-types", "serde", "strum 0.24.1", @@ -4773,7 +4703,7 @@ dependencies = [ "fuel-vm", "impl-tools", "itertools 0.12.1", - "num_enum 0.7.3", + "num_enum", "paste", "postcard", "primitive-types", @@ -4810,7 +4740,7 @@ dependencies = [ "coins-bip32 0.8.7", "coins-bip39 0.8.7", "ecdsa 0.16.9", - "ed25519-dalek 2.1.1", + "ed25519-dalek", "fuel-types", "k256 0.13.4", "lazy_static", @@ -4828,7 +4758,7 @@ version = "0.55.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89ad30ad1a11e5a811ae67b6b0cb6785ce21bcd5ef0afd442fd963d5be95d09d" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", "synstructure 0.13.1", @@ -4861,7 +4791,7 @@ version = "0.55.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e00cc42ae3121b1881a6ae8306696d1bea73adca424216d9f676ee91d3927c74" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", "derivative", "derive_more 0.99.18", "fuel-asm", @@ -4899,7 +4829,7 @@ dependencies = [ "anyhow", "async-trait", "backtrace", - "bitflags 2.6.0", + "bitflags 2.10.0", "derivative", "derive_more 0.99.18", "ethnum", @@ -4918,7 +4848,7 @@ dependencies = [ "rand 0.8.5", "serde", "serde_with", - "sha3 0.10.8", + "sha3", "static_assertions 1.1.0", "strum 0.24.1", "tai64", @@ -4974,7 +4904,7 @@ dependencies = [ "Inflector", "fuel-abi-types", "itertools 0.12.1", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "regex", "serde_json", @@ -5017,7 +4947,7 @@ checksum = "bba1c2fd149a310879249144f2589336708ae860563a45b792907ae34ae6b959" dependencies = [ "fuels-code-gen", "itertools 0.12.1", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -5072,9 +5002,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -5087,9 +5017,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -5103,9 +5033,9 @@ checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -5125,9 +5055,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-locks" @@ -5141,26 +5071,26 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-timer" @@ -5170,9 +5100,9 @@ checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -5231,7 +5161,6 @@ version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ - "serde", "typenum", "version_check", "zeroize", @@ -5254,10 +5183,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]] @@ -5299,13 +5226,33 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +[[package]] +name = "governor" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68a7f542ee6b35af73b06abc0dad1c1bae89964e4e253bc4b587b91c9637867b" +dependencies = [ + "cfg-if", + "dashmap", + "futures", + "futures-timer", + "no-std-compat", + "nonzero_ext", + "parking_lot 0.12.3", + "portable-atomic", + "quanta", + "rand 0.8.5", + "smallvec", + "spinning_top", +] + [[package]] name = "graphql-parser" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2ebc8013b4426d5b81a4364c419a95ed0b404af2b82e2457de52d9348f0e474" dependencies = [ - "combine", + "combine 3.8.1", "thiserror 1.0.63", ] @@ -5343,7 +5290,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.9.0", + "indexmap 2.12.0", "slab", "tokio", "tokio-util", @@ -5362,7 +5309,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.2.0", - "indexmap 2.9.0", + "indexmap 2.12.0", "slab", "tokio", "tokio-util", @@ -5379,12 +5326,12 @@ dependencies = [ ] [[package]] -name = "hashbrown" -version = "0.11.2" +name = "hash32" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" dependencies = [ - "ahash 0.7.8", + "byteorder", ] [[package]] @@ -5500,7 +5447,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f" dependencies = [ "atomic-polyfill", - "hash32", + "hash32 0.2.1", "rustc_version", "serde", "spin 0.9.8", @@ -5530,18 +5477,15 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" -version = "0.1.19" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[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 = "hex" @@ -5580,23 +5524,13 @@ dependencies = [ "hmac 0.12.1", ] -[[package]] -name = "hmac" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" -dependencies = [ - "crypto-mac 0.8.0", - "digest 0.9.0", -] - [[package]] name = "hmac" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" dependencies = [ - "crypto-mac 0.11.0", + "crypto-mac", "digest 0.9.0", ] @@ -5609,17 +5543,6 @@ dependencies = [ "digest 0.10.7", ] -[[package]] -name = "hmac-drbg" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" -dependencies = [ - "digest 0.9.0", - "generic-array 0.14.7", - "hmac 0.8.1", -] - [[package]] name = "home" version = "0.5.9" @@ -5799,7 +5722,7 @@ dependencies = [ "http 1.2.0", "hyper 1.6.0", "hyper-util", - "rustls 0.23.28", + "rustls 0.23.36", "rustls-pki-types", "tokio", "tokio-rustls 0.26.1", @@ -5863,21 +5786,28 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.10" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" +checksum = "3c6995591a8f1380fcb4ba966a252a4b29188d51d2b89e3a252f5305be65aea8" dependencies = [ + "base64 0.22.1", "bytes", "futures-channel", + "futures-core", "futures-util", "http 1.2.0", "http-body 1.0.1", "hyper 1.6.0", + "ipnet", + "libc", + "percent-encoding", "pin-project-lite", - "socket2 0.5.7", + "socket2 0.6.1", + "system-configuration 0.6.1", "tokio", "tower-service", "tracing", + "windows-registry", ] [[package]] @@ -5898,7 +5828,7 @@ dependencies = [ "hyperlane-metric", "hyperlane-operation-verifier", "hyperlane-warp-route", - "indexmap 2.9.0", + "indexmap 2.12.0", "num-traits", "rand_chacha 0.3.1", "reqwest 0.11.27", @@ -5946,7 +5876,7 @@ dependencies = [ "dashmap", "derive-new", "derive_builder", - "ed25519-dalek 1.0.1", + "ed25519-dalek", "ethers", "ethers-prometheus", "eyre", @@ -6005,7 +5935,7 @@ dependencies = [ "auto_impl 1.2.0", "bech32 0.11.0", "bigdecimal", - "borsh 0.9.3", + "borsh 1.6.0", "bs58 0.5.1", "bytes", "config", @@ -6023,13 +5953,13 @@ dependencies = [ "hyperlane-application", "itertools 0.14.0", "num 0.4.3", - "num-derive 0.4.2", + "num-derive", "num-traits", "primitive-types", "prometheus", "serde", "serde_json", - "sha3 0.10.8", + "sha3", "solana-sdk", "strum 0.26.3", "strum_macros 0.26.4", @@ -6072,7 +6002,7 @@ dependencies = [ "itertools 0.14.0", "once_cell", "pin-project", - "protobuf", + "protobuf 2.28.0", "ripemd", "serde", "serde_json", @@ -6119,7 +6049,7 @@ dependencies = [ "schemars", "serde", "sha2 0.10.8", - "sha3 0.10.8", + "sha3", "thiserror 1.0.63", ] @@ -6256,9 +6186,9 @@ dependencies = [ "async-trait", "base64 0.21.7", "bincode", - "borsh 0.9.3", + "borsh 1.6.0", "derive-new", - "ed25519-dalek 1.0.1", + "ed25519-dalek", "eyre", "hyperlane-core", "hyperlane-metric", @@ -6281,11 +6211,20 @@ dependencies = [ "serde_json", "serializable-account-meta", "solana-account-decoder", - "solana-address-lookup-table-program", + "solana-address-lookup-table-interface 3.0.1", "solana-client", - "solana-program", + "solana-commitment-config", + "solana-compute-budget-interface", + "solana-loader-v3-interface 3.0.0", + "solana-program 3.0.0", + "solana-pubsub-client", + "solana-rpc-client", "solana-sdk", + "solana-sdk-ids 3.1.0", + "solana-stake-interface 1.2.1", + "solana-system-interface 2.0.0", "solana-transaction-status", + "solana-vote-interface 3.0.0", "thiserror 1.0.63", "tokio", "tracing", @@ -6299,13 +6238,14 @@ version = "0.1.0" dependencies = [ "access-control", "account-utils", - "borsh 0.9.3", + "borsh 1.6.0", "getrandom 0.2.15", "hyperlane-core", - "num-derive 0.4.2", + "num-derive", "num-traits", "serializable-account-meta", - "solana-program", + "solana-program 3.0.0", + "solana-system-interface 2.0.0", "thiserror 1.0.63", ] @@ -6313,9 +6253,10 @@ dependencies = [ name = "hyperlane-sealevel-interchain-security-module-interface" version = "0.1.0" dependencies = [ - "borsh 0.9.3", - "solana-program", - "spl-type-length-value", + "borsh 1.6.0", + "solana-program 3.0.0", + "spl-discriminator 0.5.1", + "spl-type-length-value 0.6.0", ] [[package]] @@ -6325,16 +6266,17 @@ dependencies = [ "access-control", "account-utils", "blake3", - "borsh 0.9.3", + "borsh 1.6.0", "getrandom 0.2.15", "hyperlane-core", "hyperlane-sealevel-interchain-security-module-interface", "hyperlane-sealevel-message-recipient-interface", - "num-derive 0.4.2", + "num-derive", "num-traits", - "proc-macro-crate 1.2.1", + "proc-macro-crate 3.2.0", "serializable-account-meta", - "solana-program", + "solana-program 3.0.0", + "solana-system-interface 2.0.0", "spl-noop", "thiserror 1.0.63", ] @@ -6343,11 +6285,12 @@ dependencies = [ name = "hyperlane-sealevel-message-recipient-interface" version = "0.1.0" dependencies = [ - "borsh 0.9.3", + "borsh 1.6.0", "getrandom 0.2.15", "hyperlane-core", - "solana-program", - "spl-type-length-value", + "solana-program 3.0.0", + "spl-discriminator 0.5.1", + "spl-type-length-value 0.6.0", ] [[package]] @@ -6356,16 +6299,18 @@ version = "0.1.0" dependencies = [ "access-control", "account-utils", - "borsh 0.9.3", + "borsh 1.6.0", "ecdsa-signature", + "getrandom 0.2.15", "hyperlane-core", "hyperlane-sealevel-interchain-security-module-interface", "hyperlane-sealevel-mailbox", "multisig-ism", - "num-derive 0.4.2", + "num-derive", "num-traits", "serializable-account-meta", - "solana-program", + "solana-program 3.0.0", + "solana-system-interface 2.0.0", "thiserror 1.0.63", ] @@ -6374,12 +6319,14 @@ name = "hyperlane-sealevel-validator-announce" version = "0.1.0" dependencies = [ "account-utils", - "borsh 0.9.3", + "borsh 1.6.0", "ecdsa-signature", + "getrandom 0.2.15", "hyperlane-core", "hyperlane-sealevel-mailbox", "serializable-account-meta", - "solana-program", + "solana-program 3.0.0", + "solana-system-interface 2.0.0", "thiserror 1.0.63", ] @@ -6636,16 +6583,6 @@ dependencies = [ "unicode-normalization", ] -[[package]] -name = "idna" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - [[package]] name = "idna" version = "1.1.0" @@ -6667,22 +6604,6 @@ dependencies = [ "icu_properties", ] -[[package]] -name = "im" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0acd33ff0285af998aaf9b57342af478078f53492322fafc47450e09397e0e9" -dependencies = [ - "bitmaps", - "rand_core 0.6.4", - "rand_xoshiro", - "rayon", - "serde", - "sized-chunks", - "typenum", - "version_check", -] - [[package]] name = "impl-codec" version = "0.6.0" @@ -6771,7 +6692,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85d3946d886eaab0702fa0c6585adcced581513223fa9df7ccfabbd9fa331a88" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -6782,7 +6703,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] @@ -6806,26 +6727,28 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.9.0" +version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +checksum = "6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f" dependencies = [ "equivalent", - "hashbrown 0.15.2", + "hashbrown 0.16.0", "rayon", "serde", + "serde_core", ] [[package]] name = "indicatif" -version = "0.16.2" +version = "0.18.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d207dc617c7a380ab07ff572a6e52fa202a2a8f355860ac9c38e23f8196be1b" +checksum = "9375e112e4b463ec1b1c6c011953545c65a30164fbab5b581df32b3abf0dcb88" dependencies = [ "console", - "lazy_static", - "number_prefix", - "regex", + "portable-atomic", + "unicode-width 0.2.2", + "unit-prefix", + "web-time", ] [[package]] @@ -6844,7 +6767,7 @@ version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c38228f24186d9cc68c729accb4d413be9eaed6ad07ff79e0270d9e56f3de13" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -6858,7 +6781,7 @@ dependencies = [ "cosmwasm-std 1.5.7", "ethereum-types 0.5.2", "num 0.4.3", - "protobuf", + "protobuf 2.28.0", "protobuf-codegen-pure", "schemars", "serde", @@ -6889,7 +6812,7 @@ checksum = "6cfe3fc8519277af8e09e51b8987435e401d345d4466402e6a5b991143fdfa53" dependencies = [ "cosmwasm-std 2.1.3", "itertools 0.10.5", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] @@ -6927,6 +6850,16 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +[[package]] +name = "iri-string" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c91338f0783edbd6195decb37bae672fd3b165faffb89bf7b9e6942f8b1a731a" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "is_terminal_polyfill" version = "1.70.1" @@ -6966,6 +6899,28 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine 4.6.7", + "jni-sys", + "log", + "thiserror 1.0.63", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + [[package]] name = "jobserver" version = "0.1.33" @@ -7022,7 +6977,7 @@ dependencies = [ "ecdsa 0.14.8", "elliptic-curve 0.12.3", "sha2 0.10.8", - "sha3 0.10.8", + "sha3", ] [[package]] @@ -7057,7 +7012,7 @@ dependencies = [ "lambdaworks-math", "serde", "sha2 0.10.8", - "sha3 0.10.8", + "sha3", ] [[package]] @@ -7103,7 +7058,10 @@ dependencies = [ "serde", "serde_json", "solana-client", + "solana-commitment-config", + "solana-compute-budget-interface", "solana-sdk", + "solana-system-interface 2.0.0", "solana-transaction-status", "tempfile", "thiserror 1.0.63", @@ -7127,19 +7085,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.172" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" - -[[package]] -name = "libloading" -version = "0.7.4" +version = "0.2.180" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" -dependencies = [ - "cfg-if", - "winapi", -] +checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" [[package]] name = "libloading" @@ -7163,7 +7111,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", "libc", "redox_syscall 0.5.3", ] @@ -7192,14 +7140,12 @@ dependencies = [ "arrayref", "base64 0.12.3", "digest 0.9.0", - "hmac-drbg", "libsecp256k1-core", "libsecp256k1-gen-ecmult", "libsecp256k1-gen-genmult", "rand 0.7.3", "serde", "sha2 0.9.9", - "typenum", ] [[package]] @@ -7403,20 +7349,11 @@ version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" -[[package]] -name = "memmap2" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" -dependencies = [ - "libc", -] - [[package]] name = "memoffset" -version = "0.6.5" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" dependencies = [ "autocfg", ] @@ -7479,12 +7416,11 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.8.9" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" dependencies = [ "adler2", - "simd-adler32", ] [[package]] @@ -7527,7 +7463,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22ce75669015c4f47b289fd4d4f56e894e4c96003ffdf3ac51313126f94c6cbb" dependencies = [ "cfg-if", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] @@ -7578,11 +7514,11 @@ dependencies = [ name = "multisig-ism" version = "0.1.0" dependencies = [ - "borsh 0.9.3", + "borsh 1.6.0", "ecdsa-signature", "hyperlane-core", - "solana-program", - "spl-type-length-value", + "solana-program 3.0.0", + "spl-discriminator 0.5.1", "thiserror 1.0.63", ] @@ -7605,39 +7541,46 @@ dependencies = [ [[package]] name = "nix" -version = "0.24.3" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" dependencies = [ "bitflags 1.3.2", "cfg-if", "libc", - "memoffset", ] [[package]] name = "nix" -version = "0.26.4" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.10.0", "cfg-if", + "cfg_aliases", "libc", ] [[package]] name = "nix" -version = "0.29.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", "cfg-if", "cfg_aliases", "libc", + "memoffset", ] +[[package]] +name = "no-std-compat" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c" + [[package]] name = "nom" version = "7.1.3" @@ -7648,6 +7591,12 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "nonzero_ext" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21" + [[package]] name = "normalize-line-endings" version = "0.3.0" @@ -7757,24 +7706,13 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" -[[package]] -name = "num-derive" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" -dependencies = [ - "proc-macro2 1.0.93", - "quote 1.0.42", - "syn 1.0.109", -] - [[package]] name = "num-derive" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -7835,73 +7773,32 @@ 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", ] [[package]] name = "num_enum" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" -dependencies = [ - "num_enum_derive 0.5.11", -] - -[[package]] -name = "num_enum" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" -dependencies = [ - "num_enum_derive 0.6.1", -] - -[[package]] -name = "num_enum" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" -dependencies = [ - "num_enum_derive 0.7.3", -] - -[[package]] -name = "num_enum_derive" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" -dependencies = [ - "proc-macro-crate 1.2.1", - "proc-macro2 1.0.93", - "quote 1.0.42", - "syn 1.0.109", -] - -[[package]] -name = "num_enum_derive" -version = "0.6.1" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" +checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" dependencies = [ - "proc-macro-crate 1.2.1", - "proc-macro2 1.0.93", - "quote 1.0.42", - "syn 2.0.109", + "num_enum_derive", + "rustversion", ] [[package]] name = "num_enum_derive" -version = "0.7.3" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" +checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" dependencies = [ "proc-macro-crate 3.2.0", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -7915,12 +7812,6 @@ dependencies = [ "libc", ] -[[package]] -name = "number_prefix" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" - [[package]] name = "object" version = "0.32.2" @@ -7977,7 +7868,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" dependencies = [ "bytes", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] @@ -7988,7 +7879,7 @@ version = "0.10.66" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", "cfg-if", "foreign-types", "libc", @@ -8003,7 +7894,7 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -8045,12 +7936,6 @@ dependencies = [ "hashbrown 0.12.3", ] -[[package]] -name = "os_str_bytes" -version = "6.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" - [[package]] name = "ouroboros" version = "0.18.5" @@ -8069,7 +7954,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.93", + "proc-macro2", "proc-macro2-diagnostics", "quote 1.0.42", "syn 2.0.109", @@ -8137,7 +8022,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" dependencies = [ "proc-macro-crate 3.2.0", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] @@ -8213,7 +8098,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ae7800a4c974efd12df917266338e79a7a74415173caf7e70aa0a0707345281" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "regex", "regex-syntax 0.8.4", @@ -8244,15 +8129,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" -[[package]] -name = "pbkdf2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" -dependencies = [ - "crypto-mac 0.8.0", -] - [[package]] name = "pbkdf2" version = "0.11.0" @@ -8292,7 +8168,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bdad6a1d9cf116a059582ce415d5f5566aabcd4008646779dab7fdc2a9a9d426" dependencies = [ "peg-runtime", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", ] @@ -8364,7 +8240,7 @@ checksum = "3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183" dependencies = [ "pest", "pest_meta", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -8414,7 +8290,7 @@ version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6e859e6e5bd50440ab63c47e3ebabc90f26251f7c73c3d3e837b74a1cc3fa67" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -8442,17 +8318,6 @@ dependencies = [ "spki 0.7.3", ] -[[package]] -name = "pkcs8" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" -dependencies = [ - "der 0.5.1", - "spki 0.5.4", - "zeroize", -] - [[package]] name = "pkcs8" version = "0.9.0" @@ -8475,9 +8340,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.32" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "poly1305" @@ -8502,6 +8367,12 @@ dependencies = [ "universal-hash", ] +[[package]] +name = "portable-atomic" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" + [[package]] name = "portpicker" version = "0.1.1" @@ -8584,7 +8455,7 @@ version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "syn 2.0.109", ] @@ -8619,17 +8490,6 @@ dependencies = [ "toml 0.5.11", ] -[[package]] -name = "proc-macro-crate" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" -dependencies = [ - "once_cell", - "thiserror 1.0.63", - "toml 0.5.11", -] - [[package]] name = "proc-macro-crate" version = "3.2.0" @@ -8646,7 +8506,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", "version_check", @@ -8658,7 +8518,7 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "version_check", ] @@ -8669,7 +8529,7 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", ] @@ -8680,20 +8540,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" dependencies = [ "proc-macro-error-attr2", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] -[[package]] -name = "proc-macro2" -version = "0.4.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" -dependencies = [ - "unicode-xid 0.1.0", -] - [[package]] name = "proc-macro2" version = "1.0.93" @@ -8709,7 +8560,7 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", "version_check", @@ -8718,17 +8569,17 @@ dependencies = [ [[package]] name = "prometheus" -version = "0.13.4" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" +checksum = "3ca5326d8d0b950a9acd87e6a3f94745394f62e4dae1b1ee22b2bc0c394af43a" dependencies = [ "cfg-if", "fnv", "lazy_static", "memchr", "parking_lot 0.12.3", - "protobuf", - "thiserror 1.0.63", + "protobuf 3.7.2", + "thiserror 2.0.18", ] [[package]] @@ -8749,7 +8600,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -8782,7 +8633,7 @@ checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", "itertools 0.12.1", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -8795,7 +8646,7 @@ checksum = "157c5a9d7ea5c2ed2d9fb8f495b64759f7816c7eaea54ba3978f0d63000162e3" dependencies = [ "anyhow", "itertools 0.12.1", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -8827,13 +8678,24 @@ dependencies = [ "bytes", ] +[[package]] +name = "protobuf" +version = "3.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d65a1d4ddae7d8b5de68153b48f6aa3bba8cb002b243dbdbc55a5afbc98f99f4" +dependencies = [ + "once_cell", + "protobuf-support", + "thiserror 1.0.63", +] + [[package]] name = "protobuf-codegen" version = "2.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "033460afb75cf755fcfc16dfaed20b86468082a2ea24e05ac35ab4a099a017d6" dependencies = [ - "protobuf", + "protobuf 2.28.0", ] [[package]] @@ -8842,10 +8704,19 @@ version = "2.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95a29399fc94bcd3eeaa951c715f7bea69409b2445356b00519740bcd6ddd865" dependencies = [ - "protobuf", + "protobuf 2.28.0", "protobuf-codegen", ] +[[package]] +name = "protobuf-support" +version = "3.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e36c2f31e0a47f9280fb347ef5e461ffcd2c52dd520d8e216b52f93b0b0d7d6" +dependencies = [ + "thiserror 1.0.63", +] + [[package]] name = "psl-types" version = "2.0.11" @@ -8867,7 +8738,7 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] @@ -8906,25 +8777,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "quinn" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b435e71d9bfa0d8889927231970c51fb89c58fa63bffcab117c9c7a41e5ef8f" -dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "fxhash", - "quinn-proto 0.8.4", - "quinn-udp 0.1.4", - "rustls 0.20.9", - "thiserror 1.0.63", - "tokio", - "tracing", - "webpki", -] - [[package]] name = "quinn" version = "0.11.8" @@ -8934,37 +8786,17 @@ dependencies = [ "bytes", "cfg_aliases", "pin-project-lite", - "quinn-proto 0.11.12", - "quinn-udp 0.5.12", + "quinn-proto", + "quinn-udp", "rustc-hash 2.1.1", - "rustls 0.23.28", + "rustls 0.23.36", "socket2 0.5.7", - "thiserror 2.0.12", + "thiserror 2.0.18", "tokio", "tracing", "web-time", ] -[[package]] -name = "quinn-proto" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fce546b9688f767a57530652488420d419a8b1f44a478b451c3d1ab6d992a55" -dependencies = [ - "bytes", - "fxhash", - "rand 0.8.5", - "ring 0.16.20", - "rustls 0.20.9", - "rustls-native-certs 0.6.3", - "rustls-pemfile 0.2.1", - "slab", - "thiserror 1.0.63", - "tinyvec", - "tracing", - "webpki", -] - [[package]] name = "quinn-proto" version = "0.11.12" @@ -8972,34 +8804,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49df843a9161c85bb8aae55f101bc0bac8bcafd637a620d9122fd7e0b2f7422e" dependencies = [ "bytes", + "fastbloom", "getrandom 0.3.2", "lru-slab", "rand 0.9.1", "ring 0.17.8", "rustc-hash 2.1.1", - "rustls 0.23.28", + "rustls 0.23.36", "rustls-pki-types", + "rustls-platform-verifier", "slab", - "thiserror 2.0.12", + "thiserror 2.0.18", "tinyvec", "tracing", "web-time", ] -[[package]] -name = "quinn-udp" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b07946277141531aea269befd949ed16b2c85a780ba1043244eda0969e538e54" -dependencies = [ - "futures-util", - "libc", - "quinn-proto 0.8.4", - "socket2 0.4.10", - "tokio", - "tracing", -] - [[package]] name = "quinn-udp" version = "0.5.12" @@ -9020,22 +8840,13 @@ version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a" -[[package]] -name = "quote" -version = "0.6.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" -dependencies = [ - "proc-macro2 0.4.30", -] - [[package]] name = "quote" version = "1.0.42" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", ] [[package]] @@ -9076,7 +8887,7 @@ dependencies = [ "blake2", "blst", "bnum 0.11.0", - "ed25519-dalek 2.1.1", + "ed25519-dalek", "hex 0.4.3", "lazy_static", "num-bigint 0.4.6", @@ -9088,7 +8899,7 @@ dependencies = [ "sbor", "secp256k1 0.28.2", "serde", - "sha3 0.10.8", + "sha3", "strum 0.24.1", "zeroize", ] @@ -9099,7 +8910,7 @@ version = "1.3.0" source = "git+https://github.com/hyperlane-xyz/radixdlt-scrypto.git?branch=hyperlane#0ff82f3ba44cd848d178b5b3ec780ea43ea03bba" dependencies = [ "paste", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "radix-common", "syn 1.0.109", @@ -9131,7 +8942,7 @@ name = "radix-rust" version = "1.3.0" source = "git+https://github.com/hyperlane-xyz/radixdlt-scrypto.git?branch=hyperlane#0ff82f3ba44cd848d178b5b3ec780ea43ea03bba" dependencies = [ - "indexmap 2.9.0", + "indexmap 2.12.0", "serde", ] @@ -9140,7 +8951,7 @@ name = "radix-sbor-derive" version = "1.3.0" source = "git+https://github.com/hyperlane-xyz/radixdlt-scrypto.git?branch=hyperlane#0ff82f3ba44cd848d178b5b3ec780ea43ea03bba" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "sbor-derive-common", "syn 1.0.109", @@ -9313,22 +9124,13 @@ dependencies = [ "rand_core 0.6.4", ] -[[package]] -name = "rand_xoshiro" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" -dependencies = [ - "rand_core 0.6.4", -] - [[package]] name = "raw-cpuid" version = "11.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ab240315c661615f2ee9f0f2cd32d5a7343a84d5ebcccb99d46e6637565e7b0" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", ] [[package]] @@ -9351,18 +9153,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "rcgen" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" -dependencies = [ - "pem", - "ring 0.16.20", - "time", - "yasna", -] - [[package]] name = "redox_syscall" version = "0.2.16" @@ -9387,7 +9177,7 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", ] [[package]] @@ -9488,7 +9278,7 @@ dependencies = [ "lander", "maplit", "mockall", - "num-derive 0.4.2", + "num-derive", "num-traits", "once_cell", "prometheus", @@ -9497,7 +9287,7 @@ dependencies = [ "reqwest 0.11.27", "serde", "serde_json", - "sha3 0.10.8", + "sha3", "strum 0.26.3", "tempfile", "thiserror 1.0.63", @@ -9528,7 +9318,6 @@ version = "0.11.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" dependencies = [ - "async-compression", "base64 0.21.7", "bytes", "cookie 0.17.0", @@ -9562,7 +9351,6 @@ dependencies = [ "tokio", "tokio-native-tls", "tokio-rustls 0.24.1", - "tokio-util", "tower-service", "url", "wasm-bindgen", @@ -9574,13 +9362,14 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.15" +version = "0.12.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" dependencies = [ "base64 0.22.1", "bytes", "encoding_rs", + "futures-channel", "futures-core", "futures-util", "h2 0.4.7", @@ -9591,34 +9380,45 @@ dependencies = [ "hyper-rustls 0.27.6", "hyper-tls 0.6.0", "hyper-util", - "ipnet", "js-sys", "log", "mime", "native-tls", - "once_cell", "percent-encoding", "pin-project-lite", - "quinn 0.11.8", - "rustls 0.23.28", - "rustls-pemfile 2.2.0", + "quinn", + "rustls 0.23.36", "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper 1.0.2", - "system-configuration 0.6.1", "tokio", "tokio-native-tls", "tokio-rustls 0.26.1", "tower 0.5.2", + "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots 0.26.11", - "windows-registry", + "webpki-roots 1.0.0", +] + +[[package]] +name = "reqwest-middleware" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57f17d28a6e6acfe1733fe24bcd30774d13bffa4b8a22535b4c8c98423088d4e" +dependencies = [ + "anyhow", + "async-trait", + "http 1.2.0", + "reqwest 0.12.28", + "serde", + "thiserror 1.0.63", + "tower-service", ] [[package]] @@ -9714,7 +9514,7 @@ version = "0.7.45" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "503d1d27590a2b0a3a4ca4c94755aa2875657196ecbf401a42eff41d7de532c0" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] @@ -9743,7 +9543,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] @@ -9769,25 +9569,13 @@ dependencies = [ "serde", ] -[[package]] -name = "rpassword" -version = "6.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bf099a1888612545b683d2661a1940089f6c2e5a8e38979b2159da876bfd956" -dependencies = [ - "libc", - "serde", - "serde_json", - "winapi", -] - [[package]] name = "rsa" version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b" dependencies = [ - "const-oid 0.9.6", + "const-oid", "digest 0.10.7", "num-bigint-dig", "num-integer", @@ -9822,7 +9610,7 @@ dependencies = [ "cfg-if", "glob", "proc-macro-crate 3.2.0", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "regex", "relative-path", @@ -9994,7 +9782,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b082d80e3e3cc52b2ed634388d436fe1f4de6af5786cc2de9ba9737527bdf555" dependencies = [ "arrayvec", - "borsh 1.5.1", + "borsh 1.6.0", "bytes", "num-traits", "rand 0.8.5", @@ -10051,7 +9839,7 @@ version = "0.38.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a85d50532239da68e9addb745ba38ff4612a242c1c7ceea689c4bc7c2f43c36f" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", "errno", "libc", "linux-raw-sys 0.4.14", @@ -10064,7 +9852,7 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", "errno", "libc", "linux-raw-sys 0.11.0", @@ -10097,15 +9885,15 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.28" +version = "0.23.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7160e3e10bf4535308537f3c4e1641468cd0e485175d6163087c0393c7d46643" +checksum = "c665f33d38cea657d9614f766881e4d510e0eda4239891eea56b4cadcf01801b" dependencies = [ "log", "once_cell", "ring 0.17.8", "rustls-pki-types", - "rustls-webpki 0.103.3", + "rustls-webpki 0.103.9", "subtle", "zeroize", ] @@ -10134,15 +9922,6 @@ dependencies = [ "security-framework 3.2.0", ] -[[package]] -name = "rustls-pemfile" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eebeaeb360c87bfb72e84abdb3447159c0eaececf1bef2aecd65a8be949d1c9" -dependencies = [ - "base64 0.13.1", -] - [[package]] name = "rustls-pemfile" version = "1.0.4" @@ -10163,13 +9942,41 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.11.0" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" +checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" dependencies = [ "web-time", + "zeroize", +] + +[[package]] +name = "rustls-platform-verifier" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19787cda76408ec5404443dc8b31795c87cd8fec49762dc75fa727740d34acc1" +dependencies = [ + "core-foundation 0.10.0", + "core-foundation-sys", + "jni", + "log", + "once_cell", + "rustls 0.23.36", + "rustls-native-certs 0.8.1", + "rustls-platform-verifier-android", + "rustls-webpki 0.103.9", + "security-framework 3.2.0", + "security-framework-sys", + "webpki-root-certs 0.26.11", + "windows-sys 0.59.0", ] +[[package]] +name = "rustls-platform-verifier-android" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" + [[package]] name = "rustls-webpki" version = "0.101.7" @@ -10182,9 +9989,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.103.3" +version = "0.103.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" +checksum = "d7df23109aa6c1567d1c575b9952556388da57401e4ace1d15f79eedad0d8f53" dependencies = [ "ring 0.17.8", "rustls-pki-types", @@ -10203,6 +10010,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 = "salsa20" version = "0.10.2" @@ -10240,7 +10056,7 @@ name = "sbor-derive" version = "1.3.0" source = "git+https://github.com/hyperlane-xyz/radixdlt-scrypto.git?branch=hyperlane#0ff82f3ba44cd848d178b5b3ec780ea43ea03bba" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "sbor-derive-common", "syn 1.0.109", ] @@ -10251,9 +10067,9 @@ version = "1.3.0" source = "git+https://github.com/hyperlane-xyz/radixdlt-scrypto.git?branch=hyperlane#0ff82f3ba44cd848d178b5b3ec780ea43ea03bba" dependencies = [ "const-sha1", - "indexmap 2.9.0", + "indexmap 2.12.0", "itertools 0.10.5", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] @@ -10277,7 +10093,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" dependencies = [ "proc-macro-crate 3.2.0", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] @@ -10308,7 +10124,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e953db32579999ca98c451d80801b6f6a7ecba6127196c5387ec0774c528befa" dependencies = [ "Inflector", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "schemafy_core", "serde", @@ -10335,7 +10151,7 @@ version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "serde_derive_internals", "syn 2.0.109", @@ -10427,7 +10243,7 @@ name = "scrypto-derive" version = "1.3.0" source = "git+https://github.com/hyperlane-xyz/radixdlt-scrypto.git?branch=hyperlane#0ff82f3ba44cd848d178b5b3ec780ea43ea03bba" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "radix-blueprint-schema-init", "radix-common", @@ -10456,7 +10272,7 @@ checksum = "f694a6ab48f14bc063cfadff30ab551d3c7e46d8f81836c51989d548f44a2a25" dependencies = [ "heck 0.4.1", "proc-macro-error2", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -10483,7 +10299,7 @@ dependencies = [ "serde_json", "sqlx", "strum 0.26.3", - "thiserror 2.0.12", + "thiserror 2.0.18", "time", "tracing", "url", @@ -10497,7 +10313,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f3d39b35e43a05998228f6c4abaa50b7fcaf001dea94fbdc04188a8be82a016" dependencies = [ "chrono", - "clap 4.5.20", + "clap", "dotenvy", "glob", "regex", @@ -10514,7 +10330,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6b86e3e77b548e6c6c1f612a1ca024d557dffdb81b838bf482ad3222140c77b" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "sea-bae", "syn 2.0.109", @@ -10528,7 +10344,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ae8b2af58a56c8f850e8d8a18a462255eb36a571f085f3405f6b83d9cf23e0f" dependencies = [ "async-trait", - "clap 4.5.20", + "clap", "dotenvy", "sea-orm", "sea-orm-cli", @@ -10578,10 +10394,10 @@ checksum = "bae0cbad6ab996955664982739354128c58d16e126114fe88c2a493642502aab" dependencies = [ "darling 0.20.10", "heck 0.4.1", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", - "thiserror 2.0.12", + "thiserror 2.0.18", ] [[package]] @@ -10602,7 +10418,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "debdc8729c37fdbf88472f97fd470393089f997a909e535ff67c544d18cfccf0" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -10693,7 +10509,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", "core-foundation 0.9.4", "core-foundation-sys", "libc", @@ -10706,7 +10522,7 @@ version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", "core-foundation 0.10.0", "core-foundation-sys", "libc", @@ -10725,11 +10541,12 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" dependencies = [ "serde", + "serde_core", ] [[package]] @@ -10746,10 +10563,11 @@ checksum = "1bc711410fbe7399f390ca1c3b60ad0f53f80e95c5eb935e52268a0e2cd49acc" [[package]] name = "serde" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ + "serde_core", "serde_derive", ] @@ -10763,6 +10581,15 @@ dependencies = [ "serde_json", ] +[[package]] +name = "serde-big-array" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11fc7cc2c76d73e0f27ee52abbd64eec84d46f370c88371120433196934e4b7f" +dependencies = [ + "serde", +] + [[package]] name = "serde-cw-value" version = "0.7.0" @@ -10799,13 +10626,22 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + [[package]] name = "serde_derive" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -10816,22 +10652,23 @@ version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] [[package]] name = "serde_json" -version = "1.0.127" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8043c06d9f82bd7271361ed64f415fe5e12a77fdb52e573e7f06a516dea329ad" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ - "indexmap 2.9.0", + "indexmap 2.12.0", "itoa", "memchr", - "ryu", "serde", + "serde_core", + "zmij", ] [[package]] @@ -10861,7 +10698,7 @@ version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -10897,7 +10734,7 @@ dependencies = [ "chrono", "hex 0.4.3", "indexmap 1.9.3", - "indexmap 2.9.0", + "indexmap 2.12.0", "serde", "serde_derive", "serde_json", @@ -10912,29 +10749,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" dependencies = [ "darling 0.20.10", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] -[[package]] -name = "serde_yaml" -version = "0.8.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" -dependencies = [ - "indexmap 1.9.3", - "ryu", - "serde", - "yaml-rust", -] - [[package]] name = "serializable-account-meta" version = "0.1.0" dependencies = [ - "borsh 0.9.3", - "solana-program", + "borsh 1.6.0", + "solana-program 3.0.0", ] [[package]] @@ -11008,18 +10833,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "sha3" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" -dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", - "keccak", - "opaque-debug 0.3.1", -] - [[package]] name = "sha3" version = "0.10.8" @@ -11039,12 +10852,6 @@ dependencies = [ "lazy_static", ] -[[package]] -name = "shell-words" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" - [[package]] name = "shlex" version = "1.3.0" @@ -11080,12 +10887,6 @@ dependencies = [ "rand_core 0.6.4", ] -[[package]] -name = "simd-adler32" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" - [[package]] name = "simdutf8" version = "0.1.4" @@ -11093,20 +10894,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" [[package]] -name = "size-of" -version = "0.1.5" +name = "siphasher" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4e36eca171fddeda53901b0a436573b3f2391eaa9189d439b2bd8ea8cebd7e3" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] -name = "sized-chunks" -version = "0.6.5" +name = "siphasher" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" -dependencies = [ - "bitmaps", - "typenum", -] +checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" + +[[package]] +name = "size-of" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4e36eca171fddeda53901b0a436573b3f2391eaa9189d439b2bd8ea8cebd7e3" [[package]] name = "slab" @@ -11152,7 +10955,7 @@ dependencies = [ "snarkvm-parameters", "snarkvm-synthesizer", "snarkvm-utilities", - "ureq 3.2.0", + "ureq 3.1.2", "walkdir", ] @@ -11169,7 +10972,7 @@ dependencies = [ "fxhash", "hashbrown 0.15.2", "hex 0.4.3", - "indexmap 2.9.0", + "indexmap 2.12.0", "itertools 0.14.0", "num-traits", "rand 0.8.5", @@ -11181,7 +10984,7 @@ dependencies = [ "snarkvm-fields", "snarkvm-parameters", "snarkvm-utilities", - "thiserror 2.0.12", + "thiserror 2.0.18", ] [[package]] @@ -11238,7 +11041,7 @@ version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8604e360ae3af16bdb7d24755260d93c76461b8701dfe1541db1622fa8b106b3" dependencies = [ - "indexmap 2.9.0", + "indexmap 2.12.0", "itertools 0.14.0", "nom", "num-traits", @@ -11448,7 +11251,7 @@ checksum = "54edb16375212ce535092cfff04182886929712a6d5530ed4ab586ae00092fa1" dependencies = [ "anyhow", "enum-iterator 2.3.0", - "indexmap 2.9.0", + "indexmap 2.12.0", "lazy_static", "paste", "serde", @@ -11489,8 +11292,8 @@ dependencies = [ "enum-iterator 2.3.0", "enum_index", "enum_index_derive", - "indexmap 2.9.0", - "num-derive 0.4.2", + "indexmap 2.12.0", + "num-derive", "num-traits", "seq-macro", "serde_json", @@ -11610,7 +11413,7 @@ dependencies = [ "serde", "snarkvm-fields", "snarkvm-utilities", - "thiserror 2.0.12", + "thiserror 2.0.18", ] [[package]] @@ -11627,7 +11430,7 @@ dependencies = [ "rayon", "serde", "snarkvm-utilities", - "thiserror 2.0.12", + "thiserror 2.0.18", "zeroize", ] @@ -11639,7 +11442,7 @@ checksum = "75f69d17a1ec56794a9ff46d5be69b68bca86cbb1ec43009a32df6c0bd8f86c7" dependencies = [ "aleo-std", "anyhow", - "indexmap 2.9.0", + "indexmap 2.12.0", "lru 0.16.2", "parking_lot 0.12.3", "rand 0.8.5", @@ -11677,7 +11480,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "386dc4871c03423e02bf210719a248fdfaca0682d48f5fc97b6d3bd92544a0f3" dependencies = [ "anyhow", - "indexmap 2.9.0", + "indexmap 2.12.0", "rayon", "serde_json", "snarkvm-console", @@ -11699,7 +11502,7 @@ version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33028e2cc8325895d30461b7bea220cd7eb824dfcf2587e0d44b638de90d9135" dependencies = [ - "indexmap 2.9.0", + "indexmap 2.12.0", "rayon", "serde_json", "snarkvm-console", @@ -11726,7 +11529,7 @@ version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67d3d400a147baa29db3a84ad85341efebb12283c3605c164affef165e182d93" dependencies = [ - "indexmap 2.9.0", + "indexmap 2.12.0", "rayon", "serde_json", "snarkvm-console", @@ -11740,7 +11543,7 @@ version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "58769eb72fe63f91acf711f4c76693a5fca72064295726f59fcb070c192f06bf" dependencies = [ - "indexmap 2.9.0", + "indexmap 2.12.0", "rayon", "serde_json", "snarkvm-console", @@ -11765,7 +11568,7 @@ version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7653bd1c28cfe27718a87e8f6712e3fbd84e2f7f74c055ca2d3501f78b762afa" dependencies = [ - "indexmap 2.9.0", + "indexmap 2.12.0", "rayon", "serde_json", "snarkvm-console", @@ -11808,7 +11611,7 @@ dependencies = [ "aleo-std", "anyhow", "bincode", - "indexmap 2.9.0", + "indexmap 2.12.0", "lru 0.16.2", "parking_lot 0.12.3", "rand 0.8.5", @@ -11828,7 +11631,7 @@ dependencies = [ "aleo-std", "anyhow", "colored", - "indexmap 2.9.0", + "indexmap 2.12.0", "lru 0.16.2", "parking_lot 0.12.3", "rand 0.8.5", @@ -11850,14 +11653,14 @@ checksum = "3d498ad741971e12b904a6f8352cf574a63df52bde4e1b4e947a7bde9e735d92" dependencies = [ "anyhow", "async-trait", - "reqwest 0.12.15", + "reqwest 0.12.28", "serde", "serde_json", "snarkvm-console", "snarkvm-ledger-block", "snarkvm-ledger-store", "snarkvm-synthesizer-program", - "ureq 3.2.0", + "ureq 3.1.2", ] [[package]] @@ -11869,7 +11672,7 @@ dependencies = [ "aleo-std-storage", "anyhow", "bincode", - "indexmap 2.9.0", + "indexmap 2.12.0", "parking_lot 0.12.3", "rayon", "serde", @@ -11905,7 +11708,7 @@ dependencies = [ "sha2 0.10.8", "snarkvm-curves", "snarkvm-utilities", - "thiserror 2.0.12", + "thiserror 2.0.18", ] [[package]] @@ -11916,7 +11719,7 @@ checksum = "6181e0c1cbfc89bae764cd5f627a0663ca0e321f153f32233e63cc21a2defee1" dependencies = [ "aleo-std", "anyhow", - "indexmap 2.9.0", + "indexmap 2.12.0", "itertools 0.14.0", "lru 0.16.2", "parking_lot 0.12.3", @@ -11948,7 +11751,7 @@ checksum = "5c8ba692ccaa27582ca0499e84d9162837b22c5a1bb98588e2c55006fbda0631" dependencies = [ "aleo-std", "colored", - "indexmap 2.9.0", + "indexmap 2.12.0", "parking_lot 0.12.3", "rand 0.8.5", "rand_chacha 0.3.1", @@ -11972,7 +11775,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4700d448ce9c5591b5d7de628e9a8c450096cc09796c08e2e10254e1def6123d" dependencies = [ "enum-iterator 2.3.0", - "indexmap 2.9.0", + "indexmap 2.12.0", "paste", "rand 0.8.5", "rand_chacha 0.3.1", @@ -12017,7 +11820,7 @@ dependencies = [ "serde_json", "smol_str", "snarkvm-utilities-derives", - "thiserror 2.0.12", + "thiserror 2.0.18", "tracing", "zeroize", ] @@ -12028,21 +11831,11 @@ version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7d2b40fbea924467662de1deeb3ca6e4c1b7c0d49bb3eccebb6d982e5d39535" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] -[[package]] -name = "socket2" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" -dependencies = [ - "libc", - "winapi", -] - [[package]] name = "socket2" version = "0.5.7" @@ -12077,574 +11870,2680 @@ dependencies = [ ] [[package]] -name = "solana-account-decoder" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-account" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f949fe4edaeaea78c844023bfc1c898e0b1f5a100f8a8d2d0f85d0a7b090258" +dependencies = [ + "solana-account-info 2.3.0", + "solana-clock 2.2.2", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", +] + +[[package]] +name = "solana-account" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efc0ed36decb689413b9da5d57f2be49eea5bebb3cf7897015167b0c4336e731" +dependencies = [ + "bincode", + "serde", + "serde_bytes", + "serde_derive", + "solana-account-info 3.1.0", + "solana-clock 3.0.0", + "solana-instruction-error", + "solana-pubkey 4.0.0", + "solana-sdk-ids 3.1.0", + "solana-sysvar 3.1.1", +] + +[[package]] +name = "solana-account-decoder" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38beb03a0f14d6456d70bcace8c8ae5e0ad4812240f8979bc5397d343c286c78" +dependencies = [ + "Inflector", + "base64 0.22.1", + "bincode", + "bs58 0.5.1", + "bv", + "serde", + "serde_derive", + "serde_json", + "solana-account 3.4.0", + "solana-account-decoder-client-types", + "solana-address-lookup-table-interface 3.0.1", + "solana-clock 3.0.0", + "solana-config-interface", + "solana-epoch-schedule 3.0.0", + "solana-fee-calculator 3.0.0", + "solana-instruction 3.1.0", + "solana-loader-v3-interface 6.1.0", + "solana-nonce 3.0.0", + "solana-program-option 3.0.0", + "solana-program-pack 3.0.0", + "solana-pubkey 3.0.0", + "solana-rent 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-slot-hashes 3.0.0", + "solana-slot-history 3.0.0", + "solana-stake-interface 2.0.2", + "solana-sysvar 3.1.1", + "solana-vote-interface 3.0.0", + "spl-generic-token", + "spl-token-2022-interface", + "spl-token-group-interface", + "spl-token-interface", + "spl-token-metadata-interface", + "thiserror 2.0.18", + "zstd", +] + +[[package]] +name = "solana-account-decoder-client-types" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46fd55df200ac8f0292fbe2196fc11cbad9e48567b81d1e18b6f6a79513d4a4f" +dependencies = [ + "base64 0.22.1", + "bs58 0.5.1", + "serde", + "serde_derive", + "serde_json", + "solana-account 3.4.0", + "solana-pubkey 3.0.0", + "zstd", +] + +[[package]] +name = "solana-account-info" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8f5152a288ef1912300fc6efa6c2d1f9bb55d9398eb6c72326360b8063987da" +dependencies = [ + "bincode", + "serde", + "solana-program-error 2.2.2", + "solana-program-memory 2.3.1", + "solana-pubkey 2.4.0", +] + +[[package]] +name = "solana-account-info" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc3397241392f5756925029acaa8515dc70fcbe3d8059d4885d7d6533baf64fd" +dependencies = [ + "bincode", + "serde_core", + "solana-address 2.0.0", + "solana-program-error 3.0.0", + "solana-program-memory 3.1.0", +] + +[[package]] +name = "solana-address" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2ecac8e1b7f74c2baa9e774c42817e3e75b20787134b76cc4d45e8a604488f5" +dependencies = [ + "solana-address 2.0.0", +] + +[[package]] +name = "solana-address" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e37320fd2945c5d654b2c6210624a52d66c3f1f73b653ed211ab91a703b35bdd" +dependencies = [ + "borsh 1.6.0", + "bytemuck", + "bytemuck_derive", + "curve25519-dalek 4.1.3", + "five8 1.0.0", + "five8_const 1.0.0", + "rand 0.8.5", + "serde", + "serde_derive", + "solana-atomic-u64 3.0.0", + "solana-define-syscall 4.0.1", + "solana-program-error 3.0.0", + "solana-sanitize 3.0.1", + "solana-sha256-hasher 3.1.0", +] + +[[package]] +name = "solana-address-lookup-table-interface" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1673f67efe870b64a65cb39e6194be5b26527691ce5922909939961a6e6b395" +dependencies = [ + "bincode", + "bytemuck", + "serde", + "serde_derive", + "solana-clock 2.2.2", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", + "solana-slot-hashes 2.2.1", +] + +[[package]] +name = "solana-address-lookup-table-interface" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e8df0b083c10ce32490410f3795016b1b5d9b4d094658c0a5e496753645b7cd" +dependencies = [ + "bincode", + "bytemuck", + "serde", + "serde_derive", + "solana-clock 3.0.0", + "solana-instruction 3.1.0", + "solana-instruction-error", + "solana-pubkey 4.0.0", + "solana-sdk-ids 3.1.0", + "solana-slot-hashes 3.0.0", +] + +[[package]] +name = "solana-atomic-u64" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52e52720efe60465b052b9e7445a01c17550666beec855cce66f44766697bc2" +dependencies = [ + "parking_lot 0.12.3", +] + +[[package]] +name = "solana-atomic-u64" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a933ff1e50aff72d02173cfcd7511bd8540b027ee720b75f353f594f834216d0" +dependencies = [ + "parking_lot 0.12.3", +] + +[[package]] +name = "solana-big-mod-exp" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75db7f2bbac3e62cfd139065d15bcda9e2428883ba61fc8d27ccb251081e7567" +dependencies = [ + "num-bigint 0.4.6", + "num-traits", + "solana-define-syscall 2.3.0", +] + +[[package]] +name = "solana-big-mod-exp" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30c80fb6d791b3925d5ec4bf23a7c169ef5090c013059ec3ed7d0b2c04efa085" +dependencies = [ + "num-bigint 0.4.6", + "num-traits", + "solana-define-syscall 3.0.0", +] + +[[package]] +name = "solana-bincode" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19a3787b8cf9c9fe3dd360800e8b70982b9e5a8af9e11c354b6665dd4a003adc" +dependencies = [ + "bincode", + "serde", + "solana-instruction 2.3.3", +] + +[[package]] +name = "solana-blake3-hasher" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a0801e25a1b31a14494fc80882a036be0ffd290efc4c2d640bfcca120a4672" +dependencies = [ + "blake3", + "solana-define-syscall 2.3.0", + "solana-hash 2.3.0", + "solana-sanitize 2.2.1", +] + +[[package]] +name = "solana-blake3-hasher" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7116e1d942a2432ca3f514625104757ab8a56233787e95144c93950029e31176" +dependencies = [ + "blake3", + "solana-define-syscall 4.0.1", + "solana-hash 4.0.1", +] + +[[package]] +name = "solana-borsh" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "718333bcd0a1a7aed6655aa66bef8d7fb047944922b2d3a18f49cbc13e73d004" +dependencies = [ + "borsh 0.10.4", + "borsh 1.6.0", +] + +[[package]] +name = "solana-borsh" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc402b16657abbfa9991cd5cbfac5a11d809f7e7d28d3bb291baeb088b39060e" +dependencies = [ + "borsh 1.6.0", +] + +[[package]] +name = "solana-client" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99541c3b3571d6675a9bfc032c776712b3f4da0d5e7f4a5019e044885f716137" +dependencies = [ + "async-trait", + "bincode", + "dashmap", + "futures", + "futures-util", + "indexmap 2.12.0", + "indicatif", + "log", + "quinn", + "rayon", + "solana-account 3.4.0", + "solana-client-traits", + "solana-commitment-config", + "solana-connection-cache", + "solana-epoch-info", + "solana-hash 3.1.0", + "solana-instruction 3.1.0", + "solana-keypair", + "solana-measure", + "solana-message 3.0.1", + "solana-pubkey 3.0.0", + "solana-pubsub-client", + "solana-quic-client", + "solana-quic-definitions", + "solana-rpc-client", + "solana-rpc-client-api", + "solana-rpc-client-nonce-utils", + "solana-signature 3.1.0", + "solana-signer 3.0.0", + "solana-streamer", + "solana-time-utils", + "solana-tpu-client", + "solana-transaction", + "solana-transaction-error 3.0.0", + "solana-transaction-status-client-types", + "solana-udp-client", + "thiserror 2.0.18", + "tokio", +] + +[[package]] +name = "solana-client-traits" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08618ed587e128105510c54ae3e456b9a06d674d8640db75afe66dad65cb4e02" +dependencies = [ + "solana-account 3.4.0", + "solana-commitment-config", + "solana-epoch-info", + "solana-hash 3.1.0", + "solana-instruction 3.1.0", + "solana-keypair", + "solana-message 3.0.1", + "solana-pubkey 3.0.0", + "solana-signature 3.1.0", + "solana-signer 3.0.0", + "solana-system-interface 2.0.0", + "solana-transaction", + "solana-transaction-error 3.0.0", +] + +[[package]] +name = "solana-clock" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bb482ab70fced82ad3d7d3d87be33d466a3498eb8aa856434ff3c0dfc2e2e31" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-clock" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb62e9381182459a4520b5fe7fb22d423cae736239a6427fc398a88743d0ed59" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.0", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-cluster-type" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb7692fa6bf10a1a86b450c4775526f56d7e0e2116a53313f2533b5694abea64" +dependencies = [ + "solana-hash 3.1.0", +] + +[[package]] +name = "solana-commitment-config" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e41a3917076a8b5375809078ae3a6fb76a53e364b596ef8c4265e7f410876f3" +dependencies = [ + "serde", + "serde_derive", +] + +[[package]] +name = "solana-compute-budget-interface" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8292c436b269ad23cecc8b24f7da3ab07ca111661e25e00ce0e1d22771951ab9" +dependencies = [ + "borsh 1.6.0", + "solana-instruction 3.1.0", + "solana-sdk-ids 3.1.0", +] + +[[package]] +name = "solana-config-interface" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63e401ae56aed512821cc7a0adaa412ff97fecd2dff4602be7b1330d2daec0c4" +dependencies = [ + "bincode", + "serde", + "serde_derive", + "solana-account 3.4.0", + "solana-instruction 3.1.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-short-vec 3.2.0", + "solana-system-interface 2.0.0", +] + +[[package]] +name = "solana-connection-cache" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec08ad33264b1159feea22346deae240d3b38b103346ecf3bfc008a02509afe0" +dependencies = [ + "async-trait", + "bincode", + "crossbeam-channel", + "futures-util", + "indexmap 2.12.0", + "log", + "rand 0.8.5", + "rayon", + "solana-keypair", + "solana-measure", + "solana-metrics", + "solana-time-utils", + "solana-transaction-error 3.0.0", + "thiserror 2.0.18", + "tokio", +] + +[[package]] +name = "solana-cpi" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dc71126edddc2ba014622fc32d0f5e2e78ec6c5a1e0eb511b85618c09e9ea11" +dependencies = [ + "solana-account-info 2.3.0", + "solana-define-syscall 2.3.0", + "solana-instruction 2.3.3", + "solana-program-error 2.2.2", + "solana-pubkey 2.4.0", + "solana-stable-layout 2.2.1", +] + +[[package]] +name = "solana-cpi" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dea26709d867aada85d0d3617db0944215c8bb28d3745b912de7db13a23280c" +dependencies = [ + "solana-account-info 3.1.0", + "solana-define-syscall 4.0.1", + "solana-instruction 3.1.0", + "solana-program-error 3.0.0", + "solana-pubkey 4.0.0", + "solana-stable-layout 3.0.0", +] + +[[package]] +name = "solana-curve25519" +version = "3.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "737ede9143c36b8628cc11d920cdb762cd1ccbd7ca904c3bd63b39c58669fe38" +dependencies = [ + "bytemuck", + "bytemuck_derive", + "curve25519-dalek 4.1.3", + "solana-define-syscall 3.0.0", + "subtle", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-decode-error" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c781686a18db2f942e70913f7ca15dc120ec38dcab42ff7557db2c70c625a35" +dependencies = [ + "num-traits", +] + +[[package]] +name = "solana-define-syscall" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ae3e2abcf541c8122eafe9a625d4d194b4023c20adde1e251f94e056bb1aee2" + +[[package]] +name = "solana-define-syscall" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9697086a4e102d28a156b8d6b521730335d6951bd39a5e766512bbe09007cee" + +[[package]] +name = "solana-define-syscall" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57e5b1c0bc1d4a4d10c88a4100499d954c09d3fecfae4912c1a074dff68b1738" + +[[package]] +name = "solana-derivation-path" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "939756d798b25c5ec3cca10e06212bdca3b1443cb9bb740a38124f58b258737b" +dependencies = [ + "derivation-path", + "qstring", + "uriparse", +] + +[[package]] +name = "solana-derivation-path" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff71743072690fdbdfcdc37700ae1cb77485aaad49019473a81aee099b1e0b8c" +dependencies = [ + "derivation-path", + "qstring", + "uriparse", +] + +[[package]] +name = "solana-epoch-info" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e093c84f6ece620a6b10cd036574b0cd51944231ab32d81f80f76d54aba833e6" +dependencies = [ + "serde", + "serde_derive", +] + +[[package]] +name = "solana-epoch-rewards" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b575d3dd323b9ea10bb6fe89bf6bf93e249b215ba8ed7f68f1a3633f384db7" +dependencies = [ + "serde", + "serde_derive", + "solana-hash 2.3.0", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-epoch-rewards" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b319a4ed70390af911090c020571f0ff1f4ec432522d05ab89f5c08080381995" +dependencies = [ + "serde", + "serde_derive", + "solana-hash 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.0", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-epoch-rewards-hasher" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ee8beac9bff4db9225e57d532d169b0be5e447f1e6601a2f50f27a01bf5518f" +dependencies = [ + "siphasher 0.3.11", + "solana-address 2.0.0", + "solana-hash 4.0.1", +] + +[[package]] +name = "solana-epoch-schedule" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fce071fbddecc55d727b1d7ed16a629afe4f6e4c217bc8d00af3b785f6f67ed" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-epoch-schedule" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e5481e72cc4d52c169db73e4c0cd16de8bc943078aac587ec4817a75cc6388f" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.0", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-epoch-stake" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc6693d0ea833b880514b9b88d95afb80b42762dca98b0712465d1fcbbcb89e" +dependencies = [ + "solana-define-syscall 3.0.0", + "solana-pubkey 3.0.0", +] + +[[package]] +name = "solana-example-mocks" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84461d56cbb8bb8d539347151e0525b53910102e4bced875d49d5139708e39d3" +dependencies = [ + "serde", + "serde_derive", + "solana-address-lookup-table-interface 2.2.2", + "solana-clock 2.2.2", + "solana-hash 2.3.0", + "solana-instruction 2.3.3", + "solana-keccak-hasher 2.2.1", + "solana-message 2.4.0", + "solana-nonce 2.2.1", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-example-mocks" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978855d164845c1b0235d4b4d101cadc55373fffaf0b5b6cfa2194d25b2ed658" +dependencies = [ + "serde", + "serde_derive", + "solana-address-lookup-table-interface 3.0.1", + "solana-clock 3.0.0", + "solana-hash 3.1.0", + "solana-instruction 3.1.0", + "solana-keccak-hasher 3.1.0", + "solana-message 3.0.1", + "solana-nonce 3.0.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-system-interface 2.0.0", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-feature-gate-interface" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43f5c5382b449e8e4e3016fb05e418c53d57782d8b5c30aa372fc265654b956d" +dependencies = [ + "bincode", + "serde", + "serde_derive", + "solana-account 2.2.1", + "solana-account-info 2.3.0", + "solana-instruction 2.3.3", + "solana-program-error 2.2.2", + "solana-pubkey 2.4.0", + "solana-rent 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", +] + +[[package]] +name = "solana-feature-gate-interface" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75ca9b5cbb6f500f7fd73db5bd95640f71a83f04d6121a0e59a43b202dca2731" +dependencies = [ + "serde", + "serde_derive", + "solana-program-error 3.0.0", + "solana-pubkey 4.0.0", + "solana-sdk-ids 3.1.0", +] + +[[package]] +name = "solana-fee-calculator" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89bc408da0fb3812bc3008189d148b4d3e08252c79ad810b245482a3f70cd8d" +dependencies = [ + "log", + "serde", + "serde_derive", +] + +[[package]] +name = "solana-fee-calculator" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a73cc03ca4bed871ca174558108835f8323e85917bb38b9c81c7af2ab853efe" +dependencies = [ + "log", + "serde", + "serde_derive", +] + +[[package]] +name = "solana-fee-structure" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e2abdb1223eea8ec64136f39cb1ffcf257e00f915c957c35c0dd9e3f4e700b0" +dependencies = [ + "serde", + "serde_derive", +] + +[[package]] +name = "solana-hard-forks" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0abacc4b66ce471f135f48f22facf75cbbb0f8a252fbe2c1e0aa59d5b203f519" + +[[package]] +name = "solana-hash" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5b96e9f0300fa287b545613f007dfe20043d7812bee255f418c1eb649c93b63" +dependencies = [ + "borsh 1.6.0", + "bytemuck", + "bytemuck_derive", + "five8 0.2.1", + "js-sys", + "serde", + "serde_derive", + "solana-atomic-u64 2.2.1", + "solana-sanitize 2.2.1", + "wasm-bindgen", +] + +[[package]] +name = "solana-hash" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "337c246447142f660f778cf6cb582beba8e28deb05b3b24bfb9ffd7c562e5f41" +dependencies = [ + "solana-hash 4.0.1", +] + +[[package]] +name = "solana-hash" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a5d48a6ee7b91fc7b998944ab026ed7b3e2fc8ee3bc58452644a86c2648152f" +dependencies = [ + "borsh 1.6.0", + "bytemuck", + "bytemuck_derive", + "five8 1.0.0", + "serde", + "serde_derive", + "solana-atomic-u64 3.0.0", + "solana-sanitize 3.0.1", +] + +[[package]] +name = "solana-inflation" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e92f37a14e7c660628752833250dd3dcd8e95309876aee751d7f8769a27947c6" +dependencies = [ + "serde", + "serde_derive", +] + +[[package]] +name = "solana-instruction" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bab5682934bd1f65f8d2c16f21cb532526fcc1a09f796e2cacdb091eee5774ad" +dependencies = [ + "bincode", + "borsh 1.6.0", + "getrandom 0.2.15", + "js-sys", + "num-traits", + "serde", + "serde_derive", + "serde_json", + "solana-define-syscall 2.3.0", + "solana-pubkey 2.4.0", + "wasm-bindgen", +] + +[[package]] +name = "solana-instruction" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee1b699a2c1518028a9982e255e0eca10c44d90006542d9d7f9f40dbce3f7c78" +dependencies = [ + "bincode", + "borsh 1.6.0", + "serde", + "serde_derive", + "solana-define-syscall 4.0.1", + "solana-instruction-error", + "solana-pubkey 4.0.0", +] + +[[package]] +name = "solana-instruction-error" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b04259e03c05faf38a8c24217b5cfe4c90572ae6184ab49cddb1584fdd756d3f" +dependencies = [ + "num-traits", + "serde", + "serde_derive", + "solana-program-error 3.0.0", +] + +[[package]] +name = "solana-instructions-sysvar" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0e85a6fad5c2d0c4f5b91d34b8ca47118fc593af706e523cdbedf846a954f57" +dependencies = [ + "bitflags 2.10.0", + "solana-account-info 2.3.0", + "solana-instruction 2.3.3", + "solana-program-error 2.2.2", + "solana-pubkey 2.4.0", + "solana-sanitize 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-serialize-utils 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-instructions-sysvar" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ddf67876c541aa1e21ee1acae35c95c6fbc61119814bfef70579317a5e26955" +dependencies = [ + "bitflags 2.10.0", + "solana-account-info 3.1.0", + "solana-instruction 3.1.0", + "solana-instruction-error", + "solana-program-error 3.0.0", + "solana-pubkey 3.0.0", + "solana-sanitize 3.0.1", + "solana-sdk-ids 3.1.0", + "solana-serialize-utils 3.1.0", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-keccak-hasher" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7aeb957fbd42a451b99235df4942d96db7ef678e8d5061ef34c9b34cae12f79" +dependencies = [ + "sha3", + "solana-define-syscall 2.3.0", + "solana-hash 2.3.0", + "solana-sanitize 2.2.1", +] + +[[package]] +name = "solana-keccak-hasher" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed1c0d16d6fdeba12291a1f068cdf0d479d9bff1141bf44afd7aa9d485f65ef8" +dependencies = [ + "sha3", + "solana-define-syscall 4.0.1", + "solana-hash 4.0.1", +] + +[[package]] +name = "solana-keypair" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ac8be597c9e231b0cab2928ce3bc3e4ee77d9c0ad92977b9d901f3879f25a7a" +dependencies = [ + "ed25519-dalek", + "ed25519-dalek-bip32", + "five8 1.0.0", + "rand 0.8.5", + "solana-address 2.0.0", + "solana-derivation-path 3.0.0", + "solana-seed-derivable 3.0.0", + "solana-seed-phrase 3.0.0", + "solana-signature 3.1.0", + "solana-signer 3.0.0", +] + +[[package]] +name = "solana-last-restart-slot" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a6360ac2fdc72e7463565cd256eedcf10d7ef0c28a1249d261ec168c1b55cdd" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-last-restart-slot" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcda154ec827f5fc1e4da0af3417951b7e9b8157540f81f936c4a8b1156134d0" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.0", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-loader-v2-interface" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8ab08006dad78ae7cd30df8eea0539e207d08d91eaefb3e1d49a446e1c49654" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", +] + +[[package]] +name = "solana-loader-v2-interface" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e4a6f0ad4fd9c30679bfee2ce3ea6a449cac38049f210480b751f65676dfe82" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction 3.1.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", +] + +[[package]] +name = "solana-loader-v3-interface" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4be76cfa9afd84ca2f35ebc09f0da0f0092935ccdac0595d98447f259538c2" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", +] + +[[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 2.3.3", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", +] + +[[package]] +name = "solana-loader-v3-interface" +version = "6.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dee44c9b1328c5c712c68966fb8de07b47f3e7bac006e74ddd1bb053d3e46e5d" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction 3.1.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-system-interface 2.0.0", +] + +[[package]] +name = "solana-loader-v4-interface" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "706a777242f1f39a83e2a96a2a6cb034cb41169c6ecbee2cf09cb873d9659e7e" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", +] + +[[package]] +name = "solana-measure" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3957208b22df25e87daaad375d4cb36ea74a28ce6f588a8d20a5fa2bd658b89d" + +[[package]] +name = "solana-message" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1796aabce376ff74bf89b78d268fa5e683d7d7a96a0a4e4813ec34de49d5314b" +dependencies = [ + "bincode", + "blake3", + "lazy_static", + "serde", + "serde_derive", + "solana-bincode", + "solana-hash 2.3.0", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-sanitize 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-short-vec 2.2.1", + "solana-system-interface 1.0.0", + "solana-transaction-error 2.2.1", + "wasm-bindgen", +] + +[[package]] +name = "solana-message" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85666605c9fd727f865ed381665db0a8fc29f984a030ecc1e40f43bfb2541623" +dependencies = [ + "bincode", + "blake3", + "lazy_static", + "serde", + "serde_derive", + "solana-address 1.1.0", + "solana-hash 3.1.0", + "solana-instruction 3.1.0", + "solana-sanitize 3.0.1", + "solana-sdk-ids 3.1.0", + "solana-short-vec 3.2.0", + "solana-transaction-error 3.0.0", +] + +[[package]] +name = "solana-metrics" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c595141dac54bdf46f92ad00c85c0cb1627344cb4629bbca1ff129f9df493116" +dependencies = [ + "crossbeam-channel", + "gethostname", + "log", + "reqwest 0.12.28", + "solana-cluster-type", + "solana-sha256-hasher 3.1.0", + "solana-time-utils", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-msg" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f36a1a14399afaabc2781a1db09cb14ee4cc4ee5c7a5a3cfcc601811379a8092" +dependencies = [ + "solana-define-syscall 2.3.0", +] + +[[package]] +name = "solana-msg" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "264275c556ea7e22b9d3f87d56305546a38d4eee8ec884f3b126236cb7dcbbb4" +dependencies = [ + "solana-define-syscall 3.0.0", +] + +[[package]] +name = "solana-native-token" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61515b880c36974053dd499c0510066783f0cc6ac17def0c7ef2a244874cf4a9" + +[[package]] +name = "solana-native-token" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae8dd4c280dca9d046139eb5b7a5ac9ad10403fbd64964c7d7571214950d758f" + +[[package]] +name = "solana-net-utils" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1b7acef2078118fc5271044d4aa7056c5f31fbed5bb7ef37d157e5563aa64c1" +dependencies = [ + "anyhow", + "bincode", + "bytes", + "itertools 0.12.1", + "log", + "nix 0.30.1", + "rand 0.8.5", + "serde", + "serde_derive", + "socket2 0.6.1", + "solana-serde", + "tokio", + "url", +] + +[[package]] +name = "solana-nonce" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "703e22eb185537e06204a5bd9d509b948f0066f2d1d814a6f475dafb3ddf1325" +dependencies = [ + "serde", + "serde_derive", + "solana-fee-calculator 2.2.1", + "solana-hash 2.3.0", + "solana-pubkey 2.4.0", + "solana-sha256-hasher 2.3.0", +] + +[[package]] +name = "solana-nonce" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abbdc6c8caf1c08db9f36a50967539d0f72b9f1d4aea04fec5430f532e5afadc" +dependencies = [ + "serde", + "serde_derive", + "solana-fee-calculator 3.0.0", + "solana-hash 3.1.0", + "solana-pubkey 3.0.0", + "solana-sha256-hasher 3.1.0", +] + +[[package]] +name = "solana-offchain-message" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6e2a1141a673f72a05cf406b99e4b2b8a457792b7c01afa07b3f00d4e2de393" +dependencies = [ + "num_enum", + "solana-hash 3.1.0", + "solana-packet", + "solana-pubkey 3.0.0", + "solana-sanitize 3.0.1", + "solana-sha256-hasher 3.1.0", + "solana-signature 3.1.0", + "solana-signer 3.0.0", +] + +[[package]] +name = "solana-packet" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6edf2f25743c95229ac0fdc32f8f5893ef738dbf332c669e9861d33ddb0f469d" +dependencies = [ + "bincode", + "bitflags 2.10.0", + "cfg_eval", + "serde", + "serde_derive", + "serde_with", +] + +[[package]] +name = "solana-perf" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1973521373fd26bd178d166e5ce20e8e4fea28128673ee2fe8d6305ba75182a" +dependencies = [ + "ahash 0.8.11", + "bincode", + "bv", + "bytes", + "caps", + "curve25519-dalek 4.1.3", + "dlopen2", + "fnv", + "libc", + "log", + "nix 0.30.1", + "rand 0.8.5", + "rayon", + "serde", + "solana-hash 3.1.0", + "solana-message 3.0.1", + "solana-metrics", + "solana-packet", + "solana-pubkey 3.0.0", + "solana-rayon-threadlimit", + "solana-sdk-ids 3.1.0", + "solana-short-vec 3.2.0", + "solana-signature 3.1.0", + "solana-time-utils", +] + +[[package]] +name = "solana-presigner" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f704eaf825be3180832445b9e4983b875340696e8e7239bf2d535b0f86c14a2" +dependencies = [ + "solana-pubkey 3.0.0", + "solana-signature 3.1.0", + "solana-signer 3.0.0", +] + +[[package]] +name = "solana-program" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98eca145bd3545e2fbb07166e895370576e47a00a7d824e325390d33bf467210" +dependencies = [ + "bincode", + "blake3", + "borsh 0.10.4", + "borsh 1.6.0", + "bs58 0.5.1", + "bytemuck", + "console_error_panic_hook", + "console_log", + "getrandom 0.2.15", + "lazy_static", + "log", + "memoffset", + "num-bigint 0.4.6", + "num-derive", + "num-traits", + "rand 0.8.5", + "serde", + "serde_bytes", + "serde_derive", + "solana-account-info 2.3.0", + "solana-address-lookup-table-interface 2.2.2", + "solana-atomic-u64 2.2.1", + "solana-big-mod-exp 2.2.1", + "solana-bincode", + "solana-blake3-hasher 2.2.1", + "solana-borsh 2.2.1", + "solana-clock 2.2.2", + "solana-cpi 2.2.1", + "solana-decode-error", + "solana-define-syscall 2.3.0", + "solana-epoch-rewards 2.2.1", + "solana-epoch-schedule 2.2.1", + "solana-example-mocks 2.2.1", + "solana-feature-gate-interface 2.2.2", + "solana-fee-calculator 2.2.1", + "solana-hash 2.3.0", + "solana-instruction 2.3.3", + "solana-instructions-sysvar 2.2.2", + "solana-keccak-hasher 2.2.1", + "solana-last-restart-slot 2.2.1", + "solana-loader-v2-interface 2.2.1", + "solana-loader-v3-interface 5.0.0", + "solana-loader-v4-interface", + "solana-message 2.4.0", + "solana-msg 2.2.1", + "solana-native-token 2.3.0", + "solana-nonce 2.2.1", + "solana-program-entrypoint 2.3.0", + "solana-program-error 2.2.2", + "solana-program-memory 2.3.1", + "solana-program-option 2.2.1", + "solana-program-pack 2.2.1", + "solana-pubkey 2.4.0", + "solana-rent 2.2.1", + "solana-sanitize 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-secp256k1-recover 2.2.1", + "solana-serde-varint 2.2.2", + "solana-serialize-utils 2.2.1", + "solana-sha256-hasher 2.3.0", + "solana-short-vec 2.2.1", + "solana-slot-hashes 2.2.1", + "solana-slot-history 2.2.1", + "solana-stable-layout 2.2.1", + "solana-stake-interface 1.2.1", + "solana-system-interface 1.0.0", + "solana-sysvar 2.3.0", + "solana-sysvar-id 2.2.1", + "solana-vote-interface 2.2.6", + "thiserror 2.0.18", + "wasm-bindgen", +] + +[[package]] +name = "solana-program" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91b12305dd81045d705f427acd0435a2e46444b65367d7179d7bdcfc3bc5f5eb" +dependencies = [ + "memoffset", + "solana-account-info 3.1.0", + "solana-big-mod-exp 3.0.0", + "solana-blake3-hasher 3.1.0", + "solana-borsh 3.0.0", + "solana-clock 3.0.0", + "solana-cpi 3.1.0", + "solana-define-syscall 3.0.0", + "solana-epoch-rewards 3.0.0", + "solana-epoch-schedule 3.0.0", + "solana-epoch-stake", + "solana-example-mocks 3.0.0", + "solana-fee-calculator 3.0.0", + "solana-hash 3.1.0", + "solana-instruction 3.1.0", + "solana-instruction-error", + "solana-instructions-sysvar 3.0.0", + "solana-keccak-hasher 3.1.0", + "solana-last-restart-slot 3.0.0", + "solana-msg 3.0.0", + "solana-native-token 3.0.0", + "solana-program-entrypoint 3.1.1", + "solana-program-error 3.0.0", + "solana-program-memory 3.1.0", + "solana-program-option 3.0.0", + "solana-program-pack 3.0.0", + "solana-pubkey 3.0.0", + "solana-rent 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-secp256k1-recover 3.1.0", + "solana-serde-varint 3.0.0", + "solana-serialize-utils 3.1.0", + "solana-sha256-hasher 3.1.0", + "solana-short-vec 3.2.0", + "solana-slot-hashes 3.0.0", + "solana-slot-history 3.0.0", + "solana-stable-layout 3.0.0", + "solana-sysvar 3.1.1", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-program-entrypoint" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32ce041b1a0ed275290a5008ee1a4a6c48f5054c8a3d78d313c08958a06aedbd" +dependencies = [ + "solana-account-info 2.3.0", + "solana-msg 2.2.1", + "solana-program-error 2.2.2", + "solana-pubkey 2.4.0", +] + +[[package]] +name = "solana-program-entrypoint" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84c9b0a1ff494e05f503a08b3d51150b73aa639544631e510279d6375f290997" +dependencies = [ + "solana-account-info 3.1.0", + "solana-define-syscall 4.0.1", + "solana-program-error 3.0.0", + "solana-pubkey 4.0.0", +] + +[[package]] +name = "solana-program-error" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ee2e0217d642e2ea4bee237f37bd61bb02aec60da3647c48ff88f6556ade775" +dependencies = [ + "borsh 1.6.0", + "num-traits", + "serde", + "serde_derive", + "solana-decode-error", + "solana-instruction 2.3.3", + "solana-msg 2.2.1", + "solana-pubkey 2.4.0", +] + +[[package]] +name = "solana-program-error" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1af32c995a7b692a915bb7414d5f8e838450cf7c70414e763d8abcae7b51f28" +dependencies = [ + "borsh 1.6.0", + "serde", + "serde_derive", +] + +[[package]] +name = "solana-program-memory" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a5426090c6f3fd6cfdc10685322fede9ca8e5af43cd6a59e98bfe4e91671712" +dependencies = [ + "solana-define-syscall 2.3.0", +] + +[[package]] +name = "solana-program-memory" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4068648649653c2c50546e9a7fb761791b5ab0cda054c771bb5808d3a4b9eb52" +dependencies = [ + "solana-define-syscall 4.0.1", +] + +[[package]] +name = "solana-program-option" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc677a2e9bc616eda6dbdab834d463372b92848b2bfe4a1ed4e4b4adba3397d0" + +[[package]] +name = "solana-program-option" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e7b4ddb464f274deb4a497712664c3b612e3f5f82471d4e47710fc4ab1c3095" + +[[package]] +name = "solana-program-pack" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "319f0ef15e6e12dc37c597faccb7d62525a509fec5f6975ecb9419efddeb277b" +dependencies = [ + "solana-program-error 2.2.2", +] + +[[package]] +name = "solana-program-pack" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c169359de21f6034a63ebf96d6b380980307df17a8d371344ff04a883ec4e9d0" +dependencies = [ + "solana-program-error 3.0.0", +] + +[[package]] +name = "solana-pubkey" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b62adb9c3261a052ca1f999398c388f1daf558a1b492f60a6d9e64857db4ff1" +dependencies = [ + "borsh 0.10.4", + "borsh 1.6.0", + "bytemuck", + "bytemuck_derive", + "curve25519-dalek 4.1.3", + "five8 0.2.1", + "five8_const 0.1.4", + "getrandom 0.2.15", + "js-sys", + "num-traits", + "serde", + "serde_derive", + "solana-atomic-u64 2.2.1", + "solana-decode-error", + "solana-define-syscall 2.3.0", + "solana-sanitize 2.2.1", + "solana-sha256-hasher 2.3.0", + "wasm-bindgen", +] + +[[package]] +name = "solana-pubkey" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8909d399deb0851aa524420beeb5646b115fd253ef446e35fe4504c904da3941" +dependencies = [ + "rand 0.8.5", + "solana-address 1.1.0", +] + +[[package]] +name = "solana-pubkey" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6f7104d456b58e1418c21a8581e89810278d1190f70f27ece7fc0b2c9282a57" +dependencies = [ + "solana-address 2.0.0", +] + +[[package]] +name = "solana-pubsub-client" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34b9cc19d3519b7bfa80eaeb45a5ddbf5062547c3512b9714b922d3d194ee9cb" +dependencies = [ + "crossbeam-channel", + "futures-util", + "http 0.2.12", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "solana-account-decoder-client-types", + "solana-clock 3.0.0", + "solana-pubkey 3.0.0", + "solana-rpc-client-types", + "solana-signature 3.1.0", + "thiserror 2.0.18", + "tokio", + "tokio-stream", + "tokio-tungstenite 0.20.1", + "tungstenite 0.20.1", + "url", +] + +[[package]] +name = "solana-quic-client" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8562ae102aa921d73cd03e2f59384a4a7b5bd9730a912c623bd0c8a69a34097d" +dependencies = [ + "async-lock", + "async-trait", + "futures", + "itertools 0.12.1", + "log", + "quinn", + "quinn-proto", + "rustls 0.23.36", + "solana-connection-cache", + "solana-keypair", + "solana-measure", + "solana-metrics", + "solana-net-utils", + "solana-pubkey 3.0.0", + "solana-quic-definitions", + "solana-rpc-client-api", + "solana-signer 3.0.0", + "solana-streamer", + "solana-tls-utils", + "solana-transaction-error 3.0.0", + "thiserror 2.0.18", + "tokio", +] + +[[package]] +name = "solana-quic-definitions" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15319accf7d3afd845817aeffa6edd8cc185f135cefbc6b985df29cfd8c09609" +dependencies = [ + "solana-keypair", +] + +[[package]] +name = "solana-rayon-threadlimit" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "065a9928027cc7896c3f31b2792cf8f654efa137f01c1977bc4ffba5490fe9db" +dependencies = [ + "log", + "num_cpus", +] + +[[package]] +name = "solana-rent" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1aea8fdea9de98ca6e8c2da5827707fb3842833521b528a713810ca685d2480" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-rent" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e860d5499a705369778647e97d760f7670adfb6fc8419dd3d568deccd46d5487" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.0", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-reward-info" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82be7946105c2ee6be9f9ee7bd18a068b558389221d29efa92b906476102bfcc" +dependencies = [ + "serde", + "serde_derive", +] + +[[package]] +name = "solana-rpc-client" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71092b2a41f12ffb70e85bf65e14e17b48b47727b686f12ce5143fb2e51a1230" +dependencies = [ + "async-trait", + "base64 0.22.1", + "bincode", + "bs58 0.5.1", + "futures", + "indicatif", + "log", + "reqwest 0.12.28", + "reqwest-middleware", + "semver", + "serde", + "serde_derive", + "serde_json", + "solana-account 3.4.0", + "solana-account-decoder-client-types", + "solana-clock 3.0.0", + "solana-commitment-config", + "solana-epoch-info", + "solana-epoch-schedule 3.0.0", + "solana-feature-gate-interface 3.1.0", + "solana-hash 3.1.0", + "solana-instruction 3.1.0", + "solana-message 3.0.1", + "solana-pubkey 3.0.0", + "solana-rpc-client-api", + "solana-signature 3.1.0", + "solana-transaction", + "solana-transaction-error 3.0.0", + "solana-transaction-status-client-types", + "solana-version", + "solana-vote-interface 3.0.0", + "tokio", +] + +[[package]] +name = "solana-rpc-client-api" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48b931a31da082a98d131780f9a645c498a0da0636b464a413d3bf32075914fa" +dependencies = [ + "anyhow", + "jsonrpc-core", + "reqwest 0.12.28", + "reqwest-middleware", + "serde", + "serde_derive", + "serde_json", + "solana-account-decoder-client-types", + "solana-clock 3.0.0", + "solana-rpc-client-types", + "solana-signer 3.0.0", + "solana-transaction-error 3.0.0", + "solana-transaction-status-client-types", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-rpc-client-nonce-utils" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95ace291eb33b086867015b24b0415df2394d4c48a0446c4c9432b6079740dd3" +dependencies = [ + "solana-account 3.4.0", + "solana-commitment-config", + "solana-hash 3.1.0", + "solana-message 3.0.1", + "solana-nonce 3.0.0", + "solana-pubkey 3.0.0", + "solana-rpc-client", + "solana-sdk-ids 3.1.0", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-rpc-client-types" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdff356eb7a8ab8d8d232dcc2f26e9570d36e6d018a9a00a9189a50fa4aeeda1" +dependencies = [ + "base64 0.22.1", + "bs58 0.5.1", + "semver", + "serde", + "serde_derive", + "serde_json", + "solana-account 3.4.0", + "solana-account-decoder-client-types", + "solana-clock 3.0.0", + "solana-commitment-config", + "solana-fee-calculator 3.0.0", + "solana-inflation", + "solana-pubkey 3.0.0", + "solana-transaction-error 3.0.0", + "solana-transaction-status-client-types", + "solana-version", + "spl-generic-token", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-sanitize" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61f1bc1357b8188d9c4a3af3fc55276e56987265eb7ad073ae6f8180ee54cecf" + +[[package]] +name = "solana-sanitize" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcf09694a0fc14e5ffb18f9b7b7c0f15ecb6eac5b5610bf76a1853459d19daf9" + +[[package]] +name = "solana-sbpf" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f224d906c14efc7ed7f42bc5fe9588f3f09db8cabe7f6023adda62a69678e1a" +dependencies = [ + "byteorder", + "combine 3.8.1", + "hash32 0.3.1", + "log", + "rustc-demangle", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-sdk" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f03df7969f5e723ad31b6c9eadccc209037ac4caa34d8dc259316b05c11e82b" +dependencies = [ + "bincode", + "bs58 0.5.1", + "serde", + "solana-account 3.4.0", + "solana-epoch-info", + "solana-epoch-rewards-hasher", + "solana-fee-structure", + "solana-inflation", + "solana-keypair", + "solana-message 3.0.1", + "solana-offchain-message", + "solana-presigner", + "solana-program 3.0.0", + "solana-program-memory 3.1.0", + "solana-pubkey 3.0.0", + "solana-sanitize 3.0.1", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.0", + "solana-seed-derivable 3.0.0", + "solana-seed-phrase 3.0.0", + "solana-serde", + "solana-serde-varint 3.0.0", + "solana-short-vec 3.2.0", + "solana-shred-version", + "solana-signature 3.1.0", + "solana-signer 3.0.0", + "solana-time-utils", + "solana-transaction", + "solana-transaction-error 3.0.0", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-sdk-ids" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5d8b9cc68d5c88b062a33e23a6466722467dde0035152d8fb1afbcdf350a5f" +dependencies = [ + "solana-pubkey 2.4.0", +] + +[[package]] +name = "solana-sdk-ids" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "def234c1956ff616d46c9dd953f251fa7096ddbaa6d52b165218de97882b7280" +dependencies = [ + "solana-address 2.0.0", +] + +[[package]] +name = "solana-sdk-macro" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86280da8b99d03560f6ab5aca9de2e38805681df34e0bb8f238e69b29433b9df" +dependencies = [ + "bs58 0.5.1", + "proc-macro2", + "quote 1.0.42", + "syn 2.0.109", +] + +[[package]] +name = "solana-sdk-macro" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6430000e97083460b71d9fbadc52a2ab2f88f53b3a4c5e58c5ae3640a0e8c00" +dependencies = [ + "bs58 0.5.1", + "proc-macro2", + "quote 1.0.42", + "syn 2.0.109", +] + +[[package]] +name = "solana-secp256k1-recover" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baa3120b6cdaa270f39444f5093a90a7b03d296d362878f7a6991d6de3bbe496" +dependencies = [ + "libsecp256k1", + "solana-define-syscall 2.3.0", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-secp256k1-recover" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9de18cfdab99eeb940fbedd8c981fa130c0d76252da75d05446f22fae8b51932" +dependencies = [ + "k256 0.13.4", + "solana-define-syscall 4.0.1", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-seed-derivable" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beb82b5adb266c6ea90e5cf3967235644848eac476c5a1f2f9283a143b7c97f" +dependencies = [ + "solana-derivation-path 2.2.1", +] + +[[package]] +name = "solana-seed-derivable" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff7bdb72758e3bec33ed0e2658a920f1f35dfb9ed576b951d20d63cb61ecd95c" +dependencies = [ + "solana-derivation-path 3.0.0", +] + +[[package]] +name = "solana-seed-phrase" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36187af2324f079f65a675ec22b31c24919cb4ac22c79472e85d819db9bbbc15" +dependencies = [ + "hmac 0.12.1", + "pbkdf2 0.11.0", + "sha2 0.10.8", +] + +[[package]] +name = "solana-seed-phrase" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc905b200a95f2ea9146e43f2a7181e3aeb55de6bc12afb36462d00a3c7310de" +dependencies = [ + "hmac 0.12.1", + "pbkdf2 0.11.0", + "sha2 0.10.8", +] + +[[package]] +name = "solana-serde" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "709a93cab694c70f40b279d497639788fc2ccbcf9b4aa32273d4b361322c02dd" +dependencies = [ + "serde", +] + +[[package]] +name = "solana-serde-varint" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a7e155eba458ecfb0107b98236088c3764a09ddf0201ec29e52a0be40857113" +dependencies = [ + "serde", +] + +[[package]] +name = "solana-serde-varint" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e5174c57d5ff3c1995f274d17156964664566e2cde18a07bba1586d35a70d3b" +dependencies = [ + "serde", +] + +[[package]] +name = "solana-serialize-utils" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "817a284b63197d2b27afdba829c5ab34231da4a9b4e763466a003c40ca4f535e" +dependencies = [ + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-sanitize 2.2.1", +] + +[[package]] +name = "solana-serialize-utils" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e41dd8feea239516c623a02f0a81c2367f4b604d7965237fed0751aeec33ed" +dependencies = [ + "solana-instruction-error", + "solana-pubkey 3.0.0", + "solana-sanitize 3.0.1", +] + +[[package]] +name = "solana-sha256-hasher" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa3feb32c28765f6aa1ce8f3feac30936f16c5c3f7eb73d63a5b8f6f8ecdc44" +dependencies = [ + "sha2 0.10.8", + "solana-define-syscall 2.3.0", + "solana-hash 2.3.0", +] + +[[package]] +name = "solana-sha256-hasher" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db7dc3011ea4c0334aaaa7e7128cb390ecf546b28d412e9bf2064680f57f588f" +dependencies = [ + "sha2 0.10.8", + "solana-define-syscall 4.0.1", + "solana-hash 4.0.1", +] + +[[package]] +name = "solana-short-vec" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c54c66f19b9766a56fa0057d060de8378676cb64987533fa088861858fc5a69" +dependencies = [ + "serde", +] + +[[package]] +name = "solana-short-vec" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3bd991c2cc415291c86bb0b6b4d53e93d13bb40344e4c5a2884e0e4f5fa93f" +dependencies = [ + "serde_core", +] + +[[package]] +name = "solana-shred-version" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94953e22ca28fe4541a3447d6baeaf519cc4ddc063253bfa673b721f34c136bb" +dependencies = [ + "solana-hard-forks", + "solana-hash 3.1.0", + "solana-sha256-hasher 3.1.0", +] + +[[package]] +name = "solana-signature" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64c8ec8e657aecfc187522fc67495142c12f35e55ddeca8698edbb738b8dbd8c" +dependencies = [ + "five8 0.2.1", + "solana-sanitize 2.2.1", +] + +[[package]] +name = "solana-signature" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bb8057cc0e9f7b5e89883d49de6f407df655bb6f3a71d0b7baf9986a2218fd9" +dependencies = [ + "ed25519-dalek", + "five8 0.2.1", + "rand 0.8.5", + "serde", + "serde-big-array", + "serde_derive", + "solana-sanitize 3.0.1", +] + +[[package]] +name = "solana-signer" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c41991508a4b02f021c1342ba00bcfa098630b213726ceadc7cb032e051975b" +dependencies = [ + "solana-pubkey 2.4.0", + "solana-signature 2.3.0", + "solana-transaction-error 2.2.1", +] + +[[package]] +name = "solana-signer" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bfea97951fee8bae0d6038f39a5efcb6230ecdfe33425ac75196d1a1e3e3235" +dependencies = [ + "solana-pubkey 3.0.0", + "solana-signature 3.1.0", + "solana-transaction-error 3.0.0", +] + +[[package]] +name = "solana-slot-hashes" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c8691982114513763e88d04094c9caa0376b867a29577939011331134c301ce" +dependencies = [ + "serde", + "serde_derive", + "solana-hash 2.3.0", + "solana-sdk-ids 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-slot-hashes" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80a293f952293281443c04f4d96afd9d547721923d596e92b4377ed2360f1746" +dependencies = [ + "serde", + "serde_derive", + "solana-hash 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-slot-history" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97ccc1b2067ca22754d5283afb2b0126d61eae734fc616d23871b0943b0d935e" dependencies = [ - "Inflector", - "base64 0.13.1", - "bincode", - "bs58 0.4.0", "bv", - "lazy_static", "serde", "serde_derive", - "serde_json", - "solana-address-lookup-table-program", - "solana-config-program", - "solana-sdk", - "solana-vote-program", - "spl-token", - "spl-token-2022", - "thiserror 1.0.63", - "zstd", + "solana-sdk-ids 2.2.1", + "solana-sysvar-id 2.2.1", ] [[package]] -name = "solana-address-lookup-table-program" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-slot-history" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f914f6b108f5bba14a280b458d023e3621c9973f27f015a4d755b50e88d89e97" dependencies = [ - "bincode", - "bytemuck", - "log", - "num-derive 0.3.3", - "num-traits", - "rustc_version", + "bv", "serde", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-program", - "solana-program-runtime", - "solana-sdk", - "thiserror 1.0.63", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sysvar-id 3.1.0", ] [[package]] -name = "solana-clap-utils" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-stable-layout" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f14f7d02af8f2bc1b5efeeae71bc1c2b7f0f65cd75bcc7d8180f2c762a57f54" dependencies = [ - "chrono", - "clap 2.34.0", - "rpassword", - "solana-perf", - "solana-remote-wallet", - "solana-sdk", - "thiserror 1.0.63", - "tiny-bip39", - "uriparse", - "url", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", ] [[package]] -name = "solana-cli-config" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-stable-layout" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1da74507795b6e8fb60b7c7306c0c36e2c315805d16eaaf479452661234685ac" dependencies = [ - "dirs-next", - "lazy_static", + "solana-instruction 3.1.0", + "solana-pubkey 3.0.0", +] + +[[package]] +name = "solana-stake-interface" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5269e89fde216b4d7e1d1739cf5303f8398a1ff372a81232abbee80e554a838c" +dependencies = [ + "borsh 0.10.4", + "borsh 1.6.0", + "num-traits", "serde", "serde_derive", - "serde_yaml", - "solana-clap-utils", - "solana-sdk", - "url", + "solana-clock 2.2.2", + "solana-cpi 2.2.1", + "solana-decode-error", + "solana-instruction 2.3.3", + "solana-program-error 2.2.2", + "solana-pubkey 2.4.0", + "solana-system-interface 1.0.0", + "solana-sysvar-id 2.2.1", ] [[package]] -name = "solana-client" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-stake-interface" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9bc26191b533f9a6e5a14cca05174119819ced680a80febff2f5051a713f0db" dependencies = [ - "async-mutex", - "async-trait", - "base64 0.13.1", - "bincode", - "bs58 0.4.0", + "num-traits", + "serde", + "serde_derive", + "solana-clock 3.0.0", + "solana-cpi 3.1.0", + "solana-instruction 3.1.0", + "solana-program-error 3.0.0", + "solana-pubkey 3.0.0", + "solana-system-interface 2.0.0", + "solana-sysvar 3.1.1", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-streamer" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acb28f9c11b3f549dc49694c3dddef34a1531fe2d19c7ead36b7254786379f87" +dependencies = [ + "arc-swap", + "async-channel", "bytes", - "clap 2.34.0", "crossbeam-channel", - "enum_dispatch", + "dashmap", "futures", "futures-util", - "indexmap 1.9.3", - "indicatif", - "itertools 0.10.5", - "jsonrpc-core", - "lazy_static", + "governor", + "histogram", + "indexmap 2.12.0", + "itertools 0.12.1", + "libc", "log", - "quinn 0.8.5", - "quinn-proto 0.8.4", - "rand 0.7.3", - "rand_chacha 0.2.2", - "rayon", - "reqwest 0.11.27", - "rustls 0.20.9", - "semver", - "serde", - "serde_derive", - "serde_json", - "solana-account-decoder", - "solana-clap-utils", - "solana-faucet", + "nix 0.30.1", + "num_cpus", + "pem", + "percentage", + "quinn", + "quinn-proto", + "rand 0.8.5", + "rustls 0.23.36", + "smallvec", + "socket2 0.6.1", + "solana-keypair", "solana-measure", "solana-metrics", "solana-net-utils", - "solana-sdk", - "solana-streamer", - "solana-transaction-status", - "solana-version", - "solana-vote-program", - "spl-token-2022", - "thiserror 1.0.63", + "solana-packet", + "solana-perf", + "solana-pubkey 3.0.0", + "solana-quic-definitions", + "solana-signature 3.1.0", + "solana-signer 3.0.0", + "solana-time-utils", + "solana-tls-utils", + "solana-transaction-error 3.0.0", + "solana-transaction-metrics-tracker", + "thiserror 2.0.18", "tokio", - "tokio-stream", - "tokio-tungstenite 0.17.2", - "tungstenite 0.17.3", - "url", + "tokio-util", + "x509-parser", ] [[package]] -name = "solana-config-program" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-svm-feature-set" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22e960a99c5620874b1deb5f00139f78753d67ec5626216f75c90842988f6c23" + +[[package]] +name = "solana-system-interface" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94d7c18cb1a91c6be5f5a8ac9276a1d7c737e39a21beba9ea710ab4b9c63bc90" dependencies = [ - "bincode", - "chrono", + "js-sys", + "num-traits", "serde", "serde_derive", - "solana-program-runtime", - "solana-sdk", + "solana-decode-error", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "wasm-bindgen", ] [[package]] -name = "solana-faucet" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-system-interface" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e1790547bfc3061f1ee68ea9d8dc6c973c02a163697b24263a8e9f2e6d4afa2" dependencies = [ - "bincode", - "byteorder", - "clap 2.34.0", - "crossbeam-channel", - "log", + "num-traits", "serde", "serde_derive", - "solana-clap-utils", - "solana-cli-config", - "solana-logger", - "solana-metrics", - "solana-sdk", - "solana-version", - "spl-memo 3.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "thiserror 1.0.63", - "tokio", + "solana-instruction 3.1.0", + "solana-msg 3.0.0", + "solana-program-error 3.0.0", + "solana-pubkey 3.0.0", ] [[package]] -name = "solana-frozen-abi" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-sysvar" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8c3595f95069f3d90f275bb9bd235a1973c4d059028b0a7f81baca2703815db" dependencies = [ - "ahash 0.7.8", - "blake3", - "block-buffer 0.9.0", - "bs58 0.4.0", - "bv", - "byteorder", - "cc", - "either", - "generic-array 0.14.7", - "getrandom 0.1.16", - "hashbrown 0.12.3", - "im", + "base64 0.22.1", + "bincode", + "bytemuck", + "bytemuck_derive", "lazy_static", - "log", - "memmap2", - "once_cell", - "rand_core 0.6.4", - "rustc_version", "serde", - "serde_bytes", "serde_derive", - "serde_json", - "sha2 0.10.8", - "solana-frozen-abi-macro", - "subtle", - "thiserror 1.0.63", -] - -[[package]] -name = "solana-frozen-abi-macro" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" + "solana-account-info 2.3.0", + "solana-clock 2.2.2", + "solana-define-syscall 2.3.0", + "solana-epoch-rewards 2.2.1", + "solana-epoch-schedule 2.2.1", + "solana-fee-calculator 2.2.1", + "solana-hash 2.3.0", + "solana-instruction 2.3.3", + "solana-instructions-sysvar 2.2.2", + "solana-last-restart-slot 2.2.1", + "solana-program-entrypoint 2.3.0", + "solana-program-error 2.2.2", + "solana-program-memory 2.3.1", + "solana-pubkey 2.4.0", + "solana-rent 2.2.1", + "solana-sanitize 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-slot-hashes 2.2.1", + "solana-slot-history 2.2.1", + "solana-stake-interface 1.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-sysvar" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6690d3dd88f15c21edff68eb391ef8800df7a1f5cec84ee3e8d1abf05affdf74" dependencies = [ - "proc-macro2 1.0.93", - "quote 1.0.42", - "rustc_version", - "syn 1.0.109", + "base64 0.22.1", + "bincode", + "bytemuck", + "bytemuck_derive", + "lazy_static", + "serde", + "serde_derive", + "solana-account-info 3.1.0", + "solana-clock 3.0.0", + "solana-define-syscall 4.0.1", + "solana-epoch-rewards 3.0.0", + "solana-epoch-schedule 3.0.0", + "solana-fee-calculator 3.0.0", + "solana-hash 4.0.1", + "solana-instruction 3.1.0", + "solana-last-restart-slot 3.0.0", + "solana-program-entrypoint 3.1.1", + "solana-program-error 3.0.0", + "solana-program-memory 3.1.0", + "solana-pubkey 4.0.0", + "solana-rent 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.0", + "solana-slot-hashes 3.0.0", + "solana-slot-history 3.0.0", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-sysvar-id" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5762b273d3325b047cfda250787f8d796d781746860d5d0a746ee29f3e8812c1" +dependencies = [ + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", ] [[package]] -name = "solana-logger" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-sysvar-id" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17358d1e9a13e5b9c2264d301102126cf11a47fd394cdf3dec174fe7bc96e1de" dependencies = [ - "env_logger", - "lazy_static", - "log", + "solana-address 2.0.0", + "solana-sdk-ids 3.1.0", ] [[package]] -name = "solana-measure" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" -dependencies = [ - "log", - "solana-sdk", -] +name = "solana-time-utils" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ced92c60aa76ec4780a9d93f3bd64dfa916e1b998eacc6f1c110f3f444f02c9" [[package]] -name = "solana-metrics" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-tls-utils" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "475766b71bafcaa6af326c54d35dc09ca4a334e5866b42d09b354291b7aa5819" dependencies = [ - "crossbeam-channel", - "gethostname", - "lazy_static", - "log", - "reqwest 0.11.27", - "solana-sdk", + "rustls 0.23.36", + "solana-keypair", + "solana-pubkey 3.0.0", + "solana-signer 3.0.0", + "x509-parser", ] [[package]] -name = "solana-net-utils" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-tpu-client" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "313159134696b2c482fa9a7188fd4daac638d69f5962fe842c3f4cfece1a27f3" dependencies = [ + "async-trait", "bincode", - "clap 3.2.25", - "crossbeam-channel", + "futures-util", + "indexmap 2.12.0", + "indicatif", "log", - "nix 0.24.3", - "rand 0.7.3", - "serde", - "serde_derive", - "socket2 0.4.10", - "solana-logger", - "solana-sdk", - "solana-version", + "rayon", + "solana-client-traits", + "solana-clock 3.0.0", + "solana-commitment-config", + "solana-connection-cache", + "solana-epoch-schedule 3.0.0", + "solana-measure", + "solana-message 3.0.1", + "solana-net-utils", + "solana-pubkey 3.0.0", + "solana-pubsub-client", + "solana-quic-definitions", + "solana-rpc-client", + "solana-rpc-client-api", + "solana-signature 3.1.0", + "solana-signer 3.0.0", + "solana-transaction", + "solana-transaction-error 3.0.0", + "thiserror 2.0.18", "tokio", - "url", ] [[package]] -name = "solana-perf" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-transaction" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ceb2efbf427a91b884709ffac4dac29117752ce1e37e9ae04977e450aa0bb76" dependencies = [ - "ahash 0.7.8", "bincode", - "bv", - "caps", - "curve25519-dalek 3.2.2", - "dlopen", - "dlopen_derive", - "fnv", - "lazy_static", - "libc", - "log", - "nix 0.24.3", - "rand 0.7.3", - "rayon", "serde", - "solana-metrics", - "solana-rayon-threadlimit", - "solana-sdk", - "solana-vote-program", + "serde_derive", + "solana-address 2.0.0", + "solana-hash 4.0.1", + "solana-instruction 3.1.0", + "solana-instruction-error", + "solana-message 3.0.1", + "solana-sanitize 3.0.1", + "solana-sdk-ids 3.1.0", + "solana-short-vec 3.2.0", + "solana-signature 3.1.0", + "solana-signer 3.0.0", + "solana-transaction-error 3.0.0", ] [[package]] -name = "solana-program" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-transaction-context" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b532aebf58bd36375a84e0a77432c8db546df535a7f3b7d5bc7c60fbcd5b0a2" dependencies = [ - "base64 0.13.1", "bincode", - "bitflags 1.3.2", - "blake3", - "borsh 0.9.3", - "borsh-derive 0.9.3", - "bs58 0.4.0", - "bv", - "bytemuck", - "cc", - "console_error_panic_hook", - "console_log", - "curve25519-dalek 3.2.2", - "getrandom 0.2.15", - "itertools 0.10.5", - "js-sys", - "lazy_static", - "libc", - "libsecp256k1", - "log", - "memoffset", - "num-derive 0.3.3", - "num-traits", - "parking_lot 0.12.3", - "rand 0.7.3", - "rand_chacha 0.2.2", - "rustc_version", - "rustversion", "serde", - "serde_bytes", "serde_derive", - "serde_json", - "sha2 0.10.8", - "sha3 0.10.8", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-sdk-macro", - "thiserror 1.0.63", - "tiny-bip39", - "wasm-bindgen", - "zeroize", + "solana-account 3.4.0", + "solana-instruction 3.1.0", + "solana-instructions-sysvar 3.0.0", + "solana-pubkey 3.0.0", + "solana-rent 3.1.0", + "solana-sbpf", + "solana-sdk-ids 3.1.0", ] [[package]] -name = "solana-program-runtime" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-transaction-error" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222a9dc8fdb61c6088baab34fc3a8b8473a03a7a5fd404ed8dd502fa79b67cb1" dependencies = [ - "base64 0.13.1", - "bincode", - "eager", - "enum-iterator 0.8.1", - "itertools 0.10.5", - "libc", - "libloading 0.7.4", - "log", - "num-derive 0.3.3", - "num-traits", - "rand 0.7.3", - "rustc_version", - "serde", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-measure", - "solana-metrics", - "solana-sdk", - "thiserror 1.0.63", + "solana-instruction 2.3.3", + "solana-sanitize 2.2.1", ] [[package]] -name = "solana-rayon-threadlimit" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-transaction-error" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4222065402340d7e6aec9dc3e54d22992ddcf923d91edcd815443c2bfca3144a" dependencies = [ - "lazy_static", - "num_cpus", + "serde", + "serde_derive", + "solana-instruction-error", + "solana-sanitize 3.0.1", ] [[package]] -name = "solana-remote-wallet" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-transaction-metrics-tracker" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f505882d01bad2e2e4fbab58a3400c768501e49832dbae8fe2a27b75b06ebfe0" dependencies = [ - "console", - "dialoguer", + "base64 0.22.1", + "bincode", "log", - "num-derive 0.3.3", - "num-traits", - "parking_lot 0.12.3", - "qstring", - "semver", - "solana-sdk", - "thiserror 1.0.63", - "uriparse", + "rand 0.8.5", + "solana-packet", + "solana-perf", + "solana-short-vec 3.2.0", + "solana-signature 3.1.0", ] [[package]] -name = "solana-sdk" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-transaction-status" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ee7b3da7cb0a92722ba12e91a470201368c33f14e73b7b38a1491d9032e16d4" dependencies = [ - "assert_matches", - "base64 0.13.1", + "Inflector", + "agave-reserved-account-keys", + "base64 0.22.1", "bincode", - "bitflags 1.3.2", - "borsh 0.9.3", - "bs58 0.4.0", - "bytemuck", - "byteorder", - "chrono", - "derivation-path", - "digest 0.10.7", - "ed25519-dalek 1.0.1", - "ed25519-dalek-bip32", - "generic-array 0.14.7", - "hmac 0.12.1", - "itertools 0.10.5", - "js-sys", - "lazy_static", - "libsecp256k1", + "borsh 1.6.0", + "bs58 0.5.1", "log", - "memmap2", - "num-derive 0.3.3", - "num-traits", - "pbkdf2 0.11.0", - "qstring", - "rand 0.7.3", - "rand_chacha 0.2.2", - "rustc_version", - "rustversion", "serde", - "serde_bytes", "serde_derive", "serde_json", - "sha2 0.10.8", - "sha3 0.10.8", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-logger", - "solana-program", - "solana-sdk-macro", - "thiserror 1.0.63", - "uriparse", - "wasm-bindgen", + "solana-account-decoder", + "solana-address-lookup-table-interface 3.0.1", + "solana-clock 3.0.0", + "solana-hash 3.1.0", + "solana-instruction 3.1.0", + "solana-loader-v2-interface 3.0.0", + "solana-loader-v3-interface 6.1.0", + "solana-message 3.0.1", + "solana-program-option 3.0.0", + "solana-pubkey 3.0.0", + "solana-reward-info", + "solana-sdk-ids 3.1.0", + "solana-signature 3.1.0", + "solana-stake-interface 2.0.2", + "solana-system-interface 2.0.0", + "solana-transaction", + "solana-transaction-error 3.0.0", + "solana-transaction-status-client-types", + "solana-vote-interface 3.0.0", + "spl-associated-token-account-interface", + "spl-memo-interface", + "spl-token-2022-interface", + "spl-token-group-interface", + "spl-token-interface", + "spl-token-metadata-interface", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-transaction-status-client-types" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99be022d0e2908ff2a600c305c4c1dd3bb12896513629bcd2dd5c52efb09555a" +dependencies = [ + "base64 0.22.1", + "bincode", + "bs58 0.5.1", + "serde", + "serde_derive", + "serde_json", + "solana-account-decoder-client-types", + "solana-commitment-config", + "solana-instruction 3.1.0", + "solana-message 3.0.1", + "solana-pubkey 3.0.0", + "solana-reward-info", + "solana-signature 3.1.0", + "solana-transaction", + "solana-transaction-context", + "solana-transaction-error 3.0.0", + "thiserror 2.0.18", ] [[package]] -name = "solana-sdk-macro" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-udp-client" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4950ce025f70e49d2c97f576d7e1c5a5283ef44432c2baed5823914d866e9905" dependencies = [ - "bs58 0.4.0", - "proc-macro2 1.0.93", - "quote 1.0.42", - "rustversion", - "syn 1.0.109", + "async-trait", + "solana-connection-cache", + "solana-keypair", + "solana-net-utils", + "solana-streamer", + "solana-transaction-error 3.0.0", + "thiserror 2.0.18", + "tokio", ] [[package]] -name = "solana-streamer" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-version" +version = "3.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecfc3e251efb5c31ca4d94a50b0ce5d18b5de5b965bbdf8cac4c0597ed787a4" dependencies = [ - "crossbeam-channel", - "futures-util", - "histogram", - "indexmap 1.9.3", - "itertools 0.10.5", - "libc", - "log", - "nix 0.24.3", - "pem", - "percentage", - "pkcs8 0.8.0", - "quinn 0.8.5", - "rand 0.7.3", - "rcgen", - "rustls 0.20.9", - "solana-metrics", - "solana-perf", - "solana-sdk", - "thiserror 1.0.63", - "tokio", - "x509-parser", + "agave-feature-set", + "rand 0.8.5", + "semver", + "serde", + "serde_derive", + "solana-sanitize 3.0.1", + "solana-serde-varint 3.0.0", ] [[package]] -name = "solana-transaction-status" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-vote-interface" +version = "2.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b80d57478d6599d30acc31cc5ae7f93ec2361a06aefe8ea79bc81739a08af4c3" dependencies = [ - "Inflector", - "base64 0.13.1", "bincode", - "borsh 0.9.3", - "bs58 0.4.0", - "lazy_static", - "log", + "num-derive", + "num-traits", "serde", "serde_derive", - "serde_json", - "solana-account-decoder", - "solana-address-lookup-table-program", - "solana-measure", - "solana-metrics", - "solana-sdk", - "solana-vote-program", - "spl-associated-token-account", - "spl-memo 3.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "spl-token", - "spl-token-2022", - "thiserror 1.0.63", + "solana-clock 2.2.2", + "solana-decode-error", + "solana-hash 2.3.0", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-rent 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-serde-varint 2.2.2", + "solana-serialize-utils 2.2.1", + "solana-short-vec 2.2.1", + "solana-system-interface 1.0.0", ] [[package]] -name = "solana-version" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-vote-interface" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66631ddbe889dab5ec663294648cd1df395ec9df7a4476e7b3e095604cfdb539" dependencies = [ - "log", - "rustc_version", - "semver", + "bincode", + "cfg_eval", + "num-derive", + "num-traits", "serde", "serde_derive", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-sdk", + "serde_with", + "solana-clock 3.0.0", + "solana-hash 3.1.0", + "solana-instruction 3.1.0", + "solana-instruction-error", + "solana-pubkey 3.0.0", + "solana-rent 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-serde-varint 3.0.0", + "solana-serialize-utils 3.1.0", + "solana-short-vec 3.2.0", + "solana-system-interface 2.0.0", ] [[package]] -name = "solana-vote-program" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-zk-sdk" +version = "2.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97b9fc6ec37d16d0dccff708ed1dd6ea9ba61796700c3bb7c3b401973f10f63b" dependencies = [ + "aes-gcm-siv", + "base64 0.22.1", "bincode", - "log", - "num-derive 0.3.3", + "bytemuck", + "bytemuck_derive", + "curve25519-dalek 4.1.3", + "itertools 0.12.1", + "js-sys", + "merlin", + "num-derive", "num-traits", - "rustc_version", + "rand 0.8.5", "serde", "serde_derive", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-metrics", - "solana-program-runtime", - "solana-sdk", - "thiserror 1.0.63", + "serde_json", + "sha3", + "solana-derivation-path 2.2.1", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", + "solana-seed-derivable 2.2.1", + "solana-seed-phrase 2.2.1", + "solana-signature 2.3.0", + "solana-signer 2.2.1", + "subtle", + "thiserror 2.0.18", + "wasm-bindgen", + "zeroize", ] [[package]] -name = "solana-zk-token-sdk" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-zk-sdk" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9602bcb1f7af15caef92b91132ec2347e1c51a72ecdbefdaefa3eac4b8711475" dependencies = [ "aes-gcm-siv", - "arrayref", - "base64 0.13.1", + "base64 0.22.1", "bincode", "bytemuck", - "byteorder", - "cipher", - "curve25519-dalek 3.2.2", - "getrandom 0.1.16", - "itertools 0.10.5", - "lazy_static", + "bytemuck_derive", + "curve25519-dalek 4.1.3", + "getrandom 0.2.15", + "itertools 0.12.1", + "js-sys", "merlin", - "num-derive 0.3.3", + "num-derive", "num-traits", - "rand 0.7.3", + "rand 0.8.5", "serde", + "serde_derive", "serde_json", - "sha3 0.9.1", - "solana-program", - "solana-sdk", + "sha3", + "solana-derivation-path 3.0.0", + "solana-instruction 3.1.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-seed-derivable 3.0.0", + "solana-seed-phrase 3.0.0", + "solana-signature 3.1.0", + "solana-signer 3.0.0", "subtle", - "thiserror 1.0.63", + "thiserror 2.0.18", + "wasm-bindgen", "zeroize", ] @@ -12664,13 +14563,12 @@ dependencies = [ ] [[package]] -name = "spki" -version = "0.5.4" +name = "spinning_top" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "d96d2d1d716fb500937168cc09353ffdc7a012be8475ac7308e1bdf0e3923300" dependencies = [ - "base64ct", - "der 0.5.1", + "lock_api", ] [[package]] @@ -12694,88 +14592,294 @@ dependencies = [ ] [[package]] -name = "spl-associated-token-account" -version = "1.1.2" -source = "git+https://github.com/hyperlane-xyz/solana-program-library.git?branch=hyperlane#5de3c060c276afb4e767111b3b42fbbf4a81d83f" +name = "spl-associated-token-account-interface" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6433917b60441d68d99a17e121d9db0ea15a9a69c0e5afa34649cf5ba12612f" +dependencies = [ + "borsh 1.6.0", + "solana-instruction 3.1.0", + "solana-pubkey 3.0.0", +] + +[[package]] +name = "spl-discriminator" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a38ea8b6dedb7065887f12d62ed62c1743aa70749e8558f963609793f6fb12bc" +dependencies = [ + "bytemuck", + "solana-program 2.3.0", + "spl-discriminator-derive", +] + +[[package]] +name = "spl-discriminator" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d48cc11459e265d5b501534144266620289720b4c44522a47bc6b63cd295d2f3" +dependencies = [ + "bytemuck", + "solana-program-error 3.0.0", + "solana-sha256-hasher 3.1.0", + "spl-discriminator-derive", +] + +[[package]] +name = "spl-discriminator-derive" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9e8418ea6269dcfb01c712f0444d2c75542c04448b480e87de59d2865edc750" +dependencies = [ + "quote 1.0.42", + "spl-discriminator-syn", + "syn 2.0.109", +] + +[[package]] +name = "spl-discriminator-syn" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d1dbc82ab91422345b6df40a79e2b78c7bce1ebb366da323572dd60b7076b67" +dependencies = [ + "proc-macro2", + "quote 1.0.42", + "sha2 0.10.8", + "syn 2.0.109", + "thiserror 1.0.63", +] + +[[package]] +name = "spl-generic-token" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "233df81b75ab99b42f002b5cdd6e65a7505ffa930624f7096a7580a56765e9cf" +dependencies = [ + "bytemuck", + "solana-pubkey 3.0.0", +] + +[[package]] +name = "spl-memo-interface" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d4e2aedd58f858337fa609af5ad7100d4a243fdaf6a40d6eb4c28c5f19505d3" +dependencies = [ + "solana-instruction 3.1.0", + "solana-pubkey 3.0.0", +] + +[[package]] +name = "spl-noop" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c3bc351f7543a46f6807c231fc29ef2c4912c79bd6a4fb7d038cba6836f0fd7" +dependencies = [ + "solana-program 2.3.0", +] + +[[package]] +name = "spl-pod" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00e38c99f09d58df06ca9a29fc0211786a4c34f4d099c1df27b1abaa206569a4" +dependencies = [ + "bytemuck", + "bytemuck_derive", + "solana-program 2.3.0", + "solana-zk-sdk 2.3.13", + "spl-program-error", +] + +[[package]] +name = "spl-pod" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1233fdecd7461611d69bb87bc2e95af742df47291975d21232a0be8217da9de" +dependencies = [ + "borsh 1.6.0", + "bytemuck", + "bytemuck_derive", + "num-derive", + "num-traits", + "num_enum", + "solana-program-error 3.0.0", + "solana-program-option 3.0.0", + "solana-pubkey 3.0.0", + "solana-zk-sdk 4.0.0", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-program-error" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7b28bed65356558133751cc32b48a7a5ddfc59ac4e941314630bbed1ac10532" +dependencies = [ + "num-derive", + "num-traits", + "solana-program 2.3.0", + "spl-program-error-derive", + "thiserror 1.0.63", +] + +[[package]] +name = "spl-program-error-derive" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d375dd76c517836353e093c2dbb490938ff72821ab568b545fd30ab3256b3e" +dependencies = [ + "proc-macro2", + "quote 1.0.42", + "sha2 0.10.8", + "syn 2.0.109", +] + +[[package]] +name = "spl-token-2022-interface" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fcd81188211f4b3c8a5eba7fd534c7142f9dd026123b3472492782cc72f4dc6" dependencies = [ - "assert_matches", - "borsh 0.9.3", - "num-derive 0.3.3", + "arrayref", + "bytemuck", + "num-derive", "num-traits", - "solana-program", - "spl-token", - "spl-token-2022", - "thiserror 1.0.63", + "num_enum", + "solana-account-info 3.1.0", + "solana-instruction 3.1.0", + "solana-program-error 3.0.0", + "solana-program-option 3.0.0", + "solana-program-pack 3.0.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-zk-sdk 4.0.0", + "spl-pod 0.7.1", + "spl-token-confidential-transfer-proof-extraction", + "spl-token-confidential-transfer-proof-generation", + "spl-token-group-interface", + "spl-token-metadata-interface", + "spl-type-length-value 0.9.0", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-token-confidential-transfer-proof-extraction" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879a9ebad0d77383d3ea71e7de50503554961ff0f4ef6cbca39ad126e6f6da3a" +dependencies = [ + "bytemuck", + "solana-account-info 3.1.0", + "solana-curve25519", + "solana-instruction 3.1.0", + "solana-instructions-sysvar 3.0.0", + "solana-msg 3.0.0", + "solana-program-error 3.0.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-zk-sdk 4.0.0", + "spl-pod 0.7.1", + "thiserror 2.0.18", ] [[package]] -name = "spl-memo" -version = "3.0.1" +name = "spl-token-confidential-transfer-proof-generation" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd0dc6f70db6bacea7ff25870b016a65ba1d1b6013536f08e4fd79a8f9005325" +checksum = "a0cd59fce3dc00f563c6fa364d67c3f200d278eae681f4dc250240afcfe044b1" dependencies = [ - "solana-program", + "curve25519-dalek 4.1.3", + "solana-zk-sdk 4.0.0", + "thiserror 2.0.18", ] [[package]] -name = "spl-memo" -version = "3.0.1" -source = "git+https://github.com/hyperlane-xyz/solana-program-library.git?branch=hyperlane#5de3c060c276afb4e767111b3b42fbbf4a81d83f" +name = "spl-token-group-interface" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "452d0f758af20caaa10d9a6f7608232e000d4c74462f248540b3d2ddfa419776" dependencies = [ - "solana-program", + "bytemuck", + "num-derive", + "num-traits", + "num_enum", + "solana-instruction 3.1.0", + "solana-program-error 3.0.0", + "solana-pubkey 3.0.0", + "spl-discriminator 0.5.1", + "spl-pod 0.7.1", + "thiserror 2.0.18", ] [[package]] -name = "spl-noop" -version = "0.1.3" -source = "git+https://github.com/hyperlane-xyz/solana-program-library.git?branch=hyperlane#5de3c060c276afb4e767111b3b42fbbf4a81d83f" +name = "spl-token-interface" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c564ac05a7c8d8b12e988a37d82695b5ba4db376d07ea98bc4882c81f96c7f3" dependencies = [ - "solana-program", + "arrayref", + "bytemuck", + "num-derive", + "num-traits", + "num_enum", + "solana-instruction 3.1.0", + "solana-program-error 3.0.0", + "solana-program-option 3.0.0", + "solana-program-pack 3.0.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "thiserror 2.0.18", ] [[package]] -name = "spl-token" -version = "3.5.0" -source = "git+https://github.com/hyperlane-xyz/solana-program-library.git?branch=hyperlane#5de3c060c276afb4e767111b3b42fbbf4a81d83f" +name = "spl-token-metadata-interface" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c467c7c3bd056f8fe60119e7ec34ddd6f23052c2fa8f1f51999098063b72676" dependencies = [ - "arrayref", - "bytemuck", - "num-derive 0.3.3", + "borsh 1.6.0", + "num-derive", "num-traits", - "num_enum 0.5.11", - "solana-program", - "thiserror 1.0.63", + "solana-borsh 3.0.0", + "solana-instruction 3.1.0", + "solana-program-error 3.0.0", + "solana-pubkey 3.0.0", + "spl-discriminator 0.5.1", + "spl-pod 0.7.1", + "spl-type-length-value 0.9.0", + "thiserror 2.0.18", ] [[package]] -name = "spl-token-2022" -version = "0.5.0" -source = "git+https://github.com/hyperlane-xyz/solana-program-library.git?branch=hyperlane#5de3c060c276afb4e767111b3b42fbbf4a81d83f" +name = "spl-type-length-value" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69c08deb8332a6c051f6e846b5e9c962695295dd97e0e151dccf3ef85dcf01b4" dependencies = [ - "arrayref", "bytemuck", - "num-derive 0.3.3", - "num-traits", - "num_enum 0.5.11", - "solana-program", - "solana-zk-token-sdk", - "spl-memo 3.0.1 (git+https://github.com/hyperlane-xyz/solana-program-library.git?branch=hyperlane)", - "spl-token", - "thiserror 1.0.63", + "solana-program 2.3.0", + "spl-discriminator 0.3.0", + "spl-pod 0.4.0", + "spl-program-error", ] [[package]] name = "spl-type-length-value" -version = "0.1.0" -source = "git+https://github.com/hyperlane-xyz/solana-program-library.git?branch=hyperlane#5de3c060c276afb4e767111b3b42fbbf4a81d83f" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca20a1a19f4507a98ca4b28ff5ed54cac9b9d34ed27863e2bde50a3238f9a6ac" dependencies = [ - "arrayref", "bytemuck", - "num-derive 0.3.3", + "num-derive", "num-traits", - "num_enum 0.6.1", - "solana-program", - "thiserror 1.0.63", + "num_enum", + "solana-account-info 3.1.0", + "solana-msg 3.0.0", + "solana-program-error 3.0.0", + "spl-discriminator 0.5.1", + "spl-pod 0.7.1", + "thiserror 2.0.18", ] [[package]] @@ -12811,7 +14915,7 @@ dependencies = [ "futures-util", "hashbrown 0.15.2", "hashlink", - "indexmap 2.9.0", + "indexmap 2.12.0", "log", "memchr", "native-tls", @@ -12822,7 +14926,7 @@ dependencies = [ "serde_json", "sha2 0.10.8", "smallvec", - "thiserror 2.0.12", + "thiserror 2.0.18", "time", "tokio", "tokio-stream", @@ -12837,7 +14941,7 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f4200e0fde19834956d4252347c12a083bdcb237d7a1a1446bffd8768417dce" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "sqlx-core", "sqlx-macros-core", @@ -12855,7 +14959,7 @@ dependencies = [ "heck 0.5.0", "hex 0.4.3", "once_cell", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "serde", "serde_json", @@ -12879,7 +14983,7 @@ dependencies = [ "atoi", "base64 0.22.1", "bigdecimal", - "bitflags 2.6.0", + "bitflags 2.10.0", "byteorder", "bytes", "chrono", @@ -12910,7 +15014,7 @@ dependencies = [ "smallvec", "sqlx-core", "stringprep", - "thiserror 2.0.12", + "thiserror 2.0.18", "time", "tracing", "uuid 1.11.0", @@ -12926,7 +15030,7 @@ dependencies = [ "atoi", "base64 0.22.1", "bigdecimal", - "bitflags 2.6.0", + "bitflags 2.10.0", "byteorder", "chrono", "crc", @@ -12953,7 +15057,7 @@ dependencies = [ "smallvec", "sqlx-core", "stringprep", - "thiserror 2.0.12", + "thiserror 2.0.18", "time", "tracing", "uuid 1.11.0", @@ -12980,7 +15084,7 @@ dependencies = [ "serde", "serde_urlencoded", "sqlx-core", - "thiserror 2.0.12", + "thiserror 2.0.18", "time", "tracing", "url", @@ -13096,13 +15200,13 @@ dependencies = [ "flate2", "foldhash 0.1.5", "hex 0.4.3", - "indexmap 2.9.0", + "indexmap 2.12.0", "num-traits", "serde", "serde_json", "serde_json_pythonic", "serde_with", - "sha3 0.10.8", + "sha3", "starknet-core-derive", "starknet-crypto", "starknet-types-core", @@ -13119,13 +15223,13 @@ dependencies = [ "flate2", "foldhash 0.1.5", "hex 0.4.3", - "indexmap 2.9.0", + "indexmap 2.12.0", "num-traits", "serde", "serde_json", "serde_json_pythonic", "serde_with", - "sha3 0.10.8", + "sha3", "starknet-core-derive", "starknet-crypto", "starknet-types-core", @@ -13137,7 +15241,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b08520b7d80eda7bf1a223e8db4f9bb5779a12846f15ebf8f8d76667eca7f5ad" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -13213,7 +15317,7 @@ dependencies = [ "flate2", "getrandom 0.2.15", "log", - "reqwest 0.12.15", + "reqwest 0.12.28", "serde", "serde_json", "serde_with", @@ -13295,12 +15399,6 @@ dependencies = [ "unicode-properties", ] -[[package]] -name = "strsim" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" - [[package]] name = "strsim" version = "0.10.0" @@ -13319,7 +15417,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e1575d8d40908d70f6fd05537266b90ae71b15dbbe7a8b7dffa2b759306d329" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "structmeta-derive", "syn 2.0.109", @@ -13331,7 +15429,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "152a0b65a590ff6c3da95cabe2353ee04e6167c896b28e3b14478c2636c922fc" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -13367,7 +15465,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "rustversion", "syn 1.0.109", @@ -13380,7 +15478,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "rustversion", "syn 2.0.109", @@ -13393,7 +15491,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ "heck 0.5.0", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "rustversion", "syn 2.0.109", @@ -13431,24 +15529,13 @@ dependencies = [ "unicode-xid 0.0.4", ] -[[package]] -name = "syn" -version = "0.15.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" -dependencies = [ - "proc-macro2 0.4.30", - "quote 0.6.13", - "unicode-xid 0.1.0", -] - [[package]] name = "syn" version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "unicode-ident", ] @@ -13459,23 +15546,11 @@ version = "2.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f17c7e013e88258aa9543dcbe81aca68a667a9ac37cd69c9fbc07858bfe0e2f" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "unicode-ident", ] -[[package]] -name = "syn_derive" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" -dependencies = [ - "proc-macro-error", - "proc-macro2 1.0.93", - "quote 1.0.42", - "syn 2.0.109", -] - [[package]] name = "sync_wrapper" version = "0.1.2" @@ -13506,7 +15581,7 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", "unicode-xid 0.2.5", @@ -13518,7 +15593,7 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -13540,7 +15615,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", "core-foundation 0.9.4", "system-configuration-sys 0.6.0", ] @@ -13625,7 +15700,7 @@ checksum = "d9703e34d940c2a293804752555107f8dbe2b84ec4c6dd5203831235868105d2" dependencies = [ "bytes", "digest 0.10.7", - "ed25519 2.2.3", + "ed25519", "ed25519-consensus", "flex-error", "futures", @@ -13709,15 +15784,6 @@ dependencies = [ "walkdir", ] -[[package]] -name = "termcolor" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" -dependencies = [ - "winapi-util", -] - [[package]] name = "termtree" version = "0.4.1" @@ -13745,7 +15811,7 @@ dependencies = [ "serde", "serde_json", "serde_with", - "thiserror 2.0.12", + "thiserror 2.0.18", "tokio", "tokio-stream", "tokio-tar", @@ -13762,21 +15828,6 @@ dependencies = [ "testcontainers", ] -[[package]] -name = "textwrap" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" -dependencies = [ - "unicode-width", -] - -[[package]] -name = "textwrap" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" - [[package]] name = "thiserror" version = "1.0.63" @@ -13788,11 +15839,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.12" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ - "thiserror-impl 2.0.12", + "thiserror-impl 2.0.18", ] [[package]] @@ -13801,18 +15852,18 @@ version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] [[package]] name = "thiserror-impl" -version = "2.0.12" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -13875,25 +15926,6 @@ dependencies = [ "time-core", ] -[[package]] -name = "tiny-bip39" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc59cb9dfc85bb312c3a78fd6aa8a8582e310b0fa885d5bb877f6dcc601839d" -dependencies = [ - "anyhow", - "hmac 0.8.1", - "once_cell", - "pbkdf2 0.4.0", - "rand 0.7.3", - "rustc-hash 1.1.0", - "sha2 0.9.9", - "thiserror 1.0.63", - "unicode-normalization", - "wasm-bindgen", - "zeroize", -] - [[package]] name = "tiny-keccak" version = "1.5.0" @@ -13971,7 +16003,7 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -14025,7 +16057,7 @@ version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" dependencies = [ - "rustls 0.23.28", + "rustls 0.23.36", "tokio", ] @@ -14084,6 +16116,21 @@ dependencies = [ "webpki-roots 0.22.6", ] +[[package]] +name = "tokio-tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" +dependencies = [ + "futures-util", + "log", + "rustls 0.21.12", + "tokio", + "tokio-rustls 0.24.1", + "tungstenite 0.20.1", + "webpki-roots 0.25.4", +] + [[package]] name = "tokio-tungstenite" version = "0.21.0" @@ -14098,9 +16145,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.11" +version = "0.7.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" dependencies = [ "bytes", "futures-core", @@ -14145,7 +16192,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.9.0", + "indexmap 2.12.0", "toml_datetime", "winnow 0.5.40", ] @@ -14156,7 +16203,7 @@ version = "0.22.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" dependencies = [ - "indexmap 2.9.0", + "indexmap 2.12.0", "serde", "serde_spanned", "toml_datetime", @@ -14263,6 +16310,29 @@ dependencies = [ "tracing", ] +[[package]] +name = "tower-http" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" +dependencies = [ + "async-compression", + "bitflags 2.10.0", + "bytes", + "futures-core", + "futures-util", + "http 1.2.0", + "http-body 1.0.1", + "http-body-util", + "iri-string", + "pin-project-lite", + "tokio", + "tokio-util", + "tower 0.5.2", + "tower-layer", + "tower-service", +] + [[package]] name = "tower-layer" version = "0.3.3" @@ -14293,7 +16363,7 @@ version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -14434,7 +16504,27 @@ dependencies = [ "url", "utf-8", "webpki", - "webpki-roots 0.22.6", +] + +[[package]] +name = "tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http 0.2.12", + "httparse", + "log", + "rand 0.8.5", + "rustls 0.21.12", + "sha1", + "thiserror 1.0.63", + "url", + "utf-8", + "webpki-roots 0.24.0", ] [[package]] @@ -14487,7 +16577,7 @@ version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70b20a22c42c8f1cd23ce5e34f165d4d37038f5b663ad20fb6adbdf029172483" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -14571,16 +16661,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] -name = "unicode-xid" -version = "0.0.4" +name = "unicode-width" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" +checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" [[package]] name = "unicode-xid" -version = "0.1.0" +version = "0.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" +checksum = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" [[package]] name = "unicode-xid" @@ -14588,6 +16678,12 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" +[[package]] +name = "unit-prefix" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3" + [[package]] name = "universal-hash" version = "0.5.1" @@ -14625,7 +16721,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2e7e85a0596447f0f2ac090e16bc4c516c6fe91771fb0c0ccf7fa3dae896b9c" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 1.0.109", ] @@ -14644,16 +16740,17 @@ dependencies = [ [[package]] name = "ureq" -version = "3.2.0" +version = "3.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc97a28575b85cfedf2a7e7d3cc64b3e11bd8ac766666318003abbacc7a21fc" +checksum = "99ba1025f18a4a3fc3e9b48c868e9beb4f24f4b4b1a325bada26bd4119f46537" dependencies = [ "base64 0.22.1", "cookie_store 0.22.0", "flate2", "log", "percent-encoding", - "rustls 0.23.28", + "rustls 0.23.36", + "rustls-pemfile 2.2.0", "rustls-pki-types", "serde", "serde_json", @@ -14664,9 +16761,9 @@ dependencies = [ [[package]] name = "ureq-proto" -version = "0.5.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d81f9efa9df032be5934a46a068815a10a042b494b6a58cb0a1a97bb5467ed6f" +checksum = "60b4531c118335662134346048ddb0e54cc86bd7e81866757873055f0e38f5d2" dependencies = [ "base64 0.22.1", "http 1.2.0", @@ -14686,12 +16783,12 @@ dependencies = [ [[package]] name = "url" -version = "2.5.2" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", - "idna 0.5.0", + "idna 1.1.0", "percent-encoding", "serde", ] @@ -14793,12 +16890,6 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" -[[package]] -name = "vec_map" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" - [[package]] name = "vergen" version = "8.3.2" @@ -14924,7 +17015,7 @@ checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", "wasm-bindgen-shared", @@ -14958,7 +17049,7 @@ version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", "wasm-bindgen-backend", @@ -15019,6 +17110,24 @@ dependencies = [ "untrusted 0.9.0", ] +[[package]] +name = "webpki-root-certs" +version = "0.26.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75c7f0ef91146ebfb530314f5f1d24528d7f0767efbfd31dce919275413e393e" +dependencies = [ + "webpki-root-certs 1.0.5", +] + +[[package]] +name = "webpki-root-certs" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36a29fc0408b113f68cf32637857ab740edfafdf460c326cd2afaa2d84cc05dc" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "webpki-roots" version = "0.22.6" @@ -15030,18 +17139,18 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.25.4" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" +checksum = "b291546d5d9d1eab74f069c77749f2cb8504a12caa20f0f2de93ddbf6f411888" +dependencies = [ + "rustls-webpki 0.101.7", +] [[package]] name = "webpki-roots" -version = "0.26.11" +version = "0.25.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" -dependencies = [ - "webpki-roots 1.0.0", -] +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "webpki-roots" @@ -15086,6 +17195,16 @@ dependencies = [ "wasite", ] +[[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" @@ -15128,9 +17247,9 @@ dependencies = [ [[package]] name = "windows-link" -version = "0.1.1" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" [[package]] name = "windows-link" @@ -15140,13 +17259,13 @@ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" [[package]] name = "windows-registry" -version = "0.4.0" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" +checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e" dependencies = [ + "windows-link 0.1.3", "windows-result", "windows-strings", - "windows-targets 0.53.5", ] [[package]] @@ -15155,16 +17274,25 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" dependencies = [ - "windows-link 0.1.1", + "windows-link 0.1.3", ] [[package]] name = "windows-strings" -version = "0.3.1" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" dependencies = [ - "windows-link 0.1.1", + "windows-targets 0.42.2", ] [[package]] @@ -15212,6 +17340,21 @@ dependencies = [ "windows-link 0.2.1", ] +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -15260,6 +17403,12 @@ dependencies = [ "windows_x86_64_msvc 0.53.0", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -15278,6 +17427,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -15296,6 +17451,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -15326,6 +17487,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -15344,6 +17511,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -15362,6 +17535,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -15380,6 +17559,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -15438,7 +17623,7 @@ version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", ] [[package]] @@ -15542,9 +17727,9 @@ dependencies = [ [[package]] name = "ya-gcp" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acaf2e321fc6f853572b372962fa253cba1b62a0025116bb463ce3c00b4394dc" +checksum = "41ab2ef01dbac9eb46fb68b7a3834cef7be263ad3f513ba86579f682519010b1" dependencies = [ "cfg-if", "futures", @@ -15581,15 +17766,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" -[[package]] -name = "yasna" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" -dependencies = [ - "time", -] - [[package]] name = "yoke" version = "0.8.1" @@ -15607,7 +17783,7 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", "synstructure 0.13.1", @@ -15656,7 +17832,7 @@ version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -15676,7 +17852,7 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", "synstructure 0.13.1", @@ -15697,7 +17873,7 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] @@ -15730,27 +17906,32 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ - "proc-macro2 1.0.93", + "proc-macro2", "quote 1.0.42", "syn 2.0.109", ] +[[package]] +name = "zmij" +version = "1.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ff05f8caa9038894637571ae6b9e29466c1f4f829d26c9b28f869a29cbe3445" + [[package]] name = "zstd" -version = "0.11.2+zstd.1.5.2" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "5.0.2+zstd.1.5.2" +version = "7.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" +checksum = "54a3ab4db68cea366acc5c897c7b4d4d1b8994a9cd6e6f841f8964566a419059" dependencies = [ - "libc", "zstd-sys", ] diff --git a/rust/main/Cargo.toml b/rust/main/Cargo.toml index d1833edf9b0..b0c5b0adb2c 100644 --- a/rust/main/Cargo.toml +++ b/rust/main/Cargo.toml @@ -57,7 +57,7 @@ cc = "1.2.2" base64 = "0.21.2" bigdecimal = "0.4.2" bincode = "1.3" -borsh = "0.9" +borsh = { version = "1.5", features = ["derive"] } bs58 = "0.5.0" bytes = "1" byteorder = "1.5.0" @@ -83,7 +83,7 @@ derive-new = "0.5" derive_builder = "0.12" derive_more = "0.99" dhat = "0.3.3" -ed25519-dalek = "~1.0" +ed25519-dalek = "~2.1" eyre = "=0.6.8" fixed-hash = "0.8.0" fuels = "0.65.0" @@ -126,11 +126,11 @@ paste = "1.0" pin-project = "1.1.9" pretty_env_logger = "0.5.0" primitive-types = "=0.12.1" -prometheus = "0.13" -protobuf = "*" +prometheus = "0.14" +protobuf = "2.28" rand = "0.8.5" regex = "1.5" -reqwest = "0.11" +reqwest = { version = "0.11", features = ["json"] } ripemd = "0.1.3" rlp = "=0.5.2" rocksdb = "0.24.0" @@ -154,12 +154,21 @@ serde_json = "1.0" sha2 = { version = "0.10.6", default-features = false } sha256 = "1.1.4" sha3 = "0.10" -solana-account-decoder = "=1.14.13" -solana-address-lookup-table-program = "=1.14.13" -solana-client = "=1.14.13" -solana-program = "=1.14.13" -solana-sdk = "=1.14.13" -solana-transaction-status = "=1.14.13" +solana-account-decoder = "3.0" +solana-address-lookup-table-interface = "3.0" +solana-client = "3.0" +solana-rpc-client = "3.0" +solana-commitment-config = "3.0" +solana-compute-budget-interface = { version = "3.0", features = ["borsh"] } +solana-loader-v3-interface = { version = "3.0", features = ["serde", "bincode"] } +solana-program = "3.0" +solana-pubsub-client = "3.0" +solana-sdk = "3.0" +solana-sdk-ids = "3.0" +solana-stake-interface = "1.2" +solana-system-interface = { version = "2.0", features = ["bincode"] } +solana-transaction-status = "3.0" +solana-vote-interface = "3.0" starknet = "0.15.0" static_assertions = "1.1" strum = "0.26.2" @@ -191,7 +200,7 @@ uuid = { version = "=1.11.0", features = ["v4"] } walkdir = "2" warp = "0.3" which = "4.3" -ya-gcp = { version = "0.11.3", features = ["storage"] } +ya-gcp = { version = "0.12.0", features = ["storage"] } radix-common = { git = "https://github.com/hyperlane-xyz/radixdlt-scrypto.git", branch = "hyperlane" } radix-transactions = { git = "https://github.com/hyperlane-xyz/radixdlt-scrypto.git", branch = "hyperlane" } radix-engine-interface = { git = "https://github.com/hyperlane-xyz/radixdlt-scrypto.git", branch = "hyperlane" } @@ -301,72 +310,3 @@ branch = "hyperlane" git = "https://github.com/hyperlane-xyz/parity-common.git" version = "=0.5.2" -[patch.crates-io.solana-account-decoder] -git = "https://github.com/hyperlane-xyz/solana.git" -tag = "hyperlane-1.14.13-2025-05-21" -version = "=1.14.13" - -[patch.crates-io.solana-address-lookup-table-program] -git = "https://github.com/hyperlane-xyz/solana.git" -tag = "hyperlane-1.14.13-2025-05-21" -version = "=1.14.13" - -[patch.crates-io.solana-clap-utils] -git = "https://github.com/hyperlane-xyz/solana.git" -tag = "hyperlane-1.14.13-2025-05-21" -version = "=1.14.13" - -[patch.crates-io.solana-cli-config] -git = "https://github.com/hyperlane-xyz/solana.git" -tag = "hyperlane-1.14.13-2025-05-21" -version = "=1.14.13" - -[patch.crates-io.solana-client] -git = "https://github.com/hyperlane-xyz/solana.git" -tag = "hyperlane-1.14.13-2025-05-21" -version = "=1.14.13" - -[patch.crates-io.solana-program] -git = "https://github.com/hyperlane-xyz/solana.git" -tag = "hyperlane-1.14.13-2025-05-21" -version = "=1.14.13" - -[patch.crates-io.solana-sdk] -git = "https://github.com/hyperlane-xyz/solana.git" -tag = "hyperlane-1.14.13-2025-05-21" -version = "=1.14.13" - -[patch.crates-io.solana-transaction-status] -git = "https://github.com/hyperlane-xyz/solana.git" -tag = "hyperlane-1.14.13-2025-05-21" -version = "=1.14.13" - -[patch.crates-io.solana-zk-token-sdk] -git = "https://github.com/hyperlane-xyz/solana.git" -tag = "hyperlane-1.14.13-2025-05-21" -version = "=1.14.13" - -[patch.crates-io.spl-associated-token-account] -branch = "hyperlane" -git = "https://github.com/hyperlane-xyz/solana-program-library.git" -version = "=1.1.2" - -[patch.crates-io.spl-noop] -branch = "hyperlane" -git = "https://github.com/hyperlane-xyz/solana-program-library.git" -version = "=0.1.3" - -[patch.crates-io.spl-token] -branch = "hyperlane" -git = "https://github.com/hyperlane-xyz/solana-program-library.git" -version = "=3.5.0" - -[patch.crates-io.spl-token-2022] -branch = "hyperlane" -git = "https://github.com/hyperlane-xyz/solana-program-library.git" -version = "=0.5.0" - -[patch.crates-io.spl-type-length-value] -version = "=0.1.0" -git = "https://github.com/hyperlane-xyz/solana-program-library.git" -branch = "hyperlane" diff --git a/rust/main/chains/hyperlane-sealevel/Cargo.toml b/rust/main/chains/hyperlane-sealevel/Cargo.toml index e671f4a0d4b..018e5518ea8 100644 --- a/rust/main/chains/hyperlane-sealevel/Cargo.toml +++ b/rust/main/chains/hyperlane-sealevel/Cargo.toml @@ -20,11 +20,20 @@ reqwest.workspace = true serde.workspace = true serde_json.workspace = true solana-account-decoder.workspace = true -solana-address-lookup-table-program.workspace = true +solana-address-lookup-table-interface.workspace = true solana-client.workspace = true +solana-rpc-client.workspace = true +solana-commitment-config.workspace = true +solana-compute-budget-interface.workspace = true +solana-loader-v3-interface.workspace = true solana-program.workspace = true +solana-pubsub-client.workspace = true solana-sdk.workspace = true +solana-sdk-ids.workspace = true +solana-stake-interface.workspace = true +solana-system-interface.workspace = true solana-transaction-status.workspace = true +solana-vote-interface.workspace = true thiserror.workspace = true tokio.workspace = true tracing-futures.workspace = true diff --git a/rust/main/chains/hyperlane-sealevel/src/account.rs b/rust/main/chains/hyperlane-sealevel/src/account.rs index 2798f32b774..b4524f68fe7 100644 --- a/rust/main/chains/hyperlane-sealevel/src/account.rs +++ b/rust/main/chains/hyperlane-sealevel/src/account.rs @@ -4,7 +4,8 @@ use solana_client::{ rpc_config::{RpcAccountInfoConfig, RpcProgramAccountsConfig}, rpc_filter::{Memcmp, MemcmpEncodedBytes, RpcFilterType}, }; -use solana_sdk::{account::Account, commitment_config::CommitmentConfig, pubkey::Pubkey}; +use solana_commitment_config::CommitmentConfig; +use solana_sdk::{account::Account, pubkey::Pubkey}; use hyperlane_core::{ChainCommunicationError, ChainResult}; @@ -25,13 +26,11 @@ pub async fn search_accounts_by_discriminator( // To keep responses small in case there is ever more than 1 // match, we don't request the full account data, and just request // the field which was used to generate account id - #[allow(deprecated)] - let memcmp = RpcFilterType::Memcmp(Memcmp { + let memcmp = RpcFilterType::Memcmp(Memcmp::new( // Ignore the first byte, which is the `initialized` bool flag. - offset: 1, - bytes: MemcmpEncodedBytes::Base64(target_message_account_bytes), - encoding: None, - }); + 1, + MemcmpEncodedBytes::Base64(target_message_account_bytes), + )); let config = RpcProgramAccountsConfig { filters: Some(vec![memcmp]), account_config: RpcAccountInfoConfig { @@ -41,6 +40,7 @@ pub async fn search_accounts_by_discriminator( min_context_slot: None, }, with_context: Some(false), + sort_results: None, }; let accounts = provider .rpc_client() diff --git a/rust/main/chains/hyperlane-sealevel/src/alt.rs b/rust/main/chains/hyperlane-sealevel/src/alt.rs index 2b443824917..fc40e702263 100644 --- a/rust/main/chains/hyperlane-sealevel/src/alt.rs +++ b/rust/main/chains/hyperlane-sealevel/src/alt.rs @@ -15,8 +15,8 @@ //! indefinitely. use hyperlane_core::{ChainCommunicationError, ChainResult}; -use solana_address_lookup_table_program::state::AddressLookupTable; -use solana_program::address_lookup_table_account::AddressLookupTableAccount; +use solana_address_lookup_table_interface::state::AddressLookupTable; +use solana_sdk::message::AddressLookupTableAccount; use solana_sdk::pubkey::Pubkey; use crate::rpc::fallback::SealevelFallbackRpcClient; diff --git a/rust/main/chains/hyperlane-sealevel/src/interchain_gas.rs b/rust/main/chains/hyperlane-sealevel/src/interchain_gas.rs index 8f256eed18c..06e475a258f 100644 --- a/rust/main/chains/hyperlane-sealevel/src/interchain_gas.rs +++ b/rust/main/chains/hyperlane-sealevel/src/interchain_gas.rs @@ -207,7 +207,9 @@ impl SealevelInterchainGasPaymasterIndexer { } fn interchain_payment_account(&self, account: &Account) -> ChainResult { - let unique_gas_payment_pubkey = Pubkey::new(&account.data); + let unique_gas_payment_pubkey = Pubkey::try_from(account.data.as_slice()).map_err(|e| { + ChainCommunicationError::from_other_str(&format!("Invalid pubkey: {e}")) + })?; let (expected_pubkey, _bump) = Pubkey::try_find_program_address( igp_gas_payment_pda_seeds!(unique_gas_payment_pubkey), &self.igp.program_id, @@ -303,7 +305,6 @@ impl SequenceAwareIndexer for SealevelInterchainGasPaymast #[cfg(test)] mod tests { - use borsh::BorshSerialize; use hyperlane_sealevel_igp::accounts::GasPaymentData; use super::*; @@ -326,16 +327,17 @@ mod tests { .into(), ); - let serialized = gas_payment.into_inner().try_to_vec().unwrap(); + let serialized = borsh::to_vec(&*gas_payment.into_inner()).unwrap(); // Note: although unclear in the docs, the reason for subtracting 1 is as follows. // The `offset` field of `memcmp` does not add to the offset of the `dataSlice` filtering param in `get_payment_with_sequence`. // As such, `UNIQUE_GAS_PAYMENT_PUBKEY_OFFSET` has to account for that 1-byte offset of that `offset` field, which represents // an `is_initialized` boolean. // Since the dummy `GasPaymentAccount` is not prefixed by an `is_initialized` boolean, we have to subtract 1 from the offset. - let sliced_unique_gas_payment_pubkey = Pubkey::new( + let sliced_unique_gas_payment_pubkey = Pubkey::try_from( &serialized[(UNIQUE_GAS_PAYMENT_PUBKEY_OFFSET - 1) ..(UNIQUE_GAS_PAYMENT_PUBKEY_OFFSET + 32 - 1)], - ); + ) + .unwrap(); assert_eq!( expected_unique_gas_payment_pubkey, sliced_unique_gas_payment_pubkey diff --git a/rust/main/chains/hyperlane-sealevel/src/mailbox.rs b/rust/main/chains/hyperlane-sealevel/src/mailbox.rs index b5185a1c7c6..0591cac4098 100644 --- a/rust/main/chains/hyperlane-sealevel/src/mailbox.rs +++ b/rust/main/chains/hyperlane-sealevel/src/mailbox.rs @@ -19,10 +19,10 @@ use hyperlane_sealevel_message_recipient_interface::{ }; use lazy_static::lazy_static; use serializable_account_meta::SimulationReturnData; +use solana_commitment_config::CommitmentConfig; use solana_program::pubkey; -use solana_sdk::account::Account; use solana_sdk::{ - commitment_config::CommitmentConfig, + account::Account, instruction::{AccountMeta, Instruction}, pubkey::Pubkey, signer::Signer as _, diff --git a/rust/main/chains/hyperlane-sealevel/src/mailbox_indexer.rs b/rust/main/chains/hyperlane-sealevel/src/mailbox_indexer.rs index e79dd066178..69a7d6f817b 100644 --- a/rust/main/chains/hyperlane-sealevel/src/mailbox_indexer.rs +++ b/rust/main/chains/hyperlane-sealevel/src/mailbox_indexer.rs @@ -131,7 +131,9 @@ impl SealevelMailboxIndexer { } fn dispatched_message_account(&self, account: &Account) -> ChainResult { - let unique_message_pubkey = Pubkey::new(&account.data); + let unique_message_pubkey = Pubkey::try_from(account.data.as_slice()).map_err(|e| { + ChainCommunicationError::from_other_str(&format!("Invalid pubkey: {e}")) + })?; let (expected_pubkey, _bump) = Pubkey::try_find_program_address( mailbox_dispatched_message_pda_seeds!(unique_message_pubkey), &self.mailbox.program_id, diff --git a/rust/main/chains/hyperlane-sealevel/src/metric/prometheus_sender.rs b/rust/main/chains/hyperlane-sealevel/src/metric/prometheus_sender.rs index 0c2249528c1..e578fd2178b 100644 --- a/rust/main/chains/hyperlane-sealevel/src/metric/prometheus_sender.rs +++ b/rust/main/chains/hyperlane-sealevel/src/metric/prometheus_sender.rs @@ -1,10 +1,9 @@ use std::time::{Duration, Instant}; use hyperlane_metric::prometheus_metric::{PrometheusClientMetrics, PrometheusConfig}; -use solana_client::{ - client_error::ClientError, +use solana_client::{client_error::ClientError, rpc_request::RpcRequest}; +use solana_rpc_client::{ http_sender::HttpSender, - rpc_request::RpcRequest, rpc_sender::{RpcSender, RpcTransportStats}, }; use url::Url; diff --git a/rust/main/chains/hyperlane-sealevel/src/provider.rs b/rust/main/chains/hyperlane-sealevel/src/provider.rs index 022144c6522..dbc1528fb68 100644 --- a/rust/main/chains/hyperlane-sealevel/src/provider.rs +++ b/rust/main/chains/hyperlane-sealevel/src/provider.rs @@ -6,13 +6,13 @@ use base64::Engine; use borsh::{BorshDeserialize, BorshSerialize}; use serializable_account_meta::{SerializableAccountMeta, SimulationReturnData}; use solana_client::rpc_response::Response; -use solana_program::address_lookup_table_account::AddressLookupTableAccount; +use solana_commitment_config::CommitmentConfig; +use solana_compute_budget_interface::ComputeBudgetInstruction; use solana_sdk::account::Account; -use solana_sdk::commitment_config::CommitmentConfig; -use solana_sdk::compute_budget::ComputeBudgetInstruction; use solana_sdk::hash::Hash; use solana_sdk::instruction::{AccountMeta, Instruction}; use solana_sdk::message::v0::Message as MessageV0; +use solana_sdk::message::AddressLookupTableAccount; use solana_sdk::message::{Message, VersionedMessage}; use solana_sdk::pubkey::Pubkey; use solana_sdk::signature::Signature; @@ -670,7 +670,9 @@ impl HyperlaneProvider for SealevelProvider { /// We can refactor abstractions so that our chain-agnostic code is more suitable /// for all chains, not only Ethereum-like chains. async fn get_txn_by_hash(&self, hash: &H512) -> ChainResult { - let signature = Signature::new(hash.as_bytes()); + let signature = Signature::try_from(hash.as_bytes()).map_err(|e| { + ChainCommunicationError::from_other_str(&format!("Invalid signature: {e}")) + })?; let txn_confirmed = self.rpc_client.get_transaction(signature).await?; let txn_with_meta = &txn_confirmed.transaction; diff --git a/rust/main/chains/hyperlane-sealevel/src/provider/recipient.rs b/rust/main/chains/hyperlane-sealevel/src/provider/recipient.rs index 142d675260e..421f408380b 100644 --- a/rust/main/chains/hyperlane-sealevel/src/provider/recipient.rs +++ b/rust/main/chains/hyperlane-sealevel/src/provider/recipient.rs @@ -2,6 +2,10 @@ use std::collections::HashSet; use lazy_static::lazy_static; use solana_sdk::pubkey::Pubkey; +use solana_sdk_ids::{ + bpf_loader_upgradeable, compute_budget, config, ed25519_program, secp256k1_program, stake, + system_program, vote, +}; use solana_transaction_status::{ UiInstruction, UiParsedInstruction, UiPartiallyDecodedInstruction, UiTransaction, }; @@ -14,14 +18,14 @@ use crate::utils::decode_pubkey; lazy_static! { static ref NATIVE_PROGRAMS: HashSet = HashSet::from([ - solana_sdk::bpf_loader_upgradeable::ID.to_string(), - solana_sdk::compute_budget::ID.to_string(), - solana_sdk::config::program::ID.to_string(), - solana_sdk::ed25519_program::ID.to_string(), - solana_sdk::secp256k1_program::ID.to_string(), - solana_sdk::stake::program::ID.to_string(), - solana_sdk::system_program::ID.to_string(), - solana_sdk::vote::program::ID.to_string(), + bpf_loader_upgradeable::id().to_string(), + compute_budget::id().to_string(), + config::id().to_string(), + ed25519_program::id().to_string(), + secp256k1_program::id().to_string(), + stake::id().to_string(), + system_program::id().to_string(), + vote::id().to_string(), ]); } diff --git a/rust/main/chains/hyperlane-sealevel/src/provider/recipient/tests.rs b/rust/main/chains/hyperlane-sealevel/src/provider/recipient/tests.rs index 1b38fdb5ac4..0f3d78d0d15 100644 --- a/rust/main/chains/hyperlane-sealevel/src/provider/recipient/tests.rs +++ b/rust/main/chains/hyperlane-sealevel/src/provider/recipient/tests.rs @@ -120,11 +120,13 @@ fn transaction_with_igp() -> UiTransaction { program_id: "ComputeBudget111111111111111111111111111111".to_string(), accounts: vec![], data: "K1FDJ7".to_string(), + stack_height: None, })), UiInstruction::Parsed(UiParsedInstruction::PartiallyDecoded(UiPartiallyDecodedInstruction { program_id: "GwHaw8ewMyzZn9vvrZEnTEAAYpLdkGYs195XWcLDCN4U".to_string(), accounts: vec!["11111111111111111111111111111111".to_string(), "E9VrvAdGRvCguN2XgXsgu9PNmMM3vZsU8LSUrM68j8ty".to_string(), "HBB1MxTeuRGb3C4bfXLQbu9z2Pn2LTXVQX53Hy7uyeof".to_string(), "APrjTrTeUqyQgg7n52YrQkULUa4AniaVKkxhgTXNugSg".to_string(), "GV2Qj26E43X9zLhaR9jgs44yZnmf1UPqJNyd435ca7L1".to_string(), "DrFtxirPPsfdY4HQiNZj2A9o4Ux7JaL3gELANgAoihhp".to_string(), "EBEZGxTABcfHgPH1vZZc9BnFWHjne4nzqApZZxGTCgsn".to_string()], data: "6bsyHSvcBqJsshiyP1v8RNvNsiwPqsLr4LMEv8TQ2GVeoJM6uYWXFFujxHdts".to_string(), + stack_height: None, })) ], address_table_lookups: None, @@ -145,11 +147,13 @@ fn transaction_with_alternative_igp() -> UiTransaction { program_id: "ComputeBudget111111111111111111111111111111".to_string(), accounts: vec![], data: "K1FDJ7".to_string(), + stack_height: None, })), UiInstruction::Parsed(UiParsedInstruction::PartiallyDecoded(UiPartiallyDecodedInstruction { program_id: "GwHaw8ewMyzZn9vvrZEnTEAAYpLdkGYs195XWcLDCN4U".to_string(), accounts: vec!["11111111111111111111111111111111".to_string(), "E9VrvAdGRvCguN2XgXsgu9PNmMM3vZsU8LSUrM68j8ty".to_string(), "HBB1MxTeuRGb3C4bfXLQbu9z2Pn2LTXVQX53Hy7uyeof".to_string(), "83fgCBnDRTU3ke1L9RGxkYRhT48DS8csJ6U1QDRLU96h".to_string(), "5MRsEobfsbZKrrZnE6bGCCGPLXzF56x9jJzmQ6DMDe7a".to_string(), "8EniU8dQaGQ3HWWtT77V7hrksheygvEu6TtzJ3pX1nKM".to_string(), "3A83CEaaEQtgvzdfppEt6arFY1vgkpaf9rd8Ynfoyit8".to_string()], data: "6bsyHSvcBqJsshiyP1v8RNvNsiwPqsLr4LMEv8TQ2GVeoJM6uYWXFFujxHdts".to_string(), + stack_height: None, })) ], address_table_lookups: None, @@ -170,6 +174,7 @@ fn transaction_with_native_programs_only() -> UiTransaction { program_id: "ComputeBudget111111111111111111111111111111".to_string(), accounts: vec![], data: "K1FDJ7".to_string(), + stack_height: None, })) ], address_table_lookups: None, diff --git a/rust/main/chains/hyperlane-sealevel/src/rpc/client.rs b/rust/main/chains/hyperlane-sealevel/src/rpc/client.rs index d0bff6fa470..31d63f40f87 100644 --- a/rust/main/chains/hyperlane-sealevel/src/rpc/client.rs +++ b/rust/main/chains/hyperlane-sealevel/src/rpc/client.rs @@ -9,10 +9,10 @@ use solana_client::{ }, rpc_response::{Response, RpcSimulateTransactionResult}, }; +use solana_commitment_config::CommitmentConfig; use solana_program::clock::Slot; use solana_sdk::{ account::Account, - commitment_config::CommitmentConfig, hash::Hash, pubkey::Pubkey, signature::Signature, diff --git a/rust/main/chains/hyperlane-sealevel/src/rpc/client_builder.rs b/rust/main/chains/hyperlane-sealevel/src/rpc/client_builder.rs index 387c5cd5631..6a15c6b9dc5 100644 --- a/rust/main/chains/hyperlane-sealevel/src/rpc/client_builder.rs +++ b/rust/main/chains/hyperlane-sealevel/src/rpc/client_builder.rs @@ -4,7 +4,7 @@ use hyperlane_metric::prometheus_metric::{ ChainInfo, ClientConnectionType, PrometheusClientMetrics, PrometheusConfig, }; use solana_client::{nonblocking::rpc_client::RpcClient, rpc_client::RpcClientConfig}; -use solana_sdk::commitment_config::CommitmentConfig; +use solana_commitment_config::CommitmentConfig; use url::Url; use crate::client::SealevelRpcClient; diff --git a/rust/main/chains/hyperlane-sealevel/src/rpc/fallback.rs b/rust/main/chains/hyperlane-sealevel/src/rpc/fallback.rs index f5e8df366d0..92cfbf4de5d 100644 --- a/rust/main/chains/hyperlane-sealevel/src/rpc/fallback.rs +++ b/rust/main/chains/hyperlane-sealevel/src/rpc/fallback.rs @@ -4,7 +4,7 @@ use async_trait::async_trait; use derive_new::new; use solana_client::rpc_config::RpcProgramAccountsConfig; use solana_client::rpc_response::{Response, RpcSimulateTransactionResult}; -use solana_sdk::commitment_config::CommitmentConfig; +use solana_commitment_config::CommitmentConfig; use solana_sdk::hash::Hash; use solana_sdk::pubkey::Pubkey; use solana_sdk::signature::Signature; diff --git a/rust/main/chains/hyperlane-sealevel/src/signer.rs b/rust/main/chains/hyperlane-sealevel/src/signer.rs index 8c82465d3a8..65a77b6f9f2 100644 --- a/rust/main/chains/hyperlane-sealevel/src/signer.rs +++ b/rust/main/chains/hyperlane-sealevel/src/signer.rs @@ -5,10 +5,12 @@ use hyperlane_core::H256; /// Creates keypair from secret key pub fn create_keypair(key: &H256) -> Result { - let secret = ed25519_dalek::SecretKey::from_bytes(key.as_bytes()) - .context("Invalid sealevel ed25519 secret key")?; - let public = ed25519_dalek::PublicKey::from(&secret); - let dalek = ed25519_dalek::Keypair { secret, public }; - let keypair = Keypair::from_bytes(&dalek.to_bytes()).context("Unable to create Keypair")?; + // ed25519-dalek v2.x uses SigningKey instead of SecretKey/Keypair + // H256 is 32 bytes, convert slice to fixed array + let key_bytes: &[u8; 32] = key.as_fixed_bytes(); + let signing_key = ed25519_dalek::SigningKey::from_bytes(key_bytes); + let keypair_bytes = signing_key.to_keypair_bytes(); + let keypair = + Keypair::try_from(keypair_bytes.as_slice()).context("Unable to create Keypair")?; Ok(keypair) } diff --git a/rust/main/chains/hyperlane-sealevel/src/tx_submitter.rs b/rust/main/chains/hyperlane-sealevel/src/tx_submitter.rs index 298176ce105..0e258c5a994 100644 --- a/rust/main/chains/hyperlane-sealevel/src/tx_submitter.rs +++ b/rust/main/chains/hyperlane-sealevel/src/tx_submitter.rs @@ -5,10 +5,9 @@ use std::sync::Arc; use async_trait::async_trait; use derive_new::new; -use solana_sdk::{ - commitment_config::CommitmentConfig, compute_budget::ComputeBudgetInstruction, - instruction::Instruction, pubkey::Pubkey, signature::Signature, -}; +use solana_commitment_config::CommitmentConfig; +use solana_compute_budget_interface::ComputeBudgetInstruction; +use solana_sdk::{instruction::Instruction, pubkey::Pubkey, signature::Signature}; use hyperlane_core::ChainResult; @@ -126,7 +125,7 @@ impl TransactionSubmitter for JitoTransactionSubmitter { // The tip is a standalone transfer to a Jito fee account. // See https://github.com/jito-labs/mev-protos/blob/master/json_rpc/http.md#sendbundle. - solana_sdk::system_instruction::transfer( + solana_system_interface::instruction::transfer( payer, // A random Jito fee account, taken from the getFeeAccount RPC response: // https://github.com/jito-labs/mev-protos/blob/master/json_rpc/http.md#gettipaccounts diff --git a/rust/main/chains/hyperlane-sealevel/src/validator_announce.rs b/rust/main/chains/hyperlane-sealevel/src/validator_announce.rs index 5391621187f..df9e45f80be 100644 --- a/rust/main/chains/hyperlane-sealevel/src/validator_announce.rs +++ b/rust/main/chains/hyperlane-sealevel/src/validator_announce.rs @@ -15,8 +15,8 @@ use solana_sdk::{ instruction::{AccountMeta, Instruction}, pubkey::Pubkey, signer::Signer as _, - system_program, }; +use solana_system_interface::program as system_program; use tracing::{info, instrument}; use crate::{ConnectionConf, SealevelKeypair, SealevelProvider, TransactionSubmitter}; diff --git a/rust/main/hyperlane-base/src/metrics/runtime_metrics.rs b/rust/main/hyperlane-base/src/metrics/runtime_metrics.rs index 032557f575b..c7c9c40fa29 100644 --- a/rust/main/hyperlane-base/src/metrics/runtime_metrics.rs +++ b/rust/main/hyperlane-base/src/metrics/runtime_metrics.rs @@ -29,7 +29,7 @@ impl RuntimeMetrics { pub fn new(metrics: &CoreMetrics, task_monitor: TaskMonitor) -> Result { let dropped_tasks = metrics .new_int_counter("tokio_dropped_tasks", RUNTIME_DROPPED_TASKS_HELP, &[])? - .with_label_values(&[]); + .with_label_values::<&str>(&[]); let chain_metrics = Self { producer: task_monitor, dropped_tasks, diff --git a/rust/main/hyperlane-base/src/settings/signers.rs b/rust/main/hyperlane-base/src/settings/signers.rs index f9c644dc623..1ebdd69f1e5 100644 --- a/rust/main/hyperlane-base/src/settings/signers.rs +++ b/rust/main/hyperlane-base/src/settings/signers.rs @@ -341,7 +341,7 @@ mod tests { "0d861aa9ee7b09fe0305a649ec9aa0dfede421817dbe995b48964e5a79fc89e50f8ac473c042cdd96a1fc81eac32221188807572521429fb871a856a668502a5"; const ADDRESS: &str = "0f8ac473c042cdd96a1fc81eac32221188807572521429fb871a856a668502a5"; - let chain_signer = hyperlane_sealevel::Keypair::from_bytes( + let chain_signer = hyperlane_sealevel::Keypair::try_from( hex::decode(PRIVATE_KEY) .expect("Failed to decode private key") .as_slice(), diff --git a/rust/main/hyperlane-core/src/accumulator/incremental.rs b/rust/main/hyperlane-core/src/accumulator/incremental.rs index 28203020ec3..31965316ceb 100644 --- a/rust/main/hyperlane-core/src/accumulator/incremental.rs +++ b/rust/main/hyperlane-core/src/accumulator/incremental.rs @@ -7,7 +7,7 @@ use crate::accumulator::{ H256, TREE_DEPTH, ZERO_HASHES, }; -#[derive(BorshDeserialize, BorshSerialize, Debug, Clone, new, PartialEq, Eq)] +#[derive(BorshSerialize, Debug, Clone, new, PartialEq, Eq)] /// An incremental merkle tree, modeled on the eth2 deposit contract pub struct IncrementalMerkle { /// The branch of the tree @@ -16,6 +16,24 @@ pub struct IncrementalMerkle { pub count: usize, } +/// Custom BorshDeserialize to avoid stack overflow in Solana BPF. +/// The derived impl deserializes `[H256; 32]` in a nested stack frame (1024 bytes), +/// then copies it back into the caller's frame (another 1024 bytes). These stacked +/// frames can exceed the 4KB BPF stack limit during CPI calls. +/// This impl does everything in a single frame, and `#[inline(never)]` prevents it +/// from being merged with other large-stack callers. +impl BorshDeserialize for IncrementalMerkle { + #[inline(never)] + fn deserialize_reader(reader: &mut R) -> std::io::Result { + let mut branch = [H256::zero(); TREE_DEPTH]; + for item in branch.iter_mut() { + *item = H256::deserialize_reader(reader)?; + } + let count = usize::deserialize_reader(reader)?; + Ok(Self { branch, count }) + } +} + impl Default for IncrementalMerkle { fn default() -> Self { let mut branch: [H256; TREE_DEPTH] = Default::default(); @@ -89,8 +107,44 @@ impl IncrementalMerkle { } } -#[cfg(all(test, feature = "ethers"))] +#[cfg(test)] mod test { + use super::*; + + #[test] + fn borsh_roundtrip() { + let mut tree = IncrementalMerkle::default(); + tree.ingest(H256::from([1u8; 32])); + tree.ingest(H256::from([2u8; 32])); + let serialized = borsh::to_vec(&tree).unwrap(); + let deserialized: IncrementalMerkle = borsh::from_slice(&serialized).unwrap(); + assert_eq!(tree, deserialized); + } + + #[test] + fn borsh_roundtrip_empty() { + let tree = IncrementalMerkle::default(); + let serialized = borsh::to_vec(&tree).unwrap(); + let deserialized: IncrementalMerkle = borsh::from_slice(&serialized).unwrap(); + assert_eq!(tree, deserialized); + } + + #[test] + fn borsh_roundtrip_deep() { + let mut tree = IncrementalMerkle::default(); + for i in 0u64..100 { + let mut leaf = [0u8; 32]; + leaf[..8].copy_from_slice(&i.to_le_bytes()); + tree.ingest(H256::from(leaf)); + } + let serialized = borsh::to_vec(&tree).unwrap(); + let deserialized: IncrementalMerkle = borsh::from_slice(&serialized).unwrap(); + assert_eq!(tree, deserialized); + } +} + +#[cfg(all(test, feature = "ethers"))] +mod ethers_test { use ethers_core::utils::hash_message; use crate::test_utils; diff --git a/rust/main/lander/Cargo.toml b/rust/main/lander/Cargo.toml index e589731cf4f..7b5d086068b 100644 --- a/rust/main/lander/Cargo.toml +++ b/rust/main/lander/Cargo.toml @@ -30,7 +30,10 @@ regex.workspace = true serde.workspace = true serde_json.workspace = true solana-client.workspace = true +solana-commitment-config.workspace = true +solana-compute-budget-interface.workspace = true solana-sdk.workspace = true +solana-system-interface.workspace = true solana-transaction-status.workspace = true thiserror.workspace = true tokio = { workspace = true, features = ["rt", "macros", "parking_lot"] } diff --git a/rust/main/lander/src/adapter/chains/sealevel/adapter.rs b/rust/main/lander/src/adapter/chains/sealevel/adapter.rs index 1bc923cc919..1814440e3f5 100644 --- a/rust/main/lander/src/adapter/chains/sealevel/adapter.rs +++ b/rust/main/lander/src/adapter/chains/sealevel/adapter.rs @@ -6,9 +6,9 @@ use eyre::eyre; use futures_util::future::join_all; use serde_json::json; use solana_client::rpc_response::{Response, RpcSimulateTransactionResult}; +use solana_commitment_config::CommitmentConfig; +use solana_compute_budget_interface::ComputeBudgetInstruction; use solana_sdk::{ - commitment_config::CommitmentConfig, - compute_budget::ComputeBudgetInstruction, instruction::AccountMeta, message::Message, pubkey::Pubkey, @@ -251,7 +251,8 @@ impl SealevelAdapter { #[instrument(skip(self))] async fn get_tx_hash_status(&self, tx_hash: H512) -> Result { - let signature = Signature::new(tx_hash.as_ref()); + let signature = Signature::try_from(tx_hash.as_ref()) + .map_err(|e| LanderError::TxSubmissionError(format!("Invalid signature: {e}")))?; // query the tx hash from most to least finalized to learn what level of finality it has // the calls below can be parallelized if needed, but for now avoid rate limiting diff --git a/rust/main/lander/src/adapter/chains/sealevel/adapter/tests/tests_common.rs b/rust/main/lander/src/adapter/chains/sealevel/adapter/tests/tests_common.rs index 282b7ac535a..c46d6a57849 100644 --- a/rust/main/lander/src/adapter/chains/sealevel/adapter/tests/tests_common.rs +++ b/rust/main/lander/src/adapter/chains/sealevel/adapter/tests/tests_common.rs @@ -3,10 +3,10 @@ use std::sync::Arc; use async_trait::async_trait; use mockall::mock; use solana_client::rpc_response::RpcSimulateTransactionResult; +use solana_commitment_config::CommitmentConfig; +use solana_compute_budget_interface::ComputeBudgetInstruction; use solana_sdk::account::Account; use solana_sdk::{ - commitment_config::CommitmentConfig, - compute_budget::ComputeBudgetInstruction, instruction::Instruction as SealevelInstruction, message::Message, pubkey::Pubkey, @@ -244,6 +244,15 @@ fn mock_client() -> MockClient { accounts: None, units_consumed: None, return_data: None, + replacement_blockhash: None, + inner_instructions: None, + fee: None, + loaded_accounts_data_size: None, + loaded_addresses: None, + post_balances: None, + post_token_balances: None, + pre_balances: None, + pre_token_balances: None, }; let mut client = MockClient::new(); @@ -273,6 +282,7 @@ pub fn svm_block() -> UiConfirmedBlock { rewards: None, block_time: None, block_height: None, + num_reward_partitions: None, } } @@ -295,6 +305,7 @@ pub fn encoded_svm_transaction() -> EncodedConfirmedTransactionWithStatusMeta { loaded_addresses: OptionSerializer::None, return_data: OptionSerializer::None, compute_units_consumed: OptionSerializer::None, + cost_units: OptionSerializer::None, }), version: None, }, diff --git a/rust/main/lander/src/dispatcher/db/loader.rs b/rust/main/lander/src/dispatcher/db/loader.rs index 06d86e43fa5..fd59f6668a1 100644 --- a/rust/main/lander/src/dispatcher/db/loader.rs +++ b/rust/main/lander/src/dispatcher/db/loader.rs @@ -210,7 +210,6 @@ impl DirectionalIndexIterator { mod tests { use std::collections::HashMap; - use solana_sdk::nonce::state; use tokio::sync::Mutex; use super::*; diff --git a/rust/main/lander/src/tests/svm/tests_inclusion_stage.rs b/rust/main/lander/src/tests/svm/tests_inclusion_stage.rs index 9ca8f3d1579..ddc02ad7086 100644 --- a/rust/main/lander/src/tests/svm/tests_inclusion_stage.rs +++ b/rust/main/lander/src/tests/svm/tests_inclusion_stage.rs @@ -5,12 +5,12 @@ use hyperlane_sealevel::{ SealevelKeypair, SealevelTxCostEstimate, SealevelTxType, TransactionSubmitter, }; use solana_client::rpc_response::RpcSimulateTransactionResult; +use solana_compute_budget_interface::ComputeBudgetInstruction; use solana_sdk::{ - compute_budget::ComputeBudgetInstruction, hash::Hash, - instruction::Instruction as SealevelInstruction, message::Message, pubkey::Pubkey, - signature::Signature, signer::Signer, system_instruction, - transaction::Transaction as SealevelTransaction, + hash::Hash, instruction::Instruction as SealevelInstruction, message::Message, pubkey::Pubkey, + signature::Signature, signer::Signer, transaction::Transaction as SealevelTransaction, }; +use solana_system_interface::instruction as system_instruction; use tokio::{select, sync::mpsc}; use tracing::info; use tracing_test::traced_test; @@ -619,6 +619,15 @@ fn mock_simulate_transaction(mock_provider: &mut MockClient) { accounts: None, units_consumed: None, return_data: None, + replacement_blockhash: None, + inner_instructions: None, + fee: None, + loaded_accounts_data_size: None, + loaded_addresses: None, + post_balances: None, + post_token_balances: None, + pre_balances: None, + pre_token_balances: None, }) }); mock_provider @@ -630,6 +639,15 @@ fn mock_simulate_transaction(mock_provider: &mut MockClient) { accounts: None, units_consumed: None, return_data: None, + replacement_blockhash: None, + inner_instructions: None, + fee: None, + loaded_accounts_data_size: None, + loaded_addresses: None, + post_balances: None, + post_token_balances: None, + pre_balances: None, + pre_token_balances: None, }) }); } diff --git a/rust/main/lander/tests/integration_sealevel.rs b/rust/main/lander/tests/integration_sealevel.rs index 9d39f12fb66..cb8b14cb4a6 100644 --- a/rust/main/lander/tests/integration_sealevel.rs +++ b/rust/main/lander/tests/integration_sealevel.rs @@ -8,10 +8,10 @@ use std::{sync::Arc, time::Duration}; use async_trait::async_trait; use mockall::mock; use solana_client::rpc_response::RpcSimulateTransactionResult; +use solana_commitment_config::CommitmentConfig; +use solana_compute_budget_interface::ComputeBudgetInstruction; use solana_sdk::{ account::Account, - commitment_config::CommitmentConfig, - compute_budget::ComputeBudgetInstruction, hash::Hash, instruction::Instruction as SealevelInstruction, message::{v0::Message as MessageV0, Message, VersionedMessage}, @@ -208,6 +208,15 @@ fn create_sealevel_client() -> MockClient { accounts: None, units_consumed: None, return_data: None, + replacement_blockhash: None, + inner_instructions: None, + fee: None, + loaded_accounts_data_size: None, + loaded_addresses: None, + post_balances: None, + post_token_balances: None, + pre_balances: None, + pre_token_balances: None, }; let mut client = MockClient::new(); @@ -253,6 +262,7 @@ fn svm_block() -> UiConfirmedBlock { rewards: None, block_time: None, block_height: None, + num_reward_partitions: None, } } @@ -275,6 +285,7 @@ fn encoded_svm_transaction() -> EncodedConfirmedTransactionWithStatusMeta { loaded_addresses: OptionSerializer::None, return_data: OptionSerializer::None, compute_units_consumed: OptionSerializer::None, + cost_units: OptionSerializer::None, }), version: None, }, diff --git a/rust/main/utils/run-locally/src/sealevel/solana.rs b/rust/main/utils/run-locally/src/sealevel/solana.rs index ca3d70f46e4..6967879ea87 100644 --- a/rust/main/utils/run-locally/src/sealevel/solana.rs +++ b/rust/main/utils/run-locally/src/sealevel/solana.rs @@ -17,12 +17,12 @@ use crate::utils::{ pub const SOLANA_AGENT_BIN_PATH: &str = "target/debug"; -/// Solana CLI version for compiling programs -pub const SOLANA_CONTRACTS_CLI_VERSION: &str = "1.14.20"; -pub const SOLANA_CONTRACTS_CLI_RELEASE_URL: &str = "github.com/solana-labs/solana"; +/// Agave CLI version for compiling programs (v3.x supports Rust 2024 edition) +pub const SOLANA_CONTRACTS_CLI_VERSION: &str = "3.0.14"; +pub const SOLANA_CONTRACTS_CLI_RELEASE_URL: &str = "github.com/anza-xyz/agave"; /// Solana version used by mainnet validators -pub const SOLANA_NETWORK_CLI_VERSION: &str = "2.0.24"; +pub const SOLANA_NETWORK_CLI_VERSION: &str = "3.0.14"; pub const SOLANA_NETWORK_CLI_RELEASE_URL: &str = "github.com/anza-xyz/agave"; const SOLANA_PROGRAM_LIBRARY_ARCHIVE: &str = diff --git a/rust/sealevel/Cargo.lock b/rust/sealevel/Cargo.lock index 6e0a4a08802..a14ad0796bc 100644 --- a/rust/sealevel/Cargo.lock +++ b/rust/sealevel/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "Inflector" @@ -16,32 +16,25 @@ dependencies = [ name = "access-control" version = "0.1.0" dependencies = [ - "solana-program", + "solana-program 3.0.0", ] [[package]] name = "account-utils" version = "0.1.0" dependencies = [ - "borsh", - "solana-program", - "spl-type-length-value", -] - -[[package]] -name = "addr2line" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375" -dependencies = [ - "gimli", + "borsh 1.6.0", + "solana-program 3.0.0", + "solana-system-interface 2.0.0", + "spl-discriminator 0.5.1", + "spl-type-length-value 0.6.0", ] [[package]] name = "adler2" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aead" @@ -79,31 +72,157 @@ dependencies = [ "zeroize", ] +[[package]] +name = "agave-feature-set" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "716de4309d921e2d0908d6bc601e82b2b15f3e77423aebd7f92f54c1ce93dffe" +dependencies = [ + "ahash 0.8.12", + "solana-epoch-schedule 3.0.0", + "solana-hash 3.1.0", + "solana-pubkey 3.0.0", + "solana-sha256-hasher 3.1.0", + "solana-svm-feature-set", +] + +[[package]] +name = "agave-io-uring" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9219619a76350eb16a77ec7fdd3c51298c9e8b9ae6615bf7729bcc97053d88da" +dependencies = [ + "io-uring", + "libc", + "log", + "slab", + "smallvec", +] + +[[package]] +name = "agave-precompiles" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b984ab75ac40e68a73c3bc953f732c1da1f08c71fa866454da3d41d44f739c41" +dependencies = [ + "agave-feature-set", + "bincode", + "digest 0.10.7", + "ed25519-dalek 1.0.1", + "libsecp256k1", + "openssl", + "sha3", + "solana-ed25519-program", + "solana-message 3.0.1", + "solana-precompile-error", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-secp256k1-program", + "solana-secp256r1-program", +] + +[[package]] +name = "agave-reserved-account-keys" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d31eb6b96ba26b7af016232a31f40194309a81530c9695e7dd7967fe7edffd9f" +dependencies = [ + "agave-feature-set", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", +] + +[[package]] +name = "agave-syscalls" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eca001c34a043ceae1c069d72d5d7e8314f682d08224f6d09308e30de5f3a39" +dependencies = [ + "bincode", + "libsecp256k1", + "num-traits", + "solana-account 3.4.0", + "solana-account-info 3.1.0", + "solana-big-mod-exp 3.0.0", + "solana-blake3-hasher 3.1.0", + "solana-bn254", + "solana-clock 3.0.0", + "solana-cpi 3.1.0", + "solana-curve25519", + "solana-hash 3.1.0", + "solana-instruction 3.1.0", + "solana-keccak-hasher 3.1.0", + "solana-loader-v3-interface 6.1.0", + "solana-poseidon", + "solana-program-entrypoint 3.1.1", + "solana-program-runtime", + "solana-pubkey 3.0.0", + "solana-sbpf", + "solana-sdk-ids 3.1.0", + "solana-secp256k1-recover 3.1.0", + "solana-sha256-hasher 3.1.0", + "solana-stable-layout 3.0.0", + "solana-stake-interface 2.0.2", + "solana-svm-callback", + "solana-svm-feature-set", + "solana-svm-log-collector", + "solana-svm-measure", + "solana-svm-timings", + "solana-svm-type-overrides", + "solana-sysvar 3.1.1", + "solana-sysvar-id 3.1.0", + "solana-transaction-context", + "thiserror 2.0.18", +] + +[[package]] +name = "agave-transaction-view" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4ef45a483432715c1b85f494ee2570f35ecf2ef25822fabe58425eaa5fc33ef" +dependencies = [ + "solana-hash 3.1.0", + "solana-message 3.0.1", + "solana-packet", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-short-vec 3.2.0", + "solana-signature 3.1.0", + "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", + "getrandom 0.2.17", "once_cell", "version_check", ] [[package]] -name = "aho-corasick" -version = "1.1.3" +name = "ahash" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ - "memchr", + "cfg-if", + "getrandom 0.3.4", + "once_cell", + "version_check", + "zerocopy", ] [[package]] -name = "aliasable" -version = "0.1.3" +name = "aho-corasick" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +dependencies = [ + "memchr", +] [[package]] name = "alloc-no-stdlib" @@ -121,10 +240,10 @@ dependencies = [ ] [[package]] -name = "android-tzdata" -version = "0.1.1" +name = "allocator-api2" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "android_system_properties" @@ -146,9 +265,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.15" +version = "0.6.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" +checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" dependencies = [ "anstyle", "anstyle-parse", @@ -161,49 +280,314 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.8" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" +checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" [[package]] name = "anstyle-parse" -version = "0.2.5" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.1" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.4" +version = "3.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "once_cell_polyfill", + "windows-sys 0.61.2", ] [[package]] name = "anyhow" -version = "1.0.87" +version = "1.0.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" + +[[package]] +name = "aquamarine" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f50776554130342de4836ba542aa85a4ddb361690d7e8df13774d7284c3d5c2" +dependencies = [ + "include_dir", + "itertools 0.10.5", + "proc-macro-error2", + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "arc-swap" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ded5f9a03ac8f24d1b8a25101ee812cd32cdc8c50a4c50237de2c4915850e73" +dependencies = [ + "rustversion", +] + +[[package]] +name = "ark-bn254" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" +dependencies = [ + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-std 0.4.0", +] + +[[package]] +name = "ark-bn254" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d69eab57e8d2663efa5c63135b2af4f396d66424f88954c21104125ab6b3e6bc" +dependencies = [ + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-std 0.5.0", +] + +[[package]] +name = "ark-ec" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" +dependencies = [ + "ark-ff 0.4.2", + "ark-poly 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "derivative", + "hashbrown 0.13.2", + "itertools 0.10.5", + "num-traits", + "zeroize", +] + +[[package]] +name = "ark-ec" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43d68f2d516162846c1238e755a7c4d131b892b70cc70c471a8e3ca3ed818fce" +dependencies = [ + "ahash 0.8.12", + "ark-ff 0.5.0", + "ark-poly 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "educe 0.6.0", + "fnv", + "hashbrown 0.15.2", + "itertools 0.13.0", + "num-bigint 0.4.6", + "num-integer", + "num-traits", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +dependencies = [ + "ark-ff-asm 0.4.2", + "ark-ff-macros 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "derivative", + "digest 0.10.7", + "itertools 0.10.5", + "num-bigint 0.4.6", + "num-traits", + "paste", + "rustc_version", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a177aba0ed1e0fbb62aa9f6d0502e9b46dad8c2eab04c14258a1212d2557ea70" +dependencies = [ + "ark-ff-asm 0.5.0", + "ark-ff-macros 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "arrayvec", + "digest 0.10.7", + "educe 0.6.0", + "itertools 0.13.0", + "num-bigint 0.4.6", + "num-traits", + "paste", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-asm" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" +dependencies = [ + "quote", + "syn 2.0.114", +] + +[[package]] +name = "ark-ff-macros" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" +dependencies = [ + "num-bigint 0.4.6", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09be120733ee33f7693ceaa202ca41accd5653b779563608f1234f78ae07c4b3" +dependencies = [ + "num-bigint 0.4.6", + "num-traits", + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "ark-poly" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" +dependencies = [ + "ark-ff 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "derivative", + "hashbrown 0.13.2", +] + +[[package]] +name = "ark-poly" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "579305839da207f02b89cd1679e50e67b4331e2f9294a57693e5051b7703fe27" +dependencies = [ + "ahash 0.8.12", + "ark-ff 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "educe 0.6.0", + "fnv", + "hashbrown 0.15.2", +] + +[[package]] +name = "ark-serialize" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +dependencies = [ + "ark-serialize-derive 0.4.2", + "ark-std 0.4.0", + "digest 0.10.7", + "num-bigint 0.4.6", +] + +[[package]] +name = "ark-serialize" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f4d068aaf107ebcd7dfb52bc748f8030e0fc930ac8e360146ca54c1203088f7" +dependencies = [ + "ark-serialize-derive 0.5.0", + "ark-std 0.5.0", + "arrayvec", + "digest 0.10.7", + "num-bigint 0.4.6", +] + +[[package]] +name = "ark-serialize-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-serialize-derive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "ark-std" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + +[[package]] +name = "ark-std" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10f00e1f6e58a40e807377c75c6a7f97bf9044fab57816f2414e6f5f4499d7b8" +checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" +dependencies = [ + "num-traits", + "rand 0.8.5", +] [[package]] name = "arrayref" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" @@ -229,7 +613,7 @@ dependencies = [ "nom", "num-traits", "rusticata-macros", - "thiserror", + "thiserror 1.0.69", "time", ] @@ -239,10 +623,10 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", + "proc-macro2", + "quote", "syn 1.0.109", - "synstructure", + "synstructure 0.12.6", ] [[package]] @@ -251,8 +635,8 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", + "proc-macro2", + "quote", "syn 1.0.109", ] @@ -263,47 +647,67 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] -name = "async-compression" -version = "0.4.12" +name = "async-channel" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fec134f64e2bc57411226dfc4e52dec859ddfc7e711fc5e07b612584f000e4aa" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" dependencies = [ - "brotli", - "flate2", + "concurrent-queue", + "event-listener 2.5.3", "futures-core", - "memchr", +] + +[[package]] +name = "async-compression" +version = "0.4.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d10e4f991a553474232bc0a31799f6d24b034a84c0971d80d2e2f78b2e576e40" +dependencies = [ + "compression-codecs", + "compression-core", "pin-project-lite", "tokio", ] +[[package]] +name = "async-lock" +version = "3.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311" +dependencies = [ + "event-listener 5.4.1", + "event-listener-strategy", + "pin-project-lite", +] + [[package]] name = "async-mutex" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479db852db25d9dbf6204e6cb6253698f175c15726470f78af0d918e99d6156e" +checksum = "73112ce9e1059d8604242af62c7ec8e5975ac58ac251686c8403b45e8a6fe778" dependencies = [ - "event-listener", + "event-listener 2.5.3", ] [[package]] name = "async-rwlock" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261803dcc39ba9e72760ba6e16d0199b1eef9fc44e81bffabbebb9f5aea3906c" +checksum = "769d0d7efd6ca1be6f7aaab8d4948947ddcf33586c98215a8e4ac541e15a4dc5" dependencies = [ "async-mutex", - "event-listener", + "event-listener 2.5.3", ] [[package]] name = "async-trait" -version = "0.1.82" +version = "0.1.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 2.0.77", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] @@ -317,6 +721,12 @@ dependencies = [ "rustc_version", ] +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + [[package]] name = "atty" version = "0.2.14" @@ -335,48 +745,39 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7862e21c893d65a1650125d157eaeec691439379a1cee17ee49031b79236ada4" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.86", - "quote 1.0.37", + "proc-macro2", + "quote", "syn 1.0.109", ] [[package]] name = "auto_impl" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" +checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 2.0.77", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] name = "autocfg" -version = "1.3.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] -name = "backtrace" -version = "0.3.74" +name = "base16ct" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" -dependencies = [ - "addr2line", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", - "windows-targets 0.52.6", -] +checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" [[package]] name = "base16ct" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" [[package]] name = "base58" @@ -412,6 +813,12 @@ version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + [[package]] name = "base64ct" version = "1.6.0" @@ -426,15 +833,15 @@ checksum = "2dabbe35f96fb9507f7330793dc490461b2962659ac5d427181e451a623751d1" [[package]] name = "bech32" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d965446196e3b7decd44aa7ee49e31d630118f90ef12f97900f262eb915c951d" +checksum = "32637268377fc7b10a8c6d51de3e7fba1ce5dd371a96e342b34e6078db558e7f" [[package]] name = "bigdecimal" -version = "0.4.5" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d712318a27c7150326677b321a5fa91b55f6d9034ffd67f20319e147d40cee" +checksum = "4d6867f1565b3aad85681f1015055b087fcfd840d6aeee6eee7f2da317603695" dependencies = [ "autocfg", "libm", @@ -460,9 +867,12 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.6.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +dependencies = [ + "serde_core", +] [[package]] name = "bitmaps" @@ -506,9 +916,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.4.0" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "729b71f35bd3fa1a4c86b85d32c8b9069ea7fe14f7a53cfabb65f62d4265b888" +checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" dependencies = [ "arrayref", "arrayvec", @@ -524,7 +934,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" dependencies = [ - "block-padding 0.1.5", + "block-padding", "byte-tools", "byteorder", "generic-array 0.12.4", @@ -536,7 +946,6 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ - "block-padding 0.2.1", "generic-array 0.14.7", ] @@ -559,61 +968,78 @@ dependencies = [ ] [[package]] -name = "block-padding" -version = "0.2.1" +name = "borsh" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" +checksum = "115e54d64eb62cdebad391c19efc9dce4981c690c85a33a12199d99bb9546fee" +dependencies = [ + "borsh-derive 0.10.4", + "hashbrown 0.13.2", +] [[package]] name = "borsh" -version = "0.9.3" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa" +checksum = "d1da5ab77c1437701eeff7c88d968729e7766172279eab0676857b3d63af7a6f" dependencies = [ - "borsh-derive", - "hashbrown 0.11.2", + "borsh-derive 1.6.0", + "cfg_aliases", ] [[package]] name = "borsh-derive" -version = "0.9.3" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775" +checksum = "831213f80d9423998dd696e2c5345aba6be7a0bd8cd19e31c5243e13df1cef89" dependencies = [ "borsh-derive-internal", "borsh-schema-derive-internal", "proc-macro-crate 0.1.5", - "proc-macro2 1.0.86", + "proc-macro2", "syn 1.0.109", ] +[[package]] +name = "borsh-derive" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0686c856aa6aac0c4498f936d7d6a02df690f614c03e4d906d1018062b5c5e2c" +dependencies = [ + "once_cell", + "proc-macro-crate 3.2.0", + "proc-macro2", + "quote", + "syn 2.0.114", +] + [[package]] name = "borsh-derive-internal" -version = "0.9.3" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" +checksum = "65d6ba50644c98714aa2a70d13d7df3cd75cd2b523a2b452bf010443800976b3" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", + "proc-macro2", + "quote", "syn 1.0.109", ] [[package]] name = "borsh-schema-derive-internal" -version = "0.9.3" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" +checksum = "276691d96f063427be83e6692b86148e488ebba9f48f77788724ca027ba3b6d4" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", + "proc-macro2", + "quote", "syn 1.0.109", ] [[package]] name = "brotli" -version = "6.0.0" +version = "8.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b" +checksum = "4bd8b9603c7aa97359dbd97ecf258968c95f3adddd6db2f7e7a5bef101c84560" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -622,9 +1048,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "4.0.1" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362" +checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -647,8 +1073,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.14.0" -source = "git+https://github.com/fitzgen/bumpalo?tag=3.14.0#c610d5adc54b9428465d72c4666c305df04c792a" +version = "3.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" [[package]] name = "bv" @@ -662,9 +1089,9 @@ dependencies = [ [[package]] name = "byte-slice-cast" -version = "1.2.2" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" +checksum = "7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d" [[package]] name = "byte-tools" @@ -674,22 +1101,22 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.18.0" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94bbb0ad554ad961ddc5da507a12a29b14e4ae5bda06b19f575a3e6079d2e2ae" +checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.7.1" +version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26" +checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 2.0.77", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] @@ -700,9 +1127,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.7.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" +checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" dependencies = [ "serde", ] @@ -719,39 +1146,37 @@ dependencies = [ [[package]] name = "bzip2-sys" -version = "0.1.11+1.0.8" +version = "0.1.13+1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +checksum = "225bff33b2141874fe80d71e07d6eec4f85c5c216453dd96388240f96e1acc14" dependencies = [ "cc", - "libc", "pkg-config", ] [[package]] name = "camino" -version = "1.1.9" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" dependencies = [ - "serde", + "serde_core", ] [[package]] name = "caps" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190baaad529bcfbde9e1a19022c42781bdb6ff9de25721abdb8fd98c0807730b" +checksum = "fd1ddba47aba30b6a889298ad0109c3b8dcb0e8fc993b459daa7067d46f865e0" dependencies = [ "libc", - "thiserror", ] [[package]] name = "cargo-platform" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" dependencies = [ "serde", ] @@ -767,38 +1192,61 @@ dependencies = [ "semver", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "cc" -version = "1.0.83" +version = "1.2.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +checksum = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29" dependencies = [ + "find-msvc-tools", "jobserver", "libc", + "shlex", ] +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "cfg_eval" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "45565fc9416b9896014f5732ac776f810ee53a66730c17e4020c3ec064a8f88f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] [[package]] name = "chrono" -version = "0.4.38" +version = "0.4.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" dependencies = [ - "android-tzdata", "iana-time-zone", "js-sys", "num-traits", - "serde", "wasm-bindgen", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -830,32 +1278,16 @@ dependencies = [ "atty", "bitflags 1.3.2", "strsim 0.8.0", - "textwrap 0.11.0", - "unicode-width", + "textwrap", + "unicode-width 0.1.14", "vec_map", ] [[package]] name = "clap" -version = "3.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" -dependencies = [ - "atty", - "bitflags 1.3.2", - "clap_lex 0.2.4", - "indexmap 1.9.3", - "once_cell", - "strsim 0.10.0", - "termcolor", - "textwrap 0.16.1", -] - -[[package]] -name = "clap" -version = "4.4.17" +version = "4.5.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80932e03c33999b9235edb8655bc9df3204adc9887c2f95b50cb1deb9fd54253" +checksum = "a75ca66430e33a14957acc24c5077b503e7d374151b2b4b3a10c83b4ceb4be0e" dependencies = [ "clap_builder", "clap_derive", @@ -863,42 +1295,33 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.17" +version = "4.5.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6c0db58c659eef1c73e444d298c27322a1b52f6927d2ad470c0c0f96fa7b8fa" +checksum = "793207c7fa6300a0608d1080b858e5fdbe713cdc1c8db9fb17777d8a13e63df0" dependencies = [ "anstream", "anstyle", - "clap_lex 0.6.0", - "strsim 0.10.0", + "clap_lex", + "strsim 0.11.1", ] [[package]] name = "clap_derive" -version = "4.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" -dependencies = [ - "heck 0.4.1", - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 2.0.77", -] - -[[package]] -name = "clap_lex" -version = "0.2.4" +version = "4.5.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +checksum = "a92793da1a46a5f2a02a6f4c46c6496b28c43638adea8306fcb0caa1634f24e5" dependencies = [ - "os_str_bytes", + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] name = "clap_lex" -version = "0.6.0" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" +checksum = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32" [[package]] name = "coins-bip32" @@ -910,13 +1333,13 @@ dependencies = [ "bs58 0.4.0", "coins-core", "digest 0.10.7", - "getrandom 0.2.15", + "getrandom 0.2.17", "hmac 0.12.1", - "k256", + "k256 0.11.6", "lazy_static", "serde", - "sha2 0.10.8", - "thiserror", + "sha2 0.10.9", + "thiserror 1.0.69", ] [[package]] @@ -927,13 +1350,13 @@ checksum = "2a11892bcac83b4c6e95ab84b5b06c76d9d70ad73548dd07418269c5c7977171" dependencies = [ "bitvec 0.17.4", "coins-bip32", - "getrandom 0.2.15", + "getrandom 0.2.17", "hex", "hmac 0.12.1", "pbkdf2 0.11.0", "rand 0.8.5", - "sha2 0.10.8", - "thiserror", + "sha2 0.10.9", + "thiserror 1.0.69", ] [[package]] @@ -952,16 +1375,16 @@ dependencies = [ "ripemd", "serde", "serde_derive", - "sha2 0.10.8", - "sha3 0.10.8", - "thiserror", + "sha2 0.10.9", + "sha3", + "thiserror 1.0.69", ] [[package]] name = "colorchoice" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" +checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" [[package]] name = "combine" @@ -976,17 +1399,67 @@ dependencies = [ "unreachable", ] +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + +[[package]] +name = "compression-codecs" +version = "0.4.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00828ba6fd27b45a448e57dbfe84f1029d4c9f26b368157e9a448a5f49a2ec2a" +dependencies = [ + "brotli", + "compression-core", + "flate2", + "memchr", +] + +[[package]] +name = "compression-core" +version = "0.4.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75984efb6ed102a0d42db99afb6c1948f0380d1d91808d5529916e6c08b49d8d" + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "console" -version = "0.15.8" +version = "0.15.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" dependencies = [ "encode_unicode", - "lazy_static", "libc", - "unicode-width", - "windows-sys 0.52.0", + "once_cell", + "unicode-width 0.2.2", + "windows-sys 0.59.0", +] + +[[package]] +name = "console" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03e45a4a8926227e4197636ba97a9fc9b00477e9f4bd711395687c5f0734bec4" +dependencies = [ + "encode_unicode", + "libc", + "once_cell", + "unicode-width 0.2.2", + "windows-sys 0.61.2", ] [[package]] @@ -1011,21 +1484,35 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.7.1" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] -name = "const-oid" -version = "0.9.6" +name = "const_format" +version = "0.2.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" +checksum = "7faa7469a93a566e9ccc1c73fe783b4a65c274c5ace346038dca9c39fe0030ad" +dependencies = [ + "const_format_proc_macros", +] + +[[package]] +name = "const_format_proc_macros" +version = "0.2.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] [[package]] name = "constant_time_eq" -version = "0.2.6" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a53c0a4d288377e7415b53dcfc3c04da5cdc2cc95c8d5ac178b58f0b861ad6" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "convert_case" @@ -1052,6 +1539,16 @@ dependencies = [ "libc", ] +[[package]] +name = "core-foundation" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "core-foundation-sys" version = "0.8.7" @@ -1060,36 +1557,36 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.14" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] [[package]] name = "crc32fast" -version = "1.4.2" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ "cfg-if", ] [[package]] name = "crossbeam-channel" -version = "0.5.13" +version = "0.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-deque" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -1106,15 +1603,15 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" -version = "0.2.2" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "crypto-bigint" @@ -1128,11 +1625,23 @@ dependencies = [ "zeroize", ] +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array 0.14.7", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + [[package]] name = "crypto-common" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" dependencies = [ "generic-array 0.14.7", "rand_core 0.6.4", @@ -1160,50 +1669,118 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "3.2.2" -source = "git+https://github.com/Eclipse-Laboratories-Inc/curve25519-dalek?branch=v3.2.2-relax-zeroize#5154e5d02be0d9a7486dde86d67ff0327511c717" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" dependencies = [ "byteorder", "digest 0.9.0", "rand_core 0.5.1", + "subtle", + "zeroize", +] + +[[package]] +name = "curve25519-dalek" +version = "4.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" +dependencies = [ + "cfg-if", + "cpufeatures", + "curve25519-dalek-derive", + "digest 0.10.7", + "fiat-crypto", + "rand_core 0.6.4", + "rustc_version", "serde", "subtle", "zeroize", ] +[[package]] +name = "curve25519-dalek-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "darling" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.11.1", + "syn 2.0.114", +] + +[[package]] +name = "darling_macro" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.114", +] + [[package]] name = "dashmap" -version = "4.0.2" +version = "5.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e77a43b28d0668df09411cb0bc9a8c2adc40f9a048afe863e05fd43251e8e39c" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "num_cpus", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core 0.9.12", "rayon", ] [[package]] name = "data-encoding" -version = "2.6.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" +checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" [[package]] name = "der" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" dependencies = [ - "const-oid 0.7.1", + "const-oid", + "zeroize", ] [[package]] name = "der" -version = "0.6.1" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ - "const-oid 0.9.6", + "const-oid", "zeroize", ] @@ -1236,28 +1813,39 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e5c37193a1db1d8ed868c03ec7b152175f26160a5b740e5e484143877e0adf0" +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "derive-new" version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", + "proc-macro2", + "quote", "syn 1.0.109", ] [[package]] name = "derive_more" -version = "0.99.17" +version = "0.99.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f" dependencies = [ "convert_case 0.4.0", - "proc-macro2 1.0.86", - "quote 1.0.37", + "proc-macro2", + "quote", "rustc_version", - "syn 1.0.109", + "syn 2.0.114", ] [[package]] @@ -1275,9 +1863,9 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 2.0.77", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] @@ -1286,12 +1874,18 @@ version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59c6f2989294b9a498d3ad5491a79c6deb604617378e1cdc4bfc1c1361fe2f87" dependencies = [ - "console", + "console 0.15.11", "shell-words", "tempfile", "zeroize", ] +[[package]] +name = "difflib" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" + [[package]] name = "digest" version = "0.8.1" @@ -1317,6 +1911,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.4", + "const-oid", "crypto-common", "subtle", ] @@ -1357,34 +1952,40 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 2.0.77", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] -name = "dlopen" -version = "0.1.8" +name = "dlopen2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e80ad39f814a9abe68583cd50a2d45c8a67561c3361ab8da240587dda80937" +checksum = "09b4f5f101177ff01b8ec4ecc81eead416a8aa42819a2869311b3420fa114ffa" dependencies = [ - "dlopen_derive", - "lazy_static", + "dlopen2_derive", "libc", + "once_cell", "winapi", ] [[package]] -name = "dlopen_derive" -version = "0.1.4" +name = "dlopen2_derive" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f236d9e1b1fbd81cea0f9cbdc8dcc7e8ebcd80e6659cd7cb2ad5f6c05946c581" +checksum = "a6cbae11b3de8fce2a456e8ea3dada226b35fe791f0dc1d360c0941f0bb681f3" dependencies = [ - "libc", - "quote 0.6.13", - "syn 0.15.44", + "proc-macro2", + "quote", + "syn 2.0.114", ] +[[package]] +name = "downcast" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" + [[package]] name = "dunce" version = "1.0.5" @@ -1404,19 +2005,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" dependencies = [ "der 0.6.1", - "elliptic-curve", - "rfc6979", - "signature", + "elliptic-curve 0.12.3", + "rfc6979 0.3.1", + "signature 1.6.4", ] [[package]] -name = "ecdsa-signature" -version = "0.1.0" +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ - "getrandom 0.2.15", - "hyperlane-core", - "solana-program", - "thiserror", + "der 0.7.10", + "digest 0.10.7", + "elliptic-curve 0.13.8", + "rfc6979 0.4.0", + "signature 2.2.0", + "spki 0.7.3", +] + +[[package]] +name = "ecdsa-signature" +version = "0.1.0" +dependencies = [ + "getrandom 0.2.17", + "hyperlane-core", + "solana-program 3.0.0", + "thiserror 1.0.69", ] [[package]] @@ -1425,7 +2040,17 @@ version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" dependencies = [ - "signature", + "signature 1.6.4", +] + +[[package]] +name = "ed25519" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" +dependencies = [ + "pkcs8 0.10.2", + "signature 2.2.0", ] [[package]] @@ -1434,24 +2059,39 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" dependencies = [ - "curve25519-dalek", - "ed25519", + "curve25519-dalek 3.2.0", + "ed25519 1.5.3", "rand 0.7.3", "serde", "sha2 0.9.9", "zeroize", ] +[[package]] +name = "ed25519-dalek" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" +dependencies = [ + "curve25519-dalek 4.1.3", + "ed25519 2.2.3", + "rand_core 0.6.4", + "serde", + "sha2 0.10.9", + "subtle", + "zeroize", +] + [[package]] name = "ed25519-dalek-bip32" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d2be62a4061b872c8c0873ee4fc6f101ce7b889d039f019c5fa2af471a59908" +checksum = "6b49a684b133c4980d7ee783936af771516011c8cd15f429dbda77245e282f03" dependencies = [ "derivation-path", - "ed25519-dalek", + "ed25519-dalek 2.2.0", "hmac 0.12.1", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] @@ -1460,17 +2100,29 @@ version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f0042ff8246a363dbe77d2ceedb073339e85a804b9a47636c6e016a9a32c05f" dependencies = [ - "enum-ordinalize", - "proc-macro2 1.0.86", - "quote 1.0.37", + "enum-ordinalize 3.1.15", + "proc-macro2", + "quote", "syn 1.0.109", ] +[[package]] +name = "educe" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" +dependencies = [ + "enum-ordinalize 4.3.2", + "proc-macro2", + "quote", + "syn 2.0.114", +] + [[package]] name = "either" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "elliptic-curve" @@ -1478,53 +2130,72 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" dependencies = [ - "base16ct", - "crypto-bigint", + "base16ct 0.1.1", + "crypto-bigint 0.4.9", "der 0.6.1", "digest 0.10.7", - "ff", + "ff 0.12.1", "generic-array 0.14.7", - "group", + "group 0.12.1", "pkcs8 0.9.0", "rand_core 0.6.4", - "sec1", + "sec1 0.3.0", + "subtle", + "zeroize", +] + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct 0.2.0", + "crypto-bigint 0.5.5", + "digest 0.10.7", + "ff 0.13.1", + "generic-array 0.14.7", + "group 0.13.0", + "pkcs8 0.10.2", + "rand_core 0.6.4", + "sec1 0.7.3", "subtle", "zeroize", ] [[package]] name = "encode_unicode" -version = "0.3.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" [[package]] name = "encoding_rs" -version = "0.8.34" +version = "0.8.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" dependencies = [ "cfg-if", ] [[package]] name = "enum-iterator" -version = "0.8.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2953d1df47ac0eb70086ccabf0275aa8da8591a28bd358ee2b52bd9f9e3ff9e9" +checksum = "9fd242f399be1da0a5354aa462d57b4ab2b4ee0683cc552f7c007d2d12d36e94" dependencies = [ "enum-iterator-derive", ] [[package]] name = "enum-iterator-derive" -version = "0.8.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8958699f9359f0b04e691a13850d48b7de329138023876d07cbd024c2c820598" +checksum = "685adfa4d6f3d765a26bc5dbc936577de9abf756c1feeb3089b01dd395034842" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 1.0.109", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] @@ -1535,34 +2206,39 @@ checksum = "1bf1fa3f06bbff1ea5b1a9c7b14aa992a39657db60a2759457328d7e058f49ee" dependencies = [ "num-bigint 0.4.6", "num-traits", - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 2.0.77", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] -name = "enum_dispatch" -version = "0.3.13" +name = "enum-ordinalize" +version = "4.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd" +checksum = "4a1091a7bb1f8f2c4b28f1fe2cef4980ca2d410a3d727d67ecc3178c9b0800f0" dependencies = [ - "once_cell", - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 2.0.77", + "enum-ordinalize-derive", ] [[package]] -name = "env_logger" -version = "0.9.3" +name = "enum-ordinalize-derive" +version = "4.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" +checksum = "8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "env_filter" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bf3c259d255ca70051b30e2e95b5446cdb8949ac4cd22c0d7fd634d89f568e2" dependencies = [ - "atty", - "humantime", "log", "regex", - "termcolor", ] [[package]] @@ -1578,30 +2254,44 @@ dependencies = [ "termcolor", ] +[[package]] +name = "env_logger" +version = "0.11.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f" +dependencies = [ + "anstream", + "anstyle", + "env_filter", + "jiff", + "log", +] + [[package]] name = "equivalent" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "erased-serde" -version = "0.4.5" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24e2389d65ab4fab27dc2a5de7b191e1f6617d1f1c8855c0dc569c94a4cbb18d" +checksum = "89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3" dependencies = [ "serde", + "serde_core", "typeid", ] [[package]] name = "errno" -version = "0.3.9" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -1620,9 +2310,9 @@ dependencies = [ "scrypt", "serde", "serde_json", - "sha2 0.10.8", - "sha3 0.10.8", - "thiserror", + "sha2 0.10.9", + "sha3", + "thiserror 1.0.69", "uuid 0.8.2", ] @@ -1638,8 +2328,8 @@ dependencies = [ "regex", "serde", "serde_json", - "sha3 0.10.8", - "thiserror", + "sha3", + "thiserror 1.0.69", "uint", ] @@ -1650,10 +2340,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" dependencies = [ "crunchy", - "fixed-hash 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "impl-codec 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "impl-rlp 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "impl-serde 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", "scale-info", "tiny-keccak", ] @@ -1665,10 +2355,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" dependencies = [ "ethbloom", - "fixed-hash 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "impl-codec 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "impl-rlp 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "impl-serde 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", "primitive-types", "scale-info", "uint", @@ -1714,7 +2404,7 @@ dependencies = [ "pin-project", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -1727,12 +2417,12 @@ dependencies = [ "dunce", "ethers-core", "eyre", - "getrandom 0.2.15", + "getrandom 0.2.17", "hex", - "proc-macro2 1.0.86", - "quote 1.0.37", + "proc-macro2", + "quote", "regex", - "reqwest", + "reqwest 0.11.27", "serde", "serde_json", "syn 1.0.109", @@ -1749,8 +2439,8 @@ dependencies = [ "ethers-contract-abigen", "ethers-core", "hex", - "proc-macro2 1.0.86", - "quote 1.0.37", + "proc-macro2", + "quote", "serde_json", "syn 1.0.109", ] @@ -1765,14 +2455,14 @@ dependencies = [ "cargo_metadata", "chrono", "convert_case 0.6.0", - "elliptic-curve", + "elliptic-curve 0.12.3", "ethabi", "generic-array 0.14.7", "hex", - "k256", + "k256 0.11.6", "once_cell", "open-fastrlp", - "proc-macro2 1.0.86", + "proc-macro2", "rand 0.8.5", "rlp", "rlp-derive", @@ -1780,9 +2470,9 @@ dependencies = [ "serde_json", "strum 0.24.1", "syn 1.0.109", - "thiserror", + "thiserror 1.0.69", "tiny-keccak", - "unicode-xid 0.2.5", + "unicode-xid", ] [[package]] @@ -1791,13 +2481,13 @@ version = "1.0.2" source = "git+https://github.com/hyperlane-xyz/ethers-rs?tag=2024-04-25#361b69b9561e11eb3cf8000a51de1985e2571785" dependencies = [ "ethers-core", - "getrandom 0.2.15", - "reqwest", + "getrandom 0.2.17", + "reqwest 0.11.27", "semver", "serde", "serde-aux", "serde_json", - "thiserror", + "thiserror 1.0.69", "tracing", ] @@ -1816,10 +2506,10 @@ dependencies = [ "futures-locks", "futures-util", "instant", - "reqwest", + "reqwest 0.11.27", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", "tokio", "tracing", "tracing-futures", @@ -1832,23 +2522,23 @@ version = "1.0.2" source = "git+https://github.com/hyperlane-xyz/ethers-rs?tag=2024-04-25#361b69b9561e11eb3cf8000a51de1985e2571785" dependencies = [ "async-trait", - "auto_impl 1.2.0", + "auto_impl 1.3.0", "base64 0.13.1", "ethers-core", "futures-core", "futures-timer", "futures-util", - "getrandom 0.2.15", + "getrandom 0.2.17", "hashers", "hex", - "http", + "http 0.2.12", "once_cell", "parking_lot 0.11.2", "pin-project", - "reqwest", + "reqwest 0.11.27", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", "tokio", "tracing", "tracing-futures", @@ -1868,13 +2558,13 @@ dependencies = [ "async-trait", "coins-bip32", "coins-bip39", - "elliptic-curve", + "elliptic-curve 0.12.3", "eth-keystore", "ethers-core", "hex", "rand 0.8.5", - "sha2 0.10.8", - "thiserror", + "sha2 0.10.9", + "thiserror 1.0.69", ] [[package]] @@ -1883,6 +2573,27 @@ version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" +[[package]] +name = "event-listener" +version = "5.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" +dependencies = [ + "event-listener 5.4.1", + "pin-project-lite", +] + [[package]] name = "eyre" version = "0.6.8" @@ -1899,11 +2610,23 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" +[[package]] +name = "fastbloom" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7f34442dbe69c60fe8eaf58a8cafff81a1f278816d8ab4db255b3bef4ac3c4" +dependencies = [ + "getrandom 0.3.4", + "libm", + "rand 0.9.2", + "siphasher 1.0.2", +] + [[package]] name = "fastrand" -version = "2.1.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "feature-probe" @@ -1921,34 +2644,92 @@ dependencies = [ "subtle", ] +[[package]] +name = "ff" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" +dependencies = [ + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "fiat-crypto" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" + [[package]] name = "filetime" -version = "0.2.25" +version = "0.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" +checksum = "f98844151eee8917efc50bd9e8318cb963ae8b297431495d3f758616ea5c57db" dependencies = [ "cfg-if", "libc", "libredox", - "windows-sys 0.59.0", ] [[package]] -name = "fixed-hash" -version = "0.8.0" +name = "find-msvc-tools" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" + +[[package]] +name = "five8" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75b8549488b4715defcb0d8a8a1c1c76a80661b5fa106b4ca0e7fce59d7d875" dependencies = [ - "byteorder", - "rand 0.8.5", - "rustc-hex", - "static_assertions", + "five8_core 0.1.2", +] + +[[package]] +name = "five8" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23f76610e969fa1784327ded240f1e28a3fd9520c9cec93b636fcf62dd37f772" +dependencies = [ + "five8_core 1.0.0", +] + +[[package]] +name = "five8_const" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26dec3da8bc3ef08f2c04f61eab298c3ab334523e55f076354d6d6f613799a7b" +dependencies = [ + "five8_core 0.1.2", ] +[[package]] +name = "five8_const" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a0f1728185f277989ca573a402716ae0beaaea3f76a8ff87ef9dd8fb19436c5" +dependencies = [ + "five8_core 1.0.0", +] + +[[package]] +name = "five8_core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2551bf44bc5f776c15044b9b94153a00198be06743e262afaaa61f11ac7523a5" + +[[package]] +name = "five8_core" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "059c31d7d36c43fe39d89e55711858b4da8be7eb6dabac23c7289b1a19489406" + [[package]] name = "fixed-hash" version = "0.8.0" -source = "git+https://github.com/hyperlane-xyz/parity-common.git?branch=hyperlane#3c2a89084ccfc27b82fda29007b4e27215a75cb1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", "rand 0.8.5", @@ -1958,29 +2739,65 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.33" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" +checksum = "b375d6465b98090a5f25b1c7703f3859783755aa9a80433b36e0379a3ec2f369" dependencies = [ "crc32fast", "miniz_oxide", ] +[[package]] +name = "float-cmp" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" +dependencies = [ + "num-traits", +] + [[package]] name = "fnv" version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ "percent-encoding", ] +[[package]] +name = "fragile" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" + [[package]] name = "funty" version = "2.0.0" @@ -1989,9 +2806,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -2004,9 +2821,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -2014,15 +2831,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -2031,9 +2848,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-locks" @@ -2047,26 +2864,26 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 2.0.77", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-timer" @@ -2076,9 +2893,9 @@ checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -2116,9 +2933,9 @@ version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ - "serde", "typenum", "version_check", + "zeroize", ] [[package]] @@ -2146,32 +2963,49 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.15" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" dependencies = [ "cfg-if", "js-sys", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", "wasm-bindgen", ] [[package]] -name = "gimli" -version = "0.31.0" +name = "getrandom" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi", + "wasip2", + "wasm-bindgen", +] [[package]] -name = "goblin" -version = "0.5.4" +name = "governor" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7666983ed0dd8d21a6f6576ee00053ca0926fb281a5522577a4dbd0f1b54143" +checksum = "68a7f542ee6b35af73b06abc0dad1c1bae89964e4e253bc4b587b91c9637867b" dependencies = [ - "log", - "plain", - "scroll", + "cfg-if", + "dashmap", + "futures", + "futures-timer", + "no-std-compat", + "nonzero_ext", + "parking_lot 0.12.5", + "portable-atomic", + "quanta", + "rand 0.8.5", + "smallvec", + "spinning_top", ] [[package]] @@ -2180,55 +3014,66 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" dependencies = [ - "ff", + "ff 0.12.1", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff 0.13.1", "rand_core 0.6.4", "subtle", ] [[package]] name = "h2" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +checksum = "0beca50380b1fc32983fc1cb4587bfa4bb9e78fc259aad4a0032d2080309222d" dependencies = [ "bytes", "fnv", "futures-core", "futures-sink", "futures-util", - "http", - "indexmap 2.5.0", + "http 0.2.12", + "indexmap", "slab", "tokio", - "tokio-util 0.7.12", + "tokio-util 0.7.18", "tracing", ] [[package]] name = "hash32" -version = "0.2.1" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" +checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" dependencies = [ "byteorder", ] [[package]] name = "hashbrown" -version = "0.11.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" dependencies = [ - "ahash", + "ahash 0.7.8", ] [[package]] name = "hashbrown" -version = "0.12.3" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash", + "ahash 0.8.12", ] [[package]] @@ -2237,6 +3082,23 @@ version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +[[package]] +name = "hashbrown" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + +[[package]] +name = "hashbrown" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" + [[package]] name = "hashers" version = "1.0.1" @@ -2269,15 +3131,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - -[[package]] -name = "hermit-abi" -version = "0.4.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hex" @@ -2285,6 +3141,19 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "hidapi" +version = "2.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "565dd4c730b8f8b2c0fb36df6be12e5470ae10895ddcc4e9dcfbfb495de202b0" +dependencies = [ + "cc", + "cfg-if", + "libc", + "pkg-config", + "windows-sys 0.48.0", +] + [[package]] name = "histogram" version = "0.6.9" @@ -2332,6 +3201,16 @@ dependencies = [ "itoa", ] +[[package]] +name = "http" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" +dependencies = [ + "bytes", + "itoa", +] + [[package]] name = "http-body" version = "0.4.6" @@ -2339,17 +3218,40 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ "bytes", - "http", + "http 0.2.12", "pin-project-lite", ] [[package]] -name = "httparse" -version = "1.9.4" +name = "http-body" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" - -[[package]] +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http 1.4.0", +] + +[[package]] +name = "http-body-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +dependencies = [ + "bytes", + "futures-core", + "http 1.4.0", + "http-body 1.0.1", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] name = "httpdate" version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2357,34 +3259,55 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "humantime" -version = "2.1.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424" [[package]] name = "hyper" -version = "0.14.30" +version = "0.14.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" +checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" dependencies = [ "bytes", "futures-channel", "futures-core", "futures-util", "h2", - "http", - "http-body", + "http 0.2.12", + "http-body 0.4.6", "httparse", "httpdate", "itoa", "pin-project-lite", - "socket2 0.5.7", + "socket2 0.5.10", "tokio", "tower-service", "tracing", "want", ] +[[package]] +name = "hyper" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" +dependencies = [ + "atomic-waker", + "bytes", + "futures-channel", + "futures-core", + "http 1.4.0", + "http-body 1.0.1", + "httparse", + "itoa", + "pin-project-lite", + "pin-utils", + "smallvec", + "tokio", + "want", +] + [[package]] name = "hyper-rustls" version = "0.24.2" @@ -2392,13 +3315,53 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", - "http", - "hyper", + "http 0.2.12", + "hyper 0.14.32", "rustls 0.21.12", "tokio", "tokio-rustls 0.24.1", ] +[[package]] +name = "hyper-rustls" +version = "0.27.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" +dependencies = [ + "http 1.4.0", + "hyper 1.8.1", + "hyper-util", + "rustls 0.23.36", + "rustls-pki-types", + "tokio", + "tokio-rustls 0.26.4", + "tower-service", + "webpki-roots 1.0.5", +] + +[[package]] +name = "hyper-util" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-channel", + "futures-util", + "http 1.4.0", + "http-body 1.0.1", + "hyper 1.8.1", + "ipnet", + "libc", + "percent-encoding", + "pin-project-lite", + "socket2 0.6.2", + "tokio", + "tower-service", + "tracing", +] + [[package]] name = "hyperlane-application" version = "2.0.0" @@ -2414,30 +3377,30 @@ version = "2.0.0" dependencies = [ "async-rwlock", "async-trait", - "auto_impl 1.2.0", - "bech32 0.11.0", + "auto_impl 1.3.0", + "bech32 0.11.1", "bigdecimal", - "borsh", + "borsh 1.6.0", "bs58 0.5.1", "bytes", "convert_case 0.6.0", "derive-new", - "derive_more 0.99.17", + "derive_more 0.99.20", "eyre", - "fixed-hash 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "getrandom 0.2.15", + "fixed-hash", + "getrandom 0.2.17", "hex", "hyperlane-application", - "itertools 0.10.5", + "itertools 0.14.0", "num 0.4.3", - "num-derive 0.4.2", + "num-derive", "num-traits", "prometheus", "serde", "serde_json", - "sha3 0.10.8", + "sha3", "strum 0.26.3", - "thiserror", + "thiserror 1.0.69", "tiny-keccak", "tracing", "typetag", @@ -2451,9 +3414,9 @@ version = "0.1.0" dependencies = [ "account-utils", "bincode", - "borsh", + "borsh 1.6.0", "bs58 0.5.1", - "clap 4.4.17", + "clap 4.5.56", "ethers", "hex", "hyperlane-core", @@ -2467,17 +3430,21 @@ dependencies = [ "hyperlane-sealevel-token-lib", "hyperlane-sealevel-token-native", "hyperlane-sealevel-validator-announce", - "itertools 0.13.0", + "itertools 0.14.0", "pretty_env_logger", "serde", "serde_json", - "serde_yaml 0.9.34+deprecated", - "solana-address-lookup-table-program", + "serde_yaml", + "solana-address-lookup-table-interface 3.0.1", "solana-clap-utils", "solana-cli-config", "solana-client", - "solana-program", + "solana-commitment-config", + "solana-compute-budget-interface", + "solana-loader-v3-interface 6.1.0", + "solana-program 3.0.0", "solana-sdk", + "solana-system-interface 2.0.0", "solana-transaction-status", ] @@ -2486,11 +3453,11 @@ name = "hyperlane-sealevel-connection-client" version = "0.1.0" dependencies = [ "access-control", - "borsh", + "borsh 1.6.0", "hyperlane-core", "hyperlane-sealevel-igp", "hyperlane-sealevel-mailbox", - "solana-program", + "solana-program 3.0.0", ] [[package]] @@ -2499,7 +3466,7 @@ version = "0.1.0" dependencies = [ "access-control", "account-utils", - "borsh", + "borsh 1.6.0", "hyperlane-core", "hyperlane-sealevel-connection-client", "hyperlane-sealevel-igp", @@ -2507,9 +3474,10 @@ dependencies = [ "hyperlane-sealevel-message-recipient-interface", "hyperlane-test-utils", "serializable-account-meta", - "solana-program", + "solana-program 3.0.0", "solana-program-test", "solana-sdk", + "solana-system-interface 2.0.0", "spl-noop", ] @@ -2519,15 +3487,16 @@ version = "0.1.0" dependencies = [ "access-control", "account-utils", - "borsh", - "getrandom 0.2.15", + "borsh 1.6.0", + "getrandom 0.2.17", "hyperlane-core", - "num-derive 0.4.2", + "num-derive", "num-traits", "serde", "serializable-account-meta", - "solana-program", - "thiserror", + "solana-program 3.0.0", + "solana-system-interface 2.0.0", + "thiserror 1.0.69", ] [[package]] @@ -2536,23 +3505,25 @@ version = "0.1.0" dependencies = [ "access-control", "account-utils", - "borsh", + "borsh 1.6.0", "hyperlane-core", "hyperlane-sealevel-igp", "hyperlane-test-utils", "serializable-account-meta", - "solana-program", + "solana-program 3.0.0", "solana-program-test", "solana-sdk", + "solana-system-interface 2.0.0", ] [[package]] name = "hyperlane-sealevel-interchain-security-module-interface" version = "0.1.0" dependencies = [ - "borsh", - "solana-program", - "spl-type-length-value", + "borsh 1.6.0", + "solana-program 3.0.0", + "spl-discriminator 0.5.1", + "spl-type-length-value 0.6.0", ] [[package]] @@ -2563,21 +3534,22 @@ dependencies = [ "account-utils", "base64 0.21.7", "blake3", - "borsh", - "getrandom 0.2.15", + "borsh 1.6.0", + "getrandom 0.2.17", "hyperlane-core", "hyperlane-sealevel-interchain-security-module-interface", "hyperlane-sealevel-message-recipient-interface", - "itertools 0.13.0", + "itertools 0.14.0", "log", - "num-derive 0.4.2", + "num-derive", "num-traits", - "proc-macro-crate 1.2.1", + "proc-macro-crate 3.2.0", "serde", "serializable-account-meta", - "solana-program", + "solana-program 3.0.0", + "solana-system-interface 2.0.0", "spl-noop", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -2587,7 +3559,7 @@ dependencies = [ "access-control", "account-utils", "base64 0.21.7", - "borsh", + "borsh 1.6.0", "hyperlane-core", "hyperlane-sealevel-interchain-security-module-interface", "hyperlane-sealevel-mailbox", @@ -2595,27 +3567,29 @@ dependencies = [ "hyperlane-sealevel-test-ism", "hyperlane-sealevel-test-send-receiver", "hyperlane-test-utils", - "itertools 0.13.0", + "itertools 0.14.0", "log", - "num-derive 0.4.2", + "num-derive", "num-traits", "serializable-account-meta", - "solana-program", + "solana-program 3.0.0", "solana-program-test", "solana-sdk", + "solana-system-interface 2.0.0", "spl-noop", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "hyperlane-sealevel-message-recipient-interface" version = "0.1.0" dependencies = [ - "borsh", - "getrandom 0.2.15", + "borsh 1.6.0", + "getrandom 0.2.17", "hyperlane-core", - "solana-program", - "spl-type-length-value", + "solana-program 3.0.0", + "spl-discriminator 0.5.1", + "spl-type-length-value 0.6.0", ] [[package]] @@ -2624,8 +3598,9 @@ version = "0.1.0" dependencies = [ "access-control", "account-utils", - "borsh", + "borsh 1.6.0", "ecdsa-signature", + "getrandom 0.2.17", "hex", "hyperlane-core", "hyperlane-sealevel-interchain-security-module-interface", @@ -2633,14 +3608,15 @@ dependencies = [ "hyperlane-sealevel-multisig-ism-message-id", "hyperlane-test-utils", "multisig-ism", - "num-derive 0.4.2", + "num-derive", "num-traits", "rand 0.8.5", "serializable-account-meta", - "solana-program", + "solana-program 3.0.0", "solana-program-test", "solana-sdk", - "thiserror", + "solana-system-interface 2.0.0", + "thiserror 1.0.69", ] [[package]] @@ -2648,15 +3624,16 @@ name = "hyperlane-sealevel-test-ism" version = "0.1.0" dependencies = [ "account-utils", - "borsh", + "borsh 1.6.0", "hyperlane-core", "hyperlane-sealevel-interchain-security-module-interface", "hyperlane-sealevel-mailbox", "hyperlane-test-transaction-utils", "serializable-account-meta", - "solana-program", + "solana-program 3.0.0", "solana-program-test", "solana-sdk", + "solana-system-interface 2.0.0", ] [[package]] @@ -2664,14 +3641,15 @@ name = "hyperlane-sealevel-test-send-receiver" version = "0.1.0" dependencies = [ "account-utils", - "borsh", + "borsh 1.6.0", "hyperlane-sealevel-mailbox", "hyperlane-sealevel-message-recipient-interface", "hyperlane-test-utils", "serializable-account-meta", - "solana-program", + "solana-program 3.0.0", "solana-program-test", "solana-sdk", + "solana-system-interface 2.0.0", "spl-noop", ] @@ -2680,7 +3658,8 @@ name = "hyperlane-sealevel-token" version = "0.1.0" dependencies = [ "account-utils", - "borsh", + "borsh 1.6.0", + "getrandom 0.2.17", "hyperlane-core", "hyperlane-sealevel-connection-client", "hyperlane-sealevel-igp", @@ -2690,17 +3669,18 @@ dependencies = [ "hyperlane-sealevel-token-lib", "hyperlane-test-utils", "hyperlane-warp-route", - "num-derive 0.4.2", + "num-derive", "num-traits", "serializable-account-meta", - "solana-program", + "solana-program 3.0.0", "solana-program-test", "solana-sdk", + "solana-system-interface 2.0.0", "spl-associated-token-account", "spl-noop", "spl-token", "spl-token-2022", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -2708,7 +3688,8 @@ name = "hyperlane-sealevel-token-collateral" version = "0.1.0" dependencies = [ "account-utils", - "borsh", + "borsh 1.6.0", + "getrandom 0.2.17", "hyperlane-core", "hyperlane-sealevel-connection-client", "hyperlane-sealevel-igp", @@ -2718,17 +3699,18 @@ dependencies = [ "hyperlane-sealevel-token-lib", "hyperlane-test-utils", "hyperlane-warp-route", - "num-derive 0.4.2", + "num-derive", "num-traits", "serializable-account-meta", - "solana-program", + "solana-program 3.0.0", "solana-program-test", "solana-sdk", + "solana-system-interface 2.0.0", "spl-associated-token-account", "spl-noop", "spl-token", "spl-token-2022", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -2737,22 +3719,23 @@ version = "0.1.0" dependencies = [ "access-control", "account-utils", - "borsh", + "borsh 1.6.0", "hyperlane-core", "hyperlane-sealevel-connection-client", "hyperlane-sealevel-igp", "hyperlane-sealevel-mailbox", "hyperlane-sealevel-message-recipient-interface", "hyperlane-warp-route", - "num-derive 0.4.2", + "num-derive", "num-traits", "serializable-account-meta", - "solana-program", + "solana-program 3.0.0", + "solana-system-interface 2.0.0", "spl-associated-token-account", "spl-noop", "spl-token", "spl-token-2022", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -2760,7 +3743,8 @@ name = "hyperlane-sealevel-token-native" version = "0.1.0" dependencies = [ "account-utils", - "borsh", + "borsh 1.6.0", + "getrandom 0.2.17", "hyperlane-core", "hyperlane-sealevel-connection-client", "hyperlane-sealevel-igp", @@ -2770,15 +3754,17 @@ dependencies = [ "hyperlane-sealevel-token-lib", "hyperlane-test-utils", "hyperlane-warp-route", - "num-derive 0.4.2", + "num-derive", "num-traits", "serializable-account-meta", - "solana-program", + "solana-commitment-config", + "solana-program 3.0.0", "solana-program-test", "solana-sdk", + "solana-system-interface 2.0.0", "spl-noop", "tarpc", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -2786,24 +3772,26 @@ name = "hyperlane-sealevel-validator-announce" version = "0.1.0" dependencies = [ "account-utils", - "borsh", + "borsh 1.6.0", "ecdsa-signature", + "getrandom 0.2.17", "hex", "hyperlane-core", "hyperlane-sealevel-mailbox", "hyperlane-test-utils", "serializable-account-meta", - "solana-program", + "solana-program 3.0.0", "solana-program-test", "solana-sdk", - "thiserror", + "solana-system-interface 2.0.0", + "thiserror 1.0.69", ] [[package]] name = "hyperlane-test-transaction-utils" version = "0.1.0" dependencies = [ - "solana-program", + "solana-program 3.0.0", "solana-program-test", "solana-sdk", ] @@ -2812,7 +3800,8 @@ dependencies = [ name = "hyperlane-test-utils" version = "0.1.0" dependencies = [ - "borsh", + "account-utils", + "borsh 1.6.0", "hyperlane-core", "hyperlane-sealevel-igp", "hyperlane-sealevel-interchain-security-module-interface", @@ -2821,9 +3810,10 @@ dependencies = [ "hyperlane-sealevel-test-ism", "hyperlane-test-transaction-utils", "serializable-account-meta", - "solana-program", + "solana-program 3.0.0", "solana-program-test", "solana-sdk", + "solana-system-interface 2.0.0", "spl-noop", "spl-token-2022", ] @@ -2837,14 +3827,15 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", + "log", "wasm-bindgen", "windows-core", ] @@ -2858,14 +3849,112 @@ dependencies = [ "cc", ] +[[package]] +name = "icu_collections" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" + +[[package]] +name = "icu_properties" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" +dependencies = [ + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" + +[[package]] +name = "icu_provider" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +dependencies = [ + "displaydoc", + "icu_locale_core", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" -version = "0.5.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +dependencies = [ + "icu_normalizer", + "icu_properties", ] [[package]] @@ -2893,14 +3982,6 @@ dependencies = [ "parity-scale-codec", ] -[[package]] -name = "impl-codec" -version = "0.6.0" -source = "git+https://github.com/hyperlane-xyz/parity-common.git?branch=hyperlane#3c2a89084ccfc27b82fda29007b4e27215a75cb1" -dependencies = [ - "parity-scale-codec", -] - [[package]] name = "impl-rlp" version = "0.3.0" @@ -2910,14 +3991,6 @@ dependencies = [ "rlp", ] -[[package]] -name = "impl-rlp" -version = "0.3.0" -source = "git+https://github.com/hyperlane-xyz/parity-common.git?branch=hyperlane#3c2a89084ccfc27b82fda29007b4e27215a75cb1" -dependencies = [ - "rlp", -] - [[package]] name = "impl-serde" version = "0.4.0" @@ -2927,74 +4000,70 @@ dependencies = [ "serde", ] -[[package]] -name = "impl-serde" -version = "0.4.0" -source = "git+https://github.com/hyperlane-xyz/parity-common.git?branch=hyperlane#3c2a89084ccfc27b82fda29007b4e27215a75cb1" -dependencies = [ - "serde", -] - [[package]] name = "impl-trait-for-tuples" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 1.0.109", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] -name = "indenter" -version = "0.3.3" +name = "include_dir" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" +checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" +dependencies = [ + "include_dir_macros", +] [[package]] -name = "index_list" -version = "0.2.13" +name = "include_dir_macros" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e6ba961c14e98151cd6416dd3685efe786a94c38bc1a535c06ceff0a1600813" +checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" +dependencies = [ + "proc-macro2", + "quote", +] [[package]] -name = "indexmap" -version = "1.9.3" +name = "indenter" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] +checksum = "964de6e86d545b246d84badc0fef527924ace5134f30641c203ef52ba83f58d5" [[package]] name = "indexmap" -version = "2.5.0" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" +checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" dependencies = [ "equivalent", - "hashbrown 0.14.5", + "hashbrown 0.16.1", ] [[package]] name = "indicatif" -version = "0.16.2" +version = "0.18.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d207dc617c7a380ab07ff572a6e52fa202a2a8f355860ac9c38e23f8196be1b" +checksum = "9375e112e4b463ec1b1c6c011953545c65a30164fbab5b581df32b3abf0dcb88" dependencies = [ - "console", - "lazy_static", - "number_prefix", - "regex", + "console 0.16.2", + "portable-atomic", + "unicode-width 0.2.2", + "unit-prefix", + "web-time", ] [[package]] name = "inout" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" dependencies = [ "generic-array 0.14.7", ] @@ -3013,32 +4082,56 @@ dependencies = [ [[package]] name = "inventory" -version = "0.3.15" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc61209c082fbeb19919bee74b176221b27223e27b65d781eb91af24eb1fb46e" +dependencies = [ + "rustversion", +] + +[[package]] +name = "io-uring" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f958d3d68f4167080a18141e10381e7634563984a537f2a49a30fd8e53ac5767" +checksum = "fdd7bddefd0a8833b88a4b68f90dae22c7450d11b354198baee3874fd811b344" +dependencies = [ + "bitflags 2.10.0", + "cfg-if", + "libc", +] [[package]] name = "ipnet" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" + +[[package]] +name = "iri-string" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c91338f0783edbd6195decb37bae672fd3b165faffb89bf7b9e6942f8b1a731a" +dependencies = [ + "memchr", + "serde", +] [[package]] name = "is-terminal" -version = "0.4.13" +version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" +checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" dependencies = [ - "hermit-abi 0.4.0", + "hermit-abi 0.5.2", "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "is_terminal_polyfill" -version = "1.70.1" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" [[package]] name = "itertools" @@ -3049,6 +4142,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + [[package]] name = "itertools" version = "0.13.0" @@ -3058,27 +4160,84 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" + +[[package]] +name = "jiff" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e67e8da4c49d6d9909fe03361f9b620f58898859f5c7aded68351e85e71ecf50" +dependencies = [ + "jiff-static", + "log", + "portable-atomic", + "portable-atomic-util", + "serde_core", +] + +[[package]] +name = "jiff-static" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0c84ee7f197eca9a86c6fd6cb771e55eb991632f15f2bc3ca6ec838929e6e78" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine 4.6.7", + "jni-sys", + "log", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" -version = "0.1.26" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ + "getrandom 0.3.4", "libc", ] [[package]] name = "js-sys" -version = "0.3.70" +version = "0.3.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" +checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" dependencies = [ + "once_cell", "wasm-bindgen", ] @@ -3104,10 +4263,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" dependencies = [ "cfg-if", - "ecdsa", - "elliptic-curve", - "sha2 0.10.8", - "sha3 0.10.8", + "ecdsa 0.14.8", + "elliptic-curve 0.12.3", + "sha2 0.10.9", + "sha3", +] + +[[package]] +name = "k256" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" +dependencies = [ + "cfg-if", + "ecdsa 0.16.9", + "elliptic-curve 0.13.8", + "once_cell", + "sha2 0.10.9", + "signature 2.2.0", ] [[package]] @@ -3127,35 +4300,25 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.158" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" - -[[package]] -name = "libloading" -version = "0.7.4" +version = "0.2.180" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" -dependencies = [ - "cfg-if", - "winapi", -] +checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" [[package]] name = "libm" -version = "0.2.8" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "libredox" -version = "0.1.3" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +checksum = "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", "libc", - "redox_syscall 0.5.3", + "redox_syscall 0.7.0", ] [[package]] @@ -3207,32 +4370,43 @@ dependencies = [ ] [[package]] -name = "linked-hash-map" -version = "0.5.6" +name = "light-poseidon" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" +checksum = "3c9a85a9752c549ceb7578064b4ed891179d20acd85f27318573b64d2d7ee7ee" +dependencies = [ + "ark-bn254 0.4.0", + "ark-ff 0.4.2", + "num-bigint 0.4.6", + "thiserror 1.0.69", +] [[package]] name = "linux-raw-sys" -version = "0.4.14" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" [[package]] -name = "lock_api" -version = "0.4.12" +name = "litemap" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" + +[[package]] +name = "lock_api" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" dependencies = [ - "autocfg", "scopeguard", ] [[package]] name = "log" -version = "0.4.22" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "lru" @@ -3243,21 +4417,26 @@ dependencies = [ "hashbrown 0.12.3", ] +[[package]] +name = "lru-slab" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" + [[package]] name = "lz4" -version = "1.26.0" +version = "1.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958b4caa893816eea05507c20cfe47574a43d9a697138a7872990bba8a0ece68" +checksum = "a20b523e860d03443e98350ceaac5e71c6ba89aea7d960769ec3ce37f4de5af4" dependencies = [ - "libc", "lz4-sys", ] [[package]] name = "lz4-sys" -version = "1.10.0" +version = "1.11.1+lz4-1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "109de74d5d2353660401699a4174a4ff23fcc649caf553df71933c7fb45ad868" +checksum = "6bd8c0d6c6ed0cd30b3652886bb8711dc4bb01d637a68105a3d5158039b418e6" dependencies = [ "cc", "libc", @@ -3265,9 +4444,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.4" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" [[package]] name = "memmap2" @@ -3278,11 +4457,20 @@ dependencies = [ "libc", ] +[[package]] +name = "memmap2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490" +dependencies = [ + "libc", +] + [[package]] name = "memoffset" -version = "0.6.5" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" dependencies = [ "autocfg", ] @@ -3313,23 +4501,50 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.0" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", + "simd-adler32", ] [[package]] name = "mio" -version = "1.0.2" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" dependencies = [ - "hermit-abi 0.3.9", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", + "wasi 0.11.1+wasi-snapshot-preview1", + "windows-sys 0.61.2", +] + +[[package]] +name = "mockall" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c84490118f2ee2d74570d114f3d0493cbf02790df303d2707606c3e14e07c96" +dependencies = [ + "cfg-if", + "downcast", + "fragile", + "lazy_static", + "mockall_derive", + "predicates", + "predicates-tree", +] + +[[package]] +name = "mockall_derive" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22ce75669015c4f47b289fd4d4f56e894e4c96003ffdf3ac51313126f94c6cbb" +dependencies = [ + "cfg-if", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] @@ -3348,8 +4563,8 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a7d5f7076603ebc68de2dc6a650ec331a062a13abaa346975be747bbfa4b789" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", + "proc-macro2", + "quote", "syn 1.0.109", ] @@ -3357,27 +4572,34 @@ dependencies = [ name = "multisig-ism" version = "0.1.0" dependencies = [ - "borsh", + "borsh 1.6.0", "ecdsa-signature", "hex", "hyperlane-core", - "solana-program", - "spl-type-length-value", - "thiserror", + "solana-program 3.0.0", + "spl-discriminator 0.5.1", + "thiserror 1.0.69", ] [[package]] name = "nix" -version = "0.24.3" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" +checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.10.0", "cfg-if", + "cfg_aliases", "libc", "memoffset", ] +[[package]] +name = "no-std-compat" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c" + [[package]] name = "nom" version = "7.1.3" @@ -3388,6 +4610,18 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "nonzero_ext" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21" + +[[package]] +name = "normalize-line-endings" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" + [[package]] name = "num" version = "0.2.1" @@ -3464,26 +4698,15 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" -[[package]] -name = "num-derive" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" -dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 1.0.109", -] - [[package]] name = "num-derive" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 2.0.77", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] @@ -3541,69 +4764,34 @@ 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", ] [[package]] name = "num_enum" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" -dependencies = [ - "num_enum_derive 0.5.11", -] - -[[package]] -name = "num_enum" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" -dependencies = [ - "num_enum_derive 0.6.1", -] - -[[package]] -name = "num_enum_derive" -version = "0.5.11" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" dependencies = [ - "proc-macro-crate 1.2.1", - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 1.0.109", + "num_enum_derive", + "rustversion", ] [[package]] name = "num_enum_derive" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" -dependencies = [ - "proc-macro-crate 1.2.1", - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 2.0.77", -] - -[[package]] -name = "number_prefix" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" - -[[package]] -name = "object" -version = "0.36.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" +checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" dependencies = [ - "memchr", + "proc-macro-crate 3.2.0", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] @@ -3617,9 +4805,15 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.19.0" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "once_cell_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] name = "opaque-debug" @@ -3640,7 +4834,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" dependencies = [ "arrayvec", - "auto_impl 1.2.0", + "auto_impl 1.3.0", "bytes", "ethereum-types", "open-fastrlp-derive", @@ -3653,16 +4847,64 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" dependencies = [ "bytes", - "proc-macro2 1.0.86", - "quote 1.0.37", + "proc-macro2", + "quote", "syn 1.0.109", ] +[[package]] +name = "openssl" +version = "0.10.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328" +dependencies = [ + "bitflags 2.10.0", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + [[package]] name = "openssl-probe" -version = "0.1.5" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" + +[[package]] +name = "openssl-src" +version = "300.5.5+3.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f1787d533e03597a7934fd0a765f0d28e94ecc5fb7789f8053b1e699a56f709" +dependencies = [ + "cc", +] + +[[package]] +name = "openssl-sys" +version = "0.9.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321" +dependencies = [ + "cc", + "libc", + "openssl-src", + "pkg-config", + "vcpkg", +] [[package]] name = "opentelemetry" @@ -3680,64 +4922,52 @@ dependencies = [ "percent-encoding", "pin-project", "rand 0.8.5", - "thiserror", -] - -[[package]] -name = "os_str_bytes" -version = "6.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" - -[[package]] -name = "ouroboros" -version = "0.15.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1358bd1558bd2a083fed428ffeda486fbfb323e698cdda7794259d592ca72db" -dependencies = [ - "aliasable", - "ouroboros_macro", + "thiserror 1.0.69", ] [[package]] -name = "ouroboros_macro" -version = "0.15.6" +name = "ordered-float" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f7d21ccd03305a674437ee1248f3ab5d4b1db095cf1caf49f1713ddf61956b7" +checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" dependencies = [ - "Inflector", - "proc-macro-error", - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 1.0.109", + "num-traits", ] [[package]] name = "parity-scale-codec" -version = "3.6.12" +version = "3.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" +checksum = "799781ae679d79a948e13d4824a40970bfa500058d245760dd857301059810fa" dependencies = [ "arrayvec", "bitvec 1.0.1", "byte-slice-cast", + "const_format", "impl-trait-for-tuples", "parity-scale-codec-derive", + "rustversion", "serde", ] [[package]] name = "parity-scale-codec-derive" -version = "3.6.12" +version = "3.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" +checksum = "34b4653168b563151153c9e4c08ebed57fb8262bebfa79711552fa983c623e7a" dependencies = [ "proc-macro-crate 3.2.0", - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 1.0.109", + "proc-macro2", + "quote", + "syn 2.0.114", ] +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + [[package]] name = "parking_lot" version = "0.11.2" @@ -3751,12 +4981,12 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" dependencies = [ "lock_api", - "parking_lot_core 0.9.10", + "parking_lot_core 0.9.12", ] [[package]] @@ -3775,15 +5005,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.3", + "redox_syscall 0.5.18", "smallvec", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -3797,6 +5027,12 @@ dependencies = [ "subtle", ] +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + [[package]] name = "pbkdf2" version = "0.4.0" @@ -3815,7 +5051,7 @@ dependencies = [ "digest 0.10.7", "hmac 0.12.1", "password-hash", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] @@ -3829,9 +5065,9 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "percentage" @@ -3854,29 +5090,29 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.5" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.5" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 2.0.77", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pin-utils" @@ -3884,17 +5120,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -[[package]] -name = "pkcs8" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" -dependencies = [ - "der 0.5.1", - "spki 0.5.4", - "zeroize", -] - [[package]] name = "pkcs8" version = "0.9.0" @@ -3906,16 +5131,20 @@ dependencies = [ ] [[package]] -name = "pkg-config" -version = "0.3.30" +name = "pkcs8" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der 0.7.10", + "spki 0.7.3", +] [[package]] -name = "plain" -version = "0.2.3" +name = "pkg-config" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "polyval" @@ -3929,6 +5158,30 @@ dependencies = [ "universal-hash", ] +[[package]] +name = "portable-atomic" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" + +[[package]] +name = "portable-atomic-util" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a9db96d7fa8782dd8c15ce32ffe8680bbd1e978a43bf51a34d39483540495f5" +dependencies = [ + "portable-atomic", +] + +[[package]] +name = "potential_utf" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +dependencies = [ + "zerovec", +] + [[package]] name = "powerfmt" version = "0.2.0" @@ -3937,13 +5190,43 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ "zerocopy", ] +[[package]] +name = "predicates" +version = "2.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" +dependencies = [ + "difflib", + "float-cmp", + "itertools 0.10.5", + "normalize-line-endings", + "predicates-core", + "regex", +] + +[[package]] +name = "predicates-core" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa" + +[[package]] +name = "predicates-tree" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c" +dependencies = [ + "predicates-core", + "termtree", +] + [[package]] name = "pretty_env_logger" version = "0.5.0" @@ -3956,13 +5239,14 @@ dependencies = [ [[package]] name = "primitive-types" -version = "0.12.1" -source = "git+https://github.com/hyperlane-xyz/parity-common.git?branch=hyperlane#3c2a89084ccfc27b82fda29007b4e27215a75cb1" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ - "fixed-hash 0.8.0 (git+https://github.com/hyperlane-xyz/parity-common.git?branch=hyperlane)", - "impl-codec 0.6.0 (git+https://github.com/hyperlane-xyz/parity-common.git?branch=hyperlane)", - "impl-rlp 0.3.0 (git+https://github.com/hyperlane-xyz/parity-common.git?branch=hyperlane)", - "impl-serde 0.4.0 (git+https://github.com/hyperlane-xyz/parity-common.git?branch=hyperlane)", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", "scale-info", "uint", ] @@ -3976,17 +5260,6 @@ dependencies = [ "toml", ] -[[package]] -name = "proc-macro-crate" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" -dependencies = [ - "once_cell", - "thiserror", - "toml", -] - [[package]] name = "proc-macro-crate" version = "3.2.0" @@ -4003,8 +5276,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.86", - "quote 1.0.37", + "proc-macro2", + "quote", "syn 1.0.109", "version_check", ] @@ -4015,49 +5288,75 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", + "proc-macro2", + "quote", "version_check", ] [[package]] -name = "proc-macro2" -version = "0.4.30" +name = "proc-macro-error-attr2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "proc-macro-error2" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" dependencies = [ - "unicode-xid 0.1.0", + "proc-macro-error-attr2", + "proc-macro2", + "quote", ] [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] [[package]] name = "prometheus" -version = "0.13.4" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" +checksum = "3ca5326d8d0b950a9acd87e6a3f94745394f62e4dae1b1ee22b2bc0c394af43a" dependencies = [ "cfg-if", "fnv", "lazy_static", "memchr", - "parking_lot 0.12.3", + "parking_lot 0.12.5", "protobuf", - "thiserror", + "thiserror 2.0.18", ] [[package]] name = "protobuf" -version = "2.28.0" +version = "3.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d65a1d4ddae7d8b5de68153b48f6aa3bba8cb002b243dbdbc55a5afbc98f99f4" +dependencies = [ + "once_cell", + "protobuf-support", + "thiserror 1.0.69", +] + +[[package]] +name = "protobuf-support" +version = "3.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" +checksum = "3e36c2f31e0a47f9280fb347ef5e461ffcd2c52dd520d8e216b52f93b0b0d7d6" +dependencies = [ + "thiserror 1.0.69", +] [[package]] name = "qstring" @@ -4068,76 +5367,103 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "qualifier_attr" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e2e25ee72f5b24d773cae88422baddefff7714f97aab68d96fe2b6fc4a28fb2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "quanta" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3ab5a9d756f0d97bdc89019bd2e4ea098cf9cde50ee7564dde6b81ccc8f06c7" +dependencies = [ + "crossbeam-utils", + "libc", + "once_cell", + "raw-cpuid", + "wasi 0.11.1+wasi-snapshot-preview1", + "web-sys", + "winapi", +] + [[package]] name = "quinn" -version = "0.8.5" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b435e71d9bfa0d8889927231970c51fb89c58fa63bffcab117c9c7a41e5ef8f" +checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" dependencies = [ "bytes", - "futures-channel", - "futures-util", - "fxhash", + "cfg_aliases", + "pin-project-lite", "quinn-proto", "quinn-udp", - "rustls 0.20.9", - "thiserror", + "rustc-hash 2.1.1", + "rustls 0.23.36", + "socket2 0.6.2", + "thiserror 2.0.18", "tokio", "tracing", - "webpki", + "web-time", ] [[package]] name = "quinn-proto" -version = "0.8.4" +version = "0.11.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fce546b9688f767a57530652488420d419a8b1f44a478b451c3d1ab6d992a55" +checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" dependencies = [ "bytes", - "fxhash", - "rand 0.8.5", - "ring 0.16.20", - "rustls 0.20.9", - "rustls-native-certs", - "rustls-pemfile 0.2.1", + "fastbloom", + "getrandom 0.3.4", + "lru-slab", + "rand 0.9.2", + "ring", + "rustc-hash 2.1.1", + "rustls 0.23.36", + "rustls-pki-types", + "rustls-platform-verifier", "slab", - "thiserror", + "thiserror 2.0.18", "tinyvec", "tracing", - "webpki", + "web-time", ] [[package]] name = "quinn-udp" -version = "0.1.4" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b07946277141531aea269befd949ed16b2c85a780ba1043244eda0969e538e54" +checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" dependencies = [ - "futures-util", + "cfg_aliases", "libc", - "quinn-proto", - "socket2 0.4.10", - "tokio", + "once_cell", + "socket2 0.6.2", "tracing", + "windows-sys 0.60.2", ] [[package]] name = "quote" -version = "0.6.13" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" +checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" dependencies = [ - "proc-macro2 0.4.30", + "proc-macro2", ] [[package]] -name = "quote" -version = "1.0.37" +name = "r-efi" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" -dependencies = [ - "proc-macro2 1.0.86", -] +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] name = "radium" @@ -4175,6 +5501,16 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "rand" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.5", +] + [[package]] name = "rand_chacha" version = "0.2.2" @@ -4195,6 +5531,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.5", +] + [[package]] name = "rand_core" version = "0.5.1" @@ -4210,7 +5556,16 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.17", +] + +[[package]] +name = "rand_core" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" +dependencies = [ + "getrandom 0.3.4", ] [[package]] @@ -4231,11 +5586,20 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "raw-cpuid" +version = "11.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "498cd0dc59d73224351ee52a95fee0f1a617a2eae0e7d9d720cc622c73a54186" +dependencies = [ + "bitflags 2.10.0", +] + [[package]] name = "rayon" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" dependencies = [ "either", "rayon-core", @@ -4243,42 +5607,39 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.12.1" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" dependencies = [ "crossbeam-deque", "crossbeam-utils", ] [[package]] -name = "rcgen" -version = "0.9.3" +name = "redox_syscall" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "pem", - "ring 0.16.20", - "time", - "yasna", + "bitflags 1.3.2", ] [[package]] name = "redox_syscall" -version = "0.2.16" +version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.10.0", ] [[package]] name = "redox_syscall" -version = "0.5.3" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" +checksum = "49f3fe0889e69e2ae9e41f4d6c4c0181701d00e4697b356fb1f74173a5e0ee27" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", ] [[package]] @@ -4287,16 +5648,16 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.17", "libredox", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "regex" -version = "1.10.6" +version = "1.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" dependencies = [ "aho-corasick", "memchr", @@ -4306,9 +5667,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" dependencies = [ "aho-corasick", "memchr", @@ -4317,9 +5678,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.4" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" [[package]] name = "reqwest" @@ -4327,17 +5688,16 @@ version = "0.11.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" dependencies = [ - "async-compression", "base64 0.21.7", "bytes", "encoding_rs", "futures-core", "futures-util", "h2", - "http", - "http-body", - "hyper", - "hyper-rustls", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.32", + "hyper-rustls 0.24.2", "ipnet", "js-sys", "log", @@ -4346,15 +5706,14 @@ dependencies = [ "percent-encoding", "pin-project-lite", "rustls 0.21.12", - "rustls-pemfile 1.0.4", + "rustls-pemfile", "serde", "serde_json", "serde_urlencoded", - "sync_wrapper", + "sync_wrapper 0.1.2", "system-configuration", "tokio", "tokio-rustls 0.24.1", - "tokio-util 0.7.12", "tower-service", "url", "wasm-bindgen", @@ -4364,44 +5723,93 @@ dependencies = [ "winreg", ] +[[package]] +name = "reqwest" +version = "0.12.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "http 1.4.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.8.1", + "hyper-rustls 0.27.7", + "hyper-util", + "js-sys", + "log", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls 0.23.36", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 1.0.2", + "tokio", + "tokio-rustls 0.26.4", + "tower", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots 1.0.5", +] + +[[package]] +name = "reqwest-middleware" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57f17d28a6e6acfe1733fe24bcd30774d13bffa4b8a22535b4c8c98423088d4e" +dependencies = [ + "anyhow", + "async-trait", + "http 1.4.0", + "reqwest 0.12.28", + "serde", + "thiserror 1.0.69", + "tower-service", +] + [[package]] name = "rfc6979" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" dependencies = [ - "crypto-bigint", + "crypto-bigint 0.4.9", "hmac 0.12.1", "zeroize", ] [[package]] -name = "ring" -version = "0.16.20" +name = "rfc6979" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ - "cc", - "libc", - "once_cell", - "spin 0.5.2", - "untrusted 0.7.1", - "web-sys", - "winapi", + "hmac 0.12.1", + "subtle", ] [[package]] name = "ring" -version = "0.17.8" +version = "0.17.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.15", + "getrandom 0.2.17", "libc", - "spin 0.9.8", - "untrusted 0.9.0", + "untrusted", "windows-sys 0.52.0", ] @@ -4417,7 +5825,8 @@ dependencies = [ [[package]] name = "rlp" version = "0.5.2" -source = "git+https://github.com/hyperlane-xyz/parity-common.git?branch=hyperlane#3c2a89084ccfc27b82fda29007b4e27215a75cb1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" dependencies = [ "bytes", "rustc-hex", @@ -4429,28 +5838,37 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", + "proc-macro2", + "quote", "syn 1.0.109", ] [[package]] name = "rpassword" -version = "6.0.1" +version = "7.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bf099a1888612545b683d2661a1940089f6c2e5a8e38979b2159da876bfd956" +checksum = "66d4c8b64f049c6721ec8ccec37ddfc3d641c4a7fca57e8f2a89de509c73df39" dependencies = [ "libc", - "serde", - "serde_json", - "winapi", + "rtoolbox", + "windows-sys 0.59.0", +] + +[[package]] +name = "rtoolbox" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7cc970b249fbe527d6e02e0a227762c9108b2f49d81094fe357ffc6d14d7f6f" +dependencies = [ + "libc", + "windows-sys 0.52.0", ] [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" [[package]] name = "rustc-hash" @@ -4458,6 +5876,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc-hash" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + [[package]] name = "rustc-hex" version = "2.1.0" @@ -4484,92 +5908,133 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.36" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f55e80d50763938498dd5ebb18647174e0c76dc38c5505294bb224624f30f36" +checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "rustls" -version = "0.20.9" +version = "0.21.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b80e3dec595989ea8510028f30c408a4630db12c9cbb8de34203b89d6577e99" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", - "ring 0.16.20", + "ring", + "rustls-webpki 0.101.7", "sct", - "webpki", ] [[package]] name = "rustls" -version = "0.21.12" +version = "0.23.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" +checksum = "c665f33d38cea657d9614f766881e4d510e0eda4239891eea56b4cadcf01801b" dependencies = [ - "log", - "ring 0.17.8", - "rustls-webpki", - "sct", + "once_cell", + "ring", + "rustls-pki-types", + "rustls-webpki 0.103.9", + "subtle", + "zeroize", ] [[package]] name = "rustls-native-certs" -version = "0.6.3" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" +checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63" dependencies = [ "openssl-probe", - "rustls-pemfile 1.0.4", + "rustls-pki-types", "schannel", "security-framework", ] [[package]] name = "rustls-pemfile" -version = "0.2.1" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eebeaeb360c87bfb72e84abdb3447159c0eaececf1bef2aecd65a8be949d1c9" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" dependencies = [ - "base64 0.13.1", + "base64 0.21.7", ] [[package]] -name = "rustls-pemfile" -version = "1.0.4" +name = "rustls-pki-types" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" dependencies = [ - "base64 0.21.7", + "web-time", + "zeroize", +] + +[[package]] +name = "rustls-platform-verifier" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d99feebc72bae7ab76ba994bb5e121b8d83d910ca40b36e0921f53becc41784" +dependencies = [ + "core-foundation 0.10.1", + "core-foundation-sys", + "jni", + "log", + "once_cell", + "rustls 0.23.36", + "rustls-native-certs", + "rustls-platform-verifier-android", + "rustls-webpki 0.103.9", + "security-framework", + "security-framework-sys", + "webpki-root-certs", + "windows-sys 0.61.2", ] +[[package]] +name = "rustls-platform-verifier-android" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" + [[package]] name = "rustls-webpki" version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", + "ring", + "untrusted", +] + +[[package]] +name = "rustls-webpki" +version = "0.103.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7df23109aa6c1567d1c575b9952556388da57401e4ace1d15f79eedad0d8f53" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", ] [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" [[package]] name = "salsa20" @@ -4591,9 +6056,9 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.11.5" +version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aa7ffc1c0ef49b0452c6e2986abf2b07743320641ffd5fc63d552458e3b779b" +checksum = "346a3b32eba2640d17a9cb5927056b08f3de90f65b72fe09402c2ad07d684d0b" dependencies = [ "cfg-if", "derive_more 1.0.0", @@ -4603,23 +6068,23 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.11.5" +version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46385cc24172cf615450267463f937c10072516359b3ff1cb24228a4a08bf951" +checksum = "c6630024bf739e2179b91fb424b28898baf819414262c5d376677dbff1fe7ebf" dependencies = [ "proc-macro-crate 3.2.0", - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 2.0.77", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] name = "schannel" -version = "0.1.24" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9aaafd5a2b6e3d657ff009d82fbd630b6bd54dd4eb06f21693925cdf80f9b8b" +checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -4628,26 +6093,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "scroll" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da" -dependencies = [ - "scroll_derive", -] - -[[package]] -name = "scroll_derive" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" -dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 2.0.77", -] - [[package]] name = "scrypt" version = "0.10.0" @@ -4657,7 +6102,7 @@ dependencies = [ "hmac 0.12.1", "pbkdf2 0.11.0", "salsa20", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] @@ -4666,8 +6111,8 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", + "ring", + "untrusted", ] [[package]] @@ -4676,7 +6121,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ - "base16ct", + "base16ct 0.1.1", "der 0.6.1", "generic-array 0.14.7", "pkcs8 0.9.0", @@ -4684,14 +6129,28 @@ dependencies = [ "zeroize", ] +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct 0.2.0", + "der 0.7.10", + "generic-array 0.14.7", + "pkcs8 0.10.2", + "subtle", + "zeroize", +] + [[package]] name = "security-framework" -version = "2.11.1" +version = "3.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef" dependencies = [ - "bitflags 2.6.0", - "core-foundation", + "bitflags 2.10.0", + "core-foundation 0.10.1", "core-foundation-sys", "libc", "security-framework-sys", @@ -4699,9 +6158,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.11.1" +version = "2.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" +checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" dependencies = [ "core-foundation-sys", "libc", @@ -4709,11 +6168,12 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" dependencies = [ "serde", + "serde_core", ] [[package]] @@ -4722,55 +6182,96 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" +[[package]] +name = "seqlock" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5c67b6f14ecc5b86c66fa63d76b5092352678545a8a3cdae80aef5128371910" +dependencies = [ + "parking_lot 0.12.5", +] + [[package]] name = "serde" -version = "1.0.210" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ + "serde_core", "serde_derive", ] [[package]] name = "serde-aux" -version = "4.5.0" +version = "4.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d2e8bfba469d06512e11e3311d4d051a4a387a5b42d010404fecf3200321c95" +checksum = "207f67b28fe90fb596503a9bf0bf1ea5e831e21307658e177c5dfcdfc3ab8a0a" dependencies = [ "serde", + "serde-value", "serde_json", ] +[[package]] +name = "serde-big-array" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11fc7cc2c76d73e0f27ee52abbd64eec84d46f370c88371120433196934e4b7f" +dependencies = [ + "serde", +] + +[[package]] +name = "serde-value" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" +dependencies = [ + "ordered-float", + "serde", +] + [[package]] name = "serde_bytes" -version = "0.11.15" +version = "0.11.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" +checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8" dependencies = [ "serde", + "serde_core", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.210" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 2.0.77", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] name = "serde_json" -version = "1.0.128" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ "itoa", "memchr", - "ryu", "serde", + "serde_core", + "zmij", ] [[package]] @@ -4786,15 +6287,25 @@ dependencies = [ ] [[package]] -name = "serde_yaml" -version = "0.8.26" +name = "serde_with" +version = "3.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" +checksum = "4fa237f2807440d238e0364a218270b98f767a00d3dada77b1c53ae88940e2e7" dependencies = [ - "indexmap 1.9.3", - "ryu", - "serde", - "yaml-rust", + "serde_core", + "serde_with_macros", +] + +[[package]] +name = "serde_with_macros" +version = "3.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a8e3ca0ca629121f70ab50f95249e5a6f925cc0f6ffe8256c45b728875706c" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] @@ -4803,7 +6314,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.5.0", + "indexmap", "itoa", "ryu", "serde", @@ -4814,15 +6325,15 @@ dependencies = [ name = "serializable-account-meta" version = "0.1.0" dependencies = [ - "borsh", - "solana-program", + "borsh 1.6.0", + "solana-program 3.0.0", ] [[package]] -name = "sha-1" -version = "0.10.1" +name = "sha1" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", "cpufeatures", @@ -4856,27 +6367,15 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", "digest 0.10.7", ] -[[package]] -name = "sha3" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" -dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", - "keccak", - "opaque-debug 0.3.1", -] - [[package]] name = "sha3" version = "0.10.8" @@ -4898,16 +6397,33 @@ dependencies = [ [[package]] name = "shell-words" -version = "1.1.0" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc6fe69c597f9c37bfeeeeeb33da3530379845f10be461a66d16d03eca2ded77" + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signal-hook" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" +checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" +dependencies = [ + "libc", + "signal-hook-registry", +] [[package]] name = "signal-hook-registry" -version = "1.4.2" +version = "1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" dependencies = [ + "errno", "libc", ] @@ -4922,183 +6438,632 @@ dependencies = [ ] [[package]] -name = "sized-chunks" -version = "0.6.5" +name = "signature" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ - "bitmaps", - "typenum", + "digest 0.10.7", + "rand_core 0.6.4", ] [[package]] -name = "slab" -version = "0.4.9" +name = "simd-adler32" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" + +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + +[[package]] +name = "siphasher" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" + +[[package]] +name = "sized-chunks" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" dependencies = [ - "autocfg", + "bitmaps", + "typenum", ] +[[package]] +name = "slab" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" + [[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.4.10" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" dependencies = [ "libc", - "winapi", + "windows-sys 0.52.0", ] [[package]] name = "socket2" -version = "0.5.7" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +checksum = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.60.2", +] + +[[package]] +name = "solana-account" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f949fe4edaeaea78c844023bfc1c898e0b1f5a100f8a8d2d0f85d0a7b090258" +dependencies = [ + "solana-account-info 2.3.0", + "solana-clock 2.2.2", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", +] + +[[package]] +name = "solana-account" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efc0ed36decb689413b9da5d57f2be49eea5bebb3cf7897015167b0c4336e731" +dependencies = [ + "bincode", + "serde", + "serde_bytes", + "serde_derive", + "solana-account-info 3.1.0", + "solana-clock 3.0.0", + "solana-instruction-error", + "solana-pubkey 4.0.0", + "solana-sdk-ids 3.1.0", + "solana-sysvar 3.1.1", ] [[package]] name = "solana-account-decoder" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aea325d1a1bddb7234955601a4c8613ab869c7a47decc7ee6235ad38c7fd67a7" dependencies = [ "Inflector", - "base64 0.13.1", + "base64 0.22.1", "bincode", - "bs58 0.4.0", + "bs58 0.5.1", "bv", - "lazy_static", "serde", "serde_derive", "serde_json", - "solana-address-lookup-table-program", - "solana-config-program", - "solana-sdk", - "solana-vote-program", - "spl-token", - "spl-token-2022", - "thiserror", + "solana-account 3.4.0", + "solana-account-decoder-client-types", + "solana-address-lookup-table-interface 3.0.1", + "solana-clock 3.0.0", + "solana-config-interface", + "solana-epoch-schedule 3.0.0", + "solana-fee-calculator 3.0.0", + "solana-instruction 3.1.0", + "solana-loader-v3-interface 6.1.0", + "solana-nonce 3.0.0", + "solana-program-option 3.0.0", + "solana-program-pack 3.0.0", + "solana-pubkey 3.0.0", + "solana-rent 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-slot-hashes 3.0.0", + "solana-slot-history 3.0.0", + "solana-stake-interface 2.0.2", + "solana-sysvar 3.1.1", + "solana-vote-interface 3.0.0", + "spl-generic-token", + "spl-token-2022-interface", + "spl-token-group-interface", + "spl-token-interface", + "spl-token-metadata-interface", + "thiserror 2.0.18", + "zstd", +] + +[[package]] +name = "solana-account-decoder-client-types" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2ad080c23d4a6ab04f27092172c7182cce3b395edde2c2a833cf7bc7b6a9070" +dependencies = [ + "base64 0.22.1", + "bs58 0.5.1", + "serde", + "serde_derive", + "serde_json", + "solana-account 3.4.0", + "solana-pubkey 3.0.0", "zstd", ] [[package]] -name = "solana-address-lookup-table-program" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-account-info" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8f5152a288ef1912300fc6efa6c2d1f9bb55d9398eb6c72326360b8063987da" +dependencies = [ + "bincode", + "serde", + "solana-program-error 2.2.2", + "solana-program-memory 2.3.1", + "solana-pubkey 2.4.0", +] + +[[package]] +name = "solana-account-info" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc3397241392f5756925029acaa8515dc70fcbe3d8059d4885d7d6533baf64fd" +dependencies = [ + "bincode", + "serde_core", + "solana-address 2.0.0", + "solana-program-error 3.0.0", + "solana-program-memory 3.1.0", +] + +[[package]] +name = "solana-accounts-db" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b413b5f649919b63a9684320fb13b02c2c4f720ce50ce8df6d25e4f79044667b" dependencies = [ + "agave-io-uring", + "ahash 0.8.12", "bincode", + "blake3", + "bv", "bytemuck", + "bytemuck_derive", + "bzip2", + "crossbeam-channel", + "dashmap", + "indexmap", + "io-uring", + "itertools 0.12.1", + "libc", "log", - "num-derive 0.3.3", - "num-traits", - "rustc_version", + "lz4", + "memmap2 0.9.9", + "modular-bitfield", + "num_cpus", + "num_enum", + "rand 0.8.5", + "rayon", + "seqlock", "serde", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-program", - "solana-program-runtime", - "solana-sdk", - "thiserror", + "serde_derive", + "slab", + "smallvec", + "solana-account 3.4.0", + "solana-address-lookup-table-interface 3.0.1", + "solana-bucket-map", + "solana-clock 3.0.0", + "solana-epoch-schedule 3.0.0", + "solana-fee-calculator 3.0.0", + "solana-genesis-config", + "solana-hash 3.1.0", + "solana-lattice-hash", + "solana-measure", + "solana-message 3.0.1", + "solana-metrics", + "solana-nohash-hasher", + "solana-pubkey 3.0.0", + "solana-rayon-threadlimit", + "solana-reward-info", + "solana-sha256-hasher 3.1.0", + "solana-slot-hashes 3.0.0", + "solana-svm-transaction", + "solana-system-interface 2.0.0", + "solana-sysvar 3.1.1", + "solana-time-utils", + "solana-transaction", + "solana-transaction-context", + "solana-transaction-error 3.0.0", + "spl-generic-token", + "static_assertions", + "tar", + "tempfile", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-address" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2ecac8e1b7f74c2baa9e774c42817e3e75b20787134b76cc4d45e8a604488f5" +dependencies = [ + "solana-address 2.0.0", +] + +[[package]] +name = "solana-address" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e37320fd2945c5d654b2c6210624a52d66c3f1f73b653ed211ab91a703b35bdd" +dependencies = [ + "borsh 1.6.0", + "bytemuck", + "bytemuck_derive", + "curve25519-dalek 4.1.3", + "five8 1.0.0", + "five8_const 1.0.0", + "rand 0.8.5", + "serde", + "serde_derive", + "solana-atomic-u64 3.0.0", + "solana-define-syscall 4.0.1", + "solana-program-error 3.0.0", + "solana-sanitize 3.0.1", + "solana-sha256-hasher 3.1.0", +] + +[[package]] +name = "solana-address-lookup-table-interface" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1673f67efe870b64a65cb39e6194be5b26527691ce5922909939961a6e6b395" +dependencies = [ + "bincode", + "bytemuck", + "serde", + "serde_derive", + "solana-clock 2.2.2", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", + "solana-slot-hashes 2.2.1", +] + +[[package]] +name = "solana-address-lookup-table-interface" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e8df0b083c10ce32490410f3795016b1b5d9b4d094658c0a5e496753645b7cd" +dependencies = [ + "bincode", + "bytemuck", + "serde", + "serde_derive", + "solana-clock 3.0.0", + "solana-instruction 3.1.0", + "solana-instruction-error", + "solana-pubkey 4.0.0", + "solana-sdk-ids 3.1.0", + "solana-slot-hashes 3.0.0", +] + +[[package]] +name = "solana-atomic-u64" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52e52720efe60465b052b9e7445a01c17550666beec855cce66f44766697bc2" +dependencies = [ + "parking_lot 0.12.5", +] + +[[package]] +name = "solana-atomic-u64" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a933ff1e50aff72d02173cfcd7511bd8540b027ee720b75f353f594f834216d0" +dependencies = [ + "parking_lot 0.12.5", ] [[package]] name = "solana-banks-client" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4bf0c85997243934225ce839da2cc4f4b3771ea38e5df06cdebf71ee22a52dc" dependencies = [ - "borsh", + "borsh 1.6.0", "futures", + "solana-account 3.4.0", "solana-banks-interface", - "solana-program", - "solana-sdk", + "solana-clock 3.0.0", + "solana-commitment-config", + "solana-hash 3.1.0", + "solana-message 3.0.1", + "solana-program-pack 3.0.0", + "solana-pubkey 3.0.0", + "solana-rent 3.1.0", + "solana-signature 3.1.0", + "solana-sysvar 3.1.1", + "solana-transaction", + "solana-transaction-context", + "solana-transaction-error 3.0.0", "tarpc", - "thiserror", + "thiserror 2.0.18", "tokio", "tokio-serde", ] [[package]] name = "solana-banks-interface" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f5ab0fe0c7921f6c3afd7809b8703d8fcf027835f69eef3c74f93faa5510315" dependencies = [ "serde", - "solana-sdk", + "serde_derive", + "solana-account 3.4.0", + "solana-clock 3.0.0", + "solana-commitment-config", + "solana-hash 3.1.0", + "solana-message 3.0.1", + "solana-pubkey 3.0.0", + "solana-signature 3.1.0", + "solana-transaction", + "solana-transaction-context", + "solana-transaction-error 3.0.0", "tarpc", ] [[package]] name = "solana-banks-server" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e323060c3c0556e6a3394d39da881e28c490c89cd9879ab96366c524e2b0c0b" dependencies = [ + "agave-feature-set", "bincode", "crossbeam-channel", "futures", + "solana-account 3.4.0", "solana-banks-interface", "solana-client", + "solana-clock 3.0.0", + "solana-commitment-config", + "solana-hash 3.1.0", + "solana-message 3.0.1", + "solana-pubkey 3.0.0", "solana-runtime", - "solana-sdk", + "solana-runtime-transaction", "solana-send-transaction-service", + "solana-signature 3.1.0", + "solana-svm", + "solana-transaction", + "solana-transaction-error 3.0.0", "tarpc", "tokio", "tokio-serde", - "tokio-stream", +] + +[[package]] +name = "solana-big-mod-exp" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75db7f2bbac3e62cfd139065d15bcda9e2428883ba61fc8d27ccb251081e7567" +dependencies = [ + "num-bigint 0.4.6", + "num-traits", + "solana-define-syscall 2.3.0", +] + +[[package]] +name = "solana-big-mod-exp" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30c80fb6d791b3925d5ec4bf23a7c169ef5090c013059ec3ed7d0b2c04efa085" +dependencies = [ + "num-bigint 0.4.6", + "num-traits", + "solana-define-syscall 3.0.0", +] + +[[package]] +name = "solana-bincode" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19a3787b8cf9c9fe3dd360800e8b70982b9e5a8af9e11c354b6665dd4a003adc" +dependencies = [ + "bincode", + "serde", + "solana-instruction 2.3.3", +] + +[[package]] +name = "solana-bincode" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "278a1a5bad62cd9da89ac8d4b7ec444e83caa8ae96aa656dfc27684b28d49a5d" +dependencies = [ + "bincode", + "serde_core", + "solana-instruction-error", +] + +[[package]] +name = "solana-blake3-hasher" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a0801e25a1b31a14494fc80882a036be0ffd290efc4c2d640bfcca120a4672" +dependencies = [ + "blake3", + "solana-define-syscall 2.3.0", + "solana-hash 2.3.0", + "solana-sanitize 2.2.1", +] + +[[package]] +name = "solana-blake3-hasher" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7116e1d942a2432ca3f514625104757ab8a56233787e95144c93950029e31176" +dependencies = [ + "blake3", + "solana-define-syscall 4.0.1", + "solana-hash 4.0.1", +] + +[[package]] +name = "solana-bn254" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62ff13a8867fcc7b0f1114764e1bf6191b4551dcaf93729ddc676cd4ec6abc9f" +dependencies = [ + "ark-bn254 0.5.0", + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-serialize 0.5.0", + "bytemuck", + "solana-define-syscall 5.0.0", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-borsh" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "718333bcd0a1a7aed6655aa66bef8d7fb047944922b2d3a18f49cbc13e73d004" +dependencies = [ + "borsh 0.10.4", + "borsh 1.6.0", +] + +[[package]] +name = "solana-borsh" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc402b16657abbfa9991cd5cbfac5a11d809f7e7d28d3bb291baeb088b39060e" +dependencies = [ + "borsh 1.6.0", ] [[package]] name = "solana-bpf-loader-program" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d96a21a7271f0c59b9b28c3a5a08a8f78325231ed9d459c02f049b4c52adff2" dependencies = [ + "agave-syscalls", "bincode", - "byteorder", - "libsecp256k1", - "log", - "solana-measure", - "solana-metrics", + "qualifier_attr", + "solana-account 3.4.0", + "solana-bincode 3.1.0", + "solana-clock 3.0.0", + "solana-instruction 3.1.0", + "solana-loader-v3-interface 6.1.0", + "solana-loader-v4-interface 3.1.0", + "solana-packet", + "solana-program-entrypoint 3.1.1", "solana-program-runtime", - "solana-sdk", - "solana-zk-token-sdk", - "solana_rbpf", - "thiserror", + "solana-pubkey 3.0.0", + "solana-sbpf", + "solana-sdk-ids 3.1.0", + "solana-svm-feature-set", + "solana-svm-log-collector", + "solana-svm-measure", + "solana-svm-type-overrides", + "solana-system-interface 2.0.0", + "solana-transaction-context", ] [[package]] name = "solana-bucket-map" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e5f4a8f66ce62f7ff979def1b048c19de18e7b5606844193bfda6d906d61456" dependencies = [ - "log", - "memmap2", + "bv", + "bytemuck", + "bytemuck_derive", + "memmap2 0.9.9", "modular-bitfield", - "rand 0.7.3", + "num_enum", + "rand 0.8.5", + "solana-clock 3.0.0", "solana-measure", - "solana-sdk", + "solana-pubkey 3.0.0", "tempfile", ] +[[package]] +name = "solana-builtins" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1366152cef79982bec10c8848af28ecadedb45a0f95f9137cc84b39006b16c34" +dependencies = [ + "agave-feature-set", + "solana-bpf-loader-program", + "solana-compute-budget-program", + "solana-hash 3.1.0", + "solana-loader-v4-program", + "solana-program-runtime", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-stake-program", + "solana-system-program", + "solana-vote-program", + "solana-zk-elgamal-proof-program", + "solana-zk-token-proof-program", +] + +[[package]] +name = "solana-builtins-default-costs" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7547b04505cd465b6cc5436b7bfeed2c5f90133a4a81a9b6f945f40389f45e6" +dependencies = [ + "agave-feature-set", + "ahash 0.8.12", + "log", + "solana-bpf-loader-program", + "solana-compute-budget-program", + "solana-loader-v4-program", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-stake-program", + "solana-system-program", + "solana-vote-program", +] + [[package]] name = "solana-clap-utils" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79225d48c3c04236532019a090c2ea6e1427d296db4301575fb9461c0b87a8bb" dependencies = [ "chrono", "clap 2.34.0", "rpassword", - "solana-perf", + "solana-clock 3.0.0", + "solana-cluster-type", + "solana-commitment-config", + "solana-derivation-path 3.0.0", + "solana-hash 3.1.0", + "solana-keypair", + "solana-message 3.0.1", + "solana-native-token 3.0.0", + "solana-presigner", + "solana-pubkey 3.0.0", "solana-remote-wallet", - "solana-sdk", - "thiserror", + "solana-seed-phrase 3.0.0", + "solana-signature 3.1.0", + "solana-signer 3.0.0", + "thiserror 2.0.18", "tiny-bip39", "uriparse", "url", @@ -5106,793 +7071,3903 @@ dependencies = [ [[package]] name = "solana-cli-config" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0d5e1c86134bec84f13390119fbf33d59fab935f5a402bf443a0df2ea06fef0" dependencies = [ "dirs-next", - "lazy_static", "serde", "serde_derive", - "serde_yaml 0.8.26", + "serde_yaml", "solana-clap-utils", - "solana-sdk", + "solana-commitment-config", "url", ] [[package]] name = "solana-client" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b17c4e94b0902099c0153268a854067e1fe4e459dc16f04f8f5f478e1677ad00" dependencies = [ - "async-mutex", "async-trait", - "base64 0.13.1", "bincode", - "bs58 0.4.0", - "bytes", - "clap 2.34.0", - "crossbeam-channel", - "enum_dispatch", + "dashmap", "futures", "futures-util", - "indexmap 1.9.3", + "indexmap", "indicatif", - "itertools 0.10.5", - "jsonrpc-core", - "lazy_static", "log", "quinn", - "quinn-proto", - "rand 0.7.3", - "rand_chacha 0.2.2", "rayon", - "reqwest", - "rustls 0.20.9", - "semver", - "serde", - "serde_derive", - "serde_json", - "solana-account-decoder", - "solana-clap-utils", - "solana-faucet", + "solana-account 3.4.0", + "solana-client-traits", + "solana-commitment-config", + "solana-connection-cache", + "solana-epoch-info", + "solana-hash 3.1.0", + "solana-instruction 3.1.0", + "solana-keypair", "solana-measure", - "solana-metrics", - "solana-net-utils", - "solana-sdk", + "solana-message 3.0.1", + "solana-pubkey 3.0.0", + "solana-pubsub-client", + "solana-quic-client", + "solana-quic-definitions", + "solana-rpc-client", + "solana-rpc-client-api", + "solana-rpc-client-nonce-utils", + "solana-signature 3.1.0", + "solana-signer 3.0.0", "solana-streamer", - "solana-transaction-status", - "solana-version", - "solana-vote-program", - "spl-token-2022", - "thiserror", + "solana-time-utils", + "solana-tpu-client", + "solana-transaction", + "solana-transaction-error 3.0.0", + "solana-transaction-status-client-types", + "solana-udp-client", + "thiserror 2.0.18", "tokio", - "tokio-stream", - "tokio-tungstenite", - "tungstenite", - "url", ] [[package]] -name = "solana-compute-budget-program" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-client-traits" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08618ed587e128105510c54ae3e456b9a06d674d8640db75afe66dad65cb4e02" dependencies = [ - "solana-program-runtime", - "solana-sdk", + "solana-account 3.4.0", + "solana-commitment-config", + "solana-epoch-info", + "solana-hash 3.1.0", + "solana-instruction 3.1.0", + "solana-keypair", + "solana-message 3.0.1", + "solana-pubkey 3.0.0", + "solana-signature 3.1.0", + "solana-signer 3.0.0", + "solana-system-interface 2.0.0", + "solana-transaction", + "solana-transaction-error 3.0.0", ] [[package]] -name = "solana-config-program" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-clock" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bb482ab70fced82ad3d7d3d87be33d466a3498eb8aa856434ff3c0dfc2e2e31" dependencies = [ - "bincode", - "chrono", "serde", "serde_derive", - "solana-program-runtime", - "solana-sdk", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", ] [[package]] -name = "solana-faucet" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-clock" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb62e9381182459a4520b5fe7fb22d423cae736239a6427fc398a88743d0ed59" dependencies = [ - "bincode", - "byteorder", - "clap 2.34.0", - "crossbeam-channel", - "log", "serde", "serde_derive", - "solana-clap-utils", - "solana-cli-config", - "solana-logger", - "solana-metrics", - "solana-sdk", - "solana-version", - "spl-memo 3.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "thiserror", - "tokio", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.0", + "solana-sysvar-id 3.1.0", ] [[package]] -name = "solana-frozen-abi" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-cluster-type" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb7692fa6bf10a1a86b450c4775526f56d7e0e2116a53313f2533b5694abea64" dependencies = [ - "ahash", - "blake3", - "block-buffer 0.9.0", - "bs58 0.4.0", - "bv", - "byteorder", - "cc", - "either", - "generic-array 0.14.7", - "getrandom 0.1.16", - "hashbrown 0.12.3", - "im", - "lazy_static", - "log", - "memmap2", - "once_cell", - "rand_core 0.6.4", - "rustc_version", "serde", - "serde_bytes", "serde_derive", - "serde_json", - "sha2 0.10.8", - "solana-frozen-abi-macro", - "subtle", - "thiserror", + "solana-hash 3.1.0", ] [[package]] -name = "solana-frozen-abi-macro" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-commitment-config" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fa5933a62dadb7d3ed35e6329de5cebb0678acc8f9cfdf413269084eeccc63f" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", - "rustc_version", - "syn 1.0.109", + "serde", + "serde_derive", ] [[package]] -name = "solana-logger" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-compute-budget" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93e828825846ebc6d9d1b10f91b7d50cdd071e56579cf1dff91ee15a457104c7" dependencies = [ - "env_logger 0.9.3", - "lazy_static", - "log", + "solana-fee-structure", + "solana-program-runtime", ] [[package]] -name = "solana-measure" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-compute-budget-instruction" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "870173bd5426617b5dbd65d571ea9bd63ebe700b9b623ffe8a2fe1da6e5ddfe2" dependencies = [ + "agave-feature-set", "log", - "solana-sdk", + "solana-borsh 3.0.0", + "solana-builtins-default-costs", + "solana-compute-budget", + "solana-compute-budget-interface", + "solana-instruction 3.1.0", + "solana-packet", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-svm-transaction", + "solana-transaction-error 3.0.0", + "thiserror 2.0.18", ] [[package]] -name = "solana-metrics" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-compute-budget-interface" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8292c436b269ad23cecc8b24f7da3ab07ca111661e25e00ce0e1d22771951ab9" dependencies = [ - "crossbeam-channel", - "gethostname", - "lazy_static", - "log", - "reqwest", - "solana-sdk", + "borsh 1.6.0", + "solana-instruction 3.1.0", + "solana-sdk-ids 3.1.0", ] [[package]] -name = "solana-net-utils" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-compute-budget-program" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03f5f8b9b3b4f77a2db4a3aabd42c0e2329f12be6327e9bfa176fc3b4952d3ec" +dependencies = [ + "solana-program-runtime", +] + +[[package]] +name = "solana-config-interface" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63e401ae56aed512821cc7a0adaa412ff97fecd2dff4602be7b1330d2daec0c4" dependencies = [ "bincode", - "clap 3.2.25", - "crossbeam-channel", - "log", - "nix", - "rand 0.7.3", "serde", "serde_derive", - "socket2 0.4.10", - "solana-logger", - "solana-sdk", - "solana-version", - "tokio", - "url", + "solana-account 3.4.0", + "solana-instruction 3.1.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-short-vec 3.2.0", + "solana-system-interface 2.0.0", ] [[package]] -name = "solana-perf" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-connection-cache" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "096024d743cc53f256790333a02f85d8083b9d63738e77c9b79302109e8d2035" dependencies = [ - "ahash", + "async-trait", "bincode", - "bv", - "caps", - "curve25519-dalek", - "dlopen", - "dlopen_derive", - "fnv", - "lazy_static", - "libc", + "crossbeam-channel", + "futures-util", + "indexmap", "log", - "nix", - "rand 0.7.3", + "rand 0.8.5", "rayon", - "serde", + "solana-keypair", + "solana-measure", "solana-metrics", - "solana-rayon-threadlimit", - "solana-sdk", - "solana-vote-program", + "solana-time-utils", + "solana-transaction-error 3.0.0", + "thiserror 2.0.18", + "tokio", ] [[package]] -name = "solana-program" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-cost-model" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34359c7e4e496d2aaf26ba81b4412480ba60b0ff4a2513d94a5e17bfc90a839d" dependencies = [ - "base64 0.13.1", - "bincode", - "bitflags 1.3.2", - "blake3", - "borsh", - "borsh-derive", - "bs58 0.4.0", - "bv", - "bytemuck", - "cc", - "console_error_panic_hook", - "console_log", - "curve25519-dalek", - "getrandom 0.2.15", - "itertools 0.10.5", - "js-sys", - "lazy_static", - "libc", - "libsecp256k1", + "agave-feature-set", + "ahash 0.8.12", "log", - "memoffset", - "num-derive 0.3.3", - "num-traits", - "parking_lot 0.12.3", - "rand 0.7.3", - "rand_chacha 0.2.2", - "rustc_version", - "rustversion", - "serde", - "serde_bytes", - "serde_derive", - "serde_json", - "sha2 0.10.8", - "sha3 0.10.8", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-sdk-macro", - "thiserror", - "tiny-bip39", - "wasm-bindgen", - "zeroize", + "solana-bincode 3.1.0", + "solana-borsh 3.0.0", + "solana-builtins-default-costs", + "solana-clock 3.0.0", + "solana-compute-budget", + "solana-compute-budget-instruction", + "solana-compute-budget-interface", + "solana-fee-structure", + "solana-metrics", + "solana-packet", + "solana-pubkey 3.0.0", + "solana-runtime-transaction", + "solana-sdk-ids 3.1.0", + "solana-svm-transaction", + "solana-system-interface 2.0.0", + "solana-transaction-error 3.0.0", + "solana-vote-program", ] [[package]] -name = "solana-program-runtime" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-cpi" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dc71126edddc2ba014622fc32d0f5e2e78ec6c5a1e0eb511b85618c09e9ea11" dependencies = [ - "base64 0.13.1", - "bincode", - "eager", - "enum-iterator", - "itertools 0.10.5", - "libc", - "libloading", - "log", - "num-derive 0.3.3", - "num-traits", - "rand 0.7.3", - "rustc_version", - "serde", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-measure", - "solana-metrics", - "solana-sdk", - "thiserror", + "solana-account-info 2.3.0", + "solana-define-syscall 2.3.0", + "solana-instruction 2.3.3", + "solana-program-error 2.2.2", + "solana-pubkey 2.4.0", + "solana-stable-layout 2.2.1", ] [[package]] -name = "solana-program-test" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-cpi" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dea26709d867aada85d0d3617db0944215c8bb28d3745b912de7db13a23280c" dependencies = [ - "assert_matches", - "async-trait", - "base64 0.13.1", - "bincode", - "chrono-humanize", - "log", - "serde", - "solana-banks-client", - "solana-banks-server", - "solana-bpf-loader-program", - "solana-logger", - "solana-program-runtime", - "solana-runtime", - "solana-sdk", - "solana-vote-program", - "thiserror", - "tokio", + "solana-account-info 3.1.0", + "solana-define-syscall 4.0.1", + "solana-instruction 3.1.0", + "solana-program-error 3.0.0", + "solana-pubkey 4.0.0", + "solana-stable-layout 3.0.0", ] [[package]] -name = "solana-rayon-threadlimit" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-curve25519" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09b5a8c8d7017e6b16d7e97faabe10e1adb5b8dfe6b7bc223503041169837a3c" dependencies = [ - "lazy_static", - "num_cpus", + "bytemuck", + "bytemuck_derive", + "curve25519-dalek 4.1.3", + "solana-define-syscall 3.0.0", + "subtle", + "thiserror 2.0.18", ] [[package]] -name = "solana-remote-wallet" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-decode-error" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c781686a18db2f942e70913f7ca15dc120ec38dcab42ff7557db2c70c625a35" dependencies = [ - "console", - "dialoguer", - "log", - "num-derive 0.3.3", "num-traits", - "parking_lot 0.12.3", +] + +[[package]] +name = "solana-define-syscall" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ae3e2abcf541c8122eafe9a625d4d194b4023c20adde1e251f94e056bb1aee2" + +[[package]] +name = "solana-define-syscall" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9697086a4e102d28a156b8d6b521730335d6951bd39a5e766512bbe09007cee" + +[[package]] +name = "solana-define-syscall" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57e5b1c0bc1d4a4d10c88a4100499d954c09d3fecfae4912c1a074dff68b1738" + +[[package]] +name = "solana-define-syscall" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03aacdd7a61e2109887a7a7f046caebafce97ddf1150f33722eeac04f9039c73" + +[[package]] +name = "solana-derivation-path" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "939756d798b25c5ec3cca10e06212bdca3b1443cb9bb740a38124f58b258737b" +dependencies = [ + "derivation-path", "qstring", - "semver", - "solana-sdk", - "thiserror", "uriparse", ] [[package]] -name = "solana-runtime" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-derivation-path" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff71743072690fdbdfcdc37700ae1cb77485aaad49019473a81aee099b1e0b8c" +dependencies = [ + "derivation-path", + "qstring", + "uriparse", +] + +[[package]] +name = "solana-ed25519-program" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1419197f1c06abf760043f6d64ba9d79a03ad5a43f18c7586471937122094da" dependencies = [ - "arrayref", - "bincode", - "blake3", - "bv", "bytemuck", - "byteorder", - "bzip2", - "crossbeam-channel", + "bytemuck_derive", + "solana-instruction 3.1.0", + "solana-sdk-ids 3.1.0", +] + +[[package]] +name = "solana-epoch-info" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e093c84f6ece620a6b10cd036574b0cd51944231ab32d81f80f76d54aba833e6" +dependencies = [ + "serde", + "serde_derive", +] + +[[package]] +name = "solana-epoch-rewards" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b575d3dd323b9ea10bb6fe89bf6bf93e249b215ba8ed7f68f1a3633f384db7" +dependencies = [ + "serde", + "serde_derive", + "solana-hash 2.3.0", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-epoch-rewards" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b319a4ed70390af911090c020571f0ff1f4ec432522d05ab89f5c08080381995" +dependencies = [ + "serde", + "serde_derive", + "solana-hash 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.0", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-epoch-rewards-hasher" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ee8beac9bff4db9225e57d532d169b0be5e447f1e6601a2f50f27a01bf5518f" +dependencies = [ + "siphasher 0.3.11", + "solana-address 2.0.0", + "solana-hash 4.0.1", +] + +[[package]] +name = "solana-epoch-schedule" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fce071fbddecc55d727b1d7ed16a629afe4f6e4c217bc8d00af3b785f6f67ed" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-epoch-schedule" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e5481e72cc4d52c169db73e4c0cd16de8bc943078aac587ec4817a75cc6388f" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.0", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-epoch-stake" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc6693d0ea833b880514b9b88d95afb80b42762dca98b0712465d1fcbbcb89e" +dependencies = [ + "solana-define-syscall 3.0.0", + "solana-pubkey 3.0.0", +] + +[[package]] +name = "solana-example-mocks" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84461d56cbb8bb8d539347151e0525b53910102e4bced875d49d5139708e39d3" +dependencies = [ + "serde", + "serde_derive", + "solana-address-lookup-table-interface 2.2.2", + "solana-clock 2.2.2", + "solana-hash 2.3.0", + "solana-instruction 2.3.3", + "solana-keccak-hasher 2.2.1", + "solana-message 2.4.0", + "solana-nonce 2.2.1", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-example-mocks" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978855d164845c1b0235d4b4d101cadc55373fffaf0b5b6cfa2194d25b2ed658" +dependencies = [ + "serde", + "serde_derive", + "solana-address-lookup-table-interface 3.0.1", + "solana-clock 3.0.0", + "solana-hash 3.1.0", + "solana-instruction 3.1.0", + "solana-keccak-hasher 3.1.0", + "solana-message 3.0.1", + "solana-nonce 3.0.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-system-interface 2.0.0", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-feature-gate-interface" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43f5c5382b449e8e4e3016fb05e418c53d57782d8b5c30aa372fc265654b956d" +dependencies = [ + "bincode", + "serde", + "serde_derive", + "solana-account 2.2.1", + "solana-account-info 2.3.0", + "solana-instruction 2.3.3", + "solana-program-error 2.2.2", + "solana-pubkey 2.4.0", + "solana-rent 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", +] + +[[package]] +name = "solana-feature-gate-interface" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75ca9b5cbb6f500f7fd73db5bd95640f71a83f04d6121a0e59a43b202dca2731" +dependencies = [ + "bincode", + "serde", + "serde_derive", + "solana-account 3.4.0", + "solana-account-info 3.1.0", + "solana-instruction 3.1.0", + "solana-program-error 3.0.0", + "solana-pubkey 4.0.0", + "solana-rent 4.0.0", + "solana-sdk-ids 3.1.0", + "solana-system-interface 3.0.0", +] + +[[package]] +name = "solana-fee" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ab2d1b0f8c246263c366122916cb37d7c91d0bf3697e6d1368616effb501522" +dependencies = [ + "agave-feature-set", + "solana-fee-structure", + "solana-svm-transaction", +] + +[[package]] +name = "solana-fee-calculator" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89bc408da0fb3812bc3008189d148b4d3e08252c79ad810b245482a3f70cd8d" +dependencies = [ + "log", + "serde", + "serde_derive", +] + +[[package]] +name = "solana-fee-calculator" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a73cc03ca4bed871ca174558108835f8323e85917bb38b9c81c7af2ab853efe" +dependencies = [ + "log", + "serde", + "serde_derive", +] + +[[package]] +name = "solana-fee-structure" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e2abdb1223eea8ec64136f39cb1ffcf257e00f915c957c35c0dd9e3f4e700b0" +dependencies = [ + "serde", + "serde_derive", +] + +[[package]] +name = "solana-genesis-config" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "749eccc960e85c9b33608450093d256006253e1cb436b8380e71777840a3f675" +dependencies = [ + "bincode", + "chrono", + "memmap2 0.5.10", + "serde", + "serde_derive", + "solana-account 3.4.0", + "solana-clock 3.0.0", + "solana-cluster-type", + "solana-epoch-schedule 3.0.0", + "solana-fee-calculator 3.0.0", + "solana-hash 3.1.0", + "solana-inflation", + "solana-keypair", + "solana-poh-config", + "solana-pubkey 3.0.0", + "solana-rent 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-sha256-hasher 3.1.0", + "solana-shred-version", + "solana-signer 3.0.0", + "solana-time-utils", +] + +[[package]] +name = "solana-hard-forks" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0abacc4b66ce471f135f48f22facf75cbbb0f8a252fbe2c1e0aa59d5b203f519" +dependencies = [ + "serde", + "serde_derive", +] + +[[package]] +name = "solana-hash" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5b96e9f0300fa287b545613f007dfe20043d7812bee255f418c1eb649c93b63" +dependencies = [ + "borsh 1.6.0", + "bytemuck", + "bytemuck_derive", + "five8 0.2.1", + "js-sys", + "serde", + "serde_derive", + "solana-atomic-u64 2.2.1", + "solana-sanitize 2.2.1", + "wasm-bindgen", +] + +[[package]] +name = "solana-hash" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "337c246447142f660f778cf6cb582beba8e28deb05b3b24bfb9ffd7c562e5f41" +dependencies = [ + "solana-hash 4.0.1", +] + +[[package]] +name = "solana-hash" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a5d48a6ee7b91fc7b998944ab026ed7b3e2fc8ee3bc58452644a86c2648152f" +dependencies = [ + "borsh 1.6.0", + "bytemuck", + "bytemuck_derive", + "five8 1.0.0", + "serde", + "serde_derive", + "solana-atomic-u64 3.0.0", + "solana-sanitize 3.0.1", +] + +[[package]] +name = "solana-inflation" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e92f37a14e7c660628752833250dd3dcd8e95309876aee751d7f8769a27947c6" +dependencies = [ + "serde", + "serde_derive", +] + +[[package]] +name = "solana-instruction" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bab5682934bd1f65f8d2c16f21cb532526fcc1a09f796e2cacdb091eee5774ad" +dependencies = [ + "bincode", + "borsh 1.6.0", + "getrandom 0.2.17", + "js-sys", + "num-traits", + "serde", + "serde_derive", + "serde_json", + "solana-define-syscall 2.3.0", + "solana-pubkey 2.4.0", + "wasm-bindgen", +] + +[[package]] +name = "solana-instruction" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee1b699a2c1518028a9982e255e0eca10c44d90006542d9d7f9f40dbce3f7c78" +dependencies = [ + "bincode", + "borsh 1.6.0", + "serde", + "serde_derive", + "solana-define-syscall 4.0.1", + "solana-instruction-error", + "solana-pubkey 4.0.0", +] + +[[package]] +name = "solana-instruction-error" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b04259e03c05faf38a8c24217b5cfe4c90572ae6184ab49cddb1584fdd756d3f" +dependencies = [ + "num-traits", + "serde", + "serde_derive", + "solana-program-error 3.0.0", +] + +[[package]] +name = "solana-instructions-sysvar" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0e85a6fad5c2d0c4f5b91d34b8ca47118fc593af706e523cdbedf846a954f57" +dependencies = [ + "bitflags 2.10.0", + "solana-account-info 2.3.0", + "solana-instruction 2.3.3", + "solana-program-error 2.2.2", + "solana-pubkey 2.4.0", + "solana-sanitize 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-serialize-utils 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-instructions-sysvar" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ddf67876c541aa1e21ee1acae35c95c6fbc61119814bfef70579317a5e26955" +dependencies = [ + "bitflags 2.10.0", + "solana-account-info 3.1.0", + "solana-instruction 3.1.0", + "solana-instruction-error", + "solana-program-error 3.0.0", + "solana-pubkey 3.0.0", + "solana-sanitize 3.0.1", + "solana-sdk-ids 3.1.0", + "solana-serialize-utils 3.1.0", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-keccak-hasher" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7aeb957fbd42a451b99235df4942d96db7ef678e8d5061ef34c9b34cae12f79" +dependencies = [ + "sha3", + "solana-define-syscall 2.3.0", + "solana-hash 2.3.0", + "solana-sanitize 2.2.1", +] + +[[package]] +name = "solana-keccak-hasher" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed1c0d16d6fdeba12291a1f068cdf0d479d9bff1141bf44afd7aa9d485f65ef8" +dependencies = [ + "sha3", + "solana-define-syscall 4.0.1", + "solana-hash 4.0.1", +] + +[[package]] +name = "solana-keypair" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ac8be597c9e231b0cab2928ce3bc3e4ee77d9c0ad92977b9d901f3879f25a7a" +dependencies = [ + "ed25519-dalek 2.2.0", + "ed25519-dalek-bip32", + "five8 1.0.0", + "rand 0.8.5", + "solana-address 2.0.0", + "solana-derivation-path 3.0.0", + "solana-seed-derivable 3.0.0", + "solana-seed-phrase 3.0.0", + "solana-signature 3.1.0", + "solana-signer 3.0.0", +] + +[[package]] +name = "solana-last-restart-slot" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a6360ac2fdc72e7463565cd256eedcf10d7ef0c28a1249d261ec168c1b55cdd" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-last-restart-slot" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcda154ec827f5fc1e4da0af3417951b7e9b8157540f81f936c4a8b1156134d0" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.0", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-lattice-hash" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a432b56d7d40da7396f45cd5ec478a648a8bc23c958dfb374f748e672ce8d0a" +dependencies = [ + "base64 0.22.1", + "blake3", + "bs58 0.5.1", + "bytemuck", +] + +[[package]] +name = "solana-loader-v2-interface" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8ab08006dad78ae7cd30df8eea0539e207d08d91eaefb3e1d49a446e1c49654" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", +] + +[[package]] +name = "solana-loader-v2-interface" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e4a6f0ad4fd9c30679bfee2ce3ea6a449cac38049f210480b751f65676dfe82" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction 3.1.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", +] + +[[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 2.3.3", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", +] + +[[package]] +name = "solana-loader-v3-interface" +version = "6.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dee44c9b1328c5c712c68966fb8de07b47f3e7bac006e74ddd1bb053d3e46e5d" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction 3.1.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-system-interface 2.0.0", +] + +[[package]] +name = "solana-loader-v4-interface" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "706a777242f1f39a83e2a96a2a6cb034cb41169c6ecbee2cf09cb873d9659e7e" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", + "solana-system-interface 1.0.0", +] + +[[package]] +name = "solana-loader-v4-interface" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4c948b33ff81fa89699911b207059e493defdba9647eaf18f23abdf3674e0fb" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction 3.1.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-system-interface 2.0.0", +] + +[[package]] +name = "solana-loader-v4-program" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d3f8156365529bff005cc211056a9634c2d5953d54279cc56364e48c0c9a7c" +dependencies = [ + "log", + "qualifier_attr", + "solana-account 3.4.0", + "solana-bincode 3.1.0", + "solana-bpf-loader-program", + "solana-instruction 3.1.0", + "solana-loader-v3-interface 6.1.0", + "solana-loader-v4-interface 3.1.0", + "solana-packet", + "solana-program-runtime", + "solana-pubkey 3.0.0", + "solana-sbpf", + "solana-sdk-ids 3.1.0", + "solana-svm-log-collector", + "solana-svm-measure", + "solana-svm-type-overrides", + "solana-transaction-context", +] + +[[package]] +name = "solana-logger" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef7421d1092680d72065edbf5c7605856719b021bf5f173656c71febcdd5d003" +dependencies = [ + "env_logger 0.11.8", + "lazy_static", + "libc", + "log", + "signal-hook", +] + +[[package]] +name = "solana-measure" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b27e8b7a245e3baafbd36795debadeb650b166c5b3833670b063d8eb62df503f" + +[[package]] +name = "solana-message" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1796aabce376ff74bf89b78d268fa5e683d7d7a96a0a4e4813ec34de49d5314b" +dependencies = [ + "bincode", + "blake3", + "lazy_static", + "serde", + "serde_derive", + "solana-bincode 2.2.1", + "solana-hash 2.3.0", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-sanitize 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-short-vec 2.2.1", + "solana-system-interface 1.0.0", + "solana-transaction-error 2.2.1", + "wasm-bindgen", +] + +[[package]] +name = "solana-message" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85666605c9fd727f865ed381665db0a8fc29f984a030ecc1e40f43bfb2541623" +dependencies = [ + "bincode", + "blake3", + "lazy_static", + "serde", + "serde_derive", + "solana-address 1.1.0", + "solana-hash 3.1.0", + "solana-instruction 3.1.0", + "solana-sanitize 3.0.1", + "solana-sdk-ids 3.1.0", + "solana-short-vec 3.2.0", + "solana-transaction-error 3.0.0", +] + +[[package]] +name = "solana-metrics" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6715976cc61be1629a762cc9d5771b439e027b1276678554587104aa4a41afc3" +dependencies = [ + "crossbeam-channel", + "gethostname", + "log", + "reqwest 0.12.28", + "solana-cluster-type", + "solana-sha256-hasher 3.1.0", + "solana-time-utils", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-msg" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f36a1a14399afaabc2781a1db09cb14ee4cc4ee5c7a5a3cfcc601811379a8092" +dependencies = [ + "solana-define-syscall 2.3.0", +] + +[[package]] +name = "solana-msg" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "264275c556ea7e22b9d3f87d56305546a38d4eee8ec884f3b126236cb7dcbbb4" +dependencies = [ + "solana-define-syscall 3.0.0", +] + +[[package]] +name = "solana-native-token" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61515b880c36974053dd499c0510066783f0cc6ac17def0c7ef2a244874cf4a9" + +[[package]] +name = "solana-native-token" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae8dd4c280dca9d046139eb5b7a5ac9ad10403fbd64964c7d7571214950d758f" + +[[package]] +name = "solana-net-utils" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1216dd3d15b873d224cba1a736161582c2c30ddc152ccd16d271fc85bf9db46d" +dependencies = [ + "anyhow", + "bincode", + "bytes", + "itertools 0.12.1", + "log", + "nix", + "rand 0.8.5", + "serde", + "serde_derive", + "socket2 0.6.2", + "solana-serde", + "tokio", + "url", +] + +[[package]] +name = "solana-nohash-hasher" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b8a731ed60e89177c8a7ab05fe0f1511cedd3e70e773f288f9de33a9cfdc21e" + +[[package]] +name = "solana-nonce" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "703e22eb185537e06204a5bd9d509b948f0066f2d1d814a6f475dafb3ddf1325" +dependencies = [ + "serde", + "serde_derive", + "solana-fee-calculator 2.2.1", + "solana-hash 2.3.0", + "solana-pubkey 2.4.0", + "solana-sha256-hasher 2.3.0", +] + +[[package]] +name = "solana-nonce" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abbdc6c8caf1c08db9f36a50967539d0f72b9f1d4aea04fec5430f532e5afadc" +dependencies = [ + "serde", + "serde_derive", + "solana-fee-calculator 3.0.0", + "solana-hash 3.1.0", + "solana-pubkey 3.0.0", + "solana-sha256-hasher 3.1.0", +] + +[[package]] +name = "solana-nonce-account" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "805fd25b29e5a1a0e6c3dd6320c9da80f275fbe4ff6e392617c303a2085c435e" +dependencies = [ + "solana-account 3.4.0", + "solana-hash 3.1.0", + "solana-nonce 3.0.0", + "solana-sdk-ids 3.1.0", +] + +[[package]] +name = "solana-offchain-message" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6e2a1141a673f72a05cf406b99e4b2b8a457792b7c01afa07b3f00d4e2de393" +dependencies = [ + "num_enum", + "solana-hash 3.1.0", + "solana-packet", + "solana-pubkey 3.0.0", + "solana-sanitize 3.0.1", + "solana-sha256-hasher 3.1.0", + "solana-signature 3.1.0", + "solana-signer 3.0.0", +] + +[[package]] +name = "solana-packet" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6edf2f25743c95229ac0fdc32f8f5893ef738dbf332c669e9861d33ddb0f469d" +dependencies = [ + "bincode", + "bitflags 2.10.0", + "cfg_eval", + "serde", + "serde_derive", + "serde_with", +] + +[[package]] +name = "solana-perf" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6775cb16f353c05785e1ef05fd1fbeb47db4a6b0f3273a79a0fc2dad78f85f88" +dependencies = [ + "ahash 0.8.12", + "bincode", + "bv", + "bytes", + "caps", + "curve25519-dalek 4.1.3", + "dlopen2", + "fnv", + "libc", + "log", + "nix", + "rand 0.8.5", + "rayon", + "serde", + "solana-hash 3.1.0", + "solana-message 3.0.1", + "solana-metrics", + "solana-packet", + "solana-pubkey 3.0.0", + "solana-rayon-threadlimit", + "solana-sdk-ids 3.1.0", + "solana-short-vec 3.2.0", + "solana-signature 3.1.0", + "solana-time-utils", +] + +[[package]] +name = "solana-poh-config" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f1fef1f2ff2480fdbcc64bef5e3c47bec6e1647270db88b43f23e3a55f8d9cf" +dependencies = [ + "serde", + "serde_derive", +] + +[[package]] +name = "solana-poseidon" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9a6bf2b300b7b65a89f2c5b59832a86c46be8b6b67507231ee58f9343d7e9a" +dependencies = [ + "ark-bn254 0.4.0", + "light-poseidon", + "solana-define-syscall 3.0.0", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-precompile-error" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cafcd950de74c6c39d55dc8ca108bbb007799842ab370ef26cf45a34453c31e1" +dependencies = [ + "num-traits", +] + +[[package]] +name = "solana-presigner" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f704eaf825be3180832445b9e4983b875340696e8e7239bf2d535b0f86c14a2" +dependencies = [ + "solana-pubkey 3.0.0", + "solana-signature 3.1.0", + "solana-signer 3.0.0", +] + +[[package]] +name = "solana-program" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98eca145bd3545e2fbb07166e895370576e47a00a7d824e325390d33bf467210" +dependencies = [ + "bincode", + "blake3", + "borsh 0.10.4", + "borsh 1.6.0", + "bs58 0.5.1", + "bytemuck", + "console_error_panic_hook", + "console_log", + "getrandom 0.2.17", + "lazy_static", + "log", + "memoffset", + "num-bigint 0.4.6", + "num-derive", + "num-traits", + "rand 0.8.5", + "serde", + "serde_bytes", + "serde_derive", + "solana-account-info 2.3.0", + "solana-address-lookup-table-interface 2.2.2", + "solana-atomic-u64 2.2.1", + "solana-big-mod-exp 2.2.1", + "solana-bincode 2.2.1", + "solana-blake3-hasher 2.2.1", + "solana-borsh 2.2.1", + "solana-clock 2.2.2", + "solana-cpi 2.2.1", + "solana-decode-error", + "solana-define-syscall 2.3.0", + "solana-epoch-rewards 2.2.1", + "solana-epoch-schedule 2.2.1", + "solana-example-mocks 2.2.1", + "solana-feature-gate-interface 2.2.2", + "solana-fee-calculator 2.2.1", + "solana-hash 2.3.0", + "solana-instruction 2.3.3", + "solana-instructions-sysvar 2.2.2", + "solana-keccak-hasher 2.2.1", + "solana-last-restart-slot 2.2.1", + "solana-loader-v2-interface 2.2.1", + "solana-loader-v3-interface 5.0.0", + "solana-loader-v4-interface 2.2.1", + "solana-message 2.4.0", + "solana-msg 2.2.1", + "solana-native-token 2.3.0", + "solana-nonce 2.2.1", + "solana-program-entrypoint 2.3.0", + "solana-program-error 2.2.2", + "solana-program-memory 2.3.1", + "solana-program-option 2.2.1", + "solana-program-pack 2.2.1", + "solana-pubkey 2.4.0", + "solana-rent 2.2.1", + "solana-sanitize 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-secp256k1-recover 2.2.1", + "solana-serde-varint 2.2.2", + "solana-serialize-utils 2.2.1", + "solana-sha256-hasher 2.3.0", + "solana-short-vec 2.2.1", + "solana-slot-hashes 2.2.1", + "solana-slot-history 2.2.1", + "solana-stable-layout 2.2.1", + "solana-stake-interface 1.2.1", + "solana-system-interface 1.0.0", + "solana-sysvar 2.3.0", + "solana-sysvar-id 2.2.1", + "solana-vote-interface 2.2.6", + "thiserror 2.0.18", + "wasm-bindgen", +] + +[[package]] +name = "solana-program" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91b12305dd81045d705f427acd0435a2e46444b65367d7179d7bdcfc3bc5f5eb" +dependencies = [ + "memoffset", + "solana-account-info 3.1.0", + "solana-big-mod-exp 3.0.0", + "solana-blake3-hasher 3.1.0", + "solana-borsh 3.0.0", + "solana-clock 3.0.0", + "solana-cpi 3.1.0", + "solana-define-syscall 3.0.0", + "solana-epoch-rewards 3.0.0", + "solana-epoch-schedule 3.0.0", + "solana-epoch-stake", + "solana-example-mocks 3.0.0", + "solana-fee-calculator 3.0.0", + "solana-hash 3.1.0", + "solana-instruction 3.1.0", + "solana-instruction-error", + "solana-instructions-sysvar 3.0.0", + "solana-keccak-hasher 3.1.0", + "solana-last-restart-slot 3.0.0", + "solana-msg 3.0.0", + "solana-native-token 3.0.0", + "solana-program-entrypoint 3.1.1", + "solana-program-error 3.0.0", + "solana-program-memory 3.1.0", + "solana-program-option 3.0.0", + "solana-program-pack 3.0.0", + "solana-pubkey 3.0.0", + "solana-rent 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-secp256k1-recover 3.1.0", + "solana-serde-varint 3.0.0", + "solana-serialize-utils 3.1.0", + "solana-sha256-hasher 3.1.0", + "solana-short-vec 3.2.0", + "solana-slot-hashes 3.0.0", + "solana-slot-history 3.0.0", + "solana-stable-layout 3.0.0", + "solana-sysvar 3.1.1", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-program-entrypoint" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32ce041b1a0ed275290a5008ee1a4a6c48f5054c8a3d78d313c08958a06aedbd" +dependencies = [ + "solana-account-info 2.3.0", + "solana-msg 2.2.1", + "solana-program-error 2.2.2", + "solana-pubkey 2.4.0", +] + +[[package]] +name = "solana-program-entrypoint" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84c9b0a1ff494e05f503a08b3d51150b73aa639544631e510279d6375f290997" +dependencies = [ + "solana-account-info 3.1.0", + "solana-define-syscall 4.0.1", + "solana-program-error 3.0.0", + "solana-pubkey 4.0.0", +] + +[[package]] +name = "solana-program-error" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ee2e0217d642e2ea4bee237f37bd61bb02aec60da3647c48ff88f6556ade775" +dependencies = [ + "borsh 1.6.0", + "num-traits", + "serde", + "serde_derive", + "solana-decode-error", + "solana-instruction 2.3.3", + "solana-msg 2.2.1", + "solana-pubkey 2.4.0", +] + +[[package]] +name = "solana-program-error" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1af32c995a7b692a915bb7414d5f8e838450cf7c70414e763d8abcae7b51f28" +dependencies = [ + "borsh 1.6.0", + "serde", + "serde_derive", +] + +[[package]] +name = "solana-program-memory" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a5426090c6f3fd6cfdc10685322fede9ca8e5af43cd6a59e98bfe4e91671712" +dependencies = [ + "solana-define-syscall 2.3.0", +] + +[[package]] +name = "solana-program-memory" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4068648649653c2c50546e9a7fb761791b5ab0cda054c771bb5808d3a4b9eb52" +dependencies = [ + "solana-define-syscall 4.0.1", +] + +[[package]] +name = "solana-program-option" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc677a2e9bc616eda6dbdab834d463372b92848b2bfe4a1ed4e4b4adba3397d0" + +[[package]] +name = "solana-program-option" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e7b4ddb464f274deb4a497712664c3b612e3f5f82471d4e47710fc4ab1c3095" + +[[package]] +name = "solana-program-pack" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "319f0ef15e6e12dc37c597faccb7d62525a509fec5f6975ecb9419efddeb277b" +dependencies = [ + "solana-program-error 2.2.2", +] + +[[package]] +name = "solana-program-pack" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c169359de21f6034a63ebf96d6b380980307df17a8d371344ff04a883ec4e9d0" +dependencies = [ + "solana-program-error 3.0.0", +] + +[[package]] +name = "solana-program-runtime" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7c0120b8925e979b2fd4a060d65428c2929162cca38307d1db9dfe3b6cce4a" +dependencies = [ + "base64 0.22.1", + "bincode", + "itertools 0.12.1", + "log", + "percentage", + "rand 0.8.5", + "serde", + "solana-account 3.4.0", + "solana-clock 3.0.0", + "solana-epoch-rewards 3.0.0", + "solana-epoch-schedule 3.0.0", + "solana-fee-structure", + "solana-hash 3.1.0", + "solana-instruction 3.1.0", + "solana-last-restart-slot 3.0.0", + "solana-program-entrypoint 3.1.1", + "solana-pubkey 3.0.0", + "solana-rent 3.1.0", + "solana-sbpf", + "solana-sdk-ids 3.1.0", + "solana-slot-hashes 3.0.0", + "solana-stake-interface 2.0.2", + "solana-svm-callback", + "solana-svm-feature-set", + "solana-svm-log-collector", + "solana-svm-measure", + "solana-svm-timings", + "solana-svm-transaction", + "solana-svm-type-overrides", + "solana-system-interface 2.0.0", + "solana-sysvar 3.1.1", + "solana-sysvar-id 3.1.0", + "solana-transaction-context", +] + +[[package]] +name = "solana-program-test" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbb73bbb04c0e65a409ae43cdfadf998ee13a158179ab28f860edca7743e2d57" +dependencies = [ + "agave-feature-set", + "assert_matches", + "async-trait", + "base64 0.22.1", + "bincode", + "chrono-humanize", + "crossbeam-channel", + "log", + "serde", + "solana-account 3.4.0", + "solana-account-info 3.1.0", + "solana-accounts-db", + "solana-banks-client", + "solana-banks-interface", + "solana-banks-server", + "solana-clock 3.0.0", + "solana-cluster-type", + "solana-commitment-config", + "solana-compute-budget", + "solana-epoch-rewards 3.0.0", + "solana-epoch-schedule 3.0.0", + "solana-fee-calculator 3.0.0", + "solana-genesis-config", + "solana-hash 3.1.0", + "solana-instruction 3.1.0", + "solana-keypair", + "solana-loader-v3-interface 6.1.0", + "solana-logger", + "solana-message 3.0.1", + "solana-msg 3.0.0", + "solana-native-token 3.0.0", + "solana-poh-config", + "solana-program-entrypoint 3.1.1", + "solana-program-error 3.0.0", + "solana-program-runtime", + "solana-pubkey 3.0.0", + "solana-rent 3.1.0", + "solana-runtime", + "solana-sbpf", + "solana-sdk-ids 3.1.0", + "solana-signer 3.0.0", + "solana-stable-layout 3.0.0", + "solana-stake-interface 2.0.2", + "solana-svm", + "solana-svm-log-collector", + "solana-svm-timings", + "solana-system-interface 2.0.0", + "solana-sysvar 3.1.1", + "solana-sysvar-id 3.1.0", + "solana-transaction", + "solana-transaction-context", + "solana-transaction-error 3.0.0", + "solana-vote-program", + "spl-generic-token", + "thiserror 2.0.18", + "tokio", +] + +[[package]] +name = "solana-pubkey" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b62adb9c3261a052ca1f999398c388f1daf558a1b492f60a6d9e64857db4ff1" +dependencies = [ + "borsh 0.10.4", + "borsh 1.6.0", + "bytemuck", + "bytemuck_derive", + "curve25519-dalek 4.1.3", + "five8 0.2.1", + "five8_const 0.1.4", + "getrandom 0.2.17", + "js-sys", + "num-traits", + "serde", + "serde_derive", + "solana-atomic-u64 2.2.1", + "solana-decode-error", + "solana-define-syscall 2.3.0", + "solana-sanitize 2.2.1", + "solana-sha256-hasher 2.3.0", + "wasm-bindgen", +] + +[[package]] +name = "solana-pubkey" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8909d399deb0851aa524420beeb5646b115fd253ef446e35fe4504c904da3941" +dependencies = [ + "rand 0.8.5", + "solana-address 1.1.0", +] + +[[package]] +name = "solana-pubkey" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6f7104d456b58e1418c21a8581e89810278d1190f70f27ece7fc0b2c9282a57" +dependencies = [ + "solana-address 2.0.0", +] + +[[package]] +name = "solana-pubsub-client" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7f9773e441e93aaf1c77d609fe24e6b4d86a2ba8fac21dc9d49a02ef5bdf05c" +dependencies = [ + "crossbeam-channel", + "futures-util", + "http 0.2.12", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "solana-account-decoder-client-types", + "solana-clock 3.0.0", + "solana-pubkey 3.0.0", + "solana-rpc-client-types", + "solana-signature 3.1.0", + "thiserror 2.0.18", + "tokio", + "tokio-stream", + "tokio-tungstenite", + "tungstenite", + "url", +] + +[[package]] +name = "solana-quic-client" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8373fb6bf9ed15ea677a914cb114e6ed81244d39316f3dce9d45da351abe8fb8" +dependencies = [ + "async-lock", + "async-trait", + "futures", + "itertools 0.12.1", + "log", + "quinn", + "quinn-proto", + "rustls 0.23.36", + "solana-connection-cache", + "solana-keypair", + "solana-measure", + "solana-metrics", + "solana-net-utils", + "solana-pubkey 3.0.0", + "solana-quic-definitions", + "solana-rpc-client-api", + "solana-signer 3.0.0", + "solana-streamer", + "solana-tls-utils", + "solana-transaction-error 3.0.0", + "thiserror 2.0.18", + "tokio", +] + +[[package]] +name = "solana-quic-definitions" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15319accf7d3afd845817aeffa6edd8cc185f135cefbc6b985df29cfd8c09609" +dependencies = [ + "solana-keypair", +] + +[[package]] +name = "solana-rayon-threadlimit" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b10c48c6b068d11d2c93271b7534d9bdabcf1ca3d39225d29f3bc4906b352a4" +dependencies = [ + "log", + "num_cpus", +] + +[[package]] +name = "solana-remote-wallet" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "504e0f4cdc1f566728549db7fd062be33e24ee88081ece0aebfc42f903061d60" +dependencies = [ + "console 0.16.2", + "dialoguer", + "hidapi", + "log", + "num-derive", + "num-traits", + "parking_lot 0.12.5", + "qstring", + "semver", + "solana-derivation-path 3.0.0", + "solana-offchain-message", + "solana-pubkey 3.0.0", + "solana-signature 3.1.0", + "solana-signer 3.0.0", + "thiserror 2.0.18", + "uriparse", +] + +[[package]] +name = "solana-rent" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1aea8fdea9de98ca6e8c2da5827707fb3842833521b528a713810ca685d2480" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-rent" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e860d5499a705369778647e97d760f7670adfb6fc8419dd3d568deccd46d5487" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.0", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-rent" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "763fe5c88a76ce18235db595b21d38b7aebf6db56b324cdf9fc96059f4410823" +dependencies = [ + "solana-sdk-macro 3.0.0", +] + +[[package]] +name = "solana-reward-info" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82be7946105c2ee6be9f9ee7bd18a068b558389221d29efa92b906476102bfcc" +dependencies = [ + "serde", + "serde_derive", +] + +[[package]] +name = "solana-rpc-client" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb85200cc4ca3f96fb6378966111e651cd026dde442b09d83ae0824e5793d59f" +dependencies = [ + "async-trait", + "base64 0.22.1", + "bincode", + "bs58 0.5.1", + "futures", + "indicatif", + "log", + "reqwest 0.12.28", + "reqwest-middleware", + "semver", + "serde", + "serde_derive", + "serde_json", + "solana-account 3.4.0", + "solana-account-decoder-client-types", + "solana-clock 3.0.0", + "solana-commitment-config", + "solana-epoch-info", + "solana-epoch-schedule 3.0.0", + "solana-feature-gate-interface 3.1.0", + "solana-hash 3.1.0", + "solana-instruction 3.1.0", + "solana-message 3.0.1", + "solana-pubkey 3.0.0", + "solana-rpc-client-api", + "solana-signature 3.1.0", + "solana-transaction", + "solana-transaction-error 3.0.0", + "solana-transaction-status-client-types", + "solana-version", + "solana-vote-interface 3.0.0", + "tokio", +] + +[[package]] +name = "solana-rpc-client-api" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7166554f3c6c807cb1c99514c1026a40bf63ce9b21cfe0059c6621df03a3c4d6" +dependencies = [ + "anyhow", + "jsonrpc-core", + "reqwest 0.12.28", + "reqwest-middleware", + "serde", + "serde_derive", + "serde_json", + "solana-account-decoder-client-types", + "solana-clock 3.0.0", + "solana-rpc-client-types", + "solana-signer 3.0.0", + "solana-transaction-error 3.0.0", + "solana-transaction-status-client-types", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-rpc-client-nonce-utils" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e8422aba0c1acefd79b49e8467a8351a2967f4457a0beaeb5c535bceb180d05" +dependencies = [ + "solana-account 3.4.0", + "solana-commitment-config", + "solana-hash 3.1.0", + "solana-message 3.0.1", + "solana-nonce 3.0.0", + "solana-pubkey 3.0.0", + "solana-rpc-client", + "solana-sdk-ids 3.1.0", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-rpc-client-types" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "665af0ff5e14b13433407b2e706ae5c7f22b4ebd94631fc8d0eef39783174eaa" +dependencies = [ + "base64 0.22.1", + "bs58 0.5.1", + "semver", + "serde", + "serde_derive", + "serde_json", + "solana-account 3.4.0", + "solana-account-decoder-client-types", + "solana-clock 3.0.0", + "solana-commitment-config", + "solana-fee-calculator 3.0.0", + "solana-inflation", + "solana-pubkey 3.0.0", + "solana-transaction-error 3.0.0", + "solana-transaction-status-client-types", + "solana-version", + "spl-generic-token", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-runtime" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b7ed4bb39305a1c523adee9b7787e8f865e01ffc92b9ced1df60e53c5df3a2c" +dependencies = [ + "agave-feature-set", + "agave-precompiles", + "agave-reserved-account-keys", + "agave-syscalls", + "ahash 0.8.12", + "aquamarine", + "arc-swap", + "arrayref", + "assert_matches", + "base64 0.22.1", + "bincode", + "blake3", + "bv", + "bytemuck", + "crossbeam-channel", + "dashmap", + "dir-diff", + "fnv", + "im", + "itertools 0.12.1", + "libc", + "log", + "lz4", + "memmap2 0.9.9", + "mockall", + "modular-bitfield", + "num-derive", + "num-traits", + "num_cpus", + "num_enum", + "percentage", + "qualifier_attr", + "rand 0.8.5", + "rayon", + "regex", + "serde", + "serde_derive", + "serde_json", + "serde_with", + "solana-account 3.4.0", + "solana-account-info 3.1.0", + "solana-accounts-db", + "solana-address-lookup-table-interface 3.0.1", + "solana-bpf-loader-program", + "solana-bucket-map", + "solana-builtins", + "solana-client-traits", + "solana-clock 3.0.0", + "solana-cluster-type", + "solana-commitment-config", + "solana-compute-budget", + "solana-compute-budget-instruction", + "solana-compute-budget-interface", + "solana-cost-model", + "solana-cpi 3.1.0", + "solana-ed25519-program", + "solana-epoch-info", + "solana-epoch-rewards-hasher", + "solana-epoch-schedule 3.0.0", + "solana-feature-gate-interface 3.1.0", + "solana-fee", + "solana-fee-calculator 3.0.0", + "solana-fee-structure", + "solana-genesis-config", + "solana-hard-forks", + "solana-hash 3.1.0", + "solana-inflation", + "solana-instruction 3.1.0", + "solana-keypair", + "solana-lattice-hash", + "solana-loader-v3-interface 6.1.0", + "solana-loader-v4-interface 3.1.0", + "solana-measure", + "solana-message 3.0.1", + "solana-metrics", + "solana-native-token 3.0.0", + "solana-nohash-hasher", + "solana-nonce 3.0.0", + "solana-nonce-account", + "solana-packet", + "solana-perf", + "solana-poh-config", + "solana-precompile-error", + "solana-program-runtime", + "solana-pubkey 3.0.0", + "solana-rayon-threadlimit", + "solana-rent 3.1.0", + "solana-reward-info", + "solana-runtime-transaction", + "solana-sdk-ids 3.1.0", + "solana-secp256k1-program", + "solana-seed-derivable 3.0.0", + "solana-serde", + "solana-sha256-hasher 3.1.0", + "solana-signature 3.1.0", + "solana-signer 3.0.0", + "solana-slot-hashes 3.0.0", + "solana-slot-history 3.0.0", + "solana-stake-interface 2.0.2", + "solana-stake-program", + "solana-svm", + "solana-svm-callback", + "solana-svm-timings", + "solana-svm-transaction", + "solana-system-interface 2.0.0", + "solana-system-transaction", + "solana-sysvar 3.1.1", + "solana-sysvar-id 3.1.0", + "solana-time-utils", + "solana-transaction", + "solana-transaction-context", + "solana-transaction-error 3.0.0", + "solana-transaction-status-client-types", + "solana-unified-scheduler-logic", + "solana-version", + "solana-vote", + "solana-vote-interface 3.0.0", + "solana-vote-program", + "spl-generic-token", + "static_assertions", + "strum 0.24.1", + "strum_macros 0.24.3", + "symlink", + "tar", + "tempfile", + "thiserror 2.0.18", + "zstd", +] + +[[package]] +name = "solana-runtime-transaction" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a76faa3186e513b635ec7314b9b21d8bf31390c505c9d1e05acb881bafcd91c4" +dependencies = [ + "agave-transaction-view", + "log", + "solana-compute-budget", + "solana-compute-budget-instruction", + "solana-hash 3.1.0", + "solana-message 3.0.1", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-signature 3.1.0", + "solana-svm-transaction", + "solana-transaction", + "solana-transaction-error 3.0.0", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-sanitize" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61f1bc1357b8188d9c4a3af3fc55276e56987265eb7ad073ae6f8180ee54cecf" + +[[package]] +name = "solana-sanitize" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcf09694a0fc14e5ffb18f9b7b7c0f15ecb6eac5b5610bf76a1853459d19daf9" + +[[package]] +name = "solana-sbpf" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f224d906c14efc7ed7f42bc5fe9588f3f09db8cabe7f6023adda62a69678e1a" +dependencies = [ + "byteorder", + "combine 3.8.1", + "hash32", + "libc", + "log", + "rand 0.8.5", + "rustc-demangle", + "thiserror 2.0.18", + "winapi", +] + +[[package]] +name = "solana-sdk" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f03df7969f5e723ad31b6c9eadccc209037ac4caa34d8dc259316b05c11e82b" +dependencies = [ + "bincode", + "bs58 0.5.1", + "serde", + "solana-account 3.4.0", + "solana-epoch-info", + "solana-epoch-rewards-hasher", + "solana-fee-structure", + "solana-inflation", + "solana-keypair", + "solana-message 3.0.1", + "solana-offchain-message", + "solana-presigner", + "solana-program 3.0.0", + "solana-program-memory 3.1.0", + "solana-pubkey 3.0.0", + "solana-sanitize 3.0.1", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.0", + "solana-seed-derivable 3.0.0", + "solana-seed-phrase 3.0.0", + "solana-serde", + "solana-serde-varint 3.0.0", + "solana-short-vec 3.2.0", + "solana-shred-version", + "solana-signature 3.1.0", + "solana-signer 3.0.0", + "solana-time-utils", + "solana-transaction", + "solana-transaction-error 3.0.0", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-sdk-ids" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5d8b9cc68d5c88b062a33e23a6466722467dde0035152d8fb1afbcdf350a5f" +dependencies = [ + "solana-pubkey 2.4.0", +] + +[[package]] +name = "solana-sdk-ids" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "def234c1956ff616d46c9dd953f251fa7096ddbaa6d52b165218de97882b7280" +dependencies = [ + "solana-address 2.0.0", +] + +[[package]] +name = "solana-sdk-macro" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86280da8b99d03560f6ab5aca9de2e38805681df34e0bb8f238e69b29433b9df" +dependencies = [ + "bs58 0.5.1", + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "solana-sdk-macro" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6430000e97083460b71d9fbadc52a2ab2f88f53b3a4c5e58c5ae3640a0e8c00" +dependencies = [ + "bs58 0.5.1", + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "solana-secp256k1-program" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8efa767b0188f577edae7080e8bf080e5db9458e2b6ee5beaa73e2e6bb54e99d" +dependencies = [ + "digest 0.10.7", + "k256 0.13.4", + "serde", + "serde_derive", + "sha3", + "solana-signature 3.1.0", +] + +[[package]] +name = "solana-secp256k1-recover" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baa3120b6cdaa270f39444f5093a90a7b03d296d362878f7a6991d6de3bbe496" +dependencies = [ + "libsecp256k1", + "solana-define-syscall 2.3.0", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-secp256k1-recover" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9de18cfdab99eeb940fbedd8c981fa130c0d76252da75d05446f22fae8b51932" +dependencies = [ + "k256 0.13.4", + "solana-define-syscall 4.0.1", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-secp256r1-program" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "445d8e12592631d76fc4dc57858bae66c9fd7cc838c306c62a472547fc9d0ce6" +dependencies = [ + "bytemuck", + "openssl", + "solana-instruction 3.1.0", + "solana-sdk-ids 3.1.0", +] + +[[package]] +name = "solana-security-txt" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "156bb61a96c605fa124e052d630dba2f6fb57e08c7d15b757e1e958b3ed7b3fe" +dependencies = [ + "hashbrown 0.15.2", +] + +[[package]] +name = "solana-seed-derivable" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beb82b5adb266c6ea90e5cf3967235644848eac476c5a1f2f9283a143b7c97f" +dependencies = [ + "solana-derivation-path 2.2.1", +] + +[[package]] +name = "solana-seed-derivable" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff7bdb72758e3bec33ed0e2658a920f1f35dfb9ed576b951d20d63cb61ecd95c" +dependencies = [ + "solana-derivation-path 3.0.0", +] + +[[package]] +name = "solana-seed-phrase" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36187af2324f079f65a675ec22b31c24919cb4ac22c79472e85d819db9bbbc15" +dependencies = [ + "hmac 0.12.1", + "pbkdf2 0.11.0", + "sha2 0.10.9", +] + +[[package]] +name = "solana-seed-phrase" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc905b200a95f2ea9146e43f2a7181e3aeb55de6bc12afb36462d00a3c7310de" +dependencies = [ + "hmac 0.12.1", + "pbkdf2 0.11.0", + "sha2 0.10.9", +] + +[[package]] +name = "solana-send-transaction-service" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9806f5867f972a23e3d7eb33a6f01700c0556d0cbd27e72c966f0b72c4cbba11" +dependencies = [ + "async-trait", + "crossbeam-channel", + "itertools 0.12.1", + "log", + "solana-client", + "solana-clock 3.0.0", + "solana-connection-cache", + "solana-hash 3.1.0", + "solana-keypair", + "solana-measure", + "solana-metrics", + "solana-nonce-account", + "solana-pubkey 3.0.0", + "solana-quic-definitions", + "solana-runtime", + "solana-signature 3.1.0", + "solana-time-utils", + "solana-tpu-client-next", + "tokio", + "tokio-util 0.7.18", +] + +[[package]] +name = "solana-serde" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "709a93cab694c70f40b279d497639788fc2ccbcf9b4aa32273d4b361322c02dd" +dependencies = [ + "serde", +] + +[[package]] +name = "solana-serde-varint" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a7e155eba458ecfb0107b98236088c3764a09ddf0201ec29e52a0be40857113" +dependencies = [ + "serde", +] + +[[package]] +name = "solana-serde-varint" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e5174c57d5ff3c1995f274d17156964664566e2cde18a07bba1586d35a70d3b" +dependencies = [ + "serde", +] + +[[package]] +name = "solana-serialize-utils" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "817a284b63197d2b27afdba829c5ab34231da4a9b4e763466a003c40ca4f535e" +dependencies = [ + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-sanitize 2.2.1", +] + +[[package]] +name = "solana-serialize-utils" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e41dd8feea239516c623a02f0a81c2367f4b604d7965237fed0751aeec33ed" +dependencies = [ + "solana-instruction-error", + "solana-pubkey 3.0.0", + "solana-sanitize 3.0.1", +] + +[[package]] +name = "solana-sha256-hasher" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa3feb32c28765f6aa1ce8f3feac30936f16c5c3f7eb73d63a5b8f6f8ecdc44" +dependencies = [ + "sha2 0.10.9", + "solana-define-syscall 2.3.0", + "solana-hash 2.3.0", +] + +[[package]] +name = "solana-sha256-hasher" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db7dc3011ea4c0334aaaa7e7128cb390ecf546b28d412e9bf2064680f57f588f" +dependencies = [ + "sha2 0.10.9", + "solana-define-syscall 4.0.1", + "solana-hash 4.0.1", +] + +[[package]] +name = "solana-short-vec" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c54c66f19b9766a56fa0057d060de8378676cb64987533fa088861858fc5a69" +dependencies = [ + "serde", +] + +[[package]] +name = "solana-short-vec" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3bd991c2cc415291c86bb0b6b4d53e93d13bb40344e4c5a2884e0e4f5fa93f" +dependencies = [ + "serde_core", +] + +[[package]] +name = "solana-shred-version" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94953e22ca28fe4541a3447d6baeaf519cc4ddc063253bfa673b721f34c136bb" +dependencies = [ + "solana-hard-forks", + "solana-hash 3.1.0", + "solana-sha256-hasher 3.1.0", +] + +[[package]] +name = "solana-signature" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64c8ec8e657aecfc187522fc67495142c12f35e55ddeca8698edbb738b8dbd8c" +dependencies = [ + "five8 0.2.1", + "solana-sanitize 2.2.1", +] + +[[package]] +name = "solana-signature" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bb8057cc0e9f7b5e89883d49de6f407df655bb6f3a71d0b7baf9986a2218fd9" +dependencies = [ + "ed25519-dalek 2.2.0", + "five8 0.2.1", + "rand 0.8.5", + "serde", + "serde-big-array", + "serde_derive", + "solana-sanitize 3.0.1", +] + +[[package]] +name = "solana-signer" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c41991508a4b02f021c1342ba00bcfa098630b213726ceadc7cb032e051975b" +dependencies = [ + "solana-pubkey 2.4.0", + "solana-signature 2.3.0", + "solana-transaction-error 2.2.1", +] + +[[package]] +name = "solana-signer" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bfea97951fee8bae0d6038f39a5efcb6230ecdfe33425ac75196d1a1e3e3235" +dependencies = [ + "solana-pubkey 3.0.0", + "solana-signature 3.1.0", + "solana-transaction-error 3.0.0", +] + +[[package]] +name = "solana-slot-hashes" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c8691982114513763e88d04094c9caa0376b867a29577939011331134c301ce" +dependencies = [ + "serde", + "serde_derive", + "solana-hash 2.3.0", + "solana-sdk-ids 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-slot-hashes" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80a293f952293281443c04f4d96afd9d547721923d596e92b4377ed2360f1746" +dependencies = [ + "serde", + "serde_derive", + "solana-hash 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-slot-history" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97ccc1b2067ca22754d5283afb2b0126d61eae734fc616d23871b0943b0d935e" +dependencies = [ + "bv", + "serde", + "serde_derive", + "solana-sdk-ids 2.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-slot-history" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f914f6b108f5bba14a280b458d023e3621c9973f27f015a4d755b50e88d89e97" +dependencies = [ + "bv", + "serde", + "serde_derive", + "solana-sdk-ids 3.1.0", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-stable-layout" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f14f7d02af8f2bc1b5efeeae71bc1c2b7f0f65cd75bcc7d8180f2c762a57f54" +dependencies = [ + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", +] + +[[package]] +name = "solana-stable-layout" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1da74507795b6e8fb60b7c7306c0c36e2c315805d16eaaf479452661234685ac" +dependencies = [ + "solana-instruction 3.1.0", + "solana-pubkey 3.0.0", +] + +[[package]] +name = "solana-stake-interface" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5269e89fde216b4d7e1d1739cf5303f8398a1ff372a81232abbee80e554a838c" +dependencies = [ + "borsh 0.10.4", + "borsh 1.6.0", + "num-traits", + "serde", + "serde_derive", + "solana-clock 2.2.2", + "solana-cpi 2.2.1", + "solana-decode-error", + "solana-instruction 2.3.3", + "solana-program-error 2.2.2", + "solana-pubkey 2.4.0", + "solana-system-interface 1.0.0", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-stake-interface" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9bc26191b533f9a6e5a14cca05174119819ced680a80febff2f5051a713f0db" +dependencies = [ + "num-traits", + "serde", + "serde_derive", + "solana-clock 3.0.0", + "solana-cpi 3.1.0", + "solana-instruction 3.1.0", + "solana-program-error 3.0.0", + "solana-pubkey 3.0.0", + "solana-system-interface 2.0.0", + "solana-sysvar 3.1.1", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-stake-program" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1325e6afc36a946d97be5e14351df21243ee7171a3eee2b6c967b694317f6abc" +dependencies = [ + "agave-feature-set", + "bincode", + "log", + "solana-account 3.4.0", + "solana-bincode 3.1.0", + "solana-clock 3.0.0", + "solana-config-interface", + "solana-genesis-config", + "solana-instruction 3.1.0", + "solana-native-token 3.0.0", + "solana-packet", + "solana-program-runtime", + "solana-pubkey 3.0.0", + "solana-rent 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-stake-interface 2.0.2", + "solana-svm-log-collector", + "solana-svm-type-overrides", + "solana-sysvar 3.1.1", + "solana-transaction-context", + "solana-vote-interface 3.0.0", +] + +[[package]] +name = "solana-streamer" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b85b5bc5e6e8e96c09ee3b5a6d5cc4c811f0f4f0e96dcc86ce45bdab37bd741b" +dependencies = [ + "arc-swap", + "async-channel", + "bytes", + "crossbeam-channel", "dashmap", - "dir-diff", - "flate2", - "fnv", - "im", - "index_list", - "itertools 0.10.5", + "futures", + "futures-util", + "governor", + "histogram", + "indexmap", + "itertools 0.12.1", + "libc", + "log", + "nix", + "num_cpus", + "pem", + "percentage", + "quinn", + "quinn-proto", + "rand 0.8.5", + "rustls 0.23.36", + "smallvec", + "socket2 0.6.2", + "solana-keypair", + "solana-measure", + "solana-metrics", + "solana-net-utils", + "solana-packet", + "solana-perf", + "solana-pubkey 3.0.0", + "solana-quic-definitions", + "solana-signature 3.1.0", + "solana-signer 3.0.0", + "solana-time-utils", + "solana-tls-utils", + "solana-transaction-error 3.0.0", + "solana-transaction-metrics-tracker", + "thiserror 2.0.18", + "tokio", + "tokio-util 0.7.18", + "x509-parser", +] + +[[package]] +name = "solana-svm" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f0c55efcd35d5f6d443cc6a631bb6162e84ac049f9df38555801d8dd80a78a" +dependencies = [ + "ahash 0.8.12", + "log", + "percentage", + "serde", + "serde_derive", + "solana-account 3.4.0", + "solana-clock 3.0.0", + "solana-fee-structure", + "solana-hash 3.1.0", + "solana-instruction 3.1.0", + "solana-instructions-sysvar 3.0.0", + "solana-loader-v3-interface 6.1.0", + "solana-loader-v4-interface 3.1.0", + "solana-loader-v4-program", + "solana-message 3.0.1", + "solana-nonce 3.0.0", + "solana-nonce-account", + "solana-program-entrypoint 3.1.1", + "solana-program-pack 3.0.0", + "solana-program-runtime", + "solana-pubkey 3.0.0", + "solana-rent 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-svm-callback", + "solana-svm-feature-set", + "solana-svm-log-collector", + "solana-svm-measure", + "solana-svm-timings", + "solana-svm-transaction", + "solana-svm-type-overrides", + "solana-system-interface 2.0.0", + "solana-sysvar-id 3.1.0", + "solana-transaction-context", + "solana-transaction-error 3.0.0", + "spl-generic-token", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-svm-callback" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a591bceb6b4ed365b6bddaace64469a736c5f2ab6ac0b6f7171c39c275977588" +dependencies = [ + "solana-account 3.4.0", + "solana-clock 3.0.0", + "solana-precompile-error", + "solana-pubkey 3.0.0", +] + +[[package]] +name = "solana-svm-feature-set" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0db171398f959c9a5b4bd1a918d2f2a096a32760c9c633b6f19e09155e124151" + +[[package]] +name = "solana-svm-log-collector" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38b5f90d905995fd99069c895498c27542d367825f67dd8a760e458b4859cf8" +dependencies = [ + "log", +] + +[[package]] +name = "solana-svm-measure" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b057ed8bcd36b2ea591dc6d9fcd4684256efbc10293abc6218c4bb9a81919d5a" + +[[package]] +name = "solana-svm-timings" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14a893daf8425e56595827dde03bef1b7aa38f5dec6772c0053eb92e41a636e6" +dependencies = [ + "eager", + "enum-iterator", + "solana-pubkey 3.0.0", +] + +[[package]] +name = "solana-svm-transaction" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0126d08c8bdc526b669d2fc92f3b61570bb557618614f1b98a7a6e8e9547d624" +dependencies = [ + "solana-hash 3.1.0", + "solana-message 3.0.1", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-signature 3.1.0", + "solana-transaction", +] + +[[package]] +name = "solana-svm-type-overrides" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afca78aac8c36a41b3bdd00f12eed423fcc7efe9305d261004c52a8fd1439187" +dependencies = [ + "rand 0.8.5", +] + +[[package]] +name = "solana-system-interface" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94d7c18cb1a91c6be5f5a8ac9276a1d7c737e39a21beba9ea710ab4b9c63bc90" +dependencies = [ + "js-sys", + "num-traits", + "serde", + "serde_derive", + "solana-decode-error", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "wasm-bindgen", +] + +[[package]] +name = "solana-system-interface" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e1790547bfc3061f1ee68ea9d8dc6c973c02a163697b24263a8e9f2e6d4afa2" +dependencies = [ + "num-traits", + "serde", + "serde_derive", + "solana-instruction 3.1.0", + "solana-msg 3.0.0", + "solana-program-error 3.0.0", + "solana-pubkey 3.0.0", +] + +[[package]] +name = "solana-system-interface" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14591d6508042ebefb110305d3ba761615927146a26917ade45dc332d8e1ecde" +dependencies = [ + "num-traits", + "serde", + "serde_derive", + "solana-address 2.0.0", + "solana-instruction 3.1.0", + "solana-msg 3.0.0", + "solana-program-error 3.0.0", +] + +[[package]] +name = "solana-system-program" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d536678eb0110d98adf5d4fbf73b5b304ac8809bc1946c0ca095dd19e1f026ce" +dependencies = [ + "bincode", + "log", + "serde", + "serde_derive", + "solana-account 3.4.0", + "solana-bincode 3.1.0", + "solana-fee-calculator 3.0.0", + "solana-instruction 3.1.0", + "solana-nonce 3.0.0", + "solana-nonce-account", + "solana-packet", + "solana-program-runtime", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-svm-log-collector", + "solana-svm-type-overrides", + "solana-system-interface 2.0.0", + "solana-sysvar 3.1.1", + "solana-transaction-context", +] + +[[package]] +name = "solana-system-transaction" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31b5699ec533621515e714f1533ee6b3b0e71c463301d919eb59b8c1e249d30" +dependencies = [ + "solana-hash 3.1.0", + "solana-keypair", + "solana-message 3.0.1", + "solana-pubkey 3.0.0", + "solana-signer 3.0.0", + "solana-system-interface 2.0.0", + "solana-transaction", +] + +[[package]] +name = "solana-sysvar" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8c3595f95069f3d90f275bb9bd235a1973c4d059028b0a7f81baca2703815db" +dependencies = [ + "base64 0.22.1", + "bincode", + "bytemuck", + "bytemuck_derive", + "lazy_static", + "serde", + "serde_derive", + "solana-account-info 2.3.0", + "solana-clock 2.2.2", + "solana-define-syscall 2.3.0", + "solana-epoch-rewards 2.2.1", + "solana-epoch-schedule 2.2.1", + "solana-fee-calculator 2.2.1", + "solana-hash 2.3.0", + "solana-instruction 2.3.3", + "solana-instructions-sysvar 2.2.2", + "solana-last-restart-slot 2.2.1", + "solana-program-entrypoint 2.3.0", + "solana-program-error 2.2.2", + "solana-program-memory 2.3.1", + "solana-pubkey 2.4.0", + "solana-rent 2.2.1", + "solana-sanitize 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-sdk-macro 2.2.1", + "solana-slot-hashes 2.2.1", + "solana-slot-history 2.2.1", + "solana-stake-interface 1.2.1", + "solana-sysvar-id 2.2.1", +] + +[[package]] +name = "solana-sysvar" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6690d3dd88f15c21edff68eb391ef8800df7a1f5cec84ee3e8d1abf05affdf74" +dependencies = [ + "base64 0.22.1", + "bincode", + "bytemuck", + "bytemuck_derive", "lazy_static", + "serde", + "serde_derive", + "solana-account-info 3.1.0", + "solana-clock 3.0.0", + "solana-define-syscall 4.0.1", + "solana-epoch-rewards 3.0.0", + "solana-epoch-schedule 3.0.0", + "solana-fee-calculator 3.0.0", + "solana-hash 4.0.1", + "solana-instruction 3.1.0", + "solana-last-restart-slot 3.0.0", + "solana-program-entrypoint 3.1.1", + "solana-program-error 3.0.0", + "solana-program-memory 3.1.0", + "solana-pubkey 4.0.0", + "solana-rent 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-sdk-macro 3.0.0", + "solana-slot-hashes 3.0.0", + "solana-slot-history 3.0.0", + "solana-sysvar-id 3.1.0", +] + +[[package]] +name = "solana-sysvar-id" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5762b273d3325b047cfda250787f8d796d781746860d5d0a746ee29f3e8812c1" +dependencies = [ + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", +] + +[[package]] +name = "solana-sysvar-id" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17358d1e9a13e5b9c2264d301102126cf11a47fd394cdf3dec174fe7bc96e1de" +dependencies = [ + "solana-address 2.0.0", + "solana-sdk-ids 3.1.0", +] + +[[package]] +name = "solana-time-utils" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ced92c60aa76ec4780a9d93f3bd64dfa916e1b998eacc6f1c110f3f444f02c9" + +[[package]] +name = "solana-tls-utils" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0e7fbf21da865ffedf59e3efa96a653981e68793782482e095887c0779a16e1" +dependencies = [ + "rustls 0.23.36", + "solana-keypair", + "solana-pubkey 3.0.0", + "solana-signer 3.0.0", + "x509-parser", +] + +[[package]] +name = "solana-tpu-client" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d6681844a1d01dbea9c5b13f9b106e8e7849c9809da06f3727d748e9bb7e3f7" +dependencies = [ + "async-trait", + "bincode", + "futures-util", + "indexmap", + "indicatif", + "log", + "rayon", + "solana-client-traits", + "solana-clock 3.0.0", + "solana-commitment-config", + "solana-connection-cache", + "solana-epoch-schedule 3.0.0", + "solana-measure", + "solana-message 3.0.1", + "solana-net-utils", + "solana-pubkey 3.0.0", + "solana-pubsub-client", + "solana-quic-definitions", + "solana-rpc-client", + "solana-rpc-client-api", + "solana-signature 3.1.0", + "solana-signer 3.0.0", + "solana-transaction", + "solana-transaction-error 3.0.0", + "thiserror 2.0.18", + "tokio", +] + +[[package]] +name = "solana-tpu-client-next" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a7df9eb5abe66704793f981771b86d565f8920bce1fda6583e013305b10a18f" +dependencies = [ + "async-trait", + "log", + "lru", + "quinn", + "rustls 0.23.36", + "solana-clock 3.0.0", + "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.18", + "tokio", + "tokio-util 0.7.18", +] + +[[package]] +name = "solana-transaction" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ceb2efbf427a91b884709ffac4dac29117752ce1e37e9ae04977e450aa0bb76" +dependencies = [ + "bincode", + "serde", + "serde_derive", + "solana-address 2.0.0", + "solana-hash 4.0.1", + "solana-instruction 3.1.0", + "solana-instruction-error", + "solana-message 3.0.1", + "solana-sanitize 3.0.1", + "solana-sdk-ids 3.1.0", + "solana-short-vec 3.2.0", + "solana-signature 3.1.0", + "solana-signer 3.0.0", + "solana-transaction-error 3.0.0", +] + +[[package]] +name = "solana-transaction-context" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd6e951b985f5cb926592a72f1c8d63cbda317017d20c7e225ac30c4e736424f" +dependencies = [ + "bincode", + "serde", + "serde_derive", + "solana-account 3.4.0", + "solana-instruction 3.1.0", + "solana-instructions-sysvar 3.0.0", + "solana-pubkey 3.0.0", + "solana-rent 3.1.0", + "solana-sbpf", + "solana-sdk-ids 3.1.0", +] + +[[package]] +name = "solana-transaction-error" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222a9dc8fdb61c6088baab34fc3a8b8473a03a7a5fd404ed8dd502fa79b67cb1" +dependencies = [ + "solana-instruction 2.3.3", + "solana-sanitize 2.2.1", +] + +[[package]] +name = "solana-transaction-error" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4222065402340d7e6aec9dc3e54d22992ddcf923d91edcd815443c2bfca3144a" +dependencies = [ + "serde", + "serde_derive", + "solana-instruction-error", + "solana-sanitize 3.0.1", +] + +[[package]] +name = "solana-transaction-metrics-tracker" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4258281f3dc723dfe7a42377e0c4ad87edb51f97b0a9f403401fbd263a61563" +dependencies = [ + "base64 0.22.1", + "bincode", + "log", + "rand 0.8.5", + "solana-packet", + "solana-perf", + "solana-short-vec 3.2.0", + "solana-signature 3.1.0", +] + +[[package]] +name = "solana-transaction-status" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95a714ee49082be501771f0202c7fb2f391a853e10825785b18167a879342cb2" +dependencies = [ + "Inflector", + "agave-reserved-account-keys", + "base64 0.22.1", + "bincode", + "borsh 1.6.0", + "bs58 0.5.1", + "log", + "serde", + "serde_derive", + "serde_json", + "solana-account-decoder", + "solana-address-lookup-table-interface 3.0.1", + "solana-clock 3.0.0", + "solana-hash 3.1.0", + "solana-instruction 3.1.0", + "solana-loader-v2-interface 3.0.0", + "solana-loader-v3-interface 6.1.0", + "solana-message 3.0.1", + "solana-program-option 3.0.0", + "solana-pubkey 3.0.0", + "solana-reward-info", + "solana-sdk-ids 3.1.0", + "solana-signature 3.1.0", + "solana-stake-interface 2.0.2", + "solana-system-interface 2.0.0", + "solana-transaction", + "solana-transaction-error 3.0.0", + "solana-transaction-status-client-types", + "solana-vote-interface 3.0.0", + "spl-associated-token-account-interface", + "spl-memo-interface", + "spl-token-2022-interface", + "spl-token-group-interface", + "spl-token-interface", + "spl-token-metadata-interface", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-transaction-status-client-types" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee3d7557295320bf7bf591f1703df483bd9ee69c2b750072abb0657d2915046c" +dependencies = [ + "base64 0.22.1", + "bincode", + "bs58 0.5.1", + "serde", + "serde_derive", + "serde_json", + "solana-account-decoder-client-types", + "solana-commitment-config", + "solana-instruction 3.1.0", + "solana-message 3.0.1", + "solana-pubkey 3.0.0", + "solana-reward-info", + "solana-signature 3.1.0", + "solana-transaction", + "solana-transaction-context", + "solana-transaction-error 3.0.0", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-udp-client" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "747532f7fe9fd6b96f0c5dfce2c98365e9d2ab98788122f31f84dcc5d34eec4f" +dependencies = [ + "async-trait", + "solana-connection-cache", + "solana-keypair", + "solana-net-utils", + "solana-streamer", + "solana-transaction-error 3.0.0", + "thiserror 2.0.18", + "tokio", +] + +[[package]] +name = "solana-unified-scheduler-logic" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567ab6b9e87318b1be24f3df95d0089db50e4864621c86e06fb2d1c9a7f2cdcf" +dependencies = [ + "assert_matches", + "solana-pubkey 3.0.0", + "solana-runtime-transaction", + "solana-transaction", + "static_assertions", + "unwrap_none", +] + +[[package]] +name = "solana-version" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "107c352fb2f329791d3637fcb84f67e597f79553f218760742872c66abac372e" +dependencies = [ + "agave-feature-set", + "rand 0.8.5", + "semver", + "serde", + "serde_derive", + "solana-sanitize 3.0.1", + "solana-serde-varint 3.0.0", +] + +[[package]] +name = "solana-vote" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0afb783c280c43eda4113c7abce42701d3b125f713937f1effee4c2590416717" +dependencies = [ + "itertools 0.12.1", "log", - "lru", - "lz4", - "memmap2", - "num-derive 0.3.3", + "serde", + "serde_derive", + "solana-account 3.4.0", + "solana-bincode 3.1.0", + "solana-clock 3.0.0", + "solana-hash 3.1.0", + "solana-instruction 3.1.0", + "solana-keypair", + "solana-packet", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-serialize-utils 3.1.0", + "solana-signature 3.1.0", + "solana-signer 3.0.0", + "solana-svm-transaction", + "solana-transaction", + "solana-vote-interface 3.0.0", + "thiserror 2.0.18", +] + +[[package]] +name = "solana-vote-interface" +version = "2.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b80d57478d6599d30acc31cc5ae7f93ec2361a06aefe8ea79bc81739a08af4c3" +dependencies = [ + "bincode", + "num-derive", "num-traits", - "num_cpus", - "once_cell", - "ouroboros", - "rand 0.7.3", - "rayon", - "regex", - "rustc_version", "serde", "serde_derive", - "solana-address-lookup-table-program", - "solana-bucket-map", - "solana-compute-budget-program", - "solana-config-program", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-measure", - "solana-metrics", - "solana-program-runtime", - "solana-rayon-threadlimit", - "solana-sdk", - "solana-stake-program", - "solana-vote-program", - "solana-zk-token-proof-program", - "solana-zk-token-sdk", - "strum 0.24.1", - "strum_macros 0.24.3", - "symlink", - "tar", - "tempfile", - "thiserror", - "zstd", + "solana-clock 2.2.2", + "solana-decode-error", + "solana-hash 2.3.0", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-rent 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-serde-varint 2.2.2", + "solana-serialize-utils 2.2.1", + "solana-short-vec 2.2.1", + "solana-system-interface 1.0.0", ] [[package]] -name = "solana-sdk" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-vote-interface" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66631ddbe889dab5ec663294648cd1df395ec9df7a4476e7b3e095604cfdb539" dependencies = [ - "assert_matches", - "base64 0.13.1", "bincode", - "bitflags 1.3.2", - "borsh", - "bs58 0.4.0", - "bytemuck", - "byteorder", - "chrono", - "derivation-path", - "digest 0.10.7", - "ed25519-dalek", - "ed25519-dalek-bip32", - "generic-array 0.14.7", - "hmac 0.12.1", - "itertools 0.10.5", - "js-sys", - "lazy_static", - "libsecp256k1", + "cfg_eval", + "num-derive", + "num-traits", + "serde", + "serde_derive", + "serde_with", + "solana-clock 3.0.0", + "solana-hash 3.1.0", + "solana-instruction 3.1.0", + "solana-instruction-error", + "solana-pubkey 3.0.0", + "solana-rent 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-serde-varint 3.0.0", + "solana-serialize-utils 3.1.0", + "solana-short-vec 3.2.0", + "solana-system-interface 2.0.0", +] + +[[package]] +name = "solana-vote-program" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "584786205560c911c31d56487da21de5c9b13b22e3380a4529cda6a4fb45a84b" +dependencies = [ + "agave-feature-set", + "bincode", "log", - "memmap2", - "num-derive 0.3.3", + "num-derive", "num-traits", - "pbkdf2 0.11.0", - "qstring", - "rand 0.7.3", - "rand_chacha 0.2.2", - "rustc_version", - "rustversion", "serde", - "serde_bytes", "serde_derive", - "serde_json", - "sha2 0.10.8", - "sha3 0.10.8", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-logger", - "solana-program", - "solana-sdk-macro", - "thiserror", - "uriparse", - "wasm-bindgen", + "solana-account 3.4.0", + "solana-bincode 3.1.0", + "solana-clock 3.0.0", + "solana-epoch-schedule 3.0.0", + "solana-hash 3.1.0", + "solana-instruction 3.1.0", + "solana-keypair", + "solana-packet", + "solana-program-runtime", + "solana-pubkey 3.0.0", + "solana-rent 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-signer 3.0.0", + "solana-slot-hashes 3.0.0", + "solana-transaction", + "solana-transaction-context", + "solana-vote-interface 3.0.0", + "thiserror 2.0.18", ] [[package]] -name = "solana-sdk-macro" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-zk-elgamal-proof-program" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbed18c3299d434b33b0d5aaee0cc4bcc3d1ea51516488819e261dea35c324e6" dependencies = [ - "bs58 0.4.0", - "proc-macro2 1.0.86", - "quote 1.0.37", - "rustversion", - "syn 1.0.109", + "agave-feature-set", + "bytemuck", + "num-derive", + "num-traits", + "solana-instruction 3.1.0", + "solana-program-runtime", + "solana-sdk-ids 3.1.0", + "solana-svm-log-collector", + "solana-zk-sdk 4.0.0", ] [[package]] -name = "solana-send-transaction-service" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-zk-sdk" +version = "2.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97b9fc6ec37d16d0dccff708ed1dd6ea9ba61796700c3bb7c3b401973f10f63b" dependencies = [ - "crossbeam-channel", - "log", - "solana-client", - "solana-measure", - "solana-metrics", - "solana-runtime", - "solana-sdk", + "aes-gcm-siv", + "base64 0.22.1", + "bincode", + "bytemuck", + "bytemuck_derive", + "curve25519-dalek 4.1.3", + "itertools 0.12.1", + "js-sys", + "merlin", + "num-derive", + "num-traits", + "rand 0.8.5", + "serde", + "serde_derive", + "serde_json", + "sha3", + "solana-derivation-path 2.2.1", + "solana-instruction 2.3.3", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", + "solana-seed-derivable 2.2.1", + "solana-seed-phrase 2.2.1", + "solana-signature 2.3.0", + "solana-signer 2.2.1", + "subtle", + "thiserror 2.0.18", + "wasm-bindgen", + "zeroize", ] [[package]] -name = "solana-stake-program" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-zk-sdk" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9602bcb1f7af15caef92b91132ec2347e1c51a72ecdbefdaefa3eac4b8711475" dependencies = [ + "aes-gcm-siv", + "base64 0.22.1", "bincode", - "log", - "num-derive 0.3.3", + "bytemuck", + "bytemuck_derive", + "curve25519-dalek 4.1.3", + "getrandom 0.2.17", + "itertools 0.12.1", + "js-sys", + "merlin", + "num-derive", "num-traits", - "rustc_version", + "rand 0.8.5", "serde", "serde_derive", - "solana-config-program", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-metrics", - "solana-program-runtime", - "solana-sdk", - "solana-vote-program", - "thiserror", + "serde_json", + "sha3", + "solana-derivation-path 3.0.0", + "solana-instruction 3.1.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-seed-derivable 3.0.0", + "solana-seed-phrase 3.0.0", + "solana-signature 3.1.0", + "solana-signer 3.0.0", + "subtle", + "thiserror 2.0.18", + "wasm-bindgen", + "zeroize", ] [[package]] -name = "solana-streamer" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-zk-token-proof-program" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7441cfffde254bfb4c28658284624951dc1e08d4fa9e3c547b31673150bc4c92" dependencies = [ - "crossbeam-channel", - "futures-util", - "histogram", - "indexmap 1.9.3", - "itertools 0.10.5", - "libc", - "log", - "nix", - "pem", - "percentage", - "pkcs8 0.8.0", - "quinn", - "rand 0.7.3", - "rcgen", - "rustls 0.20.9", - "solana-metrics", - "solana-perf", - "solana-sdk", - "thiserror", - "tokio", - "x509-parser", + "agave-feature-set", + "bytemuck", + "num-derive", + "num-traits", + "solana-instruction 3.1.0", + "solana-program-runtime", + "solana-sdk-ids 3.1.0", + "solana-svm-log-collector", + "solana-zk-token-sdk", ] [[package]] -name = "solana-transaction-status" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "solana-zk-token-sdk" +version = "3.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8aea259ea80581de2af20a75e433ad92de410348f438b32df2ba41761e1dcc81" dependencies = [ - "Inflector", - "base64 0.13.1", + "aes-gcm-siv", + "base64 0.22.1", "bincode", - "borsh", - "bs58 0.4.0", - "lazy_static", - "log", + "bytemuck", + "bytemuck_derive", + "curve25519-dalek 4.1.3", + "itertools 0.12.1", + "merlin", + "num-derive", + "num-traits", + "rand 0.8.5", "serde", "serde_derive", "serde_json", - "solana-account-decoder", - "solana-address-lookup-table-program", - "solana-measure", - "solana-metrics", - "solana-sdk", - "solana-vote-program", - "spl-associated-token-account", - "spl-memo 3.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "spl-token", - "spl-token-2022", - "thiserror", + "sha3", + "solana-curve25519", + "solana-derivation-path 3.0.0", + "solana-instruction 3.1.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-seed-derivable 3.0.0", + "solana-seed-phrase 3.0.0", + "solana-signature 3.1.0", + "solana-signer 3.0.0", + "subtle", + "thiserror 2.0.18", + "zeroize", +] + +[[package]] +name = "spinning_top" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d96d2d1d716fb500937168cc09353ffdc7a012be8475ac7308e1bdf0e3923300" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spki" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" +dependencies = [ + "base64ct", + "der 0.6.1", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der 0.7.10", +] + +[[package]] +name = "spl-associated-token-account" +version = "8.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0242277e290c023de8826f504abcf9206b3cd4e18d9ace4ec59a698b2828e88b" +dependencies = [ + "borsh 1.6.0", + "num-derive", + "num-traits", + "solana-account-info 3.1.0", + "solana-cpi 3.1.0", + "solana-instruction 3.1.0", + "solana-msg 3.0.0", + "solana-program-entrypoint 3.1.1", + "solana-program-error 3.0.0", + "solana-pubkey 3.0.0", + "solana-rent 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-system-interface 2.0.0", + "solana-sysvar 3.1.1", + "spl-associated-token-account-interface", + "spl-token-2022-interface", + "spl-token-interface", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-associated-token-account-interface" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6433917b60441d68d99a17e121d9db0ea15a9a69c0e5afa34649cf5ba12612f" +dependencies = [ + "borsh 1.6.0", + "solana-instruction 3.1.0", + "solana-pubkey 3.0.0", +] + +[[package]] +name = "spl-discriminator" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a38ea8b6dedb7065887f12d62ed62c1743aa70749e8558f963609793f6fb12bc" +dependencies = [ + "bytemuck", + "solana-program 2.3.0", + "spl-discriminator-derive", +] + +[[package]] +name = "spl-discriminator" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d48cc11459e265d5b501534144266620289720b4c44522a47bc6b63cd295d2f3" +dependencies = [ + "bytemuck", + "solana-program-error 3.0.0", + "solana-sha256-hasher 3.1.0", + "spl-discriminator-derive", +] + +[[package]] +name = "spl-discriminator-derive" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9e8418ea6269dcfb01c712f0444d2c75542c04448b480e87de59d2865edc750" +dependencies = [ + "quote", + "spl-discriminator-syn", + "syn 2.0.114", +] + +[[package]] +name = "spl-discriminator-syn" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d1dbc82ab91422345b6df40a79e2b78c7bce1ebb366da323572dd60b7076b67" +dependencies = [ + "proc-macro2", + "quote", + "sha2 0.10.9", + "syn 2.0.114", + "thiserror 1.0.69", +] + +[[package]] +name = "spl-elgamal-registry-interface" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "065f54100d118d24036283e03120b2f60cb5b7d597d3db649e13690e22d41398" +dependencies = [ + "bytemuck", + "solana-instruction 3.1.0", + "solana-program-error 3.0.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-zk-sdk 4.0.0", + "spl-token-confidential-transfer-proof-extraction", ] [[package]] -name = "solana-version" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "spl-generic-token" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "233df81b75ab99b42f002b5cdd6e65a7505ffa930624f7096a7580a56765e9cf" dependencies = [ - "log", - "rustc_version", - "semver", - "serde", - "serde_derive", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-sdk", + "bytemuck", + "solana-pubkey 3.0.0", ] [[package]] -name = "solana-vote-program" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "spl-memo-interface" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d4e2aedd58f858337fa609af5ad7100d4a243fdaf6a40d6eb4c28c5f19505d3" dependencies = [ - "bincode", - "log", - "num-derive 0.3.3", - "num-traits", - "rustc_version", - "serde", - "serde_derive", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-metrics", - "solana-program-runtime", - "solana-sdk", - "thiserror", + "solana-instruction 3.1.0", + "solana-pubkey 3.0.0", ] [[package]] -name = "solana-zk-token-proof-program" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "spl-noop" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c3bc351f7543a46f6807c231fc29ef2c4912c79bd6a4fb7d038cba6836f0fd7" +dependencies = [ + "solana-program 2.3.0", +] + +[[package]] +name = "spl-pod" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00e38c99f09d58df06ca9a29fc0211786a4c34f4d099c1df27b1abaa206569a4" dependencies = [ "bytemuck", - "getrandom 0.1.16", - "num-derive 0.3.3", - "num-traits", - "solana-program-runtime", - "solana-sdk", - "solana-zk-token-sdk", + "bytemuck_derive", + "solana-program 2.3.0", + "solana-zk-sdk 2.3.13", + "spl-program-error 0.5.0", ] [[package]] -name = "solana-zk-token-sdk" -version = "1.14.13" -source = "git+https://github.com/hyperlane-xyz/solana.git?tag=hyperlane-1.14.13-2025-05-21#6cc4764f0e6482c6844e8062c55535a6934ea279" +name = "spl-pod" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1233fdecd7461611d69bb87bc2e95af742df47291975d21232a0be8217da9de" dependencies = [ - "aes-gcm-siv", - "arrayref", - "base64 0.13.1", - "bincode", + "borsh 1.6.0", "bytemuck", - "byteorder", - "cipher", - "curve25519-dalek", - "getrandom 0.1.16", - "itertools 0.10.5", - "lazy_static", - "merlin", - "num-derive 0.3.3", + "bytemuck_derive", + "num-derive", "num-traits", - "rand 0.7.3", - "serde", - "serde_json", - "sha3 0.9.1", - "solana-program", - "solana-sdk", - "subtle", - "thiserror", - "zeroize", + "num_enum", + "solana-program-error 3.0.0", + "solana-program-option 3.0.0", + "solana-pubkey 3.0.0", + "solana-zk-sdk 4.0.0", + "thiserror 2.0.18", ] [[package]] -name = "solana_rbpf" -version = "0.2.31" +name = "spl-program-error" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80a28c5dfe7e8af38daa39d6561c8e8b9ed7a2f900951ebe7362ad6348d36c73" +checksum = "d7b28bed65356558133751cc32b48a7a5ddfc59ac4e941314630bbed1ac10532" dependencies = [ - "byteorder", - "combine", - "goblin", - "hash32", - "libc", - "log", - "rand 0.8.5", - "rustc-demangle", - "scroll", - "thiserror", + "num-derive", + "num-traits", + "solana-program 2.3.0", + "spl-program-error-derive 0.4.1", + "thiserror 1.0.69", ] [[package]] -name = "spin" -version = "0.5.2" +name = "spl-program-error" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +checksum = "9c4f6cf26cb6768110bf024bc7224326c720d711f7ad25d16f40f6cee40edb2d" +dependencies = [ + "num-derive", + "num-traits", + "num_enum", + "solana-msg 3.0.0", + "solana-program-error 3.0.0", + "spl-program-error-derive 0.6.0", + "thiserror 2.0.18", +] [[package]] -name = "spin" -version = "0.9.8" +name = "spl-program-error-derive" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +checksum = "e6d375dd76c517836353e093c2dbb490938ff72821ab568b545fd30ab3256b3e" +dependencies = [ + "proc-macro2", + "quote", + "sha2 0.10.9", + "syn 2.0.114", +] [[package]] -name = "spki" -version = "0.5.4" +name = "spl-program-error-derive" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "9ec8965aa4dc6c74701cbb48b9cad5af35b9a394514934949edbb357b78f840d" dependencies = [ - "base64ct", - "der 0.5.1", + "proc-macro2", + "quote", + "sha2 0.10.9", + "syn 2.0.114", ] [[package]] -name = "spki" -version = "0.6.0" +name = "spl-tlv-account-resolution" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" +checksum = "6927f613c9d7ce20835d3cefb602137cab2518e383a047c0eaa58054a60644c8" dependencies = [ - "base64ct", - "der 0.6.1", + "bytemuck", + "num-derive", + "num-traits", + "num_enum", + "solana-account-info 3.1.0", + "solana-instruction 3.1.0", + "solana-program-error 3.0.0", + "solana-pubkey 3.0.0", + "spl-discriminator 0.5.1", + "spl-pod 0.7.1", + "spl-program-error 0.8.0", + "spl-type-length-value 0.9.0", + "thiserror 2.0.18", ] [[package]] -name = "spl-associated-token-account" -version = "1.1.2" -source = "git+https://github.com/hyperlane-xyz/solana-program-library.git?branch=hyperlane#5de3c060c276afb4e767111b3b42fbbf4a81d83f" +name = "spl-token" +version = "9.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "878b0183d51fcd8a53e1604f4c13321894cf53227e6773c529b0d03d499a8dfd" dependencies = [ - "assert_matches", - "borsh", - "num-derive 0.3.3", + "arrayref", + "bytemuck", + "num-derive", "num-traits", - "solana-program", - "spl-token", - "spl-token-2022", - "thiserror", + "num_enum", + "solana-account-info 3.1.0", + "solana-cpi 3.1.0", + "solana-instruction 3.1.0", + "solana-msg 3.0.0", + "solana-program-entrypoint 3.1.1", + "solana-program-error 3.0.0", + "solana-program-memory 3.1.0", + "solana-program-option 3.0.0", + "solana-program-pack 3.0.0", + "solana-pubkey 3.0.0", + "solana-rent 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-sysvar 3.1.1", + "spl-token-interface", + "thiserror 2.0.18", ] [[package]] -name = "spl-memo" -version = "3.0.1" +name = "spl-token-2022" +version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd0dc6f70db6bacea7ff25870b016a65ba1d1b6013536f08e4fd79a8f9005325" +checksum = "552427d9117528d037daa0e70416d51322c8a33241317210f230304d852be61e" dependencies = [ - "solana-program", + "arrayref", + "bytemuck", + "num-derive", + "num-traits", + "num_enum", + "solana-account-info 3.1.0", + "solana-clock 3.0.0", + "solana-cpi 3.1.0", + "solana-instruction 3.1.0", + "solana-msg 3.0.0", + "solana-program-entrypoint 3.1.1", + "solana-program-error 3.0.0", + "solana-program-memory 3.1.0", + "solana-program-option 3.0.0", + "solana-program-pack 3.0.0", + "solana-pubkey 3.0.0", + "solana-rent 3.1.0", + "solana-sdk-ids 3.1.0", + "solana-security-txt", + "solana-system-interface 2.0.0", + "solana-sysvar 3.1.1", + "solana-zk-sdk 4.0.0", + "spl-elgamal-registry-interface", + "spl-memo-interface", + "spl-pod 0.7.1", + "spl-token-2022-interface", + "spl-token-confidential-transfer-ciphertext-arithmetic", + "spl-token-confidential-transfer-proof-extraction", + "spl-token-confidential-transfer-proof-generation", + "spl-token-group-interface", + "spl-token-metadata-interface", + "spl-transfer-hook-interface", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-token-2022-interface" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fcd81188211f4b3c8a5eba7fd534c7142f9dd026123b3472492782cc72f4dc6" +dependencies = [ + "arrayref", + "bytemuck", + "num-derive", + "num-traits", + "num_enum", + "solana-account-info 3.1.0", + "solana-instruction 3.1.0", + "solana-program-error 3.0.0", + "solana-program-option 3.0.0", + "solana-program-pack 3.0.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-zk-sdk 4.0.0", + "spl-pod 0.7.1", + "spl-token-confidential-transfer-proof-extraction", + "spl-token-confidential-transfer-proof-generation", + "spl-token-group-interface", + "spl-token-metadata-interface", + "spl-type-length-value 0.9.0", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-token-confidential-transfer-ciphertext-arithmetic" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afbeb07f737d868f145512a4bcf9f59da275b7a3483df0add3f71eb812b689fb" +dependencies = [ + "base64 0.22.1", + "bytemuck", + "solana-curve25519", + "solana-zk-sdk 4.0.0", ] [[package]] -name = "spl-memo" -version = "3.0.1" -source = "git+https://github.com/hyperlane-xyz/solana-program-library.git?branch=hyperlane#5de3c060c276afb4e767111b3b42fbbf4a81d83f" +name = "spl-token-confidential-transfer-proof-extraction" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879a9ebad0d77383d3ea71e7de50503554961ff0f4ef6cbca39ad126e6f6da3a" dependencies = [ - "solana-program", + "bytemuck", + "solana-account-info 3.1.0", + "solana-curve25519", + "solana-instruction 3.1.0", + "solana-instructions-sysvar 3.0.0", + "solana-msg 3.0.0", + "solana-program-error 3.0.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-zk-sdk 4.0.0", + "spl-pod 0.7.1", + "thiserror 2.0.18", ] [[package]] -name = "spl-noop" -version = "0.1.3" -source = "git+https://github.com/hyperlane-xyz/solana-program-library.git?branch=hyperlane#5de3c060c276afb4e767111b3b42fbbf4a81d83f" +name = "spl-token-confidential-transfer-proof-generation" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0cd59fce3dc00f563c6fa364d67c3f200d278eae681f4dc250240afcfe044b1" dependencies = [ - "solana-program", + "curve25519-dalek 4.1.3", + "solana-zk-sdk 4.0.0", + "thiserror 2.0.18", ] [[package]] -name = "spl-token" -version = "3.5.0" -source = "git+https://github.com/hyperlane-xyz/solana-program-library.git?branch=hyperlane#5de3c060c276afb4e767111b3b42fbbf4a81d83f" +name = "spl-token-group-interface" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "452d0f758af20caaa10d9a6f7608232e000d4c74462f248540b3d2ddfa419776" +dependencies = [ + "bytemuck", + "num-derive", + "num-traits", + "num_enum", + "solana-instruction 3.1.0", + "solana-program-error 3.0.0", + "solana-pubkey 3.0.0", + "spl-discriminator 0.5.1", + "spl-pod 0.7.1", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-token-interface" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c564ac05a7c8d8b12e988a37d82695b5ba4db376d07ea98bc4882c81f96c7f3" dependencies = [ "arrayref", "bytemuck", - "num-derive 0.3.3", + "num-derive", "num-traits", - "num_enum 0.5.11", - "solana-program", - "thiserror", + "num_enum", + "solana-instruction 3.1.0", + "solana-program-error 3.0.0", + "solana-program-option 3.0.0", + "solana-program-pack 3.0.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "thiserror 2.0.18", ] [[package]] -name = "spl-token-2022" -version = "0.5.0" -source = "git+https://github.com/hyperlane-xyz/solana-program-library.git?branch=hyperlane#5de3c060c276afb4e767111b3b42fbbf4a81d83f" +name = "spl-token-metadata-interface" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c467c7c3bd056f8fe60119e7ec34ddd6f23052c2fa8f1f51999098063b72676" +dependencies = [ + "borsh 1.6.0", + "num-derive", + "num-traits", + "solana-borsh 3.0.0", + "solana-instruction 3.1.0", + "solana-program-error 3.0.0", + "solana-pubkey 3.0.0", + "spl-discriminator 0.5.1", + "spl-pod 0.7.1", + "spl-type-length-value 0.9.0", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-transfer-hook-interface" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c34b46b8f39bc64a9ab177a0ea8e9a58826db76f8d9d154a2400ee60baef7b1e" dependencies = [ "arrayref", "bytemuck", - "num-derive 0.3.3", + "num-derive", "num-traits", - "num_enum 0.5.11", - "solana-program", - "solana-zk-token-sdk", - "spl-memo 3.0.1 (git+https://github.com/hyperlane-xyz/solana-program-library.git?branch=hyperlane)", - "spl-token", - "thiserror", + "solana-account-info 3.1.0", + "solana-cpi 3.1.0", + "solana-instruction 3.1.0", + "solana-msg 3.0.0", + "solana-program-error 3.0.0", + "solana-pubkey 3.0.0", + "solana-sdk-ids 3.1.0", + "solana-system-interface 2.0.0", + "spl-discriminator 0.5.1", + "spl-pod 0.7.1", + "spl-program-error 0.8.0", + "spl-tlv-account-resolution", + "spl-type-length-value 0.9.0", + "thiserror 2.0.18", ] [[package]] name = "spl-type-length-value" -version = "0.1.0" -source = "git+https://github.com/hyperlane-xyz/solana-program-library.git?branch=hyperlane#5de3c060c276afb4e767111b3b42fbbf4a81d83f" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69c08deb8332a6c051f6e846b5e9c962695295dd97e0e151dccf3ef85dcf01b4" +dependencies = [ + "bytemuck", + "solana-program 2.3.0", + "spl-discriminator 0.3.0", + "spl-pod 0.4.0", + "spl-program-error 0.5.0", +] + +[[package]] +name = "spl-type-length-value" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca20a1a19f4507a98ca4b28ff5ed54cac9b9d34ed27863e2bde50a3238f9a6ac" dependencies = [ - "arrayref", "bytemuck", - "num-derive 0.3.3", + "num-derive", "num-traits", - "num_enum 0.6.1", - "solana-program", - "thiserror", + "num_enum", + "solana-account-info 3.1.0", + "solana-msg 3.0.0", + "solana-program-error 3.0.0", + "spl-discriminator 0.5.1", + "spl-pod 0.7.1", + "thiserror 2.0.18", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + [[package]] name = "static_assertions" version = "1.1.0" @@ -5907,9 +10982,9 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" [[package]] name = "strsim" -version = "0.10.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "strum" @@ -5936,8 +11011,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.86", - "quote 1.0.37", + "proc-macro2", + "quote", "rustversion", "syn 1.0.109", ] @@ -5949,10 +11024,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ "heck 0.5.0", - "proc-macro2 1.0.86", - "quote 1.0.37", + "proc-macro2", + "quote", "rustversion", - "syn 2.0.77", + "syn 2.0.114", ] [[package]] @@ -5967,36 +11042,25 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7973cce6668464ea31f176d85b13c7ab3bba2cb3b77a2ed26abd7801688010a" -[[package]] -name = "syn" -version = "0.15.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" -dependencies = [ - "proc-macro2 0.4.30", - "quote 0.6.13", - "unicode-xid 0.1.0", -] - [[package]] name = "syn" version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", + "proc-macro2", + "quote", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.77" +version = "2.0.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" +checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", + "proc-macro2", + "quote", "unicode-ident", ] @@ -6006,16 +11070,36 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] + [[package]] name = "synstructure" version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", + "proc-macro2", + "quote", "syn 1.0.109", - "unicode-xid 0.2.5", + "unicode-xid", +] + +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] @@ -6025,7 +11109,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags 1.3.2", - "core-foundation", + "core-foundation 0.9.4", "system-configuration-sys", ] @@ -6047,9 +11131,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tar" -version = "0.4.41" +version = "0.4.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb797dad5fb5b76fcf519e702f4a589483b5ef06567f160c392832c1f5e44909" +checksum = "1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a" dependencies = [ "filetime", "libc", @@ -6072,7 +11156,7 @@ dependencies = [ "serde", "static_assertions", "tarpc-plugins", - "thiserror", + "thiserror 1.0.69", "tokio", "tokio-serde", "tokio-util 0.6.10", @@ -6086,22 +11170,22 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee42b4e559f17bce0385ebf511a7beb67d5cc33c12c96b7f4e9789919d9c10f" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", + "proc-macro2", + "quote", "syn 1.0.109", ] [[package]] name = "tempfile" -version = "3.12.0" +version = "3.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" +checksum = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c" dependencies = [ - "cfg-if", "fastrand", + "getrandom 0.3.4", "once_cell", "rustix", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -6113,56 +11197,75 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "termtree" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683" + [[package]] name = "textwrap" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" dependencies = [ - "unicode-width", + "unicode-width 0.1.14", ] [[package]] -name = "textwrap" -version = "0.16.1" +name = "thiserror" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] [[package]] name = "thiserror" -version = "1.0.63" +version = "2.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" +dependencies = [ + "thiserror-impl 2.0.18", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ - "thiserror-impl", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] name = "thiserror-impl" -version = "1.0.63" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 2.0.77", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] name = "thread_local" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" dependencies = [ "cfg-if", - "once_cell", ] [[package]] name = "time" -version = "0.3.36" +version = "0.3.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" dependencies = [ "deranged", "itoa", @@ -6181,9 +11284,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" dependencies = [ "num-conv", "time-core", @@ -6200,9 +11303,9 @@ dependencies = [ "once_cell", "pbkdf2 0.4.0", "rand 0.7.3", - "rustc-hash", + "rustc-hash 1.1.0", "sha2 0.9.9", - "thiserror", + "thiserror 1.0.69", "unicode-normalization", "wasm-bindgen", "zeroize", @@ -6217,11 +11320,21 @@ dependencies = [ "crunchy", ] +[[package]] +name = "tinystr" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +dependencies = [ + "displaydoc", + "zerovec", +] + [[package]] name = "tinyvec" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" dependencies = [ "tinyvec_macros", ] @@ -6234,51 +11347,49 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.40.0" +version = "1.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" +checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" dependencies = [ - "backtrace", "bytes", "libc", "mio", - "parking_lot 0.12.3", + "parking_lot 0.12.5", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.7", + "socket2 0.6.2", "tokio-macros", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "tokio-macros" -version = "2.4.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" +checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 2.0.77", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] name = "tokio-rustls" -version = "0.23.4" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.20.9", + "rustls 0.21.12", "tokio", - "webpki", ] [[package]] name = "tokio-rustls" -version = "0.24.1" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" dependencies = [ - "rustls 0.21.12", + "rustls 0.23.36", "tokio", ] @@ -6290,7 +11401,7 @@ checksum = "911a61637386b789af998ee23f50aa30d5fd7edcec8d6d3dedae5e5815205466" dependencies = [ "bincode", "bytes", - "educe", + "educe 0.4.23", "futures-core", "futures-sink", "pin-project", @@ -6300,9 +11411,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.16" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" +checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" dependencies = [ "futures-core", "pin-project-lite", @@ -6311,18 +11422,17 @@ dependencies = [ [[package]] name = "tokio-tungstenite" -version = "0.17.2" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f714dd15bead90401d77e04243611caec13726c2408afd5b31901dfcdcb3b181" +checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" dependencies = [ "futures-util", "log", - "rustls 0.20.9", + "rustls 0.21.12", "tokio", - "tokio-rustls 0.23.4", + "tokio-rustls 0.24.1", "tungstenite", - "webpki", - "webpki-roots 0.22.6", + "webpki-roots 0.25.4", ] [[package]] @@ -6342,9 +11452,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.12" +version = "0.7.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" dependencies = [ "bytes", "futures-core", @@ -6364,20 +11474,71 @@ dependencies = [ [[package]] name = "toml_datetime" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" + +[[package]] +name = "toml_edit" +version = "0.22.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" +dependencies = [ + "indexmap", + "toml_datetime", + "toml_write", + "winnow", +] + +[[package]] +name = "toml_write" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" + +[[package]] +name = "tower" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper 1.0.2", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-http" version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" +dependencies = [ + "async-compression", + "bitflags 2.10.0", + "bytes", + "futures-core", + "futures-util", + "http 1.4.0", + "http-body 1.0.1", + "http-body-util", + "iri-string", + "pin-project-lite", + "tokio", + "tokio-util 0.7.18", + "tower", + "tower-layer", + "tower-service", +] [[package]] -name = "toml_edit" -version = "0.22.22" +name = "tower-layer" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" -dependencies = [ - "indexmap 2.5.0", - "toml_datetime", - "winnow", -] +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" [[package]] name = "tower-service" @@ -6387,9 +11548,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "log", "pin-project-lite", @@ -6399,20 +11560,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.27" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 2.0.77", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", "valuable", @@ -6443,9 +11604,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e" dependencies = [ "sharded-slab", "thread_local", @@ -6460,43 +11621,42 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "tungstenite" -version = "0.17.3" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e27992fd6a8c29ee7eef28fc78349aa244134e10ad447ce3b9f0ac0ed0fa4ce0" +checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" dependencies = [ - "base64 0.13.1", "byteorder", "bytes", - "http", + "data-encoding", + "http 0.2.12", "httparse", "log", "rand 0.8.5", - "rustls 0.20.9", - "sha-1", - "thiserror", + "rustls 0.21.12", + "sha1", + "thiserror 1.0.69", "url", "utf-8", - "webpki", - "webpki-roots 0.22.6", + "webpki-roots 0.24.0", ] [[package]] name = "typeid" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e" +checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" [[package]] name = "typenum" -version = "1.17.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" [[package]] name = "typetag" -version = "0.2.18" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ba3b6e86ffe0054b2c44f2d86407388b933b16cb0a70eea3929420db1d9bbe" +checksum = "be2212c8a9b9bcfca32024de14998494cf9a5dfa59ea1b829de98bac374b86bf" dependencies = [ "erased-serde", "inventory", @@ -6507,13 +11667,13 @@ dependencies = [ [[package]] name = "typetag-impl" -version = "0.2.18" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70b20a22c42c8f1cd23ce5e34f165d4d37038f5b663ad20fb6adbdf029172483" +checksum = "27a7a9b72ba121f6f1f6c3632b85604cac41aedb5ddc70accbebb6cac83de846" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 2.0.77", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] @@ -6528,50 +11688,50 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" - [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" [[package]] name = "unicode-normalization" -version = "0.1.23" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8" dependencies = [ "tinyvec", ] [[package]] name = "unicode-segmentation" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-width" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" [[package]] -name = "unicode-xid" -version = "0.1.0" +name = "unicode-width" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" +checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" [[package]] name = "unicode-xid" -version = "0.2.5" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + +[[package]] +name = "unit-prefix" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" +checksum = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3" [[package]] name = "universal-hash" @@ -6600,15 +11760,15 @@ checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" [[package]] name = "untrusted" -version = "0.7.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] -name = "untrusted" -version = "0.9.0" +name = "unwrap_none" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" +checksum = "461d0c5956fcc728ecc03a3a961e4adc9a7975d86f6f8371389a289517c02ca9" [[package]] name = "uriparse" @@ -6622,13 +11782,14 @@ dependencies = [ [[package]] name = "url" -version = "2.5.2" +version = "2.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" dependencies = [ "form_urlencoded", "idna", "percent-encoding", + "serde", ] [[package]] @@ -6637,6 +11798,12 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "utf8parse" version = "0.2.2" @@ -6649,7 +11816,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.17", "serde", ] @@ -6659,15 +11826,21 @@ version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.17", "serde", ] [[package]] name = "valuable" -version = "0.1.0" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" + +[[package]] +name = "vcpkg" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "vec_map" @@ -6714,76 +11887,77 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] -name = "wasm-bindgen" -version = "0.2.93" +name = "wasip2" +version = "1.0.2+wasi-0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" +checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" dependencies = [ - "cfg-if", - "once_cell", - "wasm-bindgen-macro", + "wit-bindgen", ] [[package]] -name = "wasm-bindgen-backend" -version = "0.2.93" +name = "wasm-bindgen" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" +checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" dependencies = [ - "bumpalo", - "log", + "cfg-if", "once_cell", - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 2.0.77", + "rustversion", + "wasm-bindgen-macro", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.43" +version = "0.4.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" +checksum = "70a6e77fd0ae8029c9ea0063f87c46fde723e7d887703d74ad2616d792e51e6f" dependencies = [ "cfg-if", + "futures-util", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.93" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" +checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" dependencies = [ - "quote 1.0.37", + "quote", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.93" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" +checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 2.0.77", - "wasm-bindgen-backend", + "bumpalo", + "proc-macro2", + "quote", + "syn 2.0.114", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.93" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" +checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" +dependencies = [ + "unicode-ident", +] [[package]] name = "wasm-timer" @@ -6802,31 +11976,40 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.70" +version = "0.3.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "312e32e551d92129218ea9a2452120f4aabc03529ef03e4d0d82fb2780608598" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" dependencies = [ "js-sys", "wasm-bindgen", ] [[package]] -name = "webpki" -version = "0.22.4" +name = "webpki-root-certs" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53" +checksum = "36a29fc0408b113f68cf32637857ab740edfafdf460c326cd2afaa2d84cc05dc" dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", + "rustls-pki-types", ] [[package]] name = "webpki-roots" -version = "0.22.6" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" +checksum = "b291546d5d9d1eab74f069c77749f2cb8504a12caa20f0f2de93ddbf6f411888" dependencies = [ - "webpki", + "rustls-webpki 0.101.7", ] [[package]] @@ -6835,6 +12018,15 @@ version = "0.25.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" +[[package]] +name = "webpki-roots" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12bed680863276c63889429bfd6cab3b99943659923822de1c8a39c49e4d722c" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "winapi" version = "0.3.9" @@ -6853,11 +12045,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -6868,11 +12060,70 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" -version = "0.52.0" +version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ - "windows-targets 0.52.6", + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings", +] + +[[package]] +name = "windows-implement" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "windows-interface" +version = "0.59.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", ] [[package]] @@ -6902,6 +12153,39 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.5", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -6926,13 +12210,36 @@ dependencies = [ "windows_aarch64_gnullvm 0.52.6", "windows_aarch64_msvc 0.52.6", "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", + "windows_i686_gnullvm 0.52.6", "windows_i686_msvc 0.52.6", "windows_x86_64_gnu 0.52.6", "windows_x86_64_gnullvm 0.52.6", "windows_x86_64_msvc 0.52.6", ] +[[package]] +name = "windows-targets" +version = "0.53.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +dependencies = [ + "windows-link", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -6945,6 +12252,18 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -6957,6 +12276,18 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -6969,12 +12300,30 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +[[package]] +name = "windows_i686_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" + [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -6987,6 +12336,18 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_i686_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -6999,6 +12360,18 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -7011,6 +12384,18 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -7023,11 +12408,17 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" + [[package]] name = "winnow" -version = "0.6.20" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" +checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" dependencies = [ "memchr", ] @@ -7042,11 +12433,23 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "wit-bindgen" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" + +[[package]] +name = "writeable" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" + [[package]] name = "ws_stream_wasm" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5" +checksum = "6c173014acad22e83f16403ee360115b38846fe754e735c5d9d3803fe70c6abc" dependencies = [ "async_io_stream", "futures", @@ -7055,7 +12458,7 @@ dependencies = [ "pharos", "rustc_version", "send_wrapper", - "thiserror", + "thiserror 2.0.18", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -7084,104 +12487,166 @@ dependencies = [ "nom", "oid-registry", "rusticata-macros", - "thiserror", + "thiserror 1.0.69", "time", ] [[package]] name = "xattr" -version = "1.3.1" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" +checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" dependencies = [ "libc", - "linux-raw-sys", "rustix", ] [[package]] -name = "yaml-rust" -version = "0.4.5" +name = "yoke" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" dependencies = [ - "linked-hash-map", + "stable_deref_trait", + "yoke-derive", + "zerofrom", ] [[package]] -name = "yasna" -version = "0.5.2" +name = "yoke-derive" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ - "time", + "proc-macro2", + "quote", + "syn 2.0.114", + "synstructure 0.13.2", ] [[package]] name = "zerocopy" -version = "0.7.35" +version = "0.8.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +checksum = "7456cf00f0685ad319c5b1693f291a650eaf345e941d082fc4e03df8a03996ac" dependencies = [ - "byteorder", "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.35" +version = "0.8.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1328722bbf2115db7e19d69ebcc15e795719e2d66b60827c6a69a117365e37a0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 2.0.77", + "proc-macro2", + "quote", + "syn 2.0.114", + "synstructure 0.13.2", ] [[package]] name = "zeroize" -version = "1.8.1" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" dependencies = [ "zeroize_derive", ] [[package]] name = "zeroize_derive" -version = "1.4.2" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "zerotrie" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.37", - "syn 2.0.77", + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", ] +[[package]] +name = "zmij" +version = "1.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ff05f8caa9038894637571ae6b9e29466c1f4f829d26c9b28f869a29cbe3445" + [[package]] name = "zstd" -version = "0.11.2+zstd.1.5.2" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "5.0.2+zstd.1.5.2" +version = "7.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" +checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" dependencies = [ - "libc", "zstd-sys", ] [[package]] name = "zstd-sys" -version = "2.0.13+zstd.1.5.6" +version = "2.0.16+zstd.1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" +checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" dependencies = [ "cc", "pkg-config", diff --git a/rust/sealevel/Cargo.toml b/rust/sealevel/Cargo.toml index a9677de1b2e..a102ec0d29b 100644 --- a/rust/sealevel/Cargo.toml +++ b/rust/sealevel/Cargo.toml @@ -1,4 +1,5 @@ [workspace] +resolver = "2" members = [ "client", "libraries/access-control", @@ -34,6 +35,7 @@ publish = false version = "0.1.0" [workspace.dependencies] +base64ct = "1.6" Inflector = "0.11.4" anyhow = "1.0" async-trait = "0.1" @@ -44,7 +46,7 @@ backtrace = "0.3" base64 = "0.21.2" bigdecimal = "0.4.2" bincode = "1.3" -borsh = "0.9" +borsh = "1.5" bs58 = "0.5.0" bytes = "1" clap = "4" @@ -85,8 +87,8 @@ parking_lot = "0.12" paste = "1.0" pretty_env_logger = "0.5.0" primitive-types = "=0.12.1" -prometheus = "0.13" -protobuf = "*" +prometheus = "0.14" +protobuf = "3" rand = "0.8.5" regex = "1.5" reqwest = "0.11" @@ -102,26 +104,32 @@ serde_yaml = "0.9" sha2 = { version = "0.10.6", default-features = false } sha256 = "1.1.4" sha3 = "0.10" -solana-account-decoder = "=1.14.13" -solana-address-lookup-table-program = "=1.14.13" -solana-banks-client = "=1.14.13" -solana-banks-interface = "=1.14.13" -solana-banks-server = "=1.14.13" -solana-clap-utils = "=1.14.13" -solana-cli-config = "=1.14.13" -solana-client = "=1.14.13" -solana-program = "=1.14.13" -solana-program-test = "=1.14.13" -solana-sdk = "=1.14.13" -solana-transaction-status = "=1.14.13" -solana-zk-token-sdk = "=1.14.13" -spl-associated-token-account = { version = "=1.1.2", features = [ +solana-account-decoder = "=3.0.7" +solana-address-lookup-table-interface = "=3.0.1" +solana-banks-client = "=3.0.7" +solana-banks-interface = "=3.0.7" +solana-banks-server = "=3.0.7" +solana-bpf-loader-program = "=3.0.7" +solana-clap-utils = "=3.0.7" +solana-cli-config = "=3.0.7" +solana-client = "=3.0.7" +solana-commitment-config = "=3.0.0" +solana-compute-budget-interface = { version = "=3.0.0", features = ["borsh"] } +solana-loader-v3-interface = { version = "=6.1.0", features = ["serde", "bincode"] } +solana-program = "=3.0.0" +solana-program-test = "=3.0.7" +solana-sdk = "=3.0.0" +solana-stake-interface = "=1.2.1" +solana-system-interface = { version = "=2.0.0", features = ["bincode"] } +solana-transaction-status = "=3.0.7" +spl-associated-token-account = { version = "8.0", features = [ "no-entrypoint", ] } -spl-noop = { version = "=0.1.3", features = ["no-entrypoint"] } -spl-token = { version = "=3.5.0", features = ["no-entrypoint"] } -spl-token-2022 = { version = "=0.5.0", features = ["no-entrypoint"] } -spl-type-length-value = "=0.1.0" +spl-noop = { version = "1.0", features = ["no-entrypoint"] } +spl-token = { version = "9.0", features = ["no-entrypoint"] } +spl-token-2022 = { version = "10.0", features = ["no-entrypoint"] } +spl-discriminator = "0.5" +spl-type-length-value = "0.6" static_assertions = "1.1" strum = "0.26.2" strum_macros = "0.26.2" @@ -237,102 +245,7 @@ features = ["aws"] git = "https://github.com/hyperlane-xyz/ethers-rs" tag = "2024-04-25" -[patch.crates-io.bumpalo] -git = "https://github.com/fitzgen/bumpalo" -tag = "3.14.0" -version = "=3.14.0" - -[patch.crates-io.curve25519-dalek] -branch = "v3.2.2-relax-zeroize" -git = "https://github.com/Eclipse-Laboratories-Inc/curve25519-dalek" -version = "3.2.2" - -[patch.crates-io.primitive-types] -branch = "hyperlane" -git = "https://github.com/hyperlane-xyz/parity-common.git" -version = "=0.12.1" - -[patch.crates-io.rlp] -branch = "hyperlane" -git = "https://github.com/hyperlane-xyz/parity-common.git" -version = "=0.5.2" - -[patch.crates-io.solana-account-decoder] -git = "https://github.com/hyperlane-xyz/solana.git" -tag = "hyperlane-1.14.13-2025-05-21" -version = "=1.14.13" - -[patch.crates-io.solana-address-lookup-table-program] -git = "https://github.com/hyperlane-xyz/solana.git" -tag = "hyperlane-1.14.13-2025-05-21" -version = "=1.14.13" - -[patch.crates-io.solana-banks-client] -git = "https://github.com/hyperlane-xyz/solana.git" -tag = "hyperlane-1.14.13-2025-05-21" -version = "=1.14.13" - -[patch.crates-io.solana-clap-utils] -git = "https://github.com/hyperlane-xyz/solana.git" -tag = "hyperlane-1.14.13-2025-05-21" -version = "=1.14.13" - -[patch.crates-io.solana-cli-config] -git = "https://github.com/hyperlane-xyz/solana.git" -tag = "hyperlane-1.14.13-2025-05-21" -version = "=1.14.13" - -[patch.crates-io.solana-client] -git = "https://github.com/hyperlane-xyz/solana.git" -tag = "hyperlane-1.14.13-2025-05-21" -version = "=1.14.13" - -[patch.crates-io.solana-program] -git = "https://github.com/hyperlane-xyz/solana.git" -tag = "hyperlane-1.14.13-2025-05-21" -version = "=1.14.13" - -[patch.crates-io.solana-program-test] -git = "https://github.com/hyperlane-xyz/solana.git" -tag = "hyperlane-1.14.13-2025-05-21" -version = "=1.14.13" - -[patch.crates-io.solana-sdk] -git = "https://github.com/hyperlane-xyz/solana.git" -tag = "hyperlane-1.14.13-2025-05-21" -version = "=1.14.13" - -[patch.crates-io.solana-transaction-status] -git = "https://github.com/hyperlane-xyz/solana.git" -tag = "hyperlane-1.14.13-2025-05-21" -version = "=1.14.13" - -[patch.crates-io.solana-zk-token-sdk] -git = "https://github.com/hyperlane-xyz/solana.git" -tag = "hyperlane-1.14.13-2025-05-21" -version = "=1.14.13" - -[patch.crates-io.spl-associated-token-account] -branch = "hyperlane" -git = "https://github.com/hyperlane-xyz/solana-program-library.git" -version = "=1.1.2" - -[patch.crates-io.spl-noop] -branch = "hyperlane" -git = "https://github.com/hyperlane-xyz/solana-program-library.git" -version = "=0.1.3" - -[patch.crates-io.spl-token] -branch = "hyperlane" -git = "https://github.com/hyperlane-xyz/solana-program-library.git" -version = "=3.5.0" - -[patch.crates-io.spl-token-2022] -branch = "hyperlane" -git = "https://github.com/hyperlane-xyz/solana-program-library.git" -version = "=0.5.0" - -[patch.crates-io.spl-type-length-value] -version = "=0.1.0" -git = "https://github.com/hyperlane-xyz/solana-program-library.git" -branch = "hyperlane" +# Allow Solana-specific cfg values used in the entrypoint! macro +[workspace.lints.rust] +unexpected_cfgs = { level = "warn", check-cfg = ["cfg(target_os, values(\"solana\"))", "cfg(feature, values(\"custom-heap\", \"custom-panic\"))"] } + diff --git a/rust/sealevel/client/Cargo.toml b/rust/sealevel/client/Cargo.toml index 08f5b454c7b..7822eba0bfc 100644 --- a/rust/sealevel/client/Cargo.toml +++ b/rust/sealevel/client/Cargo.toml @@ -17,12 +17,16 @@ pretty_env_logger.workspace = true serde.workspace = true serde_json.workspace = true serde_yaml.workspace = true -solana-address-lookup-table-program.workspace = true +solana-address-lookup-table-interface.workspace = true solana-clap-utils.workspace = true solana-cli-config.workspace = true solana-client.workspace = true +solana-commitment-config.workspace = true +solana-compute-budget-interface.workspace = true +solana-loader-v3-interface.workspace = true solana-program.workspace = true solana-sdk.workspace = true +solana-system-interface.workspace = true solana-transaction-status.workspace = true account-utils = { path = "../libraries/account-utils" } diff --git a/rust/sealevel/client/src/alt.rs b/rust/sealevel/client/src/alt.rs index c27847e769a..4c6fc77f8e8 100644 --- a/rust/sealevel/client/src/alt.rs +++ b/rust/sealevel/client/src/alt.rs @@ -3,7 +3,7 @@ //! Creates ALTs containing common static accounts to reduce transaction size //! for message processing. -use solana_address_lookup_table_program::instruction::{ +use solana_address_lookup_table_interface::instruction::{ create_lookup_table, extend_lookup_table, freeze_lookup_table, }; use solana_program::pubkey; @@ -50,7 +50,7 @@ fn create_alt(ctx: &Context, cmd: &crate::AltCreateCmd) { // 4. Extend ALT with common addresses // Programs called via CPI are in accounts array, so they're eligible! let addresses = vec![ - solana_sdk::system_program::ID, + solana_system_interface::program::ID, inbox_pda, SPL_NOOP, TOKEN_PROGRAM, // CPI'd by warp routes diff --git a/rust/sealevel/client/src/cmd_utils.rs b/rust/sealevel/client/src/cmd_utils.rs index a5690cba547..37df6dab72e 100644 --- a/rust/sealevel/client/src/cmd_utils.rs +++ b/rust/sealevel/client/src/cmd_utils.rs @@ -12,8 +12,8 @@ use solana_client::{ client_error::{ClientError, ClientErrorKind}, rpc_client::RpcClient, }; +use solana_commitment_config::CommitmentConfig; use solana_sdk::{ - commitment_config::CommitmentConfig, pubkey::Pubkey, signature::{Keypair, Signer}, }; @@ -194,7 +194,7 @@ pub(crate) fn create_or_get_keypair(key_dir: &Path, key_name: &str) -> (Keypair, if let Ok(file) = File::open(path.clone()) { println!("Using existing key at path {}", path.display()); let keypair_bytes: Vec = serde_json::from_reader(file).unwrap(); - let keypair = Keypair::from_bytes(&keypair_bytes[..]).unwrap(); + let keypair = Keypair::try_from(keypair_bytes.as_slice()).unwrap(); return (keypair, path); } diff --git a/rust/sealevel/client/src/context.rs b/rust/sealevel/client/src/context.rs index 7099d1de043..2dc46459a97 100644 --- a/rust/sealevel/client/src/context.rs +++ b/rust/sealevel/client/src/context.rs @@ -7,8 +7,8 @@ use solana_client::{ rpc_client::RpcClient, rpc_config::{RpcSendTransactionConfig, RpcTransactionConfig}, }; +use solana_commitment_config::CommitmentConfig; use solana_sdk::{ - commitment_config::CommitmentConfig, instruction::Instruction, message::Message, pubkey::Pubkey, @@ -112,7 +112,9 @@ impl Context { pub(crate) fn payer_signer(&self) -> Option> { if let Some(PayerKeypair { keypair, .. }) = &self.payer_keypair { - Some(Box::new(Keypair::from_bytes(&keypair.to_bytes()).unwrap())) + Some(Box::new( + Keypair::try_from(&keypair.to_bytes()[..]).unwrap(), + )) } else { None } @@ -138,6 +140,7 @@ impl Context { } } +#[allow(clippy::needless_lifetimes)] impl<'ctx, 'rpc> TxnBuilder<'ctx, 'rpc> { pub(crate) fn add(self, instruction: Instruction) -> Self { self.add_with_optional_description(instruction, None) @@ -248,9 +251,7 @@ impl<'ctx, 'rpc> TxnBuilder<'ctx, 'rpc> { }) .collect(); - let is_solana = chain_name - .as_ref() - .map_or(false, |ch| ch == "solanamainnet"); + let is_solana = chain_name.as_ref().is_some_and(|ch| ch == "solanamainnet"); let new_entry = TransactionEntry { chain_name: chain_name.clone(), @@ -372,15 +373,13 @@ impl<'ctx, 'rpc> TxnBuilder<'ctx, 'rpc> { .unwrap(); // If the commitment level set in the client is less than `finalized`, - // the only way to reliably read the tx is to use the deprecated - // `CommitmentConfig::single()` commitment... - #[allow(deprecated)] + // use `confirmed` commitment to reliably read the tx. client .get_transaction_with_config( &signature, RpcTransactionConfig { encoding: Some(UiTransactionEncoding::Base64), - commitment: Some(CommitmentConfig::single()), + commitment: Some(CommitmentConfig::confirmed()), ..RpcTransactionConfig::default() }, ) diff --git a/rust/sealevel/client/src/core.rs b/rust/sealevel/client/src/core.rs index 534b5979651..1e0231454a4 100644 --- a/rust/sealevel/client/src/core.rs +++ b/rust/sealevel/client/src/core.rs @@ -2,8 +2,8 @@ use borsh::BorshDeserialize; use hyperlane_sealevel_mailbox::protocol_fee::ProtocolFee; use serde::{Deserialize, Serialize}; +use solana_compute_budget_interface::{self as compute_budget, ComputeBudgetInstruction}; use solana_program::pubkey::Pubkey; -use solana_sdk::{compute_budget, compute_budget::ComputeBudgetInstruction}; use std::{fs::File, path::Path}; @@ -312,15 +312,17 @@ mod test { #[test] fn test_protocol_fee_serialization() { + // Use a deterministic pubkey for consistent test results + let beneficiary = Pubkey::new_from_array([1u8; 32]); let protocol_fee_config = super::ProtocolFeeConfig { max_protocol_fee: 100, fee: 10, - beneficiary: Some(Pubkey::new_unique()), + beneficiary: Some(beneficiary), }; let json_serialized = serde_json::to_string(&protocol_fee_config).unwrap(); assert_eq!( json_serialized, - r#"{"maxProtocolFee":100,"fee":10,"beneficiary":"1111111QLbz7JHiBTspS962RLKV8GndWFwiEaqKM"}"# + r#"{"maxProtocolFee":100,"fee":10,"beneficiary":"4vJ9JU1bJJE96FWSJKvHsmmFADCg4gpZQff4P3bkLKi"}"# ); let deserialized: super::ProtocolFeeConfig = serde_json::from_str(&json_serialized).unwrap(); diff --git a/rust/sealevel/client/src/main.rs b/rust/sealevel/client/src/main.rs index 044ca4e8963..1fb9358a5ef 100644 --- a/rust/sealevel/client/src/main.rs +++ b/rust/sealevel/client/src/main.rs @@ -9,15 +9,15 @@ use clap::{Args, Parser, Subcommand, ValueEnum}; use solana_clap_utils::input_validators::{is_keypair, is_url, normalize_to_url_if_moniker}; use solana_cli_config::{Config, CONFIG_FILE}; use solana_client::rpc_client::RpcClient; +use solana_commitment_config::CommitmentConfig; +use solana_compute_budget_interface::ComputeBudgetInstruction; use solana_program::pubkey; use solana_sdk::{ - commitment_config::CommitmentConfig, - compute_budget::ComputeBudgetInstruction, instruction::{AccountMeta, Instruction}, pubkey::Pubkey, signature::{read_keypair_file, Keypair, Signer as _}, - system_program, }; +use solana_system_interface::program as system_program; use account_utils::DiscriminatorEncode; use hyperlane_core::{H160, H256}; @@ -35,7 +35,6 @@ use hyperlane_sealevel_mailbox::{ mailbox_message_dispatch_authority_pda_seeds, mailbox_outbox_pda_seeds, mailbox_processed_message_pda_seeds, protocol_fee::ProtocolFee, - spl_noop, }; use hyperlane_sealevel_token::{ @@ -915,7 +914,7 @@ fn process_mailbox_cmd(ctx: Context, cmd: MailboxCmd) { accounts: vec![ AccountMeta::new(outbox_account, false), AccountMeta::new_readonly(ctx.payer_pubkey, true), - AccountMeta::new_readonly(spl_noop::id(), false), + AccountMeta::new_readonly(account_utils::SPL_NOOP_PROGRAM_ID, false), ], }; ctx.new_txn().add(outbox_instruction).send_with_payer(); @@ -1201,7 +1200,7 @@ fn process_token_cmd(mut ctx: Context, cmd: TokenCmd) { // 14..N [??..??] Plugin-specific accounts. let mut accounts = vec![ AccountMeta::new_readonly(system_program::id(), false), - AccountMeta::new_readonly(spl_noop::id(), false), + AccountMeta::new_readonly(account_utils::SPL_NOOP_PROGRAM_ID, false), AccountMeta::new_readonly(token_account, false), AccountMeta::new_readonly(token.mailbox, false), AccountMeta::new(mailbox_outbox_account, false), diff --git a/rust/sealevel/client/src/registry.rs b/rust/sealevel/client/src/registry.rs index 60e6cd1b160..5f72c807745 100644 --- a/rust/sealevel/client/src/registry.rs +++ b/rust/sealevel/client/src/registry.rs @@ -2,7 +2,7 @@ use std::{collections::HashMap, fs::File, path::PathBuf}; use serde::{Deserialize, Serialize}; use solana_client::rpc_client::RpcClient; -use solana_sdk::commitment_config::CommitmentConfig; +use solana_commitment_config::CommitmentConfig; #[derive(Debug, Deserialize, Serialize, Clone)] #[serde(rename_all = "camelCase")] diff --git a/rust/sealevel/client/src/router.rs b/rust/sealevel/client/src/router.rs index 0b2980c3d05..19ab29eef52 100644 --- a/rust/sealevel/client/src/router.rs +++ b/rust/sealevel/client/src/router.rs @@ -7,12 +7,14 @@ use std::{ }; use solana_client::rpc_client::RpcClient; -use solana_program::instruction::Instruction; -use solana_sdk::{ - account_utils::StateMut, - bpf_loader_upgradeable::{self, UpgradeableLoaderState}, - pubkey::Pubkey, +use solana_loader_v3_interface::{ + instruction::set_upgrade_authority, state::UpgradeableLoaderState, }; +use solana_sdk::{instruction::Instruction, pubkey::Pubkey}; + +/// Well-known BPF Loader Upgradeable program ID. +const BPF_LOADER_UPGRADEABLE_ID: Pubkey = + solana_sdk::pubkey!("BPFLoaderUpgradeab1e11111111111111111111111"); use account_utils::DiscriminatorData; use hyperlane_sealevel_connection_client::router::RemoteRouterConfig; @@ -578,7 +580,7 @@ fn configure_upgrade_authority( let tx_result = ctx .new_txn() .add_with_description( - bpf_loader_upgradeable::set_upgrade_authority( + set_upgrade_authority( program_id, &actual_upgrade_authority, expected_upgrade_authority.as_ref(), @@ -627,31 +629,33 @@ fn get_program_upgrade_authority( ) -> Result, &'static str> { let program_account = client.get_account(program_id).unwrap(); // If the program isn't upgradeable, exit - if program_account.owner != bpf_loader_upgradeable::id() { + if program_account.owner != BPF_LOADER_UPGRADEABLE_ID { return Err("Program is not upgradeable"); } // The program id must actually be a program - let programdata_address = if let Ok(UpgradeableLoaderState::Program { - programdata_address, - }) = program_account.state() - { - programdata_address - } else { - return Err("Unable to deserialize program account"); + // Note: UpgradeableLoaderState uses solana_pubkey::Pubkey which we convert to solana_sdk::pubkey::Pubkey + let programdata_address: UpgradeableLoaderState = + bincode::deserialize(&program_account.data) + .map_err(|_| "Unable to deserialize program account")?; + let programdata_address = match programdata_address { + UpgradeableLoaderState::Program { + programdata_address, + } => Pubkey::new_from_array(programdata_address.to_bytes()), + _ => return Err("Unable to deserialize program account"), }; let program_data_account = client.get_account(&programdata_address).unwrap(); // If the program data account somehow isn't deserializable, exit - let actual_upgrade_authority = if let Ok(UpgradeableLoaderState::ProgramData { - upgrade_authority_address, - slot: _, - }) = program_data_account.state() - { - upgrade_authority_address - } else { - return Err("Unable to deserialize program data account"); + let program_data: UpgradeableLoaderState = bincode::deserialize(&program_data_account.data) + .map_err(|_| "Unable to deserialize program data account")?; + let actual_upgrade_authority = match program_data { + UpgradeableLoaderState::ProgramData { + upgrade_authority_address, + slot: _, + } => upgrade_authority_address.map(|p| Pubkey::new_from_array(p.to_bytes())), + _ => return Err("Unable to deserialize program data account"), }; Ok(actual_upgrade_authority) diff --git a/rust/sealevel/client/src/squads.rs b/rust/sealevel/client/src/squads.rs index 4c12e3d6922..a11cd179044 100644 --- a/rust/sealevel/client/src/squads.rs +++ b/rust/sealevel/client/src/squads.rs @@ -6,11 +6,9 @@ use clap::{Args, Subcommand}; use hyperlane_sealevel_mailbox::instruction::Instruction as MailboxInstruction; use hyperlane_sealevel_multisig_ism_message_id::instruction::Instruction as MultisigIsmInstruction; use solana_client::rpc_client::RpcClient; +use solana_loader_v3_interface::state::UpgradeableLoaderState; use solana_program::pubkey; -use solana_sdk::{ - account::Account, account_utils::StateMut, bpf_loader_upgradeable::UpgradeableLoaderState, - pubkey::Pubkey, -}; +use solana_sdk::{account::Account, pubkey::Pubkey}; use crate::{read_core_program_ids, registry::FileSystemRegistry, Context, EnvironmentArgs}; @@ -329,9 +327,10 @@ impl PubkeyClassifier { // Get the program data account address by looking at the program state let programdata_address = if let Ok(UpgradeableLoaderState::Program { programdata_address, - }) = program_account.state() + }) = bincode::deserialize(&program_account.data) { - programdata_address + // Convert from solana_pubkey::Pubkey to solana_sdk::pubkey::Pubkey + Pubkey::new_from_array(programdata_address.to_bytes()) } else { panic!("Unable to deserialize program account {:?}", program); }; diff --git a/rust/sealevel/client/src/warp_route.rs b/rust/sealevel/client/src/warp_route.rs index 251460057eb..fbff0537de2 100644 --- a/rust/sealevel/client/src/warp_route.rs +++ b/rust/sealevel/client/src/warp_route.rs @@ -14,6 +14,7 @@ use std::{ }; use solana_sdk::{instruction::Instruction, program_error::ProgramError, pubkey::Pubkey}; +use solana_system_interface::instruction as system_instruction; use hyperlane_sealevel_connection_client::{ gas_router::GasRouterConfig, router::RemoteRouterConfig, @@ -707,11 +708,7 @@ fn fund_ata_payer_up_to( ctx.new_txn() .add_with_description( - solana_program::system_instruction::transfer( - &ctx.payer_pubkey, - &ata_payer_account, - funding_amount, - ), + system_instruction::transfer(&ctx.payer_pubkey, &ata_payer_account, funding_amount), format!( "Funding ATA payer {} with funding_amount {} to reach total balance of {}", ata_payer_account, funding_amount, ata_payer_funding_amount diff --git a/rust/sealevel/libraries/access-control/src/lib.rs b/rust/sealevel/libraries/access-control/src/lib.rs index a4b354cbf8e..ce8253e97e9 100644 --- a/rust/sealevel/libraries/access-control/src/lib.rs +++ b/rust/sealevel/libraries/access-control/src/lib.rs @@ -71,7 +71,6 @@ mod test { &mut owner_account_data, &owner, false, - 0, ); assert_eq!( access_control.ensure_owner_signer(&owner_account_info), @@ -87,7 +86,6 @@ mod test { &mut owner_account_data, &owner, false, - 0, ); assert_eq!( access_control.ensure_owner_signer(&owner_account_info), @@ -104,7 +102,6 @@ mod test { &mut owner_account_data, &owner, false, - 0, ); assert_eq!( access_control.ensure_owner_signer(&owner_account_info), @@ -128,7 +125,6 @@ mod test { &mut owner_account_data, &owner, false, - 0, ); let new_owner = Pubkey::new_unique(); @@ -154,7 +150,6 @@ mod test { &mut owner_account_data, &owner, false, - 0, ); // Ensure it can't transfer ownership because it's not a signer @@ -172,7 +167,6 @@ mod test { &mut owner_account_data, &owner, false, - 0, ); // Transfer ownership to None diff --git a/rust/sealevel/libraries/account-utils/Cargo.toml b/rust/sealevel/libraries/account-utils/Cargo.toml index c74f43ad320..e4849269a34 100644 --- a/rust/sealevel/libraries/account-utils/Cargo.toml +++ b/rust/sealevel/libraries/account-utils/Cargo.toml @@ -8,6 +8,8 @@ edition = "2021" [dependencies] borsh.workspace = true solana-program.workspace = true +solana-system-interface.workspace = true +spl-discriminator.workspace = true spl-type-length-value.workspace = true [dev-dependencies] diff --git a/rust/sealevel/libraries/account-utils/src/discriminator.rs b/rust/sealevel/libraries/account-utils/src/discriminator.rs index 4ff6fd92eec..5869f19e3a6 100644 --- a/rust/sealevel/libraries/account-utils/src/discriminator.rs +++ b/rust/sealevel/libraries/account-utils/src/discriminator.rs @@ -1,6 +1,6 @@ use borsh::{BorshDeserialize, BorshSerialize}; use solana_program::program_error::ProgramError; -use spl_type_length_value::discriminator::Discriminator; +use spl_discriminator::ArrayDiscriminator as Discriminator; use std::ops::{Deref, DerefMut}; use crate::{Data, SizedData}; @@ -43,8 +43,9 @@ impl BorshDeserialize for DiscriminatorPrefixed where T: DiscriminatorPrefixedData, { - fn deserialize(buf: &mut &[u8]) -> std::io::Result { - let (discriminator, rest) = buf.split_at(Discriminator::LENGTH); + fn deserialize_reader(reader: &mut R) -> std::io::Result { + let mut discriminator = [0u8; Discriminator::LENGTH]; + reader.read_exact(&mut discriminator)?; if discriminator != T::DISCRIMINATOR { return Err(std::io::Error::new( std::io::ErrorKind::InvalidData, @@ -52,7 +53,7 @@ where )); } Ok(Self { - data: T::deserialize(&mut rest.to_vec().as_slice())?, + data: T::deserialize_reader(reader)?, }) } } @@ -108,11 +109,7 @@ pub trait DiscriminatorEncode: DiscriminatorData + borsh::BorshSerialize { fn encode(self) -> Result, ProgramError> { let mut buf = vec![]; buf.extend_from_slice(Self::DISCRIMINATOR_SLICE); - buf.extend_from_slice( - &self - .try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?[..], - ); + buf.extend_from_slice(&borsh::to_vec(&self).map_err(|_| ProgramError::BorshIoError)?[..]); Ok(buf) } } @@ -156,7 +153,7 @@ mod test { } let prefixed_foo = DiscriminatorPrefixed::new(Foo { a: 1 }); - let serialized_prefixed_foo = prefixed_foo.try_to_vec().unwrap(); + let serialized_prefixed_foo = borsh::to_vec(&prefixed_foo).unwrap(); assert_eq!(serialized_prefixed_foo.len(), prefixed_foo.size()); assert_eq!( diff --git a/rust/sealevel/libraries/account-utils/src/lib.rs b/rust/sealevel/libraries/account-utils/src/lib.rs index 697075691ca..ca586cd7648 100644 --- a/rust/sealevel/libraries/account-utils/src/lib.rs +++ b/rust/sealevel/libraries/account-utils/src/lib.rs @@ -3,14 +3,21 @@ use solana_program::{ account_info::AccountInfo, program::{invoke, invoke_signed}, program_error::ProgramError, + pubkey, pubkey::Pubkey, rent::Rent, - system_instruction, system_program, +}; +use solana_system_interface::{ + instruction as system_instruction, program::id as system_program_id, }; pub mod discriminator; pub use discriminator::*; +/// The SPL Noop program ID. +/// Defined here to avoid pulling in `spl-noop` which depends on `solana-program ^2`. +pub const SPL_NOOP_PROGRAM_ID: Pubkey = pubkey!("noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV"); + /// Data that has a predictable size when serialized. pub trait SizedData { /// Returns the size of the data when serialized. @@ -81,13 +88,23 @@ where // Account data is zero initialized. let initialized = bool::deserialize(buf)?; let data = if initialized { - Some(T::deserialize(buf).map(Box::new)?) + Some(Self::deserialize_boxed(buf)?) } else { None }; Ok(data) } + /// Deserializes to a Box. This function is intentionally not inlined + /// so that the large stack frame for T is isolated and released after return. + /// This prevents stack overflow when used in CPI contexts. + #[inline(never)] + fn deserialize_boxed(buf: &mut &[u8]) -> Result, ProgramError> { + T::deserialize(buf) + .map(Box::new) + .map_err(|_| ProgramError::BorshIoError) + } + /// Deserializes the account data from the given slice and wraps it in an `AccountData`. pub fn fetch(buf: &mut &[u8]) -> Result { Ok(Self::from(Self::fetch_data(buf)?.unwrap_or_default())) @@ -118,10 +135,10 @@ where Err(err) => match err.kind() { std::io::ErrorKind::WriteZero => { if !allow_realloc { - return Err(ProgramError::BorshIoError(err.to_string())); + return Err(ProgramError::BorshIoError); } } - _ => return Err(ProgramError::BorshIoError(err.to_string())), + _ => return Err(ProgramError::BorshIoError), }, }; @@ -130,9 +147,9 @@ where #[allow(unexpected_cfgs)] // TODO: `rustc` 1.80.1 issue if cfg!(target_os = "solana") { - account.realloc(data_len + realloc_increment, false)?; + account.resize(data_len + realloc_increment)?; } else { - panic!("realloc() is only supported on the SVM"); + panic!("resize() is only supported on the SVM"); } } Ok(()) @@ -184,7 +201,7 @@ where } if account_data_len < required_account_data_len { - account_info.realloc(required_account_data_len, false)?; + account_info.resize(required_account_data_len)?; } self.store(account_info, false) @@ -262,7 +279,7 @@ pub fn verify_rent_exempt(account: &AccountInfo<'_>, rent: &Rent) -> Result<(), /// Returns Ok if the account data is empty and the owner is the system program. /// Returns Err otherwise. pub fn verify_account_uninitialized(account: &AccountInfo) -> Result<(), ProgramError> { - if account.data_is_empty() && account.owner == &system_program::id() { + if account.data_is_empty() && account.owner == &system_program_id() { return Ok(()); } Err(ProgramError::AccountAlreadyInitialized) diff --git a/rust/sealevel/libraries/ecdsa-signature/Cargo.toml b/rust/sealevel/libraries/ecdsa-signature/Cargo.toml index 11b25b0dac8..ac6fd617a59 100644 --- a/rust/sealevel/libraries/ecdsa-signature/Cargo.toml +++ b/rust/sealevel/libraries/ecdsa-signature/Cargo.toml @@ -11,7 +11,7 @@ thiserror.workspace = true hyperlane-core = { path = "../../../main/hyperlane-core" } # Required to allow dependencies `getrandom` but to preserve determinism required by programs, see -# https://github.com/solana-foundation/developer-content/blob/main/docs/programs/lang-rust.md#depending-on-rand +# https://solana.com/news/rust-to-solana getrandom = { workspace = true, features = ["custom"] } [lib] diff --git a/rust/sealevel/libraries/ecdsa-signature/src/lib.rs b/rust/sealevel/libraries/ecdsa-signature/src/lib.rs index feb7a5aa70b..5fceafa0e14 100644 --- a/rust/sealevel/libraries/ecdsa-signature/src/lib.rs +++ b/rust/sealevel/libraries/ecdsa-signature/src/lib.rs @@ -70,9 +70,8 @@ impl EcdsaSignature { let public_key = secp256k1_recover(hash, self.recovery_id, self.serialized_rs.as_slice())?; let public_key_hash = { - let mut hasher = keccak::Hasher::default(); - hasher.hash(&public_key.to_bytes()[..]); - &hasher.result().to_bytes()[12..] + let hash = keccak::hash(&public_key.to_bytes()[..]); + &hash.to_bytes()[12..] }; Ok(H160::from_slice(public_key_hash)) diff --git a/rust/sealevel/libraries/hyperlane-sealevel-connection-client/src/lib.rs b/rust/sealevel/libraries/hyperlane-sealevel-connection-client/src/lib.rs index a9ebf926756..e41672dcdee 100644 --- a/rust/sealevel/libraries/hyperlane-sealevel-connection-client/src/lib.rs +++ b/rust/sealevel/libraries/hyperlane-sealevel-connection-client/src/lib.rs @@ -1,5 +1,4 @@ use access_control::AccessControl; -use borsh::BorshSerialize; use hyperlane_sealevel_igp::accounts::InterchainGasPaymasterType; use solana_program::{ account_info::AccountInfo, program::set_return_data, program_error::ProgramError, @@ -20,8 +19,8 @@ pub trait HyperlaneConnectionClient { fn set_interchain_security_module_return_data(&self) { let ism: Option = self.interchain_security_module().cloned(); set_return_data( - &ism.try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string())) + &borsh::to_vec(&ism) + .map_err(|_| ProgramError::BorshIoError) .unwrap()[..], ); } diff --git a/rust/sealevel/libraries/hyperlane-sealevel-token/Cargo.toml b/rust/sealevel/libraries/hyperlane-sealevel-token/Cargo.toml index 46d9b45ef30..7f16a3ca431 100644 --- a/rust/sealevel/libraries/hyperlane-sealevel-token/Cargo.toml +++ b/rust/sealevel/libraries/hyperlane-sealevel-token/Cargo.toml @@ -10,6 +10,7 @@ borsh.workspace = true num-derive.workspace = true num-traits.workspace = true solana-program.workspace = true +solana-system-interface.workspace = true thiserror.workspace = true spl-associated-token-account.workspace = true spl-noop.workspace = true diff --git a/rust/sealevel/libraries/hyperlane-sealevel-token/src/accounts.rs b/rust/sealevel/libraries/hyperlane-sealevel-token/src/accounts.rs index 477d8374f03..8cc367909dc 100644 --- a/rust/sealevel/libraries/hyperlane-sealevel-token/src/accounts.rs +++ b/rust/sealevel/libraries/hyperlane-sealevel-token/src/accounts.rs @@ -344,7 +344,7 @@ mod test { remote_routers: HashMap::from([(1000, H256::random()), (200, H256::random())]), plugin_data: Foo { bar: 69 }, }; - let serialized = hyperlane_token_foo.try_to_vec().unwrap(); + let serialized = borsh::to_vec(&hyperlane_token_foo).unwrap(); assert_eq!(serialized.len(), hyperlane_token_foo.size()); } diff --git a/rust/sealevel/libraries/hyperlane-sealevel-token/src/instruction.rs b/rust/sealevel/libraries/hyperlane-sealevel-token/src/instruction.rs index 2193ea355da..9ed9e555231 100644 --- a/rust/sealevel/libraries/hyperlane-sealevel-token/src/instruction.rs +++ b/rust/sealevel/libraries/hyperlane-sealevel-token/src/instruction.rs @@ -12,6 +12,7 @@ use solana_program::{ program_error::ProgramError, pubkey::Pubkey, }; +use solana_system_interface::program as system_program; use hyperlane_sealevel_mailbox::mailbox_message_dispatch_authority_pda_seeds; @@ -95,7 +96,7 @@ pub fn init_instruction( // 3. `[signer]` The payer and access control owner. // 4..N `[??..??]` Plugin-specific accounts. let accounts = vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(token_key, false), AccountMeta::new(dispatch_authority_key, false), AccountMeta::new(payer, true), @@ -127,7 +128,7 @@ pub fn enroll_remote_routers_instruction( // 1. `[writeable]` The token PDA account. // 2. `[signer]` The owner. let accounts = vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(token_key, false), AccountMeta::new(owner_payer, true), ]; @@ -158,7 +159,7 @@ pub fn set_destination_gas_configs( // 1. `[writeable]` The token PDA account. // 2. `[signer]` The owner. let accounts = vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(token_key, false), AccountMeta::new(owner_payer, true), ]; diff --git a/rust/sealevel/libraries/hyperlane-sealevel-token/src/processor.rs b/rust/sealevel/libraries/hyperlane-sealevel-token/src/processor.rs index 09e19d9339c..b8c1ad989be 100644 --- a/rust/sealevel/libraries/hyperlane-sealevel-token/src/processor.rs +++ b/rust/sealevel/libraries/hyperlane-sealevel-token/src/processor.rs @@ -30,6 +30,7 @@ use solana_program::{ rent::Rent, sysvar::Sysvar, }; +use solana_system_interface::program as system_program; use std::collections::HashMap; use crate::{ @@ -138,16 +139,16 @@ where /// Initializes the program. /// /// Accounts: - /// 0. `[executable]` The system program. - /// 1. `[writable]` The token PDA account. - /// 2. `[writable]` The dispatch authority PDA account. - /// 3. `[signer]` The payer and access control owner. - /// 4..N `[??..??]` Plugin-specific accounts. + /// - 0: `[executable]` The system program. + /// - 1: `[writable]` The token PDA account. + /// - 2: `[writable]` The dispatch authority PDA account. + /// - 3: `[signer]` The payer and access control owner. + /// - 4..N: `[??..??]` Plugin-specific accounts. pub fn initialize(program_id: &Pubkey, accounts: &[AccountInfo], init: Init) -> ProgramResult { let accounts_iter = &mut accounts.iter(); // Account 0: System program - let system_program_id = solana_program::system_program::id(); + let system_program_id = system_program::ID; let system_program = next_account_info(accounts_iter)?; if system_program.key != &system_program_id { return Err(ProgramError::IncorrectProgramId); @@ -255,23 +256,23 @@ where /// then dispatches a message to the remote recipient. /// /// Accounts: - /// 0. `[executable]` The system program. - /// 1. `[executable]` The spl_noop program. - /// 2. `[]` The token PDA account. - /// 3. `[executable]` The mailbox program. - /// 4. `[writeable]` The mailbox outbox account. - /// 5. `[]` Message dispatch authority. - /// 6. `[signer]` The token sender and mailbox payer. - /// 7. `[signer]` Unique message / gas payment account. - /// 8. `[writeable]` Message storage PDA. - /// ---- If using an IGP ---- - /// 9. `[executable]` The IGP program. - /// 10. `[writeable]` The IGP program data. - /// 11. `[writeable]` Gas payment PDA. - /// 12. `[]` OPTIONAL - The Overhead IGP program, if the configured IGP is an Overhead IGP. - /// 13. `[writeable]` The IGP account. - /// ---- End if ---- - /// 14..N `[??..??]` Plugin-specific accounts. + /// - 0: `[executable]` The system program. + /// - 1: `[executable]` The spl_noop program. + /// - 2: `[]` The token PDA account. + /// - 3: `[executable]` The mailbox program. + /// - 4: `[writeable]` The mailbox outbox account. + /// - 5: `[]` Message dispatch authority. + /// - 6: `[signer]` The token sender and mailbox payer. + /// - 7: `[signer]` Unique message / gas payment account. + /// - 8: `[writeable]` Message storage PDA. + /// ---- If using an IGP ---- + /// - 9: `[executable]` The IGP program. + /// - 10: `[writeable]` The IGP program data. + /// - 11: `[writeable]` Gas payment PDA. + /// - 12: `[]` OPTIONAL - The Overhead IGP program, if the configured IGP is an Overhead IGP. + /// - 13: `[writeable]` The IGP account. + /// ---- End if ---- + /// - 14..N: `[??..??]` Plugin-specific accounts. pub fn transfer_remote( program_id: &Pubkey, accounts: &[AccountInfo], @@ -281,13 +282,13 @@ where // Account 0: System program. let system_program_account = next_account_info(accounts_iter)?; - if system_program_account.key != &solana_program::system_program::id() { + if system_program_account.key != &system_program::ID { return Err(ProgramError::InvalidArgument); } // Account 1: SPL Noop. let spl_noop = next_account_info(accounts_iter)?; - if spl_noop.key != &spl_noop::id() { + if spl_noop.key != &account_utils::SPL_NOOP_PROGRAM_ID { return Err(ProgramError::InvalidArgument); } @@ -371,7 +372,7 @@ where // 6. `[]` Overhead IGP account (optional). let mut igp_payment_account_metas = vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(*sender_wallet.key, true), AccountMeta::new(*igp_program_data_account.key, false), AccountMeta::new_readonly(*unique_message_account.key, true), @@ -435,8 +436,8 @@ where let dispatch_account_metas = vec![ AccountMeta::new(*mailbox_outbox_account.key, false), AccountMeta::new_readonly(*dispatch_authority_account.key, true), - AccountMeta::new_readonly(solana_program::system_program::id(), false), - AccountMeta::new_readonly(spl_noop::id(), false), + AccountMeta::new_readonly(system_program::ID, false), + AccountMeta::new_readonly(account_utils::SPL_NOOP_PROGRAM_ID, false), AccountMeta::new(*sender_wallet.key, true), AccountMeta::new_readonly(*unique_message_account.key, true), AccountMeta::new(*dispatched_message_pda.key, false), @@ -491,11 +492,11 @@ where } /// Accounts: - /// 0. `[signer]` Mailbox processor authority specific to this program. - /// 1. `[executable]` system_program - /// 2. `[]` hyperlane_token storage - /// 3. [depends on plugin] recipient wallet address - /// 4..N `[??..??]` Plugin-specific accounts. + /// - 0: `[signer]` Mailbox processor authority specific to this program. + /// - 1: `[executable]` system_program + /// - 2: `[]` hyperlane_token storage + /// - 3: `[depends on plugin]` recipient wallet address + /// - 4..N: `[??..??]` Plugin-specific accounts. pub fn transfer_from_remote( program_id: &Pubkey, accounts: &[AccountInfo], @@ -513,7 +514,7 @@ where // Account 1: System program let system_program = next_account_info(accounts_iter)?; - if system_program.key != &solana_program::system_program::id() { + if system_program.key != &system_program::ID { return Err(ProgramError::InvalidArgument); } @@ -595,7 +596,7 @@ where T::transfer_out_account_metas(program_id, &token, &message)?; let mut accounts: Vec = vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false).into(), + AccountMeta::new_readonly(system_program::ID, false).into(), AccountMeta::new_readonly(*token_account_info.key, false).into(), AccountMeta { pubkey: Pubkey::new_from_array(message.recipient().into()), @@ -610,9 +611,8 @@ where // may end with zero byte(s), which are incorrectly truncated as // simulated transaction return data. // See `SimulationReturnData` for details. - let bytes = SimulationReturnData::new(accounts) - .try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?; + let bytes = borsh::to_vec(&SimulationReturnData::new(accounts)) + .map_err(|_| ProgramError::BorshIoError)?; set_return_data(&bytes[..]); Ok(()) @@ -633,7 +633,7 @@ where // Account 0: System program. Only used if a realloc / rent exemption top up occurs. let system_program = next_account_info(accounts_iter)?; - if system_program.key != &solana_program::system_program::id() { + if system_program.key != &system_program::ID { return Err(ProgramError::InvalidArgument); } @@ -682,7 +682,7 @@ where // Account 0: System program. Only used if a realloc / rent exemption top up occurs. let system_program = next_account_info(accounts_iter)?; - if system_program.key != &solana_program::system_program::id() { + if system_program.key != &system_program::ID { return Err(ProgramError::InvalidArgument); } @@ -781,9 +781,8 @@ where // may end with zero byte(s), which are incorrectly truncated as // simulated transaction return data. // See `SimulationReturnData` for details. - let bytes = SimulationReturnData::new(account_metas) - .try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?; + let bytes = borsh::to_vec(&SimulationReturnData::new(account_metas)) + .map_err(|_| ProgramError::BorshIoError)?; set_return_data(&bytes[..]); Ok(()) @@ -832,7 +831,7 @@ where // Account 0: System program. Only used if a realloc / rent exemption top up occurs. let system_program = next_account_info(accounts_iter)?; - if system_program.key != &solana_program::system_program::id() { + if system_program.key != &system_program::ID { return Err(ProgramError::InvalidArgument); } diff --git a/rust/sealevel/libraries/interchain-security-module-interface/Cargo.toml b/rust/sealevel/libraries/interchain-security-module-interface/Cargo.toml index 350cf2e4c41..936efbeeaf3 100644 --- a/rust/sealevel/libraries/interchain-security-module-interface/Cargo.toml +++ b/rust/sealevel/libraries/interchain-security-module-interface/Cargo.toml @@ -8,6 +8,7 @@ edition = "2021" [dependencies] borsh.workspace = true solana-program.workspace = true +spl-discriminator.workspace = true spl-type-length-value.workspace = true [lib] diff --git a/rust/sealevel/libraries/interchain-security-module-interface/src/lib.rs b/rust/sealevel/libraries/interchain-security-module-interface/src/lib.rs index 7f297f15a85..ef746502e30 100644 --- a/rust/sealevel/libraries/interchain-security-module-interface/src/lib.rs +++ b/rust/sealevel/libraries/interchain-security-module-interface/src/lib.rs @@ -1,6 +1,6 @@ use borsh::{BorshDeserialize, BorshSerialize}; use solana_program::program_error::ProgramError; -use spl_type_length_value::discriminator::Discriminator; +use spl_discriminator::ArrayDiscriminator as Discriminator; /// Instructions that a Hyperlane interchain security module is expected to process. /// The first 8 bytes of the encoded instruction is a discriminator that @@ -57,17 +57,13 @@ impl InterchainSecurityModuleInstruction { InterchainSecurityModuleInstruction::Verify(instruction) => { buf.extend_from_slice(VERIFY_DISCRIMINATOR_SLICE); buf.extend_from_slice( - &instruction - .try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?[..], + &borsh::to_vec(&instruction).map_err(|_| ProgramError::BorshIoError)?[..], ); } InterchainSecurityModuleInstruction::VerifyAccountMetas(instruction) => { buf.extend_from_slice(VERIFY_ACCOUNT_METAS_DISCRIMINATOR_SLICE); buf.extend_from_slice( - &instruction - .try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?[..], + &borsh::to_vec(&instruction).map_err(|_| ProgramError::BorshIoError)?[..], ); } } @@ -84,12 +80,12 @@ impl InterchainSecurityModuleInstruction { TYPE_DISCRIMINATOR_SLICE => Ok(Self::Type), VERIFY_DISCRIMINATOR_SLICE => { let instruction = VerifyInstruction::try_from_slice(rest) - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?; + .map_err(|_| ProgramError::BorshIoError)?; Ok(Self::Verify(instruction)) } VERIFY_ACCOUNT_METAS_DISCRIMINATOR_SLICE => { let instruction = VerifyInstruction::try_from_slice(rest) - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?; + .map_err(|_| ProgramError::BorshIoError)?; Ok(Self::VerifyAccountMetas(instruction)) } _ => Err(ProgramError::InvalidInstructionData), diff --git a/rust/sealevel/libraries/message-recipient-interface/Cargo.toml b/rust/sealevel/libraries/message-recipient-interface/Cargo.toml index 7f9468cb820..8a60e892667 100644 --- a/rust/sealevel/libraries/message-recipient-interface/Cargo.toml +++ b/rust/sealevel/libraries/message-recipient-interface/Cargo.toml @@ -8,11 +8,12 @@ edition = "2021" [dependencies] borsh.workspace = true solana-program.workspace = true +spl-discriminator.workspace = true spl-type-length-value.workspace = true hyperlane-core = { path = "../../../main/hyperlane-core" } # Required to allow dependencies `getrandom` but to preserve determinism required by programs, see -# https://github.com/solana-foundation/developer-content/blob/main/docs/programs/lang-rust.md#depending-on-rand +# https://solana.com/news/rust-to-solana getrandom = { workspace = true, features = ["custom"] } [lib] diff --git a/rust/sealevel/libraries/message-recipient-interface/src/lib.rs b/rust/sealevel/libraries/message-recipient-interface/src/lib.rs index f1fba4f7f1d..881a47da720 100644 --- a/rust/sealevel/libraries/message-recipient-interface/src/lib.rs +++ b/rust/sealevel/libraries/message-recipient-interface/src/lib.rs @@ -1,7 +1,7 @@ use borsh::{BorshDeserialize, BorshSerialize}; use hyperlane_core::H256; use solana_program::program_error::ProgramError; -use spl_type_length_value::discriminator::Discriminator; +use spl_discriminator::ArrayDiscriminator as Discriminator; /// Instructions that a Hyperlane message recipient is expected to process. /// The first 8 bytes of the encoded instruction is a discriminator that @@ -97,17 +97,13 @@ impl MessageRecipientInstruction { MessageRecipientInstruction::Handle(instruction) => { buf.extend_from_slice(HANDLE_DISCRIMINATOR_SLICE); buf.extend_from_slice( - &instruction - .try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?[..], + &borsh::to_vec(&instruction).map_err(|_| ProgramError::BorshIoError)?[..], ); } MessageRecipientInstruction::HandleAccountMetas(instruction) => { buf.extend_from_slice(HANDLE_ACCOUNT_METAS_DISCRIMINATOR_SLICE); buf.extend_from_slice( - &instruction - .try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?[..], + &borsh::to_vec(&instruction).map_err(|_| ProgramError::BorshIoError)?[..], ); } } @@ -127,12 +123,12 @@ impl MessageRecipientInstruction { } HANDLE_DISCRIMINATOR_SLICE => { let instruction = HandleInstruction::try_from_slice(rest) - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?; + .map_err(|_| ProgramError::BorshIoError)?; Ok(Self::Handle(instruction)) } HANDLE_ACCOUNT_METAS_DISCRIMINATOR_SLICE => { let instruction = HandleInstruction::try_from_slice(rest) - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?; + .map_err(|_| ProgramError::BorshIoError)?; Ok(Self::HandleAccountMetas(instruction)) } _ => Err(ProgramError::InvalidInstructionData), diff --git a/rust/sealevel/libraries/multisig-ism/Cargo.toml b/rust/sealevel/libraries/multisig-ism/Cargo.toml index 963db7a31ae..58827042753 100644 --- a/rust/sealevel/libraries/multisig-ism/Cargo.toml +++ b/rust/sealevel/libraries/multisig-ism/Cargo.toml @@ -12,7 +12,7 @@ test-data = ["dep:hex"] borsh.workspace = true hex = { workspace = true, optional = true } solana-program.workspace = true -spl-type-length-value.workspace = true +spl-discriminator.workspace = true thiserror.workspace = true hyperlane-core = { path = "../../../main/hyperlane-core" } diff --git a/rust/sealevel/libraries/multisig-ism/src/interface.rs b/rust/sealevel/libraries/multisig-ism/src/interface.rs index 0584221a3d3..4b95dd0aebe 100644 --- a/rust/sealevel/libraries/multisig-ism/src/interface.rs +++ b/rust/sealevel/libraries/multisig-ism/src/interface.rs @@ -1,5 +1,5 @@ use solana_program::program_error::ProgramError; -use spl_type_length_value::discriminator::Discriminator; +use spl_discriminator::ArrayDiscriminator as Discriminator; /// Instructions that a Hyperlane Multisig ISM is expected to process. /// The first 8 bytes of the encoded instruction is a discriminator that diff --git a/rust/sealevel/libraries/test-utils/Cargo.toml b/rust/sealevel/libraries/test-utils/Cargo.toml index 4197771e7f9..4002215c48b 100644 --- a/rust/sealevel/libraries/test-utils/Cargo.toml +++ b/rust/sealevel/libraries/test-utils/Cargo.toml @@ -6,10 +6,12 @@ version = "0.1.0" edition = "2021" [dependencies] +account-utils = { path = "../account-utils" } borsh.workspace = true solana-program-test.workspace = true solana-program.workspace = true solana-sdk.workspace = true +solana-system-interface.workspace = true spl-noop.workspace = true spl-token-2022.workspace = true diff --git a/rust/sealevel/libraries/test-utils/src/igp.rs b/rust/sealevel/libraries/test-utils/src/igp.rs index 3ff20da1b37..2c428287909 100644 --- a/rust/sealevel/libraries/test-utils/src/igp.rs +++ b/rust/sealevel/libraries/test-utils/src/igp.rs @@ -3,10 +3,10 @@ use solana_program::{ instruction::{AccountMeta, Instruction}, pubkey, pubkey::Pubkey, - system_program, }; use solana_program_test::*; use solana_sdk::{signature::Signer, signer::keypair::Keypair}; +use solana_system_interface::program as system_program; use hyperlane_sealevel_igp::{ accounts::{GasOracle, RemoteGasData, SOL_DECIMALS, TOKEN_EXCHANGE_RATE_SCALE}, diff --git a/rust/sealevel/libraries/test-utils/src/lib.rs b/rust/sealevel/libraries/test-utils/src/lib.rs index 6abbbf12049..aa901c820d6 100644 --- a/rust/sealevel/libraries/test-utils/src/lib.rs +++ b/rust/sealevel/libraries/test-utils/src/lib.rs @@ -4,7 +4,6 @@ use solana_program::{ instruction::{AccountMeta, Instruction}, pubkey, pubkey::Pubkey, - system_program, }; use solana_program_test::*; use solana_sdk::{ @@ -14,6 +13,7 @@ use solana_sdk::{ signers::Signers, transaction::{Transaction, TransactionError}, }; +use solana_system_interface::{instruction as system_instruction, program as system_program}; use spl_token_2022::{extension::StateWithExtensions, state::Account}; @@ -76,7 +76,7 @@ pub async fn initialize_mailbox( program_id: *mailbox_program_id, data: ixn.into_instruction_data().unwrap(), accounts: vec![ - AccountMeta::new(system_program::id(), false), + AccountMeta::new(system_program::ID, false), AccountMeta::new(payer.pubkey(), true), AccountMeta::new(inbox_account, false), AccountMeta::new(outbox_account, false), @@ -102,7 +102,7 @@ async fn initialize_test_ism( banks_client: &mut BanksClient, payer: &Keypair, ) -> Result<(), BanksClientError> { - let mut test_ism = TestIsmTestClient::new(banks_client.clone(), clone_keypair(payer)); + let mut test_ism = TestIsmTestClient::new(banks_client.clone(), payer.insecure_clone()); test_ism.init().await?; Ok(()) @@ -402,14 +402,14 @@ pub async fn get_process_account_metas( // Craft the accounts for the transaction. let mut accounts: Vec = vec![ AccountMeta::new_readonly(payer.pubkey(), true), - AccountMeta::new_readonly(system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(mailbox_accounts.inbox, false), AccountMeta::new_readonly(process_authority_key, false), AccountMeta::new(processed_message_account_key, false), ]; accounts.extend(ism_getter_account_metas); accounts.extend([ - AccountMeta::new_readonly(spl_noop::id(), false), + AccountMeta::new_readonly(account_utils::SPL_NOOP_PROGRAM_ID, false), AccountMeta::new_readonly(ism, false), ]); @@ -474,7 +474,7 @@ pub async fn transfer_lamports( ) { process_instruction( banks_client, - solana_sdk::system_instruction::transfer(&payer.pubkey(), to, lamports), + system_instruction::transfer(&payer.pubkey(), to, lamports), payer, &[payer], ) @@ -494,12 +494,6 @@ pub fn assert_transaction_error( } } -// Hack to get around the absence of a Clone implementation in solana-sdk 1.14.13. -pub fn clone_keypair(keypair: &Keypair) -> Keypair { - let serialized = keypair.to_bytes(); - Keypair::from_bytes(&serialized).unwrap() -} - pub async fn process_instruction( banks_client: &mut BanksClient, instruction: Instruction, diff --git a/rust/sealevel/programs/build-programs.sh b/rust/sealevel/programs/build-programs.sh index 32c94641402..d347f8798f1 100755 --- a/rust/sealevel/programs/build-programs.sh +++ b/rust/sealevel/programs/build-programs.sh @@ -9,7 +9,7 @@ # The first argument is the type of program to build PROGRAM_TYPE="${1:-all}" -SOLANA_CLI_VERSION_FOR_BUILDING_PROGRAMS="1.14.20" +SOLANA_CLI_VERSION_FOR_BUILDING_PROGRAMS="3.0.14" # The paths to the programs CORE_PROGRAM_PATHS=("mailbox" "ism/multisig-ism-message-id" "validator-announce" "hyperlane-sealevel-igp") @@ -61,11 +61,18 @@ get_current_solana_cli_version () { set_solana_cli_version () { NEW_VERSION=$1 - - if [ $NEW_VERSION == $SOLANA_CLI_VERSION_FOR_BUILDING_PROGRAMS ]; then - ./install-solana-1.14.20.sh + MAJOR_VERSION=$(echo $NEW_VERSION | cut -d. -f1) + + if [ "$MAJOR_VERSION" -ge 2 ] 2>/dev/null; then + # Agave CLI v2+: use agave-install if available, otherwise curl install + if command -v agave-install &> /dev/null; then + agave-install init $NEW_VERSION + else + sh -c "$(curl -sSfL https://release.anza.xyz/v$NEW_VERSION/install)" + fi else - sh -c "$(curl -sSfL https://release.anza.xyz/v$NEW_VERSION/install)" + # Pre-Agave (v1.x): use Solana Labs release + sh -c "$(curl -sSfL https://release.solana.com/v$NEW_VERSION/install)" fi } diff --git a/rust/sealevel/programs/helloworld/Cargo.toml b/rust/sealevel/programs/helloworld/Cargo.toml index 7aa1fd699a6..9533dbf46a2 100644 --- a/rust/sealevel/programs/helloworld/Cargo.toml +++ b/rust/sealevel/programs/helloworld/Cargo.toml @@ -19,6 +19,7 @@ borsh.workspace = true solana-program-test = { workspace = true, optional = true } solana-program.workspace = true solana-sdk = { workspace = true, optional = true } +solana-system-interface.workspace = true spl-noop = { workspace = true, optional = true } access-control = { path = "../../libraries/access-control" } diff --git a/rust/sealevel/programs/helloworld/src/instruction.rs b/rust/sealevel/programs/helloworld/src/instruction.rs index 4b3bbb6596c..c5525925b12 100644 --- a/rust/sealevel/programs/helloworld/src/instruction.rs +++ b/rust/sealevel/programs/helloworld/src/instruction.rs @@ -8,6 +8,7 @@ use solana_program::{ program_error::ProgramError, pubkey::Pubkey, }; +use solana_system_interface::program as system_program; use crate::program_storage_pda_seeds; @@ -75,14 +76,14 @@ pub fn init_instruction( // 1. `[signer]` Payer. // 2. `[writeable]` Storage PDA. let accounts = vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new_readonly(payer, true), AccountMeta::new(program_storage_account, false), ]; let instruction = Instruction { program_id, - data: HelloWorldInstruction::Init(init).try_to_vec()?, + data: borsh::to_vec(&HelloWorldInstruction::Init(init))?, accounts, }; @@ -104,14 +105,14 @@ pub fn enroll_remote_routers_instruction( // 1. `[signer]` Payer. // 2. `[writeable]` Storage PDA. let accounts = vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(program_storage_account, false), AccountMeta::new(owner, true), ]; let instruction = Instruction { program_id, - data: HelloWorldInstruction::EnrollRemoteRouters(configs).try_to_vec()?, + data: borsh::to_vec(&HelloWorldInstruction::EnrollRemoteRouters(configs))?, accounts, }; @@ -138,7 +139,7 @@ pub fn set_interchain_security_module_instruction( let instruction = Instruction { program_id, - data: HelloWorldInstruction::SetInterchainSecurityModule(ism).try_to_vec()?, + data: borsh::to_vec(&HelloWorldInstruction::SetInterchainSecurityModule(ism))?, accounts, }; diff --git a/rust/sealevel/programs/helloworld/src/processor.rs b/rust/sealevel/programs/helloworld/src/processor.rs index 48ca4119fb4..b6fbf2c3441 100644 --- a/rust/sealevel/programs/helloworld/src/processor.rs +++ b/rust/sealevel/programs/helloworld/src/processor.rs @@ -2,7 +2,7 @@ use access_control::AccessControl; use account_utils::{create_pda_account, SizedData}; -use borsh::{BorshDeserialize, BorshSerialize}; +use borsh::BorshDeserialize; use hyperlane_sealevel_connection_client::{ router::{HyperlaneRouterAccessControl, HyperlaneRouterDispatch, RemoteRouterConfig}, @@ -25,9 +25,9 @@ use solana_program::{ program_error::ProgramError, pubkey::Pubkey, rent::Rent, - system_program, sysvar::Sysvar, }; +use solana_system_interface::program as system_program; use crate::{ accounts::{HelloWorldStorage, HelloWorldStorageAccount}, @@ -111,7 +111,7 @@ fn init(program_id: &Pubkey, accounts: &[AccountInfo], init: Init) -> ProgramRes // Account 0: System program. let system_program_info = next_account_info(accounts_iter)?; - if system_program_info.key != &system_program::id() { + if system_program_info.key != &system_program::ID { return Err(ProgramError::InvalidArgument); } @@ -270,7 +270,7 @@ fn send_hello_world( // 6. `[]` Overhead IGP account (optional). let mut igp_payment_account_metas = vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(*payer_info.key, true), AccountMeta::new(*igp_program_data_account_info.key, false), AccountMeta::new_readonly(*unique_message_account_info.key, true), @@ -459,12 +459,7 @@ fn get_interchain_security_module(program_id: &Pubkey, accounts: &[AccountInfo]) let storage = HelloWorldStorageAccount::fetch(&mut &storage_info.data.borrow()[..])?.into_inner(); - set_return_data( - &storage - .ism - .try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?[..], - ); + set_return_data(&borsh::to_vec(&storage.ism).map_err(|_| ProgramError::BorshIoError)?[..]); Ok(()) } @@ -480,9 +475,8 @@ fn set_account_meta_return_data(program_id: &Pubkey) -> ProgramResult { // may end with zero byte(s), which are incorrectly truncated as // simulated transaction return data. // See `SimulationReturnData` for details. - let bytes = SimulationReturnData::new(account_metas) - .try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?; + let bytes = borsh::to_vec(&SimulationReturnData::new(account_metas)) + .map_err(|_| ProgramError::BorshIoError)?; set_return_data(&bytes[..]); Ok(()) @@ -503,7 +497,7 @@ fn enroll_remote_routers( // Account 0: System program. let system_program_info = next_account_info(accounts_iter)?; - if system_program_info.key != &system_program::id() { + if system_program_info.key != &system_program::ID { return Err(ProgramError::InvalidArgument); } diff --git a/rust/sealevel/programs/hyperlane-sealevel-igp-test/Cargo.toml b/rust/sealevel/programs/hyperlane-sealevel-igp-test/Cargo.toml index b636c26922c..74540a1ee39 100644 --- a/rust/sealevel/programs/hyperlane-sealevel-igp-test/Cargo.toml +++ b/rust/sealevel/programs/hyperlane-sealevel-igp-test/Cargo.toml @@ -16,4 +16,5 @@ hyperlane-sealevel-igp = { path = "../hyperlane-sealevel-igp" } solana-program-test.workspace = true solana-sdk.workspace = true +solana-system-interface.workspace = true hyperlane-test-utils = { path = "../../libraries/test-utils" } diff --git a/rust/sealevel/programs/hyperlane-sealevel-igp-test/src/functional.rs b/rust/sealevel/programs/hyperlane-sealevel-igp-test/src/functional.rs index a7820019ac1..6b2928fbdc1 100644 --- a/rust/sealevel/programs/hyperlane-sealevel-igp-test/src/functional.rs +++ b/rust/sealevel/programs/hyperlane-sealevel-igp-test/src/functional.rs @@ -5,7 +5,6 @@ use std::collections::HashMap; use solana_program::{ instruction::{AccountMeta, Instruction}, pubkey::Pubkey, - system_program, sysvar::rent::Rent, }; use solana_program_test::*; @@ -13,6 +12,7 @@ use solana_sdk::{ instruction::InstructionError, signature::Signature, signature::Signer, signer::keypair::Keypair, transaction::TransactionError, }; +use solana_system_interface::program as system_program; use hyperlane_test_utils::{ assert_transaction_error, igp_program_id, new_funded_keypair, process_instruction, diff --git a/rust/sealevel/programs/hyperlane-sealevel-igp/Cargo.toml b/rust/sealevel/programs/hyperlane-sealevel-igp/Cargo.toml index f02e1865f89..2683c189f3a 100644 --- a/rust/sealevel/programs/hyperlane-sealevel-igp/Cargo.toml +++ b/rust/sealevel/programs/hyperlane-sealevel-igp/Cargo.toml @@ -18,11 +18,12 @@ account-utils = { path = "../../libraries/account-utils" } serializable-account-meta = { path = "../../libraries/serializable-account-meta" } borsh.workspace = true solana-program.workspace = true +solana-system-interface.workspace = true num-derive.workspace = true num-traits.workspace = true thiserror.workspace = true # Required to allow dependencies `getrandom` but to preserve determinism required by programs, see -# https://github.com/solana-foundation/developer-content/blob/main/docs/programs/lang-rust.md#depending-on-rand +# https://solana.com/news/rust-to-solana getrandom = { workspace = true, features = ["custom"] } serde = { workspace = true, optional = true } diff --git a/rust/sealevel/programs/hyperlane-sealevel-igp/src/instruction.rs b/rust/sealevel/programs/hyperlane-sealevel-igp/src/instruction.rs index 3dd26948d86..da003337b88 100644 --- a/rust/sealevel/programs/hyperlane-sealevel-igp/src/instruction.rs +++ b/rust/sealevel/programs/hyperlane-sealevel-igp/src/instruction.rs @@ -8,6 +8,7 @@ use solana_program::{ program_error::ProgramError, pubkey::Pubkey, }; +use solana_system_interface::program as system_program; use crate::{ accounts::{GasOracle, InterchainGasPaymasterType}, @@ -49,8 +50,7 @@ impl Instruction { /// Serializes an instruction into a vector of bytes. pub fn into_instruction_data(self) -> Result, ProgramError> { - self.try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string())) + borsh::to_vec(&self).map_err(|_| ProgramError::BorshIoError) } } @@ -134,14 +134,14 @@ pub fn init_instruction( // 1. `[signer]` The payer account. // 2. `[writeable]` The program data PDA account. let accounts = vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new_readonly(payer, true), AccountMeta::new(program_data_account, false), ]; let instruction = SolanaInstruction { program_id, - data: ixn.try_to_vec()?, + data: borsh::to_vec(&ixn)?, accounts, }; @@ -171,14 +171,14 @@ pub fn init_igp_instruction( // 1. `[signer]` The payer account. // 2. `[writeable]` The IGP account to initialize. let accounts = vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new_readonly(payer, true), AccountMeta::new(igp_account, false), ]; let instruction = SolanaInstruction { program_id, - data: ixn.try_to_vec()?, + data: borsh::to_vec(&ixn)?, accounts, }; @@ -204,14 +204,14 @@ pub fn init_overhead_igp_instruction( // 1. `[signer]` The payer account. // 2. `[writeable]` The IGP account to initialize. let accounts = vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new_readonly(payer, true), AccountMeta::new(igp_account, false), ]; let instruction = SolanaInstruction { program_id, - data: ixn.try_to_vec()?, + data: borsh::to_vec(&ixn)?, accounts, }; @@ -232,14 +232,14 @@ pub fn set_destination_gas_overheads( // 1. `[writeable]` The IGP. // 2. `[signer]` The IGP owner. let accounts = vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(overhead_igp, false), AccountMeta::new(owner, true), ]; let instruction = SolanaInstruction { program_id, - data: ixn.try_to_vec()?, + data: borsh::to_vec(&ixn)?, accounts, }; @@ -260,14 +260,14 @@ pub fn set_gas_oracle_configs_instruction( // 1. `[writeable]` The IGP. // 2. `[signer]` The IGP owner. let accounts = vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(igp, false), AccountMeta::new(owner, true), ]; let instruction = SolanaInstruction { program_id, - data: ixn.try_to_vec()?, + data: borsh::to_vec(&ixn)?, accounts, }; @@ -310,7 +310,7 @@ pub fn pay_for_gas_instruction( // 5. `[writeable]` The IGP account. // 6. `[]` Overhead IGP account (optional). let mut accounts = vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(payer, true), AccountMeta::new(program_data_account, false), AccountMeta::new_readonly(unique_gas_payment_account_pubkey, true), @@ -323,7 +323,7 @@ pub fn pay_for_gas_instruction( let instruction = SolanaInstruction { program_id, - data: ixn.try_to_vec()?, + data: borsh::to_vec(&ixn)?, accounts, }; @@ -352,7 +352,7 @@ pub fn transfer_igp_account_ownership_instruction( // 1. `[signer]` The owner of the IGP account. let instruction = SolanaInstruction { program_id, - data: instruction.try_to_vec()?, + data: borsh::to_vec(&instruction)?, accounts: vec![ AccountMeta::new(igp_account, false), AccountMeta::new(owner_payer, true), @@ -374,14 +374,14 @@ pub fn claim_instruction( // 1. `[writeable]` The IGP. // 2. `[writeable]` The IGP beneficiary. let accounts = vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(igp, false), AccountMeta::new(beneficiary, false), ]; let instruction = SolanaInstruction { program_id, - data: ixn.try_to_vec()?, + data: borsh::to_vec(&ixn)?, accounts, }; @@ -407,7 +407,7 @@ pub fn set_beneficiary_instruction( let instruction = SolanaInstruction { program_id, - data: ixn.try_to_vec()?, + data: borsh::to_vec(&ixn)?, accounts, }; diff --git a/rust/sealevel/programs/hyperlane-sealevel-igp/src/lib.rs b/rust/sealevel/programs/hyperlane-sealevel-igp/src/lib.rs index 4589dabfabc..779f02948fc 100644 --- a/rust/sealevel/programs/hyperlane-sealevel-igp/src/lib.rs +++ b/rust/sealevel/programs/hyperlane-sealevel-igp/src/lib.rs @@ -1,5 +1,6 @@ //! Program to pay for gas fees for messages sent to remote chains. +#![allow(unexpected_cfgs)] #![deny(warnings)] #![deny(missing_docs)] #![deny(unsafe_code)] diff --git a/rust/sealevel/programs/hyperlane-sealevel-igp/src/processor.rs b/rust/sealevel/programs/hyperlane-sealevel-igp/src/processor.rs index 35546264d47..dacf532733c 100644 --- a/rust/sealevel/programs/hyperlane-sealevel-igp/src/processor.rs +++ b/rust/sealevel/programs/hyperlane-sealevel-igp/src/processor.rs @@ -1,6 +1,6 @@ //! Program state processor. -use borsh::{BorshDeserialize, BorshSerialize}; +use borsh::BorshDeserialize; use std::collections::HashMap; #[cfg(not(feature = "no-entrypoint"))] @@ -14,9 +14,9 @@ use solana_program::{ program_error::ProgramError, pubkey::Pubkey, rent::Rent, - system_instruction, sysvar::Sysvar, }; +use solana_system_interface::{instruction as system_instruction, program as system_program}; use access_control::AccessControl; use account_utils::{ @@ -97,7 +97,7 @@ fn init(program_id: &Pubkey, accounts: &[AccountInfo]) -> ProgramResult { // Account 0: The system program. let system_program_info = next_account_info(accounts_iter)?; - if *system_program_info.key != solana_program::system_program::id() { + if *system_program_info.key != system_program::ID { return Err(ProgramError::IncorrectProgramId); } @@ -215,7 +215,7 @@ fn init_igp_variant( // Account 0: The system program. let system_program_info = next_account_info(accounts_iter)?; - if *system_program_info.key != solana_program::system_program::id() { + if *system_program_info.key != system_program::ID { return Err(ProgramError::IncorrectProgramId); } @@ -270,7 +270,7 @@ fn pay_for_gas(program_id: &Pubkey, accounts: &[AccountInfo], payment: PayForGas // Account 0: The system program. let system_program_info = next_account_info(accounts_iter)?; - if *system_program_info.key != solana_program::system_program::id() { + if *system_program_info.key != system_program::ID { return Err(ProgramError::IncorrectProgramId); } @@ -419,7 +419,7 @@ fn quote_gas_payment( // Account 0: The system program. let system_program_info = next_account_info(accounts_iter)?; - if *system_program_info.key != solana_program::system_program::id() { + if *system_program_info.key != system_program::ID { return Err(ProgramError::IncorrectProgramId); } @@ -455,7 +455,9 @@ fn quote_gas_payment( let required_payment = igp.quote_gas_payment(payment.destination_domain, gas_amount)?; - set_return_data(&SimulationReturnData::new(required_payment).try_to_vec()?); + set_return_data(&borsh::to_vec(&SimulationReturnData::new( + required_payment, + ))?); Ok(()) } @@ -544,7 +546,7 @@ fn claim(program_id: &Pubkey, accounts: &[AccountInfo]) -> ProgramResult { // Account 0: The system program. let system_program_info = next_account_info(accounts_iter)?; - if *system_program_info.key != solana_program::system_program::id() { + if *system_program_info.key != system_program::ID { return Err(ProgramError::IncorrectProgramId); } @@ -595,7 +597,7 @@ fn set_destination_gas_overheads( // Account 0: System program. let system_program_info = next_account_info(accounts_iter)?; - if system_program_info.key != &solana_program::system_program::id() { + if system_program_info.key != &system_program::ID { return Err(ProgramError::IncorrectProgramId); } @@ -642,7 +644,7 @@ fn set_gas_oracle_configs( // Account 0: System program. // Required to invoke `system_instruction::transfer` in `store_with_rent_exempt_realloc`. let system_program_info = next_account_info(accounts_iter)?; - if system_program_info.key != &solana_program::system_program::id() { + if system_program_info.key != &system_program::ID { return Err(ProgramError::IncorrectProgramId); } diff --git a/rust/sealevel/programs/hyperlane-sealevel-token-collateral/Cargo.toml b/rust/sealevel/programs/hyperlane-sealevel-token-collateral/Cargo.toml index 95ebb3ee130..4a3322e8e69 100644 --- a/rust/sealevel/programs/hyperlane-sealevel-token-collateral/Cargo.toml +++ b/rust/sealevel/programs/hyperlane-sealevel-token-collateral/Cargo.toml @@ -10,9 +10,13 @@ no-entrypoint = [] [dependencies] borsh.workspace = true +# Required to allow dependencies on `getrandom` but to preserve determinism required by programs, see +# https://solana.com/news/rust-to-solana +getrandom = { workspace = true, features = ["custom"] } num-derive.workspace = true num-traits.workspace = true solana-program.workspace = true +solana-system-interface.workspace = true spl-associated-token-account.workspace = true spl-noop.workspace = true spl-token-2022.workspace = true # FIXME Should we actually use 2022 here or try normal token program? diff --git a/rust/sealevel/programs/hyperlane-sealevel-token-collateral/src/lib.rs b/rust/sealevel/programs/hyperlane-sealevel-token-collateral/src/lib.rs index ee25eb133e7..26c95d9ab07 100644 --- a/rust/sealevel/programs/hyperlane-sealevel-token-collateral/src/lib.rs +++ b/rust/sealevel/programs/hyperlane-sealevel-token-collateral/src/lib.rs @@ -1,5 +1,6 @@ //! The hyperlane-sealevel-token-collateral program. +#![allow(unexpected_cfgs)] #![deny(warnings)] #![deny(missing_docs)] #![deny(unsafe_code)] diff --git a/rust/sealevel/programs/hyperlane-sealevel-token-collateral/src/plugin.rs b/rust/sealevel/programs/hyperlane-sealevel-token-collateral/src/plugin.rs index 2b97b0f1c5f..03a2a2a1fc8 100644 --- a/rust/sealevel/programs/hyperlane-sealevel-token-collateral/src/plugin.rs +++ b/rust/sealevel/programs/hyperlane-sealevel-token-collateral/src/plugin.rs @@ -16,6 +16,7 @@ use solana_program::{ rent::Rent, sysvar::{self, Sysvar}, }; +use solana_system_interface::program as system_program; use spl_associated_token_account::{ get_associated_token_address_with_program_id, instruction::create_associated_token_account_idempotent, @@ -214,7 +215,7 @@ impl HyperlaneSealevelTokenPlugin for CollateralPlugin { // Grant ownership to the system program so that the ATA program // can call into the system program with the ATA payer as the // payer. - &solana_program::system_program::id(), + &system_program::ID, system_program, ata_payer_account_info, hyperlane_token_ata_payer_pda_seeds!(ata_payer_bump), diff --git a/rust/sealevel/programs/hyperlane-sealevel-token-collateral/tests/functional.rs b/rust/sealevel/programs/hyperlane-sealevel-token-collateral/tests/functional.rs index e1a0b7c5d2f..bec36abbbb6 100644 --- a/rust/sealevel/programs/hyperlane-sealevel-token-collateral/tests/functional.rs +++ b/rust/sealevel/programs/hyperlane-sealevel-token-collateral/tests/functional.rs @@ -10,8 +10,8 @@ use solana_program::{ pubkey, pubkey::Pubkey, rent::Rent, - system_instruction, }; +use solana_system_interface::{instruction as system_instruction, program as system_program}; use std::collections::HashMap; use hyperlane_sealevel_connection_client::{ @@ -77,26 +77,26 @@ async fn setup_client() -> (BanksClient, Keypair) { processor!(process_instruction), ); + // Use the bundled BPF programs for SPL Token, Token 2022, and ATA instead of processor!-based ones. + // The processor!-based approach doesn't work because spl-token-2022 v10 and spl-associated-token-account v8 + // use solana_cpi::invoke which bypasses ProgramTest's syscall stubs. + // The bundled BPF programs are actual compiled programs that use proper syscalls. + // Note: We don't call add_program for these - ProgramTest automatically loads them. + + // spl_noop just logs data and returns success - provide a simple processor + fn noop_processor( + _program_id: &Pubkey, + _accounts: &[solana_program::account_info::AccountInfo], + _instruction_data: &[u8], + ) -> solana_program::entrypoint::ProgramResult { + Ok(()) + } program_test.add_program( - "spl_token_2022", - spl_token_2022::id(), - processor!(spl_token_2022::processor::Processor::process), - ); - - program_test.add_program( - "spl_token", - spl_token::id(), - processor!(spl_token::processor::Processor::process), - ); - - program_test.add_program( - "spl_associated_token_account", - spl_associated_token_account::id(), - processor!(spl_associated_token_account::processor::process_instruction), + "spl_noop", + account_utils::SPL_NOOP_PROGRAM_ID, + processor!(noop_processor), ); - program_test.add_program("spl_noop", spl_noop::id(), processor!(spl_noop::noop)); - let mailbox_program_id = mailbox_id(); program_test.add_program( "hyperlane_sealevel_mailbox", @@ -309,7 +309,7 @@ async fn initialize_hyperlane_token( // 6. `[executable]` The Rent sysvar program. // 7. `[writable]` The escrow PDA account. // 8. `[writable]` The ATA payer PDA account. - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(token_account_key, false), AccountMeta::new(dispatch_authority_key, false), AccountMeta::new_readonly(payer.pubkey(), true), @@ -370,7 +370,7 @@ async fn enroll_remote_router( .encode() .unwrap(), vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(*token_account, false), AccountMeta::new_readonly(payer.pubkey(), true), ], @@ -404,7 +404,7 @@ async fn set_destination_gas_config( .encode() .unwrap(), vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(*token_account, false), AccountMeta::new_readonly(payer.pubkey(), true), ], @@ -676,8 +676,8 @@ async fn test_transfer_remote(spl_token_program_id: Pubkey) { // 16. `[writeable]` The token sender's associated token account, from which tokens will be sent. // 17. `[writeable]` The escrow PDA account. vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), - AccountMeta::new_readonly(spl_noop::id(), false), + AccountMeta::new_readonly(system_program::ID, false), + AccountMeta::new_readonly(account_utils::SPL_NOOP_PROGRAM_ID, false), AccountMeta::new_readonly(hyperlane_token_accounts.token, false), AccountMeta::new_readonly(mailbox_accounts.program, false), AccountMeta::new(mailbox_accounts.outbox, false), @@ -1123,7 +1123,7 @@ async fn test_transfer_from_remote_errors_if_process_authority_not_signer() { hyperlane_token_accounts.mailbox_process_authority, false, ), - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new_readonly(hyperlane_token_accounts.token, false), AccountMeta::new_readonly(recipient_pubkey, false), AccountMeta::new_readonly(spl_token_2022::id(), false), @@ -1258,7 +1258,7 @@ async fn test_enroll_remote_router_errors_if_not_signed_by_owner() { .encode() .unwrap(), vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(hyperlane_token_accounts.token, false), AccountMeta::new_readonly(payer.pubkey(), false), ], @@ -1389,7 +1389,7 @@ async fn test_set_destination_gas_configs_errors_if_not_signed_by_owner() { .encode() .unwrap(), vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(hyperlane_token_accounts.token, false), AccountMeta::new_readonly(payer.pubkey(), false), ], diff --git a/rust/sealevel/programs/hyperlane-sealevel-token-native/Cargo.toml b/rust/sealevel/programs/hyperlane-sealevel-token-native/Cargo.toml index 2e89ce51796..0cf8f3fe763 100644 --- a/rust/sealevel/programs/hyperlane-sealevel-token-native/Cargo.toml +++ b/rust/sealevel/programs/hyperlane-sealevel-token-native/Cargo.toml @@ -10,9 +10,13 @@ no-entrypoint = [] [dependencies] borsh.workspace = true +# Required to allow dependencies `getrandom` but to preserve determinism required by programs, see +# https://solana.com/news/rust-to-solana +getrandom = { workspace = true, features = ["custom"] } num-derive.workspace = true num-traits.workspace = true solana-program.workspace = true +solana-system-interface.workspace = true spl-noop.workspace = true thiserror.workspace = true @@ -31,6 +35,7 @@ hyperlane-warp-route = { path = "../../../main/applications/hyperlane-warp-route serializable-account-meta = { path = "../../libraries/serializable-account-meta" } [dev-dependencies] +solana-commitment-config.workspace = true solana-program-test.workspace = true solana-sdk.workspace = true diff --git a/rust/sealevel/programs/hyperlane-sealevel-token-native/src/lib.rs b/rust/sealevel/programs/hyperlane-sealevel-token-native/src/lib.rs index 78ec3b2d339..bcf2a006f08 100644 --- a/rust/sealevel/programs/hyperlane-sealevel-token-native/src/lib.rs +++ b/rust/sealevel/programs/hyperlane-sealevel-token-native/src/lib.rs @@ -1,5 +1,6 @@ //! Hyperlane token program for native tokens. +#![allow(unexpected_cfgs)] #![deny(warnings)] #![deny(missing_docs)] #![deny(unsafe_code)] diff --git a/rust/sealevel/programs/hyperlane-sealevel-token-native/src/plugin.rs b/rust/sealevel/programs/hyperlane-sealevel-token-native/src/plugin.rs index cac54e4b643..32f6a5fe9bd 100644 --- a/rust/sealevel/programs/hyperlane-sealevel-token-native/src/plugin.rs +++ b/rust/sealevel/programs/hyperlane-sealevel-token-native/src/plugin.rs @@ -16,9 +16,9 @@ use solana_program::{ program_error::ProgramError, pubkey::Pubkey, rent::Rent, - system_instruction, sysvar::Sysvar, }; +use solana_system_interface::{instruction as system_instruction, program as system_program}; /// Seeds relating to the PDA account that holds native collateral. #[macro_export] @@ -101,7 +101,7 @@ impl HyperlaneSealevelTokenPlugin for NativePlugin { payer_account, &Rent::get()?, 0, - &solana_program::system_program::id(), + &system_program::ID, system_program, native_collateral_account, hyperlane_token_native_collateral_pda_seeds!(native_collateral_bump), @@ -127,7 +127,7 @@ impl HyperlaneSealevelTokenPlugin for NativePlugin { ) -> Result<(), ProgramError> { // Account 0: System program. let system_program = next_account_info(accounts_iter)?; - if system_program.key != &solana_program::system_program::id() { + if system_program.key != &system_program::ID { return Err(ProgramError::InvalidArgument); } @@ -158,7 +158,7 @@ impl HyperlaneSealevelTokenPlugin for NativePlugin { ) -> Result<(), ProgramError> { // Account 0: System program. let system_program = next_account_info(accounts_iter)?; - if system_program.key != &solana_program::system_program::id() { + if system_program.key != &system_program::ID { return Err(ProgramError::InvalidArgument); } @@ -197,7 +197,7 @@ impl HyperlaneSealevelTokenPlugin for NativePlugin { Ok(( vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false).into(), + AccountMeta::new_readonly(system_program::ID, false).into(), AccountMeta::new(native_collateral_key, false).into(), ], // Recipient wallet must be writeable to send lamports to it. diff --git a/rust/sealevel/programs/hyperlane-sealevel-token-native/tests/functional.rs b/rust/sealevel/programs/hyperlane-sealevel-token-native/tests/functional.rs index 7f4577b9a62..9b08336f301 100644 --- a/rust/sealevel/programs/hyperlane-sealevel-token-native/tests/functional.rs +++ b/rust/sealevel/programs/hyperlane-sealevel-token-native/tests/functional.rs @@ -9,6 +9,7 @@ use solana_program::{ pubkey, pubkey::Pubkey, }; +use solana_system_interface::program as system_program; use std::collections::HashMap; use hyperlane_sealevel_connection_client::{ @@ -41,9 +42,9 @@ use hyperlane_test_utils::{ initialize_mailbox, mailbox_id, new_funded_keypair, process, transfer_lamports, IgpAccounts, }; use hyperlane_warp_route::TokenMessage; +use solana_commitment_config::CommitmentLevel; use solana_program_test::*; use solana_sdk::{ - commitment_config::CommitmentLevel, instruction::InstructionError, signature::Signer, signer::keypair::Keypair, @@ -72,7 +73,19 @@ async fn setup_client() -> (BanksClient, Keypair) { processor!(process_instruction), ); - program_test.add_program("spl_noop", spl_noop::id(), processor!(spl_noop::noop)); + // spl_noop just logs data and returns success - provide a simple processor + fn noop_processor( + _program_id: &Pubkey, + _accounts: &[solana_program::account_info::AccountInfo], + _instruction_data: &[u8], + ) -> solana_program::entrypoint::ProgramResult { + Ok(()) + } + program_test.add_program( + "spl_noop", + account_utils::SPL_NOOP_PROGRAM_ID, + processor!(noop_processor), + ); let mailbox_program_id = mailbox_id(); program_test.add_program( @@ -154,7 +167,7 @@ async fn initialize_hyperlane_token( // 2. `[writable]` The dispatch authority PDA account. // 3. `[signer]` The payer and mailbox payer. // 4. `[writable]` The native collateral PDA account. - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(token_account_key, false), AccountMeta::new(dispatch_authority_key, false), AccountMeta::new_readonly(payer.pubkey(), true), @@ -209,7 +222,7 @@ async fn enroll_remote_router( .encode() .unwrap(), vec![ - AccountMeta::new(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(*token_account, false), AccountMeta::new_readonly(payer.pubkey(), true), ], @@ -243,7 +256,7 @@ async fn set_destination_gas_config( .encode() .unwrap(), vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(*token_account, false), AccountMeta::new_readonly(payer.pubkey(), true), ], @@ -448,8 +461,8 @@ async fn test_transfer_remote() { // 14. `[executable]` The system program. // 15. `[writeable]` The native token collateral PDA account. vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), - AccountMeta::new_readonly(spl_noop::id(), false), + AccountMeta::new_readonly(system_program::ID, false), + AccountMeta::new_readonly(account_utils::SPL_NOOP_PROGRAM_ID, false), AccountMeta::new_readonly(hyperlane_token_accounts.token, false), AccountMeta::new_readonly(mailbox_accounts.program, false), AccountMeta::new(mailbox_accounts.outbox, false), @@ -462,7 +475,7 @@ async fn test_transfer_remote() { AccountMeta::new(gas_payment_pda_key, false), AccountMeta::new_readonly(igp_accounts.overhead_igp, false), AccountMeta::new(igp_accounts.igp, false), - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(hyperlane_token_accounts.native_collateral, false), ], )], @@ -474,8 +487,8 @@ async fn test_transfer_remote() { let transaction_fee = banks_client .get_fee_for_message_with_commitment_and_context( Context::current(), - CommitmentLevel::Processed, transaction.message.clone(), + CommitmentLevel::Processed, ) .await .unwrap() @@ -797,10 +810,10 @@ async fn test_transfer_from_remote_errors_if_process_authority_not_signer() { hyperlane_token_accounts.mailbox_process_authority, false, ), - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new_readonly(hyperlane_token_accounts.token, false), AccountMeta::new(recipient_pubkey, false), - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(hyperlane_token_accounts.native_collateral, false), ], )], @@ -900,7 +913,7 @@ async fn test_enroll_remote_router_errors_if_not_signed_by_owner() { .encode() .unwrap(), vec![ - AccountMeta::new(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(hyperlane_token_accounts.token, false), AccountMeta::new_readonly(payer.pubkey(), false), ], @@ -1001,7 +1014,7 @@ async fn test_set_destination_gas_configs_errors_if_not_signed_by_owner() { .encode() .unwrap(), vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(hyperlane_token_accounts.token, false), AccountMeta::new_readonly(payer.pubkey(), false), ], diff --git a/rust/sealevel/programs/hyperlane-sealevel-token/Cargo.toml b/rust/sealevel/programs/hyperlane-sealevel-token/Cargo.toml index 1b0ae7ebccc..8c4f33b5796 100644 --- a/rust/sealevel/programs/hyperlane-sealevel-token/Cargo.toml +++ b/rust/sealevel/programs/hyperlane-sealevel-token/Cargo.toml @@ -10,9 +10,13 @@ no-entrypoint = [] [dependencies] borsh.workspace = true +# Required to allow dependencies `getrandom` but to preserve determinism required by programs, see +# https://solana.com/news/rust-to-solana +getrandom = { workspace = true, features = ["custom"] } num-derive.workspace = true num-traits.workspace = true solana-program.workspace = true +solana-system-interface.workspace = true spl-associated-token-account.workspace = true spl-noop.workspace = true spl-token-2022.workspace = true diff --git a/rust/sealevel/programs/hyperlane-sealevel-token/src/plugin.rs b/rust/sealevel/programs/hyperlane-sealevel-token/src/plugin.rs index 149062f39bb..6915401f674 100644 --- a/rust/sealevel/programs/hyperlane-sealevel-token/src/plugin.rs +++ b/rust/sealevel/programs/hyperlane-sealevel-token/src/plugin.rs @@ -9,8 +9,6 @@ use hyperlane_sealevel_token_lib::{ }; use hyperlane_warp_route::TokenMessage; use serializable_account_meta::SerializableAccountMeta; -#[cfg(not(target_arch = "sbf"))] -use solana_program::program_pack::Pack as _; use solana_program::{ account_info::{next_account_info, AccountInfo}, instruction::AccountMeta, @@ -20,6 +18,7 @@ use solana_program::{ rent::Rent, sysvar::Sysvar, }; +use solana_system_interface::program as system_program; use spl_associated_token_account::{ get_associated_token_address_with_program_id, instruction::create_associated_token_account_idempotent, @@ -77,13 +76,9 @@ impl SizedData for SyntheticPlugin { impl SyntheticPlugin { /// The size of the mint account. - // Need to hardcode this value because our `spl_token_2022` version doesn't include it. + // Hardcoded because Pack trait version conflicts between solana-program-pack 3.0 and spl-token-2022's internal 2.2. // It was calculated by calling `ExtensionType::try_calculate_account_len::(vec![ExtensionType::MetadataPointer]).unwrap()` - #[cfg(target_arch = "sbf")] const MINT_ACCOUNT_SIZE: usize = 234; - /// The size of the mint account. - #[cfg(not(target_arch = "sbf"))] - const MINT_ACCOUNT_SIZE: usize = spl_token_2022::state::Mint::LEN; /// Returns Ok(()) if the mint account info is valid. /// Errors if the key or owner is incorrect. @@ -179,7 +174,7 @@ impl HyperlaneSealevelTokenPlugin for SyntheticPlugin { // Grant ownership to the system program so that the ATA program // can call into the system program with the ATA payer as the // payer. - &solana_program::system_program::id(), + &system_program::ID, system_program, ata_payer_account, hyperlane_token_ata_payer_pda_seeds!(ata_payer_bump), diff --git a/rust/sealevel/programs/hyperlane-sealevel-token/src/processor.rs b/rust/sealevel/programs/hyperlane-sealevel-token/src/processor.rs index 3e7314bc621..352f55a849e 100644 --- a/rust/sealevel/programs/hyperlane-sealevel-token/src/processor.rs +++ b/rust/sealevel/programs/hyperlane-sealevel-token/src/processor.rs @@ -119,7 +119,7 @@ fn initialize(program_id: &Pubkey, accounts: &[AccountInfo], init: Init) -> Prog /// 11. `[writeable]` Gas payment PDA. /// 12. `[]` OPTIONAL - The Overhead IGP program, if the configured IGP is an Overhead IGP. /// 13. `[writeable]` The IGP account. -/// ---- End if ---- +/// ---- End if ---- /// 14. `[executable]` The spl_token_2022 program. /// 15. `[writeable]` The mint / mint authority PDA account. /// 16. `[writeable]` The token sender's associated token account, from which tokens will be burned. diff --git a/rust/sealevel/programs/hyperlane-sealevel-token/tests/functional.rs b/rust/sealevel/programs/hyperlane-sealevel-token/tests/functional.rs index 48bb6365039..5983e7205dc 100644 --- a/rust/sealevel/programs/hyperlane-sealevel-token/tests/functional.rs +++ b/rust/sealevel/programs/hyperlane-sealevel-token/tests/functional.rs @@ -47,6 +47,8 @@ use solana_sdk::{ signer::keypair::Keypair, transaction::{Transaction, TransactionError}, }; +use solana_system_interface::program as system_program; +use spl_token_2022::extension::metadata_pointer::instruction as metadata_pointer_instruction; use spl_token_2022::instruction::initialize_mint2; use std::collections::HashMap; @@ -71,20 +73,27 @@ async fn setup_client() -> (BanksClient, Keypair) { processor!(process_instruction), ); + // Use the bundled BPF programs for SPL Token 2022 and ATA instead of processor!-based ones. + // The processor!-based approach doesn't work because spl-token-2022 v10 and spl-associated-token-account v8 + // use solana_cpi::invoke which bypasses ProgramTest's syscall stubs. + // The bundled BPF programs (spl_token_2022-8.0.0.so, spl_associated_token_account-1.1.1.so) + // are actual compiled programs that use proper syscalls. + // Note: We don't call add_program for these - ProgramTest automatically loads them. + + // spl_noop just logs data and returns success - provide a simple processor + fn noop_processor( + _program_id: &Pubkey, + _accounts: &[solana_program::account_info::AccountInfo], + _instruction_data: &[u8], + ) -> solana_program::entrypoint::ProgramResult { + Ok(()) + } program_test.add_program( - "spl_token_2022", - spl_token_2022::id(), - processor!(spl_token_2022::processor::Processor::process), + "spl_noop", + account_utils::SPL_NOOP_PROGRAM_ID, + processor!(noop_processor), ); - program_test.add_program( - "spl_associated_token_account", - spl_associated_token_account::id(), - processor!(spl_associated_token_account::processor::process_instruction), - ); - - program_test.add_program("spl_noop", spl_noop::id(), processor!(spl_noop::noop)); - let mailbox_program_id = mailbox_id(); program_test.add_program( "hyperlane_sealevel_mailbox", @@ -172,7 +181,7 @@ async fn initialize_hyperlane_token( // 3. `[signer]` The payer. // 4. `[writable]` The mint / mint authority PDA account. // 5. `[writable]` The ATA payer PDA account. - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(token_account_key, false), AccountMeta::new(dispatch_authority_key, false), AccountMeta::new_readonly(payer.pubkey(), true), @@ -180,6 +189,15 @@ async fn initialize_hyperlane_token( AccountMeta::new(ata_payer_account_key, false), ], ), + // Initialize MetadataPointer extension before InitializeMint2 + // Required because MINT_ACCOUNT_SIZE (234) was calculated for MetadataPointer + metadata_pointer_instruction::initialize( + &spl_token_2022::id(), + &mint_account_key, + Some(mint_account_key), // authority + Some(mint_account_key), // metadata_address (points to self) + ) + .unwrap(), initialize_mint2( &spl_token_2022::id(), &mint_account_key, @@ -239,7 +257,7 @@ async fn enroll_remote_router( .encode() .unwrap(), vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(*token_account, false), AccountMeta::new_readonly(payer.pubkey(), true), ], @@ -273,7 +291,7 @@ async fn set_destination_gas_config( .encode() .unwrap(), vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(*token_account, false), AccountMeta::new_readonly(payer.pubkey(), true), ], @@ -624,7 +642,7 @@ async fn test_transfer_from_remote_errors_if_process_authority_not_signer() { hyperlane_token_accounts.mailbox_process_authority, false, ), - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new_readonly(hyperlane_token_accounts.token, false), AccountMeta::new_readonly(recipient_pubkey, false), AccountMeta::new_readonly(spl_token_2022::id(), false), @@ -749,8 +767,8 @@ async fn test_transfer_remote() { // 15. `[writeable]` The mint / mint authority PDA account. // 16. `[writeable]` The token sender's associated token account, from which tokens will be burned. vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), - AccountMeta::new_readonly(spl_noop::id(), false), + AccountMeta::new_readonly(system_program::ID, false), + AccountMeta::new_readonly(account_utils::SPL_NOOP_PROGRAM_ID, false), AccountMeta::new_readonly(hyperlane_token_accounts.token, false), AccountMeta::new_readonly(mailbox_accounts.program, false), AccountMeta::new(mailbox_accounts.outbox, false), @@ -933,7 +951,7 @@ async fn test_enroll_remote_router_errors_if_not_signed_by_owner() { .encode() .unwrap(), vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(hyperlane_token_accounts.token, false), AccountMeta::new_readonly(payer.pubkey(), false), ], @@ -1034,7 +1052,7 @@ async fn test_set_destination_gas_configs_errors_if_not_signed_by_owner() { .encode() .unwrap(), vec![ - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(hyperlane_token_accounts.token, false), AccountMeta::new_readonly(payer.pubkey(), false), ], diff --git a/rust/sealevel/programs/ism/multisig-ism-message-id/Cargo.toml b/rust/sealevel/programs/ism/multisig-ism-message-id/Cargo.toml index 53136752158..896f197256a 100644 --- a/rust/sealevel/programs/ism/multisig-ism-message-id/Cargo.toml +++ b/rust/sealevel/programs/ism/multisig-ism-message-id/Cargo.toml @@ -10,9 +10,13 @@ no-entrypoint = [] [dependencies] borsh.workspace = true +# Required to allow dependencies `getrandom` but to preserve determinism required by programs, see +# https://solana.com/news/rust-to-solana +getrandom = { workspace = true, features = ["custom"] } num-derive.workspace = true num-traits.workspace = true solana-program.workspace = true +solana-system-interface.workspace = true thiserror.workspace = true access-control = { path = "../../../libraries/access-control" } diff --git a/rust/sealevel/programs/ism/multisig-ism-message-id/src/accounts.rs b/rust/sealevel/programs/ism/multisig-ism-message-id/src/accounts.rs index 9b49eecf101..b1b03f35332 100644 --- a/rust/sealevel/programs/ism/multisig-ism-message-id/src/accounts.rs +++ b/rust/sealevel/programs/ism/multisig-ism-message-id/src/accounts.rs @@ -53,7 +53,7 @@ mod test { bump_seed: 0, owner: Some(Pubkey::new_unique()), }; - let serialized = data.try_to_vec().unwrap(); + let serialized = borsh::to_vec(&data).unwrap(); assert_eq!(data.size(), serialized.len()); } } diff --git a/rust/sealevel/programs/ism/multisig-ism-message-id/src/instruction.rs b/rust/sealevel/programs/ism/multisig-ism-message-id/src/instruction.rs index 0732c705f5f..94e28b94cea 100644 --- a/rust/sealevel/programs/ism/multisig-ism-message-id/src/instruction.rs +++ b/rust/sealevel/programs/ism/multisig-ism-message-id/src/instruction.rs @@ -5,8 +5,8 @@ use solana_program::{ instruction::{AccountMeta, Instruction as SolanaInstruction}, program_error::ProgramError, pubkey::Pubkey, - system_program, }; +use solana_system_interface::program as system_program; use std::collections::HashSet; @@ -109,7 +109,7 @@ pub fn init_instruction( let accounts = vec![ AccountMeta::new(payer, true), AccountMeta::new(access_control_pda_key, false), - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), ]; let instruction = SolanaInstruction { diff --git a/rust/sealevel/programs/ism/multisig-ism-message-id/src/lib.rs b/rust/sealevel/programs/ism/multisig-ism-message-id/src/lib.rs index 5675859320f..661e75ea660 100644 --- a/rust/sealevel/programs/ism/multisig-ism-message-id/src/lib.rs +++ b/rust/sealevel/programs/ism/multisig-ism-message-id/src/lib.rs @@ -2,6 +2,7 @@ //! a checkpoint the message ID that matches the message being verified. //! No merkle proofs. +#![allow(unexpected_cfgs)] #![deny(warnings)] #![deny(unsafe_code)] diff --git a/rust/sealevel/programs/ism/multisig-ism-message-id/src/processor.rs b/rust/sealevel/programs/ism/multisig-ism-message-id/src/processor.rs index 5290d3d2c30..01c9ff7efe5 100644 --- a/rust/sealevel/programs/ism/multisig-ism-message-id/src/processor.rs +++ b/rust/sealevel/programs/ism/multisig-ism-message-id/src/processor.rs @@ -13,6 +13,7 @@ use solana_program::{ rent::Rent, sysvar::Sysvar, }; +use solana_system_interface::program as system_program; use crate::{ accounts::{AccessControlAccount, AccessControlData, DomainData, DomainDataAccount}, @@ -24,8 +25,6 @@ use crate::{ use hyperlane_sealevel_interchain_security_module_interface::InterchainSecurityModuleInstruction; use multisig_ism::{interface::MultisigIsmInstruction, multisig::MultisigIsm}; -use borsh::BorshSerialize; - const ISM_TYPE: ModuleType = ModuleType::MessageIdMultisig; #[cfg(not(feature = "no-entrypoint"))] @@ -85,9 +84,8 @@ pub fn process_instruction( return match ism_instruction { InterchainSecurityModuleInstruction::Type => { set_return_data( - &SimulationReturnData::new(ISM_TYPE as u32) - .try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?[..], + &borsh::to_vec(&SimulationReturnData::new(ISM_TYPE as u32)) + .map_err(|_| ProgramError::BorshIoError)?[..], ); return Ok(()); } @@ -108,9 +106,8 @@ pub fn process_instruction( // may end with zero byte(s), which are incorrectly truncated as // simulated transaction return data. // See `SimulationReturnData` for details. - let bytes = SimulationReturnData::new(account_metas) - .try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?; + let bytes = borsh::to_vec(&SimulationReturnData::new(account_metas)) + .map_err(|_| ProgramError::BorshIoError)?; set_return_data(&bytes[..]); Ok(()) } @@ -143,9 +140,8 @@ pub fn process_instruction( // may end with zero byte(s), which are incorrectly truncated as // simulated transaction return data. // See `SimulationReturnData` for details. - let bytes = SimulationReturnData::new(account_metas) - .try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?; + let bytes = borsh::to_vec(&SimulationReturnData::new(account_metas)) + .map_err(|_| ProgramError::BorshIoError)?; set_return_data(&bytes[..]); Ok(()) } @@ -200,7 +196,7 @@ fn initialize(program_id: &Pubkey, accounts: &[AccountInfo]) -> ProgramResult { // Account 2: The system program account. let system_program_account = next_account_info(accounts_iter)?; - if !solana_program::system_program::check_id(system_program_account.key) { + if system_program_account.key != &system_program::ID { return Err(Error::AccountOutOfOrder.into()); } @@ -297,9 +293,8 @@ fn get_validators_and_threshold( // may end with zero byte(s), which are incorrectly truncated as // simulated transaction return data. // See `SimulationReturnData` for details. - let bytes = SimulationReturnData::new(validators_and_threshold) - .try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?; + let bytes = borsh::to_vec(&SimulationReturnData::new(validators_and_threshold)) + .map_err(|_| ProgramError::BorshIoError)?; set_return_data(&bytes[..]); Ok(()) } @@ -422,7 +417,7 @@ fn set_validators_and_threshold( // Account 3: The system program account. let system_program_account = next_account_info(accounts_iter)?; - if !solana_program::system_program::check_id(system_program_account.key) { + if system_program_account.key != &system_program::ID { return Err(Error::AccountOutOfOrder.into()); } @@ -468,9 +463,8 @@ fn get_owner(program_id: &Pubkey, accounts: &[AccountInfo]) -> ProgramResult { // may end with zero byte(s), which are incorrectly truncated as // simulated transaction return data. // See `SimulationReturnData` for details. - let bytes = SimulationReturnData::new(access_control_data.owner) - .try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?; + let bytes = borsh::to_vec(&SimulationReturnData::new(access_control_data.owner)) + .map_err(|_| ProgramError::BorshIoError)?; set_return_data(&bytes[..]); Ok(()) } @@ -542,7 +536,6 @@ pub mod test { InterchainSecurityModuleInstruction, VerifyInstruction, }; use multisig_ism::test_data::{get_multisig_ism_test_data, MultisigIsmTestData}; - use solana_program::stake_history::Epoch; use std::str::FromStr; const ORIGIN_DOMAIN: u32 = 1234u32; @@ -575,7 +568,6 @@ pub mod test { &mut domain_account_data, &program_id, false, - Epoch::default(), ); let init_domain_data = DomainData { bump_seed: domain_pda_bump_seed, @@ -709,7 +701,7 @@ pub mod test { let owner_key = Pubkey::new_unique(); let mut owner_account_lamports = 0; let mut owner_account_data = vec![]; - let system_program_id = solana_program::system_program::id(); + let system_program_id = system_program::ID; let owner_account = AccountInfo::new( &owner_key, true, @@ -718,7 +710,6 @@ pub mod test { &mut owner_account_data, &system_program_id, false, - Epoch::default(), ); let (access_control_pda_key, access_control_pda_bump_seed) = @@ -734,7 +725,6 @@ pub mod test { &mut access_control_account_data, &program_id, false, - Epoch::default(), ); let init_access_control_data = AccessControlData { bump_seed: access_control_pda_bump_seed, @@ -820,7 +810,6 @@ pub mod test { &mut domain_account_data, &program_id, false, - Epoch::default(), ); let init_domain_data = DomainData { bump_seed: domain_pda_bump_seed, @@ -836,7 +825,7 @@ pub mod test { let owner_key = Pubkey::new_unique(); let mut owner_account_lamports = 0; let mut owner_account_data = vec![]; - let system_program_id = solana_program::system_program::id(); + let system_program_id = system_program::ID; let owner_account = AccountInfo::new( &owner_key, true, @@ -845,7 +834,6 @@ pub mod test { &mut owner_account_data, &system_program_id, false, - Epoch::default(), ); let (access_control_pda_key, access_control_pda_bump_seed) = @@ -861,7 +849,6 @@ pub mod test { &mut access_control_account_data, &program_id, false, - Epoch::default(), ); let init_access_control_data = AccessControlData { bump_seed: access_control_pda_bump_seed, diff --git a/rust/sealevel/programs/ism/multisig-ism-message-id/tests/functional.rs b/rust/sealevel/programs/ism/multisig-ism-message-id/tests/functional.rs index e40cd3a7aaa..e9ef10e0c7a 100644 --- a/rust/sealevel/programs/ism/multisig-ism-message-id/tests/functional.rs +++ b/rust/sealevel/programs/ism/multisig-ism-message-id/tests/functional.rs @@ -9,6 +9,7 @@ use solana_program::{ pubkey, pubkey::Pubkey, }; +use solana_system_interface::program as system_program; use ecdsa_signature::EcdsaSignature; use hyperlane_core::{Encode, HyperlaneMessage, ModuleType, H160, H256}; @@ -53,7 +54,7 @@ async fn new_funded_keypair( let keypair = Keypair::new(); let recent_blockhash = banks_client.get_latest_blockhash().await.unwrap(); let transaction = Transaction::new_signed_with_payer( - &[solana_sdk::system_instruction::transfer( + &[solana_system_interface::instruction::transfer( &payer.pubkey(), &keypair.pubkey(), lamports, @@ -82,7 +83,7 @@ async fn initialize( vec![ AccountMeta::new_readonly(payer.pubkey(), true), AccountMeta::new(access_control_pda_key, false), - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), ], )], Some(&payer.pubkey()), @@ -119,7 +120,7 @@ async fn set_validators_and_threshold( AccountMeta::new_readonly(payer.pubkey(), true), AccountMeta::new_readonly(access_control_pda_key, false), AccountMeta::new(domain_data_pda_key, false), - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), ], )], Some(&payer.pubkey()), diff --git a/rust/sealevel/programs/ism/test-ism/Cargo.toml b/rust/sealevel/programs/ism/test-ism/Cargo.toml index 113fdede375..c963de6a0eb 100644 --- a/rust/sealevel/programs/ism/test-ism/Cargo.toml +++ b/rust/sealevel/programs/ism/test-ism/Cargo.toml @@ -18,6 +18,7 @@ borsh.workspace = true solana-program.workspace = true solana-program-test = { workspace = true, optional = true } solana-sdk = { workspace = true, optional = true } +solana-system-interface.workspace = true account-utils = { path = "../../../libraries/account-utils" } hyperlane-core = { path = "../../../../main/hyperlane-core" } diff --git a/rust/sealevel/programs/ism/test-ism/src/lib.rs b/rust/sealevel/programs/ism/test-ism/src/lib.rs index 4ec815e374e..c4480efb4f8 100644 --- a/rust/sealevel/programs/ism/test-ism/src/lib.rs +++ b/rust/sealevel/programs/ism/test-ism/src/lib.rs @@ -1,6 +1,8 @@ //! Interchain Security Module that unconditionally approves. //! **NOT INTENDED FOR USE IN PRODUCTION** +// Allow cfg values used by solana_program::entrypoint! macro +#![allow(unexpected_cfgs)] #![deny(warnings)] #![deny(missing_docs)] #![deny(unsafe_code)] diff --git a/rust/sealevel/programs/ism/test-ism/src/program.rs b/rust/sealevel/programs/ism/test-ism/src/program.rs index ef4914e6508..c68456bd811 100644 --- a/rust/sealevel/programs/ism/test-ism/src/program.rs +++ b/rust/sealevel/programs/ism/test-ism/src/program.rs @@ -12,9 +12,9 @@ use solana_program::{ program_error::ProgramError, pubkey::Pubkey, rent::Rent, - system_program, sysvar::Sysvar, }; +use solana_system_interface::program as system_program; use hyperlane_core::ModuleType; @@ -81,9 +81,8 @@ pub fn process_instruction( } InterchainSecurityModuleInstruction::Type => { set_return_data( - &SimulationReturnData::new(ISM_TYPE as u32) - .try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?[..], + &borsh::to_vec(&SimulationReturnData::new(ISM_TYPE as u32)) + .map_err(|_| ProgramError::BorshIoError)?[..], ); Ok(()) } @@ -109,7 +108,7 @@ fn init(program_id: &Pubkey, accounts: &[AccountInfo]) -> ProgramResult { // Account 0: System program. let system_program_info = next_account_info(accounts_iter)?; - if system_program_info.key != &system_program::id() { + if system_program_info.key != &system_program::ID { return Err(ProgramError::InvalidArgument); } @@ -186,9 +185,8 @@ fn verify_account_metas(program_id: &Pubkey, _accounts: &[AccountInfo]) -> Progr // may end with zero byte(s), which are incorrectly truncated as // simulated transaction return data. // See `SimulationReturnData` for details. - let bytes = SimulationReturnData::new(account_metas) - .try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?; + let bytes = borsh::to_vec(&SimulationReturnData::new(account_metas)) + .map_err(|_| ProgramError::BorshIoError)?; set_return_data(&bytes[..]); Ok(()) diff --git a/rust/sealevel/programs/ism/test-ism/src/test_client.rs b/rust/sealevel/programs/ism/test-ism/src/test_client.rs index d756dd41dce..49e44c6e9d5 100644 --- a/rust/sealevel/programs/ism/test-ism/src/test_client.rs +++ b/rust/sealevel/programs/ism/test-ism/src/test_client.rs @@ -1,13 +1,12 @@ //! Test client for the Test ISM program. -use borsh::BorshSerialize; use solana_program::{ instruction::{AccountMeta, Instruction}, pubkey::Pubkey, - system_program, }; use solana_program_test::*; use solana_sdk::{signature::Signer, signer::keypair::Keypair}; +use solana_system_interface::program as system_program; use hyperlane_test_transaction_utils::process_instruction; @@ -36,12 +35,12 @@ impl TestIsmTestClient { let instruction = Instruction { program_id, - data: TestIsmInstruction::Init.try_to_vec().unwrap(), + data: borsh::to_vec(&TestIsmInstruction::Init).unwrap(), accounts: vec![ // 0. `[executable]` System program. // 1. `[signer]` Payer. // 2. `[writeable]` Storage PDA. - AccountMeta::new_readonly(system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(payer_pubkey, true), AccountMeta::new(Self::get_storage_pda_key(), false), ], @@ -64,7 +63,7 @@ impl TestIsmTestClient { let instruction = Instruction { program_id, - data: TestIsmInstruction::SetAccept(accept).try_to_vec().unwrap(), + data: borsh::to_vec(&TestIsmInstruction::SetAccept(accept)).unwrap(), accounts: vec![ // 0. `[writeable]` Storage PDA. AccountMeta::new(Self::get_storage_pda_key(), false), diff --git a/rust/sealevel/programs/mailbox-test/Cargo.toml b/rust/sealevel/programs/mailbox-test/Cargo.toml index a48891f067d..da6e0c59387 100644 --- a/rust/sealevel/programs/mailbox-test/Cargo.toml +++ b/rust/sealevel/programs/mailbox-test/Cargo.toml @@ -18,6 +18,7 @@ num-traits.workspace = true solana-program-test.workspace = true solana-program.workspace = true solana-sdk.workspace = true +solana-system-interface.workspace = true spl-noop.workspace = true thiserror.workspace = true diff --git a/rust/sealevel/programs/mailbox-test/src/functional.rs b/rust/sealevel/programs/mailbox-test/src/functional.rs index 0870ef2fa42..6a9778a2269 100644 --- a/rust/sealevel/programs/mailbox-test/src/functional.rs +++ b/rust/sealevel/programs/mailbox-test/src/functional.rs @@ -17,15 +17,13 @@ use hyperlane_sealevel_test_send_receiver::{ test_client::TestSendReceiverTestClient, }; use hyperlane_test_utils::{ - assert_transaction_error, clone_keypair, get_process_account_metas, get_recipient_ism, - initialize_mailbox, mailbox_id, new_funded_keypair, process, process_instruction, - process_with_accounts, + assert_transaction_error, get_process_account_metas, get_recipient_ism, initialize_mailbox, + mailbox_id, new_funded_keypair, process, process_instruction, process_with_accounts, }; use solana_program::{ instruction::{AccountMeta, Instruction}, pubkey::Pubkey, rent::Rent, - system_program, }; use solana_program_test::*; use solana_sdk::{ @@ -35,6 +33,7 @@ use solana_sdk::{ signer::keypair::Keypair, transaction::{Transaction, TransactionError}, }; +use solana_system_interface::program as system_program; use crate::utils::{ assert_dispatched_message, assert_inbox, assert_message_not_processed, assert_outbox, @@ -59,7 +58,19 @@ async fn setup_client() -> ( processor!(hyperlane_sealevel_mailbox::processor::process_instruction), ); - program_test.add_program("spl_noop", spl_noop::id(), processor!(spl_noop::noop)); + // spl_noop just logs data and returns success - provide a simple processor + fn noop_processor( + _program_id: &Pubkey, + _accounts: &[solana_program::account_info::AccountInfo], + _instruction_data: &[u8], + ) -> solana_program::entrypoint::ProgramResult { + Ok(()) + } + program_test.add_program( + "spl_noop", + account_utils::SPL_NOOP_PROGRAM_ID, + processor!(noop_processor), + ); let mailbox_program_id = mailbox_id(); program_test.add_program( @@ -82,10 +93,10 @@ async fn setup_client() -> ( let (banks_client, payer, _recent_blockhash) = program_test.start().await; - let test_ism = TestIsmTestClient::new(banks_client.clone(), clone_keypair(&payer)); + let test_ism = TestIsmTestClient::new(banks_client.clone(), payer.insecure_clone()); let mut test_send_receiver = - TestSendReceiverTestClient::new(banks_client.clone(), clone_keypair(&payer)); + TestSendReceiverTestClient::new(banks_client.clone(), payer.insecure_clone()); test_send_receiver.init().await.unwrap(); test_send_receiver .set_ism( @@ -692,7 +703,7 @@ async fn test_dispatch_returns_message_id() { AccountMeta::new(mailbox_accounts.outbox, false), AccountMeta::new(payer.pubkey(), true), AccountMeta::new_readonly(system_program::id(), false), - AccountMeta::new_readonly(spl_noop::id(), false), + AccountMeta::new_readonly(account_utils::SPL_NOOP_PROGRAM_ID, false), AccountMeta::new(payer.pubkey(), true), AccountMeta::new(unique_message_account_keypair.pubkey(), true), AccountMeta::new(dispatched_message_account_key, false), @@ -855,7 +866,7 @@ async fn test_get_recipient_ism_errors_with_malformatted_recipient_ism_return_da assert!(matches!( result, Err(BanksClientError::TransactionError( - TransactionError::InstructionError(_, InstructionError::BorshIoError(_)) + TransactionError::InstructionError(_, InstructionError::BorshIoError) )) )); } diff --git a/rust/sealevel/programs/mailbox-test/src/utils.rs b/rust/sealevel/programs/mailbox-test/src/utils.rs index b4e20766682..69aea8a78c5 100644 --- a/rust/sealevel/programs/mailbox-test/src/utils.rs +++ b/rust/sealevel/programs/mailbox-test/src/utils.rs @@ -3,7 +3,6 @@ use hyperlane_core::{Encode, HyperlaneMessage, H256}; use solana_program::{ instruction::{AccountMeta, Instruction}, pubkey::Pubkey, - system_program, }; use solana_program_test::*; use solana_sdk::{ @@ -11,6 +10,7 @@ use solana_sdk::{ signer::keypair::Keypair, transaction::Transaction, }; +use solana_system_interface::program as system_program; use hyperlane_sealevel_mailbox::{ accounts::{ @@ -53,7 +53,7 @@ pub async fn dispatch_from_payer( AccountMeta::new(mailbox_accounts.outbox, false), AccountMeta::new(payer.pubkey(), true), AccountMeta::new_readonly(system_program::id(), false), - AccountMeta::new_readonly(spl_noop::id(), false), + AccountMeta::new_readonly(account_utils::SPL_NOOP_PROGRAM_ID, false), AccountMeta::new(payer.pubkey(), true), AccountMeta::new(unique_message_account_keypair.pubkey(), true), AccountMeta::new(dispatched_message_account_key, false), diff --git a/rust/sealevel/programs/mailbox/Cargo.toml b/rust/sealevel/programs/mailbox/Cargo.toml index 1d09b5e935b..8ad181f8ef3 100644 --- a/rust/sealevel/programs/mailbox/Cargo.toml +++ b/rust/sealevel/programs/mailbox/Cargo.toml @@ -16,14 +16,15 @@ borsh.workspace = true num-derive.workspace = true num-traits.workspace = true solana-program.workspace = true +solana-system-interface.workspace = true thiserror.workspace = true spl-noop.workspace = true # Required to allow dependencies `getrandom` but to preserve determinism required by programs, see -# https://github.com/solana-foundation/developer-content/blob/main/docs/programs/lang-rust.md#depending-on-rand +# https://solana.com/news/rust-to-solana getrandom = { workspace = true, features = ["custom"] } -proc-macro-crate = "~1.2.1" # TODO: remove this dependency once solana supports rust >=1.64 -blake3 = "=1.4.0" # TODO: update once solana supports rust >= 1.66 +proc-macro-crate = "~3.2" +blake3 = "=1.8.2" access-control = { path = "../../libraries/access-control" } account-utils = { path = "../../libraries/account-utils" } diff --git a/rust/sealevel/programs/mailbox/src/accounts.rs b/rust/sealevel/programs/mailbox/src/accounts.rs index cf40b1fda49..38e952e6d9d 100644 --- a/rust/sealevel/programs/mailbox/src/accounts.rs +++ b/rust/sealevel/programs/mailbox/src/accounts.rs @@ -1,7 +1,6 @@ //! Hyperlane Sealevel Mailbox data account layouts. use core::cell::RefMut; -use std::io::Read; use access_control::AccessControl; use account_utils::{AccountData, SizedData}; @@ -131,10 +130,11 @@ impl AccessControl for Outbox { impl Outbox { /// Verifies that the given account is the canonical Outbox PDA and returns the deserialized inner data. + /// Returns Box to avoid stack overflow during CPI calls (Outbox is 1118 bytes). pub fn verify_account_and_fetch_inner( program_id: &Pubkey, outbox_account_info: &AccountInfo, - ) -> Result { + ) -> Result, ProgramError> { let outbox = OutboxAccount::fetch(&mut &outbox_account_info.data.borrow()[..])?.into_inner(); let expected_outbox_key = Pubkey::create_program_address( @@ -148,7 +148,7 @@ impl Outbox { return Err(ProgramError::IllegalOwner); } - Ok(*outbox) + Ok(outbox) } } @@ -217,7 +217,7 @@ impl BorshSerialize for DispatchedMessage { /// For tighter packing, explicit endianness, and errors on an invalid discriminator, we implement our own deserialization. impl BorshDeserialize for DispatchedMessage { - fn deserialize(reader: &mut &[u8]) -> std::io::Result { + fn deserialize_reader(reader: &mut R) -> std::io::Result { let mut discriminator = [0u8; 8]; reader.read_exact(&mut discriminator)?; if &discriminator != DISPATCHED_MESSAGE_DISCRIMINATOR { @@ -293,7 +293,7 @@ impl SizedData for ProcessedMessage { /// To error upon invalid data, we implement our own deserialization. impl BorshDeserialize for ProcessedMessage { - fn deserialize(reader: &mut &[u8]) -> std::io::Result { + fn deserialize_reader(reader: &mut R) -> std::io::Result { let mut discriminator = [0u8; 8]; reader.read_exact(&mut discriminator)?; if &discriminator != PROCESSED_MESSAGE_DISCRIMINATOR { diff --git a/rust/sealevel/programs/mailbox/src/instruction.rs b/rust/sealevel/programs/mailbox/src/instruction.rs index b6b903b9ff9..cf45dd52cbd 100644 --- a/rust/sealevel/programs/mailbox/src/instruction.rs +++ b/rust/sealevel/programs/mailbox/src/instruction.rs @@ -7,6 +7,7 @@ use solana_program::{ program_error::ProgramError, pubkey::Pubkey, }; +use solana_system_interface::program as system_program; use crate::{mailbox_inbox_pda_seeds, mailbox_outbox_pda_seeds, protocol_fee::ProtocolFee}; @@ -50,8 +51,7 @@ impl Instruction { /// Serializes an instruction into a vector of bytes. pub fn into_instruction_data(self) -> Result, ProgramError> { - self.try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string())) + borsh::to_vec(&self).map_err(|_| ProgramError::BorshIoError) } } @@ -120,7 +120,7 @@ pub fn init_instruction( }) .into_instruction_data()?, accounts: vec![ - AccountMeta::new(solana_program::system_program::id(), false), + AccountMeta::new(system_program::ID, false), AccountMeta::new(payer, true), AccountMeta::new(inbox_account, false), AccountMeta::new(outbox_account, false), diff --git a/rust/sealevel/programs/mailbox/src/lib.rs b/rust/sealevel/programs/mailbox/src/lib.rs index f369e84d380..b1b835c93d7 100644 --- a/rust/sealevel/programs/mailbox/src/lib.rs +++ b/rust/sealevel/programs/mailbox/src/lib.rs @@ -1,5 +1,6 @@ //! Hyperlane Mailbox contract for Sealevel-compatible (Solana Virtual Machine) chains. +#![allow(unexpected_cfgs)] #![deny(warnings)] #![deny(missing_docs)] #![deny(unsafe_code)] diff --git a/rust/sealevel/programs/mailbox/src/processor.rs b/rust/sealevel/programs/mailbox/src/processor.rs index b8cb61ab2d3..9dc7c4ca971 100644 --- a/rust/sealevel/programs/mailbox/src/processor.rs +++ b/rust/sealevel/programs/mailbox/src/processor.rs @@ -2,7 +2,7 @@ use access_control::AccessControl; use account_utils::{verify_rent_exempt, SizedData}; -use borsh::{BorshDeserialize, BorshSerialize}; +use borsh::BorshDeserialize; use hyperlane_core::{ accumulator::incremental::IncrementalMerkle as MerkleTree, Decode, Encode, HyperlaneMessage, H256, @@ -17,9 +17,9 @@ use solana_program::{ program::{get_return_data, invoke, invoke_signed, set_return_data}, program_error::ProgramError, pubkey::Pubkey, - system_instruction, sysvar::{clock::Clock, rent::Rent, Sysvar}, }; +use solana_system_interface::{instruction as system_instruction, program as system_program}; use account_utils::{create_pda_account, verify_account_uninitialized}; use hyperlane_sealevel_interchain_security_module_interface::{ @@ -92,7 +92,7 @@ fn initialize(program_id: &Pubkey, accounts: &[AccountInfo], init: Init) -> Prog // Account 0: The system program. let system_program_info = next_account_info(accounts_iter)?; - if system_program_info.key != &solana_program::system_program::id() { + if system_program_info.key != &system_program::ID { return Err(ProgramError::InvalidArgument); } @@ -209,7 +209,7 @@ fn inbox_process( // Account 1: The system program. let system_program_info = next_account_info(accounts_iter)?; - if system_program_info.key != &solana_program::system_program::id() { + if system_program_info.key != &system_program::ID { return Err(ProgramError::InvalidArgument); } @@ -253,7 +253,7 @@ fn inbox_process( return Err(Error::MessageAlreadyProcessed.into()); } - let spl_noop_id = spl_noop::id(); + let spl_noop_id = account_utils::SPL_NOOP_PROGRAM_ID; // Accounts 5..N: the accounts required for getting the ISM the recipient wants to use. let mut get_ism_infos = vec![]; @@ -382,7 +382,7 @@ fn inbox_process( inbox.processed_count += 1; InboxAccount::from(inbox) .store_in_slice(&mut inbox_data_refmut) - .map_err(|e| ProgramError::BorshIoError(e.to_string()))?; + .map_err(|_| ProgramError::BorshIoError)?; // Now call into the recipient program with the verified message! let handle_intruction = Instruction::new_with_bytes( @@ -407,7 +407,7 @@ fn inbox_process( #[cfg(not(feature = "no-spl-noop"))] { let noop_cpi_log = Instruction { - program_id: spl_noop::id(), + program_id: account_utils::SPL_NOOP_PROGRAM_ID, accounts: vec![], data: format!("Hyperlane inbox: {:?}", message_id).into_bytes(), }; @@ -422,11 +422,11 @@ fn inbox_process( /// Gets the ISM to use for a recipient program and sets it as return data. /// /// Accounts: -/// 0. `[]` - The Inbox PDA. -/// 1. `[]` - The recipient program. -/// 2..N. [??] - The accounts required to make the CPI into the recipient program. -/// These can be retrieved from the recipient using the -/// `MessageRecipientInstruction::InterchainSecurityModuleAccountMetas` instruction. +/// - 0: `[]` - The Inbox PDA. +/// - 1: `[]` - The recipient program. +/// - 2..N: `[??]` - The accounts required to make the CPI into the recipient program. +/// These can be retrieved from the recipient using the +/// `MessageRecipientInstruction::InterchainSecurityModuleAccountMetas` instruction. fn inbox_get_recipient_ism( program_id: &Pubkey, accounts: &[AccountInfo], @@ -460,9 +460,7 @@ fn inbox_get_recipient_ism( // Return the borsh serialized ISM pubkey. set_return_data( - &SimulationReturnData::new(ism) - .try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?[..], + &borsh::to_vec(&SimulationReturnData::new(ism)).map_err(|_| ProgramError::BorshIoError)?[..], ); Ok(()) @@ -499,7 +497,7 @@ fn get_recipient_ism( // If they returned an encoded Option::::None, then use // the default ISM. Option::::try_from_slice(&returned_data[..]) - .map_err(|err| ProgramError::BorshIoError(err.to_string()))? + .map_err(|_| ProgramError::BorshIoError)? .unwrap_or(default_ism) } } else { @@ -600,13 +598,13 @@ fn outbox_dispatch( // Account 2: System program. let system_program_info = next_account_info(accounts_iter)?; - if system_program_info.key != &solana_program::system_program::id() { + if system_program_info.key != &system_program::ID { return Err(ProgramError::InvalidArgument); } // Account 3: SPL Noop program. let spl_noop_info = next_account_info(accounts_iter)?; - if spl_noop_info.key != &spl_noop::id() { + if spl_noop_info.key != &account_utils::SPL_NOOP_PROGRAM_ID { return Err(ProgramError::InvalidArgument); } @@ -750,9 +748,8 @@ fn outbox_get_count(program_id: &Pubkey, accounts: &[AccountInfo]) -> ProgramRes // may end with zero byte(s), which are incorrectly truncated as // simulated transaction return data. // See `SimulationReturnData` for details. - let bytes = SimulationReturnData::new(count.to_le_bytes()) - .try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?; + let bytes = borsh::to_vec(&SimulationReturnData::new(count.to_le_bytes())) + .map_err(|_| ProgramError::BorshIoError)?; set_return_data(&bytes[..]); Ok(()) } @@ -786,9 +783,8 @@ fn outbox_get_latest_checkpoint(program_id: &Pubkey, accounts: &[AccountInfo]) - // may end with zero byte(s), which are incorrectly truncated as // simulated transaction return data. // See `SimulationReturnData` for details. - let bytes = SimulationReturnData::new(ret_buf.to_vec()) - .try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?; + let bytes = borsh::to_vec(&SimulationReturnData::new(ret_buf.to_vec())) + .map_err(|_| ProgramError::BorshIoError)?; set_return_data(&bytes[..]); Ok(()) } @@ -814,9 +810,8 @@ fn outbox_get_root(program_id: &Pubkey, accounts: &[AccountInfo]) -> ProgramResu // may end with zero byte(s), which are incorrectly truncated as // simulated transaction return data. // See `SimulationReturnData` for details. - let bytes = SimulationReturnData::new(root) - .try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?; + let bytes = + borsh::to_vec(&SimulationReturnData::new(root)).map_err(|_| ProgramError::BorshIoError)?; set_return_data(&bytes[..]); Ok(()) } @@ -836,9 +831,8 @@ fn get_owner(program_id: &Pubkey, accounts: &[AccountInfo]) -> ProgramResult { // may end with zero byte(s), which are incorrectly truncated as // simulated transaction return data. // See `SimulationReturnData` for details. - let bytes = SimulationReturnData::new(outbox.owner) - .try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?; + let bytes = borsh::to_vec(&SimulationReturnData::new(outbox.owner)) + .map_err(|_| ProgramError::BorshIoError)?; set_return_data(&bytes[..]); Ok(()) } diff --git a/rust/sealevel/programs/test-send-receiver/Cargo.toml b/rust/sealevel/programs/test-send-receiver/Cargo.toml index 785080d8774..4c878853230 100644 --- a/rust/sealevel/programs/test-send-receiver/Cargo.toml +++ b/rust/sealevel/programs/test-send-receiver/Cargo.toml @@ -19,6 +19,7 @@ borsh.workspace = true solana-program-test = { workspace = true, optional = true } solana-program.workspace = true solana-sdk = { workspace = true, optional = true } +solana-system-interface.workspace = true spl-noop = { workspace = true, optional = true } account-utils = { path = "../../libraries/account-utils" } diff --git a/rust/sealevel/programs/test-send-receiver/src/lib.rs b/rust/sealevel/programs/test-send-receiver/src/lib.rs index 568ef4b4fa2..8937f109c2e 100644 --- a/rust/sealevel/programs/test-send-receiver/src/lib.rs +++ b/rust/sealevel/programs/test-send-receiver/src/lib.rs @@ -1,5 +1,6 @@ //! A test program that sends and receives messages. +#![allow(unexpected_cfgs)] #![deny(warnings)] #![deny(missing_docs)] #![deny(unsafe_code)] diff --git a/rust/sealevel/programs/test-send-receiver/src/program.rs b/rust/sealevel/programs/test-send-receiver/src/program.rs index 46884ea4008..c1cdf432e99 100644 --- a/rust/sealevel/programs/test-send-receiver/src/program.rs +++ b/rust/sealevel/programs/test-send-receiver/src/program.rs @@ -20,9 +20,9 @@ use solana_program::{ program_error::ProgramError, pubkey::Pubkey, rent::Rent, - system_program, sysvar::Sysvar, }; +use solana_system_interface::program as system_program; #[cfg(not(feature = "no-entrypoint"))] solana_program::entrypoint!(process_instruction); @@ -406,10 +406,7 @@ fn get_interchain_security_module(_program_id: &Pubkey, accounts: &[AccountInfo] match storage.ism_return_data_mode { IsmReturnDataMode::EncodeOption => { set_return_data( - &storage - .ism - .try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?[..], + &borsh::to_vec(&storage.ism).map_err(|_| ProgramError::BorshIoError)?[..], ); } IsmReturnDataMode::ReturnNothing => { @@ -457,9 +454,8 @@ fn set_account_meta_return_data(program_id: &Pubkey) -> ProgramResult { // may end with zero byte(s), which are incorrectly truncated as // simulated transaction return data. // See `SimulationReturnData` for details. - let bytes = SimulationReturnData::new(account_metas) - .try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string()))?; + let bytes = borsh::to_vec(&SimulationReturnData::new(account_metas)) + .map_err(|_| ProgramError::BorshIoError)?; set_return_data(&bytes[..]); Ok(()) diff --git a/rust/sealevel/programs/test-send-receiver/src/test_client.rs b/rust/sealevel/programs/test-send-receiver/src/test_client.rs index 2f1539d9fe6..79e99865b32 100644 --- a/rust/sealevel/programs/test-send-receiver/src/test_client.rs +++ b/rust/sealevel/programs/test-send-receiver/src/test_client.rs @@ -1,13 +1,12 @@ //! Test client for the TestSendReceiver program. -use borsh::BorshSerialize; use solana_program::{ instruction::{AccountMeta, Instruction}, pubkey::Pubkey, - system_program, }; use solana_program_test::*; use solana_sdk::{signature::Signature, signature::Signer, signer::keypair::Keypair}; +use solana_system_interface::program as system_program; use hyperlane_sealevel_mailbox::{ instruction::OutboxDispatch, mailbox_dispatched_message_pda_seeds, @@ -44,9 +43,7 @@ impl TestSendReceiverTestClient { let instruction = Instruction { program_id, - data: TestSendReceiverInstruction::Init(mailbox_id()) - .try_to_vec() - .unwrap(), + data: borsh::to_vec(&TestSendReceiverInstruction::Init(mailbox_id())).unwrap(), accounts: vec![ // 0. `[executable]` System program. // 1. `[signer]` Payer. @@ -78,11 +75,10 @@ impl TestSendReceiverTestClient { let instruction = Instruction { program_id, - data: TestSendReceiverInstruction::SetInterchainSecurityModule( + data: borsh::to_vec(&TestSendReceiverInstruction::SetInterchainSecurityModule( ism, ism_return_data_mode, - ) - .try_to_vec() + )) .unwrap(), accounts: vec![ // 0. `[writeable]` Storage PDA. @@ -110,9 +106,7 @@ impl TestSendReceiverTestClient { let instruction = Instruction { program_id, - data: TestSendReceiverInstruction::SetHandleMode(mode) - .try_to_vec() - .unwrap(), + data: borsh::to_vec(&TestSendReceiverInstruction::SetHandleMode(mode)).unwrap(), accounts: vec![ // 0. `[writeable]` Storage PDA. AccountMeta::new(storage_pda_key, false), @@ -151,9 +145,7 @@ impl TestSendReceiverTestClient { let instruction = Instruction { program_id, - data: TestSendReceiverInstruction::Dispatch(outbox_dispatch) - .try_to_vec() - .unwrap(), + data: borsh::to_vec(&TestSendReceiverInstruction::Dispatch(outbox_dispatch)).unwrap(), accounts: vec![ // 0. `[executable]` The Mailbox program. // And now the accounts expected by the Mailbox's OutboxDispatch instruction: @@ -169,7 +161,7 @@ impl TestSendReceiverTestClient { AccountMeta::new(mailbox_accounts.outbox, false), AccountMeta::new_readonly(dispatch_authority_key, false), AccountMeta::new_readonly(system_program::id(), false), - AccountMeta::new_readonly(spl_noop::id(), false), + AccountMeta::new_readonly(account_utils::SPL_NOOP_PROGRAM_ID, false), AccountMeta::new(self.payer.pubkey(), true), AccountMeta::new(unique_message_account_keypair.pubkey(), true), AccountMeta::new(dispatched_message_account_key, false), diff --git a/rust/sealevel/programs/validator-announce/Cargo.toml b/rust/sealevel/programs/validator-announce/Cargo.toml index d508349338f..904c7d97722 100644 --- a/rust/sealevel/programs/validator-announce/Cargo.toml +++ b/rust/sealevel/programs/validator-announce/Cargo.toml @@ -10,7 +10,11 @@ no-entrypoint = [] [dependencies] borsh.workspace = true +# Required to allow dependencies `getrandom` but to preserve determinism required by programs, see +# https://solana.com/news/rust-to-solana +getrandom = { workspace = true, features = ["custom"] } solana-program.workspace = true +solana-system-interface.workspace = true thiserror.workspace = true account-utils = { path = "../../libraries/account-utils" } @@ -25,6 +29,7 @@ serializable-account-meta = { path = "../../libraries/serializable-account-meta" hex.workspace = true solana-program-test.workspace = true solana-sdk.workspace = true +solana-system-interface.workspace = true hyperlane-test-utils = { path = "../../libraries/test-utils" } [lib] diff --git a/rust/sealevel/programs/validator-announce/src/instruction.rs b/rust/sealevel/programs/validator-announce/src/instruction.rs index a94898fe3d3..dff07adf215 100644 --- a/rust/sealevel/programs/validator-announce/src/instruction.rs +++ b/rust/sealevel/programs/validator-announce/src/instruction.rs @@ -8,6 +8,7 @@ use solana_program::{ program_error::ProgramError, pubkey::Pubkey, }; +use solana_system_interface::program as system_program; use crate::validator_announce_pda_seeds; @@ -28,8 +29,7 @@ impl Instruction { /// Serializes an instruction into a byte vector. pub fn into_instruction_data(self) -> Result, ProgramError> { - self.try_to_vec() - .map_err(|err| ProgramError::BorshIoError(err.to_string())) + borsh::to_vec(&self).map_err(|_| ProgramError::BorshIoError) } } @@ -56,10 +56,7 @@ pub struct AnnounceInstruction { impl AnnounceInstruction { /// Returns the replay ID for this announcement. pub fn replay_id(&self) -> [u8; 32] { - let mut hasher = keccak::Hasher::default(); - hasher.hash(self.validator.as_bytes()); - hasher.hash(self.storage_location.as_bytes()); - hasher.result().to_bytes() + keccak::hashv(&[self.validator.as_bytes(), self.storage_location.as_bytes()]).to_bytes() } } @@ -85,7 +82,7 @@ pub fn init_instruction( // 2. `[writable]` The ValidatorAnnounce PDA account. let accounts = vec![ AccountMeta::new_readonly(payer, true), - AccountMeta::new_readonly(solana_program::system_program::id(), false), + AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new(validator_announce_account, false), ]; diff --git a/rust/sealevel/programs/validator-announce/src/lib.rs b/rust/sealevel/programs/validator-announce/src/lib.rs index f34419de086..a15ee749a1e 100644 --- a/rust/sealevel/programs/validator-announce/src/lib.rs +++ b/rust/sealevel/programs/validator-announce/src/lib.rs @@ -1,5 +1,6 @@ //! A contract for publicly announcing validator storage locations. +#![allow(unexpected_cfgs)] #![deny(warnings)] #![deny(missing_docs)] #![deny(unsafe_code)] diff --git a/rust/sealevel/programs/validator-announce/src/processor.rs b/rust/sealevel/programs/validator-announce/src/processor.rs index 409dc29e78d..881cfeaef46 100644 --- a/rust/sealevel/programs/validator-announce/src/processor.rs +++ b/rust/sealevel/programs/validator-announce/src/processor.rs @@ -10,9 +10,9 @@ use solana_program::{ program_error::ProgramError, pubkey::Pubkey, rent::Rent, - system_instruction, sysvar::Sysvar, }; +use solana_system_interface::{instruction as system_instruction, program as system_program}; use crate::{ accounts::{ @@ -58,7 +58,7 @@ pub fn process_init( init: InitInstruction, ) -> ProgramResult { let account_info_iter = &mut accounts.iter(); - let system_program_id = solana_program::system_program::id(); + let system_program_id = system_program::ID; // Account 0: The payer. let payer_info = next_account_info(account_info_iter)?; @@ -126,7 +126,7 @@ fn process_announce( announcement: AnnounceInstruction, ) -> ProgramResult { let account_info_iter = &mut accounts.iter(); - let system_program_id = solana_program::system_program::id(); + let system_program_id = system_program::ID; // Account 0: The payer. let payer_info = next_account_info(account_info_iter)?; @@ -303,7 +303,7 @@ fn update_validator_storage_locations<'a>( )?; } if existing_serialized_size != new_serialized_size { - validator_storage_locations_info.realloc(new_serialized_size, false)?; + validator_storage_locations_info.resize(new_serialized_size)?; } // Store the updated validator_storage_locations. diff --git a/rust/sealevel/programs/validator-announce/tests/functional.rs b/rust/sealevel/programs/validator-announce/tests/functional.rs index 450f88b88a8..9c7b911701f 100644 --- a/rust/sealevel/programs/validator-announce/tests/functional.rs +++ b/rust/sealevel/programs/validator-announce/tests/functional.rs @@ -8,13 +8,13 @@ use solana_program::{ instruction::{AccountMeta, Instruction}, pubkey, pubkey::Pubkey, - system_program, }; use solana_program_test::*; use solana_sdk::{ instruction::InstructionError, signature::Signer, signer::keypair::Keypair, transaction::TransactionError, }; +use solana_system_interface::program as system_program; use hyperlane_sealevel_validator_announce::{ accounts::{ @@ -40,7 +40,8 @@ fn validator_announce_id() -> Pubkey { fn get_test_mailbox() -> Pubkey { let mailbox_bytes = hex::decode(TEST_MAILBOX).unwrap(); - Pubkey::new(&mailbox_bytes[..]) + let mailbox_array: [u8; 32] = mailbox_bytes.try_into().unwrap(); + Pubkey::new_from_array(mailbox_array) } fn get_test_announcements() -> Vec<(Announcement, Vec)> { @@ -248,8 +249,7 @@ async fn assert_successful_announcement( assert_eq!( validator_storage_locations_account.data.len(), // Plus 1 for the initialized byte - expected_validator_storage_locations - .try_to_vec() + borsh::to_vec(&expected_validator_storage_locations) .unwrap() .len() + 1, diff --git a/rust/sealevel/rust-toolchain b/rust/sealevel/rust-toolchain index 1c8cfba9f59..4bd1ff459ff 100644 --- a/rust/sealevel/rust-toolchain +++ b/rust/sealevel/rust-toolchain @@ -1,3 +1,3 @@ [toolchain] -channel = "1.75.0" +channel = "1.86.0" profile = "default"