diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 89c62b6..66eae8c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,10 +20,16 @@ on: jobs: format-build-test: - runs-on: ubicloud + runs-on: ${{ vars.RUNNER }} timeout-minutes: 15 env: - CARGO_DRIFT_FFI_PATH: /usr/lib + CARGO_DRIFT_FFI_PATH: /usr/lib + strategy: + fail-fast: false + matrix: + features: + - "default" + - "fireblocks" steps: - name: Check out uses: actions/checkout@v4 @@ -42,7 +48,7 @@ jobs: ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}-${{ matrix.features }} - name: install latest libdrift_ffi_sys run: | # NB: this will break historic CI jobs (if breaking program changes happen) @@ -51,19 +57,46 @@ jobs: echo "downloading libdrift: $SO_URL" curl -L -o libdrift_ffi_sys.so "$SO_URL" sudo cp libdrift_ffi_sys.so $CARGO_DRIFT_FFI_PATH - - name: Build + - name: Build {{ matrix.features }} + if: ${{ matrix.features == 'default' }} run: | cargo -V cargo check - - name: Test + - name: Build ${{ matrix.features }} + if: ${{ matrix.features == 'fireblocks' }} + run: | + cargo check --features fireblocks + - name: Test ${{ matrix.features }} + if: ${{ matrix.features == 'default' }} env: - DRIFT_GATEWAY_KEY: ${{ secrets.DRIFT_GATEWAY_KEY }} + DRIFT_GATEWAY_KEY: ${{ secrets.TEST_PRIVATE_KEY }} TEST_DELEGATED_SIGNER: ${{ secrets.TEST_DELEGATED_SIGNER }} TEST_RPC_ENDPOINT: ${{ secrets.DEVNET_RPC_ENDPOINT }} TEST_MAINNET_RPC_ENDPOINT: ${{ secrets.MAINNET_RPC_ENDPOINT }} + # --test-threads, limit parallelism to prevent hitting RPC rate-limits + run: | + cargo -V + cp libdrift_ffi_sys.so ./target/debug/deps + cargo test --all --features mainnet -- --test-threads=2 + - name: Test ${{ matrix.features }} + if: ${{ matrix.features == 'fireblocks' }} + env: + DRIFT_GATEWAY_KEY: ${{ secrets.TEST_PRIVATE_KEY }} + TEST_DELEGATED_SIGNER: ${{ secrets.TEST_DELEGATED_SIGNER }} + TEST_RPC_ENDPOINT: ${{ secrets.DEVNET_RPC_ENDPOINT }} + TEST_MAINNET_RPC_ENDPOINT: ${{ secrets.MAINNET_RPC_ENDPOINT }} + RUST_LOG: info,fireblocks_solana_signer=debug + RPC_URL: ${{ secrets.DEVNET_RPC_ENDPOINT }} + FIREBLOCKS_SECRET: ${{ secrets.FIREBLOCKS_SECRET }} + FIREBLOCKS_API_KEY: ${{ secrets.FIREBLOCKS_API_KEY }} + FIREBLOCKS_ENDPOINT: ${{ vars.FIREBLOCKS_ENDPOINT }} + FIREBLOCKS_POLL_TIMEOUT: ${{ vars.FIREBLOCKS_POLL_TIMEOUT }} + FIREBLOCKS_POLL_INTERVAL: ${{ vars.FIREBLOCKS_POLL_INTERVAL }} + FIREBLOCKS_DEVNET: "true" + FIREBLOCKS_VAULT: ${{ vars.FIREBLOCKS_VAULT }} # --test-threads, limit parallelism to prevent hitting RPC rate-limits run: | cargo -V cp libdrift_ffi_sys.so ./target/debug/deps - cargo test --all -- --test-threads=2 + cargo test --all --features fireblocks -- --test-threads=2 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a8bc911..a082430 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,17 +1,19 @@ name: Release on: + workflow_dispatch: push: + branches: + - "fireblocks" tags: - - 'v*.*.*' - + - "v*.*.*" + env: REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }} jobs: docker: - runs-on: ubicloud + runs-on: ${{ vars.RUNNER }} permissions: contents: read packages: write @@ -22,7 +24,8 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Build image + - name: Build image (Tag Release) + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') run: | CARGO_VERSION=$(grep -Po '(?<=version = ")\d+\.\d+\.\d+' Cargo.toml) TAG_VERSION=${GITHUB_REF#refs/tags/v} @@ -32,16 +35,28 @@ jobs: exit 1 fi echo "Version $CARGO_VERSION matches tag" - - docker build -f Dockerfile .\ + IMAGE_NAME=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]') + docker build -f Dockerfile .\ -t "${REGISTRY}/${IMAGE_NAME}:${GITHUB_SHA::6}"\ -t "${REGISTRY}/${IMAGE_NAME}:${TAG_VERSION}"\ -t "${REGISTRY}/${IMAGE_NAME}:latest" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Build image (Manual Dispatch) + if: github.event_name == 'workflow_dispatch' || github.event_name == 'push' + run: | + echo "Building image from manual dispatch" + IMAGE_NAME=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]') + BRANCH_NAME=$(echo "${GITHUB_REF#refs/heads/}" | sed 's/[^a-zA-Z0-9._-]/-/g' | sed 's/--*/-/g' | sed 's/^-\|-$//g') + docker build -f Dockerfile .\ + -t "${REGISTRY}/${IMAGE_NAME}:${BRANCH_NAME}"\ + -t "${REGISTRY}/${IMAGE_NAME}:${GITHUB_SHA::6}" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Publish image run: | docker login ${REGISTRY} -u ${DOCKER_USERNAME} -p ${DOCKER_PASSWORD} + IMAGE_NAME=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]') docker image push --all-tags "${REGISTRY}/${IMAGE_NAME}" env: DOCKER_USERNAME: ${{ github.actor }} diff --git a/Cargo.lock b/Cargo.lock index 38e84e1..3b78604 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -121,7 +121,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb" dependencies = [ "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -238,7 +238,7 @@ dependencies = [ "actix-router", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -294,27 +294,27 @@ dependencies = [ [[package]] name = "agave-feature-set" -version = "2.3.6" +version = "2.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8e4bb8842e634f00f7f56bed7fcf67464bf2689378b3977350a8d0e6918a1ea" +checksum = "e35cc5b8887b993ba4975a23b6e098ee10db50e8e23ee3a9523035b7ca35b53b" dependencies = [ "ahash 0.8.12", "solana-epoch-schedule", - "solana-hash", - "solana-pubkey", - "solana-sha256-hasher", + "solana-hash 2.3.0", + "solana-pubkey 2.4.0", + "solana-sha256-hasher 2.3.0", "solana-svm-feature-set", ] [[package]] name = "agave-reserved-account-keys" -version = "2.3.6" +version = "2.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2343e5e83d2a33f965dd2fd18840351d821de9a5a427880a05069cc60ec18a81" +checksum = "685cb445fe51b7b8a914d1b7dd5a0ea0b106fb8ea9454e84c4cd726a5d87c571" dependencies = [ "agave-feature-set", - "solana-pubkey", - "solana-sdk-ids", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", ] [[package]] @@ -543,9 +543,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.19" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933" +checksum = "3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192" dependencies = [ "anstyle", "anstyle-parse", @@ -573,29 +573,29 @@ dependencies = [ [[package]] name = "anstyle-query" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9" +checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.9" +version = "3.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882" +checksum = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] name = "anyhow" -version = "1.0.98" +version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" +checksum = "b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100" [[package]] name = "argh" @@ -617,7 +617,7 @@ dependencies = [ "argh_shared", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -784,37 +784,15 @@ dependencies = [ "tokio", ] -[[package]] -name = "async-stream" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" -dependencies = [ - "async-stream-impl", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-stream-impl" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.104", -] - [[package]] name = "async-trait" -version = "0.1.88" +version = "0.1.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -851,11 +829,10 @@ dependencies = [ [[package]] name = "axum" -version = "0.7.9" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" +checksum = "021e862c184ae977658b36c4500f7feac3221ca5da43e3f25bd04ab6c79a29b5" dependencies = [ - "async-trait", "axum-core", "bytes", "futures-util", @@ -871,20 +848,19 @@ dependencies = [ "rustversion", "serde", "sync_wrapper", - "tower 0.5.2", + "tower", "tower-layer", "tower-service", ] [[package]] name = "axum-core" -version = "0.4.5" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" +checksum = "68464cd0412f486726fb3373129ef5d2993f90c34bc2bc1c1e9943b2f4fc7ca6" dependencies = [ - "async-trait", "bytes", - "futures-util", + "futures-core", "http 1.3.1", "http-body", "http-body-util", @@ -940,9 +916,9 @@ dependencies = [ [[package]] name = "bitflags" -version = "2.9.1" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" +checksum = "6a65b545ab31d687cff52899d4890855fec459eb6afe0da6417b8a18da87aa29" dependencies = [ "serde", ] @@ -991,6 +967,31 @@ dependencies = [ "generic-array", ] +[[package]] +name = "bon" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a0c21249ad725ebcadcb1b1885f8e3d56e8e6b8924f560268aab000982d637" +dependencies = [ + "bon-macros", + "rustversion", +] + +[[package]] +name = "bon-macros" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a660ebdea4d4d3ec7788cfc9c035b66efb66028b9b97bf6cde7023ccc8e77e28" +dependencies = [ + "darling 0.21.2", + "ident_case", + "prettyplease", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.106", +] + [[package]] name = "borsh" version = "0.10.4" @@ -1034,7 +1035,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -1061,9 +1062,9 @@ dependencies = [ [[package]] name = "brotli" -version = "8.0.1" +version = "8.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9991eea70ea4f293524138648e41ee89b0b2b12ddef3b255effa43c8056e0e0d" +checksum = "4bd8b9603c7aa97359dbd97ecf258968c95f3adddd6db2f7e7a5bef101c84560" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -1129,22 +1130,22 @@ dependencies = [ [[package]] name = "bytemuck" -version = "1.23.1" +version = "1.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c76a5792e44e4abe34d3abf15636779261d45a7450612059293d1d2cfc63422" +checksum = "3995eaeebcdf32f91f980d360f78732ddc061097ab4e39991ae7a6ace9194677" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.10.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "441473f2b4b0459a68628c744bc61d23e730fb00128b841d30fa4bb3972257e4" +checksum = "4f154e572231cb6ba2bd1176980827e3d5dc04cc183a75dea38109fbdd672d29" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -1170,9 +1171,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.30" +version = "1.2.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deec109607ca693028562ed836a5f1c4b8bd77755c4e132fc5ce11b0b6211ae7" +checksum = "3ee0f8803222ba5a7e2777dd72ca451868909b1ac410621b676adf07280e9b5f" dependencies = [ "jobserver", "libc", @@ -1199,7 +1200,7 @@ checksum = "45565fc9416b9896014f5732ac776f810ee53a66730c17e4020c3ec064a8f88f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -1262,9 +1263,12 @@ dependencies = [ [[package]] name = "const_panic" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b98d1483e98c9d67f341ab4b3915cfdc54740bd6f5cccc9226ee0535d86aa8fb" +checksum = "bb8a602185c3c95b52f86dc78e55a6df9a287a7a93ddbcf012509930880cf879" +dependencies = [ + "typewit", +] [[package]] name = "constant_time_eq" @@ -1311,18 +1315,18 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "core_extensions" -version = "1.5.3" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92c71dc07c9721607e7a16108336048ee978c3a8b129294534272e8bac96c0ee" +checksum = "42bb5e5d0269fd4f739ea6cedaf29c16d81c27a7ce7582008e90eb50dcd57003" dependencies = [ "core_extensions_proc_macros", ] [[package]] name = "core_extensions_proc_macros" -version = "1.5.3" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69f3b219d28b6e3b4ac87bc1fc522e0803ab22e055da177bff0068c4150c61a6" +checksum = "533d38ecd2709b7608fb8e18e4504deb99e9a72879e6aa66373a76d8dc4259ea" [[package]] name = "cpufeatures" @@ -1473,7 +1477,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -1482,8 +1486,18 @@ version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" dependencies = [ - "darling_core", - "darling_macro", + "darling_core 0.20.11", + "darling_macro 0.20.11", +] + +[[package]] +name = "darling" +version = "0.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08440b3dd222c3d0433e63e097463969485f112baff337dfdaca043a0d760570" +dependencies = [ + "darling_core 0.21.2", + "darling_macro 0.21.2", ] [[package]] @@ -1497,7 +1511,21 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.104", + "syn 2.0.106", +] + +[[package]] +name = "darling_core" +version = "0.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d25b7912bc28a04ab1b7715a68ea03aaa15662b43a1a4b2c480531fd19f8bf7e" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.106", ] [[package]] @@ -1506,9 +1534,20 @@ version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ - "darling_core", + "darling_core 0.20.11", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "darling_macro" +version = "0.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce154b9bea7fb0c8e8326e62d00354000c36e79770ff21b8c84e3aa267d9d531" +dependencies = [ + "darling_core 0.21.2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -1574,7 +1613,7 @@ checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", "unicode-xid", ] @@ -1606,7 +1645,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -1619,6 +1658,7 @@ dependencies = [ "drift-rs", "env_logger 0.11.8", "faster-hex", + "fireblocks-solana-signer", "futures-util", "log", "nanoid", @@ -1631,7 +1671,7 @@ dependencies = [ "solana-rpc-client-api", "solana-sdk", "solana-transaction-status", - "thiserror 2.0.12", + "thiserror 2.0.15", "tokio", "tokio-tungstenite 0.27.0", ] @@ -1639,20 +1679,20 @@ dependencies = [ [[package]] name = "drift-idl-gen" version = "0.2.0" -source = "git+https://github.com/drift-labs/drift-rs?rev=c6a3647#c6a36478806b0f255b12dd57497dcf62566e1081" +source = "git+https://github.com/CarteraMesh/drift-rs?branch=fireblocks#a649f8dd8d4279dc036c21a70b96953a5415fd88" dependencies = [ "proc-macro2", "quote", "serde", "serde_json", "sha2 0.10.9", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] name = "drift-pubsub-client" version = "0.1.1" -source = "git+https://github.com/drift-labs/drift-rs?rev=c6a3647#c6a36478806b0f255b12dd57497dcf62566e1081" +source = "git+https://github.com/CarteraMesh/drift-rs?branch=fireblocks#a649f8dd8d4279dc036c21a70b96953a5415fd88" dependencies = [ "futures-util", "gjson", @@ -1671,8 +1711,8 @@ dependencies = [ [[package]] name = "drift-rs" -version = "1.0.0-alpha.15" -source = "git+https://github.com/drift-labs/drift-rs?rev=c6a3647#c6a36478806b0f255b12dd57497dcf62566e1081" +version = "1.0.0-alpha.16" +source = "git+https://github.com/CarteraMesh/drift-rs?branch=fireblocks#a649f8dd8d4279dc036c21a70b96953a5415fd88" dependencies = [ "abi_stable", "ahash 0.8.12", @@ -1685,6 +1725,7 @@ dependencies = [ "drift-idl-gen", "drift-pubsub-client", "env_logger 0.11.8", + "fireblocks-solana-signer", "futures-util", "hex", "jupiter-swap-api-client", @@ -1843,6 +1884,51 @@ version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" +[[package]] +name = "fireblocks-signer-transport" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40116bd880143844da00f1f57192a16b70779fcecba3784a14d13f738fa79926" +dependencies = [ + "http 1.3.1", + "jsonwebtoken", + "rand 0.9.2", + "reqwest", + "serde", + "serde_json", + "sha2 0.10.9", + "thiserror 2.0.15", + "tracing", +] + +[[package]] +name = "fireblocks-solana-signer" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c786c28003c6d549584d9ccd3a9ea19eca72a83ffa1dc5920f0090203e04a004" +dependencies = [ + "base64 0.22.1", + "bincode", + "bon", + "ed25519-dalek", + "fireblocks-signer-transport", + "log", + "rand 0.9.2", + "serde", + "serde_json", + "sha2 0.10.9", + "solana-hash 3.0.0", + "solana-instruction 3.0.0", + "solana-keypair", + "solana-message 3.0.0", + "solana-pubkey 3.0.0", + "solana-signature 3.1.0", + "solana-signer 3.0.0", + "solana-transaction 3.0.0", + "thiserror 2.0.15", + "tracing", +] + [[package]] name = "five8" version = "0.2.1" @@ -1981,7 +2067,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -2097,7 +2183,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.10.0", + "indexmap", "slab", "tokio", "tokio-util", @@ -2106,9 +2192,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17da50a276f1e01e0ba6c029e47b7100754904ee8a278f886546e98575380785" +checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386" dependencies = [ "atomic-waker", "bytes", @@ -2116,7 +2202,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.3.1", - "indexmap 2.10.0", + "indexmap", "slab", "tokio", "tokio-util", @@ -2158,9 +2244,9 @@ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "hashbrown" -version = "0.15.4" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" [[package]] name = "heapless" @@ -2297,20 +2383,22 @@ checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f" [[package]] name = "hyper" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" +checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" dependencies = [ + "atomic-waker", "bytes", "futures-channel", - "futures-util", - "h2 0.4.11", + "futures-core", + "h2 0.4.12", "http 1.3.1", "http-body", "httparse", "httpdate", "itoa", "pin-project-lite", + "pin-utils", "smallvec", "tokio", "want", @@ -2507,16 +2595,6 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8a5a9a0ff0086c7a148acb942baaabeadf9504d10400b5a05645853729b9cd2" -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] - [[package]] name = "indexmap" version = "2.10.0" @@ -2524,7 +2602,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" dependencies = [ "equivalent", - "hashbrown 0.15.4", + "hashbrown 0.15.5", ] [[package]] @@ -2636,7 +2714,7 @@ checksum = "03343451ff899767262ec32146f6d559dd759fdadf42ff0e227c7c48f72594b4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -2674,10 +2752,25 @@ dependencies = [ "serde_json", ] +[[package]] +name = "jsonwebtoken" +version = "9.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a87cc7a48537badeae96744432de36f4be2b4a34a05a5ef32e9dd8a1c169dde" +dependencies = [ + "base64 0.22.1", + "js-sys", + "pem", + "ring", + "serde", + "serde_json", + "simple_asn1", +] + [[package]] name = "jupiter-swap-api-client" -version = "0.1.0" -source = "git+https://github.com/drift-labs/jupiter-swap-api-client#b699edf30ff1f561460579ee2504622e28f9a797" +version = "0.2.0" +source = "git+https://github.com/jup-ag/jupiter-swap-api-client#70aaffd957d59c19588df86e92ce3b94f24f7d0b" dependencies = [ "anyhow", "base64 0.22.1", @@ -2688,7 +2781,7 @@ dependencies = [ "serde_qs", "solana-account-decoder", "solana-sdk", - "thiserror 2.0.12", + "thiserror 2.0.15", ] [[package]] @@ -2724,9 +2817,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.174" +version = "0.2.175" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" +checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" [[package]] name = "libloading" @@ -2839,9 +2932,9 @@ checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" [[package]] name = "matchit" -version = "0.7.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" +checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" [[package]] name = "memchr" @@ -2885,6 +2978,16 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +[[package]] +name = "mime_guess" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +dependencies = [ + "mime", + "unicase", +] + [[package]] name = "miniz_oxide" version = "0.8.9" @@ -2962,7 +3065,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3002,7 +3105,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3061,7 +3164,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3120,6 +3223,16 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "pem" +version = "3.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38af38e8470ac9dee3ce1bae1af9c1671fffc44ddfd8bd1d0a3445bf349a8ef3" +dependencies = [ + "base64 0.22.1", + "serde", +] + [[package]] name = "percent-encoding" version = "2.3.1" @@ -3133,7 +3246,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" dependencies = [ "fixedbitset", - "indexmap 2.10.0", + "indexmap", ] [[package]] @@ -3153,7 +3266,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3232,7 +3345,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff24dfcda44452b9816fff4cd4227e1bb73ff5a2f1bc1105aa92fb8565ce44d2" dependencies = [ "proc-macro2", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3255,18 +3368,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.95" +version = "1.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" dependencies = [ "unicode-ident", ] [[package]] name = "prost" -version = "0.13.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" +checksum = "7231bd9b3d3d33c86b58adbac74b5ec0ad9f496b19d22801d773636feaa95f3d" dependencies = [ "bytes", "prost-derive", @@ -3274,9 +3387,9 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.13.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" +checksum = "ac6c3320f9abac597dcbc668774ef006702672474aad53c6d596b62e487b40b1" dependencies = [ "heck 0.5.0", "itertools 0.14.0", @@ -3287,29 +3400,31 @@ dependencies = [ "prettyplease", "prost", "prost-types", + "pulldown-cmark", + "pulldown-cmark-to-cmark", "regex", - "syn 2.0.104", + "syn 2.0.106", "tempfile", ] [[package]] name = "prost-derive" -version = "0.13.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" +checksum = "9120690fafc389a67ba3803df527d0ec9cbbc9cc45e4cc20b332996dfb672425" dependencies = [ "anyhow", "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] name = "prost-types" -version = "0.13.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16" +checksum = "b9b4db3d6da204ed77bb26ba83b6122a73aeb2e87e25fbf7ad2e84c4ccbf8f72" dependencies = [ "prost", ] @@ -3343,6 +3458,26 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "pulldown-cmark" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e8bbe1a966bd2f362681a44f6edce3c2310ac21e4d5067a6e7ec396297a6ea0" +dependencies = [ + "bitflags", + "memchr", + "unicase", +] + +[[package]] +name = "pulldown-cmark-to-cmark" +version = "21.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5b6a0769a491a08b31ea5c62494a8f144ee0987d86d670a8af4df1e1b7cde75" +dependencies = [ + "pulldown-cmark", +] + [[package]] name = "qstring" version = "0.7.2" @@ -3366,7 +3501,7 @@ dependencies = [ "rustc-hash", "rustls", "socket2 0.5.10", - "thiserror 2.0.12", + "thiserror 2.0.15", "tokio", "tracing", "web-time", @@ -3387,7 +3522,7 @@ dependencies = [ "rustls", "rustls-pki-types", "slab", - "thiserror 2.0.12", + "thiserror 2.0.15", "tinyvec", "tracing", "web-time", @@ -3530,9 +3665,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.16" +version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7251471db004e509f4e75a62cca9435365b5ec7bcdff530d612ac7c87c44a792" +checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" dependencies = [ "bitflags", ] @@ -3592,9 +3727,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.22" +version = "0.12.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbc931937e6ca3a06e3b6c0aa7841849b160a90351d6ab467a8b9b9959767531" +checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb" dependencies = [ "async-compression", "base64 0.22.1", @@ -3603,7 +3738,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.4.11", + "h2 0.4.12", "http 1.3.1", "http-body", "http-body-util", @@ -3614,6 +3749,7 @@ dependencies = [ "js-sys", "log", "mime", + "mime_guess", "native-tls", "percent-encoding", "pin-project-lite", @@ -3628,7 +3764,7 @@ dependencies = [ "tokio-native-tls", "tokio-rustls", "tokio-util", - "tower 0.5.2", + "tower", "tower-http", "tower-service", "url", @@ -3754,9 +3890,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.30" +version = "0.23.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "069a8df149a16b1a12dcc31497c3396a173844be3cac4bd40c9e7671fef96671" +checksum = "c0ebcbd2f03de0fc1122ad9bb24b127a5a6cd51d72604a3f3c50ac459762b6cc" dependencies = [ "log", "once_cell", @@ -3776,16 +3912,7 @@ dependencies = [ "openssl-probe", "rustls-pki-types", "schannel", - "security-framework 3.2.0", -] - -[[package]] -name = "rustls-pemfile" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" -dependencies = [ - "rustls-pki-types", + "security-framework 3.3.0", ] [[package]] @@ -3811,9 +3938,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.21" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "ryu" @@ -3857,9 +3984,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" +checksum = "80fb1d92c5028aa318b4b8bd7302a5bfcf48be96a37fc6fc790f806b0004ee0c" dependencies = [ "bitflags", "core-foundation 0.10.1", @@ -3919,14 +4046,14 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] name = "serde_json" -version = "1.0.141" +version = "1.0.142" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b9eff21ebe718216c6ec64e1d9ac57087aad11efc64e32002bce4a0d4c03d3" +checksum = "030fedb782600dcbd6f02d479bf0d817ac3bb40d644745b769d6a96bc3afc5a7" dependencies = [ "itoa", "memchr", @@ -3974,10 +4101,10 @@ version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de90945e6565ce0d9a25098082ed4ee4002e047cb59892c318d66821e14bb30f" dependencies = [ - "darling", + "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -4056,9 +4183,9 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.5" +version = "1.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" +checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" dependencies = [ "libc", ] @@ -4075,6 +4202,18 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" +[[package]] +name = "simple_asn1" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb" +dependencies = [ + "num-bigint", + "num-traits", + "thiserror 2.0.15", + "time", +] + [[package]] name = "siphasher" version = "0.3.11" @@ -4083,9 +4222,9 @@ checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] name = "slab" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d" +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] name = "smallvec" @@ -4125,17 +4264,17 @@ dependencies = [ "serde_derive", "solana-account-info", "solana-clock", - "solana-instruction", - "solana-pubkey", - "solana-sdk-ids", + "solana-instruction 2.3.0", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", "solana-sysvar", ] [[package]] name = "solana-account-decoder" -version = "2.3.6" +version = "2.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2368a6ff4b9077501a13dca5b409947757c7b3690213c5cd5bd513a89bf343f1" +checksum = "a5963fbe3e1099613c270fd5ebc0ff5c6e88a2bea2505b6e348daa0466282cd6" dependencies = [ "Inflector", "base64 0.22.1", @@ -4152,14 +4291,14 @@ dependencies = [ "solana-config-program-client", "solana-epoch-schedule", "solana-fee-calculator", - "solana-instruction", + "solana-instruction 2.3.0", "solana-loader-v3-interface", "solana-nonce", "solana-program-option", "solana-program-pack", - "solana-pubkey", + "solana-pubkey 2.4.0", "solana-rent", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", "solana-slot-hashes", "solana-slot-history", "solana-stake-interface", @@ -4170,15 +4309,15 @@ dependencies = [ "spl-token-2022", "spl-token-group-interface", "spl-token-metadata-interface", - "thiserror 2.0.12", + "thiserror 2.0.15", "zstd", ] [[package]] name = "solana-account-decoder-client-types" -version = "2.3.6" +version = "2.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84fe163318f8531029ec3e1796f55f16b61dcf194d9502076cbe3505a815d9d5" +checksum = "59f2101f4cc33e3fbfc8d1d23ea35d8532d6f1fa6a7c7081742e886f98f33126" dependencies = [ "base64 0.22.1", "bs58", @@ -4186,7 +4325,7 @@ dependencies = [ "serde_derive", "serde_json", "solana-account", - "solana-pubkey", + "solana-pubkey 2.4.0", "zstd", ] @@ -4198,9 +4337,26 @@ checksum = "c8f5152a288ef1912300fc6efa6c2d1f9bb55d9398eb6c72326360b8063987da" dependencies = [ "bincode", "serde", - "solana-program-error", + "solana-program-error 2.2.2", "solana-program-memory", - "solana-pubkey", + "solana-pubkey 2.4.0", +] + +[[package]] +name = "solana-address" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a7a457086457ea9db9a5199d719dc8734dc2d0342fad0d8f77633c31eb62f19" +dependencies = [ + "five8", + "five8_const", + "serde", + "serde_derive", + "solana-atomic-u64 3.0.0", + "solana-define-syscall 3.0.0", + "solana-program-error 3.0.0", + "solana-sanitize 3.0.0", + "solana-sha256-hasher 3.0.0", ] [[package]] @@ -4214,9 +4370,9 @@ dependencies = [ "serde", "serde_derive", "solana-clock", - "solana-instruction", - "solana-pubkey", - "solana-sdk-ids", + "solana-instruction 2.3.0", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", "solana-slot-hashes", ] @@ -4229,6 +4385,15 @@ dependencies = [ "parking_lot", ] +[[package]] +name = "solana-atomic-u64" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a933ff1e50aff72d02173cfcd7511bd8540b027ee720b75f353f594f834216d0" +dependencies = [ + "parking_lot", +] + [[package]] name = "solana-big-mod-exp" version = "2.2.1" @@ -4237,7 +4402,7 @@ checksum = "75db7f2bbac3e62cfd139065d15bcda9e2428883ba61fc8d27ccb251081e7567" dependencies = [ "num-bigint", "num-traits", - "solana-define-syscall", + "solana-define-syscall 2.3.0", ] [[package]] @@ -4248,7 +4413,7 @@ checksum = "19a3787b8cf9c9fe3dd360800e8b70982b9e5a8af9e11c354b6665dd4a003adc" dependencies = [ "bincode", "serde", - "solana-instruction", + "solana-instruction 2.3.0", ] [[package]] @@ -4258,9 +4423,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1a0801e25a1b31a14494fc80882a036be0ffd290efc4c2d640bfcca120a4672" dependencies = [ "blake3", - "solana-define-syscall", - "solana-hash", - "solana-sanitize", + "solana-define-syscall 2.3.0", + "solana-hash 2.3.0", + "solana-sanitize 2.2.1", ] [[package]] @@ -4274,8 +4439,8 @@ dependencies = [ "ark-ff", "ark-serialize", "bytemuck", - "solana-define-syscall", - "thiserror 2.0.12", + "solana-define-syscall 2.3.0", + "thiserror 2.0.15", ] [[package]] @@ -4297,16 +4462,16 @@ dependencies = [ "solana-account", "solana-commitment-config", "solana-epoch-info", - "solana-hash", - "solana-instruction", + "solana-hash 2.3.0", + "solana-instruction 2.3.0", "solana-keypair", - "solana-message", - "solana-pubkey", - "solana-signature", - "solana-signer", + "solana-message 2.4.0", + "solana-pubkey 2.4.0", + "solana-signature 2.3.0", + "solana-signer 2.2.1", "solana-system-interface", - "solana-transaction", - "solana-transaction-error", + "solana-transaction 2.2.3", + "solana-transaction-error 2.2.1", ] [[package]] @@ -4317,7 +4482,7 @@ checksum = "1bb482ab70fced82ad3d7d3d87be33d466a3498eb8aa856434ff3c0dfc2e2e31" dependencies = [ "serde", "serde_derive", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", "solana-sdk-macro", "solana-sysvar-id", ] @@ -4330,7 +4495,7 @@ checksum = "7ace9fea2daa28354d107ea879cff107181d85cd4e0f78a2bedb10e1a428c97e" dependencies = [ "serde", "serde_derive", - "solana-hash", + "solana-hash 2.3.0", ] [[package]] @@ -4352,8 +4517,8 @@ dependencies = [ "borsh 1.5.7", "serde", "serde_derive", - "solana-instruction", - "solana-sdk-ids", + "solana-instruction 2.3.0", + "solana-sdk-ids 2.2.1", ] [[package]] @@ -4376,25 +4541,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8dc71126edddc2ba014622fc32d0f5e2e78ec6c5a1e0eb511b85618c09e9ea11" dependencies = [ "solana-account-info", - "solana-define-syscall", - "solana-instruction", - "solana-program-error", - "solana-pubkey", + "solana-define-syscall 2.3.0", + "solana-instruction 2.3.0", + "solana-program-error 2.2.2", + "solana-pubkey 2.4.0", "solana-stable-layout", ] [[package]] name = "solana-curve25519" -version = "2.3.6" +version = "2.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad6269c8dded5d571c75a4a32997514f57f23757f2e18549ca3040586465e336" +checksum = "b162f50499b391b785d57b2f2c73e3b9754d88fd4894bef444960b00bda8dcca" dependencies = [ "bytemuck", "bytemuck_derive", "curve25519-dalek 4.1.3", - "solana-define-syscall", + "solana-define-syscall 2.3.0", "subtle", - "thiserror 2.0.12", + "thiserror 2.0.15", ] [[package]] @@ -4412,6 +4577,12 @@ 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-derivation-path" version = "2.2.1" @@ -4433,9 +4604,9 @@ dependencies = [ "bytemuck_derive", "ed25519-dalek", "solana-feature-set", - "solana-instruction", + "solana-instruction 2.3.0", "solana-precompile-error", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", ] [[package]] @@ -4456,8 +4627,8 @@ checksum = "86b575d3dd323b9ea10bb6fe89bf6bf93e249b215ba8ed7f68f1a3633f384db7" dependencies = [ "serde", "serde_derive", - "solana-hash", - "solana-sdk-ids", + "solana-hash 2.3.0", + "solana-sdk-ids 2.2.1", "solana-sdk-macro", "solana-sysvar-id", ] @@ -4469,8 +4640,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96c5fd2662ae7574810904585fd443545ed2b568dbd304b25a31e79ccc76e81b" dependencies = [ "siphasher", - "solana-hash", - "solana-pubkey", + "solana-hash 2.3.0", + "solana-pubkey 2.4.0", ] [[package]] @@ -4481,7 +4652,7 @@ checksum = "3fce071fbddecc55d727b1d7ed16a629afe4f6e4c217bc8d00af3b785f6f67ed" dependencies = [ "serde", "serde_derive", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", "solana-sdk-macro", "solana-sysvar-id", ] @@ -4496,15 +4667,15 @@ dependencies = [ "serde_derive", "solana-address-lookup-table-interface", "solana-clock", - "solana-hash", - "solana-instruction", + "solana-hash 2.3.0", + "solana-instruction 2.3.0", "solana-keccak-hasher", - "solana-message", + "solana-message 2.4.0", "solana-nonce", - "solana-pubkey", - "solana-sdk-ids", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", "solana-system-interface", - "thiserror 2.0.12", + "thiserror 2.0.15", ] [[package]] @@ -4518,11 +4689,11 @@ dependencies = [ "serde_derive", "solana-account", "solana-account-info", - "solana-instruction", - "solana-program-error", - "solana-pubkey", + "solana-instruction 2.3.0", + "solana-program-error 2.2.2", + "solana-pubkey 2.4.0", "solana-rent", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", "solana-system-interface", ] @@ -4535,9 +4706,9 @@ dependencies = [ "ahash 0.8.12", "lazy_static", "solana-epoch-schedule", - "solana-hash", - "solana-pubkey", - "solana-sha256-hasher", + "solana-hash 2.3.0", + "solana-pubkey 2.4.0", + "solana-sha256-hasher 2.3.0", ] [[package]] @@ -4559,7 +4730,7 @@ checksum = "33adf673581c38e810bf618f745bf31b683a0a4a4377682e6aaac5d9a058dd4e" dependencies = [ "serde", "serde_derive", - "solana-message", + "solana-message 2.4.0", "solana-native-token", ] @@ -4579,17 +4750,17 @@ dependencies = [ "solana-cluster-type", "solana-epoch-schedule", "solana-fee-calculator", - "solana-hash", + "solana-hash 2.3.0", "solana-inflation", "solana-keypair", "solana-logger", "solana-poh-config", - "solana-pubkey", + "solana-pubkey 2.4.0", "solana-rent", - "solana-sdk-ids", - "solana-sha256-hasher", + "solana-sdk-ids 2.2.1", + "solana-sha256-hasher 2.3.0", "solana-shred-version", - "solana-signer", + "solana-signer 2.2.1", "solana-time-utils", ] @@ -4616,11 +4787,24 @@ dependencies = [ "js-sys", "serde", "serde_derive", - "solana-atomic-u64", - "solana-sanitize", + "solana-atomic-u64 2.2.1", + "solana-sanitize 2.2.1", "wasm-bindgen", ] +[[package]] +name = "solana-hash" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a063723b9e84c14d8c0d2cdf0268207dc7adecf546e31251f9e07c7b00b566c" +dependencies = [ + "five8", + "serde", + "serde_derive", + "solana-atomic-u64 3.0.0", + "solana-sanitize 3.0.0", +] + [[package]] name = "solana-inflation" version = "2.2.1" @@ -4644,11 +4828,32 @@ dependencies = [ "num-traits", "serde", "serde_derive", - "solana-define-syscall", - "solana-pubkey", + "solana-define-syscall 2.3.0", + "solana-pubkey 2.4.0", "wasm-bindgen", ] +[[package]] +name = "solana-instruction" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df4e8fcba01d7efa647ed20a081c234475df5e11a93acb4393cc2c9a7b99bab" +dependencies = [ + "solana-define-syscall 3.0.0", + "solana-instruction-error", + "solana-pubkey 3.0.0", +] + +[[package]] +name = "solana-instruction-error" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f0d483b8ae387178d9210e0575b666b05cdd4bd0f2f188128249f6e454d39d" +dependencies = [ + "num-traits", + "solana-program-error 3.0.0", +] + [[package]] name = "solana-instructions-sysvar" version = "2.2.2" @@ -4657,11 +4862,11 @@ checksum = "e0e85a6fad5c2d0c4f5b91d34b8ca47118fc593af706e523cdbedf846a954f57" dependencies = [ "bitflags", "solana-account-info", - "solana-instruction", - "solana-program-error", - "solana-pubkey", - "solana-sanitize", - "solana-sdk-ids", + "solana-instruction 2.3.0", + "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", "solana-sysvar-id", ] @@ -4673,9 +4878,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7aeb957fbd42a451b99235df4942d96db7ef678e8d5061ef34c9b34cae12f79" dependencies = [ "sha3", - "solana-define-syscall", - "solana-hash", - "solana-sanitize", + "solana-define-syscall 2.3.0", + "solana-hash 2.3.0", + "solana-sanitize 2.2.1", ] [[package]] @@ -4689,11 +4894,11 @@ dependencies = [ "five8", "rand 0.7.3", "solana-derivation-path", - "solana-pubkey", + "solana-pubkey 2.4.0", "solana-seed-derivable", "solana-seed-phrase", - "solana-signature", - "solana-signer", + "solana-signature 2.3.0", + "solana-signer 2.2.1", "wasm-bindgen", ] @@ -4705,7 +4910,7 @@ checksum = "4a6360ac2fdc72e7463565cd256eedcf10d7ef0c28a1249d261ec168c1b55cdd" dependencies = [ "serde", "serde_derive", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", "solana-sdk-macro", "solana-sysvar-id", ] @@ -4719,9 +4924,9 @@ dependencies = [ "serde", "serde_bytes", "serde_derive", - "solana-instruction", - "solana-pubkey", - "solana-sdk-ids", + "solana-instruction 2.3.0", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", ] [[package]] @@ -4733,9 +4938,9 @@ dependencies = [ "serde", "serde_bytes", "serde_derive", - "solana-instruction", - "solana-pubkey", - "solana-sdk-ids", + "solana-instruction 2.3.0", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", "solana-system-interface", ] @@ -4748,9 +4953,9 @@ dependencies = [ "serde", "serde_bytes", "serde_derive", - "solana-instruction", - "solana-pubkey", - "solana-sdk-ids", + "solana-instruction 2.3.0", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", "solana-system-interface", ] @@ -4779,24 +4984,43 @@ dependencies = [ "serde", "serde_derive", "solana-bincode", - "solana-hash", - "solana-instruction", - "solana-pubkey", - "solana-sanitize", - "solana-sdk-ids", - "solana-short-vec", + "solana-hash 2.3.0", + "solana-instruction 2.3.0", + "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", - "solana-transaction-error", + "solana-transaction-error 2.2.1", "wasm-bindgen", ] +[[package]] +name = "solana-message" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c33e9fa7871147ac3235a7320386afa2dc64bbb21ca3cf9d79a6f6827313176" +dependencies = [ + "bincode", + "lazy_static", + "serde", + "serde_derive", + "solana-hash 3.0.0", + "solana-instruction 3.0.0", + "solana-pubkey 3.0.0", + "solana-sanitize 3.0.0", + "solana-sdk-ids 3.0.0", + "solana-short-vec 3.0.0", + "solana-transaction-error 3.0.0", +] + [[package]] name = "solana-msg" version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36a1a14399afaabc2781a1db09cb14ee4cc4ee5c7a5a3cfcc601811379a8092" dependencies = [ - "solana-define-syscall", + "solana-define-syscall 2.3.0", ] [[package]] @@ -4814,9 +5038,9 @@ dependencies = [ "serde", "serde_derive", "solana-fee-calculator", - "solana-hash", - "solana-pubkey", - "solana-sha256-hasher", + "solana-hash 2.3.0", + "solana-pubkey 2.4.0", + "solana-sha256-hasher 2.3.0", ] [[package]] @@ -4826,9 +5050,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cde971a20b8dbf60144d6a84439dda86b5466e00e2843091fe731083cda614da" dependencies = [ "solana-account", - "solana-hash", + "solana-hash 2.3.0", "solana-nonce", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", ] [[package]] @@ -4838,13 +5062,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b526398ade5dea37f1f147ce55dae49aa017a5d7326606359b0445ca8d946581" dependencies = [ "num_enum", - "solana-hash", + "solana-hash 2.3.0", "solana-packet", - "solana-pubkey", - "solana-sanitize", - "solana-sha256-hasher", - "solana-signature", - "solana-signer", + "solana-pubkey 2.4.0", + "solana-sanitize 2.2.1", + "solana-sha256-hasher 2.3.0", + "solana-signature 2.3.0", + "solana-signer 2.2.1", ] [[package]] @@ -4890,10 +5114,10 @@ dependencies = [ "lazy_static", "solana-ed25519-program", "solana-feature-set", - "solana-message", + "solana-message 2.4.0", "solana-precompile-error", - "solana-pubkey", - "solana-sdk-ids", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", "solana-secp256k1-program", "solana-secp256r1-program", ] @@ -4904,9 +5128,9 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81a57a24e6a4125fc69510b6774cd93402b943191b6cddad05de7281491c90fe" dependencies = [ - "solana-pubkey", - "solana-signature", - "solana-signer", + "solana-pubkey 2.4.0", + "solana-signature 2.3.0", + "solana-signer 2.2.1", ] [[package]] @@ -4936,7 +5160,7 @@ dependencies = [ "serde_derive", "solana-account-info", "solana-address-lookup-table-interface", - "solana-atomic-u64", + "solana-atomic-u64 2.2.1", "solana-big-mod-exp", "solana-bincode", "solana-blake3-hasher", @@ -4944,39 +5168,39 @@ dependencies = [ "solana-clock", "solana-cpi", "solana-decode-error", - "solana-define-syscall", + "solana-define-syscall 2.3.0", "solana-epoch-rewards", "solana-epoch-schedule", "solana-example-mocks", "solana-feature-gate-interface", "solana-fee-calculator", - "solana-hash", - "solana-instruction", + "solana-hash 2.3.0", + "solana-instruction 2.3.0", "solana-instructions-sysvar", "solana-keccak-hasher", "solana-last-restart-slot", "solana-loader-v2-interface", "solana-loader-v3-interface", "solana-loader-v4-interface", - "solana-message", + "solana-message 2.4.0", "solana-msg", "solana-native-token", "solana-nonce", "solana-program-entrypoint", - "solana-program-error", + "solana-program-error 2.2.2", "solana-program-memory", "solana-program-option", "solana-program-pack", - "solana-pubkey", + "solana-pubkey 2.4.0", "solana-rent", - "solana-sanitize", - "solana-sdk-ids", + "solana-sanitize 2.2.1", + "solana-sdk-ids 2.2.1", "solana-sdk-macro", "solana-secp256k1-recover", "solana-serde-varint", "solana-serialize-utils", - "solana-sha256-hasher", - "solana-short-vec", + "solana-sha256-hasher 2.3.0", + "solana-short-vec 2.2.1", "solana-slot-hashes", "solana-slot-history", "solana-stable-layout", @@ -4985,7 +5209,7 @@ dependencies = [ "solana-sysvar", "solana-sysvar-id", "solana-vote-interface", - "thiserror 2.0.12", + "thiserror 2.0.15", "wasm-bindgen", ] @@ -4997,8 +5221,8 @@ checksum = "32ce041b1a0ed275290a5008ee1a4a6c48f5054c8a3d78d313c08958a06aedbd" dependencies = [ "solana-account-info", "solana-msg", - "solana-program-error", - "solana-pubkey", + "solana-program-error 2.2.2", + "solana-pubkey 2.4.0", ] [[package]] @@ -5012,18 +5236,24 @@ dependencies = [ "serde", "serde_derive", "solana-decode-error", - "solana-instruction", + "solana-instruction 2.3.0", "solana-msg", - "solana-pubkey", + "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" + [[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", + "solana-define-syscall 2.3.0", ] [[package]] @@ -5038,7 +5268,7 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "319f0ef15e6e12dc37c597faccb7d62525a509fec5f6975ecb9419efddeb277b" dependencies = [ - "solana-program-error", + "solana-program-error 2.2.2", ] [[package]] @@ -5060,14 +5290,23 @@ dependencies = [ "rand 0.8.5", "serde", "serde_derive", - "solana-atomic-u64", + "solana-atomic-u64 2.2.1", "solana-decode-error", - "solana-define-syscall", - "solana-sanitize", - "solana-sha256-hasher", + "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 = [ + "solana-address", +] + [[package]] name = "solana-quic-definitions" version = "2.3.1" @@ -5085,16 +5324,16 @@ checksum = "d1aea8fdea9de98ca6e8c2da5827707fb3842833521b528a713810ca685d2480" dependencies = [ "serde", "serde_derive", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", "solana-sdk-macro", "solana-sysvar-id", ] [[package]] name = "solana-rent-collector" -version = "2.2.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c1e19f5d5108b0d824244425e43bc78bbb9476e2199e979b0230c9f632d3bf4" +checksum = "127e6dfa51e8c8ae3aa646d8b2672bc4ac901972a338a9e1cd249e030564fb9d" dependencies = [ "serde", "serde_derive", @@ -5102,9 +5341,9 @@ dependencies = [ "solana-clock", "solana-epoch-schedule", "solana-genesis-config", - "solana-pubkey", + "solana-pubkey 2.4.0", "solana-rent", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", ] [[package]] @@ -5113,7 +5352,7 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f6f9113c6003492e74438d1288e30cffa8ccfdc2ef7b49b9e816d8034da18cd" dependencies = [ - "solana-pubkey", + "solana-pubkey 2.4.0", "solana-reward-info", ] @@ -5125,8 +5364,8 @@ checksum = "e4b22ea19ca2a3f28af7cd047c914abf833486bf7a7c4a10fc652fff09b385b1" dependencies = [ "lazy_static", "solana-feature-set", - "solana-pubkey", - "solana-sdk-ids", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", ] [[package]] @@ -5141,9 +5380,9 @@ dependencies = [ [[package]] name = "solana-rpc-client" -version = "2.3.6" +version = "2.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "609c855934b9b5ccdb0b1ab89313b4302eac4cf2bdb7298716104185614cd1ba" +checksum = "40231712d6f1e5833ff1e101954786cbd0b5301098ea42384f7bb3e553085852" dependencies = [ "async-trait", "base64 0.22.1", @@ -5165,14 +5404,14 @@ dependencies = [ "solana-epoch-info", "solana-epoch-schedule", "solana-feature-gate-interface", - "solana-hash", - "solana-instruction", - "solana-message", - "solana-pubkey", + "solana-hash 2.3.0", + "solana-instruction 2.3.0", + "solana-message 2.4.0", + "solana-pubkey 2.4.0", "solana-rpc-client-api", - "solana-signature", - "solana-transaction", - "solana-transaction-error", + "solana-signature 2.3.0", + "solana-transaction 2.2.3", + "solana-transaction-error 2.2.1", "solana-transaction-status-client-types", "solana-version", "solana-vote-interface", @@ -5181,9 +5420,9 @@ dependencies = [ [[package]] name = "solana-rpc-client-api" -version = "2.3.6" +version = "2.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f932401ae69ff436e18dc27de5279ec1056aebd471a9e4e48d4d4d40431d784" +checksum = "5a1be31922f97505007ccf969828b34e8dc43ce434a17f970b0edea8f0e66777" dependencies = [ "anyhow", "jsonrpc-core", @@ -5195,17 +5434,17 @@ dependencies = [ "solana-account-decoder-client-types", "solana-clock", "solana-rpc-client-types", - "solana-signer", - "solana-transaction-error", + "solana-signer 2.2.1", + "solana-transaction-error 2.2.1", "solana-transaction-status-client-types", - "thiserror 2.0.12", + "thiserror 2.0.15", ] [[package]] name = "solana-rpc-client-types" -version = "2.3.6" +version = "2.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ecc13a2e2daa6823289e8f840098bc85388a114c9bf939b357443c3a7849612" +checksum = "6e82a9b71f023a4bd511088f22e3c1f0e226a6e2e94b0656776509f234dd223a" dependencies = [ "base64 0.22.1", "bs58", @@ -5219,12 +5458,12 @@ dependencies = [ "solana-commitment-config", "solana-fee-calculator", "solana-inflation", - "solana-pubkey", - "solana-transaction-error", + "solana-pubkey 2.4.0", + "solana-transaction-error 2.2.1", "solana-transaction-status-client-types", "solana-version", "spl-generic-token", - "thiserror 2.0.12", + "thiserror 2.0.15", ] [[package]] @@ -5233,6 +5472,12 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61f1bc1357b8188d9c4a3af3fc55276e56987265eb7ad073ae6f8180ee54cecf" +[[package]] +name = "solana-sanitize" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "927e833259588ac8f860861db0f6e2668c3cc46d917798ade116858960acfe8a" + [[package]] name = "solana-sdk" version = "2.3.1" @@ -5261,9 +5506,9 @@ dependencies = [ "solana-genesis-config", "solana-hard-forks", "solana-inflation", - "solana-instruction", + "solana-instruction 2.3.0", "solana-keypair", - "solana-message", + "solana-message 2.4.0", "solana-native-token", "solana-nonce-account", "solana-offchain-message", @@ -5274,14 +5519,14 @@ dependencies = [ "solana-presigner", "solana-program", "solana-program-memory", - "solana-pubkey", + "solana-pubkey 2.4.0", "solana-quic-definitions", "solana-rent-collector", "solana-rent-debits", "solana-reserved-account-keys", "solana-reward-info", - "solana-sanitize", - "solana-sdk-ids", + "solana-sanitize 2.2.1", + "solana-sdk-ids 2.2.1", "solana-sdk-macro", "solana-secp256k1-program", "solana-secp256k1-recover", @@ -5290,17 +5535,17 @@ dependencies = [ "solana-seed-phrase", "solana-serde", "solana-serde-varint", - "solana-short-vec", + "solana-short-vec 2.2.1", "solana-shred-version", - "solana-signature", - "solana-signer", + "solana-signature 2.3.0", + "solana-signer 2.2.1", "solana-system-transaction", "solana-time-utils", - "solana-transaction", + "solana-transaction 2.2.3", "solana-transaction-context", - "solana-transaction-error", + "solana-transaction-error 2.2.1", "solana-validator-exit", - "thiserror 2.0.12", + "thiserror 2.0.15", "wasm-bindgen", ] @@ -5310,7 +5555,16 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c5d8b9cc68d5c88b062a33e23a6466722467dde0035152d8fb1afbcdf350a5f" dependencies = [ - "solana-pubkey", + "solana-pubkey 2.4.0", +] + +[[package]] +name = "solana-sdk-ids" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1b6d6aaf60669c592838d382266b173881c65fb1cdec83b37cb8ce7cb89f9ad" +dependencies = [ + "solana-pubkey 3.0.0", ] [[package]] @@ -5322,7 +5576,7 @@ dependencies = [ "bs58", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -5338,10 +5592,10 @@ dependencies = [ "serde_derive", "sha3", "solana-feature-set", - "solana-instruction", + "solana-instruction 2.3.0", "solana-precompile-error", - "solana-sdk-ids", - "solana-signature", + "solana-sdk-ids 2.2.1", + "solana-signature 2.3.0", ] [[package]] @@ -5352,8 +5606,8 @@ checksum = "baa3120b6cdaa270f39444f5093a90a7b03d296d362878f7a6991d6de3bbe496" dependencies = [ "borsh 1.5.7", "libsecp256k1", - "solana-define-syscall", - "thiserror 2.0.12", + "solana-define-syscall 2.3.0", + "thiserror 2.0.15", ] [[package]] @@ -5365,9 +5619,9 @@ dependencies = [ "bytemuck", "openssl", "solana-feature-set", - "solana-instruction", + "solana-instruction 2.3.0", "solana-precompile-error", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", ] [[package]] @@ -5420,9 +5674,9 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "817a284b63197d2b27afdba829c5ab34231da4a9b4e763466a003c40ca4f535e" dependencies = [ - "solana-instruction", - "solana-pubkey", - "solana-sanitize", + "solana-instruction 2.3.0", + "solana-pubkey 2.4.0", + "solana-sanitize 2.2.1", ] [[package]] @@ -5432,8 +5686,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5aa3feb32c28765f6aa1ce8f3feac30936f16c5c3f7eb73d63a5b8f6f8ecdc44" dependencies = [ "sha2 0.10.9", - "solana-define-syscall", - "solana-hash", + "solana-define-syscall 2.3.0", + "solana-hash 2.3.0", +] + +[[package]] +name = "solana-sha256-hasher" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9b912ba6f71cb202c0c3773ec77bf898fa9fe0c78691a2d6859b3b5b8954719" +dependencies = [ + "sha2 0.10.9", + "solana-define-syscall 3.0.0", + "solana-hash 3.0.0", ] [[package]] @@ -5445,6 +5710,15 @@ dependencies = [ "serde", ] +[[package]] +name = "solana-short-vec" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b69d029da5428fc1c57f7d49101b2077c61f049d4112cd5fb8456567cc7d2638" +dependencies = [ + "serde", +] + [[package]] name = "solana-shred-version" version = "2.2.1" @@ -5452,8 +5726,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "afd3db0461089d1ad1a78d9ba3f15b563899ca2386351d38428faa5350c60a98" dependencies = [ "solana-hard-forks", - "solana-hash", - "solana-sha256-hasher", + "solana-hash 2.3.0", + "solana-sha256-hasher 2.3.0", ] [[package]] @@ -5468,7 +5742,20 @@ dependencies = [ "serde", "serde-big-array", "serde_derive", - "solana-sanitize", + "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 = [ + "five8", + "serde", + "serde-big-array", + "serde_derive", + "solana-sanitize 3.0.0", ] [[package]] @@ -5477,9 +5764,20 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c41991508a4b02f021c1342ba00bcfa098630b213726ceadc7cb032e051975b" dependencies = [ - "solana-pubkey", - "solana-signature", - "solana-transaction-error", + "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]] @@ -5490,8 +5788,8 @@ checksum = "0c8691982114513763e88d04094c9caa0376b867a29577939011331134c301ce" dependencies = [ "serde", "serde_derive", - "solana-hash", - "solana-sdk-ids", + "solana-hash 2.3.0", + "solana-sdk-ids 2.2.1", "solana-sysvar-id", ] @@ -5504,7 +5802,7 @@ dependencies = [ "bv", "serde", "serde_derive", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", "solana-sysvar-id", ] @@ -5514,8 +5812,8 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f14f7d02af8f2bc1b5efeeae71bc1c2b7f0f65cd75bcc7d8180f2c762a57f54" dependencies = [ - "solana-instruction", - "solana-pubkey", + "solana-instruction 2.3.0", + "solana-pubkey 2.4.0", ] [[package]] @@ -5532,18 +5830,18 @@ dependencies = [ "solana-clock", "solana-cpi", "solana-decode-error", - "solana-instruction", - "solana-program-error", - "solana-pubkey", + "solana-instruction 2.3.0", + "solana-program-error 2.2.2", + "solana-pubkey 2.4.0", "solana-system-interface", "solana-sysvar-id", ] [[package]] name = "solana-svm-feature-set" -version = "2.3.6" +version = "2.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d525b3bb05c5a56c17ec7f4d5b9f838f0bcf006cf423a7c0e1b05ef4e10a2a" +checksum = "e65361fa1fb2a123319df6d9694c1c5ca20e555cda18eb1f953babf32e4cddd4" [[package]] name = "solana-system-interface" @@ -5556,8 +5854,8 @@ dependencies = [ "serde", "serde_derive", "solana-decode-error", - "solana-instruction", - "solana-pubkey", + "solana-instruction 2.3.0", + "solana-pubkey 2.4.0", "wasm-bindgen", ] @@ -5567,20 +5865,20 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5bd98a25e5bcba8b6be8bcbb7b84b24c2a6a8178d7fb0e3077a916855ceba91a" dependencies = [ - "solana-hash", + "solana-hash 2.3.0", "solana-keypair", - "solana-message", - "solana-pubkey", - "solana-signer", + "solana-message 2.4.0", + "solana-pubkey 2.4.0", + "solana-signer 2.2.1", "solana-system-interface", - "solana-transaction", + "solana-transaction 2.2.3", ] [[package]] name = "solana-sysvar" -version = "2.2.2" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d50c92bc019c590f5e42c61939676e18d14809ed00b2a59695dd5c67ae72c097" +checksum = "b8c3595f95069f3d90f275bb9bd235a1973c4d059028b0a7f81baca2703815db" dependencies = [ "base64 0.22.1", "bincode", @@ -5591,21 +5889,21 @@ dependencies = [ "serde_derive", "solana-account-info", "solana-clock", - "solana-define-syscall", + "solana-define-syscall 2.3.0", "solana-epoch-rewards", "solana-epoch-schedule", "solana-fee-calculator", - "solana-hash", - "solana-instruction", + "solana-hash 2.3.0", + "solana-instruction 2.3.0", "solana-instructions-sysvar", "solana-last-restart-slot", "solana-program-entrypoint", - "solana-program-error", + "solana-program-error 2.2.2", "solana-program-memory", - "solana-pubkey", + "solana-pubkey 2.4.0", "solana-rent", - "solana-sanitize", - "solana-sdk-ids", + "solana-sanitize 2.2.1", + "solana-sdk-ids 2.2.1", "solana-sdk-macro", "solana-slot-hashes", "solana-slot-history", @@ -5619,8 +5917,8 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5762b273d3325b047cfda250787f8d796d781746860d5d0a746ee29f3e8812c1" dependencies = [ - "solana-pubkey", - "solana-sdk-ids", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", ] [[package]] @@ -5640,37 +5938,58 @@ dependencies = [ "serde_derive", "solana-bincode", "solana-feature-set", - "solana-hash", - "solana-instruction", + "solana-hash 2.3.0", + "solana-instruction 2.3.0", "solana-keypair", - "solana-message", + "solana-message 2.4.0", "solana-precompiles", - "solana-pubkey", - "solana-sanitize", - "solana-sdk-ids", - "solana-short-vec", - "solana-signature", - "solana-signer", + "solana-pubkey 2.4.0", + "solana-sanitize 2.2.1", + "solana-sdk-ids 2.2.1", + "solana-short-vec 2.2.1", + "solana-signature 2.3.0", + "solana-signer 2.2.1", "solana-system-interface", - "solana-transaction-error", + "solana-transaction-error 2.2.1", "wasm-bindgen", ] +[[package]] +name = "solana-transaction" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2db6ac3984042d9248fd9b06761ece438ed9ba412c001240052ce6216fee3141" +dependencies = [ + "bincode", + "serde", + "serde_derive", + "solana-hash 3.0.0", + "solana-instruction 3.0.0", + "solana-message 3.0.0", + "solana-pubkey 3.0.0", + "solana-sanitize 3.0.0", + "solana-sdk-ids 3.0.0", + "solana-short-vec 3.0.0", + "solana-signature 3.1.0", + "solana-signer 3.0.0", + "solana-transaction-error 3.0.0", +] + [[package]] name = "solana-transaction-context" -version = "2.3.6" +version = "2.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62899fc8ec399458db3332ec51dfc8379ca8bb5615133510c8b4dca4c5d48111" +checksum = "aefd75e49dd990f7fdbe562a539a7b046a839aadf43843845d766a2a6a2adfef" dependencies = [ "bincode", "serde", "serde_derive", "solana-account", - "solana-instruction", + "solana-instruction 2.3.0", "solana-instructions-sysvar", - "solana-pubkey", + "solana-pubkey 2.4.0", "solana-rent", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", ] [[package]] @@ -5681,15 +6000,25 @@ checksum = "222a9dc8fdb61c6088baab34fc3a8b8473a03a7a5fd404ed8dd502fa79b67cb1" dependencies = [ "serde", "serde_derive", - "solana-instruction", - "solana-sanitize", + "solana-instruction 2.3.0", + "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 = [ + "solana-instruction-error", + "solana-sanitize 3.0.0", ] [[package]] name = "solana-transaction-status" -version = "2.3.6" +version = "2.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d824edb8ca9fd7b35499c88709ea4a4d5c74a765e5e1912ee6d8b9964265e82" +checksum = "287a86e28777cdc8c0745ff5700a2c3741a2a7a72a347a93815e832adfe39dc5" dependencies = [ "Inflector", "agave-reserved-account-keys", @@ -5704,20 +6033,20 @@ dependencies = [ "solana-account-decoder", "solana-address-lookup-table-interface", "solana-clock", - "solana-hash", - "solana-instruction", + "solana-hash 2.3.0", + "solana-instruction 2.3.0", "solana-loader-v2-interface", "solana-loader-v3-interface", - "solana-message", + "solana-message 2.4.0", "solana-program-option", - "solana-pubkey", + "solana-pubkey 2.4.0", "solana-reward-info", - "solana-sdk-ids", - "solana-signature", + "solana-sdk-ids 2.2.1", + "solana-signature 2.3.0", "solana-stake-interface", "solana-system-interface", - "solana-transaction", - "solana-transaction-error", + "solana-transaction 2.2.3", + "solana-transaction-error 2.2.1", "solana-transaction-status-client-types", "solana-vote-interface", "spl-associated-token-account", @@ -5726,14 +6055,14 @@ dependencies = [ "spl-token-2022", "spl-token-group-interface", "spl-token-metadata-interface", - "thiserror 2.0.12", + "thiserror 2.0.15", ] [[package]] name = "solana-transaction-status-client-types" -version = "2.3.6" +version = "2.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d10a5585f489ca00b0d9fdfd4ffb159450facca7ce52ca025268975f74013c8" +checksum = "9e91068d54435121280c4a2f1c280d8d18381e3ccf54057c4530f40f26c2be1c" dependencies = [ "base64 0.22.1", "bincode", @@ -5743,13 +6072,13 @@ dependencies = [ "serde_json", "solana-account-decoder-client-types", "solana-commitment-config", - "solana-message", + "solana-message 2.4.0", "solana-reward-info", - "solana-signature", - "solana-transaction", + "solana-signature 2.3.0", + "solana-transaction 2.2.3", "solana-transaction-context", - "solana-transaction-error", - "thiserror 2.0.12", + "solana-transaction-error 2.2.1", + "thiserror 2.0.15", ] [[package]] @@ -5760,16 +6089,16 @@ checksum = "7bbf6d7a3c0b28dd5335c52c0e9eae49d0ae489a8f324917faf0ded65a812c1d" [[package]] name = "solana-version" -version = "2.3.6" +version = "2.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c01beecdd0f0e720f69dae5d99a8cf3cf9beafeba776d9e4febcab24653e078" +checksum = "b4607a9de98043bcf7db9e5d90b31fefb728c80eec901595b6931d7cdc1558b2" dependencies = [ "agave-feature-set", "rand 0.8.5", "semver", "serde", "serde_derive", - "solana-sanitize", + "solana-sanitize 2.2.1", "solana-serde-varint", ] @@ -5786,22 +6115,22 @@ dependencies = [ "serde_derive", "solana-clock", "solana-decode-error", - "solana-hash", - "solana-instruction", - "solana-pubkey", + "solana-hash 2.3.0", + "solana-instruction 2.3.0", + "solana-pubkey 2.4.0", "solana-rent", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", "solana-serde-varint", "solana-serialize-utils", - "solana-short-vec", + "solana-short-vec 2.2.1", "solana-system-interface", ] [[package]] name = "solana-zk-sdk" -version = "2.3.6" +version = "2.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05857892ac50fe03c125d8445fd790c6768015b76f4ad1e4b4b1499938b357f0" +checksum = "3bb171c0f76c420a7cb6aabbe5fa85a1a009d5bb4009189c43e1a03aff9446d7" dependencies = [ "aes-gcm-siv", "base64 0.22.1", @@ -5820,15 +6149,15 @@ dependencies = [ "serde_json", "sha3", "solana-derivation-path", - "solana-instruction", - "solana-pubkey", - "solana-sdk-ids", + "solana-instruction 2.3.0", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", "solana-seed-derivable", "solana-seed-phrase", - "solana-signature", - "solana-signer", + "solana-signature 2.3.0", + "solana-signer 2.2.1", "subtle", - "thiserror 2.0.12", + "thiserror 2.0.15", "wasm-bindgen", "zeroize", ] @@ -5846,7 +6175,7 @@ dependencies = [ "spl-associated-token-account-client", "spl-token", "spl-token-2022", - "thiserror 2.0.12", + "thiserror 2.0.15", ] [[package]] @@ -5855,8 +6184,8 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6f8349dbcbe575f354f9a533a21f272f3eb3808a49e2fdc1c34393b88ba76cb" dependencies = [ - "solana-instruction", - "solana-pubkey", + "solana-instruction 2.3.0", + "solana-pubkey 2.4.0", ] [[package]] @@ -5866,8 +6195,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7398da23554a31660f17718164e31d31900956054f54f52d5ec1be51cb4f4b3" dependencies = [ "bytemuck", - "solana-program-error", - "solana-sha256-hasher", + "solana-program-error 2.2.2", + "solana-sha256-hasher 2.3.0", "spl-discriminator-derive", ] @@ -5879,19 +6208,19 @@ checksum = "d9e8418ea6269dcfb01c712f0444d2c75542c04448b480e87de59d2865edc750" dependencies = [ "quote", "spl-discriminator-syn", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] name = "spl-discriminator-syn" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c1f05593b7ca9eac7caca309720f2eafb96355e037e6d373b909a80fe7b69b9" +checksum = "5d1dbc82ab91422345b6df40a79e2b78c7bce1ebb366da323572dd60b7076b67" dependencies = [ "proc-macro2", "quote", "sha2 0.10.9", - "syn 2.0.104", + "syn 2.0.106", "thiserror 1.0.69", ] @@ -5904,13 +6233,13 @@ dependencies = [ "bytemuck", "solana-account-info", "solana-cpi", - "solana-instruction", + "solana-instruction 2.3.0", "solana-msg", "solana-program-entrypoint", - "solana-program-error", - "solana-pubkey", + "solana-program-error 2.2.2", + "solana-pubkey 2.4.0", "solana-rent", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", "solana-system-interface", "solana-sysvar", "solana-zk-sdk", @@ -5925,7 +6254,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "741a62a566d97c58d33f9ed32337ceedd4e35109a686e31b1866c5dfa56abddc" dependencies = [ "bytemuck", - "solana-pubkey", + "solana-pubkey 2.4.0", ] [[package]] @@ -5935,11 +6264,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f09647c0974e33366efeb83b8e2daebb329f0420149e74d3a4bd2c08cf9f7cb" dependencies = [ "solana-account-info", - "solana-instruction", + "solana-instruction 2.3.0", "solana-msg", "solana-program-entrypoint", - "solana-program-error", - "solana-pubkey", + "solana-program-error 2.2.2", + "solana-pubkey 2.4.0", ] [[package]] @@ -5955,11 +6284,11 @@ dependencies = [ "num-traits", "solana-decode-error", "solana-msg", - "solana-program-error", + "solana-program-error 2.2.2", "solana-program-option", - "solana-pubkey", + "solana-pubkey 2.4.0", "solana-zk-sdk", - "thiserror 2.0.12", + "thiserror 2.0.15", ] [[package]] @@ -5972,9 +6301,9 @@ dependencies = [ "num-traits", "solana-decode-error", "solana-msg", - "solana-program-error", + "solana-program-error 2.2.2", "spl-program-error-derive", - "thiserror 2.0.12", + "thiserror 2.0.15", ] [[package]] @@ -5986,7 +6315,7 @@ dependencies = [ "proc-macro2", "quote", "sha2 0.10.9", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -6000,15 +6329,15 @@ dependencies = [ "num-traits", "solana-account-info", "solana-decode-error", - "solana-instruction", + "solana-instruction 2.3.0", "solana-msg", - "solana-program-error", - "solana-pubkey", + "solana-program-error 2.2.2", + "solana-pubkey 2.4.0", "spl-discriminator", "spl-pod", "spl-program-error", "spl-type-length-value", - "thiserror 2.0.12", + "thiserror 2.0.15", ] [[package]] @@ -6025,18 +6354,18 @@ dependencies = [ "solana-account-info", "solana-cpi", "solana-decode-error", - "solana-instruction", + "solana-instruction 2.3.0", "solana-msg", "solana-program-entrypoint", - "solana-program-error", + "solana-program-error 2.2.2", "solana-program-memory", "solana-program-option", "solana-program-pack", - "solana-pubkey", + "solana-pubkey 2.4.0", "solana-rent", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", "solana-sysvar", - "thiserror 2.0.12", + "thiserror 2.0.15", ] [[package]] @@ -6054,17 +6383,17 @@ dependencies = [ "solana-clock", "solana-cpi", "solana-decode-error", - "solana-instruction", + "solana-instruction 2.3.0", "solana-msg", "solana-native-token", "solana-program-entrypoint", - "solana-program-error", + "solana-program-error 2.2.2", "solana-program-memory", "solana-program-option", "solana-program-pack", - "solana-pubkey", + "solana-pubkey 2.4.0", "solana-rent", - "solana-sdk-ids", + "solana-sdk-ids 2.2.1", "solana-security-txt", "solana-system-interface", "solana-sysvar", @@ -6080,14 +6409,14 @@ dependencies = [ "spl-token-metadata-interface", "spl-transfer-hook-interface", "spl-type-length-value", - "thiserror 2.0.12", + "thiserror 2.0.15", ] [[package]] name = "spl-token-confidential-transfer-ciphertext-arithmetic" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94ab20faf7b5edaa79acd240e0f21d5a2ef936aa99ed98f698573a2825b299c4" +checksum = "cddd52bfc0f1c677b41493dafa3f2dbbb4b47cf0990f08905429e19dc8289b35" dependencies = [ "base64 0.22.1", "bytemuck", @@ -6104,26 +6433,26 @@ dependencies = [ "bytemuck", "solana-account-info", "solana-curve25519", - "solana-instruction", + "solana-instruction 2.3.0", "solana-instructions-sysvar", "solana-msg", - "solana-program-error", - "solana-pubkey", - "solana-sdk-ids", + "solana-program-error 2.2.2", + "solana-pubkey 2.4.0", + "solana-sdk-ids 2.2.1", "solana-zk-sdk", "spl-pod", - "thiserror 2.0.12", + "thiserror 2.0.15", ] [[package]] name = "spl-token-confidential-transfer-proof-generation" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae5b124840d4aed474cef101d946a798b806b46a509ee4df91021e1ab1cef3ef" +checksum = "fa27b9174bea869a7ebf31e0be6890bce90b1a4288bc2bbf24bd413f80ae3fde" dependencies = [ "curve25519-dalek 4.1.3", "solana-zk-sdk", - "thiserror 2.0.12", + "thiserror 2.0.15", ] [[package]] @@ -6136,13 +6465,13 @@ dependencies = [ "num-derive", "num-traits", "solana-decode-error", - "solana-instruction", + "solana-instruction 2.3.0", "solana-msg", - "solana-program-error", - "solana-pubkey", + "solana-program-error 2.2.2", + "solana-pubkey 2.4.0", "spl-discriminator", "spl-pod", - "thiserror 2.0.12", + "thiserror 2.0.15", ] [[package]] @@ -6156,14 +6485,14 @@ dependencies = [ "num-traits", "solana-borsh", "solana-decode-error", - "solana-instruction", + "solana-instruction 2.3.0", "solana-msg", - "solana-program-error", - "solana-pubkey", + "solana-program-error 2.2.2", + "solana-pubkey 2.4.0", "spl-discriminator", "spl-pod", "spl-type-length-value", - "thiserror 2.0.12", + "thiserror 2.0.15", ] [[package]] @@ -6179,16 +6508,16 @@ dependencies = [ "solana-account-info", "solana-cpi", "solana-decode-error", - "solana-instruction", + "solana-instruction 2.3.0", "solana-msg", - "solana-program-error", - "solana-pubkey", + "solana-program-error 2.2.2", + "solana-pubkey 2.4.0", "spl-discriminator", "spl-pod", "spl-program-error", "spl-tlv-account-resolution", "spl-type-length-value", - "thiserror 2.0.12", + "thiserror 2.0.15", ] [[package]] @@ -6203,10 +6532,10 @@ dependencies = [ "solana-account-info", "solana-decode-error", "solana-msg", - "solana-program-error", + "solana-program-error 2.2.2", "spl-discriminator", "spl-pod", - "thiserror 2.0.12", + "thiserror 2.0.15", ] [[package]] @@ -6240,9 +6569,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.104" +version = "2.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" +checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" dependencies = [ "proc-macro2", "quote", @@ -6266,7 +6595,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -6329,11 +6658,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.12" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +checksum = "80d76d3f064b981389ecb4b6b7f45a0bf9fdac1d5b9204c7bd6714fecc302850" dependencies = [ - "thiserror-impl 2.0.12", + "thiserror-impl 2.0.15", ] [[package]] @@ -6344,18 +6673,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] name = "thiserror-impl" -version = "2.0.12" +version = "2.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +checksum = "44d29feb33e986b6ea906bd9c3559a856983f92371b3eaa5e83782a351623de0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -6416,9 +6745,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.47.0" +version = "1.47.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43864ed400b6043a4757a25c7a64a8efde741aed79a056a2fb348a406701bb35" +checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" dependencies = [ "backtrace", "bytes", @@ -6442,7 +6771,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -6474,6 +6803,7 @@ dependencies = [ "futures-core", "pin-project-lite", "tokio", + "tokio-util", ] [[package]] @@ -6504,9 +6834,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.15" +version = "0.7.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" +checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" dependencies = [ "bytes", "futures-core", @@ -6536,24 +6866,23 @@ version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.10.0", + "indexmap", "toml_datetime", "winnow", ] [[package]] name = "tonic" -version = "0.12.3" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" +checksum = "67ac5a8627ada0968acec063a4746bf79588aa03ccb66db2f75d7dce26722a40" dependencies = [ - "async-stream", "async-trait", "axum", "base64 0.22.1", "bytes", "flate2", - "h2 0.4.11", + "h2 0.4.12", "http 1.3.1", "http-body", "http-body-util", @@ -6562,14 +6891,13 @@ dependencies = [ "hyper-util", "percent-encoding", "pin-project", - "prost", "rustls-native-certs", - "rustls-pemfile", - "socket2 0.5.10", + "socket2 0.6.0", + "sync_wrapper", "tokio", "tokio-rustls", "tokio-stream", - "tower 0.4.13", + "tower", "tower-layer", "tower-service", "tracing", @@ -6578,49 +6906,54 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.12.3" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11" +checksum = "49e323d8bba3be30833707e36d046deabf10a35ae8ad3cae576943ea8933e25d" dependencies = [ "prettyplease", "proc-macro2", - "prost-build", - "prost-types", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] name = "tonic-health" -version = "0.12.3" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1eaf34ddb812120f5c601162d5429933c9b527d901ab0e7f930d3147e33a09b2" +checksum = "d8aa31379f0851de4f223496a469ffcaae24ad4ce736493179c3e42135e2af5c" dependencies = [ - "async-stream", "prost", "tokio", "tokio-stream", "tonic", + "tonic-prost", ] [[package]] -name = "tower" -version = "0.4.13" +name = "tonic-prost" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +checksum = "b9c511b9a96d40cb12b7d5d00464446acf3b9105fd3ce25437cfe41c92b1c87d" dependencies = [ - "futures-core", - "futures-util", - "indexmap 1.9.3", - "pin-project", - "pin-project-lite", - "rand 0.8.5", - "slab", - "tokio", - "tokio-util", - "tower-layer", - "tower-service", - "tracing", + "bytes", + "prost", + "tonic", +] + +[[package]] +name = "tonic-prost-build" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ef298fcd01b15e135440c4b8c974460ceca4e6a5af7f1c933b08e4d2875efa1" +dependencies = [ + "prettyplease", + "proc-macro2", + "prost-build", + "prost-types", + "quote", + "syn 2.0.106", + "tempfile", + "tonic-build", ] [[package]] @@ -6631,11 +6964,15 @@ checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", + "indexmap", "pin-project-lite", + "slab", "sync_wrapper", "tokio", + "tokio-util", "tower-layer", "tower-service", + "tracing", ] [[package]] @@ -6651,7 +6988,7 @@ dependencies = [ "http-body", "iri-string", "pin-project-lite", - "tower 0.5.2", + "tower", "tower-layer", "tower-service", ] @@ -6688,7 +7025,7 @@ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -6735,7 +7072,7 @@ dependencies = [ "native-tls", "rand 0.9.2", "sha1", - "thiserror 2.0.12", + "thiserror 2.0.15", "utf-8", ] @@ -6752,7 +7089,7 @@ dependencies = [ "log", "rand 0.9.2", "sha1", - "thiserror 2.0.12", + "thiserror 2.0.15", "utf-8", ] @@ -6768,6 +7105,18 @@ version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" +[[package]] +name = "typewit" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97e72ba082eeb9da9dc68ff5a2bf727ef6ce362556e8d29ec1aed3bd05e7d86a" + +[[package]] +name = "unicase" +version = "2.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" + [[package]] name = "unicode-ident" version = "1.0.18" @@ -6849,9 +7198,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.17.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cf4199d1e5d15ddd86a694e4d0dffa9c323ce759fea589f00fef9d81cc1931d" +checksum = "f33196643e165781c20a5ead5582283a7dacbb87855d867fbc2df3f81eddc1be" dependencies = [ "js-sys", "wasm-bindgen", @@ -6921,7 +7270,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", "wasm-bindgen-shared", ] @@ -6956,7 +7305,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -7089,7 +7438,7 @@ version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" dependencies = [ - "windows-targets 0.53.2", + "windows-targets 0.53.3", ] [[package]] @@ -7110,10 +7459,11 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.53.2" +version = "0.53.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef" +checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" dependencies = [ + "windows-link", "windows_aarch64_gnullvm 0.53.0", "windows_aarch64_msvc 0.53.0", "windows_i686_gnu 0.53.0", @@ -7255,8 +7605,8 @@ dependencies = [ [[package]] name = "yellowstone-grpc-client" -version = "8.0.0" -source = "git+https://github.com/rpcpool/yellowstone-grpc?branch=master#5dc0817ec0ddfc609ef5deabc74fae1e339417ad" +version = "9.0.0" +source = "git+https://github.com/rpcpool/yellowstone-grpc?branch=master#fd1e5dd37bb0346f353c6f7522b184aa103c1bd3" dependencies = [ "bytes", "futures", @@ -7268,8 +7618,8 @@ dependencies = [ [[package]] name = "yellowstone-grpc-proto" -version = "8.0.0" -source = "git+https://github.com/rpcpool/yellowstone-grpc?branch=master#5dc0817ec0ddfc609ef5deabc74fae1e339417ad" +version = "9.0.0" +source = "git+https://github.com/rpcpool/yellowstone-grpc?branch=master#fd1e5dd37bb0346f353c6f7522b184aa103c1bd3" dependencies = [ "anyhow", "bincode", @@ -7279,16 +7629,18 @@ dependencies = [ "solana-account", "solana-account-decoder", "solana-clock", - "solana-hash", - "solana-message", - "solana-pubkey", - "solana-signature", - "solana-transaction", + "solana-hash 2.3.0", + "solana-message 2.4.0", + "solana-pubkey 2.4.0", + "solana-signature 2.3.0", + "solana-transaction 2.2.3", "solana-transaction-context", - "solana-transaction-error", + "solana-transaction-error 2.2.1", "solana-transaction-status", "tonic", "tonic-build", + "tonic-prost", + "tonic-prost-build", ] [[package]] @@ -7311,7 +7663,7 @@ checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", "synstructure", ] @@ -7332,7 +7684,7 @@ checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -7352,7 +7704,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", "synstructure", ] @@ -7373,7 +7725,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -7389,9 +7741,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.2" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" +checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" dependencies = [ "yoke", "zerofrom", @@ -7406,7 +7758,7 @@ checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 60b6f11..f614369 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,10 +3,16 @@ name = "drift-gateway" version = "1.5.3" edition = "2021" +[features] +default = [] +fireblocks = ["fireblocks-solana-signer", "drift-rs/fireblocks"] +mainnet = [] + [dependencies] actix-web = "*" argh = "*" -drift-rs = { git = "https://github.com/drift-labs/drift-rs", rev = "c6a3647" } +drift-rs = { git = "https://github.com/CarteraMesh/drift-rs", branch = "fireblocks" } +fireblocks-solana-signer = { version = "1", optional = true } base64 = "0.22.1" env_logger = "*" faster-hex = "0.10.0" @@ -23,7 +29,7 @@ solana-rpc-client-api = "2" solana-sdk = "2" solana-transaction-status = "2" thiserror = "*" -tokio = {version ="*", features = ["full"]} +tokio = { version = "*", features = ["full"] } tokio-tungstenite = "*" [profile.release] diff --git a/Dockerfile b/Dockerfile index 814bd7f..a7a4ec9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM rust:1.84.1 AS builder +FROM rust:1 AS builder RUN apt-get update && apt-get install -y libgcc1 jq WORKDIR /build @@ -10,7 +10,7 @@ RUN SO_URL=$(curl -s https://api.github.com/repos/drift-labs/drift-ffi-sys/relea COPY . . # DEV: choose to build drift system libs from source or not # a) default: use prebuilt lib (faster build time) -RUN CARGO_DRIFT_FFI_PATH="/usr/local/lib" cargo build --release +RUN CARGO_DRIFT_FFI_PATH="/usr/local/lib" cargo build --release --features fireblocks # b) build libdrift_ffi from source (slower build time) # RUN rustup install 1.76.0-x86_64-unknown-linux-gnu # RUN CARGO_DRIFT_FFI_STATIC=1 cargo build --release diff --git a/src/controller.rs b/src/controller.rs index 26f4ee4..20cd000 100644 --- a/src/controller.rs +++ b/src/controller.rs @@ -864,6 +864,7 @@ impl AppState { OptionSerializer::Some(logs) => { let sub_account = self.resolve_sub_account(ctx.sub_account_id); for (tx_idx, log) in logs.iter().enumerate() { + dbg!(log); if let Some(evt) = try_parse_log(log.as_str(), tx_sig, tx_idx) { let (_, gw_event) = map_drift_event_for_account( self.client.program_data(), @@ -1136,11 +1137,23 @@ fn build_modify_ix<'a>( } } +#[cfg(feature = "fireblocks")] +pub fn create_wallet(emulate: Option) -> Wallet { + match emulate { + Some(a) => Wallet::read_only(a), + None => match fireblocks_solana_signer::FireblocksSigner::try_from_env(None) { + Ok(s) => Wallet::new(s), + Err(e) => panic!("failed to init fireblocks signer. Check the FIREBLOCKS_* env. {e}"), + }, + } +} + /// Initialize a wallet for controller, possible valid configs: /// /// 1) keypair /// 2) keypair + delegated /// 3) emulation/RO mode +#[cfg(not(feature = "fireblocks"))] pub fn create_wallet( secret_key: Option, emulate: Option, diff --git a/src/main.rs b/src/main.rs index 4614ca5..29ef2d8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -264,6 +264,7 @@ async fn main() -> std::io::Result<()> { } .init(); + #[cfg(not(feature = "fireblocks"))] let secret_key = std::env::var("DRIFT_GATEWAY_KEY"); let delegate = config .delegate @@ -271,7 +272,10 @@ async fn main() -> std::io::Result<()> { let emulate = config .emulate .map(|ref x| Pubkey::from_str(x).expect("valid pubkey")); + #[cfg(not(feature = "fireblocks"))] let wallet = create_wallet(secret_key.ok(), emulate, delegate); + #[cfg(feature = "fireblocks")] + let wallet = create_wallet(emulate); let state_commitment = CommitmentConfig::from_str(&config.commitment) .expect("one of: processed | confirmed | finalized"); let tx_commitment = CommitmentConfig::from_str(&config.tx_commitment) @@ -567,6 +571,7 @@ mod tests { use self::controller::create_wallet; use super::*; + #[cfg(not(feature = "fireblocks"))] fn get_seed() -> String { std::env::var("DRIFT_GATEWAY_KEY") .expect("DRIFT_GATEWAY_KEY is set") @@ -574,11 +579,14 @@ mod tests { } async fn setup_controller(emulate: Option) -> AppState { + #[cfg(not(feature = "fireblocks"))] let wallet = if emulate.is_none() { create_wallet(Some(get_seed()), None, None) } else { create_wallet(None, emulate, None) }; + #[cfg(feature = "fireblocks")] + let wallet = create_wallet(emulate); let rpc_endpoint = std::env::var("TEST_RPC_ENDPOINT") .unwrap_or_else(|_| "https://api.devnet.solana.com".to_string()); AppState::new( @@ -596,6 +604,7 @@ mod tests { // likely safe to ignore during development, mainly regression test for CI #[actix_web::test] + #[cfg(feature = "mainnet")] async fn delegated_signing_ok() { let _ = env_logger::try_init(); let delegated_seed = @@ -644,6 +653,7 @@ mod tests { // likely safe to ignore during development, mainly regression test for CI #[actix_web::test] + #[cfg(feature = "mainnet")] async fn delegated_swap_works() { let _ = env_logger::try_init(); let delegated_seed = @@ -696,6 +706,7 @@ mod tests { } // likely safe to ignore during development, mainly regression test for CI + #[cfg(feature = "mainnet")] #[actix_web::test] async fn swap_works() { let _ = env_logger::try_init(); @@ -899,6 +910,7 @@ mod tests { assert_eq!(events, expect_body, "incorrect resp body"); } + #[ignore] #[actix_web::test] async fn get_tx_events_works_for_wrong_subaccount() { let _ = env_logger::try_init(); diff --git a/src/websocket.rs b/src/websocket.rs index 4cf9281..43efb95 100644 --- a/src/websocket.rs +++ b/src/websocket.rs @@ -507,6 +507,7 @@ pub(crate) fn map_drift_event_for_account( event: &DriftEvent, sub_account_address: Pubkey, ) -> (Channel, Option) { + dbg!(event); match event { DriftEvent::OrderTrigger { user: _,